🌟 Help us spread the word about Prisma by starring the repo or posting on X about the release. 🌟
Highlights
strictUndefinedChecks in Preview
With Prisma ORM 5.20.0, the Preview feature strictUndefinedChecks will disallow any value that is explicitly undefined and will be a runtime error. This change is direct feedback from this GitHub issue and follows our latest proposal on the same issue.
To demonstrate the change, take the following code snippet:
prisma.table.deleteMany({
where: {
// If `nullableThing` is nullish, this query will remove all data.
email: nullableThing?.property,
}
})
In Prisma ORM 5.19.0 and below, this could result in unintended behavior. In Prisma ORM 5.20.0, if the strictUndefinedChecks Preview feature is enabled, you will get a runtime error instead:
Invalid \`prisma.user.findMany()\` invocation in
/client/tests/functional/strictUndefinedChecks/test.ts:0:0
XX })
XX
XX test('throws on undefined input field', async () => {
→ XX const result = prisma.user.deleteMany({
where: {
email: undefined
~~~~~~~~~
}
})
Invalid value for argument \`where\`: explicitly \`undefined\` values are not allowed."
We have also introduced the Prisma.skip symbol, which will allow you to get the previous behavior if desired.
prisma.table.findMany({
where: {
// Use Prisma.skip to skip parts of the query
email: nullableEmail ?? Prisma.skip
}
})
From Prisma ORM 5.20.0 onward, we recommend enabling strictUndefinedChecks, along with the TypeScript compiler option exactOptionalPropertyTypes, which will help catch cases of undefined values at compile time. Together, these two changes will help protect your Prisma queries from potentially destructive behavior.
... (truncated)
Commits
bf237ff chore(deps): update engines to 5.20.0-12.06fc58a368dc7be9fbbbe894adf8d445d208...
b2c080e test(e2e): Update types in e2e tests (#25263)
100c926 feat(typed-sql): Support enum names that are not valid JS identifiers (#25262)
To install Sass 1.79.5, download one of the packages below and add it to your PATH, or see the Sass website for full installation instructions.
Changes
Changes to how selector.unify() and @extend combine selectors:
The relative order of pseudo-classes (like :hover) and pseudo-elements (like ::before) within each original selector is now preserved when they're combined.
Pseudo selectors are now consistently placed at the end of the combined selector, regardless of which selector they came from. Previously, this reordering only applied to pseudo-selectors in the second selector.
Tweak the color transformation matrices for OKLab and OKLCH to match the newer, more accurate values in the CSS spec.
Fix a slight inaccuracy case when converting to srgb-linear and display-p3.
Potentially breaking bug fix:math.unit() now wraps multiple denominator units in parentheses. For example, px/(em*em) instead of px/em*em.
Command-Line Interface
Use @parcel/watcher to watch the filesystem when running from JavaScript and not using --poll. This should mitigate more frequent failures users have been seeing since version 4.0.0 of Chokidar, our previous watching tool, was released.
JS API
Fix SassColor.interpolate() to allow an undefined options parameter, as the types indicate.
Embedded Sass
Properly pass missing color channel values to and from custom functions.
Changes to how selector.unify() and @extend combine selectors:
The relative order of pseudo-classes (like :hover) and pseudo-elements
(like ::before) within each original selector is now preserved when
they're combined.
Pseudo selectors are now consistently placed at the end of the combined
selector, regardless of which selector they came from. Previously, this
reordering only applied to pseudo-selectors in the second selector.
Tweak the color transformation matrices for OKLab and OKLCH to match the
newer, more accurate values in the CSS spec.
Fix a slight inaccuracy case when converting to srgb-linear and
display-p3.
Potentially breaking bug fix:math.unit() now wraps multiple denominator
units in parentheses. For example, px/(em*em) instead of px/em*em.
Command-Line Interface
Use @parcel/watcher to watch the filesystem when running from JavaScript and
not using --poll. This should mitigate more frequent failures users have
been seeing since version 4.0.0 of Chokidar, our previous watching tool, was
released.
JS API
Fix SassColor.interpolate() to allow an undefined options parameter, as
the types indicate.
Embedded Sass
Properly pass missing color channel values to and from custom functions.
1.79.4
JS API
Fix a bug where passing green or blue to color.change() for legacy
colors would fail.
1.79.3
Update the $channel parameter in the suggested replacement for
color.red(), color.green(), color.blue(), color.hue(),
color.saturation(), color.lightness(), color.whiteness(), and
color.blackness() to use a quoted string.
... (truncated)
Commits
7290399 Partially replace chokidar with @​parcel/watcher (#2379)
Note: we removed LogCallback from the TS definitions because the underlying library didn't actually support these. If this causes issues in your apps, we recommend you remove references to LogCallbacks, since such code was not being executed anyways. See #2513 and the issue linked therein.
🌟 Help us spread the word about Prisma by starring the repo or posting on X about the release. 🌟
Highlights
strictUndefinedChecks in Preview
With Prisma ORM 5.20.0, the Preview feature strictUndefinedChecks will disallow any value that is explicitly undefined and will be a runtime error. This change is direct feedback from this GitHub issue and follows our latest proposal on the same issue.
To demonstrate the change, take the following code snippet:
prisma.table.deleteMany({
where: {
// If `nullableThing` is nullish, this query will remove all data.
email: nullableThing?.property,
}
})
In Prisma ORM 5.19.0 and below, this could result in unintended behavior. In Prisma ORM 5.20.0, if the strictUndefinedChecks Preview feature is enabled, you will get a runtime error instead:
Invalid \`prisma.user.findMany()\` invocation in
/client/tests/functional/strictUndefinedChecks/test.ts:0:0
XX })
XX
XX test('throws on undefined input field', async () => {
→ XX const result = prisma.user.deleteMany({
where: {
email: undefined
~~~~~~~~~
}
})
Invalid value for argument \`where\`: explicitly \`undefined\` values are not allowed."
We have also introduced the Prisma.skip symbol, which will allow you to get the previous behavior if desired.
prisma.table.findMany({
where: {
// Use Prisma.skip to skip parts of the query
email: nullableEmail ?? Prisma.skip
}
})
From Prisma ORM 5.20.0 onward, we recommend enabling strictUndefinedChecks, along with the TypeScript compiler option exactOptionalPropertyTypes, which will help catch cases of undefined values at compile time. Together, these two changes will help protect your Prisma queries from potentially destructive behavior.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Bumps the minor group with 16 updates:
5.18.0
5.20.0
0.0.22
0.0.25
14.2.14
14.2.15
6.9.14
6.9.15
6.4.15
6.4.16
9.13.0
9.13.1
5.0.0
5.0.1
10.0.0
10.0.1
11.1.0
11.1.1
1.77.8
1.79.5
3.14.2
3.15.0
9.0.6
9.0.7
18.3.3
18.3.11
18.3.0
18.3.1
5.18.0
5.20.0
5.5.4
5.6.3
Updates
@prisma/client
from 5.18.0 to 5.20.0Release notes
Sourced from
@​prisma/client
's releases.... (truncated)
Commits
bf237ff
chore(deps): update engines to 5.20.0-12.06fc58a368dc7be9fbbbe894adf8d445d208...b2c080e
test(e2e): Update types in e2e tests (#25263)100c926
feat(typed-sql): Support enum names that are not valid JS identifiers (#25262)ce11a90
feat(client): implementstrictUndefinedChecks
(#25224)9810341
chore(deps): update engines to 5.20.0-8.c9ff5773c72b821ff6daf2c55dbe3809eae7c...def5747
chore(e2e): Update next.js to 14 in "schema-not-found" suite (#25197)47e8f13
feat(driver-adapters): add TransactionContext (#24878)cfd2791
chore: add explicit ts-toolbelt dependency, only use "import type" to avoid b...08a1733
fix(client): .$extends prevents typescript documentation (#25070)ff16728
chore(deps): update engines to 5.20.0-4.f2561ec470647d6a14db84d3c1dc6fc1c2414...Updates
@react-email/components
from 0.0.22 to 0.0.25Release notes
Sourced from
@​react-email/components
's releases.Changelog
Sourced from
@​react-email/components
's changelog.... (truncated)
Commits
6612726
chore: Bump for release (#1654)f48c7f5
chore: Bump for release (#1642)07e931b
chore: Version packages7ce855f
chore: Bump for release (canary) (#1592)6b8ad7d
refactor: Simplify types and remove unused babel config files (#1583)c2ca8d0
chore: Bump for release (canary) (#1566)e291281
chore: Bump for release (canary) (#1559)fa3918b
chore: Bump for release (canary) (#1554)3caaf53
chore: Add direct support for React 19 (#1474)Updates
next
from 14.2.14 to 14.2.15Release notes
Sourced from next's releases.
Commits
737c29e
v14.2.151c8234e
backport: [i18n] Routing fix #70761 (#70976)bb3f580
fix: Do not omit alt on getImgProps return type, ImgProps (#70818)cb8113b
fix(next/image): handle undefinedimages.localPatterns
config in `images-ma...9c1191a
fix missing helpers innext-test-utils.ts
0de4183
fix linte03c4ff
feat(next/image): addimages.localPatterns
config (#70802)540ea2d
backport: support breadcrumb style catch-all parallel routes (#65063) (#70794)0d0448b
Fix client reference access causing metadata missing (#70732) (#70788)381d1f9
feat(next/image): add support fordecoding
prop (#70678)Updates
nodemailer
from 6.9.14 to 6.9.15Release notes
Sourced from nodemailer's releases.
Changelog
Sourced from nodemailer's changelog.
Commits
81de9eb
chore(master): release 6.9.15 [skip-ci] (#1668)79b8293
fix(mime): Added GeoJSON closes #1637 (#1665)baa28f6
fix: Fix memory leak (#1667)Updates
@types/nodemailer
from 6.4.15 to 6.4.16Commits
Updates
react-intersection-observer
from 9.13.0 to 9.13.1Release notes
Sourced from react-intersection-observer's releases.
Commits
7c6939a
Merge pull request #701 from thebuilder/fix/align-options-with-domabb4ee8
fix: align IntersectionObserver options with DOM APIb6ef3ce
Merge pull request #698 from thebuilder/fix/action-install-playwright4193313
ci: fix install playwright correctly in test runUpdates
rehype-format
from 5.0.0 to 5.0.1Release notes
Sourced from rehype-format's releases.
Commits
0d50550
5.0.11d9bb05
Refactor to externalize core ashast-util-format
5cdf41e
Refactor some docs69e189b
Refactor Actions75a0ecc
Refactor to use@import
sae554c2
Add declaration mapsbc9434d
Add.tsbuildinfo
to.gitignore
bbffd3c
Update dev-dependenciesUpdates
rehype-stringify
from 10.0.0 to 10.0.1Commits
1a401ac
10.0.14e9cee5
rehype: updaterehype-stringify
a107a4c
stringify: 7.0.012ff83d
cli: 9.0.0ab3e8e3
10.0.03b4aa95
cli: updateunified-args
ab485ef
rehype: updateunified
e282d3c
Update dev-dependenciesb653141
Update list of plugins98910d4
Refactor proseUpdates
remark-rehype
from 11.1.0 to 11.1.1Release notes
Sourced from remark-rehype's releases.
Commits
bd04dac
11.1.1f0cce2d
Fix mutate support inunified-engine
e4576c0
Refactor to use@import
sc62d719
Add declaration maps364ee71
Remove license yearec18ee9
Update Actions7e6d050
Add.tsbuildinfo
to.gitignore
93fc0b5
Update dev-dependenciesUpdates
sass
from 1.77.8 to 1.79.5Release notes
Sourced from sass's releases.
... (truncated)
Changelog
Sourced from sass's changelog.
... (truncated)
Commits
7290399
Partially replace chokidar with@​parcel/watcher
(#2379)85b467b
Update LMS matrices (#2374)2c5f1e9
Use correct notation for multiple denominator units (#2375)d58e219
Addsass-parser
support for for the@supports
rule (#2378)5535d1f
Fix srgb to linear (#2372)5acae8a
Fix JS APIcolor.interpolate(color2)
without options (#2369)4890989
Add support for missing color channels to the protofier (#2366)67fecff
unifyComound() and unifyComplex() no longer move pseudo-classes across pseudo...f84e867
Fix JS API legacy SassColor.change (#2368)72612c4
Bump bufbuild/buf-setup-action in /.github/util/initialize (#2363)Updates
winston
from 3.14.2 to 3.15.0Release notes
Sourced from winston's releases.
Commits
195e55c
3.15.03a54777
remove logcallback (#2513)f110f61
chore(docs): Update README.md w/ usage comments (#2507)f5dde86
Bump nyc from 15.1.0 to 17.1.0 (#2511)d1b8dc6
Bump@​babel/cli
from 7.24.7 to 7.25.6 (#2512)564161a
Bump@​babel/preset-env
from 7.24.8 to 7.25.4 (#2506)eb7e315
Bump mocha from 10.7.0 to 10.7.3 (#2500)22aab6d
Unified Handler Tests (#2020)Updates
@types/jsonwebtoken
from 9.0.6 to 9.0.7Commits
Updates
@types/nodemailer
from 6.4.15 to 6.4.16Commits
Updates
@types/react
from 18.3.3 to 18.3.11Commits
Updates
@types/react-dom
from 18.3.0 to 18.3.1Commits
Updates
prisma
from 5.18.0 to 5.20.0Release notes
Sourced from prisma's releases.
... (truncated)
Commits
8957496
feat(client): Typed SQL (#24907)f3856a9
chore(deps): update devdependencies patch (non-major) (#24813)ce552f3
feat(cli): remove Optimize specific login in Platform CLI (#25036)26c8d91
feat(cli): Chokidar-based watch (#24983)Updates
typescript
from 5.5.4 to 5.6.3Release notes
Sourced from typescript's releases.
... (truncated)
Commits
d48a5cf
Bump version to 5.6.3 and LKGfefa70a
🤖 Pick PR #60083 (Don't issue implicit any when obtai...) into release-5.6 (#...ff71692
[release-5.6] Remove tsbuildInfo specification error now that we need it for ...1f44dcf
🤖 Pick PR #60157 (fix automatic type acquisition) into release-5.6 (#60169)a7e3374
Bump version to 5.6.2 and LKG2063357
🤖 Pick PR #59708 (LEGO: Pull request from lego/hb_537...) into release-5.6 (#...4fe7e41
🤖 Pick PR #59670 (fix(59649): ts Move to a new file d...) into release-5.6 (#...1a03e53
🤖 Pick PR #59761 (this
can be nullish) into release-5.6 (#59762)6212132
Update LKGbbb5faf
🤖 Pick PR #59542 (Fixing delay caused in vscode due t...) into release-5.6 (#...Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show