diff --git a/CHANGELOG.md b/CHANGELOG.md index f0527fa..4b7190a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.4.0] - 2026-05-20 + ### Added - MIME-focused `detectBytes`, `detectPath`, and `detectStream` APIs returning @@ -18,9 +20,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - GitHub CodeQL static analysis workflow (`.github/workflows/codeql.yml`) running on push, pull request, and weekly cron with the `security-and-quality` query suite. - OWASP Dependency-Check SCA scan (`.github/workflows/dependency-check.yml`) running - on push, pull request, and weekly cron. Wired via a `security` Maven profile that - fails the build on CVSS ≥ 7 in runtime/compile scopes; SARIF report is uploaded to + on push to `main`, weekly cron, and `workflow_dispatch`. Uses the + `dependency-check/Dependency-Check_Action` Docker wrapper (pre-warmed NVD dataset), + scans only the consumer-facing runtime closure assembled via + `dependency:copy-dependencies`, and fails the build on CVSS ≥ 7. SARIF uploaded to the GitHub Security tab. +- PR-time dependency review via `actions/dependency-review-action` + (`.github/workflows/dependency-review.yml`) — fast GHSA-backed check on every pull + request, complements the deeper scheduled OWASP scan. +- Dependabot auto-merge workflow (`.github/workflows/dependabot-auto-merge.yml`) that + queues patch and minor Dependabot bumps for `--auto --squash` once required checks + pass. - Release workflow now attaches per-module CycloneDX SBOMs (JSON + XML) to the GitHub Release and generates Sigstore-backed `actions/attest-build-provenance` attestations for the published JARs plus `actions/attest-sbom` attestations linking each SBOM to @@ -30,6 +40,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Project converted to a Maven reactor while preserving the core artifact coordinates `dev.jcputney:magika-java`. +- Runtime dependency bumps: `jackson-databind` 2.21.2 → 2.21.3, `slf4j-api` 2.0.17 → + 2.0.18, `onnxruntime` 1.25.0 → 1.26.0. ## [0.3.0] - 2026-04-27 @@ -57,5 +69,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 and in the `.planning/milestones/` archives. No `## [0.1.0]` / `## [0.2.0]` sections appear here by design — those versions had no external consumers. -[Unreleased]: https://github.com/jcputney/magika-java/compare/v0.3.0...HEAD +[Unreleased]: https://github.com/jcputney/magika-java/compare/v0.4.0...HEAD +[0.4.0]: https://github.com/jcputney/magika-java/compare/v0.3.0...v0.4.0 [0.3.0]: https://github.com/jcputney/magika-java/releases/tag/v0.3.0 diff --git a/README.md b/README.md index a9517cc..fb98732 100644 --- a/README.md +++ b/README.md @@ -28,14 +28,14 @@ Maven: dev.jcputney magika-java - 0.3.0 + 0.4.0 ``` Gradle: ```groovy -implementation 'dev.jcputney:magika-java:0.3.0' +implementation 'dev.jcputney:magika-java:0.4.0' ``` Optional Apache Tika adapter: @@ -44,7 +44,7 @@ Optional Apache Tika adapter: dev.jcputney magika-java-tika - 0.3.0 + 0.4.0 ```