# Changelog

## Baseline

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

## Lenses

- Code Health 51
- Architecture 99
- Maturity 73
- Readiness 37
- Security 38
- Domain Modelling 100
- Accessibility 43

## Changes since last survey

- 300 commits — 220 feature/other, 80 fixes

## By area

- ai/src — 37 commits
- console/src — 32 commits
- console-ui-next/src — 20 commits
- client/src — 18 commits
- config/src — 18 commits
- common/src — 15 commits
- (root) — 14 commits
- core/src — 14 commits
- naming/src — 11 commits
- api/src — 10 commits
- specs/en — 10 commits
- test/maintainer-sdk-test — 9 commits
- .github/workflows — 8 commits
- plugin-default-impl/nacos-default-auth-plugin — 8 commits
- test/openapi-test — 8 commits
- test/java-sdk-test — 7 commits
- maintainer-client/src — 6 commits
- (repo) — 5 commits
- plugin-default-impl/nacos-default-ai-importer-plugin — 5 commits
- distribution/bin — 4 commits

## Notable commits

- fix: Apply the #14751 check-then-act fix to remaining naming index readers (#15182)
- fix: Fix config namespace isolation for ID-based operations (#15498)
- fix: Fix equals and hashCode contract violation in ManagerListenerWrap (#14959)
- fix: Fix flaky prompt cache, task manager, and fuzzy watch tests (#15187)
- fix: Fix off-by-one page count in PageUtil for divisible totals (#15446)
- fix: Fix prompt get default scope problem (#14919)
- fix: Fix skill meta description sync on upload (#15204)
- fix: Fix trailing separator in StringUtils.join when collection has null elements (#15410)
- fix: For #15240, Fix skill download filename overflow (#15241)
- fix: Merge pull request #14928 from LiyunZhang10/fix-remove-subscriber-indexes-race
- fix: Potential fix for pull request finding 'CodeQL / Workflow does not contain permissions'
- fix: [AI] Fix missing writeLock in MemoryMcpCacheIndex#removeIndex (data race) (#15067)
- fix: [BUG] Fix cross-thread visibility and race conditions for ManagerListenerWrap inNotifying (#14960)
- fix: [Bug] Fix TOCTOU race condition and thread leak in ClientWorker.ensureSyncExecutor() (#14927)
- fix: [Bug] Fix TOCTOU race condition and unsafe lazy init in CacheItem.initConfigGrayIfEmpty() (#14934)
- fix: [ISSUE #12585] Fix pagination parameter binding (#15407)
- fix: [ISSUE #14693] Fix MCP service selector pagination (#15413)
- fix: [ISSUE #14774] fix(plugin/oidc): shade Caffeine into plugin jar to avoid NoClassDefFoundError (#15001)
- fix: [ISSUE #14815] fix(style): change continuation_indentation from 2 to 1 (#15092)
- fix: [ISSUE #14908] fix(ai): SkillRemoteHandler#createDraft passes skillCard as targetVersion and loses targetVersion (#14909)
- …and 280 more
