From d686c1f37664af13fd8eff2512c7d8dd8aaa01d5 Mon Sep 17 00:00:00 2001 From: Anas El Mhamdi Date: Mon, 20 Apr 2026 20:04:39 +0200 Subject: [PATCH] chore: bump version to 0.3.16 Releases the cursor-resume fix from #76. Co-Authored-By: Claude Opus 4.7 --- CHANGELOG.md | 2 ++ pyproject.toml | 2 +- uv.lock | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0a7f8d0..81d54da 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.16] - 2026-04-20 + ### Fixed - Cursor resume crashed with `ValueError: malformed node or string on line 1: ` whenever the stored pagination dict contained a boolean or `None`. Pagination is written to the backend via `json.dumps`, but the producer was reading it back with `ast.literal_eval`, which can't parse JSON's `true` / `false` / `null` (they become `ast.Name` nodes). Connectors like Notion (`has_more`, `data_sources_loaded`) and Cycle (GraphQL `pageInfo.hasNextPage`) could never resume — the first retry would hit this error and the pod would exit with `BACKEND_ERROR`. Switched the producer to `json.loads`, matching the write path. diff --git a/pyproject.toml b/pyproject.toml index 737a55b..4dcadd0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "bizon" -version = "0.3.15" +version = "0.3.16" description = "Extract and load your data reliably from API Clients with native fault-tolerant and checkpointing mechanism." authors = [ { name = "Antoine Balliet", email = "antoine.balliet@gmail.com" }, diff --git a/uv.lock b/uv.lock index faea9ee..76c8f2f 100644 --- a/uv.lock +++ b/uv.lock @@ -55,7 +55,7 @@ wheels = [ [[package]] name = "bizon" -version = "0.3.15" +version = "0.3.16" source = { editable = "." } dependencies = [ { name = "backoff" },