Prisma 2.13.0stable Released Dec 08, 2020
⚠️ Breaking Change Impact Score: 7/10

Prisma 2.13.0 — Release Notes & Engineering Impact

Source available — automated, not human-reviewed

Component: prisma · Channel: stable. Automated analysis, not a compatibility certification. How this works.

Analysis updated: 2026-11-01.

Breaking-change evidence from the source

  • Breaking changes when upgrading from the Experimental version
  • - [Breaking change: Error classes are exported as types](https://github.com/prisma/prisma/issues/4365)
Read the original context ↗
Source flags breaking changes — review applicability
$ npm install --save-dev --save-exact [email protected]
📄 .MD
⚡ Executive Summary (TL;DR)

Prisma 2.13.0. Source highlight: Today, we are excited to share the `2.13.0` stable release 🎉

Who Does This Impact? (Role-Based Analysis)

💻 Software Engineers & Devs

Check the source notes against the package and APIs you use before upgrading.

📊 Product & Engineering Leads

Use the documented changes to assess relevance to your product; release frequency alone is not a quality measure.

⚙️ DevOps & Security

Verify the target version, runtime requirements and rollback procedure in the official documentation.

⚠️ Breaking Changes & Deprecations (2)

  • Breaking changes when upgrading from the Experimental version
  • - [Breaking change: Error classes are exported as types](https://github.com/prisma/prisma/issues/4365)

✨ New Features & Capabilities (4)

  • Using certain database features that can't be represented in the Prisma schema (e.g., creating stored procedures or triggers)
  • Add `Symbol.toStringTag` to Prisma Client
  • Adjust wording of comment when `dbgenerated()` is added via introspection
  • XOR introduces regression in type safety

⚡ Performance & Enhancements (2)

  • More control over how exactly schema changes are performed (e.g., renaming an existing column)
  • Performing data migrations
📄 View Raw Release Notes (Original Developer Log)
Today, we are excited to share the `2.13.0` stable release 🎉 🌟 **Help us spread the word about Prisma by starring the repo or [tweeting](https://twitter.com/intent/tweet?text=Check%20out%20the%20latest%20Prisma%20release%202.13.0%20%F0%9F%9A%80%0D%0A%0D%0Ahttps://github.com/prisma/prisma/releases/tag/2.13.0) about the release.** ## Major improvements ### Prisma Migrate is now in Preview We are releasing Prisma Migrate in Preview; read the [announcement blog post](https://www.prisma.io/blog/prisma-migrate-preview-b5eno5g08d0b) to learn more. This version is the evolution of the Experimental Prisma Migrate we released last year. We've changed Migrate to be more **predictable** and providing fine-grained **control** over how exactly database schema changes are carried out. You can learn more about the [Preview](https://www.prisma.io/docs/about/releases#preview) stage in the Prisma docs. Please try out Prisma Migrate and share your feedback for it [here](https://github.com/prisma/prisma/issues/4531). #### Auto-generated migrations files in plain SQL Prisma Migrate still picks up the changes in your Prisma schema file to generate migration files. The main difference compared to the previous Migrate version is that these migration files are now plain SQL and fully customizable; this allows for: - More control over how exactly schema changes are performed (e.g., renaming an existing column) - Performing data migrations - Using certain database features that can't be represented in the Prisma schema (e.g., creating stored procedures or triggers) - Orchestration of complex changes (e.g., an expand and contract pattern) #### Integrated workflows for development and production This evolved version of Prisma Migrate is now deterministic making sure migrations are always executed in a predictable way. The tool supports both workflows for deploying migrations to production and other environments. It also comes with an interactive development command that not only helps to create and apply migrations, but also helps developers to get back on track when they run into certain issues. #### Breaking changes when upgrading from the Experimental version The new Preview version is not backward compatible with the previous Experimental version. You can learn more about the upgrade process in the [docs](https://www.prisma.io/docs/guides/prisma-guides/prisma-migrate-guides/add-prisma-migrate-to-a-project). ### Import types and enums in the browser Until now, you could not import any typings that are generated by Prisma Client in a browser application. This changed in this release! With 2.13.0, you can now import all your enums and all types from Prisma Client in any browser environment. This also works across all the universal Javascript frameworks like Next.js, Blitz, Gatsby, and Vue.js. Let's take a look at an example of a React component utilizing the new exports. Assume you have the following Prisma schema: ```prisma model User { id String @id hobbies Hobby[] } enum Hobby { Tennis Prisma Basketball } ``` Once you've generated the `@prisma/client` node module, you can import the generated types in your frontend application as follows: ```tsx import { Hobby, User } from '@prisma/client' type Props = { user: User } export function HobbyComponent({ user }: Props) { return ( <div> Hello {user.name}! <br /> The available hobbies are: <br /> <ul> {Object.values(Hobby).map(hobby => <li key={hobby}>{hobby}</li>)} </ul> </div> ) } ``` ### Lots of improvements for Prisma Studio #### New keyboard shortcuts in the standalone app ##### Navigating tabs You can now use your keyboard to navigate between tabs in the Prisma Studio standalone app: - <kbd>CMD</kbd>+<kbd>SHIFT</kbd>+<kbd>[</kbd> OR <kbd>CMD</kbd>+<kbd>OPTION</kbd>+<kbd>←</kbd>: Navigate to left tab - <kbd>CMD</kbd>+<kbd>SHIFT</kbd>+<kbd>]</kbd> OR <kbd>CMD</kbd>+<kbd>OPTION</kbd>+<kbd>→</kbd>: Navigate to right tab <details><summary>Expand to view Studio's keyboard shortcut cheatsheet</summary> ![](https://imgur.com/d99QNfL.png) </details> ##### Zooming in and out You can now use your keyboard to zoom in and out in the Prisma Studio standalone app: - <kbd>CMD</kbd>+<kbd>+</kbd> OR <kbd>CMD</kbd>+<kbd>SHIFT</kbd>+<kbd>+</kbd> to zoom in - <kbd>CMD</kbd>+<kbd>-</kbd> OR <kbd>CMD</kbd>+<kbd>SHIFT</kbd>+<kbd>-</kbd> to zoom out #### Improved UX for inline editing of arrays Inline editing of arrays (scalar lists) has sometimes been cumbersome with the Prisma Studio UI. With this release, we include a smoother UX for this. <details><summary>Expand to view a demo of the new UX</summary> ![](https://imgur.com/haG0QNj.gif) </details> Note that you can try out Studio with some sample datasets [here](https://prisma-studio.now.sh/preview?project=capabilities). ## Prisma Client Go now supports JSON We've had JSON support in Prisma Client JS for quite a while, but we're pleased to announce that the Go version of Prisma Client now has JSON support as well. Head over to the [documentation](https://github.com/prisma/prisma-client-go/blob/master/docs/reference/12-json.md) to learn more! ## 🌎 Join us for the second Prisma Online Meetup Join us online for the second [Prisma Meetup](https://www.meetup.com/Berlin-Prisma-Meetup/events/274941491/) and learn more about the Preview version of Prisma Migrate from Alberto Perdomo and Tom Houlé who have been deeply involved building it. - When? *December 09, 2020 6pm CET* - Where? **[Youtube](https://www.youtube.com/watch?v=nxfe34pWQ3E)** ## Fixes and improvements ### [`prisma`](https://github.com/prisma/prisma) - [Expand --version command](https://github.com/prisma/prisma/issues/1196) - [Generating client to custom location with Next.js is broken](https://github.com/prisma/prisma/issues/2195) - [Expose types to the frontend for Next.js](https://github.com/prisma/prisma/issues/3252) - [Adjust `prisma init` to write to .env instead of prisma/.env](https://github.com/prisma/prisma/issues/3721) - [Native Types Postgres: Introspecting timestamp[] and time[] break client generation](https://github.com/prisma/prisma/issues/4051) - [Understand Prisma $connect behavior](https://github.com/prisma/prisma/issues/4068) - [`deleteMany` should be valid without parameters](https://github.com/prisma/prisma/issues/4302) - [sqlserver Introspection Fails With "No such table: information_schema.columns" Based on Case Sensitive Database Collation](https://github.com/prisma/prisma/issues/4333) - [Allow `deleteMany` without args in TypeScript](https://github.com/prisma/prisma/issues/4345) - [Make Prisma Client (usage + generation) ASAR compatible](https://github.com/prisma/prisma/issues/4356) - [Add `Symbol.toStringTag` to Prisma Client](https://github.com/prisma/prisma/issues/4357) - [Breaking change: Error classes are exported as types](https://github.com/prisma/prisma/issues/4365) - [Deprecated types are not seen as such](https://github.com/prisma/prisma/issues/4366) - [Adjust wording of comment when `dbgenerated()` is added via introspection](https://github.com/prisma/prisma/issues/4369) - [Hint for codemod should highlight command in backticks and/or colored](https://github.com/prisma/prisma/issues/4373) - [XOR introduces regression in type safety](https://github.com/prisma/prisma/issues/4390) ### [`migrate`](https://github.com/prisma/migrate) - [Detect failure from insufficient privileges in introspection (and migrate?)](https://github.com/prisma/migrate/issues/649) ### [`language-tools`](https://github.com/prisma/language-tools) - [ Connection to server got closed. Server will restart](https://github.com/prisma/language-tools/issues/403) - [VC Code extension stopped working](https://github.com/prisma/language-tools/issues/615) - [Rename doesn't rename multiple models of the same relation](https://github.com/prisma/language-tools/issues/636) - [Syntax highlighting broken for Json and Float field](https://github.com/prisma/language-tools/issues/638) ### [`studio`](https://github.com/prisma/studio) - [Editing of enum & boolean lists is sub-par](https://github.com/prisma/studio/issues/505) - [Opened a non-existing project from the history and can't restart Studio](https://github.com/prisma/studio/issues/590) - [Zoom in/out with keyboard shortcuts](https://github.com/prisma/studio/issues/591) ### [`prisma-engines`](https://github.com/prisma/prisma-engines) - [Supporting SQL Server in Migration Engine](https://github.com/prisma/prisma-engines/issues/813) - [Return a user-facing error for database URL parsing errors.](https://github.com/prisma/prisma-engines/issues/1241) - [CI: Find a reliable way to shut down docker after the tests have finished](https://github.com/prisma/prisma-engines/issues/1385) ## Credits Huge thanks to @qsona for helping!