Joist has built-in support for upserts, to make implementing "create or update" endpoints as simple as possible; we just renamed the underlying method from `createOrUpdatePartial` to just `upsert` to be less of a mouthful: github.com/joist-orm/jois… 😅
We just ported the Joist docs over to astro/starlight, and they look amazing joist-orm.io ✨. Also huge props to @jmeistrich , we've got the docs bundled into an llm.txt joist-orm.io/llms-full.txt 🎉
ORMs have (validly) earned the reputation for creating "ugly queries"; Joist's stance is that we'll purposefully restrict our API features to only create "good queries", and hand-writing the last 5% of your app's complicated SQL queries is perfectly fine: joist-orm.io/docs/goals/no-…
We released a rename of Joist's persisted async properties (a mouthful!) to just "Reactive Fields"), and also shipped a codemod that will auto-upgrade your codebase 🎉 youtu.be/EFfWAUBjADI#typescript#orm#reactivity
Added a new `em.recalc` for when reactivity needs to be explicitly reran (i.e. the underlying data was changed via raw SQL, or your business logic changed): github.com/stephenh/joist…#typescript#orm