From ccb34c4fef39486f4899d0e6739bb71737452d75 Mon Sep 17 00:00:00 2001 From: Tyler Beason Date: Mon, 22 Jun 2026 13:36:13 -0500 Subject: [PATCH 1/2] Release v0.3.0 Bump version 0.2.0 -> 0.3.0 and finalize the changelog. Highlights since 0.2.0: symbol joining on to_dataframe (symbols kwarg + re-exported helpers), chunked + concurrent get_range, BentoTimeoutError + read-timeout handling, tolerant typed decode of interleaved control records, and a precompile fix. Requires DatabentoBinaryEncoding 0.1.4. Co-Authored-By: Claude Opus 4.8 (1M context) --- CHANGELOG.md | 5 ++++- Project.toml | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7226145..d9b6964 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.3.0] - 2026-06-22 + ### Added - **Symbol joining on `to_dataframe`.** `to_dataframe(store; symbols=true)` joins the human-readable `raw_symbol` onto the frame as a `:symbol` column, resolved @@ -269,7 +271,8 @@ Initial public release. Registered in the General registry. `ReconnectPolicy`, `JobState`, `SplitDuration`, `Packaging`, `Delivery`, `SymbologyResolution`, `RollRule`, `SlowReaderBehavior`. -[Unreleased]: https://github.com/tbeason/DatabentoAPI.jl/compare/v0.2.0...HEAD +[Unreleased]: https://github.com/tbeason/DatabentoAPI.jl/compare/v0.3.0...HEAD +[0.3.0]: https://github.com/tbeason/DatabentoAPI.jl/compare/v0.2.0...v0.3.0 [0.2.0]: https://github.com/tbeason/DatabentoAPI.jl/compare/v0.1.2...v0.2.0 [0.1.2]: https://github.com/tbeason/DatabentoAPI.jl/compare/v0.1.1...v0.1.2 [0.1.1]: https://github.com/tbeason/DatabentoAPI.jl/compare/v0.1.0...v0.1.1 diff --git a/Project.toml b/Project.toml index bef5bad..c97b560 100644 --- a/Project.toml +++ b/Project.toml @@ -1,6 +1,6 @@ name = "DatabentoAPI" uuid = "feb0aed8-3291-460b-9688-521dcb17a4bf" -version = "0.2.0" +version = "0.3.0" authors = ["Tyler Beason "] [deps] From da12f7edca4ed6871ef5604455c68b5f102bf4f8 Mon Sep 17 00:00:00 2001 From: Tyler Beason Date: Mon, 22 Jun 2026 13:41:48 -0500 Subject: [PATCH 2/2] Derive HTTP User-Agent from package version (Codex P2) USER_AGENT was hard-coded to "DatabentoAPI.jl/0.2.0" and used as the default when callers don't override user_agent, so a 0.3.0 install would mislabel every request as 0.2.0 (skewing server-side diagnostics / rate-limit analysis). Derive it from `pkgversion(@__MODULE__)` so it always matches the installed version and can't drift on future releases. Co-Authored-By: Claude Opus 4.8 (1M context) --- CHANGELOG.md | 4 ++++ src/http.jl | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d9b6964..222393a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -49,6 +49,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 transient statuses (429/5xx) are retried as before (#31). ### Fixed +- **`User-Agent` now tracks the package version.** The default request + `User-Agent` was a hard-coded `DatabentoAPI.jl/0.2.0` that had to be bumped by + hand each release (and was already stale); it's now derived from + `pkgversion`, so it always matches the installed version. - **Package precompiles cleanly again.** `src/store.jl` defined the internal `_foreach_typed_tolerant` helper twice (an identical copy-paste), which made the module fail precompilation on Julia 1.12+ with "Method overwriting is not diff --git a/src/http.jl b/src/http.jl index 09f1ba8..9cf2ac3 100644 --- a/src/http.jl +++ b/src/http.jl @@ -1,4 +1,7 @@ -const USER_AGENT = "DatabentoAPI.jl/0.2.0" +# Derived from the package version (Project.toml) so it can never drift out of +# sync with the release — `pkgversion` returns `nothing` only when the module +# isn't loaded as a package, in which case we fall back to a sentinel. +const USER_AGENT = "DatabentoAPI.jl/$(something(pkgversion(@__MODULE__), v"0.0.0"))" # Read (inactivity) timeout. Long-range `timeseries.get_range` queries can # spend minutes in server-side assembly (continuous-symbol resolution + # day-partitioned scans) before the first byte streams, so this needs to be