Skip to content

Commit 214da3e

Browse files
committed
docs: Update the changelog
1 parent 54d202f commit 214da3e

1 file changed

Lines changed: 9 additions & 1 deletion

File tree

CHANGELOG.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,19 +35,23 @@ We [keep a changelog.](http://keepachangelog.com/)
3535

3636
### Changed
3737

38+
- **Performance:** Optimized dynamic routing by introducing an instance-level `_endpoint_cache`, resulting in a ~50x speedup for endpoint resolution.
39+
- **Performance:** Reduced RAM footprint and garbage collection overhead by implementing `__slots__` across core `Client`, `Config`, and `Endpoint` classes.
40+
- **Performance:** Optimized API call overhead by replacing dynamic header generation with `types.MappingProxyType` (`_JSON_HEADERS`, `_TEXT_HEADERS`) and moving the retry configuration to a `ClassVar`.
41+
- **Performance:** Improved cold boot initialization time by replacing regex (`re.match`) with native string manipulation (`.split()`) in `mailjet_rest/utils/version.py`.
3842
- Test Suite Modernization: Migrated from legacy `unittest` monolith to `pytest`, segregated into `tests/unit/` (offline) and `tests/integration/` (live network), adhering to the AAA (Arrange, Act, Assert) pattern.
3943
- CI/CD Optimization: Drastically improved GitHub Actions speed and reliability by implementing native pip dependency caching (`cache: 'pip'`) and isolated wheel installation tests.
4044
- Refactored `Client` and `Config` using `@dataclass` and `requests.Session` for robust connection pooling on multiple sequential requests.
4145
- Refactored `Endpoint._build_url` cyclomatic complexity by extracting pure `@staticmethod` helpers (`_build_csv_url`, `_check_dx_guardrails`) to satisfy strict static analysis.
4246
- Expanded `pre-commit` hooks for robust security and formatting (ruff, mypy, pyright, typos, bandit, semgrep).
4347
- Defined explicit public module interfaces using `__all__` to prevent namespace pollution.
44-
- Fixed `statcounters` required filters (explicitly added the `CounterTiming` parameter).
4548
- Cleaned up local development environments (`environment-dev.yaml`) and pinned sub-dependencies for stable CI pipelines.
4649
- Tooling Consolidation: Completely migrated to Ruff as the single source of truth for linting and formatting, purging legacy tools (Black, Flake8, Pylint, Pydocstyle) from `pyproject.toml` and Conda environments.
4750
- Documentation: Rewrote `README.md` to highlight modern DX configurations, including Context Managers, robust Error Handling, and Smart Telemetry.
4851

4952
### Deprecated
5053

54+
- Passing `timeout=None` to allow infinite socket blocking is deprecated to mitigate CWE-400. Explicit timeouts will be strictly enforced in v2.0.
5155
- Legacy HTTP exception classes (`AuthorizationError`, `ApiRateLimitError`, `DoesNotExistError`, `ValidationError`, `ActionDeniedError`). The SDK natively returns the `requests.Response` object for standard HTTP status codes.
5256
- The legacy `ensure_ascii` and `data_encoding` arguments in the `create` and `update` method signatures. The underlying `requests` library handles UTF-8 serialization natively.
5357
- The `parse_response` and `logging_handler` utility functions. Logging is now integrated cleanly and automatically via Python's standard `logging` library. See the `README` for the new 2-line setup.
@@ -57,6 +61,10 @@ We [keep a changelog.](http://keepachangelog.com/)
5761
- Root `test.py` monolith (replaced by a modular `test/` directory structure).
5862
- Redundant class constants (`API_REF`, `DEFAULT_API_URL`).
5963

64+
### Fixed
65+
66+
- Fixed `statcounters` required filters (explicitly added the `CounterTiming` parameter).
67+
6068
### Pull Requests Merged
6169

6270
- [PR_125](https://github.com/mailjet/mailjet-apiv3-python/pull/125) - Refactor client.

0 commit comments

Comments
 (0)