Skip to content

Releases: ceph/go-ceph

Release v0.30.0

15 Oct 17:56
Compare
Choose a tag to compare

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

  • rbd: implement librbd.rbd_group_snap_get_info by @nixpanic in #1025
    Adds:
    • GroupSnapGetInfo

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

Full Changelog: v0.29.0...v0.30.0

v0.29.0

13 Aug 21:10
Compare
Choose a tag to compare

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:

New Features

rados

  • OSD class method execution by @vslpsl in #989
    Adds
    • ReadOpExecStep.Bytes
    • ReadOp.Exec
    • WriteOp.Exec

rados/striper

  • Add new rados/striper package by @phlogistonjohn in #1015
    Adds
    • New
    • 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

rbd

  • rbd: add support for CloneImageByID() by @nixpanic in #1000
  • Adds CloneImageByID

Internal

Full Changelog: v0.28.0...v0.29.0

v0.28.0

11 Jun 14:24
Compare
Choose a tag to compare

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

  • rgw/admin: remove unknown user test case from user_bucket_test.go by @thotz in #987

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

15 Apr 19:06
Compare
Choose a tag to compare

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:

New Features

cephfs/admin

  • API for quiesceing io on a subvolume. by @manishym in #958
    • Adds FSQuiesce similar to ceph fs quiesce <volume>

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

  • cephfs/admin: Adjust build tags for subvolume quiescing API tests by @anoopcs9 in #976

Internal

Full Changelog: v0.26.0...v0.27.0

v0.26.0

13 Feb 14:56
Compare
Choose a tag to compare

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

Internal

Full Changelog: v0.25.0...v0.26.0

Release v0.25.0

12 Dec 13:03
Compare
Choose a tag to compare

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:

Changes

cephfs

rbd

  • rbd: adds support for librbd rbd_resize2 by @khayyamsaleem in #934
    • Adds Resize2 implementing rbd_resize2.
  • rbd: Fix a typo in comment for Image.Resize2 by @anoopcs9 in #947

rgw/admin

  • rgw/admin: Add support for /info section by @anoopcs9 in #936
    • Adds the GetInfo method.

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

10 Oct 17:03
Compare
Choose a tag to compare

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

rados

rbd

  • rbd: Fix global image status listing by @DanWritesCode in #924

Internal

Deprecations and Removals

  • The New method in the cephfs/admin module, that was previously deprecated, has been removed according to schedule. Use NewFromConn if you had been previously using New.

Full Changelog: v0.23.0...v0.24.0

Release v0.23.0

15 Aug 13:57
Compare
Choose a tag to compare

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

  • rgw/admin: fix getbucketpolicy api by @thotz in #886

Internal

New Contributors

Full Changelog: v0.22.0...v0.23.0

Release v0.22.0

13 Jun 07:52
Compare
Choose a tag to compare

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

11 Apr 11:51
Compare
Choose a tag to compare

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:

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

Other Changes

rados

rgw/admin

Internal

Full Changelog: v0.20.0...v0.21.0