Packages
Robust API call planning and execution for Torn City
Current section
Files
Jump to
Current section
Files
CHANGELOG.md
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## [0.6.0] - 2026-06-05
### Added
- Added `:integration` tagging of tests using the API with an API key
### Changed
- Changed `Tornex.Scheduler.QueryRegistry` to use `Horde` instead of `:global` when Tornex is not running in local mode
### Fixed
- Fixed `Tornex.local?/0` using a compile-time value instead of checking for Horde at runtime
- Fixed `Tornex.Scheduler.QueryRegistry` crashing non-original nodes in clusters
- Fixed `Tornex.Scheduler.QueryRegistry.merge/1` failing to start a Task for removing the queries belonging to an `ExecutionUnit`
- Fixed `tornex.api.latency` histogram not reporting the correct counts for each bucket
## [0.5.1] - 2026-04-21
### Fixed
- Fixed removal of non-existent leafs of the `Tornex.Scheduler.QueryRegistry`
- Fixed default telemetry logger for API calls originating from `Tornex.SpecQuery`
## [0.5.0] - 2026-03-31
### Added
- Added per-node ratelimiting
- Added combinatorial queries to combine similar `Tornex.Scheduler.SpecQuery` into one `Tornex.Scheduler.ExecutionUnit` to be performed as one API call.
- Added `Tornex.Scheduler.Bucket.dump/2` and `Tornex.Scheduler.Bucket.pop!/2`
- Added utility functions to `Tornex.SpecQuery` such as `Tornex.SpecQuery.resource!/1`
### Changed
- \[BREAKING\] Changed minimum Elixir version from 1.16 to 1.18
- \[BREAKING\] Changed `tornex.api.finish` to properly report latency in milliseconds
- Changed query dumping process in `Tornex.Scheduler.Bucket` to use `handle_continue`
### Deprecated
- Deprecated `Tornex.SpecQuery.put_parameter/3`; use `Tornex.SpecQuery.put_parameter!/3` instead.
### Removed
- Removed `Jason` dependency
- Removed deprecated `Tornex.API.torn_get/1`
## [0.4.1] - 2025-09-23
### Fixed
- Fixed enqueuing `SpecQuery` to user without an existing bucket
## [0.4.0] - 2025-09-08
### Added
- Added cluster mode
- Added server-side bucket timeouts
- Added `:ignored` option to `attach_default_logger/1` to not attach specified events
### Removed
- Removed `tornex.bucket.dump` telemetry event and PromEx counter
## [0.3.0] - 2025-06-29
### Changed
- Changed location of generated code from in-line to [torngen_elixir_client](https://github.com/Tornium/torngen_elixir_client)
- Changed usage of deprecated `torn_get/1` to `get/1`
### Fixed
- Fixed user agent creation in `Tornex.API` when using an external HTTP adapter implementation (#20)
- Fixed timeout option in `SpecQuery` enqueued in `Bucket`
## [0.2.0] - 2025-05-31
### Added
- APIv2 support through generated code from [torngen](https://github.com/Tornium/torngen)
### Changed
- Changed HTTP library from Tesla to an adapter with Finch as the default
### Deprecated
- Deprecated `Tornex.API.torn_get/1` in favor of `Tornex.API.get/1`
## [0.1.1] - 2025-04-18
### Added
- Added `opts.timeout` to `Bucket.enqueue/3` and `Bucket.enqueue/4`
### Fixed
- Fixed optional loading of `prom_ex`
## [0.1.0] - 2025-03-21
### Added
- Bucket-based ratelimiter
- Telemetry through `:telemetry` and PromEx
- Telsa-based API querying