v2.1.2
Genymobile/scrcpyv2.1.2Jul 29, 2026by sgrebnov
AI Summary
This patch release focuses on improving the DuckDB data accelerator by upgrading to version 1.5.5 and introducing a new parameter to control file growth during full refreshes.
Key Highlights
- New `on_full_refresh` parameter controls disk space reclamation for DuckDB file mode.
- DuckDB engine upgraded from v1.5.3 to v1.5.5 for stability improvements.
- Options include `replace_file` for fresh snapshots and `checkpoint_file` for in-place management.
New Features
- `on_full_refresh: replace_file` mode
- `on_full_refresh: checkpoint_file` mode
- DuckDB engine upgrade to v1.5.5
Full Release Notes
Spice v2.1.2 is a patch release focused on improving the DuckDB data accelerator. It upgrades the DuckDB engine to v1.5.5 and introduces the `on_full_refresh` parameter, giving file-mode DuckDB accelerations compact, predictable disk usage across repeated full refreshes.
## What's New in v2.1.2
### Bounded DuckDB Acceleration File Growth with `on_full_refresh`
File-mode [DuckDB](https://spiceai.org/docs/components/data-accelerators/duckdb) accelerations using `refresh_mode: full` now reclaim disk space on every refresh, keeping the database file compact and disk usage predictable for long-running deployments. Each full refresh bulk-loads a fresh copy of the data, and the new `on_full_refresh` modes ensure the space held by prior copies is returned rather than accumulating in the file.
The new `on_full_refresh` acceleration parameter controls how disk space is reclaimed after each full refresh:
```yaml
acceleration:
engine: duckdb
mode: file
refresh_mode: full
params:
duckdb_file: /data/shared.duckdb
on_full_refresh: replace_file # default: reuse_file
```
- `reuse_file` (default): Existing behavior — refresh into the existing database file.
- `replace_file`: Each full refresh streams data into a fresh staging database file, carries over every other object sharing the file (other datasets' tables, views, indexes, and Spice metadata), checkpoints it, and atomically replaces the configured file. Queries are never interrupted — in-flight queries drain against the old file while new queries see the new file — and space is fully reclaimed on every refresh.
- `checkpoint_file`: After each refresh, run a `CHECKPOINT` in place, escalating to `FORCE CHECKPOINT` when concurrent transactions block the plain attempt (waiting for in-flight transactions; never aborting them).
### DuckDB 1.5.5
The DuckDB engine is upgraded from v1.5.3 to [v1.5.5](https://github.com/duckdb/duckdb/releases/tag/v1.5.5), bringing the latest upstream stability fixes.
## Contributors
- [@lukekim](https://github.com/lukekim)
- [@sgrebnov](https://github.com/sgrebnov)
- [@bjchambers](https://github.com/bjchambers)
- [@krinart](https://github.com/krinart)
## Breaking Changes
No breaking changes.
## Cookbook Updates
No new cookbook recipes.
The [Spice Cookbook](https://spiceai.org/cookbook) includes more than 100 recipes to help you get started with Spice quickly and easily.
## Upgrading
To upgrade to v2.1.2, use one of the following methods:
**CLI**:
```console
spice upgrade
```
**Homebrew**:
```console
brew upgrade spiceai/spiceai/spice
```
**Docker**:
Pull the `spiceai/spiceai:2.1.2` image:
```console
docker pull spiceai/spiceai:2.1.2
```
For available tags, see [DockerHub](https://hub.docker.com/r/spiceai/spiceai/tags).
**Helm**:
```console
helm repo update
helm upgrade spiceai spiceai/spiceai --version 2.1.2
```
**AWS Marketplace**:
Spice is available in the [AWS Marketplace](https://aws.amazon.com/marketplace/pp/prodview-jmf6jskjvnq7i).
## What's Changed
### Changelog
- feat(duckdb): `on_full_refresh: replace_file` — full refresh into a new database file, atomically replaced by [@lukekim](https://github.com/lukekim) in [#12135](https://github.com/spiceai/spiceai/pull/12135)
- feat(duckdb): 'on_full_refresh: checkpoint_file' to bound acceleration file growth by [@sgrebnov](https://github.com/sgrebnov) in [#12139](https://github.com/spiceai/spiceai/pull/12139)
**Full Changelog**: <https://github.com/spiceai/spiceai/compare/v2.1.1...v2.1.2>