Skip to content

v0.7.0

Choose a tag to compare

@github-actions github-actions released this 16 Aug 15:21
c827afd

Added

  • Rust is a first-party code language. Configure include.code.rust, place
    @doc in /// / //! / /** */ comments on modules, structs, enums, free
    functions, and inherent impl methods, and check links with the bundled
    docbridge-rust-scanner worker (same platforms as Swift/Dart). Default
    visibility is pub only; set visibility to include private for
    non-pub items. Canonical IDs use Rust path style (Type::method).
  • docbridge docs list [--json] and docbridge docs show <name> provide six
    task-oriented, version-matched guides from the installed npm package, with
    packed-package smoke coverage under Node.js and Bun.
  • CLI invocation errors now list valid commands, suggest close command names,
    and include runnable command-specific recovery guidance. Missing check
    configuration also points to docbridge init and docbridge init-with-agent.
  • TypeScript type members can be link endpoints, closing the last functional
    asymmetry with Swift and Dart. @doc on a class method, property, getter,
    setter, constructor, or static member, on an interface member, or on a member
    of a type alias written directly as an object type literal resolves to a
    type-qualified endpoint such as AuthService.login. Canonical IDs carry no
    parameter signatures: overload groups and getter/setter pairs each describe
    one member and collapse to one endpoint, and a collision — including a static
    and an instance member of the same name — reports duplicate_code_symbol.
    Only identifier-named members qualify, because a link target is
    file#fragment with one # and no whitespace.
  • include.code.typescript.visibility accepts public, protected, and
    private, defaulting to public and protected. It scopes type members
    only; top-level declarations remain scoped by export.

Changed

  • Scanner worker request and response payloads now have a published JSON Schema,
    and malformed nested worker output fails explicitly instead of degrading into
    incomplete scan data. Graph and context output schemas share their diagnostic
    definitions and are checked against real CLI output. The configuration schema
    now matches the CLI's per-language suffix and visibility rules.
  • docbridge context and docbridge graph --include-content strip the common
    leading indentation from an extracted declaration, so a type member reads at
    its own level. Output for top-level declarations is unchanged.
  • A @doc on a TypeScript type member was previously collected by nothing and
    silently ignored. It is now a real annotation, so an existing one can surface
    link diagnostics — invalid_link_target, doc_file_not_found,
    doc_anchor_not_found, doc_backlink_not_found — that were always latent,
    and an annotation on a private member becomes unsupported_declaration.
    check --audit output is unchanged: members never count as
    undocumented_symbol.
  • docbridge check --audit reports unlinked_doc_section, a warning for
    in-scope documentation sections that carry no @code annotation. It is the
    documentation-side counterpart to undocumented_symbol, so the audit now
    covers both directions of the link graph. Reporting is rolled up over the
    heading tree: only the topmost heading of a fully unannotated subtree is
    reported, and a heading is treated as annotated whenever a @code comment is
    attached to it, even if that annotation fails to parse or resolve. Empty
    headings create no anchor and are never reported, but they still close the
    section before them, so a deeper heading following one is a separate region
    rather than a suppressed descendant. Runs
    without --audit are unaffected, and the diagnostic is a warning, so exit
    codes do not change.

Fixed

  • Swift and Dart scanners now report malformed and duplicate @doc targets as
    invalid_link_target and duplicate_link, matching TypeScript instead of
    silently accepting or discarding the annotations.
  • docbridge graph --include-content no longer truncates a signature at an
    object type. It cut the rendered text at the first {, which for
    login(options: { verbose: boolean }) produced login(options: {}. A
    signatureRange already ends where the implementation body begins in every
    language, so no body has to be cut out of it.
  • The VS Code extension manifest is version-aligned with the npm package again
    (0.4.1 had drifted from 0.6.1), so a checkout of main is a valid input
    to just package-vsix. Release Prepare now bumps both manifests through
    scripts/set-release-version.ts and stages both in the release commit, so a
    CLI release can no longer leave the extension version behind.
  • just package-vsix bundles the server the VSIX ships with --target node,
    matching the npm build. The Bun-targeted bundle it built before still carried
    a #!/usr/bin/env node shebang and crashed with __require is not a function
    when the packaging flow's own verify-dist step executed it.

Removed

  • The agent-hook integration is gone from the product surface: the copyable
    scripts under examples/hooks/ and the hook recipes in
    docs/integrations/claude-code.md and docs/integrations/codex.md no longer
    ship. Wiring DocBridge into an agent's PostToolUse/Stop hooks covered only
    the agents that read those configuration files; the documented guardrail is
    now a Git pre-commit hook, which applies to every contributor and every
    tool. Both integration documents survive as skill-installation guides,
    docbridge context and docbridge related --gate are unchanged, and
    docbridge docs show agent-integration describes the Git-hook shape instead.
    Copies already installed in adopters' repositories keep working.