Repository navigation
v0.12.1
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, andGetManifestreturnErrNotFoundfor a snapshot ID that is not one path segment. - Volume IDs are one path segment:
volume.NewreturnsErrInvalidArgumentfor an ID that is empty,., or.., that contains/or a backslash, or that begins with.lode-tmp-. - Compressor extensions are checked:
WithCompressorreturnsErrInvalidArgumentfor 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