Skip to content
Open
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
24 changes: 24 additions & 0 deletions content/releases/3.breaking-changes/3.version-12.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,30 @@ title: Version 12
description: Breaking changes may require action on your part before upgrading.
---

## Version 12.3.0

### Update and Delete operations no longer target all items by default

The **Update Items** and **Delete Items** flow operations previously affected every item in a collection when their targeting parameters were empty or missing. They now return `null` instead of running against the whole collection.

If a flow relied on the previous behavior to update or delete all items, set an explicit query: `{"limit": -1}`.

These operations now also throw an error when both `key` and `query` are defined at the same time, and **Update Items** throws when either parameter is combined with a batch payload. Pass only one targeting method per operation.

### Storage `exists()` throws on connection failures

The storage driver's `exists()` method previously returned `false` for any failure, including connection timeouts and authentication errors. It now throws on these failures so a transient problem is no longer mistaken for a missing object. Extensions and callers that use `exists()` must handle the thrown error.

If you use S3, grant the `s3:ListBucket` permission so the driver can tell a missing object apart from a permission error.

### Image transformation output default raised to 6000px

`ASSETS_TRANSFORM_IMAGE_MAX_OUTPUT_DIMENSION` now defaults to `6000`, up from `3000` in 12.2.0. Transformations that were rejected between these limits are now allowed by default. To keep the previous `3000` limit, set [`ASSETS_TRANSFORM_IMAGE_MAX_OUTPUT_DIMENSION`](/configuration/files) to `3000` explicitly.

### Docker images use the bundled `pm2`

The Docker image now runs the `pm2` version bundled with it. If your custom `CMD` calls `pm2-runtime` directly, route it through `docker-entrypoint.cjs` instead. The startup sequence is unchanged: bootstrap, then `pm2-runtime`.

## Version 12.2.0

### WYSIWYG editor rebuilt on Tiptap
Expand Down
Loading