Releases: ceph/go-ceph
Release v0.31.0
The maintainers and contributors to go-ceph are pleased to announce the v0.31.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
rados
API Stability Updates
The following APIs are now stable:
rados
- ReadOpExecStep.Bytes
- ReadOp.Exec
- rados: WriteOp.Exec
rados/striper
- Striper.Read
- Striper.Stat
- New
- NewWithLayout
- 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
rbd
- CloneImageByID
Other Changes
cephfs
- cephfs: add clone progress report in clone status by @Nikhil-Ladha in #1036
- cephfs: Adjust with the fallocate API changes by @anoopcs9 in #1045
rbd
Internal
- containers: work around protobuf package issues by @phlogistonjohn in #1038
- github: Require squid job to pass in mergify config by @anoopcs9 in #1040
- go-ceph: bump golang.org/x/sys from 0.25.0 to 0.26.0 by @dependabot in #1042
- go-ceph: bump golang.org/x/sys from 0.26.0 to 0.27.0 by @dependabot in #1047
- go-ceph: bump github.com/stretchr/testify from 1.9.0 to 1.10.0 by @dependabot in #1048
- containers: Remove the need for
yum update
in Dockerfile by @anoopcs9 in #1043 - [ci] workaround recent changes in ceph's CI built container images by @phlogistonjohn in #1051
- Release preparation v0.31.0 by @ansiwen in #1050
Full Changelog: v0.30.0...v0.31.0
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