QuickDID is a high-performance AT Protocol identity resolution service written in Rust. It provides handle-to-DID resolution with Redis-backed caching and queue processing.

release: 1.0.0-rc.5

Signed-off-by: Nick Gerakines <nick.gerakines@gmail.com>

+28 -4
+24
CHANGELOG.md
··· 7 8 ## [Unreleased] 9 10 ## [1.0.0-rc.4] - 2025-09-08 11 12 ### Added ··· 103 - Unnecessary feature flags (axum macros, deadpool-redis script) 104 - 4 unused dependencies reducing compilation time 105 106 [1.0.0-rc.3]: https://tangled.sh/@smokesignal.events/quickdid/tree/v1.0.0-rc.3 107 [1.0.0-rc.2]: https://tangled.sh/@smokesignal.events/quickdid/tree/v1.0.0-rc.2 108 [1.0.0-rc.1]: https://tangled.sh/@smokesignal.events/quickdid/tree/v1.0.0-rc.1
··· 7 8 ## [Unreleased] 9 10 + ## [1.0.0-rc.5] - 2025-09-10 11 + 12 + ### Added 13 + - Bidirectional caching support for handle-to-DID and DID-to-handle lookups in Redis resolver 14 + - `purge` method to HandleResolver trait for removing entries by handle or DID 15 + - `set` method to HandleResolver trait for manual cache updates 16 + - Jetstream consumer integration for real-time cache updates from AT Protocol firehose 17 + - QuickDidEventHandler module for processing Account and Identity events 18 + - Static file serving with www directory support for landing page and well-known files 19 + - Comprehensive test coverage for new bidirectional cache operations 20 + 21 + ### Changed 22 + - Handle normalization to lowercase throughout the system for consistency 23 + - Updated all resolver implementations to chain `purge` and `set` calls through the stack 24 + - Enhanced documentation to reflect Jetstream configuration and bidirectional caching 25 + - Improved production deployment guide with real-time sync recommendations 26 + 27 + ### Fixed 28 + - Handle case sensitivity issues - all handles now normalized to lowercase 29 + - Cache consistency between handle and DID lookups 30 + - Event processing error handling in Jetstream consumer 31 + 32 ## [1.0.0-rc.4] - 2025-09-08 33 34 ### Added ··· 125 - Unnecessary feature flags (axum macros, deadpool-redis script) 126 - 4 unused dependencies reducing compilation time 127 128 + [1.0.0-rc.5]: https://tangled.sh/@smokesignal.events/quickdid/tree/v1.0.0-rc.5 129 + [1.0.0-rc.4]: https://tangled.sh/@smokesignal.events/quickdid/tree/v1.0.0-rc.4 130 [1.0.0-rc.3]: https://tangled.sh/@smokesignal.events/quickdid/tree/v1.0.0-rc.3 131 [1.0.0-rc.2]: https://tangled.sh/@smokesignal.events/quickdid/tree/v1.0.0-rc.2 132 [1.0.0-rc.1]: https://tangled.sh/@smokesignal.events/quickdid/tree/v1.0.0-rc.1
+1 -1
Cargo.lock
··· 1920 1921 [[package]] 1922 name = "quickdid" 1923 - version = "1.0.0-rc.4" 1924 dependencies = [ 1925 "anyhow", 1926 "async-trait",
··· 1920 1921 [[package]] 1922 name = "quickdid" 1923 + version = "1.0.0-rc.5" 1924 dependencies = [ 1925 "anyhow", 1926 "async-trait",
+1 -1
Cargo.toml
··· 1 [package] 2 name = "quickdid" 3 - version = "1.0.0-rc.4" 4 edition = "2024" 5 authors = ["Nick Gerakines <nick.gerakines@gmail.com>"] 6 description = "A fast and scalable com.atproto.identity.resolveHandle service"
··· 1 [package] 2 name = "quickdid" 3 + version = "1.0.0-rc.5" 4 edition = "2024" 5 authors = ["Nick Gerakines <nick.gerakines@gmail.com>"] 6 description = "A fast and scalable com.atproto.identity.resolveHandle service"
+1 -1
Dockerfile
··· 19 LABEL org.opencontainers.image.licenses="MIT" 20 LABEL org.opencontainers.image.authors="Nick Gerakines <nick.gerakines@gmail.com>" 21 LABEL org.opencontainers.image.source="https://tangled.sh/@smokesignal.events/quickdid" 22 - LABEL org.opencontainers.image.version="1.0.0-rc.4" 23 24 WORKDIR /app 25 COPY --from=builder /app/target/release/quickdid /app/quickdid
··· 19 LABEL org.opencontainers.image.licenses="MIT" 20 LABEL org.opencontainers.image.authors="Nick Gerakines <nick.gerakines@gmail.com>" 21 LABEL org.opencontainers.image.source="https://tangled.sh/@smokesignal.events/quickdid" 22 + LABEL org.opencontainers.image.version="1.0.0-rc.5" 23 24 WORKDIR /app 25 COPY --from=builder /app/target/release/quickdid /app/quickdid
+1 -1
docs/production-deployment.md
··· 160 # Identifies your service to other AT Protocol services 161 # Default: Auto-generated with current version from Cargo.toml 162 # Format: quickdid/{version} (+https://github.com/smokesignal.events/quickdid) 163 - USER_AGENT=quickdid/1.0.0-rc.4 (+https://quickdid.example.com) 164 165 # Custom DNS nameservers (comma-separated) 166 # Use for custom DNS resolution or to bypass local DNS
··· 160 # Identifies your service to other AT Protocol services 161 # Default: Auto-generated with current version from Cargo.toml 162 # Format: quickdid/{version} (+https://github.com/smokesignal.events/quickdid) 163 + USER_AGENT=quickdid/1.0.0-rc.5 (+https://quickdid.example.com) 164 165 # Custom DNS nameservers (comma-separated) 166 # Use for custom DNS resolution or to bypass local DNS