Skip to content
This repository was archived by the owner on Aug 25, 2026. It is now read-only.

EdgeBase 0.3.2

Choose a tag to compare

@melodysdreamj melodysdreamj released this 07 Jul 12:17
· 69 commits to main since this release

EdgeBase 0.3.2

Provider parity release: aligns the Durable Object, D1, and PostgreSQL database backends so the same request behaves identically on all three, and closes an access-rule bypass on D1 batch operations.

🔒 Security

  • D1 batch access-rule bypass fixed. Batch update/delete and batch-by-filter on the D1 backend skipped row-level access rules (batch updates ran no update rule, batch deletes evaluated the delete rule once against an empty row, and batch-by-filter ignored auth/service-key context). Authenticated clients could bypass row-level authorization. All batch paths now evaluate rules per row, matching the Durable Object handler.

⚠️ Behavior changes

  • PostgreSQL response shapes aligned with D1/DO: search without a term returns an empty result instead of 400; an empty update body returns the existing record instead of 400; delete returns { deleted: true }; the legacy errors field was removed from validation responses.
  • PostgreSQL batch inserts are now atomic (BEGIN/COMMIT) and support updates/deletes.
  • D1 field-name aliasing removed (snake_case↔camelCase auto-mapping); all backends now require exact field names.
  • Rule-rejection messages and driver-error normalization unified across backends.

✨ Improvements

  • includeTotal query parameter (skip the COUNT query on list) promoted to all backends and documented.
  • Multi-table atomic transact API and PostgreSQL transact support (session-scoped BEGIN/COMMIT).
  • New SDK support-tiers documentation.

📦 SDKs

SDK packages are versioned in lockstep at 0.3.2. Registry publishing (npm, PyPI, crates.io, NuGet, RubyGems, Hex, pub.dev) is performed separately by the maintainer; JVM SDKs (Java/Kotlin/Scala) publish via JitPack on this tag, and the PHP/Swift split repositories sync automatically.

🤖 Generated with Claude Code