Skip to content

v0.4.2

@Dicklesworthstone Dicklesworthstone tagged this 23 Feb 06:15
SQLite (fsqlite) fixes:
- Upgrade fsqlite, fsqlite-types, fsqlite-error from 0.1.0 to 0.1.1
  to fix "cursor stack is empty" errors (89 test failures)
- Work around fsqlite 0.1.1 FTS5 limitation: rowid pseudo-column not
  recognized in INSERT...SELECT for virtual tables. Changed rebuild_fts()
  to use row-by-row inserts instead of bulk INSERT...SELECT.
- Fix "PRIMARY KEY constraint failed" on DB reopen by using INSERT OR
  REPLACE for schema_version inserts across all migration functions.

Heredoc/here-string detection:
- Add raw "<<<" pattern to HEREDOC_TRIGGER_PATTERNS so Tier 1 always
  triggers on here-string operator regardless of quoting context. This
  fixes the tier1_is_superset_of_tier2_extraction proptest invariant
  violation where Tier 2 regex extracted from quoted <<< but Tier 1
  skipped it.

AST matcher:
- Use #[cfg(test)] to increase AST_TIMEOUT_MS from 20ms to 500ms in
  test builds, fixing 6+ timeout failures in debug/CI environments
  where ast-grep takes longer than the 20ms production budget.

Test infrastructure:
- Update CLI E2E assertions to accept both old label format
  (Command:/Matched:/Explanation:/Rule:/Reason:) and new box format
  (EXPLANATION:/Pattern:/Pack:) for 16 failing hook/explanation tests.
- Fix debug_heredoc_extraction test to accept tree-sitter's actual
  behavior of splitting at redirections (returns "git" not
  "git reset --hard").
- Fix golden robot tests to use env!("CARGO_BIN_EXE_dcg") instead of
  hardcoded ./target/release/dcg path (7 test failures).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Assets 2
Loading