Skip to content

Release v0.5.0: Public API cleanup and strict PEP 561 typing - #7

Merged
MUDASSIR-75 merged 12 commits into
ENDEVSOLS:mainfrom
Abdullahbinmushtaq:feat/v0.5-api-typing
Nov 5, 2026
Merged

MUDASSIR-75 merged 12 commits into
ENDEVSOLS:mainfrom
Abdullahbinmushtaq:feat/v0.5-api-typing

Conversation

@Abdullahbinmushtaq

Copy link
Copy Markdown
Contributor

This PR releases LongCache v0.5.0, focused on cleaning up public API signatures and adding full static typing support.

Key Changes

  • PEP 561 Static Typing: Added py.typed, strict mypy annotations across all 34 modules, generic type preservation for @cache.cached and get_or_compute, and typed hook/snapshot contracts.
  • Cleaner Public API: Removed deprecated legacy parameters (model, system_prompt, temperature, track_miss) and internal **kwargs / _-prefixed parameters from public methods.
  • API Stability Tiers: Added PUBLIC_API_STABILITY classifying all public exports as stable-candidate, experimental, or pass-through.
  • Docs & Compatibility: Added the v0.5 Support Matrix and Migration Guide, updated README.md and CHANGELOG.md, and preserved full Format-2 SQLite/Redis store compatibility with v0.4.0.

- Introduce core/types.py with public type aliases, protocols, and typed dicts
- Clean CacheConfig by removing legacy model/system_prompt/temperature fields
- Explicitly reject backend='async_redis' in CacheConfig with migration guidance
- Separate store_shared from store in SharedRedisCacheBackend to satisfy LSP
- Document breaking keyword argument changes in docs/migration-v0.5.md
@MUDASSIR-75
MUDASSIR-75 merged commit 3a06a02 into ENDEVSOLS:main Nov 5, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants