diff --git a/CHANGELOG.md b/CHANGELOG.md index da40350..5bf2e1e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,18 +7,29 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Added + +- Comprehensive test suite for derivative license logic in AbstractProcessor +- Unit tests for DERIVATIVE_ALLOWED_LICENSES constant validation +- Helper function create_license_from_map() for consistent test data creation +- Tests for all Creative Commons licenses and their derivative permissions + ### Changed - Centralize ICONS definitions in core/constants.py module to eliminate code duplication -- Centralize additional constants (LICENSE_MAP, API_URLS, etc.) in core/constants.py module -- Remove hardcoded Creative Commons license mappings from processors.py -- Remove hardcoded API URLs for OpenAlex and CrossRef from processing modules -- Replace custom HTTP status code constants with Python's standard `http.HTTPStatus` enum -- Remove hardcoded template strings throughout codebase +- Centralize LICENSE_MAP with Creative Commons and public domain license mappings +- Centralize API_URLS for OpenAlex and CrossRef endpoints +- Centralize DERIVATIVE_ALLOWED_LICENSES set for abstract extraction logic +- Centralize TEMPLATES for consistent string formatting +- Replace custom HTTP_STATUS dict with Python's standard `http.HTTPStatus` enum +- Update AbstractProcessor and MetadataProcessor to use centralized constants +- Improve test coverage from 61.71% to 63.87% ### Fixed - Fix list formatting in API documentation docstrings for better sphinx rendering +- Fix formatting inconsistencies in constants.py (remove double empty lines) +- Fix ruff linting issues with unused mock variables in tests ## [v3.0.1] - 2025-07-25