Release 2.1.0#51
Merged
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
Release 2.1.0 adds configurable cache invalidation and a hybrid trust-store mode (OS + embedded CCADB), along with stale trust-store detection on Linux/BSD and additional deduplication safeguards to prevent repeated roots in combined outputs.
Changes:
- Introduce TTL-based caching for CA retrieval, plus
set_cache_ttl()andDEFAULT_CACHE_TTL_SECONDS. - Add
hybrid_storeparameter across public entry points and implicitly enable it on Linux/BSD when the OS trust store appears stale. - Improve deduplication (Windows store overlap, Linux inode aliasing) and add unit tests + documentation/changelog updates.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/test_unit.py | Adds unit tests for deduplication, hybrid store behavior, TTL expiry, and concurrency behavior of the cache. |
| src/wassima/_version.py | Bumps version to 2.1.0. |
| src/wassima/_os/_windows.py | Deduplicates Windows roots across multiple system stores. |
| src/wassima/_os/_linux.py | Tracks newest trust-store mtime, adds inode-based file dedup, and provides is_trust_store_stale(). |
| src/wassima/init.py | Implements TTL cache decorator, exposes cache TTL configuration, adds hybrid_store plumbing and stale-store fallback merge. |
| README.md | Documents hybrid trust store usage and cache invalidation controls. |
| CHANGELOG.md | Adds 2.1.0 release notes. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
2.1.0 (2026-05-10)
Added
set_cache_ttltop level function to set, in seconds, how long the CA bundle will be valid for until re-pooling from the OS.hybrid_storeboolean to force concatenate your OS CA bundle with the embedded CCADB bundle. E.g.wassima.generate_ca_bundle(hybrid_store=True).Fixed
Now the CA bundle output will expire after 12 hours to let updates propagate correctly from the OS.
Changed