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### Breaking Changes
12
13- Remove `Atex.HTTP` and associated modules as the abstraction caused a bit too
14 much complexities for how early atex is. It may come back in the future as
15 something more fleshed out once we're more stable.
16- Rename `Atex.XRPC.Client` to `Atex.XRPC.LoginClient`
17
18### Added
19
20- `Atex.OAuth` module with utilites for handling some OAuth functionality.
21- `Atex.OAuth.Plug` module (if Plug is loaded) which provides a basic but
22 complete OAuth flow, including storing the tokens in `Plug.Session`.
23- `Atex.XRPC.Client` behaviour for implementing custom client variants.
24- `Atex.XRPC` now supports using different client implementations.
25- `Atex.XRPC.OAuthClient` to make XRPC calls on the behalf of a user who has
26 authenticated with ATProto OAuth.
27
28## [0.4.0] - 2025-08-27
29
30### Added
31
32- `Atex.Lexicon` module that provides the `deflexicon` macro, taking in a JSON
33 Lexicon definition and converts it into a series of schemas for each
34 definition within it.
35- `mix atex.lexicons` for converting lexicon JSON files into modules using
36 `deflexicon` easily.
37
38## [0.3.0] - 2025-06-29
39
40### Changed
41
42- `Atex.XRPC.Adapter` renamed to `Atex.HTTP.Adapter`.
43
44### Added
45
46- `Atex.HTTP` module that delegates to the currently configured adapter.
47- `Atex.HTTP.Response` struct to be returned by `Atex.HTTP.Adapter`.
48- `Atex.IdentityResolver` module for resolving and validating an identity,
49 either by DID or a handle.
50 - Also has a pluggable cache (with a default ETS implementation) for keeping
51 some data locally.
52
53## [0.2.0] - 2025-06-09
54
55### Added
56
57- `Atex.TID` module for manipulating ATProto TIDs.
58- `Atex.Base32Sortable` module for encoding/decoding numbers as
59 `base32-sortable` strings.
60- Basic XRPC client.
61
62## [0.1.0] - 2025-06-07
63
64Initial release.
65
66[unreleased]: https://github.com/cometsh/atex/compare/v0.4.0...HEAD
67[0.4.0]: https://github.com/cometsh/atex/releases/tag/v0.4.0
68[0.3.0]: https://github.com/cometsh/atex/releases/tag/v0.3.0
69[0.2.0]: https://github.com/cometsh/atex/releases/tag/v0.2.0
70[0.1.0]: https://github.com/cometsh/atex/releases/tag/v0.1.0