Repository navigation
v0.92.0
Added
- IntegrityCache Idempotent Write Support (SEC-CACHE-STRICT-CONCURRENCY-DOS-001):
- Previous:
write_once=Truerejected ALL overwrites, even identical values - Issue: Thundering herd scenarios caused N-1 threads to crash with
WriteConflictErrorwhen multiple threads resolved same message simultaneously - New:
content_hashproperty onIntegrityCacheEntryfor content-only comparison (excludes metadata) - New:
idempotent_writescounter and property onIntegrityCachetracking benign concurrent writes - New:
WRITE_ONCE_IDEMPOTENTandWRITE_ONCE_CONFLICTaudit log operations for distinguishing benign races from true conflicts - Fix:
put()compares content hashes before rejecting; identical values treated as idempotent success - Location:
runtime/cache.pyIntegrityCacheEntry.content_hash,IntegrityCache.put(),IntegrityCache.idempotent_writes - Impact: High-concurrency cold-cache scenarios no longer cause false-positive errors; financial applications can safely use
write_once=Trueunder load
- Previous:
Fixed
-
ISO Cache Size Complete Alignment (DOCS-ISO-CACHE-SIZE-MISMATCH-001):
- Previous:
_get_territory_impland_get_currency_implusedMAX_LOCALE_CACHE_SIZE(128) - Issue: CHANGELOG v0.89.0 claimed territory caches were fixed but implementation was incomplete; only
_get_territory_currencies_implwas updated - Fix: Both
_get_territory_impland_get_currency_implnow useMAX_TERRITORY_CACHE_SIZE(300) - Location:
introspection/iso.py - Impact: Full territory/currency iteration no longer causes cache thrashing; documented fix now matches implementation
- Previous:
-
ISO Validation Cache Pollution Prevention (SEC-ISO-VALIDATION-POLLUTION-001):
- Previous:
is_valid_territory_codeandis_valid_currency_codecalled lookup functions, cachingNonefor invalid inputs - Issue: Attackers could fill LRU caches with
Noneentries by validating random strings, evicting legitimate cached lookups - Fix: Validation now uses O(1) membership check against cached enumerated code sets (
_territory_codes_impl,_currency_codes_impl) - Location:
introspection/iso.pyis_valid_territory_code(),is_valid_currency_code(),clear_iso_cache() - Impact: Validation no longer pollutes lookup caches; O(1) validation via pre-cached frozen sets; cache clear includes new code set caches
- Previous:
-
Fiscal Calendar Dead Code Removal (DEBT-FISCAL-DEAD-CODE-001):
- Previous:
fiscal_year_end_datecontained unreachableelse 12branch inend_monthcalculation - Issue: Early return for
start_month == 1madestart_month > 1condition always true at subsequent line - Fix: Simplified to
end_month = self.start_month - 1 - Location:
parsing/fiscal.pyFiscalCalendar.fiscal_year_end_date() - Impact: No behavioral change; code clarity improved
- Previous: