You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The last member of the silent-config-typo family the 1.3.0 cycle exterminated (#238, #241, #242, #244). TupleManager.__getattr__ returns self.get(attr) — None for any typo'd key — and RegexTupleManager returns EMPTY_REGEX, which matches the empty string at every position:
CONSTANTS.regexes.parenthesys# EMPTY_REGEX — no error, matches everywhereCONSTANTS.capitalization_exceptions.phd_typo# None — no error
A misspelled regex override silently degrades parsing with no traceback pointing at the typo. (The dunder-probe guards added earlier protect copy/pickle protocols but not user typos.)
2.0: unknown attribute access raises AttributeError naming the known keys, mirroring parse_nicknames()'s existing fail-loud style. dict.get() remains available for intentional soft access. The nickname_delimiters/maiden_delimiters string sentinels are unaffected — they membership-check before resolving.
Activity
Add 2.0 deprecation warnings for 1.4 second-wave removals (#263) (#286)
Release v1.4.0 (#287)
Reconcile test_constants against the shim (buckets A, B, C)
Record the migration layer in AGENTS.md
fix: .get() on the regexes proxy is no longer swallowed by __getattr__
Remove the dead regexes.no_vowels config (#268)
docs: rewrite the 2.0 release log new-API-first and complete the audit
Reject given_name_titles entries that are not titles
Correct three release-log claims found by the v2.0 milestone audit
derek73 commentedon Jul 28, 2026
Shipped in 2.0.0. Delivery and release-log coverage were verified issue-by-issue in the pre-release milestone audit.