Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.3.0] - 2026-04-04
Added
- Quality Gate: Declarative configuration support via
pyproject.toml([tool.codex-check]). - Static Compiler: Dependency-graph strategy for JS bundles (@provides/@depends parsing and resolution).
- Static Compiler: New
compile_bundleentry point for unified asset compilation.
Changed
- Quality Gate: Refactored
BaseCheckRunnerto prioritizepyproject.tomlover class attributes. - Developer Tools: Simplified
tools/dev/check.pyto a thin launcher. - Documentation: Updated architecture guides to promote declarative configuration.
Fixed
- Quality Gate: Resolved line length issues and suppressed security warnings (Bandit B603) for internal subprocess calls.
[0.2.2] - 2026-03-29
Fixed
- CI Security Check Routing: Updated
.github/workflows/ci.ymlto run lint, security, and type checks throughtools/dev/check.pyso GitHub Actions uses the same project-level check-runner policy as local development. - pip-audit Policy Drift: Restored
AUDIT_FLAGShandling in CI, including--skip-editableand the project-specific ignore forCVE-2026-4539.
[0.2.1] - 2026-03-29
Added
- Locked UV Workflow: Added
.python-versionand committeduv.lockso local development, CI, docs, and publish flows use a consistent locked dependency set. - Configurable Check Runner Stages: Added
RUN_LINT,RUN_TYPES,RUN_SECURITY,RUN_EXTRA_CHECKS,RUN_UNIT_TESTS, andRUN_INTEGRATION_TESTSflags toBaseCheckRunnerso each codex-* project can declare its quality-gate policy without replacing orchestration logic. - Expanded Dev API Docs: Split the Dev Tools API reference into separate pages for the check runner, project tree generator, and static compiler.
Changed
- Python Support Policy: Raised the declared minimum Python version to 3.12 and aligned Ruff, Mypy, packaging metadata, and CI matrices with the supported runtime versions.
- UV-Based Automation: Updated CI, docs deployment, and publish workflows to use
uv sync,uv run, anduv buildinstead of ad-hoc pip installs. - Documentation Structure:
- Synchronized
tools/dev/README.mdand architecture guides with the realBaseCheckRunnerCLI and extension model. - Reorganized the Dev Tools API navigation into a nested expandable section under
API Reference. - Moved the Python-version planning note into
docs/planning/as an internal draft instead of a public docs root page.
Fixed
- Optional Loguru Typing: Fixed
mypyfailure insrc/codex_core/common/loguru_setup.pyby making the optionalloguruimport type-safe. - Checker UX Consistency: Added explicit skip messages when disabled check stages are not executed, improving both local and CI output clarity.
[0.2.0] - 2025-02-13
Added
- Python 3.13 Support: Added official support for Python 3.13 in
pyproject.tomlclassifiers. - Comprehensive Unit Tests:
- New tests for
core/exceptions.pycovering base exception functionality. - New tests for
common/log_context.pycoveringTaskLogContextlogging methods. - New tests for
common/loguru_setup.pycoveringInterceptHandler,setup_universal_logging, andsetup_loggingwith and withoutloguruinstalled.
Changed
- Documentation Structure:
- Renamed top-level language directories from
en_EN/toen/andru_RU/toru/. - Moved
api/documentation intoen/api/for better language-specific grouping. - Renamed
guide/directories totasks/in bothen/andru/to align withDocArchitect:StructurePolicyfor user-oriented guides. - Updated
mkdocs.ymlnavigation and all internal Markdown links to reflect the new documentation structure. - Updated root
README.mdto strictly followDocArchitect:StructurePolicy(Layer 5 - Root Landing), including a detailedModulestable (withdevmodule) and a comprehensivePart of the Codex ecosystemsection. - Test Coverage Configuration:
- Configured
pytest-covinpyproject.tomlto includeaddopts,[tool.coverage.run], and[tool.coverage.report]sections. - Excluded
src/codex_core/dev/*from coverage reports as these are internal development tools. - Added
exclude_linesforTYPE_CHECKINGandImportErrorto achieve accurate coverage metrics. - Test Isolation: Implemented
autousefixturereset_pii_registryintests/conftest.pyto ensurePIIRegistryglobal state is reset between tests, guaranteeing test isolation. - Test Markers: Created
tests/unit/conftest.pyandtests/integration/conftest.pyto automatically applypytest.mark.unitandpytest.mark.integrationmarkers to tests within their respective directories.
Fixed
- Mypy Errors: Resolved missing type parameters for generic types in
src/codex_core/dev/static_compiler/compiler.pyandsrc/codex_core/dev/static_compiler/css.py. - Ruff Errors: Resolved
SIM118(Usekey in dictinstead ofkey in dict.keys()) insrc/codex_core/core/pii.py. - Ruff Errors: Resolved
SIM117(Use a singlewithstatement with multiple contexts) intests/unit/common/test_loguru_setup.py. - Test Coverage Gaps:
- Covered
PIIRegistryinitialization logic and recursive list masking intests/unit/core/test_pii.py. - Covered falsy input handling in
transliterateandsanitize_for_smsfunctions intests/unit/common/test_text.py.
[0.1.1] - 2025-02-12
Added
- Declarative PII Registry: Introduced
PIIRegistryclass inpii.pyfor explicit sensitive field name tracking, complementing the heuristic keyword-based matching. - Enhanced Documentation:
- Comprehensive Google-style docstrings added to all core modules:
log_context,loguru_setup,phone,text,base_dto,exceptions, andsettings/base. - Added localized (EN/RU) documentation links and PyPI/License badges to
README.md. - Dependency Management: Added
loguruas an explicit optional dependency inpyproject.toml.
Changed
- PII Masking Logic: Refined
is_pii_fieldandmask_valueto prioritize explicit registry matches over heuristic keyword search. - Project Configuration: Updated
.gitignoreto include.claude/for modern AI tool support.
[0.1.0] - 2024-05-24
Added
- Project Structure: Initial setup of the core library as a standalone project.
- Advanced PII Protection:
- Implementation of
BaseDTOwith automated, recursive PII masking inreprandstr. - Keyword-based sensitive data detection (phone, email, name, address, notes).
- International Utilities:
normalize_phone: Robust normalization supporting+,00, and local German0formats.normalize_name: Smart capitalization preserving hyphens and spaces.TaskLogContext: Structured logging adapter for background tasks and operations.- Base Settings:
BaseCommonSettingswith standardized Redis URL generation and environment-aware flags. - Documentation:
- New Domain-Driven documentation standard (Architecture + API Reference).
- Bilingual support (EN/RU) with structural mirroring.
- Testing:
- Comprehensive unit test suite (27 scenarios) covering Core, Common, and Settings.
- Integration test for environment variable loading.
Changed
- Package Rename: Renamed package from
codex_toolstocodex_corefor better clarity. - Dependency Optimization:
logururemoved from mandatory dependencies.loguru_setupupdated with safe imports and clear installation instructions.- CI/CD:
- Switched GitHub Actions to use Node.js 24 (via
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24). - Updated Mypy paths to reflect the new package structure.
Security
- Integrated
bandit,pip-audit, anddetect-secretsinto the development lifecycle. - Standardized
quote_plususage for all infrastructure connection strings.