Releases
Information about Zipline releases and how to update
Zipline is currently being maintained by me (@diced) and only me. New releases can come out frequently or take a while depending on my schedule. If a new minor/patch release (4.x.x) is not out, you can build from source or use the trunk tag on docker for the latest commit version.
Database upgrades
Back up your database before upgrading. Zipline applies database migrations automatically on startup.
The upgrade to 4.8.0 switches database migrations from Prisma to Drizzle. Existing PostgreSQL databases must have the complete, unmodified Prisma migration history. If you are on an older release, first run the latest release before 4.8.0 and let its migrations finish before upgrading.
If startup reports "cannot safely migrate from prisma to drizzle", resolve the migration problem using the preceding release before retrying. Do not delete migration history or manually mark migrations as applied to bypass the check. The error identifies the missing, failed, or unexpected migration.
latest
Updated every once in a while, the most frequent updates will be under 4.x.[number] where [number] increments. These may come out every few weeks or so. This is the most stable version of Zipline and is recommended for production use.
Just pull the latest image:
docker pull ghcr.io/diced/zipline:latestFirst switch to the latest tag, for example if the latest tag is 4.0.0, run:
git checkout v4.0.0Then follow the update steps
trunk
Update every time a commit is pushed to the trunk branch. This is the least stable version of Zipline and is not recommended for production use, but is useful if a bug is fixed in the latest commit and you want to use it right away without waiting for the next release.
Just pull the latest image:
docker pull ghcr.io/diced/zipline:trunkThen switch to the trunk tag in your docker-compose file:
image: ghcr.io/diced/zipline:trunkUpgrading to 4.8
Zipline 4.8 replaces Prisma with Drizzle ORM. On its first start, 4.8 adopts your existing database: it checks that the Prisma migration history is complete, then records the Drizzle baseline and applies the new migrations. This step only runs once and cannot be reverted by downgrading.
Upgrade to 4.7.0 first if you are running an older version. 4.8 refuses to adopt a database whose Prisma
history stops before the 20260806081144_remove_version_api migration, which was added in 4.7.0, and exits with:
cannot safely migrate from prisma to drizzle: expected migration 20260806081144_remove_version_api was not appliedIf you are on 4.6.x or older, run 4.7.0 once so it applies the remaining Prisma migrations:
Switch to the 4.7.0 tag in your docker-compose file and start Zipline:
image: ghcr.io/diced/zipline:4.7.0Then back up your PostgreSQL database. Nothing is dropped during adoption (the _prisma_migrations table is kept), but the Drizzle migrations that follow do change the schema.
Finally switch to 4.8 and start Zipline. Your database configuration does not change: both DATABASE_URL and the individual DATABASE_* variables keep working.
Pinning to a specific version
If you want to pin to a specific version or commit for stability reasons, you can do so by using the specific tag for that version or any commit hash.
For example, if you wanted to pin to version 4.3.2, you can use the 4.3.2 tag:
docker pull ghcr.io/diced/zipline:4.3.2Or if you wanted to pin to a specific commit, you can use the commit hash as the tag:
Note that it must be the short version of the commit hash, which is the first 7 characters of the full commit hash. You can find this in the commit history on GitHub.
docker pull ghcr.io/diced/zipline:abc1234