Skip to content

Latest commit

 

History

History
199 lines (161 loc) · 21.6 KB

File metadata and controls

199 lines (161 loc) · 21.6 KB

Changelog

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

This file is generated by Knope from Conventional Commits; this project adheres to Semantic Versioning.

0.2.1 (2026-05-26)

Fixes

  • walk /releases array, filter to linesmith binary tag (#14)

0.2.0 (2026-05-22)

Bug Fixes

  • core: Close LogSink emit/swap race with RwLock dispatch (#9)(77086fb)
  • core: Bound CapturedSink ring + add inter-frame wake signal (#8)(3248bc9)

Features

  • core: Split tool normalizers + ParseOpts entry point (#10) (BREAKING)(3c4c5ab)
  • tui: PropertyScreen reusable widget(bd5c5a1)

0.1.3 (2026-05-18)

Bug Fixes

  • tui: Retry on EINTR + recoverable I/O blips in event loop(68f03c3)
  • cli: Reject --check-config outside the render path(b27951f)
  • cli: Route logging macros through swappable LogSink(eb1df31)
  • cli: Filter non-Press key events to stop Windows double-fire(60abd53)
  • repo: Cliff template emits blank line above first version heading(3dc71ea)
  • data-context: Clear cache on 401 so peers skip the fresh short-circuit(0aa20fe)
  • core: Floor_to_grain panic safety + close jiff-migration gaps(2ce2f30)

Features

  • core: Per-thread sink overlay for test capture of lsm_warn!/lsm_error!(f30f11e)
  • core: Wire LayoutDecision emits at the five apply_layout sites(070ecb7)
  • core: LayoutObservers struct + render_with_observers rename(089c060)
  • core: LayoutDecision enum + variant constructors(2a23869)
  • core: LineItem::Segment struct-variant refactor with id field(011be10)
  • tui: Honor CliEnv env and CLI color flags(d1d7ecb)
  • cli: Install/uninstall Claude Code statusLine(01e6713)
  • cli: TUI instant-apply save model(4727269)
  • cli: Theme picker + user-theme discovery(237a17e)
  • cli: EnvironmentWarning footer (NO_COLOR / palette / VSCode / tmux)(5dcd964)
  • cli: Items editor finishing slice (LinePicker + Space/m verbs)(f496b30)
  • cli: Items editor raw value verb (r)(6782ed5)
  • cli: Items editor type picker (a/i verbs + arrows)(aeece9b)
  • cli: Items editor delete/clear/clone verbs(10098ac)
  • cli: Items editor screen with move-mode reorder(866f5dc)
  • cli: TOML write-back for linesmith config TUI(b9a539c)
  • cli: Live-preview header for linesmith config TUI(32cd241)
  • cli: Main menu screen + back-navigable placeholder(014ea83)
  • cli: ListScreen widget for linesmith config TUI(c28d4b9)
  • cli: Linesmith config TUI boot(5e98461)
  • segments: Absolute-timestamp format for rate-limit reset segments(d53a5b8)

Refactoring

  • core: Split resolve_proxy_from_env for testable warn paths(5d2e142)
  • cli: Caller owns cursor on ListScreen MoveSwap(99d8941)
  • core: Separator-as-item layout(4ecbefd)
  • core: Finish jiff-migration cleanups (doc rot + dedupe helper)(370fbe4)
  • repo: Migrate chrono → jiff across the workspace(0be2835)
  • core: Graduate input.rs + layout.rs to folder modules(9c36c8f)
  • segments: Split builder.rs into a folder of named files(486797f)
  • data-context: Graduate cascade/credentials/jsonl to folder modules(3935840)
  • env: Preserve non-UTF-8 paths through CliEnv + EnvVarState(f667eb4)
  • segments: UsageWindow seam + workspace extras helper(c24ac59)
  • segments: Graduate rate_limit/ to a folder(5378415)
  • repo: Rename errors.rs modules to singular error.rs(68c8153)
  • repo: Centralize lints in workspace.lints
  • plugins: Consume plugin host types from origin(6199a33)
  • plugins: Extract linesmith-plugin from linesmith-core(291cd09)

0.1.2 (2026-05-01)

Bug Fixes

  • doctor: Use FileCascadeEnv::new() in cross-crate test sites(1afa91a)
  • doctor: Make cache-root check read-only + audit snapshot helpers(ff8c0d0)
  • core: Cfg-gate ~ to POSIX in needs_shell_quoting(8601a45)
  • core: Correct Windows test failures in driver.rs(c8c213f)
  • ci: Use bare workspace version for dry-run tag(0a93c01)
  • ci: Synthesize dry-run tag from current package version(2cf357c)
  • deps: Bump gix from 0.82 to 0.83(f87897f)
  • core: Tolerate Windows MoveFileEx race losers in cascade persistence(abe697d)
  • core: Gate KEYCHAIN_SERVICE to macOS so Ubuntu clippy passes(769e355)
  • core: Tolerate null required leaves in parse_context_window(93506ac)

Features

  • doctor: Land linesmith doctor v0.1 (Config..Self categories)(16d1950)
  • doctor: Wire Environment + Self check categories(546029c)
  • doctor: Scaffold linesmith doctor subcommand(bdac37f)
  • data: Honor HTTPS_PROXY / HTTP_PROXY / NO_PROXY for OAuth fetcher(4cab952)
  • config: Publish config.schema.json + wire CI drift check(70f0723)
  • input: Warn-and-degrade for cost / effort / vim / output_style / agent / version(c6ea8cf)
  • input: Warn-and-degrade parse for model/workspace/context_window(44b8d5a)
  • layout: Add multi-line layout via [line.N] + layout key(414d955)
  • cli: Add interactive linesmith init subcommand(7ce72d8)
  • layout: Add [layout_options].separator + powerline_width config(f34b8df)
  • themes: Add 5 curated presets + extract default/minimal(e1d17ae)
  • engine: Wire OSC 8 hyperlinks end-to-end with sanitized URLs(d016c72)
  • segments: Add opt-in version segment for CC CLI version(d0bc5d7)
  • layout: Add render_to_runs styled-run emit path(06945ad)
  • core: Land render perf benchmarks + cold-start hyperfine task(f2d5096)
  • segments: Add output_style + vim + agent segments(d249322)
  • core: Add Segment::shrink_to_fit for layout-pressure compaction(327390f)
  • segments: Add per-marker hide_below_cells thresholds to git_branch(ab74914)
  • segments: Add model.format config (compact strips "context" filler)(8a5c845)
  • core: Add RenderContext arg to Segment::render(fecbf33)
  • core: Reflow truncatable segments before dropping(4ea4df1)
  • segments: Add session_duration segment(5fdf737)
  • segments: Add context_bar visual fill segment(b293f03)

Refactoring

  • repo: Split linesmith into linesmith-core + linesmith-cli workspace(602d9f0)
  • runtime: Extract runtime predicates into a dedicated module(88dc4f9)
  • data: Collapse XDG cascade + lift credentials env to a snapshot(0141749)
  • config: Pin schema URL to main per industry pragma(b1e83cc)

0.1.1 (2026-04-25)

Bug Fixes

  • themes: Remap Catppuccin Muted to subtext0 for readable text(535c3af)
  • themes: Env-first force-color capability detection via CliEnv(acdf35f)
  • core: Accept object-form effort payload(78d6a87)
  • core: Clamp context_window.used_percentage above 100, reject below 0(bd58bb8)
  • core: Lock-active refuses cached data when lock was written by 401(4a689d8)
  • plugins: Cap ctx_mirror JSON recursion depth, breadth, and string size(5517bc8)
  • segments: Harden ahead/behind resolver + de-slopify polish(4faf9a8)

Features

  • repo: Add statusline-tee.sh for live-capture workflow(dcaf198)
  • segments: Add per-turn tokens_{input,output,cached,total} segments(028caaf)
  • core: Parse context_window.current_usage as Option(39dad87)
  • core: JSONL fallback returns Ok(UsageData::Jsonl) on endpoint failure(cc690f0)
  • core: In-crate structured logger for silent Ok(None) paths(f9137ae)
  • segments: Workspace reads worktree name from ctx.git()(4d60443)
  • segments: Ahead/behind counters on git_branch(0798579)
  • segments: Git_branch (branch + dirty indicator) via gix(72825cd)
  • segments: Rate-limit segments on ctx.usage() + drop stdin rate_limits(971978d)
  • data-context: Wire DataContext::usage() fallback cascade(ea814b9)
  • data-context: JSONL aggregator (5h billing blocks + 7d window)(6cdf450)
  • core: OAuth usage disk cache + lock file (atomic rename)(884862e)
  • core: OAuth /api/oauth/usage HTTP client (ureq + retry-after)(215632f)
  • core: Credential reader with Keychain + file cascade(e155d11)
  • core: UsageApiResponse + UsageData + UsageError types(470043f)
  • plugins: Wallclock timeout, log rate-limit, registry-stored load errors(57acfee)
  • plugins: RhaiSegment + ctx mirror + return validator + builder wiring(4d0e529)
  • plugins: Discovery + @data_deps parser + compilation registry(b493084)
  • plugins: Rhai engine foundation for plugin runtime(e52e4af)
  • core: DataContext skeleton and Segment::data_deps method(3ae96bc)

Refactoring

  • segments: Annotate remaining Ok(None) hide paths(24cf621)
  • core: Route diagnostic writes through the crate logger(7b624a2)
  • segments: Simplify FormatTemplate + harden ahead/behind tests(50cff4f)

0.1.0 (2026-04-20)

Bug Fixes

  • ci: Add [profile.dist] inheriting from release so cargo-dist can build(1ab79e1)
  • ci: Symlink CHANGELOG.md into crate dir for release-plz path resolution(138a131)
  • segments: Strip control chars from RenderedSegment text(d4b1a78)

Features

  • ci: Wire cargo-dist + release-plz + git-cliff release pipeline(7c125e1)
  • core: Linesmith presets list + presets apply(da45cfc)
  • themes: Style-string parser + per-segment style overrides(49a2baa)
  • themes: User theme TOML loading + themes list subcommand(64e470b)
  • themes: Catppuccin Latte/Frappé/Macchiato/Mocha flavors(4491063)
  • config: Warn on unknown keys in config.toml(fb9e9ea)
  • config: Color policy precedence + claude_padding width factor(8421b9b)
  • themes: Role-based theme engine with default + minimal built-ins(b622712)
  • core: Load config.toml + CLI flags + per-segment overrides(938cfaf)
  • core: Add layout engine with priority truncation + width hints(beaa216)
  • core: Add rate_limit / cost / effort segments + chrono dep(f736607)
  • core: Expand StatusContext to v0.2 + add model and context_window segments(33939d6)
  • core: Scaffold Rust workspace with workspace-segment slice(5813b98)

Refactoring

  • core: Drop beads-ID from driver test-section comment(de5c25c)
  • core: Extract cli driver + segment builder from lib.rs(a87659c)
  • core: Extract cli_main so main.rs orchestration is testable(4e91d81)
  • segments: Return RenderResult so render errors propagate distinctly(af7a8a7)
  • segments: Encapsulate RenderedSegment + add SegmentDefaults builders(9fd3b4e)