Skip to content

v1.7.0 — World-class SDK Upgrade

Latest

Choose a tag to compare

@karlwaldman karlwaldman released this 29 Mar 18:10
· 1 commit to main since this release

What's New

Full Async Client

  • All 16 resources now available on AsyncOilPriceAPI (was only 2: prices + historical)
  • Async iter_pages() generator for memory-efficient pagination

New Features

  • Webhook signature verificationverify_webhook_signature() with HMAC-SHA256 and constant-time comparison
  • oilprice CLIoilprice price BRENT_CRUDE_USD, oilprice historical, oilprice commodities with --json output
  • Opt-in telemetryenable_telemetry=True on both sync and async clients
  • 429 auto-retry — honors Retry-After header (capped at 60s) instead of immediately raising

Bug Fixes

  • Fixed version triple mismatch (single source in version.py)
  • Fixed Python 3.8 syntax compatibility
  • Fixed await response.json() crash in async client (httpx .json() is synchronous)
  • Fixed get_current_price() connection leak
  • Removed unused aiohttp from [async] extra

Developer Experience

  • ValidationError, TimeoutError, ConfigurationError now exported from top-level
  • Lint/mypy now blocking in CI
  • Coverage enforcement gate (--cov-fail-under=50)
  • mkdocs + mkdocstrings API reference
  • Shared resource_validators.py to reduce sync/async duplication

Full changelog: v1.6.2...v1.7.0