A set of utilities for working with the AT Protocol in Elixir.
1# Changelog 2 3All notable changes to atex will be documented in this file. 4 5The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), 6and this project adheres to 7[Semantic Versioning](https://semver.org/spec/v2.0.0.html). 8 9<!-- ## [Unreleased] --> 10 11## [0.6.0] - 2025-11-25 12 13### Breaking Changes 14 15- `deflexicon` now converts all def names to be in snake_case instead of the 16 casing as written the lexicon. 17 18### Added 19 20- `deflexicon` now emits structs for records, objects, queries, and procedures. 21- `Atex.XRPC.get/3` and `Atex.XRPC.post/3` now support having a lexicon struct 22 as the second argument instead of the method's name, making it easier to have 23 properly checked XRPC calls. 24- Add pre-transpiled modules for the core `com.atproto` lexicons. 25 26## [0.5.0] - 2025-10-11 27 28### Breaking Changes 29 30- Remove `Atex.HTTP` and associated modules as the abstraction caused a bit too 31 much complexities for how early atex is. It may come back in the future as 32 something more fleshed out once we're more stable. 33- Rename `Atex.XRPC.Client` to `Atex.XRPC.LoginClient` 34 35### Added 36 37- `Atex.OAuth` module with utilites for handling some OAuth functionality. 38- `Atex.OAuth.Plug` module (if Plug is loaded) which provides a basic but 39 complete OAuth flow, including storing the tokens in `Plug.Session`. 40- `Atex.XRPC.Client` behaviour for implementing custom client variants. 41- `Atex.XRPC` now supports using different client implementations. 42- `Atex.XRPC.OAuthClient` to make XRPC calls on the behalf of a user who has 43 authenticated with ATProto OAuth. 44 45## [0.4.0] - 2025-08-27 46 47### Added 48 49- `Atex.Lexicon` module that provides the `deflexicon` macro, taking in a JSON 50 Lexicon definition and converts it into a series of schemas for each 51 definition within it. 52- `mix atex.lexicons` for converting lexicon JSON files into modules using 53 `deflexicon` easily. 54 55## [0.3.0] - 2025-06-29 56 57### Changed 58 59- `Atex.XRPC.Adapter` renamed to `Atex.HTTP.Adapter`. 60 61### Added 62 63- `Atex.HTTP` module that delegates to the currently configured adapter. 64- `Atex.HTTP.Response` struct to be returned by `Atex.HTTP.Adapter`. 65- `Atex.IdentityResolver` module for resolving and validating an identity, 66 either by DID or a handle. 67 - Also has a pluggable cache (with a default ETS implementation) for keeping 68 some data locally. 69 70## [0.2.0] - 2025-06-09 71 72### Added 73 74- `Atex.TID` module for manipulating ATProto TIDs. 75- `Atex.Base32Sortable` module for encoding/decoding numbers as 76 `base32-sortable` strings. 77- Basic XRPC client. 78 79## [0.1.0] - 2025-06-07 80 81Initial release. 82 83[unreleased]: https://github.com/cometsh/atex/compare/v0.6.0...HEAD 84[0.6.0]: https://github.com/cometsh/atex/releases/tag/v0.6.0 85[0.5.0]: https://github.com/cometsh/atex/releases/tag/v0.5.0 86[0.4.0]: https://github.com/cometsh/atex/releases/tag/v0.4.0 87[0.3.0]: https://github.com/cometsh/atex/releases/tag/v0.3.0 88[0.2.0]: https://github.com/cometsh/atex/releases/tag/v0.2.0 89[0.1.0]: https://github.com/cometsh/atex/releases/tag/v0.1.0