|
1 | 1 | # Changelog |
2 | 2 |
|
3 | | -Curated release notes for each version are published on |
4 | | -**[GitHub Releases](https://github.com/RandomCodeSpace/docsiq/releases)**. |
| 3 | +All notable changes to **docsiq** are documented in this file. |
5 | 4 |
|
6 | | -Every release includes: |
| 5 | +The format is based on [Keep a Changelog 1.1.0](https://keepachangelog.com/en/1.1.0/), |
| 6 | +and this project adheres to [Semantic Versioning 2.0.0](https://semver.org/spec/v2.0.0.html). |
| 7 | +Each release is identified by an immutable `vX.Y.Z` git tag. |
7 | 8 |
|
8 | | -- A human-readable summary of changes (the release body). |
9 | | -- A `CHANGELOG.md` asset attached to the release, containing the same |
10 | | - curated notes. |
11 | | -- Signed binaries (cosign keyless + Rekor), a signed `SHA256SUMS`, and |
12 | | - SLSA build provenance. |
| 9 | +## How releases are produced |
13 | 10 |
|
14 | | -## Release procedure |
15 | | - |
16 | | -Release notes are provided at release time, not maintained in-repo: |
| 11 | +Releases are cut by the manual |
| 12 | +[`release.yml`](.github/workflows/release.yml) workflow: |
17 | 13 |
|
18 | 14 | ```sh |
19 | 15 | gh workflow run release.yml --ref main \ |
20 | 16 | -f bump=patch \ |
21 | 17 | -f notes=$'### Changed\n\n- Describe major changes...\n\n### Upgrade impact\n\nDrop-in replacement — no schema/API changes.' |
22 | 18 | ``` |
23 | 19 |
|
24 | | -The workflow uses the `notes` input verbatim as the release body and |
25 | | -also uploads it as `CHANGELOG.md` on the release page. The repository |
26 | | -never auto-commits a CHANGELOG entry — this file is static. |
| 20 | +The workflow uses the `notes` input verbatim as the GitHub Release body |
| 21 | +and uploads it as `CHANGELOG.md` on the release page. Each release ships |
| 22 | +signed binaries (cosign keyless via Sigstore + Rekor anchoring), a signed |
| 23 | +`SHA256SUMS`, and SLSA build provenance. |
| 24 | + |
| 25 | +This in-repo file is the canonical, human-curated history. The matching |
| 26 | +GitHub Release page for each `vX.Y.Z` tag carries the same notes plus the |
| 27 | +signed artifacts and verification snippet. |
| 28 | + |
| 29 | +## [Unreleased] |
| 30 | + |
| 31 | +No unreleased changes. |
| 32 | + |
| 33 | +## [0.0.3] — 2026-04-23 |
| 34 | + |
| 35 | +Supply-chain hardening: complete OpenSSF Best Practices passing tier and |
| 36 | +flip the published Scorecard signal up. |
| 37 | + |
| 38 | +### Added |
| 39 | +- `.bestpractices.json` so the OpenSSF Best Practices badge tracks |
| 40 | + project [12628](https://www.bestpractices.dev/en/projects/12628) |
| 41 | + automatically. ([#45]) |
| 42 | +- Governance and community files (`SECURITY.md`, `CODE_OF_CONDUCT.md`, |
| 43 | + `CONTRIBUTING.md`, issue / PR templates) to flip the remaining |
| 44 | + Best Practices criteria to Met. ([#46]) |
| 45 | +- Initial `CHANGELOG.md` and the rest of the missing Best Practices |
| 46 | + criteria (release-notes pointer, vulnerability-report instructions, |
| 47 | + build documentation pointers). ([#48]) |
| 48 | + |
| 49 | +### Changed |
| 50 | +- Release signing path: switched to `goreleaser` to expose a |
| 51 | + `Packaging` signal to OSSF Scorecard, then dropped it again because |
| 52 | + prebuilt-binary signing is a goreleaser Pro feature. The current |
| 53 | + release path is inline `cosign sign-blob` + `gh release create`, |
| 54 | + preserving keyless signing without the Pro dependency. |
| 55 | + ([#43], [#50]) |
| 56 | +- CI hygiene: dropped `push: main` triggers from the `ci` and `fuzz` |
| 57 | + workflows. Both still run on PRs and on the relevant scheduled jobs; |
| 58 | + this removes ~2 minutes from each merge while keeping branch |
| 59 | + protection coverage intact. ([#47]) |
| 60 | + |
| 61 | +### Fixed |
| 62 | +- CodeQL path/command-injection findings closed by adding |
| 63 | + `filepath.IsLocal` sanitisers on user-supplied path inputs in the |
| 64 | + loader and crawler boundaries. ([#44]) |
| 65 | +- `TestScale_1000Notes` flake on macOS — dropped macOS from the test |
| 66 | + matrix (Linux-only CI is sufficient for the supported targets; |
| 67 | + darwin-arm64 builds are still produced in the release matrix). |
| 68 | + ([#49]) |
| 69 | + |
| 70 | +[#43]: https://github.com/RandomCodeSpace/docsiq/pull/43 |
| 71 | +[#44]: https://github.com/RandomCodeSpace/docsiq/pull/44 |
| 72 | +[#45]: https://github.com/RandomCodeSpace/docsiq/pull/45 |
| 73 | +[#46]: https://github.com/RandomCodeSpace/docsiq/pull/46 |
| 74 | +[#47]: https://github.com/RandomCodeSpace/docsiq/pull/47 |
| 75 | +[#48]: https://github.com/RandomCodeSpace/docsiq/pull/48 |
| 76 | +[#49]: https://github.com/RandomCodeSpace/docsiq/pull/49 |
| 77 | +[#50]: https://github.com/RandomCodeSpace/docsiq/pull/50 |
| 78 | + |
| 79 | +## [0.0.2] — 2026-04-23 |
| 80 | + |
| 81 | +Small CI-only follow-up to v0.0.1. No user-facing behaviour changes. |
| 82 | + |
| 83 | +### Changed |
| 84 | +- OpenSSF Scorecard workflow cadence: `scorecard.yml` now runs on |
| 85 | + release completion and on a weekly schedule, instead of firing on |
| 86 | + every push to `main`. The policy being scored is unchanged; this |
| 87 | + trims noise from re-scoring commits that don't move any |
| 88 | + scorecard-visible state. ([#42]) |
| 89 | + |
| 90 | +### Upgrade impact |
| 91 | +Safe drop-in upgrade from v0.0.1. No API, CLI, or on-disk schema |
| 92 | +changes — replace the binary in place. |
| 93 | + |
| 94 | +[#42]: https://github.com/RandomCodeSpace/docsiq/pull/42 |
| 95 | + |
| 96 | +## [0.0.1] — 2026-04-23 |
| 97 | + |
| 98 | +First non-beta release of docsiq after an extended beta phase. This |
| 99 | +release establishes the feature set and API surface that subsequent |
| 100 | +0.0.x patches maintain back-compat against. |
| 101 | + |
| 102 | +### Added |
| 103 | +- **GraphRAG indexing pipeline** — five-phase ingestion: chunk → |
| 104 | + extract entities + relationships + claims → community-detect |
| 105 | + (Louvain) → embed → persist. |
| 106 | +- **Document loaders** — PDF (langchaingo), DOCX, TXT, Markdown, and a |
| 107 | + polite web crawler with `robots.txt` + allow-list + MIME checks. |
| 108 | +- **Multi-provider LLM layer** — Azure OpenAI, OpenAI, and Ollama |
| 109 | + behind a single `internal/llm` abstraction (langchaingo |
| 110 | + underneath). |
| 111 | +- **Hybrid query engine** — local search (vector + FTS5) plus global |
| 112 | + search (community-summary). |
| 113 | +- **Surfaces** — CLI (`docsiq index|search|serve`), REST API, MCP |
| 114 | + server, and an embedded React SPA served by `docsiq serve`. |
| 115 | +- **Storage** — single SQLite file with `sqlite_fts5` + `sqlite-vec` |
| 116 | + for vector search. No external DB to deploy. |
| 117 | + |
| 118 | +### Security |
| 119 | +- Release binaries signed with [cosign](https://github.com/sigstore/cosign) |
| 120 | + keyless via Sigstore and anchored to the Rekor transparency log. |
| 121 | +- Signed `SHA256SUMS` published with each release, with verification |
| 122 | + instructions attached. |
| 123 | +- SLSA build provenance (`.intoto.jsonl`) accompanies the binaries. |
| 124 | + |
| 125 | +### Known limitations |
| 126 | +- Darwin support is limited to `arm64`; `amd64` binaries are not |
| 127 | + built (cgo + sqlite-vec cross-compile complexity). |
| 128 | +- Pre-1.0: APIs and on-disk schema are not yet frozen. |
| 129 | + |
| 130 | +### Upgrade impact |
| 131 | +No previous stable release exists — this is v0.0.1. Users upgrading |
| 132 | +from `v0.0.0-beta.*` should start with a fresh data directory; the |
| 133 | +schema is the same as the final beta but the beta tags have been |
| 134 | +retired. |
27 | 135 |
|
28 | | -The project follows |
29 | | -[Semantic Versioning](https://semver.org/spec/v2.0.0.html) and each |
30 | | -release is identified by its immutable `vX.Y.Z` tag. |
| 136 | +[Unreleased]: https://github.com/RandomCodeSpace/docsiq/compare/v0.0.3...HEAD |
| 137 | +[0.0.3]: https://github.com/RandomCodeSpace/docsiq/releases/tag/v0.0.3 |
| 138 | +[0.0.2]: https://github.com/RandomCodeSpace/docsiq/releases/tag/v0.0.2 |
| 139 | +[0.0.1]: https://github.com/RandomCodeSpace/docsiq/releases/tag/v0.0.1 |
0 commit comments