Changelog¶
Recent releases and what's new in Centrali.
v3.0.6¶
Released: February 2026
- Upsert Records — Create or update records atomically with a single API call. Match on any combination of fields to determine whether to insert or update.
- SDK Support — New
centrali.upsertRecord()method with full TypeScript support - NATS Event Improvements — Events are now deferred to post-commit, ensuring consumers only see committed data
- Compute
api.queryRecordsresponse aligned with REST API / SDK — The response now includesdata(array of records) andmeta(pagination info), matching the shape returned by the REST API and SDK. The legacyitems,total,page, andpageSizetop-level fields are still returned for backward compatibility but are now deprecated. Accessing them will log a deprecation warning in your function logs. They will be removed in the next major version.
// Upsert: create if not found, update if exists
const result = await centrali.upsertRecord('Product', {
match: { sku: 'WIDGET-001' },
data: {
sku: 'WIDGET-001',
name: 'Updated Widget',
price: 29.99
}
});
// result.action === 'created' or 'updated'
// queryRecords — new shape (recommended)
const orders = await api.queryRecords('orders');
orders.data; // Record[]
orders.meta.total; // number
orders.meta.page; // number
orders.meta.pageSize; // number
// queryRecords — old shape (deprecated, logs warnings)
orders.items; // use orders.data instead
orders.total; // use orders.meta.total instead
v3.0.5 — Transaction Safety¶
Released: January 2026
- Transaction Fixes — Side effects (NATS events, webhooks) now execute only after successful transaction commit
- Array Payload Rejection — API now returns clear errors for invalid array payloads
- Business Key Preservation — Match keys are stripped from update data to prevent accidental overwrites
v3.0.4 — Query Validation Improvements¶
Released: January 2026
- Schemaless Query Support — Fixed query validation that incorrectly blocked filters on schemaless and auto-evolving structures
- Helpful Error Messages — Query validation errors now include hints about available fields and valid operators
v3.0.3 — Numeric Sort Fix¶
Released: January 2026
- Numeric Sort Ordering — Fixed numeric fields being sorted lexicographically instead of numerically in JSONB columns
- CORS Wildcard Patterns — Added support for wildcard patterns with protocol prefixes in CORS configuration
v3.0.2 — Partial Update Validation¶
Released: December 2025
- Partial Updates — Record updates now correctly validate only the fields being changed, not the entire record
- Schema Discovery Config — Structures are initialized with proper schema discovery configuration on creation
v3.0.1 — Data Service Fixes¶
Released: December 2025
- Lock Status Checks — Fixed edge case where empty update payloads could bypass lock status checks
- Persisted Field Computation — Existing data is now correctly merged before computing persisted/computed fields
For the full commit history, see our GitHub repository.