Releases: ceph/go-ceph
Release v0.30.0
The maintainers and contributors to go-ceph are pleased to announce the v0.30.0 release. This is another great step towards making it possible to use the power of the Ceph APIs in the Go language.
As this is a v0.x release we do not guarantee backwards compatibility with previous versions of the code. However, we aim not to disrupt existing consumers of the library and thus make an effort not to immediately implement breaking changes without very good justification. Please see the "Deprecations & Removals" section (if present) to get a sense of what you can expect to change in the future and prepare your code ahead of time. You may also want to view "Deprecations & Removals" of previous releases as they are not repeated here. All newly introduced APIs in the following section are labeled as "preview" APIs first, and are only available if the ceph_preview build tag is set. There is explicitly no backwards compatibility guaranteed for these until they are labeled as "stable" in a later release.
Special thanks to our new contributors:
New Features
rbd
Other
- Introduce common cephError type to compare errors between packages by @nixpanic in #1032
This change should not impact use of the API but will allow errors to be handled more easily and more consistently across the rados, rbd, and cephfs packages
API Stability Updates
n/a
Other Changes
rbd:
Internal
- github: Update mergify config to replace deprecated attributes by @anoopcs9 in #1022
- go-ceph: bump golang.org/x/sys from 0.22.0 to 0.24.0 by @dependabot in #1023
- go-ceph: Versions upgrade by @pkthapa in #1024
- Do not use standard names as function arguments by @anoopcs9 in #1028
- internal/dlsym: Define _GNU_SOURCE for RTLD_DEFAULT by @anoopcs9 in #1026
- docs: fix version number for new GroupSnapGetInfo api by @phlogistonjohn in #1033
- docs: update README for release v0.30.0 by @phlogistonjohn in #1034
Full Changelog: v0.29.0...v0.30.0
v0.29.0
The maintainers and contributors to go-ceph are pleased to announce the v0.29.0 release. This is another great step towards making it possible to use the power of the Ceph APIs in the Go language.
As this is a v0.x release we do not guarantee backwards compatibility with previous versions of the code. However, we aim not to disrupt existing consumers of the library and thus make an effort not to immediately implement breaking changes without very good justification. Please see the "Deprecations & Removals" section (if present) to get a sense of what you can expect to change in the future and prepare your code ahead of time. You may also want to view "Deprecations & Removals" of previous releases as they are not repeated here. All newly introduced APIs in the following section are labeled as "preview" APIs first, and are only available if the ceph_preview
build tag is set. There is explicitly no backwards compatibility guaranteed for these until they are labeled as "stable" in a later release.
Special thanks to our new contributors:
- @sj14 made their first contribution in #998
- @vslpsl made their first contribution in #989
- @peterwillis made their first contribution in #937
New Features
rados
rados/striper
- Add new rados/striper package by @phlogistonjohn in #1015
AddsNew
NewWithLayout
Striper.Read
Striper.Stat
Striper.Destroy
Striper.SetObjectLayoutStripeUnit
Striper.SetObjectLayoutStripeCount
Striper.SetObjectLayoutObjectSize
Striper.Write
Striper.WriteFull
Striper.Append
Striper.Remove
Striper.Truncate
Striper.GetXattr
Striper.SetXattr
Striper.RmXattr
Striper.ListXattrs
API Stability Updates
The following APIs are now stable:
cephfs/admin:
FSAdmin.FSQuiesce
rbd
Image.GetSnapGroupNamespace
Other Changes
rgw/admin
- rgw/admin: Add ErrNoSuchSubUser by @sj14 in #998
- rgw/admin: add creation time to bucket by @peterwillis in #937
rbd
Internal
- goodbye nautilus by @phlogistonjohn in #1006
- go-ceph: bump github.com/aws/aws-sdk-go from 1.53.14 to 1.54.12 by @dependabot in #1003
- Makefile: Use
?=
for initial variable definitions(part 2) by @anoopcs9 in #1004 - go-ceph: bump golang.org/x/sys from 0.20.0 to 0.21.0 by @dependabot in #1002
- Detect
rbd_clone4
support by usingdlsym()
by @nixpanic in #1013 - workflows: enable squid job by @phlogistonjohn in #1012
- go-ceph: bump golang.org/x/sys from 0.21.0 to 0.22.0 by @dependabot in #1016
- go-ceph: bump github.com/aws/aws-sdk-go from 1.54.12 to 1.55.5 by @dependabot in #1017
Full Changelog: v0.28.0...v0.29.0
v0.28.0
The maintainers and contributors to go-ceph are pleased to announce the v0.28.0 release. This is another great step towards making it possible to use the power of the Ceph APIs in the Go language.
As this is a v0.x release we do not guarantee backwards compatibility with previous versions of the code. However, we aim not to disrupt existing consumers of the library and thus make an effort not to immediately implement breaking changes without very good justification. Please see the "Deprecations & Removals" section (if present) to get a sense of what you can expect to change in the future and prepare your code ahead of time. You may also want to view "Deprecations & Removals" of previous releases as they are not repeated here. All newly introduced APIs in the following section are labeled as "preview" APIs first, and are only available if the ceph_preview
build tag is set. There is explicitly no backwards compatibility guaranteed for these until they are labeled as "stable" in a later release.
API Stability Updates
The following APIs are now stable:
rgw/admin
- API.GetBucketQuota
- API.SetBucketQuota
Other Changes
cephfs/admin
rgw/admin
Internal
- go-ceph: bump github.com/aws/aws-sdk-go from 1.51.12 to 1.52.0 by @dependabot in #985
- go-ceph: bump golang.org/x/sys from 0.18.0 to 0.19.0 by @dependabot in #986
- go-ceph: bump golang.org/x/sys from 0.19.0 to 0.20.0 by @dependabot in #992
- go-ceph: bump github.com/aws/aws-sdk-go from 1.52.0 to 1.53.14 by @dependabot in #991
- Dockerfile: Avoid conflict with curl-minimal package by @anoopcs9 in #993
- containers: work around centos 8 stream getting archived by @phlogistonjohn in #995
- Prepare for release v0.28.0 by @anoopcs9 in #996
Full Changelog: v0.27.0...v0.28.0
v0.27.0
The maintainers and contributors to go-ceph are pleased to announce the v0.27.0 release. This is another great step towards making it possible to use the power of the Ceph APIs in the Go language.
As this is a v0.x release we do not guarantee backwards compatibility with previous versions of the code. However, we aim not to disrupt existing consumers of the library and thus make an effort not to immediately implement breaking changes without very good justification. Please see the "Deprecations & Removals" section (if present) to get a sense of what you can expect to change in the future and prepare your code ahead of time. You may also want to view "Deprecations & Removals" of previous releases as they are not repeated here. All newly introduced APIs in the following section are labeled as "preview" APIs first, and are only available if the ceph_preview build tag is set. There is explicitly no backwards compatibility guaranteed for these until they are labeled as "stable" in a later release.
Special thanks to our new contributors:
- @jarrpa made their first contribution in #980
- @zxysilent made their first contribution in #977
New Features
cephfs/admin
- API for quiesceing io on a subvolume. by @manishym in #958
- Adds FSQuiesce similar to
ceph fs quiesce <volume>
- Adds FSQuiesce similar to
rbd
- rbd: add GetSnapGroupNamespace() to get details about group snapshots by @nixpanic in #968
- Adds GetSnapGroupNamespace implementing rbd_snap_get_group_namespace
API Stability Updates
The following APIs are now stable:
rbd
- Image.Resize2
rgw/admin
- API.GetInfo
Other Changes
rbd
- rbd: add a test to verify that encrypted volumes can be resized by @phlogistonjohn in #973
- rbd: prevent warning about redefining _POSIX_C_SOURCE by @nixpanic in #974
- rbd: remove features_nautilus.go by @jarrpa in #980
- rbd: trigger an error on invalid max snaps value by @zxysilent in #977
cephfs/admin
Internal
- go-ceph: bump github.com/stretchr/testify from 1.8.4 to 1.9.0 by @dependabot in #964
- go-ceph: bump golang.org/x/sys from 0.16.0 to 0.18.0 by @dependabot in #969
- go-ceph: bump github.com/aws/aws-sdk-go from 1.50.9 to 1.50.32 by @dependabot in #970
- Add ceph squid CI jobs by @anoopcs9 in #963
- build: Bump golang version to 1.21 by @anoopcs9 in #971
- go-ceph: bump github.com/aws/aws-sdk-go from 1.50.32 to 1.51.12 by @dependabot in #978
- Prepare for release v0.27.0 by @phlogistonjohn in #982
Full Changelog: v0.26.0...v0.27.0
v0.26.0
The maintainers and contributors to go-ceph are pleased to announce the v0.26.0 release. This is another great step towards making it possible to use the power of the Ceph APIs in the Go language.
As this is a v0.x release we do not guarantee backwards compatibility with previous versions of the code. However, we aim not to disrupt existing consumers of the library and thus make an effort not to immediately implement breaking changes without very good justification. Please see the "Deprecations & Removals" section (if present) to get a sense of what you can expect to change in the future and prepare your code ahead of time. You may also want to view "Deprecations & Removals" of previous releases as they are not repeated here. All newly introduced APIs in the following section are labeled as "preview" APIs first, and are only available if the ceph_preview
build tag is set. There is explicitly no backwards compatibility guaranteed for these until they are labeled as "stable" in a later release.
Special thanks to our new contributors:
Changes
rgw/admin
- rgw/admin: Add support for user bucket quota by @anoopcs9 in #954
- Adds
GetBucketQuota
(https://docs.ceph.com/en/latest/radosgw/adminops/#get-bucket-quota) - Adds
SetBucketQuota
(https://docs.ceph.com/en/latest/radosgw/adminops/#set-bucket-quota)
- Adds
Internal
- go-ceph: bump github.com/aws/aws-sdk-go from 1.48.11 to 1.49.13 by @dependabot in #950
- go-ceph: bump actions/setup-go from 4 to 5 by @dependabot in #951
- go-ceph: bump actions/upload-artifact from 3 to 4 by @dependabot in #952
- go-ceph: bump actions/stale from 8 to 9 by @dependabot in #953
- go-ceph: bump golang.org/x/sys from 0.15.0 to 0.16.0 by @dependabot in #956
- go-ceph: bump github.com/aws/aws-sdk-go from 1.49.13 to 1.50.9 by @dependabot in #957
- Code Lint: Fix lint errors caused by revive check for unused parameters by @manishym in #959
- rgw/admin: Fixup for 6f90ce1 by @ansiwen in #960
Full Changelog: v0.25.0...v0.26.0
Release v0.25.0
The maintainers and contributors to go-ceph are pleased to announce the v0.25.0 release. This is another great step towards making it possible to use the power of the Ceph APIs in the Go language.
As this is a v0.x release we do not guarantee backwards compatibility with previous versions of the code. However, we aim not to disrupt existing consumers of the library and thus make an effort not to immediately implement breaking changes without very good justification. Please see the "Deprecations & Removals" section (if present) to get a sense of what you can expect to change in the future and prepare your code ahead of time. You may also want to view "Deprecations & Removals" of previous releases as they are not repeated here. All newly introduced APIs in the following section are labeled as "preview" APIs first, and are only available if the ceph_preview
build tag is set. There is explicitly no backwards compatibility guaranteed for these until they are labeled as "stable" in a later release.
Special thanks to our new contributors:
- @khayyamsaleem made their first contribution in #934
Changes
cephfs
- cephfs: made ENOENT a public error by @riya-singhal31 in #940
rbd
- rbd: adds support for librbd rbd_resize2 by @khayyamsaleem in #934
- Adds
Resize2
implementing rbd_resize2.
- Adds
- rbd: Fix a typo in comment for Image.Resize2 by @anoopcs9 in #947
rgw/admin
Internal
- internal: use runtime.Pinner in PtrGuard by @ansiwen in #935
- go-ceph: bump golang.org/x/sys from 0.12.0 to 0.13.0 by @dependabot in #939
- go-ceph: bump github.com/aws/aws-sdk-go from 1.45.19 to 1.47.1 by @dependabot in #938
- CI: enable and collect core dumps in tests by @ansiwen in #941
- CI: add a workflow option for tmate debugging by @ansiwen in #942
- go-ceph: bump golang.org/x/sys from 0.13.0 to 0.15.0 by @dependabot in #944
- go-ceph: bump github.com/aws/aws-sdk-go from 1.47.1 to 1.48.11 by @dependabot in #943
- Miscellaneous fixes by @anoopcs9 in #945
- docs: Update README.md for v0.25.0 by @anoopcs9 in #946
Full Changelog: v0.24.0...v0.25.0
Release v0.24.0
The maintainers and contributors to go-ceph are pleased to announce the v0.24.0 release. This is another great step towards making it possible to use the power of the Ceph APIs in the Go language.
As this is a v0.x release we do not guarantee backwards compatibility with previous versions of the code. However, we aim not to disrupt existing consumers of the library and thus make an effort not to immediately implement breaking changes without very good justification. Please see the "Deprecations & Removals" section (if present) to get a sense of what you can expect to change in the future and prepare your code ahead of time. You may also want to view "Deprecations & Removals" of previous releases as they are not repeated here. All newly introduced APIs in the following section are labeled as "preview" APIs first, and are only available if the ceph_preview build tag is set. There is explicitly no backwards compatibility guaranteed for these until they are labeled as "stable" in a later release.
Special thanks to our new contributors:
- @krafZLorG made their first contribution in #898
- @DanWritesCode made their first contribution in #924
Changes
RGW Admin
- RGW/admin: add tenant to bucket struct field by @krafZLorG in #898
rados
rbd
- rbd: Fix global image status listing by @DanWritesCode in #924
Internal
- containers: workaround for ganesha package error on reef by @phlogistonjohn in #913
- github: require reef job to pass in mergify config by @phlogistonjohn in #910
- workflows: enable stale bot for PRs by @phlogistonjohn in #914
- go-ceph: bump golang.org/x/sys from 0.10.0 to 0.11.0 by @dependabot in #915
- go-ceph: bump github.com/aws/aws-sdk-go from 1.44.314 to 1.45.2 by @dependabot in #916
- workflows: Move actions/checkout before actions/setup-go by @anoopcs9 in #918
- go-ceph: bump actions/checkout from 3 to 4 by @dependabot in #925
- go-ceph: bump golang.org/x/sys from 0.11.0 to 0.12.0 by @dependabot in #926
- go-ceph: bump github.com/aws/aws-sdk-go from 1.45.2 to 1.45.19 by @dependabot in #927
- API updates by @phlogistonjohn in #929
- docs: update readme supported versions by @phlogistonjohn in #930
Deprecations and Removals
- The
New
method in the cephfs/admin module, that was previously deprecated, has been removed according to schedule. UseNewFromConn
if you had been previously usingNew
.
Full Changelog: v0.23.0...v0.24.0
Release v0.23.0
The maintainers and contributors to go-ceph are pleased to announce the v0.23.0 release. This is another great step towards making it possible to use the power of the Ceph APIs in the Go language.
As this is a v0.x release we do not guarantee backwards compatibility with previous versions of the code. However, we aim not to disrupt existing consumers of the library and thus make an effort not to immediately implement breaking changes without very good justification. Please see the "Deprecations & Removals" section (if present) to get a sense of what you can expect to change in the future and prepare your code ahead of time. You may also want to view "Deprecations & Removals" of previous releases as they are not repeated here. All newly introduced APIs in the following section are labeled as "preview" APIs first, and are only available if the ceph_preview build tag is set. There is explicitly no backwards compatibility guaranteed for these until they are labeled as "stable" in a later release.
Notice: With the recently released latest Go version 1.21 we are seeing a CI test in the rados
package regularly failing with a segmentation fault. We believe it is an old issue in our tests that now shows up differently. But just in case you are experiencing new stability issues in the rados
package with the latest Go version, consider going back to Go 1.20 for now. We expect this issue to be investigated and solved in the next go-ceph release.
API Stability Updates
The following APIs are now stable:
rbd
- SiteMirrorImageStatus.UnmarshalDescriptionJSON
- SiteMirrorImageStatus.DescriptionReplayStatus
- AddMirrorPeerSite
- RemoveMirrorPeerSite
- GetAttributesMirrorPeerSite
- SetAttributesMirrorPeerSite
- ListMirrorPeerSite
- SetMirrorPeerSiteClientName
- SetMirrorPeerSiteName
- SetMirrorPeerSiteDirection
- Image.SparsifyWithProgress
cephfs
- MountInfo.MakeDirs
cephfs/admin
- FSAdmin.PinSubVolume
- FSAdmin.PinSubVolumeGroup
- FSAdmin.FetchVolumeInfo
Other Changes
rbd
- rbd: Remove redundant LastSeen property from MirrorPeerSite struct by @Nikhil-Ladha in #871
- rbd: include details for parent image in the trash by @nixpanic in #906
rgw/admin
Internal
- go-ceph: add Ceph Reef CI jobs by @phlogistonjohn in #907
- chore: remove refs to deprecated io/ioutil by @testwill in #896
- CI: add tests for different Go versions by @ansiwen in #911
- go-ceph: bump github.com/aws/aws-sdk-go from 1.44.275 to 1.44.294 by @dependabot in #895
- go-ceph: bump golang.org/x/sys from 0.8.0 to 0.9.0 by @dependabot in #894
- go-ceph: bump github.com/aws/aws-sdk-go from 1.44.294 to 1.44.314 by @dependabot in #909
- go-ceph: bump golang.org/x/sys from 0.9.0 to 0.10.0 by @dependabot in #908
New Contributors
Full Changelog: v0.22.0...v0.23.0
Release v0.22.0
The maintainers and contributors to go-ceph are pleased to announce the v0.22.0 release. This is another great step towards making it possible to use the power of the Ceph APIs in the Go language.
As this is a v0.x release we do not guarantee backwards compatibility with previous versions of the code. However, we aim not to disrupt existing consumers of the library and thus make an effort not to immediately implement breaking changes without very good justification. Please see the "Deprecations & Removals" section (if present) to get a sense of what you can expect to change in the future and prepare your code ahead of time. You may also want to view "Deprecations & Removals" of previous releases as they are not repeated here. All newly introduced APIs in the following section are labeled as "preview" APIs first, and are only available if the ceph_preview build tag is set. There is explicitly no backwards compatibility guaranteed for these until they are labeled as "stable" in a later release.
New Features
cephfs
- cephfs: Add mknod cephfs API by @Nikhil-Ladha in #866
- Adds Mknod implementing ceph_mknod
- cephfs: Add futime cephfs API by @Nikhil-Ladha in #869
- Adds Futime implementing ceph_futime
- cephfs: Add futimens cephfs API by @Nikhil-Ladha in #874
- Adds Futimens implementing ceph_futimens
- cephfs: Add futimes cephfs API by @Nikhil-Ladha in #875
- Adds Futimes implementing ceph_futimes
rbd
- rbd: Add locking rbd APIs by @Nikhil-Ladha in #852
- Adds LockAcquire implementing rbd_lock_acquire
- Adds LockBreak implementing rbd_lock_break
- Adds LockGetOwners implementing rbd_lock_get_owners
- Adds LockIsExclusiveOwner implementing rbd_is_exclusive_lock_owner
- Adds LockRelease implementing rbd_lock_release
Other Changes
rbd
- rbd: Remove redundant LastSeen property from MirrorPeerSite struct by @Nikhil-Ladha in #871
Internal
- micro-osd.sh: Use ipv4 address for
mon addr
configuration by @anoopcs9 in #876 - go-ceph: bump golang.org/x/sys from 0.6.0 to 0.7.0 by @dependabot in #878
- go-ceph: bump github.com/aws/aws-sdk-go from 1.44.234 to 1.44.254 by @dependabot in #877
- Remove useless test file package_test.go by @anoopcs9 in #880
- docs: add some docs on how to find apis by @phlogistonjohn in #873
- go-ceph: bump golang.org/x/sys from 0.7.0 to 0.8.0 by @dependabot in #883
- go-ceph: bump github.com/stretchr/testify from 1.8.2 to 1.8.4 by @dependabot in #884
- go-ceph: bump github.com/aws/aws-sdk-go from 1.44.254 to 1.44.275 by @dependabot in #887
- docs: Fix versions for newest API additions by @anoopcs9 in #890
- Make preview APIs stable for v0.22 by @anoopcs9 in #889
- Update README.md for v0.22.0 release by @anoopcs9 in #891
Full Changelog: v0.21.0...v0.22.0
Release v0.21.0
The maintainers and contributors to go-ceph are pleased to announce the v0.21.0 release. This is another great step towards making it possible to use the power of the Ceph APIs in the Go language.
Special thanks to our new contributors:
- @maitredede made their first contribution in #832
- @Nikhil-Ladha made their first contribution in #848
As this is a v0.x release we do not guarantee backwards compatibility with previous versions of the code. However, we aim not to disrupt existing consumers of the library and thus make an effort not to immediately implement breaking changes without very good justification. Please see the "Deprecations & Removals" section (if present) to get a sense of what you can expect to change in the future and prepare your code ahead of time. You may also want to view "Deprecations & Removals" of previous releases as they are not repeated here. All newly introduced APIs in the following section are labeled as "preview" APIs first, and are only available if the ceph_preview build tag is set. There is explicitly no backwards compatibility guaranteed for these until they are labeled as "stable" in a later release.
New Features
rbd
- rbd: add functions to parse json in mirroring status description field by @phlogistonjohn in #842
- Adds UnmarshalDescriptionJSON method to SiteMirrorImageStatus
- Adds DescriptionReplayStatus method to SiteMirrorImageStatus
- rbd: Add mirror peer site API components by @Nikhil-Ladha in #850
- Adds AddMirrorPeerSite implementing rbd_mirror_peer_site_add
- Adds RemoveMirrorPeerSite implementing rbd_mirror_peer_site_remove
- Adds GetAttributesMirrorPeerSite implementing rbd_mirror_peer_site_get_attributes
- Adds SetAttributesMirrorPeerSite implementing rbd_mirror_peer_site_set_attributes
- Adds ListMirrorPeerSite implementing rbd_mirror_peer_site_list
- Adds SetMirrorPeerSiteClientName implementing rbd_mirror_peer_site_set_client_name
- Adds SetMirrorPeerSiteDirection implementing rbd_mirror_peer_site_set_direction
- Adds SetMirrorPeerSiteName implementing rbd_mirror_peer_site_set_name
- rbd: Add rbd_sparsify_with_progress rbd API by @Nikhil-Ladha in #851
- Adds SparsifyWithProgress implementing rbd_sparsify_with_progress
cephfs
- cephfs: implementation of mkdirs by @maitredede in #832
- Adds MakeDirs implementing ceph_mkdirs
cephfs/admin
- cephfs/admin: Add Subvolume{Group} pinning API by @anoopcs9 in #844
- Adds PinSubVolume similar to ceph fs subvolume pin
- Adds PinSubVolumeGroup similar to ceph fs subvolumegroup pin
- cephfs/admin: Add API to fetch volume info by @anoopcs9 in #846
- Adds FetchVolumeInfo similar to ceph fs volume info
Deprecations & Removals
cephfs/admin
- cephfs admin: deprecate the New function by @phlogistonjohn in #849
Other Changes
rados
- rados: free object list results after listing by @nickjanus in #845
rgw/admin
- rgw/admin: Add missing uid member to usage struct by @Nikhil-Ladha in #848
Internal
- Go: bump tested Go version to 1.19.5 by @ansiwen in #831
- build: propagation of GOPROXY env var by @maitredede in #834
- go-ceph: bump github.com/aws/aws-sdk-go from 1.44.197 to 1.44.212 by @dependabot in #839
- go-ceph: bump github.com/stretchr/testify from 1.8.1 to 1.8.2 by @dependabot in #840
- Dockerfile: Add missing GOPROXY build argument by @anoopcs9 in #843
- go-ceph: bump golang.org/x/sys from 0.5.0 to 0.6.0 by @dependabot in #853
- go-ceph: bump actions/stale from 7 to 8 by @dependabot in #856
- go-ceph: bump github.com/aws/aws-sdk-go from 1.44.212 to 1.44.234 by @dependabot in #854
- go-ceph: bump actions/setup-go from 3 to 4 by @dependabot in #855
- docs: fix version numbers of recently added APIs by @phlogistonjohn in #860
- nfs admin: create directories used by nfs tests by @phlogistonjohn in #859
- rbd: document SparsifyWithProgress callback's arguments by @phlogistonjohn in #861
- docs: fix version for newest api additions by @phlogistonjohn in #863
- go-ceph: update README.md for v0.21.0 release by @phlogistonjohn in #865
Full Changelog: v0.20.0...v0.21.0