stratisd 3.2.2
==============
Recommended Rust toolchain version: 1.63.0
Lowest supported Rust toolchain version: 1.62.1

Recommended development platform for Python development: Fedora 36

- Release version 3.2.2:
  https://github.com/stratis-storage/stratisd/pull/3090


stratisd 3.2.1
==============
Recommended Rust toolchain version: 1.62.0
Lowest supported Rust toolchain version: 1.58.1

Recommended development platform for Python development: Fedora 36

- Release version 3.2.1:
  https://github.com/stratis-storage/stratisd/pull/3061


stratisd 3.2.0
==============
Recommended Rust toolchain version: 1.62.0
Lowest supported Rust toolchain version: 1.58.1

Recommended development platform for Python development: Fedora 36

- Increase minor version number:
  https://github.com/stratis-storage/stratisd/pull/3020
  https://github.com/stratis-storage/stratisd/pull/3006

- Add ability to start and stop pools:
  https://github.com/stratis-storage/stratisd/pull/3034
  https://github.com/stratis-storage/stratisd/pull/2949

- Ensure termination of algorithm for selecting size of thinpool sub-devices:
  https://github.com/stratis-storage/stratisd/issues/3022
  https://github.com/stratis-storage/stratisd/pull/3023

- Make stratisd-min require systemd-udevd in systemd configuration file:
  https://github.com/stratis-storage/stratisd/issues/3019
  https://github.com/stratis-storage/stratisd/pull/3024

- Never fail when dropping the MDV if it's already unmounted:
  https://github.com/stratis-storage/stratisd/pull/3027

- Use retry instead of using "udevadm settle" in stratisd:
  https://github.com/stratis-storage/stratisd/issues/2989
  https://github.com/stratis-storage/stratisd/pull/3000

- Tidy up some parts of the JSON RPC implementation:
  https://github.com/stratis-storage/stratisd/pull/2999

- Use hyphenated format for filesystem UUIDs in stratis-min uniformly:
  https://github.com/stratis-storage/stratisd/pull/3028

- Increase clap dependency version to 3.1.0:
  https://github.com/stratis-storage/stratisd/issues/3005
  https://github.com/stratis-storage/stratisd/pull/3007

- Increase nix dependency version to 0.24.0:
  https://github.com/stratis-storage/stratisd/issues/3010
  https://github.com/stratis-storage/stratisd/pull/3012

- Increase uuid dependency version to 1.0.0:
  https://github.com/stratis-storage/stratisd/pull/3013

- Add NO_TEST_CLEAN_UP environment variable to help debug test failures:
  https://github.com/stratis-storage/stratisd/pull/3033

- Tidies and Maintenance:
  https://github.com/stratis-storage/stratisd/pull/3044
  https://github.com/stratis-storage/stratisd/pull/3043
  https://github.com/stratis-storage/stratisd/pull/3042
  https://github.com/stratis-storage/stratisd/pull/3041
  https://github.com/stratis-storage/stratisd/pull/3038
  https://github.com/stratis-storage/stratisd/pull/3036
  https://github.com/stratis-storage/stratisd/pull/3032
  https://github.com/stratis-storage/stratisd/pull/3025
  https://github.com/stratis-storage/stratisd/pull/3017
  https://github.com/stratis-storage/stratisd/pull/3016
  https://github.com/stratis-storage/stratisd/pull/3015
  https://github.com/stratis-storage/stratisd/pull/3014
  https://github.com/stratis-storage/stratisd/pull/3008
  https://github.com/stratis-storage/stratisd/pull/3003
  https://github.com/stratis-storage/stratisd/pull/3002


stratisd 3.1.0
==============
Recommended Rust toolchain version: 1.60.0
Lowest supported Rust toolchain version: 1.58.1

Recommended development platform for Python development: Fedora 36

- Increase minor version number:
  https://github.com/stratis-storage/stratisd/pull/2932

- Redesign and implementation of thinpool block layer management:
  https://github.com/stratis-storage/stratisd/issues/2814
  https://github.com/stratis-storage/stratisd/issues/2993
  https://github.com/stratis-storage/stratisd/pull/3001
  https://github.com/stratis-storage/stratisd/pull/2995
  https://github.com/stratis-storage/stratisd/pull/2994
  https://github.com/stratis-storage/stratisd/pull/2991
  https://github.com/stratis-storage/stratisd/pull/2982
  https://github.com/stratis-storage/stratisd/pull/2971
  https://github.com/stratis-storage/stratisd/pull/2967
  https://github.com/stratis-storage/stratisd/pull/2962
  https://github.com/stratis-storage/stratisd/pull/2919
  https://github.com/stratis-storage/stratisd/pull/2854

- Raise the minimum Stratis filesystem size to 512 MiB:
  https://github.com/stratis-storage/stratisd/pull/2966

- Mount the MDV in private mount namespace:
  https://github.com/stratis-storage/stratisd/pull/2988

- Increase the size of the MDV to 512 MiB:
  https://github.com/stratis-storage/stratisd/issues/2976
  https://github.com/stratis-storage/stratisd/pull/2978

- Simplify pool creation implementation:
  https://github.com/stratis-storage/stratisd/pull/2992

- Handle case where stratisd receives udev remove event via devnode lookup:
  https://github.com/stratis-storage/stratisd/issues/2894
  https://github.com/stratis-storage/stratisd/pull/2951

- Improve D-Bus signaling:
  https://github.com/stratis-storage/stratisd/pull/2940
  https://github.com/stratis-storage/stratisd/pull/2939
  https://github.com/stratis-storage/stratisd/pull/2913

- Fix potential deadlock:
  https://github.com/stratis-storage/stratisd/pull/2964

- Avoid writing unchanged pool-level JSON metadata:
  https://github.com/stratis-storage/stratisd/pull/2957

- Allow writing pool metadata under a larger set of conditions:
  https://github.com/stratis-storage/stratisd/pull/2973

- Retry unmounts:
  https://github.com/stratis-storage/stratisd/pull/2958
  https://github.com/stratis-storage/stratisd/pull/2942

- Improve error message on non-existing device path argument:
  https://github.com/stratis-storage/stratisd/pull/2953

- Demote D-Bus handling log-messages to trace level:
  https://github.com/stratis-storage/stratisd/pull/2961

- Improve log message on change when D-Bus object path is not available:
  https://github.com/stratis-storage/stratisd/pull/2996

- Introduce data abstractions for recognizing devices for initialization:
  https://github.com/stratis-storage/stratisd/pull/2965
  https://github.com/stratis-storage/stratisd/pull/2945

- Bump sha2 dependency version:
  https://github.com/stratis-storage/stratisd/pull/2938

- Increase libblkid dependency to 0.2.0:
  https://github.com/stratis-storage/stratisd/pull/2975

- Tidies and Maintenance:
  https://github.com/stratis-storage/stratisd/pull/2997
  https://github.com/stratis-storage/stratisd/pull/2998
  https://github.com/stratis-storage/stratisd/pull/2986
  https://github.com/stratis-storage/stratisd/pull/2985
  https://github.com/stratis-storage/stratisd/pull/2983
  https://github.com/stratis-storage/stratisd/pull/2979
  https://github.com/stratis-storage/stratisd/pull/2977
  https://github.com/stratis-storage/stratisd/pull/2974
  https://github.com/stratis-storage/stratisd/pull/2972
  https://github.com/stratis-storage/stratisd/pull/2968
  https://github.com/stratis-storage/stratisd/pull/2963
  https://github.com/stratis-storage/stratisd/pull/2960
  https://github.com/stratis-storage/stratisd/pull/2959
  https://github.com/stratis-storage/stratisd/pull/2956
  https://github.com/stratis-storage/stratisd/pull/2955
  https://github.com/stratis-storage/stratisd/pull/2954
  https://github.com/stratis-storage/stratisd/pull/2947
  https://github.com/stratis-storage/stratisd/pull/2944
  https://github.com/stratis-storage/stratisd/pull/2943
  https://github.com/stratis-storage/stratisd/pull/2941
  https://github.com/stratis-storage/stratisd/pull/2937
  https://github.com/stratis-storage/stratisd/pull/2936
  https://github.com/stratis-storage/stratisd/pull/2935
  https://github.com/stratis-storage/stratisd/pull/2934
  https://github.com/stratis-storage/stratisd/pull/2933


stratisd 3.0.4
==============
Recommended Rust toolchain version: 1.58.1
Lowest supported Rust toolchain version: 1.54.0

Recommended development platform for Python development: Fedora 35
Lowest supported Python interpreter: 3.6.8

- New version 3.0.4:
  https://github.com/stratis-storage/stratisd/pull/2929

- Send correct interface name for LockedPools property changed signal:
  https://github.com/stratis-storage/stratisd/issues/2923
  https://github.com/stratis-storage/stratisd/pull/2924

- Fix introspection data for GetManagedObjects method:
  https://github.com/stratis-storage/stratisd/pull/2926

- Require libcryptsetup-rs 0.5.0:
  https://github.com/stratis-storage/stratisd/pull/2925

- Tidies and Maintenance:
  https://github.com/stratis-storage/stratisd/pull/2928
  https://github.com/stratis-storage/stratisd/pull/2921


stratisd 3.0.3
==============
Recommended Rust toolchain version: 1.58.1
Lowest supported Rust toolchain version: 1.54.0

Recommended development platform for Python development: Fedora 35
Lowest supported Python interpreter: 3.6.8

- New version 3.0.3:
  https://github.com/stratis-storage/stratisd/pull/2886

- Per-pool locking:
  https://github.com/stratis-storage/stratisd/issues/2724
  https://github.com/stratis-storage/stratisd/pull/2853

- Include stratis dracut module by default if it is installed:
  https://github.com/stratis-storage/stratisd/issues/2893
  https://github.com/stratis-storage/stratisd/pull/2896

- Fix missing signal for pool allocated size changes:
  https://github.com/stratis-storage/stratisd/issues/2863
  https://github.com/stratis-storage/stratisd/pull/2865

- Require devicemapper 0.32.0:
  https://github.com/stratis-storage/stratisd/issues/2922
  https://github.com/stratis-storage/stratisd/issues/2920

- Update liminal data structures correctly on udev remove events:
  https://github.com/stratis-storage/stratisd/issues/2456
  https://github.com/stratis-storage/stratisd/pull/2881

- Demote some multi-threading related log messages to trace from debug:
  https://github.com/stratis-storage/stratisd/pull/2910

- Remove dead redundancy field from engines:
  https://github.com/stratis-storage/stratisd/pull/2895
  https://github.com/stratis-storage/stratisd/pull/2883

- Tidies and Maintenance:
  https://github.com/stratis-storage/stratisd/pull/2918
  https://github.com/stratis-storage/stratisd/pull/2917
  https://github.com/stratis-storage/stratisd/pull/2915
  https://github.com/stratis-storage/stratisd/pull/2914
  https://github.com/stratis-storage/stratisd/pull/2909
  https://github.com/stratis-storage/stratisd/pull/2906
  https://github.com/stratis-storage/stratisd/pull/2905
  https://github.com/stratis-storage/stratisd/pull/2903
  https://github.com/stratis-storage/stratisd/pull/2902
  https://github.com/stratis-storage/stratisd/pull/2900
  https://github.com/stratis-storage/stratisd/pull/2899
  https://github.com/stratis-storage/stratisd/pull/2898
  https://github.com/stratis-storage/stratisd/pull/2892
  https://github.com/stratis-storage/stratisd/pull/2891
  https://github.com/stratis-storage/stratisd/pull/2890
  https://github.com/stratis-storage/stratisd/pull/2887
  https://github.com/stratis-storage/stratisd/pull/2885
  https://github.com/stratis-storage/stratisd/pull/2882


stratisd 3.0.2
==============
Recommended Rust toolchain version: 1.57.0
Lowest supported Rust toolchain version: 1.54.0

Recommended development platform for Python development: Fedora 34
Lowest supported Python interpreter: 3.6.8

- New release: 3.0.2
  https://github.com/stratis-storage/stratisd/pull/2877

- Tidies and Maintenance:
  https://github.com/stratis-storage/stratisd/pull/2875
  https://github.com/stratis-storage/stratisd/pull/2874
  https://github.com/stratis-storage/stratisd/pull/2871


stratisd 3.0.1
==============
Recommended Rust toolchain version: 1.56.1
Lowest supported Rust toolchain version: 1.54.0

Recommended development platform for Python development: Fedora 34
Lowest supported Python interpreter: 3.6.8

- Report pool property TotalPhysicalUsed correctly in PropertyChanged signal:
  https://github.com/stratis-storage/stratisd/issues/2860
  https://github.com/stratis-storage/stratisd/pull/2862

- Use cached value at start of check method:
  https://github.com/stratis-storage/stratisd/pull/2868

- Avoid termination on error returned in timer task:
  https://github.com/stratis-storage/stratisd/pull/2866

- Allow non-privileged users to list Stratis encryption keys:
  https://github.com/stratis-storage/stratisd/pull/2861

- New release: 3.0.1
  https://github.com/stratis-storage/stratisd/pull/2848

- Tidies and Maintenance:
  https://github.com/stratis-storage/stratisd/pull/2859
  https://github.com/stratis-storage/stratisd/pull/2856
  https://github.com/stratis-storage/stratisd/pull/2855
  https://github.com/stratis-storage/stratisd/pull/2850
  https://github.com/stratis-storage/stratisd/pull/2849
  https://github.com/stratis-storage/stratisd/pull/2846


stratisd 3.0.0
==============
Recommended Rust toolchain version: 1.56.1
Lowest supported Rust toolchain version: 1.54.0

Recommended development platform for Python development: Fedora 34
Lowest supported Python interpreter: 3.6.8

- Bump major version to 3.0; remove version 2 D-Bus interfaces:
  https://github.com/stratis-storage/stratisd/pull/2837
  https://github.com/stratis-storage/stratisd/pull/2799
  https://github.com/stratis-storage/stratisd/pull/2798
  https://github.com/stratis-storage/stratisd/pull/2710
  https://github.com/stratis-storage/stratisd/pull/2707
  https://github.com/stratis-storage/stratisd/pull/2706
  https://github.com/stratis-storage/stratisd/pull/2703

- Remove FetchProperties interfaces; use standard D-Bus properties and
  methods instead:
  https://github.com/stratis-storage/stratisd/issues/2816
  https://github.com/stratis-storage/stratisd/pull/2817

- Verify udev information with libblkid before taking overwriting action:
  https://github.com/stratis-storage/stratisd/issues/1506
  https://github.com/stratis-storage/stratisd/pull/2826
  https://github.com/stratis-storage/stratisd/pull/2808

- Refactor for devicemapper event handling:
  https://github.com/stratis-storage/stratisd/issues/2712
  https://github.com/stratis-storage/stratisd/pull/2787
  https://github.com/stratis-storage/stratisd/pull/2786

- Extend metadata spare segments when extending metadata device:
  https://github.com/stratis-storage/stratisd/pull/2834

- Fix a bug where Clevis info was incorrectly updated on a bind command;
  refactor encryption related rollback code for greater generality:
  https://github.com/stratis-storage/stratisd/issues/2776
  https://github.com/stratis-storage/stratisd/pull/2777

- Fix a bug where device stack was not updated after cache initialization:
  https://github.com/stratis-storage/stratisd/issues/2789
  https://github.com/stratis-storage/stratisd/pull/2790

- Allow placing pools in restricted usage states:
  https://github.com/stratis-storage/stratisd/pull/2805
  https://github.com/stratis-storage/stratisd/pull/2797
  https://github.com/stratis-storage/stratisd/pull/2795
  https://github.com/stratis-storage/stratisd/pull/2746
  https://github.com/stratis-storage/stratisd/pull/2740

- Add support for changing passphrases and regenerating Clevis bindings:
  https://github.com/stratis-storage/stratisd/issues/2358
  https://github.com/stratis-storage/stratisd/pull/2748
  https://github.com/stratis-storage/stratisd/pull/2711
  https://github.com/stratis-storage/stratisd/pull/2696

- Allow setting logical size of filesystems when creating:
  https://github.com/stratis-storage/stratisd/pull/2735

- Send correct signals on D-Bus properties on pool name change:
  https://github.com/stratis-storage/stratisd/issues/2731
  https://github.com/stratis-storage/stratisd/pull/2734

- Change internal representation of stratisd errors; reduce possible codes
  returned over the D-Bus to 0 and 1:
  https://github.com/stratis-storage/stratisd/issues/2664
  https://github.com/stratis-storage/stratisd/pull/2679

- Make devnode D-Bus properties consistent across restarts of stratisd:
  https://github.com/stratis-storage/stratisd/pull/2661

- Prevent systemd from sending kill signals to fork-exec'ed processes.
  https://github.com/stratis-storage/stratisd/issues/2749
  https://github.com/stratis-storage/stratisd/pull/2754

- Remove config file requiring Stratis dracut module:
  https://github.com/stratis-storage/stratisd/pull/2828

- Pass --prompt flag to stratisd-min when unlocking via a key:
  https://github.com/stratis-storage/stratisd/pull/2742

- Bump interface revision numbers to 3:
  https://github.com/stratis-storage/stratisd/pull/2640

- Make devicmapper event processing and D-Bus request handling errors non-fatal:
  https://github.com/stratis-storage/stratisd/issues/2686
  https://github.com/stratis-storage/stratisd/pull/2689

- Unify JoinHandle and stratisd errors in threads:
  https://github.com/stratis-storage/stratisd/pull/2761

- Have build script use header_contents method:
  https://github.com/stratis-storage/stratisd/pull/2639

- Change crate name from libstratis to stratisd:
  https://github.com/stratis-storage/stratisd/pull/2752
  https://github.com/stratis-storage/stratisd/pull/2683

- Correct error message in stratis-fstab-setup:
  https://github.com/stratis-storage/stratisd/pull/2741

- Log the error if a thin-check call fails:
  https://github.com/stratis-storage/stratisd/pull/2750

- Use DevicePath struct to cause paths to be canonicalized earlier:
  https://github.com/stratis-storage/stratisd/pull/2739

- Use SHA-256 instead of SHA-1 for Clevis operations:
  https://github.com/stratis-storage/stratisd/issues/2670
  https://github.com/stratis-storage/stratisd/pull/2672

- Require dbus-tree 0.9.2:
  https://github.com/stratis-storage/stratisd/pull/2820

- Refactor to unify rollback code:
  https://github.com/stratis-storage/stratisd/issues/2610
  https://github.com/stratis-storage/stratisd/pull/2637

- Use bounded type parameters instead of trait objects for sim and real types:
  https://github.com/stratis-storage/stratisd/issues/2729
  https://github.com/stratis-storage/stratisd/pull/2768

- Conform entirely to Rust 2018 syntax recommendations:
  https://github.com/stratis-storage/stratisd/pull/2802

- Require devicemapper-rs 0.30.0:
  https://github.com/stratis-storage/stratisd/pull/2822

- Drop transitive dependency on time crate:
  https://github.com/stratis-storage/stratisd/pull/2832

- Tidies and Maintenance:
  https://github.com/stratis-storage/stratisd/pull/2844
  https://github.com/stratis-storage/stratisd/pull/2842
  https://github.com/stratis-storage/stratisd/pull/2841
  https://github.com/stratis-storage/stratisd/pull/2840
  https://github.com/stratis-storage/stratisd/pull/2839
  https://github.com/stratis-storage/stratisd/pull/2836
  https://github.com/stratis-storage/stratisd/pull/2829
  https://github.com/stratis-storage/stratisd/pull/2823
  https://github.com/stratis-storage/stratisd/pull/2819
  https://github.com/stratis-storage/stratisd/pull/2818
  https://github.com/stratis-storage/stratisd/pull/2812
  https://github.com/stratis-storage/stratisd/pull/2807
  https://github.com/stratis-storage/stratisd/pull/2805
  https://github.com/stratis-storage/stratisd/pull/2804
  https://github.com/stratis-storage/stratisd/pull/2803
  https://github.com/stratis-storage/stratisd/pull/2796
  https://github.com/stratis-storage/stratisd/pull/2794
  https://github.com/stratis-storage/stratisd/pull/2793
  https://github.com/stratis-storage/stratisd/pull/2792
  https://github.com/stratis-storage/stratisd/pull/2791
  https://github.com/stratis-storage/stratisd/pull/2785
  https://github.com/stratis-storage/stratisd/pull/2784
  https://github.com/stratis-storage/stratisd/pull/2783
  https://github.com/stratis-storage/stratisd/pull/2780
  https://github.com/stratis-storage/stratisd/pull/2779
  https://github.com/stratis-storage/stratisd/pull/2774
  https://github.com/stratis-storage/stratisd/pull/2773
  https://github.com/stratis-storage/stratisd/pull/2771
  https://github.com/stratis-storage/stratisd/pull/2770
  https://github.com/stratis-storage/stratisd/pull/2769
  https://github.com/stratis-storage/stratisd/pull/2767
  https://github.com/stratis-storage/stratisd/pull/2766
  https://github.com/stratis-storage/stratisd/pull/2765
  https://github.com/stratis-storage/stratisd/pull/2764
  https://github.com/stratis-storage/stratisd/pull/2763
  https://github.com/stratis-storage/stratisd/pull/2762
  https://github.com/stratis-storage/stratisd/pull/2760
  https://github.com/stratis-storage/stratisd/pull/2759
  https://github.com/stratis-storage/stratisd/pull/2758
  https://github.com/stratis-storage/stratisd/pull/2757
  https://github.com/stratis-storage/stratisd/pull/2755
  https://github.com/stratis-storage/stratisd/pull/2743
  https://github.com/stratis-storage/stratisd/pull/2738
  https://github.com/stratis-storage/stratisd/pull/2737
  https://github.com/stratis-storage/stratisd/pull/2733
  https://github.com/stratis-storage/stratisd/pull/2732
  https://github.com/stratis-storage/stratisd/pull/2728
  https://github.com/stratis-storage/stratisd/pull/2726
  https://github.com/stratis-storage/stratisd/pull/2722
  https://github.com/stratis-storage/stratisd/pull/2720
  https://github.com/stratis-storage/stratisd/pull/2717
  https://github.com/stratis-storage/stratisd/pull/2715
  https://github.com/stratis-storage/stratisd/pull/2714
  https://github.com/stratis-storage/stratisd/pull/2713
  https://github.com/stratis-storage/stratisd/pull/2704
  https://github.com/stratis-storage/stratisd/pull/2702
  https://github.com/stratis-storage/stratisd/pull/2699
  https://github.com/stratis-storage/stratisd/pull/2698
  https://github.com/stratis-storage/stratisd/pull/2697
  https://github.com/stratis-storage/stratisd/pull/2695
  https://github.com/stratis-storage/stratisd/pull/2694
  https://github.com/stratis-storage/stratisd/pull/2693
  https://github.com/stratis-storage/stratisd/pull/2690
  https://github.com/stratis-storage/stratisd/pull/2681
  https://github.com/stratis-storage/stratisd/pull/2678
  https://github.com/stratis-storage/stratisd/pull/2677
  https://github.com/stratis-storage/stratisd/pull/2676
  https://github.com/stratis-storage/stratisd/pull/2675
  https://github.com/stratis-storage/stratisd/pull/2674
  https://github.com/stratis-storage/stratisd/pull/2673
  https://github.com/stratis-storage/stratisd/pull/2671
  https://github.com/stratis-storage/stratisd/pull/2669
  https://github.com/stratis-storage/stratisd/pull/2668
  https://github.com/stratis-storage/stratisd/pull/2666
  https://github.com/stratis-storage/stratisd/pull/2665
  https://github.com/stratis-storage/stratisd/pull/2663
  https://github.com/stratis-storage/stratisd/pull/2660
  https://github.com/stratis-storage/stratisd/pull/2657
  https://github.com/stratis-storage/stratisd/pull/2655
  https://github.com/stratis-storage/stratisd/pull/2653
  https://github.com/stratis-storage/stratisd/pull/2651
  https://github.com/stratis-storage/stratisd/pull/2650
  https://github.com/stratis-storage/stratisd/pull/2649
  https://github.com/stratis-storage/stratisd/pull/2648
  https://github.com/stratis-storage/stratisd/pull/2643
  https://github.com/stratis-storage/stratisd/pull/2642
  https://github.com/stratis-storage/stratisd/pull/2641
  https://github.com/stratis-storage/stratisd/pull/2636
  https://github.com/stratis-storage/stratisd/pull/2631


stratisd 2.4.2
==============
Recommended Rust toolchain version: 1.52.1
Lowest supported Rust toolchain version: 1.49

Recommended development platform for Python development: Fedora 33
Lowest supported Python interpreter: 3.6.8

- Add additional command-line dependencies to dracut module:
  https://github.com/stratis-storage/stratisd/pull/2627

- Improve unsupported tool stratis-dumpmetadata:
  https://github.com/stratis-storage/stratisd/issues/2133
  https://github.com/stratis-storage/stratisd/pull/2626

- Remove an assertion that is invalid:
  https://github.com/stratis-storage/stratisd/pull/2612

- Tidies and Maintenance:
  https://github.com/stratis-storage/stratisd/pull/2630
  https://github.com/stratis-storage/stratisd/pull/2628
  https://github.com/stratis-storage/stratisd/pull/2624
  https://github.com/stratis-storage/stratisd/pull/2621
  https://github.com/stratis-storage/stratisd/pull/2620
  https://github.com/stratis-storage/stratisd/pull/2618
  https://github.com/stratis-storage/stratisd/pull/2617
  https://github.com/stratis-storage/stratisd/pull/2616
  https://github.com/stratis-storage/stratisd/pull/2615
  https://github.com/stratis-storage/stratisd/pull/2609
  https://github.com/stratis-storage/stratisd/pull/2608
  https://github.com/stratis-storage/stratisd/pull/2607
  https://github.com/stratis-storage/stratisd/pull/2603
  https://github.com/stratis-storage/stratisd/pull/2602
  https://github.com/stratis-storage/stratisd/pull/2601
  https://github.com/stratis-storage/stratisd/pull/2600
  https://github.com/stratis-storage/stratisd/pull/2598


stratisd 2.4.1
==============
Recommended Rust toolchain version: 1.51.0
Lowest supported Rust toolchain version: 1.49

Recommended development platform for Python development: Fedora 32
Lowest supported Python interpreter: 3.6.8

- Expose signals associated with r4 interfaces on the D-Bus:
  https://github.com/stratis-storage/stratisd/pull/2580

- Add additional logging to systemd generators:
  https://github.com/stratis-storage/stratisd/pull/2592

- Drop dependency on dbus-tokio in message handling thread:
  https://github.com/stratis-storage/stratisd/pull/2591

- Split crypt.rs file into several smaller files:
  https://github.com/stratis-storage/stratisd/issues/2505
  https://github.com/stratis-storage/stratisd/pull/2565

- Tidies and Maintenance:
  https://github.com/stratis-storage/stratisd/pull/2597
  https://github.com/stratis-storage/stratisd/pull/2594
  https://github.com/stratis-storage/stratisd/pull/2593
  https://github.com/stratis-storage/stratisd/pull/2588
  https://github.com/stratis-storage/stratisd/pull/2587
  https://github.com/stratis-storage/stratisd/pull/2584
  https://github.com/stratis-storage/stratisd/pull/2583
  https://github.com/stratis-storage/stratisd/pull/2582
  https://github.com/stratis-storage/stratisd/pull/2581
  https://github.com/stratis-storage/stratisd/pull/2577
  https://github.com/stratis-storage/stratisd/pull/2576
  https://github.com/stratis-storage/stratisd/pull/2575
  https://github.com/stratis-storage/stratisd/pull/2572
  https://github.com/stratis-storage/stratisd/pull/2563
  https://github.com/stratis-storage/stratisd/pull/2562
  https://github.com/stratis-storage/stratisd/pull/2561
  https://github.com/stratis-storage/stratisd/pull/2560


stratisd 2.4.0
==============
Recommended Rust toolchain version: 1.51.0
Lowest supported Rust toolchain version: 1.49

Recommended Python interpreter: 3.8.6
Lowest supported Python interpreter: 3.6.8
Python linter: pylint (2.4.4)
Python auto-formatter: black (20.8b1)
Python import sorter: isort (4.3.21)

YAML linter: yamllint (1.26.0)

- Allow booting from a Stratis root filesystem:
  https://github.com/stratis-storage/stratisd/issues/2134
  https://github.com/stratis-storage/stratisd/issues/2530
  https://github.com/stratis-storage/stratisd/pull/2557
  https://github.com/stratis-storage/stratisd/pull/2556
  https://github.com/stratis-storage/stratisd/pull/2547
  https://github.com/stratis-storage/stratisd/pull/2546
  https://github.com/stratis-storage/stratisd/pull/2541
  https://github.com/stratis-storage/stratisd/pull/2539
  https://github.com/stratis-storage/stratisd/pull/2538
  https://github.com/stratis-storage/stratisd/pull/2536
  https://github.com/stratis-storage/stratisd/pull/2535
  https://github.com/stratis-storage/stratisd/pull/2533
  https://github.com/stratis-storage/stratisd/pull/2529

- Add ability to bind with Clevis on pool creation and to unbind and bind
  an encrypted pool separately with either Clevis or a kernel keyring:
  https://github.com/stratis-storage/stratisd/pull/2502

- Add new FetchProperties interface to Manager object that supports key
  LockedPoolsWithDevs:
  https://github.com/stratis-storage/stratisd/issues/2423
  https://github.com/stratis-storage/stratisd/pull/2441
  https://github.com/stratis-storage/stratisd/pull/2431

- Improvements to management of filesystem symlinks:
  https://github.com/stratis-storage/stratisd/issues/2307
  https://github.com/stratis-storage/stratisd/issues/2477
  https://github.com/stratis-storage/stratisd/pull/2488
  https://github.com/stratis-storage/stratisd/pull/2475

- Add EngineStateReport method to new Manager.r4 interface:
  https://github.com/stratis-storage/stratisd/issues/2369
  https://github.com/stratis-storage/stratisd/pull/2378

- Miscellaneous outstanding issues fixed by initial multi-threading work:
  https://github.com/stratis-storage/stratisd/issues/2416
  https://github.com/stratis-storage/stratisd/issues/2227
  https://github.com/stratis-storage/stratisd/issues/2219

- Predict size of free area on devices:
  https://github.com/stratis-storage/stratisd/pull/2516
  https://github.com/stratis-storage/stratisd/pull/2476
  https://github.com/stratis-storage/stratisd/pull/2447

- Make Clevis dependency optional:
  https://github.com/stratis-storage/stratisd/pull/2398

- Add preliminary multi-threading support:
  https://github.com/stratis-storage/stratisd/pull/2544
  https://github.com/stratis-storage/stratisd/pull/2510
  https://github.com/stratis-storage/stratisd/pull/2468
  https://github.com/stratis-storage/stratisd/pull/2465
  https://github.com/stratis-storage/stratisd/pull/2439

- Create the filesystem on the mdv with the xfs -noalign option:
  https://github.com/stratis-storage/stratisd/issues/2370
  https://github.com/stratis-storage/stratisd/pull/2373

- Cap thinpool metadata device size at devicemapper-set limit:
  https://github.com/stratis-storage/stratisd/issues/1495
  https://github.com/stratis-storage/stratisd/pull/2392

- Emit log entries at info level for every succesful call of a D-Bus method
  that might mutate some state:
  https://github.com/stratis-storage/stratisd/issues/1648
  https://github.com/stratis-storage/stratisd/pull/2401
  https://github.com/stratis-storage/stratisd/pull/2399

- Increase precision of crypt device status check:
  https://github.com/stratis-storage/stratisd/pull/2428

- Define Introspectable interface for prefixes of /org/storage/stratisd2:
  https://github.com/stratis-storage/stratisd/issues/2412
  https://github.com/stratis-storage/stratisd/pull/2414

- Require devicemapper 0.29; make use of 128-bit Bytes type:
  https://github.com/stratis-storage/stratisd/pull/2374

- Enrich error when pool devices are not all wiped of metadata:
  https://github.com/stratis-storage/stratisd/issues/2354
  https://github.com/stratis-storage/stratisd/pull/2356

- Enrich error when udev script fails to obtain pool or filesystem UUID
  from stratisd:
  https://github.com/stratis-storage/stratisd/pull/2419

- Do not try to update filesystem devlinks on pool name changes if pool has
  no filesystems:
  https://github.com/stratis-storage/stratisd/pull/2409

- Reduce severity level of some encryption related log messages:
  https://github.com/stratis-storage/stratisd/pull/2443

- Add warn log message on bad MDAHeader in metadata module:
  https://github.com/stratis-storage/stratisd/issues/2517
  https://github.com/stratis-storage/stratisd/pull/2522

- Make name displayed in stratisd help text "stratisd", not "stratis":
  https://github.com/stratis-storage/stratisd/pull/2506

- Improve logging on failure to read BDA from device during setup:
  https://github.com/stratis-storage/stratisd/pull/2523

- Drop support for migrating symlinks from /stratis to /dev/stratis:
  https://github.com/stratis-storage/stratisd/pull/2503

- Add logging support to stratis_dumpmetadata:
  https://github.com/stratis-storage/stratisd/issues/2518
  https://github.com/stratis-storage/stratisd/pull/2526

- Add install target to Makefile:
  https://github.com/stratis-storage/stratisd/pull/2379

- Include githooks in source distribution:
  https://github.com/stratis-storage/stratisd/issues/2445
  https://github.com/stratis-storage/stratisd/pull/2459
  https://github.com/stratis-storage/stratisd/pull/2452

- Refactor to use graph structure for tracking device paths:
  https://github.com/stratis-storage/stratisd/pull/2377

- Remove support in engine for incorporating random behavior in the sim engine:
  https://github.com/stratis-storage/stratisd/issues/2336
  https://github.com/stratis-storage/stratisd/pull/2343
  https://github.com/stratis-storage/stratisd/pull/2338

- Add an is_sim method to the Engine trait:
  https://github.com/stratis-storage/stratisd/pull/2344

- Refactor range allocation:
  https://github.com/stratis-storage/stratisd/pull/2364

- Use a containerized environment for some GitHub Actions based CI:
  https://github.com/stratis-storage/stratisd/pull/2440
  https://github.com/stratis-storage/stratisd/pull/2436
  https://github.com/stratis-storage/stratisd/pull/2434

- Tidies and Maintenance:
  https://github.com/stratis-storage/stratisd/pull/2559
  https://github.com/stratis-storage/stratisd/pull/2552
  https://github.com/stratis-storage/stratisd/pull/2550
  https://github.com/stratis-storage/stratisd/pull/2549
  https://github.com/stratis-storage/stratisd/pull/2548
  https://github.com/stratis-storage/stratisd/pull/2545
  https://github.com/stratis-storage/stratisd/pull/2543
  https://github.com/stratis-storage/stratisd/pull/2531
  https://github.com/stratis-storage/stratisd/pull/2527
  https://github.com/stratis-storage/stratisd/pull/2524
  https://github.com/stratis-storage/stratisd/pull/2521
  https://github.com/stratis-storage/stratisd/pull/2520
  https://github.com/stratis-storage/stratisd/pull/2515
  https://github.com/stratis-storage/stratisd/pull/2508
  https://github.com/stratis-storage/stratisd/pull/2504
  https://github.com/stratis-storage/stratisd/pull/2501
  https://github.com/stratis-storage/stratisd/pull/2499
  https://github.com/stratis-storage/stratisd/pull/2498
  https://github.com/stratis-storage/stratisd/pull/2496
  https://github.com/stratis-storage/stratisd/pull/2495
  https://github.com/stratis-storage/stratisd/pull/2492
  https://github.com/stratis-storage/stratisd/pull/2491
  https://github.com/stratis-storage/stratisd/pull/2489
  https://github.com/stratis-storage/stratisd/pull/2487
  https://github.com/stratis-storage/stratisd/pull/2485
  https://github.com/stratis-storage/stratisd/pull/2483
  https://github.com/stratis-storage/stratisd/pull/2481
  https://github.com/stratis-storage/stratisd/pull/2480
  https://github.com/stratis-storage/stratisd/pull/2474
  https://github.com/stratis-storage/stratisd/pull/2470
  https://github.com/stratis-storage/stratisd/pull/2469
  https://github.com/stratis-storage/stratisd/pull/2462
  https://github.com/stratis-storage/stratisd/pull/2455
  https://github.com/stratis-storage/stratisd/pull/2451
  https://github.com/stratis-storage/stratisd/pull/2449
  https://github.com/stratis-storage/stratisd/pull/2438
  https://github.com/stratis-storage/stratisd/pull/2435
  https://github.com/stratis-storage/stratisd/pull/2429
  https://github.com/stratis-storage/stratisd/pull/2426
  https://github.com/stratis-storage/stratisd/pull/2424
  https://github.com/stratis-storage/stratisd/pull/2417
  https://github.com/stratis-storage/stratisd/pull/2410
  https://github.com/stratis-storage/stratisd/pull/2406
  https://github.com/stratis-storage/stratisd/pull/2403
  https://github.com/stratis-storage/stratisd/pull/2396
  https://github.com/stratis-storage/stratisd/pull/2394
  https://github.com/stratis-storage/stratisd/pull/2393
  https://github.com/stratis-storage/stratisd/pull/2389
  https://github.com/stratis-storage/stratisd/pull/2385
  https://github.com/stratis-storage/stratisd/pull/2383
  https://github.com/stratis-storage/stratisd/pull/2375
  https://github.com/stratis-storage/stratisd/pull/2367
  https://github.com/stratis-storage/stratisd/pull/2366
  https://github.com/stratis-storage/stratisd/pull/2365
  https://github.com/stratis-storage/stratisd/pull/2363
  https://github.com/stratis-storage/stratisd/pull/2352
  https://github.com/stratis-storage/stratisd/pull/2351
  https://github.com/stratis-storage/stratisd/pull/2350
  https://github.com/stratis-storage/stratisd/pull/2345
  https://github.com/stratis-storage/stratisd/pull/2342
  https://github.com/stratis-storage/stratisd/pull/2335


stratisd 2.3.0
==============
Recommended Rust toolchain version: 1.48.0
Lowest supported Rust toolchain version: 1.45

Recommended Python interpreter: 3.7.9
Lowest supported Python interpreter: 3.6.8
Python linter: pylint (2.4.4)
Python auto-formatter: black (19.10b0)
Python import sorter: isort (4.3.21)

YAML linter: yamllint (1.23.0)

New Rust crate version requirements:
  - error-chain: 0.12.2

New external dependencies:
  - clevis: 15
  - clevis-luks: 15


- Introduce support for Clevis encryption policies:
  https://github.com/stratis-storage/stratisd/pull/2315
  https://github.com/stratis-storage/stratisd/pull/2314

- Tidies and Maintenance:
  https://github.com/stratis-storage/stratisd/pull/2333
  https://github.com/stratis-storage/stratisd/pull/2332
  https://github.com/stratis-storage/stratisd/pull/2330
  https://github.com/stratis-storage/stratisd/pull/2329
  https://github.com/stratis-storage/stratisd/pull/2319
  https://github.com/stratis-storage/stratisd/pull/2317
  https://github.com/stratis-storage/stratisd/pull/2311
  https://github.com/stratis-storage/stratisd/pull/2309
  https://github.com/stratis-storage/stratisd/pull/2304
  https://github.com/stratis-storage/stratisd/pull/2299


stratisd 2.2.1
==============
Recommended Rust toolchain version: 1.47.0
Lowest supported Rust toolchain version: 1.45

Recommended Python interpreter: 3.7.9
Lowest supported Python interpreter: 3.6.8
Python linter: pylint (2.4.4)
Python auto-formatter: black (19.10b0)
Python import sorter: isort (4.3.21)

YAML linter: yamllint (1.23.0)

New Rust crate version requirements:
  - env_logger: 0.8
  - itertools: 0.9
  - nix: 0.18
  - rand: 0.7
  - semver: 0.11
  - uuid: 0.8


- Rewrite mechanism to read encryption key from a file descriptor:
  https://github.com/stratis-storage/stratisd/pull/2294

- Make sure paths of devices passed as arguments to D-Bus calls are absolute:
  https://github.com/stratis-storage/stratisd/pull/2264

- Make sure that names of filesystems and pools do not include characters
  that udev will substitute underscores for:
  https://github.com/stratis-storage/stratisd/issues/2265
  https://github.com/stratis-storage/stratisd/pull/2276

- Use portable types from the libc crate in method calls:
  https://github.com/stratis-storage/stratisd/issues/2260
  https://github.com/stratis-storage/stratisd/pull/2261

- Use KeyDescription type in trait methods:
  https://github.com/stratis-storage/stratisd/issues/2156
  https://github.com/stratis-storage/stratisd/pull/2271
  https://github.com/stratis-storage/stratisd/pull/2268

- Make error message on failure to unlock device more specific:
  https://github.com/stratis-storage/stratisd/pull/2251

- Tidies and Maintenance:
  https://github.com/stratis-storage/stratisd/pull/2298
  https://github.com/stratis-storage/stratisd/pull/2297
  https://github.com/stratis-storage/stratisd/pull/2296
  https://github.com/stratis-storage/stratisd/pull/2295
  https://github.com/stratis-storage/stratisd/pull/2293
  https://github.com/stratis-storage/stratisd/pull/2292
  https://github.com/stratis-storage/stratisd/pull/2287
  https://github.com/stratis-storage/stratisd/pull/2284
  https://github.com/stratis-storage/stratisd/pull/2283
  https://github.com/stratis-storage/stratisd/pull/2280
  https://github.com/stratis-storage/stratisd/pull/2279
  https://github.com/stratis-storage/stratisd/pull/2267
  https://github.com/stratis-storage/stratisd/pull/2262
  https://github.com/stratis-storage/stratisd/pull/2259
  https://github.com/stratis-storage/stratisd/pull/2258
  https://github.com/stratis-storage/stratisd/pull/2249


stratisd 2.2.0
==============
Recommended Rust toolchain version: 1.46.0
Lowest supported Rust toolchain version: 1.45

New D-Bus interfaces:
org.storage.stratis2.FetchProperties.r2
org.storage.stratis2.Manager.r2
org.storage.stratis2.blockdev.r2

New minimum Rust crate requirement:
  - proptest: 0.10.0

Recommended Python interpreter: 3.7.7
Lowest supported Python interpreter: 3.6.8
Python linter: pylint (2.4.4)
Python auto-formatter: black (19.10b0)
Python import sorter: isort (4.3.21)

YAML linter: yamllint (1.23.0)


- Set filesystem symlinks in /dev/stratis instead of /stratis,
  include script to migrate symlinks:
  https://github.com/stratis-storage/stratisd/issues/704
  https://github.com/stratis-storage/stratisd/issues/2162
  https://github.com/stratis-storage/stratisd/issues/2175
  https://github.com/stratis-storage/stratisd/issues/2198
  https://github.com/stratis-storage/stratisd/issues/2220
  https://github.com/stratis-storage/stratisd/pull/2238
  https://github.com/stratis-storage/stratisd/pull/2235
  https://github.com/stratis-storage/stratisd/pull/2199
  https://github.com/stratis-storage/stratisd/pull/2197
  https://github.com/stratis-storage/stratisd/pull/2192
  https://github.com/stratis-storage/stratisd/pull/2190
  https://github.com/stratis-storage/stratisd/pull/2186
  https://github.com/stratis-storage/stratisd/pull/2177
  https://github.com/stratis-storage/stratisd/pull/2166
  https://github.com/stratis-storage/stratisd/pull/2153
  https://github.com/stratis-storage/stratisd/pull/2147

- Put terminal settings functionality for key management in stratisd D-bus
  layer:
  https://github.com/stratis-storage/stratisd/pull/2214

- Add PhysicalPath D-Bus property for blockdev interface:
  https://github.com/stratis-storage/stratisd/issues/2191
  https://github.com/stratis-storage/stratisd/pull/2209

- Add new FetchProperties interface to Manager to support LockedPools property:
  https://github.com/stratis-storage/stratisd/issues/2179
  https://github.com/stratis-storage/stratisd/pull/2246
  https://github.com/stratis-storage/stratisd/pull/2231
  https://github.com/stratis-storage/stratisd/pull/2228
  https://github.com/stratis-storage/stratisd/pull/2185

- Remove --debug option, add --log-level option with different semantics:
  https://github.com/stratis-storage/stratisd/pull/2095

- Fix a bug where filesystem Name property changed signal was being emitted for
  only one of the appropriate interfaces:
  https://github.com/stratis-storage/stratisd/issues/2215
  https://github.com/stratis-storage/stratisd/pull/2221

- Export InterfacesAdded and InterfacesRemoved signals on the D-Bus:
  https://github.com/stratis-storage/stratisd/issues/1377
  https://github.com/stratis-storage/stratisd/pull/2170

- No longer catch SIGUSR1 signal:
  https://github.com/stratis-storage/stratisd/pull/2161

- Fix a bug where, under certain conditions, idempotency might be violated
  when creating a new pool:
  https://github.com/stratis-storage/stratisd/issues/2150
  https://github.com/stratis-storage/stratisd/pull/2151

- Fix a bug where some region of a device was not being zeroed properly,
  before creation of the meta device of a cache or thin pool, which can
  cause creation of the device to fail:
  https://github.com/stratis-storage/stratisd/pull/2206

- Introduce the stratis-min CLI as an unsupported application:
  https://github.com/stratis-storage/stratisd/pull/2239

- Add unsupported script to read the Stratis metadata on a device:
  https://github.com/stratis-storage/stratisd/issues/2157
  https://github.com/stratis-storage/stratisd/issues/2097
  https://github.com/stratis-storage/stratisd/pull/2159
  https://github.com/stratis-storage/stratisd/pull/2137
  https://github.com/stratis-storage/stratisd/pull/2135
  https://github.com/stratis-storage/stratisd/pull/2132

- Return a more precise error message if a device unlocking action fails
  because a key is not present:
  https://github.com/stratis-storage/stratisd/issues/2114
  https://github.com/stratis-storage/stratisd/pull/2126

- Extend engine state report to include information about blockdevs:
  https://github.com/stratis-storage/stratisd/issues/2125
  https://github.com/stratis-storage/stratisd/pull/2129

- Logging improvements:
  https://github.com/stratis-storage/stratisd/pull/2112
  https://github.com/stratis-storage/stratisd/pull/2088

- Make sim engine signals for D-Bus properties consistent with real engine:
  https://github.com/stratis-storage/stratisd/pull/2138

- Enable pedantic numeric lints:
  https://github.com/stratis-storage/stratisd/pull/2142
  https://github.com/stratis-storage/stratisd/pull/2140

- Deny all pedantic lints that the code base currently does not infringe:
  https://github.com/stratis-storage/stratisd/pull/2201

- Hoist metadata module up a level:
  https://github.com/stratis-storage/stratisd/pull/2210

- Improvements to implementation of thinpool abstraction:
  https://github.com/stratis-storage/stratisd/pull/2113
  https://github.com/stratis-storage/stratisd/pull/2107
  https://github.com/stratis-storage/stratisd/pull/2103

- Remove some dead code in filesystem abstraction:
  https://github.com/stratis-storage/stratisd/issues/512
  https://github.com/stratis-storage/stratisd/pull/2171

- Refactor liminal module into distinct submodules, fix a minor bug:
  https://github.com/stratis-storage/stratisd/pull/2242
  https://github.com/stratis-storage/stratisd/pull/2187

- Add a script for examining versions of dependencies:
  https://github.com/stratis-storage/stratisd/pull/2196

- Increase version to 2.2.0:
  https://github.com/stratis-storage/stratisd/pull/2089

- Tidies and Maintenance:
  https://github.com/stratis-storage/stratisd/pull/2245
  https://github.com/stratis-storage/stratisd/pull/2243
  https://github.com/stratis-storage/stratisd/pull/2234
  https://github.com/stratis-storage/stratisd/pull/2232
  https://github.com/stratis-storage/stratisd/pull/2230
  https://github.com/stratis-storage/stratisd/pull/2227
  https://github.com/stratis-storage/stratisd/pull/2226
  https://github.com/stratis-storage/stratisd/pull/2224
  https://github.com/stratis-storage/stratisd/pull/2222
  https://github.com/stratis-storage/stratisd/pull/2212
  https://github.com/stratis-storage/stratisd/pull/2208
  https://github.com/stratis-storage/stratisd/pull/2207
  https://github.com/stratis-storage/stratisd/pull/2205
  https://github.com/stratis-storage/stratisd/pull/2202
  https://github.com/stratis-storage/stratisd/pull/2195
  https://github.com/stratis-storage/stratisd/pull/2193
  https://github.com/stratis-storage/stratisd/pull/2189
  https://github.com/stratis-storage/stratisd/pull/2183
  https://github.com/stratis-storage/stratisd/pull/2176
  https://github.com/stratis-storage/stratisd/pull/2173
  https://github.com/stratis-storage/stratisd/pull/2168
  https://github.com/stratis-storage/stratisd/pull/2167
  https://github.com/stratis-storage/stratisd/pull/2165
  https://github.com/stratis-storage/stratisd/pull/2164
  https://github.com/stratis-storage/stratisd/pull/2149
  https://github.com/stratis-storage/stratisd/pull/2145
  https://github.com/stratis-storage/stratisd/pull/2143
  https://github.com/stratis-storage/stratisd/pull/2141
  https://github.com/stratis-storage/stratisd/pull/2131
  https://github.com/stratis-storage/stratisd/pull/2128
  https://github.com/stratis-storage/stratisd/pull/2124
  https://github.com/stratis-storage/stratisd/pull/2119
  https://github.com/stratis-storage/stratisd/pull/2118
  https://github.com/stratis-storage/stratisd/pull/2115
  https://github.com/stratis-storage/stratisd/pull/2110
  https://github.com/stratis-storage/stratisd/pull/2109
  https://github.com/stratis-storage/stratisd/pull/2105
  https://github.com/stratis-storage/stratisd/pull/2102
  https://github.com/stratis-storage/stratisd/pull/2099
  https://github.com/stratis-storage/stratisd/pull/2096
  https://github.com/stratis-storage/stratisd/pull/2094
  https://github.com/stratis-storage/stratisd/pull/2093
  https://github.com/stratis-storage/stratisd/pull/2092
  https://github.com/stratis-storage/stratisd/pull/2084
  https://github.com/stratis-storage/stratisd/pull/2083
  https://github.com/stratis-storage/stratisd/pull/2082
  https://github.com/stratis-storage/stratisd/pull/2079
  https://github.com/stratis-storage/stratisd/pull/2077


stratisd 2.1.0
==============
Recommended Rust toolchain version: 1.43
Lowest supported Rust toolchain version: 1.43

Recommended Python interpreter: 3.7.6
Lowest supported Python interpreter: 3.6.8
Python linter: pylint (2.3.1)
Python auto-formatter: black (19.3b0)
Python import sorter: isort (4.3.4)

New minimum dependency requirement:
  - cryptsetup: 2.3
  - libblkid: 2.32

New minimum Rust crate requirement:
  - dbus: 0.8
  - libc: 0.2.68
  - libcryptsetup-rs: 0.4.0
  - proptest: 0.9.6

New minimum Python package requirement (for testing):
  - pyudev: 0.22


- Support encryption:
  https://github.com/stratis-storage/stratisd/issues/1822
  https://github.com/stratis-storage/stratisd/issues/1920
  https://github.com/stratis-storage/stratisd/issues/1921
  https://github.com/stratis-storage/stratisd/issues/1935
  https://github.com/stratis-storage/stratisd/issues/1961
  https://github.com/stratis-storage/stratisd/issues/1964
  https://github.com/stratis-storage/stratisd/issues/1973
  https://github.com/stratis-storage/stratisd/issues/1992
  https://github.com/stratis-storage/stratisd/issues/1995
  https://github.com/stratis-storage/stratisd/issues/2000
  https://github.com/stratis-storage/stratisd/issues/2007
  https://github.com/stratis-storage/stratisd/pull/2071
  https://github.com/stratis-storage/stratisd/pull/2066
  https://github.com/stratis-storage/stratisd/pull/2059
  https://github.com/stratis-storage/stratisd/pull/2056
  https://github.com/stratis-storage/stratisd/pull/2054
  https://github.com/stratis-storage/stratisd/pull/2053
  https://github.com/stratis-storage/stratisd/pull/2049
  https://github.com/stratis-storage/stratisd/pull/2044
  https://github.com/stratis-storage/stratisd/pull/2043
  https://github.com/stratis-storage/stratisd/pull/2042
  https://github.com/stratis-storage/stratisd/pull/2036
  https://github.com/stratis-storage/stratisd/pull/2029
  https://github.com/stratis-storage/stratisd/pull/2027
  https://github.com/stratis-storage/stratisd/pull/2022
  https://github.com/stratis-storage/stratisd/pull/2019
  https://github.com/stratis-storage/stratisd/pull/2016
  https://github.com/stratis-storage/stratisd/pull/2009
  https://github.com/stratis-storage/stratisd/pull/2008
  https://github.com/stratis-storage/stratisd/pull/2006
  https://github.com/stratis-storage/stratisd/pull/2001
  https://github.com/stratis-storage/stratisd/pull/1994
  https://github.com/stratis-storage/stratisd/pull/1993
  https://github.com/stratis-storage/stratisd/pull/1990
  https://github.com/stratis-storage/stratisd/pull/1974
  https://github.com/stratis-storage/stratisd/pull/1971
  https://github.com/stratis-storage/stratisd/pull/1966
  https://github.com/stratis-storage/stratisd/pull/1959
  https://github.com/stratis-storage/stratisd/pull/1950
  https://github.com/stratis-storage/stratisd/pull/1949
  https://github.com/stratis-storage/stratisd/pull/1947
  https://github.com/stratis-storage/stratisd/pull/1946
  https://github.com/stratis-storage/stratisd/pull/1943
  https://github.com/stratis-storage/stratisd/pull/1942
  https://github.com/stratis-storage/stratisd/pull/1937
  https://github.com/stratis-storage/stratisd/pull/1936
  https://github.com/stratis-storage/stratisd/pull/1933
  https://github.com/stratis-storage/stratisd/pull/1931
  https://github.com/stratis-storage/stratisd/pull/1930
  https://github.com/stratis-storage/stratisd/pull/1924
  https://github.com/stratis-storage/stratisd/pull/1922
  https://github.com/stratis-storage/stratisd/pull/1910
  https://github.com/stratis-storage/stratisd/pull/1841

- Require libcryptsetup bindings:
  https://github.com/stratis-storage/stratisd/pull/1846
  https://github.com/stratis-storage/stratisd/pull/1843
  https://github.com/stratis-storage/stratisd/pull/1815

- Initialize r1 of the FetchProperties D-Bus interface;
  expose a HasCache property:
  https://github.com/stratis-storage/stratisd/pull/1976
  https://github.com/stratis-storage/stratisd/pull/1925
  https://github.com/stratis-storage/stratisd/pull/1808

- Initialize r1 of the pool D-Bus interface;
  expose an Encrypted property:
  https://github.com/stratis-storage/stratisd/pull/1851
  https://github.com/stratis-storage/stratisd/pull/1825
  https://github.com/stratis-storage/stratisd/pull/1821

- Add a new unstable Report interface for JSON formatted reports:
  https://github.com/stratis-storage/stratisd/issues/1122
  https://github.com/stratis-storage/stratisd/pull/2041
  https://github.com/stratis-storage/stratisd/pull/2033
  https://github.com/stratis-storage/stratisd/pull/2028
  https://github.com/stratis-storage/stratisd/pull/1980

- Require at least one blockdev for initialization actions:
  https://github.com/stratis-storage/stratisd/pull/1828

- Do not dump debug representation of engine state to logs:
  https://github.com/stratis-storage/stratisd/pull/1907

- Enforce non-Rust version requirements with a build script:
  https://github.com/stratis-storage/stratisd/issues/1913
  https://github.com/stratis-storage/stratisd/pull/1919

- Further rewrite device identification and initialization:
  https://github.com/stratis-storage/stratisd/issues/1652
  https://github.com/stratis-storage/stratisd/issues/1656
  https://github.com/stratis-storage/stratisd/pull/2013
  https://github.com/stratis-storage/stratisd/pull/2010
  https://github.com/stratis-storage/stratisd/pull/1986
  https://github.com/stratis-storage/stratisd/pull/1978
  https://github.com/stratis-storage/stratisd/pull/1960
  https://github.com/stratis-storage/stratisd/pull/1957
  https://github.com/stratis-storage/stratisd/pull/1929
  https://github.com/stratis-storage/stratisd/pull/1886
  https://github.com/stratis-storage/stratisd/pull/1876
  https://github.com/stratis-storage/stratisd/pull/1868
  https://github.com/stratis-storage/stratisd/pull/1865
  https://github.com/stratis-storage/stratisd/pull/1860
  https://github.com/stratis-storage/stratisd/pull/1850
  https://github.com/stratis-storage/stratisd/pull/1842
  https://github.com/stratis-storage/stratisd/pull/1833
  https://github.com/stratis-storage/stratisd/pull/1809

- Rewrite Python-based tests of device discovery;
  display stratisd logs in test output:
  https://github.com/stratis-storage/stratisd/issues/2057
  https://github.com/stratis-storage/stratisd/pull/2063
  https://github.com/stratis-storage/stratisd/pull/2061
  https://github.com/stratis-storage/stratisd/pull/2058
  https://github.com/stratis-storage/stratisd/pull/2045
  https://github.com/stratis-storage/stratisd/pull/2030
  https://github.com/stratis-storage/stratisd/pull/2004
  https://github.com/stratis-storage/stratisd/pull/2003
  https://github.com/stratis-storage/stratisd/pull/1991
  https://github.com/stratis-storage/stratisd/pull/1953
  https://github.com/stratis-storage/stratisd/pull/1952
  https://github.com/stratis-storage/stratisd/pull/1909
  https://github.com/stratis-storage/stratisd/pull/1899
  https://github.com/stratis-storage/stratisd/pull/1893
  https://github.com/stratis-storage/stratisd/pull/1891
  https://github.com/stratis-storage/stratisd/pull/1889
  https://github.com/stratis-storage/stratisd/pull/1887

- Enforce pylint defaults on all Python source:
  https://github.com/stratis-storage/stratisd/issues/1892
  https://github.com/stratis-storage/stratisd/pull/1928
  https://github.com/stratis-storage/stratisd/pull/1917

- Tidies and Maintenance:
  https://github.com/stratis-storage/stratisd/pull/2074
  https://github.com/stratis-storage/stratisd/pull/2072
  https://github.com/stratis-storage/stratisd/pull/2070
  https://github.com/stratis-storage/stratisd/pull/2068
  https://github.com/stratis-storage/stratisd/pull/2067
  https://github.com/stratis-storage/stratisd/pull/2065
  https://github.com/stratis-storage/stratisd/pull/2047
  https://github.com/stratis-storage/stratisd/pull/2040
  https://github.com/stratis-storage/stratisd/pull/2039
  https://github.com/stratis-storage/stratisd/pull/2025
  https://github.com/stratis-storage/stratisd/pull/2023
  https://github.com/stratis-storage/stratisd/pull/2018
  https://github.com/stratis-storage/stratisd/pull/2014
  https://github.com/stratis-storage/stratisd/pull/1999
  https://github.com/stratis-storage/stratisd/pull/1996
  https://github.com/stratis-storage/stratisd/pull/1985
  https://github.com/stratis-storage/stratisd/pull/1984
  https://github.com/stratis-storage/stratisd/pull/1982
  https://github.com/stratis-storage/stratisd/pull/1972
  https://github.com/stratis-storage/stratisd/pull/1965
  https://github.com/stratis-storage/stratisd/pull/1963
  https://github.com/stratis-storage/stratisd/pull/1956
  https://github.com/stratis-storage/stratisd/pull/1945
  https://github.com/stratis-storage/stratisd/pull/1938
  https://github.com/stratis-storage/stratisd/pull/1923
  https://github.com/stratis-storage/stratisd/pull/1903
  https://github.com/stratis-storage/stratisd/pull/1897
  https://github.com/stratis-storage/stratisd/pull/1894
  https://github.com/stratis-storage/stratisd/pull/1890
  https://github.com/stratis-storage/stratisd/pull/1885
  https://github.com/stratis-storage/stratisd/pull/1882
  https://github.com/stratis-storage/stratisd/pull/1881
  https://github.com/stratis-storage/stratisd/pull/1879
  https://github.com/stratis-storage/stratisd/pull/1873
  https://github.com/stratis-storage/stratisd/pull/1872
  https://github.com/stratis-storage/stratisd/pull/1871
  https://github.com/stratis-storage/stratisd/pull/1866
  https://github.com/stratis-storage/stratisd/pull/1864
  https://github.com/stratis-storage/stratisd/pull/1859
  https://github.com/stratis-storage/stratisd/pull/1858
  https://github.com/stratis-storage/stratisd/pull/1856
  https://github.com/stratis-storage/stratisd/pull/1854
  https://github.com/stratis-storage/stratisd/pull/1848
  https://github.com/stratis-storage/stratisd/pull/1838
  https://github.com/stratis-storage/stratisd/pull/1837
  https://github.com/stratis-storage/stratisd/pull/1836
  https://github.com/stratis-storage/stratisd/pull/1831
  https://github.com/stratis-storage/stratisd/pull/1829
  https://github.com/stratis-storage/stratisd/pull/1826
  https://github.com/stratis-storage/stratisd/pull/1820
  https://github.com/stratis-storage/stratisd/pull/1819
  https://github.com/stratis-storage/stratisd/pull/1816
  https://github.com/stratis-storage/stratisd/pull/1811


stratisd 2.0.1
==============
Recommended Rust toolchain version: 1.40
Lowest supported Rust toolchain version: 1.39
Python import sorter: isort (4.3.4)
Python auto-formatter: black (19.3b0)

- Avoid returning from function while pool is suspended:
  https://github.com/stratis-storage/stratisd/issues/1730
  https://github.com/stratis-storage/stratisd/pull/1734

- Refine description of stratisd.service in systemd configuration:
  https://github.com/stratis-storage/stratisd/issues/1647
  https://github.com/stratis-storage/stratisd/pull/1738

- Fix a few places where the index of an incorrect D-Bus argument would be
  misidentified in a D-Bus error message:
  https://github.com/stratis-storage/stratisd/pull/1756

- Add changelog matter from two previous releases to CHANGES.txt:
  https://github.com/stratis-storage/stratisd/pull/1793

- Add some additional logging for significant events:
  https://github.com/stratis-storage/stratisd/pull/1797

- Restructure dbus_api module to better support multiple versioned
  interfaces:
  https://github.com/stratis-storage/stratisd/pull/1804
  https://github.com/stratis-storage/stratisd/pull/1776
  https://github.com/stratis-storage/stratisd/pull/1770

- Refactor device discovery mechanism:
  https://github.com/stratis-storage/stratisd/pull/1779
  https://github.com/stratis-storage/stratisd/pull/1767
  https://github.com/stratis-storage/stratisd/pull/1765
  https://github.com/stratis-storage/stratisd/pull/1759
  https://github.com/stratis-storage/stratisd/pull/1750
  https://github.com/stratis-storage/stratisd/pull/1739
  https://github.com/stratis-storage/stratisd/pull/1736
  https://github.com/stratis-storage/stratisd/pull/1725
  https://github.com/stratis-storage/stratisd/pull/1723

- Refactor idempotency implementation so that it is handled as close to
  entry points to the engine as possible:
  https://github.com/stratis-storage/stratisd/pull/1743

- Refactor metadata handling for better encapsulation:
  https://github.com/stratis-storage/stratisd/pull/1792

- Fully qualify all non-prelude data types in macros:
  https://github.com/stratis-storage/stratisd/issues/1748
  https://github.com/stratis-storage/stratisd/pull/1758

- Tidies and Maintenance:
  https://github.com/stratis-storage/stratisd/pull/1803
  https://github.com/stratis-storage/stratisd/pull/1796
  https://github.com/stratis-storage/stratisd/pull/1791
  https://github.com/stratis-storage/stratisd/pull/1786
  https://github.com/stratis-storage/stratisd/pull/1785
  https://github.com/stratis-storage/stratisd/pull/1777
  https://github.com/stratis-storage/stratisd/pull/1774
  https://github.com/stratis-storage/stratisd/pull/1772
  https://github.com/stratis-storage/stratisd/pull/1763
  https://github.com/stratis-storage/stratisd/pull/1762
  https://github.com/stratis-storage/stratisd/pull/1758
  https://github.com/stratis-storage/stratisd/pull/1745
  https://github.com/stratis-storage/stratisd/pull/1728
  https://github.com/stratis-storage/stratisd/pull/1726
  https://github.com/stratis-storage/stratisd/pull/1724
  https://github.com/stratis-storage/stratisd/pull/1721
  https://github.com/stratis-storage/stratisd/pull/1715
  https://github.com/stratis-storage/stratisd/pull/1714
  https://github.com/stratis-storage/stratisd/pull/1713
  https://github.com/stratis-storage/stratisd/pull/1712
  https://github.com/stratis-storage/stratisd/pull/1709
  https://github.com/stratis-storage/stratisd/pull/1707
  https://github.com/stratis-storage/stratisd/pull/1704
  https://github.com/stratis-storage/stratisd/pull/1701


stratisd 2.0.0
==============
Recommended Rust toolchain version: 1.38
Lowest supported Rust toolchain version: 1.37
Python auto-formatter: black (18.9b0)

New minimum Rust crate requirements:
  - itertools: 0.8.0
  - proptest: 0.9.0

- Update version of D-Bus service name and interface names:
  https://github.com/stratis-storage/project/issues/103
  https://github.com/stratis-storage/stratisd/pull/1682

- Restrict D-Bus properties to a core set of fundamental properties;
  fetch other properties using a D-Bus method:
  https://github.com/stratis-storage/project/issues/52
  https://github.com/stratis-storage/stratisd/pull/1679
  https://github.com/stratis-storage/stratisd/issues/1688
  https://github.com/stratis-storage/stratisd/pull/1692
  https://github.com/stratis-storage/stratisd/pull/1697

- Make D-Bus API and engine operations idempotent:
  https://github.com/stratis-storage/project/issues/51
  https://github.com/stratis-storage/stratisd/pull/1651
  https://github.com/stratis-storage/stratisd/issues/1686
  https://github.com/stratis-storage/stratisd/pull/1695

- Return all size values in bytes:
  https://github.com/stratis-storage/stratisd/issues/1243
  https://github.com/stratis-storage/stratisd/pull/1680

- Use tuple for D-Bus types that are optional:
  https://github.com/stratis-storage/project/issues/37
  https://github.com/stratis-storage/stratisd/pull/1696

- Tidies and Maintenance:
  https://github.com/stratis-storage/stratisd/pull/1685
  https://github.com/stratis-storage/stratisd/pull/1673
  https://github.com/stratis-storage/stratisd/pull/1671
  https://github.com/stratis-storage/stratisd/pull/1669
  https://github.com/stratis-storage/stratisd/pull/1668
  https://github.com/stratis-storage/stratisd/pull/1666
  https://github.com/stratis-storage/stratisd/pull/1665
  https://github.com/stratis-storage/stratisd/pull/1664
  https://github.com/stratis-storage/stratisd/pull/1663
  https://github.com/stratis-storage/stratisd/pull/1661
  https://github.com/stratis-storage/stratisd/pull/1658
  https://github.com/stratis-storage/stratisd/pull/1657
  https://github.com/stratis-storage/stratisd/pull/1655
  https://github.com/stratis-storage/stratisd/pull/1629
  https://github.com/stratis-storage/stratisd/pull/1626
  https://github.com/stratis-storage/stratisd/pull/1514


stratisd 1.0.6
==============
Recommended Rust toolchain version: 1.37
Lowest supported Rust toolchain version: 1.36
Python auto-formatter: black (18.9b0)

New minimum Rust crate requirements:
  - error_chain: 0.12.1
  - lazy_static: 1.4.0

- Fix a bug in writing metadata after setup when current time is set back:
  https://github.com/stratis-storage/stratisd/issues/1509
  https://github.com/stratis-storage/stratisd/pull/1595

- Specify PID file with /run/stratisd.pid instead of /var/run/stratisd.pid:
  https://github.com/stratis-storage/stratisd/issues/1630
  https://github.com/stratis-storage/stratisd/pull/1632

- Change a message level from info to debug and improve the message text:
  https://github.com/stratis-storage/stratisd/issues/1485
  https://github.com/stratis-storage/stratisd/pull/1558

- Metadata refactoring to improve encapsulation and clarity and to use
  types to distinguish among the sizes of different metadata regions:
  https://github.com/stratis-storage/stratisd/issues/1573
  https://github.com/stratis-storage/stratisd/pull/1569
  https://github.com/stratis-storage/stratisd/pull/1571
  https://github.com/stratis-storage/stratisd/pull/1570
  https://github.com/stratis-storage/stratisd/pull/1574
  https://github.com/stratis-storage/stratisd/pull/1572
  https://github.com/stratis-storage/stratisd/pull/1576
  https://github.com/stratis-storage/stratisd/pull/1581
  https://github.com/stratis-storage/stratisd/pull/1585
  https://github.com/stratis-storage/stratisd/pull/1589
  https://github.com/stratis-storage/stratisd/pull/1599
  https://github.com/stratis-storage/stratisd/pull/1606
  https://github.com/stratis-storage/stratisd/pull/1608

- Use types to distinguish among sizes:
  https://github.com/stratis-storage/stratisd/pull/1591

- Tidies and Maintenance:
  https://github.com/stratis-storage/stratisd/pull/1643
  https://github.com/stratis-storage/stratisd/pull/1636
  https://github.com/stratis-storage/stratisd/pull/1639
  https://github.com/stratis-storage/stratisd/pull/1641
  https://github.com/stratis-storage/stratisd/pull/1633
  https://github.com/stratis-storage/stratisd/pull/1635
  https://github.com/stratis-storage/stratisd/pull/1621
  https://github.com/stratis-storage/stratisd/pull/1625
  https://github.com/stratis-storage/stratisd/pull/1624
  https://github.com/stratis-storage/stratisd/pull/1623
  https://github.com/stratis-storage/stratisd/pull/1622
  https://github.com/stratis-storage/stratisd/pull/1618
  https://github.com/stratis-storage/stratisd/pull/1617
  https://github.com/stratis-storage/stratisd/pull/1615
  https://github.com/stratis-storage/stratisd/pull/1613
  https://github.com/stratis-storage/stratisd/pull/1610
  https://github.com/stratis-storage/stratisd/pull/1609
  https://github.com/stratis-storage/stratisd/pull/1605
  https://github.com/stratis-storage/stratisd/pull/1604
  https://github.com/stratis-storage/stratisd/pull/1603
  https://github.com/stratis-storage/stratisd/pull/1600
  https://github.com/stratis-storage/stratisd/pull/1598
  https://github.com/stratis-storage/stratisd/pull/1593
  https://github.com/stratis-storage/stratisd/pull/1588
  https://github.com/stratis-storage/stratisd/pull/1587
  https://github.com/stratis-storage/stratisd/pull/1580
  https://github.com/stratis-storage/stratisd/pull/1577
  https://github.com/stratis-storage/stratisd/pull/1566
  https://github.com/stratis-storage/stratisd/pull/1565
  https://github.com/stratis-storage/stratisd/pull/1563


stratisd 1.0.5
==============
Recommended Rust toolchain version: 1.33
Lowest supported Rust toolchain version: 1.31
Python auto-formatter: yapf (0.21.0)

New minimum Rust crate requirements:
  - devicemapper: 0.28
  - libmount: 0.1.13
  - nix: 0.14

- Fix an error in the calculation of the maximum size of variable length
  metadata that a single block device can store:
  https://github.com/stratis-storage/stratisd/pull/1524

- Make a note of some code defects that would cause a bug if variable
  length metadata were very large, as might occur if a pool contained very
  many devices:
  https://github.com/stratis-storage/stratisd/pull/1521

- Clarify the error message that stratisd displays if an external application
  that it depends on is missing:
  https://github.com/stratis-storage/stratisd/pull/1547

- Use nested imports in all Rust source:
  https://github.com/stratis-storage/stratisd/pull/1517

- Metadata refactoring to improve encapsulation and clarity and to use
  types to distinguish among the sizes of different metadata regions:
  https://github.com/stratis-storage/stratisd/pull/1554
  https://github.com/stratis-storage/stratisd/pull/1549
  https://github.com/stratis-storage/stratisd/pull/1546
  https://github.com/stratis-storage/stratisd/pull/1545
  https://github.com/stratis-storage/stratisd/pull/1541
  https://github.com/stratis-storage/stratisd/pull/1534
  https://github.com/stratis-storage/stratisd/pull/1522
  https://github.com/stratis-storage/stratisd/pull/1516

- Tidies and Maintenance:
  https://github.com/stratis-storage/stratisd/pull/1560
  https://github.com/stratis-storage/stratisd/pull/1555
  https://github.com/stratis-storage/stratisd/pull/1553
  https://github.com/stratis-storage/stratisd/pull/1552
  https://github.com/stratis-storage/stratisd/pull/1550
  https://github.com/stratis-storage/stratisd/pull/1537
  https://github.com/stratis-storage/stratisd/pull/1536
  https://github.com/stratis-storage/stratisd/pull/1535
  https://github.com/stratis-storage/stratisd/pull/1532
  https://github.com/stratis-storage/stratisd/pull/1530
  https://github.com/stratis-storage/stratisd/pull/1528
  https://github.com/stratis-storage/stratisd/pull/1525
  https://github.com/stratis-storage/stratisd/pull/1515
  https://github.com/stratis-storage/stratisd/pull/1508
  https://github.com/stratis-storage/stratisd/pull/1507


stratisd 1.0.4
==============
Recommended Rust toolchain version: 1.33
Lowest supported Rust toolchain version: 1.31
Python auto-formatter: yapf (0.21.0)

New minimum Rust crate requirements:
  - devicemapper: 0.27.0
  - libc: 0.2.47
  - nix: 0.13

- Fix a bug where stratisd was not writing to Stratis filesystem metadata
  properly:
  https://github.com/stratis-storage/stratisd/pull/1480

- Require new version of devicemapper that contains fixes to devicemapper
  status parsing code, and handle the newly available values appropriately:
  https://github.com/stratis-storage/stratisd/pull/1461

- Set RUST_BACKTRACE to 1 in the systemd service file in order to ensure that
  a stack trace is generated if stratisd panics:
  https://github.com/stratis-storage/stratisd/pull/1479

- Use edition 2018:
  https://github.com/stratis-storage/stratisd/pull/1501

- Do not combine the errors that might result from reading one or the other
  of the Stratis static headers from a device:
  https://github.com/stratis-storage/stratisd/pull/1439

- Tidies and Maintenance:
  https://github.com/stratis-storage/stratisd/pull/1510
  https://github.com/stratis-storage/stratisd/pull/1505
  https://github.com/stratis-storage/stratisd/pull/1504
  https://github.com/stratis-storage/stratisd/pull/1503
  https://github.com/stratis-storage/stratisd/pull/1500
  https://github.com/stratis-storage/stratisd/pull/1498
  https://github.com/stratis-storage/stratisd/pull/1497
  https://github.com/stratis-storage/stratisd/pull/1493
  https://github.com/stratis-storage/stratisd/pull/1492
  https://github.com/stratis-storage/stratisd/pull/1488
  https://github.com/stratis-storage/stratisd/pull/1484
  https://github.com/stratis-storage/stratisd/pull/1477
  https://github.com/stratis-storage/stratisd/pull/1469
  https://github.com/stratis-storage/stratisd/pull/1459
  https://github.com/stratis-storage/stratisd/pull/1452
  https://github.com/stratis-storage/stratisd/pull/1451
  https://github.com/stratis-storage/stratisd/pull/1450
  https://github.com/stratis-storage/stratisd/pull/1442
  https://github.com/stratis-storage/stratisd/pull/1441
  https://github.com/stratis-storage/stratisd/pull/1436
  https://github.com/stratis-storage/stratisd/pull/1435
  https://github.com/stratis-storage/stratisd/pull/1434
  https://github.com/stratis-storage/stratisd/pull/1432
  https://github.com/stratis-storage/stratisd/pull/1431
  https://github.com/stratis-storage/stratisd/pull/1427
  https://github.com/stratis-storage/stratisd/pull/1425
  https://github.com/stratis-storage/stratisd/pull/1423
  https://github.com/stratis-storage/stratisd/pull/1420
  https://github.com/stratis-storage/stratisd/pull/1418
  https://github.com/stratis-storage/stratisd/pull/1416
  https://github.com/stratis-storage/stratisd/pull/1415
  https://github.com/stratis-storage/stratisd/pull/1414
  https://github.com/stratis-storage/stratisd/pull/1413
  https://github.com/stratis-storage/stratisd/pull/1412
  https://github.com/stratis-storage/stratisd/pull/1411
  https://github.com/stratis-storage/stratisd/pull/1409
  https://github.com/stratis-storage/stratisd/pull/1407
  https://github.com/stratis-storage/stratisd/pull/1406
  https://github.com/stratis-storage/stratisd/pull/1405
  https://github.com/stratis-storage/stratisd/pull/1404
  https://github.com/stratis-storage/stratisd/pull/1403
  https://github.com/stratis-storage/stratisd/pull/1391
  https://github.com/stratis-storage/stratisd/pull/1345
