Skip to content

Commit c55f19d

Browse files
danielewoodclaude
andauthored
chore: release v0.7.7 (#49)
Rename [Unreleased] to [0.7.7] - 2026-02-17, add fresh empty [Unreleased] section, add missing PR refs (CL-3), and update comparison links. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 2c77c2f commit c55f19d

File tree

1 file changed

+24
-16
lines changed

1 file changed

+24
-16
lines changed

CHANGELOG.md

Lines changed: 24 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,33 +7,36 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [0.7.7] - 2026-02-17
11+
1012
### Security
1113

1214
- Restore authorization checks on Claude Code workflow to prevent unauthorized users from triggering the workflow and exposing OAuth token secret ([#46])
1315

1416
### Changed
1517

1618
- Migrate CI workflows and pre-commit hooks to organization-wide reusable workflows in `sensiblebit/.github` ([#45])
17-
- Consolidate CI from 16 jobs to 10 by merging jobs with identical setup: branch-name + commit-messages + verified-commits → PR Conventions, go-build + go-vet + goimports → Go Checks, web-test + wrangler-build → Web, web-lint + markdownlint → Lint
18-
- Remove redundant `go vet` and `go test` steps from release workflow — tags are created from main which already passed CI
19-
- Consolidate Dependabot GitHub Actions PRs into a single grouped PR instead of one per action
20-
- Add `build(deps)` commit-message prefix to Dependabot so PR titles and commits follow Conventional Commits
21-
- Run all steps in consolidated CI jobs even when earlier steps fail (`if: success() || failure()`) so all failures are reported at once
22-
- Replace fragile hardcoded file list in WASM pre-commit hook with `types: [go]`
23-
- Consolidate `run()` and `run_output()` into single `run(cmd, *, capture=False)` in `checks.py`
19+
- Consolidate CI from 16 jobs to 10 by merging jobs with identical setup: branch-name + commit-messages + verified-commits → PR Conventions, go-build + go-vet + goimports → Go Checks, web-test + wrangler-build → Web, web-lint + markdownlint → Lint ([#45])
20+
- Remove redundant `go vet` and `go test` steps from release workflow — tags are created from main which already passed CI ([#45])
21+
- Consolidate Dependabot GitHub Actions PRs into a single grouped PR instead of one per action ([#32])
22+
- Add `build(deps)` commit-message prefix to Dependabot so PR titles and commits follow Conventional Commits ([#32])
23+
- Run all steps in consolidated CI jobs even when earlier steps fail (`if: success() || failure()`) so all failures are reported at once ([#32])
24+
- Replace fragile hardcoded file list in WASM pre-commit hook with `types: [go]` ([#45])
25+
- Consolidate `run()` and `run_output()` into single `run(cmd, *, capture=False)` in `checks.py` ([#29])
2426

2527
### Added
2628

27-
- Add Dependabot npm ecosystem monitoring for `web/` dependencies
28-
- Add GitHub issue templates (bug report and feature request) with YAML form format
29-
- Add pull request template with summary, test plan, and checklist
30-
- Add `--fix` suggestion to `checks.py` goimports failure output
31-
- Add `require_tool()` guard in `checks.py` for `go`, `gh` — gives clear errors when tools are missing locally
32-
- Add Claude Code automatic PR review and `@claude` mention workflows
33-
- Add Copilot review instructions (`.github/copilot-instructions.md`) with project coding standards
29+
- Add Dependabot npm ecosystem monitoring for `web/` dependencies ([#32])
30+
- Add GitHub issue templates (bug report and feature request) with YAML form format ([#29])
31+
- Add pull request template with summary, test plan, and checklist ([#29])
32+
- Add `--fix` suggestion to `checks.py` goimports failure output ([#29])
33+
- Add `require_tool()` guard in `checks.py` for `go`, `gh` — gives clear errors when tools are missing locally ([#29])
34+
- Add Claude Code automatic PR review and `@claude` mention workflows ([#35])
35+
- Add Copilot review instructions (`.github/copilot-instructions.md`) with project coding standards ([#35])
3436

3537
### Tests
3638

39+
- Streamline test suite per T-9 through T-14: remove redundant tests, consolidate per-algorithm tests into table-driven, reduce thin-wrapper exhaustiveness ([#48])
3740
- Ralph Loop pass 6 — process-level key normalization and DSA skip coverage ([`55b5c1e`]):
3841
- Add `TestNormalizePrivateKey` testing Ed25519 pointer→value, value no-op, RSA/ECDSA/nil passthrough
3942
- Add `TestProcessData_DSAPrivateKeyBlock_SilentlySkipped` testing DSA PRIVATE KEY block is silently skipped without blocking valid keys
@@ -85,7 +88,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
8588
- Add nil certificate validation in `EncodePKCS12` and `EncodePKCS12Legacy` — prevents panic from underlying library when leaf certificate is nil ([`1ea20c4`])
8689
- Normalize Ed25519 pointer-form keys in `EncodePKCS12` and `EncodePKCS12Legacy` before validation — previously rejected `*ed25519.PrivateKey` with a confusing "unsupported private key type" error ([`1ea20c4`])
8790
- Add PKCS#1 RSA DER key detection to binary format pipeline — previously PKCS#1 RSA DER files were silently skipped during ingestion ([`1ea20c4`])
88-
- Fix CI commit-message check ignoring `--base-ref` argument — base ref was parsed as positional `file` arg instead of the named `--base-ref` flag, always defaulting to `origin/main`
91+
- Fix CI commit-message check ignoring `--base-ref` argument — base ref was parsed as positional `file` arg instead of the named `--base-ref` flag, always defaulting to `origin/main` ([#29])
8992
- Fix `ClassifyHosts` email detection using `mail.ParseAddress` instead of `strings.Contains(h, "@")` — rejects invalid inputs like `"user@"`, `"@example.com"`, and display-name forms ([`2221a47`])
9093
- Accept `"NEW CERTIFICATE REQUEST"` PEM block type in `ParsePEMCertificateRequest` — supports CSRs from legacy tools (Netscape, MSIE) that use the older header format ([`2221a47`])
9194
- Fix `MarshalPrivateKeyToPEM` failing with `*ed25519.PrivateKey` pointer form — add `normalizeKey` before PKCS#8 marshaling ([`0fa55af`])
@@ -466,7 +469,8 @@ Initial release.
466469
- PKCS#12, PKCS#7, and JKS encode/decode support
467470
- Homebrew distribution via GoReleaser
468471

469-
[Unreleased]: https://github.com/sensiblebit/certkit/compare/v0.7.6...HEAD
472+
[Unreleased]: https://github.com/sensiblebit/certkit/compare/v0.7.7...HEAD
473+
[0.7.7]: https://github.com/sensiblebit/certkit/compare/v0.7.6...v0.7.7
470474
[0.7.6]: https://github.com/sensiblebit/certkit/compare/v0.7.5...v0.7.6
471475
[0.7.5]: https://github.com/sensiblebit/certkit/compare/v0.7.4...v0.7.5
472476
[0.7.4]: https://github.com/sensiblebit/certkit/compare/v0.7.3...v0.7.4
@@ -549,8 +553,12 @@ Initial release.
549553
[`a62908f`]: https://github.com/sensiblebit/certkit/commit/a62908f
550554
[`55b5c1e`]: https://github.com/sensiblebit/certkit/commit/55b5c1e
551555
[`8cf81d9`]: https://github.com/sensiblebit/certkit/commit/8cf81d9
556+
[#48]: https://github.com/sensiblebit/certkit/pull/48
552557
[#46]: https://github.com/sensiblebit/certkit/pull/46
553558
[#45]: https://github.com/sensiblebit/certkit/pull/45
559+
[#35]: https://github.com/sensiblebit/certkit/pull/35
560+
[#32]: https://github.com/sensiblebit/certkit/pull/32
561+
[#29]: https://github.com/sensiblebit/certkit/pull/29
554562
[#24]: https://github.com/sensiblebit/certkit/pull/24
555563
[#25]: https://github.com/sensiblebit/certkit/pull/25
556564
[#26]: https://github.com/sensiblebit/certkit/pull/26

0 commit comments

Comments
 (0)