A library for ATProtocol identities.

Changelog#

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]#

0.13.0 - 2025-09-21#

Added#

  • New atproto-lexicon crate for AT Protocol lexicon resolution and validation
  • atproto-lexicon-resolve CLI tool for resolving lexicons via DNS and XRPC
  • Comprehensive lexicon reference extraction and recursive resolution capabilities
  • Full support for NSID validation and DNS-based lexicon discovery

Changed#

  • Updated Rust minimum version requirement to 1.90
  • Enhanced error management across atproto-lexicon crate
  • Improved project documentation with atproto-lexicon integration

Improved#

  • Code formatting and linting across all crates
  • Updated README documentation to include atproto-lexicon references

0.12.0 - 2025-09-17#

Added#

  • Unified Auth enum for authentication methods in atproto-client supporting None, DPoP, and AppPassword authentication
  • com.atproto.server.deleteSession support in atproto-client with AppPassword authentication requirement
  • com.atproto.identity.resolveHandle support in atproto-client for handle resolution
  • OAuth client credentials token flow in atproto-oauth-aip for service-to-service authentication
  • session_exchange_with_options function with optional access_token_type and subject parameters
  • Documentation for all Auth enum variants and authentication methods

Changed#

  • Updated all XRPC client methods to use the unified Auth enum pattern instead of optional DPoP parameters
  • Made refresh_token field optional in TokenResponse structure as not all token responses include refresh tokens
  • Refactored session_exchange to use session_exchange_with_options internally with backward compatibility
  • Enhanced error handling with new InvalidAuthMethod error variant in client errors

Fixed#

  • Removed unused imports and cleaned up code after Auth enum refactoring
  • Fixed doctest failures from outdated function signatures
  • Resolved compilation errors from type mismatches in error handling

0.11.3 - 2025-09-03#

Added#

  • OAuth scope types, parsing, and utilities for the atproto-oauth crate
  • Comprehensive support for AT Protocol OAuth 2.0 scope handling

0.11.2 - 2025-08-20#

Fixed#

  • Fixed atproto-jetstream consumer to correctly send multiple query parameters for wantedCollections and wantedDids instead of joining them with commas

0.11.1 - 2025-08-20#

Fixed#

  • Base64 decoding in atproto-record now accepts both padded and unpadded base64 strings for better compatibility with various AT Protocol implementations
  • Updated signature::verify function to only accept {"$bytes": "..."} format for signatures

Added#

  • Comprehensive unit tests for record signature creation and verification across P-256, P-384, and K-256 curves
  • Unit test for deserializing real-world RSVP records with signatures

Changed#

  • Made create and verify functions in the signature module synchronous (removed async) as they don't perform async operations

0.11.0 - 2025-08-18#

Added#

  • Document builder functionality for AT Protocol documents
  • New atproto-oauth-service-token CLI tool for OAuth service token management
  • Community lexicon support for extended AT Protocol functionality

Changed#

  • Updated record signature and verification to align with current AT Protocol proposal
  • Removed issuedAt field as required signature field
  • Streamlined Debug derive implementations across crates

Improved#

  • Removed unused dependencies for smaller build size
  • Release preparation and project maintenance

0.10.0 - 2025-07-28#

Changed#

  • Version release 0.10.0 with updated dependencies and stability improvements

0.9.7 - 2025-07-13#

Changed#

  • Updated list_records method to support optional DPoP authentication for enhanced security

0.9.6 - 2025-07-11#

Improved#

  • Enhanced DID method validation for did-method-plc and did-method-web
  • Updated validation examples and documentation for better clarity

0.9.5 - 2025-07-09#

Changed#

  • Refactored OAuth components to support blind OAuth workflows for enhanced security and privacy

0.9.4 - 2025-07-09#

Fixed#

  • Fixed issue where login_hint was always sent in OAuth initialization

0.9.3 - 2025-07-06#

Added#

  • delete_record method to atproto-client for removing AT Protocol records

0.9.2 - 2025-06-30#

Added#

  • Optional zeroize feature for secure memory handling of sensitive cryptographic data

0.9.1 - 2025-06-29#

Changed#

  • Updated dependency versions for improved compatibility

0.9.0 - 2025-06-29#

Security#

  • Explicitly forbid unsafe code usage across all crates for enhanced security

Changed#

  • Reduced debug information exposure in production builds
  • Improved sensitive data handling and reduced exposure
  • Cleaned up tracing instrumentation for better performance

Improved#

  • Enhanced documentation across all crates and modules

0.8.1 - 2025-06-21#

Improved#

  • Enhanced module documentation across all crates with comprehensive usage examples
  • Standardized error handling with consistent naming and unique identifiers
  • Updated OAuth AIP crate with detailed API documentation and security considerations
  • Improved project documentation and README files across all crates

Fixed#

  • Code formatting compliance with rustfmt standards
  • Consistent error message formatting and numbering

0.8.0 - 2025-06-18#

Added#

  • OAuth Authorization Initiation Protocol (AIP) crate for AT Protocol OAuth workflows

0.7.0 - 2025-06-16#

Added#

  • DPoP validation support for enhanced security
  • Embedded JWKS in OAuth metadata
  • P-384 cryptographic curve support and JWK conversion
  • App password creation method to atproto-client
  • Client authentication binaries for app password and session management

Changed#

  • Standardized CLI tools with clap for consistent command-line interfaces
  • Enhanced security measures across client tools
  • Streamlined documentation structure

Fixed#

  • Error cleanup and improved error handling throughout codebase
  • Removed unused issuer field from DPoP implementation

0.6.0 - 2025-06-08#

Added#

  • AT Protocol event streaming via atproto-jetstream crate with WebSocket support

0.5.0 - 2025-06-05#

Added#

  • XRPC service helpers and framework crate
  • PORT environment variable support for service configuration
  • Enhanced DPoP client support for query and procedure methods

Changed#

  • Improved tracing and logging throughout the codebase
  • Updated Docker configuration to include additional binaries

Fixed#

  • Removed hardcoded OAuth metadata field values
  • Added missing crate metadata fields

0.4.0 - 2025-06-03#

Added#

  • Initial OAuth client implementation
  • Basic AT Protocol identity resolution
  • Core DID document handling
  • Cryptographic key operations for P-256 curves