Skip to content

Releases: akutayural/APIException

v0.2.3 – Stability & Maintenance Release

21 Jan 03:12

Choose a tag to compare

v0.2.3 – Stability & Maintenance Release

This release focuses on stability, clarity, and long-term maintainability.

Highlights

  • No breaking changes
  • Fully backward-compatible
  • Safe upgrade for all existing users
  • Actively used and maintained in production environments

What’s improved

  • Internal exception handling flow reviewed and stabilised
  • Async and logging paths verified across supported Python versions
  • Documentation refined for clearer onboarding and Quickstart usage

No migration required.

Release 0.2.2 – Starlette Deprecation Fix

11 Jan 19:57

Choose a tag to compare

🔧 Fixes & Improvements

  • Fixed deprecated HTTP_422_UNPROCESSABLE_ENTITY usage and migrated to
    HTTP_422_UNPROCESSABLE_CONTENT with backward compatibility.
  • Removed deprecation warnings on newer Starlette versions.
  • Verified compatibility with pip, uv, and Poetry.

This is a backward-compatible patch release.

Release 0.2.1 – Async Support for extra_log_fields & Python 3.9 Compatibility

16 Oct 23:58

Choose a tag to compare

APIException v0.2.1

✨ What's New

  • Async support for extra_log_fields
    • You can now define your callback as async def and use await request.body() directly.
    • Fully backward compatible with sync functions.
  • Python 3.9 compatibility restored
    • Introduced conditional import of TypeGuard via typing_extensions.
    • Officially supports Python 3.9 → 3.13.
  • Improved type-safety and cross-version stability in response_utils.py.
  • Updated pyproject.toml for extended compatibility.

🧠 Highlights

  • Cleaner and safer async logging system.
  • Backward-compatible design.
  • Ready for production FastAPI environments.
  • Verified build on PyPI: apiexception 0.2.1

🧩 Upgrade

pip install -U apiexception

📄 Related Docs

📘 Section 🔗 Link
🧭 Usage Guide: How to register global exception handlers register_exception_handlers
⚙️ Response Models: Understanding ResponseModel and RFC7807ResponseModel Response Models Guide
🧩 Custom Exceptions: Defining your own BaseExceptionCode Custom Exception Codes
🪵 Logging: Structured logging setup & extra_log_fields usage Logging & Monitoring
🧱 APIResponse Helpers: APIResponse.default() and APIResponse.custom() examples APIResponse Reference
🧠 Changelog: All notable updates, fixes, and improvements Full Changelog