Skip to content

v0.12.1

Choose a tag to compare

@github-actions github-actions released this 25 Oct 21:19
· 14 commits to main since this release
ff92fd3

Contained keys and documentation by audience

Summary

This release keeps every key that Lode builds from a caller's name within one path segment, so a snapshot ID, a volume ID, or a compressor extension can no longer address another dataset's objects. The documentation is reorganized by audience and is published at pithecene.sh/docs/lode.

Highlights

  • Snapshot IDs stay within their dataset: Snapshot, Read, and GetManifest return ErrNotFound for a snapshot ID that is not one path segment.
  • Volume IDs are one path segment: volume.New returns ErrInvalidArgument for an ID that is empty, ., or .., that contains / or a backslash, or that begins with .lode-tmp-.
  • Compressor extensions are checked: WithCompressor returns ErrInvalidArgument for an extension that contains / or a backslash.
  • Documentation by audience: guides for readers, including a new guide to usage pitfalls, are in docs/guides/, and the guides, the public API reference, and the contracts are published at pithecene.sh.

Upgrade Notes

  • Open each volume under an ID that is one path segment. A volume persisted under an ID that contains / no longer opens.
  • Give each compressor an extension without / or a backslash.

Full Changelog: v0.12.0...v0.12.1