Skip to content

Changelog

All notable changes to this project will be documented in this file.

[0.4.3] - 2026-03-22

Added

  • Homebrew tap for macOS and Linux (brew install lazynop/tap/lazyenv)
  • Scoop bucket for Windows (scoop install lazyenv)
  • AUR package for Arch Linux (yay -S lazyenv-bin)

[0.4.2] - 2026-03-19

Added

  • Secret masking in compare view with Ctrl+S toggle, synced with main view
  • ^S secrets hint in compare view status bar
  • Demo GIF and VHS tape source in README

Fixed

  • Masked values no longer show truncation artifacts (..) in narrow terminals

[0.4.1] - 2026-03-19

Added

  • Configurable secret detection via [secrets] config section with safe_patterns, extra_patterns, and value_heuristic options
  • Shannon entropy-based value heuristic replacing the simple length+alphanumeric check, reducing false positives on hostnames and URLs
  • Built-in detection rules documented in configuration docs

Fixed

  • False positive in secret detection for long hostnames/URLs (e.g. db-prod-ap-03.internal)
  • Diff view not refreshing visually after copy operations due to stale method value in Go value semantics
  • Missing (missing) placeholder in compare view for added/removed keys
  • AddVar not setting IsSecret on newly added variables

Improved

  • Deduplicated missing placeholder computation in diff entry rendering

[0.4.0] - 2026-03-18

Added

  • Interactive theme preview with --themes flag and 56 built-in themes
  • Mouse support: click and scroll wheel handling across all modes
  • Configurable mouse scroll lines via config
  • --no-mouse flag and config option to disable mouse
  • --check-config flag to validate configuration
  • --config flag to specify a custom config file path
  • --file-list-width flag to control file list panel width

Fixed

  • Enforce minimum file-list-width of 20
  • Show sort hint (o) in status bar for all normal mode panels

Improved

  • Truncate long file names in file list panel

[0.3.1] - 2026-03-07

Added

  • Configurable marker colors for variable indicators (new, modified, deleted, duplicate, empty, placeholder)

Fixed

  • Next/prev diff navigation (n/N) not working in compare mode

Improved

  • Split monolithic app.go into focused files for better maintainability

[0.3.0] - 2026-03-07

Added

  • Configuration file support (.lazyenvrc in project root or ~/.config/lazyenv/config.toml)
  • 15 built-in color themes (catppuccin, dracula, gruvbox, nord, tokyo-night, and more)
  • Theme background color support via Bubble Tea v2 View.BackgroundColor
  • --list-themes flag to list available built-in themes
  • --no-theme-bg flag and no-theme-bg config option to disable theme background
  • --show-config flag to display effective configuration
  • -s / --sort flag for sort order (position or alphabetical)
  • Configurable file detection patterns ([files] section in config)
  • Configurable layout dimensions ([layout] section in config)
  • Configurable color overrides ([colors] section in config)
  • Blocking error alert for invalid configuration (e.g. unknown theme)

Fixed

  • Config file search now uses current working directory instead of scan directory
  • ANSI color reset leaking in file list when using styled themes
  • Status bar text now uses theme colors for visibility on all backgrounds
  • Exclude .bak files from env file detection

Improved

  • Centralized configuration constants into dedicated config package
  • Extracted file detection patterns into configurable FileConfig
  • Themes organized in dedicated subpackage with one file per theme

[0.2.0] - 2026-03-01

Added

  • Completeness matrix view for multi-file variable comparison with inline add (m)
  • Yank to clipboard: copy value (y) or KEY=value (Y)
  • Peek original value for modified/new variables (p)
  • Per-variable indicators: modified (*), new (+), deleted (-), duplicate (D), empty (), placeholder ()
  • Combined modified and issue indicators on the same variable

Fixed

  • Preserve GitWarning flag across save, reset, and compare save operations
  • Restore cursor position when exiting compare mode
  • Show save/reset hints in file panel status bar
  • Show matrix hotkey in status bar hints
  • Reset peek state when switching files
  • Set meaningful default version for source builds

Improved

  • Organize imports into stdlib, external, internal groups
  • Rewrite README with updated features, install instructions, and keybindings
  • Update help panel with all current keybindings and indicators

Testing

  • Increase parser test coverage from 82% to 93%
  • Increase TUI test coverage from 44% to 79%

[0.1.4] - 2026-03-01

Added

  • Automatic .bak backup before the first save of each session
  • -B/--no-backup flag to disable backup

[0.1.3] - 2026-03-01

Added

  • Visual warning (!) in file list for .env files not covered by .gitignore
  • -G/--no-git-check flag to disable gitignore check
  • Silent fallback when git is not installed or not in a git repo

Improved

  • Modernize codebase for Go 1.26 (SplitSeq, range over int, etc.)

[0.1.2] - 2026-02-28

Added

  • Reset command (r) in normal mode to discard changes and reload from disk

Fixed

  • Recursive scan (-r) without explicit path now correctly defaults to current directory

Improved

  • Replaced flag with Kong for CLI argument parsing
  • Kong existingdir type for path validation

Testing

  • Test for ScanDir with dot path in recursive mode

[0.1.1] - 2026-02-28

First public release of LazyEnv.

  • Two-panel TUI layout with file list and variable viewer
  • .env file scanner: finds .env, .env.*, *.env patterns
  • Parser with round-trip fidelity (preserves comments, blank lines, quoting, ordering)
  • Secret masking: auto-detects keys like *_PASSWORD, *_TOKEN, *_API_KEY
  • Inline validation: warns on empty values, placeholders, and duplicate keys
  • Side-by-side diff/compare between two env files
  • Inline editing: edit, add, and delete variables
  • Write-back with format preservation
  • Keyboard navigation with vim-style bindings (hjkl)
  • CLI flags: -r (recursive scan), -a (show secrets), -v (version), -h (help)
  • Adaptive light/dark theme via terminal background detection
  • Test suites with testify for parser, model, util, and scanner packages
  • Bubble Tea v2, Lipgloss v2, Bubbles v2
  • GoReleaser for automated multi-platform releases
  • justfile as task runner