# Changelog

## Baseline

- First survey — no prior run to compare against. CAI 68.

## Lenses

- Code Health 77
- Architecture 100
- Maturity 66
- Readiness 81
- Security 61

## Changes since last survey

- 300 commits — 280 feature/other, 20 fixes

## By area

- (repo) — 129 commits
- (root) — 29 commits
- .github/workflows — 25 commits
- tests/robustness — 14 commits
- CHANGELOG/CHANGELOG-3.5.md — 11 commits
- CHANGELOG/CHANGELOG-3.7.md — 7 commits
- server/storage — 7 commits
- tools/mod — 7 commits
- Documentation/contributor-guide — 6 commits
- client/v3 — 6 commits
- server/etcdserver — 6 commits
- tests/antithesis — 6 commits
- tools/rw-heatmaps — 6 commits
- tests/integration — 5 commits
- CHANGELOG/CHANGELOG-3.6.md — 4 commits
- etcdctl/ctlv3 — 4 commits
- .github/dependabot.yml — 3 commits
- client/pkg — 3 commits
- scripts/test.sh — 2 commits
- server/embed — 2 commits

## Notable commits

- fix: Fix handling V2 entry in robustness tests after changes to proto
- fix: Fix the costTxnReq ignores nested RequestTxn issue
- fix: Fix the security issue where a user granted read permission on one key could receive watch responses for every key starting from that key
- fix: Fix unbounded io.ReadAll on peer lease HTTP handler body
- fix: Fix unsynchronized range over leaseCache.entries
- fix: Merge pull request #21422 from huajianxiaowanzi/fix-txn-lease-hex-parsing
- fix: Merge pull request #21916 from ivanvc/fix-devcontainer-workflow-remove-workflows-permission
- fix: Merge pull request #21970 from AwesomePatrol/fix-etcd-k8s-patches
- fix: Merge pull request #21973 from s3onghyun/docs-fix-changelog-link
- fix: Merge pull request #22080 from marksmwl/fix/22010-double-barrier-nil-session
- fix: Merge pull request #22208 from anveshreddy18/fix-etcdctl-duplicate-raftterm
- fix: Update changelog to cover recent security fixes
- fix: changelog: add etcdctl RaftTerm fix entry for 3.5, 3.6 and 3.7
- fix: etcdctl: fix txn command import grouping
- fix: etcdctl: fix txn compare test for wrapped Cmp
- fix: fix golangci-lint path, genproto, go.work.sum
- fix: fix(txn): parse lease ID as hex in comparison
- fix: robustness: Fix defaulting for proto comparison when merging WAL history
- fix: robustness: fix downgrade test failure
- fix: tests: fix data race on client watch operations
- …and 280 more
