Skip to content

Releases: ubgo/docsync

Go module: docsync 0.1.3 (no downloads)

Choose a tag to compare

@khanakia khanakia released this 01 Oct 09:41

The docsync library module, 0.1.3, part of the 0.1.5 release. To install the tool, see ds/v0.1.5.

go get github.com/ubgo/docsync@v0.1.3

See CHANGELOG.md.

Go module: docsync 0.1.2 (no downloads)

Choose a tag to compare

@khanakia khanakia released this 01 Oct 04:47

The docsync library, 0.1.2: policy.require_doc and the unmarked report now count a file by its extension, whichever tier read it, so they cover languages read by a syntax tier. Licensed Apache-2.0. To install the tool, see ds/v0.1.4.

go get github.com/ubgo/docsync@v0.1.2

See CHANGELOG.md.

Go module: docsync 0.1.1 (no downloads)

Choose a tag to compare

@khanakia khanakia released this 01 Oct 03:03

The docsync library, 0.1.1: config.RunConfig gains Shell (the [run] shell key, default config.DefaultRunShell, "sh"). Nothing else changed. To install the tool, see ds/v0.1.3.

go get github.com/ubgo/docsync@v0.1.1

See CHANGELOG.md.

Go module: ext/treesitter 0.1.2 (no downloads)

Choose a tag to compare

@khanakia khanakia released this 01 Oct 09:42

The docsync ext/treesitter module, 0.1.2, part of the 0.1.5 release. To install the tool, see ds/v0.1.5.

go get github.com/ubgo/docsync/ext/treesitter@v0.1.2

See CHANGELOG.md.

Go module: ext/treesitter 0.1.1 (no downloads)

Choose a tag to compare

@khanakia khanakia released this 01 Oct 04:47

The tree-sitter tier, 0.1.1: the text inside a Go string literal is now part of a block's hash. Read the Upgrading section of the changelog: Go blocks containing strings report once. To install the tool, see ds/v0.1.4.

go get github.com/ubgo/docsync/ext/treesitter@v0.1.1

Go module: ext/structured 0.1.1 (no downloads)

Choose a tag to compare

@khanakia khanakia released this 01 Oct 09:41

The docsync ext/structured module, 0.1.1, part of the 0.1.5 release. To install the tool, see ds/v0.1.5.

go get github.com/ubgo/docsync/ext/structured@v0.1.1

See CHANGELOG.md.

Go module: ext/records/sqlite 0.1.1 (no downloads)

Choose a tag to compare

The docsync ext/records/sqlite module, 0.1.1, part of the 0.1.5 release. To install the tool, see ds/v0.1.5.

go get github.com/ubgo/docsync/ext/records/sqlite@v0.1.1

See CHANGELOG.md.

ds 0.1.5 — the CLI (downloads)

Choose a tag to compare

@khanakia khanakia released this 01 Oct 09:44

ds 0.1.5: 81 fixes from a sweep that ran every documented behaviour against the binary, and a seventh secret-resolver plugin.

Read before upgrading

  • ds check --resolve now also needs [resolve] enabled = true in .ds/config.toml, as --run needs [run] enabled. Without it, ds says so on stderr and contacts nothing.
  • Config keys that were accepted and did nothing are refused when the config loads: notify.github_issues, [sources.*], [workspace.id], [workspace.env].
  • The text summary of ds check says ok instead of none, and prints the diff under each finding.
  • Repo-mode copies keep working; ds refresh rewrites their links relative to the page when you next run it.

What changed, briefly

  • Checking: the diff under a finding is taken from the body the citation was acked at, never the wrong old version; a signature change checked without a scan no longer passes stability=api; a changed constant is a value change; output order no longer depends on random id suffixes.
  • ds def: never writes a directive into a .properties/INI/.env value; finds every name a scan records (Holder.Member, Python constants, TypeScript object paths, HCL and TOML tables, shell functions); path:A-B binds that range.
  • Directives: more file types, multi-line directive comments, link-form values with spaces ([text](<ds:…>)) and quoted values, span= in YAML/TOML/HCL, type= and id validation.
  • Commands: render --at uses that commit throughout; rendered links are relative to the page; context --since <commit> works; ds lsp uses the editor's workspace root; github comment --dry-run needs no token.
  • Secrets, URLs, runs: 1Password addresses resolve; Vault addresses resolve; new ds-resolve-env plugin; local=true is checked where its file exists; ds:run honours timeout= and expect=; a link that gets no answer is unverifiable, never cached as dead.
  • Cross-repo and agents: another repository's citation says where to ack it; ds why lists citers in other repositories; a git-hosted index is cloned on first use; MCP acks need a delegate listed in [owners]; ds init --agents registers ds mcp with Cursor, VS Code and Gemini configs where present.
  • Integrations: the Docusaurus plugin builds on Docusaurus 3.10; the Hugo status partial lists only the current page; the GitHub action commits acks made through its label.

The full list, with the fixed bug numbers, is in the changelog. The user guide is now executable: every example in it runs against the binary in the project's gate.

Install

macOS (Apple silicon) and Linux (amd64, arm64):

curl -fsSL https://raw.githubusercontent.com/ubgo/docsync/main/install.sh | sh

Windows (amd64, ARM64), in PowerShell:

irm https://raw.githubusercontent.com/ubgo/docsync/main/install.ps1 | iex

With Go 1.26+ and a C compiler:

go install github.com/ubgo/docsync/cli/cmd/ds@v0.1.5

Every archive holds ds and the six secret-resolver plugins (aws, env, gcp, github, onepassword, vault), with a checksums.txt.

ds 0.1.4 — the CLI (downloads)

Choose a tag to compare

@khanakia khanakia released this 01 Oct 04:49

ds 0.1.4: three fixes for changes that went unnoticed, the user guide, and a move to the Apache License 2.0.

What changed

  • Fixed: Go string text is now part of the hash. Changing errors.New("account locked") to "account suspended", a URL or a query inside a Go function never flagged the sentences citing it.
  • Fixed: policy.require_doc and ds report's unmarked view now cover Go, TypeScript, TSX, JavaScript, Python and SQL. They used to skip every file read by a tree-sitter grammar.
  • Fixed: ds github comment left each block diff's code fence open, so the rest of the comment rendered as code.
  • The extraction cache is keyed on the ds build, so an upgrade re-reads each file once.
  • License: Apache-2.0 from this release on.
  • Docs: the user guide is at docs/guide.

Upgrading

Go blocks whose code contains a "…" string get a new hash, so their citations report once after the upgrade. The changelog has a prompt a coding agent can follow to re-ack only the citations whose code did not change.

Install

macOS (Apple silicon) and Linux (amd64, arm64):

curl -fsSL https://raw.githubusercontent.com/ubgo/docsync/main/install.sh | sh

Windows (amd64, ARM64), in PowerShell:

irm https://raw.githubusercontent.com/ubgo/docsync/main/install.ps1 | iex

With Go 1.26+ and a C compiler:

go install github.com/ubgo/docsync/cli/cmd/ds@v0.1.4

Every archive holds ds and the five secret-resolver plugins, with a checksums.txt.

ds 0.1.3 — the CLI (downloads)

Choose a tag to compare

@khanakia khanakia released this 01 Oct 03:05

ds 0.1.3: a configurable shell for ds:run, a Windows concurrency fix, and the end-to-end matrices now running on Linux and Windows.

What changed

  • New: [run] shell names the shell that ds:run commands and the [review] command run under (default sh), for machines without sh or teams whose commands are written for another shell (shell = "pwsh").
  • Fixed: when the shell is not on PATH, ds check --run and ds review --ai stop with an error naming the shell and the key. Before, every command was recorded as a failed run with no output.
  • Fixed on Windows: a ds check running beside a ds scan could fail, or make the scan fail, because Windows refuses to replace a file another process has open at that instant. Reads and writes under .ds/ now wait that out.
  • A ds:run file= script is passed to the shell as an argument of its own.

Every archive holds ds and the five secret-resolver plugins.

Install

macOS (Apple silicon) and Linux (amd64, arm64):

curl -fsSL https://raw.githubusercontent.com/ubgo/docsync/main/install.sh | sh

Windows (amd64, ARM64), in PowerShell:

irm https://raw.githubusercontent.com/ubgo/docsync/main/install.ps1 | iex

With Go 1.26+ and a C compiler (this is the way on an Intel Mac, for which there is no prebuilt binary):

go install github.com/ubgo/docsync/cli/cmd/ds@v0.1.3

Or download the archive for your platform below and check it against checksums.txt. See CHANGELOG.md.