Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions .changeset/file-image-nullish.md

This file was deleted.

33 changes: 0 additions & 33 deletions .changeset/quiet-otters-gather.md

This file was deleted.

7 changes: 0 additions & 7 deletions .changeset/spotty-llamas-cheer.md

This file was deleted.

2 changes: 2 additions & 0 deletions packages/auth/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# @opensaas/stack-auth

## 0.26.0

## 0.25.0

## 0.24.0
Expand Down
2 changes: 1 addition & 1 deletion packages/auth/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@opensaas/stack-auth",
"version": "0.25.0",
"version": "0.26.0",
"description": "Better-auth integration for OpenSaas Stack",
"type": "module",
"main": "./dist/index.js",
Expand Down
7 changes: 7 additions & 0 deletions packages/cli/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# @opensaas/stack-cli

## 0.26.0

### Patch Changes

- Updated dependencies [[`322d5b6`](https://github.com/OpenSaasAU/stack/commit/322d5b64d11c3e3401493511e0c0e3a1fa20e210), [`0be254e`](https://github.com/OpenSaasAU/stack/commit/0be254e2b2e6bbc0c2f168438aea49d2e1cc7f0b)]:
- @opensaas/stack-core@0.26.0

## 0.25.0

### Minor Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/cli/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@opensaas/stack-cli",
"version": "0.25.0",
"version": "0.26.0",
"description": "CLI tools for OpenSaas Stack",
"type": "module",
"main": "./dist/index.js",
Expand Down
40 changes: 40 additions & 0 deletions packages/core/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,45 @@
# @opensaas/stack-core

## 0.26.0

### Minor Changes

- [#616](https://github.com/OpenSaasAU/stack/pull/616) [`322d5b6`](https://github.com/OpenSaasAU/stack/commit/322d5b64d11c3e3401493511e0c0e3a1fa20e210) Thanks [@borisno2](https://github.com/borisno2)! - Add `context.transaction()` — an interactive, hook-firing transaction

You can now run multiple access-checked `context.db.*` operations atomically in one transaction while preserving the access/hook boundary (unlike raw `prisma.$transaction`, which bypasses both). The callback receives a full context whose `db.*` operations enforce access control and run list/field hooks, but persist against a single interactive transaction — so a throw anywhere rolls the whole transaction back.

Options (notably `isolationLevel`, plus `maxWait`/`timeout`) pass through to Prisma, and serialization failures (Prisma `P2034`) propagate to the caller so you own the retry loop. This makes concurrency-sensitive invariants such as a capacity gate enforceable:

```typescript
async function bookSlot(context, slotId) {
for (let attempt = 0; attempt < 5; attempt++) {
try {
return await context.transaction(
async (tx) => {
const count = await tx.db.booking.count({ where: { slotId } })
if (count >= CAPACITY) return { booked: false }
return { booked: true, item: await tx.db.booking.create({ data: { slotId } }) }
},
{ isolationLevel: 'Serializable' },
)
} catch (err) {
// Serialization failures propagate — retry is caller-owned.
if (err && typeof err === 'object' && 'code' in err && err.code === 'P2034') continue
throw err
}
}
throw new Error('exceeded retry budget')
}
```

Nested `context.db` writes inside the callback join the outer transaction. New `StackContext`, `TransactionOptions`, and `TransactionIsolationLevel` types are exported from `@opensaas/stack-core`. See ADR-0012.

### Patch Changes

- [#620](https://github.com/OpenSaasAU/stack/pull/620) [`0be254e`](https://github.com/OpenSaasAU/stack/commit/0be254e2b2e6bbc0c2f168438aea49d2e1cc7f0b) Thanks [@borisno2](https://github.com/borisno2)! - Apply a field's defaultValue to omitted inputs before create validation (resolve-then-validate, matching Keystone), so isRequired + defaultValue no longer fails on create.

Note: because an omitted-but-defaulted field is now filled into `resolvedData` before validation, that field's create-side field-level `beforeOperation`/`afterOperation` hooks (gated on the field key being present in `resolvedData`) now fire for defaulted fields where they previously would not.

## 0.25.0

### Minor Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/core/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@opensaas/stack-core",
"version": "0.25.0",
"version": "0.26.0",
"description": "Core stack for OpenSaas - schema definition, access control, and runtime utilities",
"type": "module",
"main": "./dist/index.js",
Expand Down
2 changes: 2 additions & 0 deletions packages/rag/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# @opensaas/stack-rag

## 0.26.0

## 0.25.0

## 0.24.0
Expand Down
2 changes: 1 addition & 1 deletion packages/rag/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@opensaas/stack-rag",
"version": "0.25.0",
"version": "0.26.0",
"description": "RAG and AI embeddings integration for OpenSaas Stack",
"type": "module",
"main": "./dist/index.js",
Expand Down
2 changes: 2 additions & 0 deletions packages/storage-s3/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# @opensaas/stack-storage-s3

## 0.26.0

## 0.25.0

## 0.24.0
Expand Down
2 changes: 1 addition & 1 deletion packages/storage-s3/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@opensaas/stack-storage-s3",
"version": "0.25.0",
"version": "0.26.0",
"description": "AWS S3 storage provider for OpenSaas Stack file uploads",
"type": "module",
"exports": {
Expand Down
2 changes: 2 additions & 0 deletions packages/storage-vercel/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# @opensaas/stack-storage-vercel

## 0.26.0

## 0.25.0

## 0.24.0
Expand Down
2 changes: 1 addition & 1 deletion packages/storage-vercel/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@opensaas/stack-storage-vercel",
"version": "0.25.0",
"version": "0.26.0",
"description": "Vercel Blob storage provider for OpenSaas Stack file uploads",
"type": "module",
"exports": {
Expand Down
6 changes: 6 additions & 0 deletions packages/storage/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# @opensaas/stack-storage

## 0.26.0

### Patch Changes

- [#619](https://github.com/OpenSaasAU/stack/pull/619) [`29ca3a9`](https://github.com/OpenSaasAU/stack/commit/29ca3a9fdd90af4e34b9ff770ae9a5ae94df2337) Thanks [@borisno2](https://github.com/borisno2)! - Fix file()/image() fields being required on create/update: their Zod schema now uses key-optionality (.nullish()) so an omitted field validates and stores null (Zod 4).

## 0.25.0

## 0.24.0
Expand Down
2 changes: 1 addition & 1 deletion packages/storage/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@opensaas/stack-storage",
"version": "0.25.0",
"version": "0.26.0",
"description": "File and image upload field types with pluggable storage providers for OpenSaas Stack",
"type": "module",
"exports": {
Expand Down
2 changes: 2 additions & 0 deletions packages/tiptap/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# @opensaas/stack-tiptap

## 0.26.0

## 0.25.0

## 0.24.0
Expand Down
2 changes: 1 addition & 1 deletion packages/tiptap/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@opensaas/stack-tiptap",
"version": "0.25.0",
"version": "0.26.0",
"description": "Tiptap rich text editor integration for OpenSaas Stack",
"type": "module",
"main": "./dist/index.js",
Expand Down
2 changes: 2 additions & 0 deletions packages/ui/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# @opensaas/stack-ui

## 0.26.0

## 0.25.0

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/ui/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@opensaas/stack-ui",
"version": "0.25.0",
"version": "0.26.0",
"description": "Composable React UI components for OpenSaas Stack",
"type": "module",
"main": "./dist/index.js",
Expand Down
Loading