# Changelog

## Score

- CAI 66 → 57 (-9.0)
- Rubric changed (rubric-2026.10.1 → rubric-2026.10.5) — scores are not directly comparable.

## Lenses

- Code Health 99 → 73 (-26.1)
- Architecture 69 → 69 (+0.0)
- Maturity 55 → 39 (-16.7)
- Readiness 72 → 72 (+0.0)
- Security 91 → 91 (+0.0)
- Domain Modelling 100 → 100 (+0.0)
- Performance 85 → 85 (+0.0)

## Resolved (4)

- Ambiguous naming for client status/info retrieval methods. 'query_info' and 'info' are semantically similar and could be confused, especially if one returns query-specific metadata and the other general connection status.
- Inconsistent parameter naming for the same operation across synchronous and asynchronous client implementations. The synchronous client uses 'options' while the async (EventMachine) client uses 'opts'.
- Off-boarding risk: anonymized user #1
- Workflow token permissions not restricted

## New (7)

- Duplicated block (15 lines × 2) (support/ruby_enc_to_mysql.rb)
- Inconsistent parameter naming convention between synchronous and asynchronous (EventMachine) clients. The sync client uses 'options' while the async client uses 'opts'.
- Off-boarding risk: anonymized user #1
- Orphaned file (lib/mysql2/error.rb)
- Redundant factory method. Ruby idioms typically use 'new' or 'initialize' for construction. 'new_with_args' is non-standard and duplicates the functionality of 'initialize' (which is called by 'new').
- Workflow token permissions not restricted (.github/workflows/build.yml)
- Workflow token permissions not restricted (.github/workflows/rubocop.yml)

## Changes since last survey

- 3 commits — 3 feature/other, 0 fixes

## By area

- .github/workflows — 1 commit
- ext/mysql2 — 1 commit
- spec/mysql2 — 1 commit

## Notable commits

- change: Add Ruby 4.0 to the Windows CI matrix (#1616)
- change: Keep cached prepared rows usable after Statement#close (#1611)
- change: Preserve unsigned DECIMAL precision in field_types (#1609)
