Skip to content

Releases: nrynss/rustydocs

v0.7.1

Choose a tag to compare

@github-actions github-actions released this 08 Oct 16:17
v0.7.1
0cf4d14

What's Changed

  • Report headless files as one section in section mode by @nrynss in #89
  • Prepare v0.7.1 by @nrynss in #90

Full Changelog: v0.7.0...v0.7.1

v0.7.0

Choose a tag to compare

@github-actions github-actions released this 08 Oct 07:13
479e124

This release adds Docusaurus support, JSON schema 2.0, read-only reports, batch Git date lookups, multi-architecture Alpine/Git containers, and Go 1.27.1 builds.

Source builds now require Go 1.27.1. JSON consumers must migrate to schema 2.0; see migration details.

Container: ghcr.io/nrynss/rustydocs:v0.7.0 (Linux amd64/arm64).

Added

  • Multi-architecture Alpine container image with Git and certificates (#38).
    GoReleaser publishes Linux amd64/arm64 images to GHCR with exact release tags
    and latest for stable releases. Images run as a non-root user; CI validates
    mounted-repository scans, report permissions and full/shallow history behavior
    on both architectures. Snapshot builds create local images without publishing.

  • Default-enabled --git-last-modified batch accelerator for file-level and reusable
    Git dates (#46), with graceful fallback to cached git log lookups.
    Disable with --git-last-modified=false; section-level blame is unchanged.

  • Docusaurus profile (#13): .md/.mdx ATX content, detected from
    docusaurus.config.js or .ts or selected with --profile docusaurus.
    Static relative Markdown partial imports rendered as components contribute
    freshness and provenance to their consuming sections, including rendered
    preamble content. Fenced and inline-code examples, MDX comments and
    code/package imports are skipped; missing/historyless partials remain unknown.
    Uses the embedded profile
    registry and shared import map without new dependencies. Aliases including
    @site/@theme and JavaScript config execution are outside the supported
    subset; see Docusaurus profile.

  • JSON schema 2.0 exports all analyzed sections, portable repository/file/section
    identities, normalized content fingerprints, own/effective Git evidence,
    section dependency relationships and tied freshness sources. Repository context,
    nullable unknown dates/ages, effective configuration, structured diagnostics and
    coverage counters support external consumers. See docs/json-v2.md for the
    breaking schema migration and complete example artifact (#80).

Changed

  • Require Go 1.27.1 for source builds; CI and release builds use the version in
    go.mod. Analyzer worker pools use sync.WaitGroup.Go for goroutine tracking.

  • Release publication requires successful CI on the exact tagged commit from
    main, waits for in-progress CI, and reuses that result without repeating
    tests, lint or container scans.

  • Skip expensive CI jobs for documentation-only changes while retaining the
    required check statuses needed to merge pull requests. Embedded assets and
    test fixtures still trigger the build/test matrix, lint and release snapshots.

  • Adopt GoReleaser for tagged releases (#31): build Linux, macOS, and Windows
    for amd64 and arm64 with version/commit/date metadata, ship .tar.gz archives
    (.zip on Windows) and SHA256 checksums.txt, and preserve GitHub-generated
    release notes. CI validates snapshot packaging; make release now builds the
    same snapshot archives without publishing, replacing the platform recipes.

  • HTML is now read-only: review buttons, status tabs, persisted browser state and
    page-age/date displays are removed. HTML and Markdown show snippet provenance
    beside consuming sections, sections made fresh by snippets, unknown/partial
    history details and scan diagnostics. All report ages use the analysis timestamp.

  • Refactored built-in profiles into embedded, validated JSON definitions and
    identity-free parser capabilities; separated reusable resolution from Markdown
    chunking. Existing profile behavior and user configuration are unchanged.

Fixed

  • MDX comment scanning ignores {/* inside Markdown code spans so examples
    cannot hide later imports. Fenced examples and original source offsets are
    preserved.

  • Authorize reusable supporting files within the resolver's physical root before
    template reads, Git history queries and fingerprints. Hugo traversal and
    external symlink targets (including discovered theme checkouts) are rejected;
    explicit legacy directories authorize only legacy lookup. Reports retain
    contextual diagnostics and partial evidence for rejected or missing support.

  • Heading detection ignores fenced code, and MDX import declarations no longer
    manufacture preamble sections; frontmatter and rendered preamble content retain
    their existing behavior. HTML sorting now uses each table's own columns, explicit
    numeric/date/text types and consistent unknown-value ordering (#80).

  • Git lookup memoization now keeps the repository context of the caller's
    directory. A file symlink into another repository no longer shares the
    target's cached history (or error); whole-checkout directory aliases still
    share entries. Analysis assumes the checkout stays stable during a run.

  • Starlight: {% partial %} tags are now captured on .mdoc pages only
    (#75). Markdoc tags render in .mdoc files, never in .md (literal text)
    or .mdx (an MDX build error), so an unfenced tag on such a page — stray,
    migrated, or illustrative — used to be captured anyway and could fold the
    target's recent commit date into a section the tag never rendered, or count
    a missing target as an unresolved include. Reusable patterns now carry an
    optional extension constraint the parser applies per analyzed file.

  • Starlight: a partial written with an import alias — an @-prefixed
    specifier such as {% partial file="@partials/footer.mdoc" /%}, or a bare
    extensionless word (the key of markdoc.config's partials map) — that
    does not resolve as a path is now classified as deliberately out of scope
    instead of a broken include (#74). Astro resolves such attributes through
    Vite module resolution at build time, never as the literal path; a broken
    alias fails the build upstream regardless. Relative partial paths —
    including the ./-less form upstream's own fixture uses — are unaffected
    and still count as unresolved when missing. The file={import('…')}
    spelling the issue hypothesised turned out not to exist upstream and is
    deliberately not captured: it would fold dates for syntax Astro never
    renders.


What's Changed

  • Starlight: gate partial detection to .mdoc pages and classify alias partials as out of scope (#74, #75) by @nrynss in #77
  • Make documentation profiles declarative with embedded JSON by @nrynss in #78
  • Preserve repository context in cached file history by @nrynss in #79
  • Export complete JSON v2 snapshots and simplify read-only reports by @nrynss in #81
  • Add Docusaurus profile with Markdown partial freshness tracking by @nrynss in #82
  • Add opt-in git last-modified accelerator by @nrynss in #83
  • Adopt GoReleaser for release automation by @nrynss in #84
  • Publish Alpine Git containers and gate releases on green CI by @nrynss in #85
  • Prepare v0.7.0 with containers and Go 1.27 by @nrynss in #86

Full Changelog: v0.6.0...v0.7.0

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 02 Oct 20:12

What's Changed

  • Add Astro Starlight profile with Markdoc partials and import-map resolution by @nrynss in #76

Full Changelog: v0.5.0...v0.6.0

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 01 Oct 09:34

What's Changed

  • Bump golangci/golangci-lint-action from 8.0.0 to 9.3.0 by @dependabot[bot] in #60
  • Bump actions/setup-go from 6.4.0 to 7.0.0 by @dependabot[bot] in #62
  • Bump softprops/action-gh-release from 3.0.1 to 3.0.2 by @dependabot[bot] in #61
  • Bump softprops/action-gh-release from 3.0.2 to 3.0.3 by @dependabot[bot] in #64
  • Bump actions/checkout from 7.0.0 to 7.0.1 by @dependabot[bot] in #63
  • Documentation-tool profiles: plain-markdown default, Mintlify, and build-info versioning (#39, #11, #7) by @nrynss in #66
  • Memoize per-file git lookups for one run (#65) by @nrynss in #67
  • Resolve MDX imports and stop scanning non-documentation (#68, #69) by @nrynss in #71
  • Prepare 0.5.0 with GitBook and complete reusable reports by @nrynss in #72

Full Changelog: v0.4.0...v0.5.0

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 24 Jun 13:24
31340f6

What's Changed

Full Changelog: v0.3.0...v0.4.0

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 22 Jun 09:13
3d148fc

What's Changed

  • Add community health files + tracked CLAUDE.md; housekeeping by @nrynss in #40
  • Fix cross-platform report paths and CRLF titles; add CI matrix by @nrynss in #47
  • Bump actions/checkout from 4 to 7 by @dependabot[bot] in #42
  • Bump actions/setup-go from 5 to 6 by @dependabot[bot] in #43
  • Bump actions/download-artifact from 4.1.3 to 8.0.1 by @dependabot[bot] in #41
  • Bump actions/upload-artifact from 4 to 7 by @dependabot[bot] in #44
  • Bump softprops/action-gh-release from 1 to 3 by @dependabot[bot] in #45
  • Pin GitHub Actions to commit SHAs by @nrynss in #48
  • Parse real git blame porcelain headers; raise scanner buffer by @nrynss in #49
  • Restrict analysis to documentation extensions; fix exclude over-matching by @nrynss in #50
  • Remove dead code; fix git-root error caching; harden report cells by @nrynss in #51
  • Prepare 0.3.0 release: changelog + CLAUDE.md refresh by @nrynss in #52

New Contributors

Full Changelog: v0.2.0...v0.3.0

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 22 Jan 16:41

Full Changelog: v0.1.0...v0.2.0

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 22 Jan 14:38