Skip to content

v0.1.0

Latest

Choose a tag to compare

@github-actions github-actions released this 01 Apr 20:15
· 96 commits to main since this release

Changelog

  • d28775f Delete REVIEWS
  • 772c2c8 chore(01-01): add justfile, golangci-lint config, and root package stub
  • 0ef60b8 chore(01-01): initialize go.mod and add MIT LICENSE
  • 04868f3 chore(01-05): promote pgregory.net/rapid to direct dependency via go mod tidy
  • b63cbad chore(02-04-02): full phase 2 validation — all tests green
  • 3dc4314 chore(13-01): move library files from root to drift/ subdirectory
  • f87a851 chore(13-01): update all import paths from drift to drift/drift
  • a472360 chore(13-02): add .gitignore for compiled binaries and IDE artifacts
  • ab127fa chore(16): complete phase 16 — fill verification, mark ROADMAP/STATE/PROJECT complete
  • c4a2c7e chore(16-03): add dist/ to .gitignore for goreleaser build output
  • ea5c6d8 chore(16-03): add goreleaser v2 config for multi-platform drift CLI
  • ac099b4 chore(17-01): create go.work workspace and cmd/drift/go.mod separate module
  • 6f37390 chore(17-01): verify all tests pass and add compiled binary to gitignore
  • 3b5bf54 chore(17-05): migrate palette_unix.go to charmbracelet/x/term, remove golang.org/x/term direct dep
  • 3c27d73 chore(phase-14): commit accumulated working-tree changes
  • bfea476 chore(planning): complete plan 03-02 — update STATE.md, ROADMAP.md, add SUMMARY.md
  • 5d894b5 chore(planning): complete plan 03-03 — update STATE.md, ROADMAP.md, add SUMMARY.md
  • 41ea963 chore(quick-260401-k11): collapse two-module layout into single go.mod
  • a9ca06d chore(quick-260401-k11): remove sub-module CI step; rename test step to Test
  • 06637c3 ci: add GitHub Actions workflows for CI, release, and security
  • a2a0a55 ci: bump actions to latest versions (checkout@v6, setup-go@v6, lint-action@v9, goreleaser-action@v7)
  • 92bf0b8 ci: fix go.work toolchain constraint and align matrix with go.mod minimum (1.25.x)
  • 0f2dbad docs(01-01): complete go module bootstrap plan
  • 6b1f0c4 docs(01-02): complete public type contract and algo interface plan
  • 3afb0dc docs(01-03): complete Myers diff algorithm plan
  • 37b9c90 docs(01-04): complete hunk builder and public diff API plan
  • e5ab213 docs(01-05): complete property-based and fuzz testing plan
  • f6b32a6 docs(01-foundation): create phase 1 plan (5 plans, 5 waves)
  • d4881b4 docs(02): add 4 execution plans for Algorithms phase
  • 35f23e7 docs(02): add research and validation strategy
  • 401a2ce docs(02-01): complete patience diff plan summary and update state
  • 14294d7 docs(02-02): create SUMMARY.md, update STATE.md and ROADMAP.md
  • 48c1478 docs(02-03): create SUMMARY.md — algorithm dispatch wired, integration tests verified
  • 77963d6 docs(02-04): create SUMMARY.md, update STATE.md and ROADMAP.md
  • 5f139de docs(03): add 5 execution plans for unified rendering phase
  • 6bdd90f docs(03): add research and validation strategy for unified rendering
  • df4249c docs(04): add plans for split rendering phase
  • 9b84ee3 docs(04): add research and validation strategy for split rendering
  • 3fc0a11 docs(05): phase 5 research, validation, and CLI plans
  • af5ffed docs(06): phase research, validation strategy, and executable plans
  • 1b4a15f docs(07): research, validation, and plans for git single-file diff
  • a8efd85 docs(09): research, validation strategy, and executable plans for line-number gutters
  • 6b550f5 docs(12): create phase plan — config split, testhelpers, doc polish
  • fd632fb docs(12-01): complete restructure-project-layout plan 01
  • e8f547b docs(12-02): complete documentation-polish plan
  • ae8372e docs(12-02): update README with complete API surface
  • c88f71d docs(12-02): update doc.go with complete package overview
  • 3cda855 docs(13): create phase plan — no Go files in root directory
  • 8b337d5 docs(13-01): complete move-library-to-drift-subpackage plan
  • 89ab996 docs(13-02): complete update-docs-and-gitignore plan
  • f270b4f docs(13-02): update import path to github.com/tylercrawford/drift/drift
  • fa8338e docs(14-01): complete commit-accumulated-working-tree-changes plan
  • fbc3c0a docs(14-02): complete remove-DiffLineMutedBackgroundColour plan
  • ec564aa docs(15): create phase plan
  • 9e86382 docs(15-01): complete IOStreams and Flags lifecycle contracts plan
  • ecaf76c docs(15-02): add self-check to SUMMARY.md
  • 4a42508 docs(15-02): complete eliminate-globals plan — 15-02-SUMMARY.md, STATE.md, ROADMAP.md
  • f97504d docs(16-02): complete WithContext validation plan
  • f1680e0 docs(16-03): complete goreleaser multi-platform release config plan
  • 51f0594 docs(17): capture phase context
  • c8f5e15 docs(17): create phase 17 plans and update roadmap/state/verification
  • 7a2d7fd docs(17-01): complete move-library-to-module-root plan
  • b3453bb docs(17-02): complete remove-Spans-and-Span-alias plan
  • 0f46dd0 docs(17-03): complete goldie snapshot tests plan — SUMMARY, STATE, ROADMAP
  • e293dcd docs(17-04): complete bottom-aligned pairHunkLines plan
  • e75e205 docs(17-05): complete consolidate-term-package-deps plan
  • 375c21c docs(260331-rle): add CI/release/security workflow summary and update STATE
  • e44ebe1 docs(260401-k11): create plan for single-module build consolidation
  • 9aff8f3 docs(phase-01): complete phase execution
  • a409b83 docs(phase-01): evolve PROJECT.md after phase completion
  • 31b6326 docs(phase-02): complete phase execution
  • 5fda97e docs(phase-02): evolve PROJECT.md after phase completion
  • e0fc95f docs(phase-03): complete phase execution
  • 34d9dbc docs(phase-03): evolve PROJECT.md after phase completion
  • c0eebbb docs(phase-04): summaries, verification, roadmap; go mod direct deps for render
  • 10b1e74 docs(phase-05): 05-01 summary and roadmap progress
  • 4ed5f19 docs(phase-05): 05-02 summary and roadmap progress
  • 74c30f4 docs(phase-05): 05-03 summary and roadmap progress
  • 219696f docs(phase-05): 05-04 summary, verification, roadmap complete
  • e4db6fa docs(phase-05): evolve PROJECT.md and sync STATE after phase complete
  • e93fb13 docs(phase-06): complete phase execution
  • 5912d53 docs(phase-06): evolve PROJECT.md after phase completion
  • 981b8a4 docs(phase-06-01): plan summary and roadmap progress
  • 8bb1a89 docs(phase-06-02): godoc builder quick-start in package overview
  • 2e62937 docs(phase-06-02): plan summary and roadmap progress
  • 1ba9cdb docs(phase-06-03): plan summary and roadmap progress
  • 90e4c84 docs(phase-06-04): plan summary and roadmap progress
  • 8c5d091 docs(phase-06-05): README for install, CLI, library, and rendering
  • 10717ae docs(phase-06-05): plan summary and roadmap progress
  • ac5907e docs(phase-07): evolve PROJECT.md after phase completion
  • 962635e docs(phase-07): verification, 07-02 summary, complete phase
  • ed4557c docs(phase-07-01): plan summary after git worktree resolver
  • 142c792 docs(phase-08): complete roadmap, STATE, PROJECT; link 08-02 summary commit
  • b35500d docs(phase-08): context, research, validation, plans for palette best-match theme
  • 644ecbd docs(phase-11): add 11-03 plan for terrasort color parity and layering
  • bfc9e04 docs(phase-11): add RESEARCH and VALIDATION for terrasort color parity
  • bd8a5e8 docs(phase-11): gap plan 11-04 brighter semantic word spans vs muted line
  • ee41ce0 docs(phase-12): complete phase execution
  • 3361228 docs(phase-12): evolve PROJECT.md after phase completion
  • a6e8b0a docs(phase-13): complete phase execution
  • e87e099 docs(phase-13): evolve PROJECT.md after phase completion
  • de46d71 docs(phase-14): add CRUFT-01/02 to REQUIREMENTS.md traceability
  • f8b4a0d docs(phase-14): complete phase execution
  • 11322d3 docs(phase-14): create phase plan
  • 6e75668 docs(phase-14): resolve verification gap and evolve PROJECT.md
  • 9600fa6 docs(phase-15): add ARCH-01/02/03/04 to REQUIREMENTS.md
  • 83fda98 docs(phase-15): complete phase execution
  • 888008a docs(phase-15): evolve PROJECT.md after phase completion
  • 2da123d docs(phase-17): complete phase execution
  • f450fd1 docs(phase-17): evolve PROJECT.md after phase completion
  • d234e1d docs(planning): complete plan 03-01 — add SUMMARY.md, update STATE.md and ROADMAP.md
  • 7745576 docs(planning): complete plan 03-04 — UnifiedRenderer
  • 49be63a docs(planning): complete plan 03-05 — update STATE.md, ROADMAP.md, create SUMMARY.md
  • 01c68fb docs(quick-260326-l50): update summary with root cause analysis
  • c6a47a5 docs(quick-260401-k11): add context and plan artifacts for single-module migration
  • 00200ef docs(quick-260401-k11): complete switch-to-single-module-build plan
  • 431ef71 docs(readme): CLI example for git working tree vs HEAD (phase 07-02 task 07-02-04)
  • a3fdf0b docs(roadmap): add phase 7 git working-tree single-file diff
  • 1260d67 docs(roadmap): add phases 9–11 — gutters, full-line diff styling, intra-line highlights
  • c5f1e89 docs(state): record phase 17 context session
  • 1d53084 feat(01-02): define exported data model types
  • ac50fee feat(01-02): define functional options and internal algo interface
  • 021d853 feat(01-03): implement Myers diff algorithm (GREEN phase)
  • 32aff6c feat(01-04): implement drift.Diff() public API with CRLF normalization
  • 80f168e feat(01-04): implement hunk builder (GREEN phase)
  • dd07c11 feat(02-01): implement Patience diff algorithm with iterative stack and Myers fallback
  • 0f31e7a feat(02-03-01): wire real patience and histogram algorithm dispatch in drift.Diff
  • d5795cf feat(02-04-01): add TestProperty_RoundTrip_Patience and TestProperty_RoundTrip_Histogram
  • c5624b2 feat(15-01): add IOStreams struct and System() constructor
  • 38ec3c4 feat(15-01): add rootFlags, rootOptions, and resolveRootOptions
  • 65f1da6 feat(15-02): eliminate global state, init(), and buildDriftOptions from main.go
  • a447be1 feat(16-01): implement Hirschberg linear-space Myers diff
  • 1023f41 feat(17-01): move library from drift/ to module root for canonical import path
  • 23b45e7 feat(17-03): add goldie v2 dependency, WithTermWidth option, and golden_test.go
  • bd44487 feat(17-04): rewrite pairHunkLines with bottom-aligned pairing
  • 5e09afe feat(algo/histogram): implement Histogram diff algorithm
  • 07b87d1 feat(cli): Cobra root and Phase 5 flags (05-01)
  • 212cc76 feat(cli): Diff, RenderWithNames, and exit codes (05-03)
  • d38538e feat(cli): resolve stdin, files, and --from/--to (05-02)
  • 4d8b491 feat(cmd/drift): add git worktree vs HEAD resolver (phase 07-01 task 07-01-01)
  • d489414 feat(cmd/drift): single-file git mode and Cobra arg validation (phase 07-02 tasks 07-02-01, 07-02-02)
  • 5ec23eb feat(deps): add charm.land/lipgloss/v2 v2.0.2 and colorprofile v0.4.2
  • 31a2770 feat(deps): add github.com/alecthomas/chroma/v2 v2.23.1 dependency
  • ea7b480 feat(drift): WithSplit option for side-by-side rendering (04-03-01)
  • 2d82958 feat(drift): resolve term width and route to Split when split enabled (04-03-02)
  • eebbdc1 feat(highlight): BestMatchTheme + OSC4 palette parser (08-01)
  • 666a9f4 feat(highlight): add unit tests for Chroma v2 highlight pipeline
  • 7c6502a feat(highlight): implement Chroma v2 highlight pipeline (HighlightLine, FormatterForProfile, SelectTheme, DetectLexer)
  • a3f1ddc feat(phase-06-01): builder API delegating to functional options
  • c61370b feat(phase-06-03): runnable basic and builder examples
  • a21a5a2 feat(phase-11): brighter semantic word spans vs muted full line (11-04)
  • 68c773b feat(phase-11): terrasort-aligned diff line colours and neutral gutters (11-03)
  • 5b3e4de feat(render): TermWidth on RenderConfig and Split side-by-side renderer (04-01-01)
  • 58209f3 feat(render): TerminalWidth with TTY GetSize and COLUMNS fallback (04-02-01)
  • 939c1bf feat(render): add UnifiedRenderer with hunk headers and +/- prefixes
  • ff09777 feat(theme): implement DetectDarkBackground with OSC 11 timeout guard
  • 594954e feat(worddiff): switch intra-line highlights to character-level granularity
  • 1759f3f feat: OSC4 TTY palette query + auto Chroma theme + --show-theme (08-02)
  • 7bad38f feat: add public drift.Render() and RenderWithNames() API with color profile detection
  • b91d55e fix(16-02): fix .gitignore blocking git add for drift/ package directory
  • 48d650c fix(ci): scope govulncheck to library module to avoid unresolvable replace directive in cmd/drift
  • 0665809 fix(highlight): strip git display suffixes before lexer filename match
  • bc0b216 fix(render): full-line diff bg for word diff; gutter gray on changed spans
  • 0bc800d fix(render): no gray background on context line-number gutters
  • 47d9f21 fix(render): one space each side of gutter line numbers
  • 397e165 fix(render): semantic gutter colours + full-width gutter backgrounds
  • f6b912c fix(word-diff): make intra-line highlights visible by passing bg colour per-token
  • 82b2a32 fix(word-diff): multipass tokenisation to eliminate foreground colour change on changed spans
  • 1654f92 fix(word-diff): preserve syntax foreground on changed spans, swap only background
  • 18292f2 fix: address all REVIEWS.md findings (BUG-01, INCONSISTENCY-01..07, DOC-01..06)
  • a66a8b1 fix: extend line background to prefix char and full line width
  • c730f61 fix: make diff line backgrounds visible for all themes including monokai
  • f784d42 fix: raise go.work floor to 1.25.0 to match go.mod modules
  • f9b5122 fix: resolve goreleaser dirty-tree error on release
  • b274825 refactor(01-03): improve forward-pass trace comment clarity
  • 3ccc4f6 refactor(12-01): move Apply() to internal/testhelpers
  • 2193f4b refactor(12-01): split config struct into diffConfig + renderConfig
  • de9ad0f refactor(17-02): remove Spans field from Line and Span alias from public API
  • c3e1c40 refactor(diffcolors): align blending pipeline to terrasort's exact algorithm
  • 793775c refactor(highlight): remove dead DiffLineMutedBackgroundColour
  • 12503b2 refactor(render): extract gutterColWidth helper to deduplicate gutter width logic
  • 21c100c test(01-03): add failing Myers diff tests (RED phase)
  • f0b682e test(01-04): add failing hunk builder tests (RED phase)
  • a8c5a0a test(01-05): add Myers fuzz test for correctness under arbitrary inputs
  • 6947074 test(01-05): add property-based tests and Apply helper (RED+GREEN)
  • 010b2a0 test(02-01): add full patience test suite with invariant and round-trip tests
  • 4c51167 test(03-03-02): add options_test.go — WithLang, WithTheme, WithNoColor config wiring
  • bdf59d4 test(11): UAT partial — reject neutral word-span tint; gap for brighter semantic words
  • 3797bbf test(17-03): generate golden snapshot fixtures for unified, split, and no-color
  • 0f1dd2b test(17-04): add TestPairHunkLines_BottomAligned and update asymmetric tests
  • 2069e15 test(algo/histogram): add comprehensive histogram test suite
  • c51abd8 test(cli): testscript harness for drift (05-04)
  • f7f6000 test(cmd/drift): fake-git tests for worktree resolver (phase 07-01 task 07-01-02)
  • e27639e test(cmd/drift): single-arg resolveInputs and CLI git mode (phase 07-02 task 07-02-03)
  • 87a1a69 test(drift): Render WithSplit integration tests (04-03-03)
  • a1939c9 test(phase-06-04): benchmarks for 10k-line diff and render
  • 5355948 test(render): Split renderer, ANSI width, and pairHunkLines (04-01-02)
  • c44b804 test(render): TerminalWidth env and pipe fallback (04-02-02)
  • 5cab679 test(render): add unit tests for UnifiedRenderer
  • fc4c757 test(theme): add unit tests for DetectDarkBackground NoTTY/TrueColor/ANSI256