ExecutionContext.fetch() now returns a FetchResponse object instead of the raw parsed body.
Before (1.x):
data = await context.fetch("https://api.example.com/items")
# data was the parsed JSON dict/list or text string directly
items = data["results"]After (2.0):
response = await context.fetch("https://api.example.com/items")
# response is a FetchResponse with .status, .headers, and .data
items = response.data["results"]FetchResponse attributes:
status— HTTP status code (e.g.200,201)headers— response headers as a plaindictdata— parsed JSON (dict/list) forapplication/jsonresponses, raw text otherwise,Nonefor empty 200/201/204 responses
- Find all
context.fetch()calls in your integration code - Access the response body via
.data— the return value is now aFetchResponseobject, not the raw body:# Before result = await context.fetch(url) return ActionResult(data=result) # After result = await context.fetch(url) return ActionResult(data=result.data)
- Optional: use
.statusand.headersfor richer error handling or response inspection:response = await context.fetch(url) if response.status == 201: log.info(f"Created, location: {response.headers.get('Location')}")
- Add
FetchResponseclass, exported from the package - Add pytest test suite (72 tests, 99% coverage) with
pytest-asyncioandaioresponses - Add GitHub Actions CI workflow with coverage reporting on PRs
- Add coverage badge and CI status badges to READMEs
- Export HTTPError and RateLimitError from package for direct import
- Added PyPI-optimised README with absolute links and best practices
- Documentation: updated SDK version pins and compatible release ranges
- Add ActionError for expected application-level errors
- Documentation improvements: unified integration docs, billing/cost tracking manual, code quality conventions, integration callouts linked to source code
- Removed name-folder match rule, mark display_name as recommended
- Removed raygun4py dependency
- Missed version update in init file.
- Add ActionResult and IntegrationResult classes to provide standardized result handling with optional billing/cost tracking capabilities for the integrations SDK
- Introduce SDK support for connected account information so integrations can expose the authorized user's identity; add documentation and public exports.
- Internal Raygun4Py configuration change
- Added Raygun integration for internal crash reporting
- README cosmetics
- Fix for dependency issue manifesting on beta/production
- Cleanup, samples and documentation improvements
- Module cleanup, move dependencies into SDK
- Fixes for production execution
- PDoc support
- Module structure changes
- Initial Release