Project: Longhorn (Runtime / Cloud Native Storage)
File: CHANGELOG-1.4.0.md

v1.4.0 released! This release introduces many enhancements, improvements, and bug fixes as described below about stability, performance, data integrity, troubleshooting, and so on. Please try it and feedback. Thanks for all the contributions! In the previous versions, Longhorn relies on Pod Security Policy (PSP) to authorize Longhorn components for privileged operations. From Kubernetes 1.25, PSP has been removed and replaced with Pod Security Admission (PSA). Longhorn v1.4.0 supports opt-in PSP enablement, so it can support Kubernetes versions with or without PSP. ARM64 has been experimental from Longhorn v1.1.0. After receiving more user feedback and increasing testing coverage, ARM64 distribution has been stabilized with quality as per our regular regression testing, so it is qualified for general availability. RWX has been experimental from Longhorn v1.1.0, but it lacks availability support when the Longhorn Share Manager component behind becomes unavailable. Longhorn v1.4.0 supports NFS recovery backend based on Kubernetes built-in resource, ConfigMap, for recovering NFS client connection during the fail-over period. Also, the NFS client hard mode introduction will further avoid previous potential data loss. For the detail, please check the issue and enhancement proposal. Data integrity is a continuous effort for Longhorn. In this version, Snapshot Checksum has been introduced w/ some settings to allow users to enable or disable checksum calculation with different modes. When enabling the Volume Snapshot Checksum feature, Longhorn will periodically calculate and check the checksums of volume snapshots, find corrupted snapshots, then fix them. When enabling the Volume Snapshot Checksum feature, Longhorn will use the calculated snapshot checksum to avoid needless snapshot replication between nodes for improving replica rebuilding speed and resource consumption. Longhorn engine supports UNMAP SCSI command to reclaim space from the block volume. Longhorn engine supports optional parameters to pass size expansion requests when updating the volume frontend to support online volume expansion and resize the filesystem via CSI node driver. Local volume is based on a new Data Locality setting, Strict Local. It will allow users to create one replica volume staying in a consistent location, and the data transfer between the volume frontend and engine will be through a local socket instead of the TCP stack to improve performance and reduce resource consumption. Recurring jobs binding to a volume can be backed up to the remote backup target together with the volume backup metadata. They can be restored back as well for a better operation experience. Longhorn enriches Volume metrics by providing real-time IO stats including IOPS, latency, and throughput of R/W IO. Users can set up a monotoning solution like Prometheus to monitor volume performance. Users can back up the longhorn system to the remote backup

Afterward, it's able to restore back to an existing cluster in place or a new cluster for specific operational purposes. Longhorn introduces a new support bundle integration based on a general solution. This can help us collect more complete troubleshooting info and simulate the cluster environment. In the current Longhorn versions, the default timeout between the Longhorn engine and replica is fixed without any exposed user settings. This will potentially bring some challenges for users having a low-spec infra environment. By exporting the setting configurable, it will allow users adaptively tune the stability of volume operations. Please ensure your Kubernetes cluster is at least v1.21 before installing Longhorn v1.4.0. Longhorn supports 3 installation ways including Rancher App Marketplace, Kubectl, and Helm. Follow the installation instructions . Please ensure your Kubernetes cluster is at least v1.21 before upgrading to Longhorn v1.4.0 from v1.3.x. Only support upgrading from 1.3.x. Follow the upgrade instructions . Pod Security Policy is an opt-in setting. If installing Longhorn with PSP support, need to enable it first. The built-in CSI Snapshotter sidecar is upgraded to v5.0.1. The v1beta1 version of Volume Snapshot custom resource is deprecated but still supported. However, it will be removed after upgrading CSI Snapshotter to 6.1 or later versions in the future, so please start using v1 version instead before the deprecated version is removed. Please follow up on about any outstanding issues found after this

) - @yangchiu @derekbit @smallteeths @shuo-wu ) - @c3y1huang @khushboo-rancher ) - @shuo-wu @chriscchien ) - @yangchiu @mantissahz ) - @derekbit @chriscchien ) - @derekbit @roger-ryao ) - @c3y1huang @chriscchien ) - @yangchiu @derekbit ) - @derekbit @chriscchien ) - @PhanLe1010 @chriscchien ) - @yangchiu @derekbit ) - @derekbit @roger-ryao ) - @yangchiu @PhanLe1010 ) - @PhanLe1010 @chriscchien ) - @yangchiu @derekbit ) - @derekbit @roger-ryao ) - @yangchiu @derekbit ) - @weizhe0422 @chriscchien ) - @mantissahz @chriscchien ) - @c3y1huang @chriscchien ) - @weizhe0422 @chriscchien ) - @weizhe0422 @chriscchien ) - @weizhe0422 @roger-ryao ) - @weizhe0422 @roger-ryao ) - @mantissahz @chriscchien ) - @c3y1huang @roger-ryao ) - @PhanLe1010 @chriscchien ) - @yangchiu @derekbit ) - @derekbit ) - @yangchiu @derekbit ) - @derekbit ) - @yangchiu @shuo-wu ) - @yangchiu @c3y1huang ) - @c3y1huang @chriscchien ) - @yangchiu @PhanLe1010 ) - @derekbit @chriscchien ) - @c3y1huang ) - @derekbit ) - @c3y1huang ) - @derekbit @chriscchien ) - @derekbit ) - @yangchiu @PhanLe1010 ) - @weizhe0422 @roger-ryao ) - @weizhe0422 @roger-ryao ) - @yangchiu @derekbit ) - @yangchiu @derekbit ) - @joshimoo @chriscchien ) - @derekbit ) - @smallteeths ) - @derekbit @chriscchien ) - @derekbit @PhanLe1010 @chriscchien ) - @mantissahz @chriscchien ) - @yangchiu @smallteeths ) - @smallteeths @chriscchien ) - @derekbit @chriscchien ) - @derekbit @roger-ryao ) - @derekbit ) - @smallteeths @khushboo-rancher ) - @c3y1huang @khushboo-rancher ) - @c3y1huang @chriscchien ) - @smallteeths @khushboo-rancher @roger-ryao ) - @smallteeths @roger-ryao ) - @c3y1huang @khushboo-rancher @roger-ryao ) - @derekbit @chriscchien ) - @yangchiu @smallteeths ) - @derekbit @chriscchien ) - @yangchiu @smallteeths ) - @yangchiu @PhanLe1010 ) - @derekbit ) - @yangchiu ) - @yangchiu @PhanLe1010 ) - @derekbit @chriscchien ) - @derekbit @roger-ryao ) - @olljanat @mantissahz ) - @derekbit @chriscchien ) - @yangchiu @derekbit ) - @yangchiu @c3y1huang ) - @derekbit ) - @mantissahz ) - @mantissahz @chriscchien ) - @PhanLe1010 @roger-ryao ) - @mantissahz @roger-ryao ) - @mantissahz @chriscchien ) - @derekbit @chriscchien ) - @weizhe0422 @roger-ryao ) - @mantissahz @roger-ryao ) - @weizhe0422 @roger-ryao ) - @weizhe0422 @chriscchien ) - @c3y1huang @chriscchien ) - @c3y1huang @chriscchien ) - @yangchiu @derekbit ) - @shuo-wu @chriscchien ) - @derekbit @chriscchien ) - @yangchiu @PhanLe1010 ) - @derekbit @c3y1huang @chriscchien ) - @flkdnt @chriscchien ) - @yangchiu @shuo-wu ) - @yangchiu @derekbit ) - @shuo-wu @chriscchien ) - @yangchiu @mantissahz ) - @yangchiu @PhanLe1010 ) - @mantissahz ) - @smallteeths ) - @derekbit @chriscchien ) - @yangchiu @shuo-wu ) - @mantissahz @w13915984028 ) - @shuo-wu @chriscchien ) - @yangchiu @derekbit @PhanLe1010 ) - @PhanLe1010 @chriscchien ) - @PhanLe1010 @roger-ryao ) - @derekbit @chriscchien ) - @yangchiu @smallteeths ) - @weizhe0422 @roger-ryao ) - @mantissahz @roger-ryao ) - @yangchiu @smallteeths ) - @weizhe0422 ) - @yangchiu @c3y1huang ) - @derekbit ) - @mantissahz @roger-ryao ) - @yangchiu @mantissahz ) - @weizhe0422 @roger-ryao ) - @weizhe0422 @roger-ryao ) - @mantissahz ) - @yangchiu @mantissahz @roger-ryao ) - @derekbit @roger-ryao ) - @derekbit @chriscchien ) - @PhanLe1010 @roger-ryao ) - @derekbit @chriscchien ) - @yangchiu @PhanLe1010 @roger-ryao ) - @mantissahz @chriscchien ) - @c3y1huang @roger-ryao ) - @mantissahz @chriscchien ) - @FrankYang0529 @chriscchien ) - @weizhe0422 @roger-ryao ) - @shuo-wu @chriscchien ) - @smallteeths @shuo-wu @chriscchien ) - @derekbit ) - @weizhe0422 ) - @yangchiu @derekbit ) - @derekbit ) - @smallteeths @khushboo-rancher ) - @c3y1huang @khushboo-rancher ) - @mantissahz @roger-ryao ) - @c3y1huang @roger-ryao ) - @c3y1huang @khushboo-rancher ) - @yangchiu @c3y1huang ) - @c3y1huang @khushboo-rancher ) - @yangchiu @mantissahz ) - @smallteeths @chriscchien ) - @derekbit @chriscchien ) - @c3y1huang @chriscchien ) - @c3y1huang @chriscchien ) - @yangchiu