|
| 1 | +# Changelog |
| 2 | + |
| 3 | +All notable changes to this project are documented in this file. |
| 4 | + |
| 5 | +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), |
| 6 | +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). |
| 7 | + |
| 8 | +Per-tag release notes — including the full beta sequence (`v0.0.1-beta.0` … |
| 9 | +`v0.0.1-beta.46`) — are published on |
| 10 | +[GitHub Releases](https://github.com/RandomCodeSpace/codeiq/releases). This file |
| 11 | +captures the cross-cutting changes that span multiple commits or releases (new |
| 12 | +quality gates, security policy, deploy surface, etc.) — see the GitHub Release |
| 13 | +for that specific tag for the per-commit details. |
| 14 | + |
| 15 | +## [Unreleased] |
| 16 | + |
| 17 | +### Added |
| 18 | + |
| 19 | +- OpenSSF supply-chain wiring — Best Practices project |
| 20 | + [12650](https://www.bestpractices.dev/projects/12650), live Scorecard at |
| 21 | + [securityscorecards.dev](https://api.securityscorecards.dev/projects/github.com/RandomCodeSpace/codeiq), |
| 22 | + manifest at `.bestpractices.json`, README badges. (RAN-46, RAN-52, RAN-57) |
| 23 | +- `.github/workflows/scorecard.yml` — OpenSSF Scorecard analysis on push + |
| 24 | + weekly cron (Mondays 06:00 UTC), SARIF → Security tab. All actions |
| 25 | + SHA-pinned per Scorecard `Pinned-Dependencies`. |
| 26 | +- `.github/workflows/security.yml` — consolidated OSS-CLI security stack |
| 27 | + per RAN-46 path-B board ruling: OSV-Scanner (npm SCA), Trivy (filesystem + |
| 28 | + Maven + container CVEs + IaC misconfig), Semgrep (SAST: `p/security-audit` |
| 29 | + + `p/owasp-top-ten` + `p/java`), Gitleaks (secret scan, full git history), |
| 30 | + jscpd (duplication < 3% on production code), `anchore/sbom-action` (SPDX + |
| 31 | + CycloneDX SBOM). Six gate-blocking jobs (SBOM is artifact-only). |
| 32 | +- `SECURITY.md` — private vulnerability-disclosure policy, supported-versions |
| 33 | + table, triage SLAs (acknowledgement < 72 h, initial triage < 7 d), and |
| 34 | + coordinated-disclosure timeline. |
| 35 | +- `shared/runbooks/` — `engineering-standards.md` (quality gates, code style, |
| 36 | + branch/commit/PR rules, testing tiers, security stack, build & distribution, |
| 37 | + documentation), `release.md`, `rollback.md`, `first-time-setup.md`, |
| 38 | + `test-strategy.md`. SSoT for cross-cutting engineering rules. |
| 39 | +- `scripts/setup-git-signed.sh` — one-shot ssh-signed-commit setup helper. |
| 40 | +- `CLAUDE.md` "Supply-chain observability (OpenSSF)" section — operator-level |
| 41 | + summary of the Best Practices state, Scorecard baseline + target (≥ 8.0/10 |
| 42 | + stretch with eight checks at max), known floor reductions, and the OSS-CLI |
| 43 | + stack reference. (RAN-52 AC #7) |
| 44 | + |
| 45 | +### Changed |
| 46 | + |
| 47 | +- Branch protection on `main` requires every commit to be ssh-signed |
| 48 | + (RAN-46 AC #2). Force-pushes to `main` are rejected; squash-merge from |
| 49 | + PRs is the only path. |
| 50 | +- Top-level `permissions: read-all` on every GitHub Actions workflow per |
| 51 | + Scorecard `Token-Permissions`. Per-job permissions opt into narrower |
| 52 | + writes only where required (`security-events: write` for SARIF upload; |
| 53 | + `id-token: write` for the Scorecard publish step). |
| 54 | +- Quality gate stack converged to OSS-CLI only: SpotBugs (`mvn spotbugs:check`), |
| 55 | + JaCoCo coverage (≥ 85% line, project-wide), Semgrep + Trivy + OSV-Scanner + |
| 56 | + Gitleaks + jscpd from `security.yml`, plus OpenSSF Scorecard as |
| 57 | + observability. (RAN-46 path-B board ruling.) |
| 58 | + |
| 59 | +### Removed |
| 60 | + |
| 61 | +- SonarCloud, CodeQL (default-setup and workflow-driven), and OWASP |
| 62 | + Dependency-Check are no longer part of the merge gate. Per the RAN-46 |
| 63 | + path-B board ruling, they are not to be re-introduced without an explicit |
| 64 | + board reversal — see `shared/runbooks/engineering-standards.md` §5.1. |
| 65 | + |
| 66 | +## [0.1.0] - 2026-03-28 |
| 67 | + |
| 68 | +First general-availability cut. See the |
| 69 | +[v0.1.0 GitHub Release](https://github.com/RandomCodeSpace/codeiq/releases/tag/v0.1.0) |
| 70 | +for the full notes. |
| 71 | + |
| 72 | +- 97 detectors across 35+ languages. |
| 73 | +- Three-command pipeline: `index` → `enrich` → `serve`. |
| 74 | +- Read-only REST API (37 endpoints), MCP server (34 tools, Spring AI 2.0 |
| 75 | + streamable HTTP), and React UI shipped inside a single signed JAR. |
| 76 | +- Maven Central coordinates: `io.github.randomcodespace.iq:code-iq`. |
| 77 | + |
| 78 | +## [0.0.1-beta.0] – [0.0.1-beta.46] - 2026-Q1 |
| 79 | + |
| 80 | +Pre-GA beta line. Full per-tag notes on |
| 81 | +[GitHub Releases](https://github.com/RandomCodeSpace/codeiq/releases?q=prerelease%3Atrue). |
| 82 | +The beta cadence shipped from `beta-java.yml` on `workflow_dispatch`; each |
| 83 | +beta is an immutable Sonatype Central beta artifact + GPG-signed annotated |
| 84 | +git tag + GitHub pre-release. |
| 85 | + |
| 86 | +[Unreleased]: https://github.com/RandomCodeSpace/codeiq/compare/v0.1.0...HEAD |
| 87 | +[0.1.0]: https://github.com/RandomCodeSpace/codeiq/releases/tag/v0.1.0 |
0 commit comments