You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
chore: Update version to 1.5.0 and add CHANGELOG entry
Align pyproject.toml version with __init__.py (1.4.3 → 1.5.0).
Document all 13 new resource modules, diesel fix, and test improvements.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
-**Data Connector Support**: `client.get_data_connector_prices()` for BYOS (Bring Your Own Subscription) prices
26
+
-**Telemetry Headers**: `app_url` and `app_name` parameters for API usage attribution (10% rate limit bonus for app_url)
27
+
28
+
### Fixed
29
+
30
+
-**Diesel validation**: Empty string state codes now properly rejected with ValidationError
31
+
32
+
### Testing
33
+
34
+
- 84 new unit tests added (222 total, 0 failures)
35
+
- Test coverage improved from ~40% to 60%
36
+
- New test files for all 13 resource modules
37
+
38
+
### Breaking Changes
39
+
40
+
None - All new resources are additive. Existing code continues to work unchanged.
41
+
8
42
## [1.4.3] - 2025-12-17
9
43
10
44
### Fixed
45
+
11
46
-**CRITICAL: Historical Data Returns Wrong Commodity**: Fixed issue where all historical queries returned BRENT_CRUDE_USD regardless of requested commodity
12
47
- Root cause: SDK was sending `commodity` parameter but API expects `by_code` parameter
13
48
- Impact: ALL historical queries since v1.4.0 returned incorrect data
@@ -21,20 +56,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
21
56
- This fix was applied to the backend API simultaneously
22
57
23
58
### Added
59
+
24
60
-**Strict Commodity Validation**: API now validates commodity codes and returns clear error messages for invalid codes
25
61
- Before: Silently accepted invalid codes like "oijfoijofwijewef" and returned BRENT data
26
62
- After: Returns 400 Bad Request with list of valid codes
27
63
- Error includes link to `/v1/prices/metrics` for full list of valid commodity codes
28
64
29
65
### Breaking Changes
66
+
30
67
None - This is a critical bug fix. Existing code will work correctly after update.
31
68
32
69
### Upgrade Priority
70
+
33
71
**CRITICAL** - All users of `client.historical.get()` should upgrade immediately. Previous versions return completely wrong data.
34
72
35
73
## [1.4.2] - 2025-12-16
36
74
37
75
### Fixed
76
+
38
77
-**Historical Queries Timeout Issue**: Fixed 100% timeout rate on historical data requests
39
78
- Root cause: SDK was using hardcoded `/v1/prices/past_year` endpoint for all date ranges
40
79
- Solution: Implemented intelligent endpoint selection based on date range
@@ -45,6 +84,7 @@ None - This is a critical bug fix. Existing code will work correctly after updat
45
84
- Performance improvement: 7x faster for 1 week queries, 3x faster for 1 month queries
46
85
47
86
### Added
87
+
48
88
-**Dynamic Timeout Management**: Automatic timeout adjustment based on query size
49
89
- 1 week queries: 30 seconds (previously 30s, but now uses optimal endpoint)
50
90
- 1 month queries: 60 seconds
@@ -55,25 +95,30 @@ None - This is a critical bug fix. Existing code will work correctly after updat
-**Diesel Prices Support**: New `client.diesel` resource for diesel price data
155
206
-**State Average Diesel Prices**: `diesel.get_price(state)` - Get EIA state-level diesel averages (free tier)
156
207
-**Station-Level Diesel Pricing**: `diesel.get_stations(lat, lng, radius)` - Get nearby diesel stations with current prices from Google Maps (paid tiers)
0 commit comments