v3.85.2

gravitational/teleportv3.85.2Jul 1, 2026by denolfe

AI Summary

This release focuses on bug fixes and security updates for the PayloadCMS v3.x platform, including compatibility improvements for newer Node versions and database query optimizations.

Key Highlights

  • Fixes `tsx` compatibility issues with Node v23.5+
  • Removes duplicate IDs in MongoDB nested relationship queries
  • Fixes bulk update ID regeneration for arrays and blocks
  • Security update for transitive `js-cookie` dependency (CVE-2026-46625)
  • Fixes draft reordering and file upload behaviors

Full Release Notes

## [v3.85.2](https://github.com/payloadcms/payload/compare/v3.85.1...v3.85.2) (2026-07-01)


### 🐛 Bug Fixes

* payload bin fails with tsx on node v23.5+ ([#17081](https://github.com/payloadcms/payload/issues/17081)) ([afb0226](https://github.com/payloadcms/payload/commit/afb0226))
* regenerate reused array and block row IDs during bulk update (3.x) ([#17018](https://github.com/payloadcms/payload/issues/17018)) ([e526c88](https://github.com/payloadcms/payload/commit/e526c88))
* prevent type generation script from hanging on storage-r2 ([#17020](https://github.com/payloadcms/payload/issues/17020)) ([b681448](https://github.com/payloadcms/payload/commit/b681448))
* prevent reordering from unpublishing documents that have a newer draft ([#16969](https://github.com/payloadcms/payload/issues/16969)) ([b4d43c0](https://github.com/payloadcms/payload/commit/b4d43c0))
* **db-mongodb:** remove duplicate IDs in nested relationship queries ([#17019](https://github.com/payloadcms/payload/issues/17019)) ([8533dfb](https://github.com/payloadcms/payload/commit/8533dfb))
* **deps:** resolve high severity audit vulnerabilities ([#17086](https://github.com/payloadcms/payload/issues/17086)) ([ac000e5](https://github.com/payloadcms/payload/commit/ac000e5))
* **deps:** override transitive js-cookie to ^3.0.7 (CVE-2026-46625) ([#17000](https://github.com/payloadcms/payload/issues/17000)) ([ef888de](https://github.com/payloadcms/payload/commit/ef888de))
* **drizzle:** preserve failing sub-table on unique-constraint ValidationError (3.x) ([#17015](https://github.com/payloadcms/payload/issues/17015)) ([6dfac53](https://github.com/payloadcms/payload/commit/6dfac53))
* **plugin-cloud-storage:** split client and server utility exports ([#17152](https://github.com/payloadcms/payload/issues/17152)) ([30bc3fd](https://github.com/payloadcms/payload/commit/30bc3fd))
* **plugin-cloud-storage:** prevent draft file reupload from unpublishing the document (3.x) ([#17034](https://github.com/payloadcms/payload/issues/17034)) ([a18ae22](https://github.com/payloadcms/payload/commit/a18ae22))
* **richtext-lexical:** preserve hard line breaks on markdown import ([#17061](https://github.com/payloadcms/payload/issues/17061)) ([c0affcb](https://github.com/payloadcms/payload/commit/c0affcb))
* **translations:** replace Malay strings in Burmese (my) locale (3.x) ([#17032](https://github.com/payloadcms/payload/issues/17032)) ([c3ae01d](https://github.com/payloadcms/payload/commit/c3ae01d))
* **ui:** preserve polymorphic upload bulk select relation ([#17112](https://github.com/payloadcms/payload/issues/17112)) ([9691e42](https://github.com/payloadcms/payload/commit/9691e42))
* **ui:** list relationship cell shows (Untitled) for draft-only titles ([#16979](https://github.com/payloadcms/payload/issues/16979)) ([16152e2](https://github.com/payloadcms/payload/commit/16152e2))
* **ui:** respect admin.condition on row fields ([#16954](https://github.com/payloadcms/payload/issues/16954)) ([29afa77](https://github.com/payloadcms/payload/commit/29afa77))

### ⚙️ CI

* backport test service image pinning to ghcr on 3.x ([#17162](https://github.com/payloadcms/payload/issues/17162)) ([d04d47e](https://github.com/payloadcms/payload/commit/d04d47e))
* reintroduce audit script ([#17122](https://github.com/payloadcms/payload/issues/17122)) ([f76d670](https://github.com/payloadcms/payload/commit/f76d670))

### 🤝 Contributors

- Jarrod Flesch (@JarrodMFlesch)
- Elliot DeNolf (@denolfe)
- Sasha (@r1tsuu)
- German Jablonski (@GermanJablo)
- Amelia (@LimChorngUan)