What's Changed
- reject out-of-range device numbers in layer https://github.com/moby/go-archive/pull/36
- createImpliedDirectories: fix directory detection and path handling https://github.com/moby/go-archive/pull/44
- createImpliedDirectories: honor NoLchown for implied directories https://github.com/moby/go-archive/pull/70
- createTarFile: use switch for timestamp updates https://github.com/moby/go-archive/pull/67
- drop redundant ExcludePatterns initialization https://github.com/moby/go-archive/pull/62
- ExportChanges: use POSIX / Unix conventions for Tar operations https://github.com/moby/go-archive/pull/41
- getInodeFromStat: return error on failure https://github.com/moby/go-archive/pull/50
- overlayWhiteoutConverter.ConvertRead: avoid redundant chown https://github.com/moby/go-archive/pull/55
- overlayWhiteoutConverter.ConvertWrite: explicitly use POSIX / Unix https://github.com/moby/go-archive/pull/38
- overlayWhiteoutConverter.ConvertWrite: simplify directory check https://github.com/moby/go-archive/pull/34
- overlayWhiteoutConverter: fixes and cleanups https://github.com/moby/go-archive/pull/52
- RebaseArchiveEntries: use POSIX / Unix paths https://github.com/moby/go-archive/pull/42
- tarAppender.addTarFile: normalize archivePath to POSIX https://github.com/moby/go-archive/pull/40
- tarAppender.addTarFile: return error before writing header https://github.com/moby/go-archive/pull/51
- TarOptions: document IncludeFiles, ExcludePatterns https://github.com/moby/go-archive/pull/61
- Unpack: prevent nil-pointer if nil-options are passed https://github.com/moby/go-archive/pull/66
- remove some intermediate vars https://github.com/moby/go-archive/pull/53
- rename some vars to prevent shadowing "path" import https://github.com/moby/go-archive/pull/35
- rename vars to prevent shadowing and for clarity https://github.com/moby/go-archive/pull/39
- fix typos in comments https://github.com/moby/go-archive/pull/59
- modernize code https://github.com/moby/go-archive/pull/30
Test and CI changes
- ci: don't fail fast https://github.com/moby/go-archive/pull/74
- ci: update golangci-lint to v2.12 for compatibility with go1.26 https://github.com/moby/go-archive/pull/46
- ci: pin actions by sha https://github.com/moby/go-archive/pull/22
- ci: use go.mod for "minimum" Go version, and use custom name https://github.com/moby/go-archive/pull/29
- golangci-lint: enable gosec linter https://github.com/moby/go-archive/pull/47
- fix some linting issues and use t.TempDir() in more places https://github.com/moby/go-archive/pull/31
- add test to verify symlinks targets are preserved (skipped) https://github.com/moby/go-archive/pull/48
- archive: add regression tests for tar path-traversal containment https://github.com/moby/go-archive/pull/68
- archive: Add test for implied directories through symlinks https://github.com/moby/go-archive/pull/76
- archive: fix breakout error type assertions in tests https://github.com/moby/go-archive/pull/69
- archive: Test extracted file modes with process umask https://github.com/moby/go-archive/pull/65
- chrootarchive: fix "non-root" skips on Windows https://github.com/moby/go-archive/pull/71
- Reduce shelling out in tests https://github.com/moby/go-archive/pull/64
- test: use current user for archive ownership in breakout tests https://github.com/moby/go-archive/pull/72
- make toUnixPath more generic, and long-path aware https://github.com/moby/go-archive/pull/58
- testBreakout: pre-create implied victim directory in breakout test https://github.com/moby/go-archive/pull/73
- TestImpliedDirectoryPermissions: test with umask https://github.com/moby/go-archive/pull/57
Dependency updates
- build: bump minimum Go version to 1.24 https://github.com/moby/go-archive/pull/27
- build: bump minimum Go version to 1.25 https://github.com/moby/go-archive/pull/28
- update github.com/moby/sys/sequential v0.7.0 https://github.com/moby/go-archive/pull/75
- update github.com/klauspost/compress v1.18.7 https://github.com/moby/go-archive/pull/78
- update moby/patternmatcher v0.6.1, klauspost/compress v1.18.3, sirupsen/logrus v1.9.4 https://github.com/moby/go-archive/pull/23
- update moby/sys dependencies https://github.com/moby/go-archive/pull/77
Full Changelog: https://github.com/moby/go-archive/compare/v0.2.0...v0.2.1