Changelog
v0.10.0 introduces significant changes to the architecture of the SOCI snapshotter as well as breaking changes across the SOCI snapshotter, SOCI CLI, and SOCI Library.
❗Breaking Changes ❗
- [SOCI Snapshotter] Introduced SOCI Index Manifest v2 and disabled SOCI Index Manifest v1. See the SOCI Index Manifest v2 documentation
- [SOCI Snapshotter] Removed Namespace config option under
[content-store]
. The SOCI snapshotter now uses the namespace it receives from containerd via context. (#1509) - [SOCI CLI] Switched the default content store to containerd in the SOCI CLI. (#1502)
- SOCI Indexes are now tied to their parent image’s lifecycle. When you delete the image, containerd will garbage collect the SOCI index.
- [SOCI library] Refactor the IndexBuilder library (#1501)
NewIndexBuilder
no longer takes anArtifactsDB
. Use soci.WithArtifactsDb insteadBuildOption
was renamed toBuilderOption
IndexBuilder.Build
takesBuildOption
that apply to a single build- Platform configuration is moved from a top level IndexBuilder option to a Build option. Use
soci.WithPlatform
inindexBuilder.Build
to control the platform
Other Changes
- Fixed a bug where expired credentials were not properly refreshed (#1481)
- Fixed a bug where listing files in directories sometimes returned incomplete or truncated contents (#1482)
- Add a metric when SOCI fails to pull a layer without lazy loading (#1494)
- Fixed a bug where the SOCI snapshotter ignored the containerd namespace from the client when using the containerd content store (#1509)
- Fixed a bug where file reads would fail or return incorrect data if
direct = false
underdirectory_cache
was set in the snapshotter config (#1531) - Fixed a bug where non-lazy layer fetch would fail if the layer size was set to 0 and the registry did not support http HEAD (an occasional issue with Kubernetes) (#1493)
- Allow overriding the SOCI root directory #1563
Full Changelog: v0.9.0...v0.10.0
These binaries were compiled using glibc 2.34.