Releases: deveshctl/layerx
Releases · deveshctl/layerx
Release list
v1.6.1
Changelog
- fd660f1 Merge pull request #100 from deveshctl/fix/efficiency-add-then-delete-waste
- ac16d12 Merge pull request #101 from deveshctl/chore/release-v161
- 4286bb7 Merge pull request #94 from deveshctl/refactor/tui-tree-render-cache
- dbb551a Merge pull request #95 from deveshctl/refactor/tui-perf
- 2143e71 Merge pull request #96 from deveshctl/feat/tui-sort-search-perf
- 54dff80 Merge pull request #97 from deveshctl/feat/tui-style-cache
- e82cf32 Merge pull request #98 from deveshctl/fix/error-message-polish
- d4c2035 Merge pull request #99 from deveshctl/fix/tui-error-polish
- 2f609c3 chore(release): cut v1.6.1
- 46bdbd7 fix(efficiency): correct LayerCount for deleted-then-reinstalled paths
- 2483335 fix(efficiency): count add-then-delete bytes as waste
- a98be79 fix(tui): pass styles to bottom pane in split-tree render
- 6161113 fix(tui): render all status-bar failures in the error colour
- 8b8384b fix(tui): show friendly messages for viewer, save, and inspect errors
- 57b93fc fix: show friendly error messages on more failure paths
- d6b894e perf(image): precompute directory effective sizes once at tree build time
- efab585 perf(tui): cache file-tree flatten/filter/sort between redraws
- d6bbab0 perf(tui): key the tree cache on analysis identity
- 0b1db4e perf(tui): precompute session-scoped style set to eliminate per-frame allocations
- 0bbef4c perf(tui): render the header gradient once instead of every frame
- 64cad66 perf(tui): replace allocating match-scan loop in viewer search
- b9d133d perf(tui): skip the file-tree pipeline while the file viewer is open
- 8cfc2e9 perf(tui): split file-viewer content into lines once per open
- 33da3df style(image): align FileNode fields after EffectiveSize addition
- 08b8a3a style(tui): fix indentation of pad write in empty-tree branch
- 4345098 test(tui): cover viewLineCount and pin it to the reference
v1.6.0
Changelog
- c79a0d9 Merge pull request #86 from deveshctl/feat/theming
- 11d741b Merge pull request #87 from deveshctl/worktree-fix+theming-bugs
- ac47f93 Merge pull request #88 from deveshctl/worktree-fix+theming-cursor
- 6637ba3 Merge pull request #89 from deveshctl/feat/theming
- 713a1e4 Merge pull request #90 from deveshctl/fix/polish-init-feedback-chroma-styles
- 6dd207f Merge pull request #92 from deveshctl/feat/tui-visual-polish
- 05de908 Merge pull request #93 from deveshctl/chore/release-v160
- b471531 Update release.yml (#84)
- 69839a8 chore(release): cut v1.6.0
- 4ad7f62 docs(tui): add theming reference doc and update README and configuration guide
- 9456839 docs(tui): document theme precedence in CLI help, config hints, and starter templates
- a5121ac feat(tui): add --theme flag and theme: config key for theme selection
- 3643ed7 feat(tui): add Kanagawa, GruvboxDark, RosePine, Dracula, Oxocarbon, Cyberdream themes
- 3398d55 feat(tui): gradient image-ref header and file-tree section divider
- 9fa31c4 feat(tui): introduce Theme struct and TokyoNight theme
- 15b1278 feat(tui): set terminal background color from theme
- b650f08 feat(tui,config): transparent_background config key for terminal background passthrough
- e9e1522 fix(cmd): honour --config flag in layerx build
- 50127e6 fix(tui): add explicit tokyo-night case in themeFor
- f9723a2 fix(tui): address code review findings on tui-polish branch
- 6be9d20 fix(tui): align --theme flag with project CLI standards
- de6dbe9 fix(tui): clamp contentHeight after divider decrement; add renderGradient tests
- 88a3fb3 fix(tui): fix theme config loading and flag validation
- fdb14bf fix(tui): fix three theming bugs — build ignores theme, wrong chroma style, missing parse hint
- dbb4f4a fix(tui): fix two remaining bare error status messages missed in prior commit
- 200e480 fix(tui): make file viewer cursor theme-aware
- 930ba4d fix(tui): mid-truncate waste overlay paths and unify status-bar feedback colours
- 4304a98 fix(tui): strip ANSI in TestViewReadyContainsBrandAndImageRef
- a8197f0 fix(tui): update model tests to match renamed error status messages
- 0a82d22 fix(tui,cmd): native chroma styles for catppuccin/kanagawa/rose-pine and init confirmation
- f340842 fix(tui,config): P7/P8 polish, transparent background, init confirmation, chroma styles
- 9f8449d merge: resolve conflicts with main after PR #91 merged
v1.5.3
Changelog
- 40d0c3a Merge pull request #77 from deveshctl/fix/first-run-error-hints
- fda83bb Merge pull request #80 from deveshctl/fix/resource-exhaustion-caps
- 32dbb30 Merge pull request #82 from deveshctl/feat/tui-tree-navigation-and-split-docs
- cad136c Updated nightly.yml
- 153168f chore(release): cut v1.5.3 (#83)
- e91b268 chore: remove what-comments across all packages (#74)
- adbaa6d feat(tui): add page and half-page navigation to the file tree
- 27dfd15 fix(cli): resolve all five HIGH UX issues from CLI audit (#73)
- e1e3bc7 fix(image): cap metadata, layer, and daemon-spool reads against DoS
- cb200c1 fix: resolve eight confirmed bugs from production bug scan (#75)
- aa7185c fix: sharpen first-run error and confirmation messages
v1.5.2
Changelog
- 315ee34 Merge pull request #68 from deveshctl/feat/codeql-sast
- ee2dd41 Merge pull request #69 from deveshctl/fix/fuzz-flake-and-decompress-cap
- 53bb576 Merge pull request #70 from deveshctl/feat/ghcr-image-publishing
- d3e0b49 chore(cmd): minor CLI help-text hardening (#71)
- 1fff342 chore(release): cut v1.5.2 (#72)
- 24c96fb fix(docker): set TERM and COLORTERM for TUI colours in distroless image
- 7e72808 fix(image,ci): cap layer decompression and extend fuzz budget
v1.5.1
Changelog
- 85b5a75 Merge origin/main into feat/honor-active-engine-connection
- 53ff3d6 Merge pull request #65 from deveshctl/feat/honor-active-engine-connection
- 32ae457 Merge pull request #67 from deveshctl/chore/release-v1-5-1
- abeb2b0 chore(release): prepare v1.5.1
- bf85751 feat(engine): honor active Docker context and Podman connection
- bc43e61 fix(engine): tag daemon-unreachable errors with engine and host
- a2d29ad fixed cannot use -fuzz flag with multiple packages
- 7ec4f9a fixed test cases
- e5db77b test(engine): fix stale untagged-error assertions
v1.5.0
Changelog
- e7a30de Merge pull request #53 from deveshctl/feat/platform-flag
- d70df37 Merge pull request #54 from deveshctl/feat/testing-infra
- a500c99 Merge pull request #55 from deveshctl/feat/testing-infra
- e6b8a20 Merge remote-tracking branch 'origin/main' into feat/testing-infra
- 3d56be8 chore: add Scorecard, SLSA provenance, signed releases, Renovate (#58)
- ba423e6 chore: ignore internal-docs/ directory
- e1bc52b chore: release v1.5.0 (#61)
- 6700a08 ci(lint): broaden exclusions to suppress audited false positives
- e07d05f docs(readme): add Release, Go Reference, Go Report Card, Codecov badges (#60)
- d7179a4 feat(platform): add --platform flag for multi-platform images
- 7be0a54 feat(platform): polish error messages, surface platform in TUI/JSON
- 7ecee62 feat(tui): aggregated layer view (A keybind) (#57)
- 841db78 fix(archive): rewind file handle after platform check
- b1fe3f4 fix(build): suppress G602 on bound-checked --engine arg access
- 29d1d73 fix(ci): pin scorecard.yml actions to commit SHAs, not tag objects (#59)
- b7ff86c fix(platform): disclaim partial Available list on legacy image store
- fb01cc5 fix(platform): route 'no matching manifest' to platform classifier first
- f704a33 fix(release): migrate cosign signing to Sigstore bundle format (#62)
- 2f915ee fix(tui): copy sections into a fixed array to satisfy gosec G602
- 8262b10 fix(tui): remove duplicate Y keybinding in layers panel (#56)
- 226501d fix: resolve golangci-lint v2 findings on first run
- 2657f52 fix: satisfy gosec G602 bound analysis with explicit hints
- b4db97e refactor(platform): drop legacy-store fallback for available list
- 6ffc306 test(cmd): bump JSON golden schemaVersion to 1.0.1
- 1025a4b test(copyctx): replace dst.Len() poll with served-channel handshake
v1.4.1
Changelog
- 4df4aad Demo gif added (#48)
- d73f9e8 Merge pull request #50 from deveshctl/fix/viewer-search-hscroll
- 0bd1f63 Merge pull request #51 from deveshctl/feat/build-subcommand
- 502958c chore: release v1.4.1 (#52)
- b2af3bb feat(cmd): add 'layerx build' thin wrapper around docker/podman build
- f989341 fix(build): use the user-supplied tag as the TUI image ref
- 66d71e5 fix(tui): h/l move one column at a time, not four
- a28cde4 fix(tui): improve file viewer UX — text selection, nav hints, h/l bar
- c12d566 fix(tui): scroll long lines into view for off-screen search matches
- 6fce62d fix(tui): vi-style h/l cursor in file viewer
v1.4.0
Changelog
- accd992 Hotfix/no-args (#35)
- 272c620 I-03: cache directory self-prunes by age and size (#40)
- db1023a chore: release v1.4.0 (#45)
- 2bd295e cmd: add resolver-injection seam and unblock skipped tests (I-02) (#42)
- 769ca03 cmd: make stderrProgress stop() idempotent (B-08) (#39)
- 44326d5 feat(cmd): layerx cache subcommand (list + prune) (#44)
- ad94ae4 feat: --engine flag with Podman support (#43)
- 31872b2 fix(B-02): wire structured errors end-to-end on CLI (#38)
- 899c77c fix+docs: nodeEffectiveSize Removed-node fix and quick-fix sweep (#37)
- ffeb9b7 image: deflake TestCopyCtx_MidStreamCancel (#41)
v1.3.0
Changelog
- 658a2b5 Merge pull request #29 from deveshctl/feat/compare-cli
- e617483 Merge pull request #33 from deveshctl/feat/config-v2-path-rules
- ebf25a0 chore(cmd): use slices.Contains in isValidFlavour
- b113058 chore(config): remove unused rawPathRules struct
- 11bd847 chore(examples): quote all globs in starter configs uniformly
- 0d5e1ff chore(release): cut v1.3.0
- 71f2f1a docs(ci): document Rule contract and RuleResult field roles
- 1f0a871 docs(readme): document compare progress, no-op, and usage-hint UX
- ba6c6dd docs(readme): restore highest-wasted-bytes example in Configuration
- 74d72d3 feat(ci): add path-rules evaluator with three rule kinds
- 43be1a6 feat(cmd): add layerx compare subcommand
- 3c18218 feat(cmd): add layerx init with embedded starter configs
- 70acfeb feat(compare): polish CLI UX based on Gate C feedback
- 770e06b feat(config): accept version: 1 + path-rules section in both forms
- f3b5e55 feat(image): add CompareAnalysis domain primitive
- 1a0cb71 feat(json): add schemaVersion: 1.0.0 to --json export
- 9572bef fix(ci): BlockPathRule must skip whiteout markers by name, not DiffType
- f64ba99 fix(cmd): silence cobra usage block on rootCmd errors
- 6efffb1 fix(compare): address 15 bugs from review
- 32cc1a0 fix(config): drop list-form max-layer-count threshold:0 to mirror flat form
- 2c2a3af fix: address deep-scan findings + pre-merge review gate (#31)
- 155aed0 fix: bug-scan rounds 8/9/10 + pre-merge review gate (#30)
- 0571999 fix: review findings — pull errors, efficiency, config, Esc (#32)
- 31a755e refactor(ci): add RuleResult.Kind to replace hardcoded splitResults allowlist
- 55912cb refactor(ci): unify Rule.Evaluate to take EvalContext, return slice
- 8874ff0 refactor(ci): use RuleResult.Detail uniformly across path rules
- cc1af61 refactor(config): seed rawConfig from full Default() to prevent field drift
- 90fe639 test(compare): fix preexisting CI failures
- 6816839 test(json): pin SchemaVersion in schema round-trip lock