Skip to content

julie-extract v2.8.1

Choose a tag to compare

@github-actions github-actions released this 04 Jul 18:48

v2.8.1

This patch release prepares the GLM review remediation on top of v2.8.0.
It is a correctness, contract-honesty, and writer-hardening release; it does
not add a new public fact family.

Correctness Fixes

  • Route and HTTP-boundary scanners now keep the static-literal silence rule for
    dynamic ASP.NET, Spring, Java HTTP client, and Ruby HTTP client arguments
    while preserving static siblings.
  • Django re_path named groups normalize to normalized_route_template.
  • Vue SFC script scanning masks comments and string literals for route and HTTP
    client facts.
  • React and Vue route-object extraction ignores path and index values under
    redirect and meta, including nested descendants.
  • JavaScript string-literal parsing handles common escapes and rejects malformed
    literals that would otherwise produce false routes.
  • Frontend route precision is tightened for Next/Nuxt file routes, JSX nested
    route metadata, Nuxt relative links, and CSS attribute selector commas.
  • Backend framework edge cases are fixed for Express router mounts, Spring
    annotation adjacency and class prefixes, Rails nested/member/collection
    routing, Actix direct routes, Go var mux receivers, and Razor @page
    normalized route templates.
  • SQL, YAML, JSON, TOML, Markdown, CSS, and related data-domain structural facts
    have focused fixes for the GLM-reviewed edge cases.

Artifact Writer And JSONL Hardening

  • Lower-level structural-fact writes are hardened against duplicate IDs under
    the selected dedupe policy.
  • Successful writes checkpoint and truncate WAL state without losing committed
    rows.
  • JSONL export ordering is deterministic for source regions, structural facts,
    and complexity metrics.
  • Raw structural-fact metadata JSON is validated and compacted before JSONL
    emission, so valid stored objects containing whitespace still produce one
    valid JSONL record per line while preserving key order.
  • Writer and schema contract tests cover the new indexes, tier routing, and
    writer performance tripwires.

Capability Honesty

fixtures/extraction/capabilities.json now records explicit open_gaps for
known deferred semantics instead of claiming complete coverage or marking real
missing implementation as not_applicable. The documented gaps include SQL
advanced structures, Markdown extended constructs, YAML scalar/tag/multidoc
semantics, JSON schema/reference semantics, TOML multiline strings, Regex
advanced constructs, CSS additional at-rules, HTML semantic/link/media details,
Vue style/slot shorthand, Django non-template regex normalization, and
signal-free Next.js pages-router files.

Contract Changes

  • Rust package versions change from 2.8.0 to 2.8.1.
  • SQLite schema version remains 3. New indexes are non-breaking query and
    export-order helpers.
  • Artifact integer extract_contract_version remains 3.
  • JSONL schema version remains 3.
  • JSON report schema version remains 3.
  • EXTRACTION_CONTRACT_VERSION remains at the backend-http-boundary-v2
    marker. This patch fixes and documents shipped semantics without adding a new
    top-level extraction family.
  • Parser dependency versions are unchanged.

Verification

Release workflow:

Local prep gates run before publish:

  • cargo fmt --all -- --check
  • cargo test -p xtask
  • cargo xtask test default
  • cargo xtask test contract
  • cargo test -p julie-extractors route_definition
  • cargo test -p julie-extract-artifact --test jsonl_contract
  • cargo xtask release preflight --version 2.8.1

Published-asset verification after release:

  • Remote tag v2.8.1 points at
    bca2b811bcd00b3d3a136dbdbc0e0aae8b7cba8d.
  • The GitHub release is not a draft and not a prerelease.
  • Downloaded asset SHA-256 digests match GitHub release metadata.
  • Package checksum files verify the staged dist/<target>/julie-extract
    binaries.
  • The downloaded Apple Silicon binary reports julie-extract 2.8.1.
  • Downloaded-binary dogfood completed with SQLite schema version 3,
    extraction contract version 3, JSONL schema version 3, 1424 files,
    121258 symbols, and 710965 JSONL records.

Published Assets

Target Asset Size GitHub asset digest
Linux x86_64 julie-extract-v2.8.1-x86_64-unknown-linux-gnu.tar.gz 10,792,146 bytes sha256:b8217e019b3cd4d1f3f930bab0507a2d3d3f313ed773a8110bdf45212bc32e9d
macOS Apple Silicon julie-extract-v2.8.1-aarch64-apple-darwin.tar.gz 10,555,746 bytes sha256:d147b62367153b38c08399ddc8d11873b0f21268222a2dc9523428c5e5a78fcb
macOS Intel julie-extract-v2.8.1-x86_64-apple-darwin.tar.gz 10,504,870 bytes sha256:431a6b9205dc5c259cea710d60d48e7440276a8fb2434e39dc31458093fd1e09
Windows x86_64 julie-extract-v2.8.1-x86_64-pc-windows-msvc.zip 9,779,606 bytes sha256:e3e1afb80fa168d6437a3fc886a969bf8dcb39c230b9fb5762d6bd22f45953dc