---
collection: serverless-postgres
collection_name: Serverless Postgres
week_start: 2026-09-21
title: Neon's scheduled functions and Supabase's one-command local setup lead a busy serverless Postgres week
release_count: 63
generated: 2026-09-28
canonical: https://releases.sh/collections/serverless-postgres/digest/2026-09-21
---

# Neon's scheduled functions and Supabase's one-command local setup lead a busy serverless Postgres week

Neon Functions gained cron-style schedules and Object Storage upload triggers that survive scale to zero, while the Supabase CLI learned to stand up a whole local stack from a remote project with one command. PlanetScale's database-js shed parameter interpolation in a breaking major.

### Workflow automation moves into the database platform

Neon spent the week turning Functions into a place to run background work rather than just request handlers. [Function Triggers](https://neon.com/blog/your-neon-functions-can-now-run-on-a-schedule) let a branch-scoped cron schedule invoke a deployed Function, with the timer living outside the Postgres compute so a database that scales to zero still fires on time — the thing pg_cron can't do. The triggers run JavaScript or TypeScript with access to HTTP, Object Storage, and the AI Gateway, and child branches inherit their parent's triggers in a disabled state until you turn them on. A sibling addition covers the event-driven half: a [storage_object_created trigger](https://neon.com/blog/when-a-file-is-uploaded-run-the-job-on-neon) invokes a Function whenever an object lands in a bucket, passing the bucket name and object key and optionally scoping to a key prefix, and these long-running Functions also stay compatible with scale to zero.

Functions also became easier to expose. [Custom domains reached GA](https://neon.com/blog/custom-domains-for-neon-functions), so a branded hostname registered from the Console, CLI, SDK, or API replaces the generated invocation URL, with TLS provisioned automatically through Let's Encrypt. Domains attach to one Function on one branch, so each environment can carry its own. And branch hygiene caught up with the new storage surface: a branch [reset from parent now rolls back Object Storage](https://neon.com/docs/changelog/2026-09-25) alongside Postgres data, reverting uploads, overwrites, and deletes to the parent's current state in the Ohio and Frankfurt regions. Meanwhile Neon sketched what's next, outlining [plans to build realtime and sync natively](https://neon.com/blog/electrifying-neon-building-the-realtime-backend) into Neon and Lakebase around scale-to-zero and branching.

### Supabase makes local-first the default

The Supabase CLI's headline feature is [supabase pull](https://github.com/supabase/cli/releases/tag/v2.118.0), which orchestrates a complete local setup from a remote project in one step. The same release added experimental stack management commands for starting, stopping, listing, logging, preparing, and restarting local stacks, plus native type generation without Docker. Stability work covers the failure modes that made local development flaky: macOS hangs while publishing state, a Docker daemon stall that blocked db start, and large SQL blocks stalling db reset. Storage rm now demands explicit confirmation before deleting. On the JS side, the Client SDK [enabled the passkey API by default](https://github.com/supabase/supabase-js/releases/tag/v2.117.0), retiring the experimental opt-in and forwarding mediation options through to the credential request, and then [fixed a cross-tab token refresh race](https://github.com/supabase/supabase-js/releases/tag/v2.117.1) that could drop the losing tab into a logged-out state — a fix that also appeared in a canary build. A later patch [resolved instantiation depth errors](https://github.com/supabase/supabase-js/releases/tag/v2.117.2) for queries with large PostgREST relationship unions. Config handling picked up [exclude patterns for compute build contexts](https://github.com/supabase/cli/releases/tag/config-v0.10.0).

### Forcing functions and breaking changes

PlanetScale's database-js drew the sharpest line of the week: the driver [removed parameter interpolation](https://github.com/planetscale/database-js/releases/tag/v2.0.0) and moved its required Node version to 22, a breaking major that anyone still passing interpolated values to the client will have to address. The preceding patch had already been hardening the driver's edges, [tightening placeholder parsing](https://github.com/planetscale/database-js/releases/tag/v1.20.2) while clearing audit warnings and cleaning up CI.

The PlanetScale CLI, meanwhile, [added start and stop commands for vtctld move-tables](https://github.com/planetscale/cli/releases/tag/v0.339.0) so long-running table migrations can be paused and resumed, and cleaned up D1 import SSL defaults and a false-positive verify mismatch on UUID column casing. Elsewhere, Prisma's next major continued to take shape with [Postgres full-text search, prepared ORM reads, and multi-file schemas](https://github.com/prisma/orm/releases/tag/v8.0.0-rc.12), alongside a stricter schema syntax that requires `// use prisma-8` headers and exact table naming.

## Releases covered

### Neon

- [Neon Function Triggers ship with cron schedules that survive scale to zero](https://neon.com/blog/your-neon-functions-can-now-run-on-a-schedule)
- [Neon adds storage_object_created function trigger for Object Storage uploads](https://neon.com/blog/when-a-file-is-uploaded-run-the-job-on-neon)
- [Neon Functions custom domains reach GA with TLS and CLI support](https://neon.com/blog/custom-domains-for-neon-functions)
- [Neon branch reset now rolls back Object Storage alongside Postgres data](https://neon.com/docs/changelog/2026-09-25)
- [Neon outlines plans for native realtime and sync built into its platform](https://neon.com/blog/electrifying-neon-building-the-realtime-backend)

### PlanetScale

- [PlanetScale database-js v2.0.0 removes parameter interpolation and requires Node 22](https://github.com/planetscale/database-js/releases/tag/v2.0.0)
- [PlanetScale database-js v1.20.2 hardens placeholder parsing](https://github.com/planetscale/database-js/releases/tag/v1.20.2)
- [PlanetScale CLI v0.339.0 adds vtctld move-tables start and stop commands](https://github.com/planetscale/cli/releases/tag/v0.339.0)

### Prisma

- [v8.0.0-rc.12](https://github.com/prisma/orm/releases/tag/v8.0.0-rc.12)

### Supabase

- [Supabase CLI v2.118.0 adds supabase pull and experimental stack commands](https://github.com/supabase/cli/releases/tag/v2.118.0)
- [Supabase JS Client SDK v2.117.0 enables passkey API by default](https://github.com/supabase/supabase-js/releases/tag/v2.117.0)
- [Supabase JS Client SDK v2.117.1 returns stored session when refresh loses to another tab](https://github.com/supabase/supabase-js/releases/tag/v2.117.1)
- [Supabase JS v2.117.2 fixes instantiation depth errors for large relationship unions](https://github.com/supabase/supabase-js/releases/tag/v2.117.2)
- [Supabase CLI config v0.10.0 adds exclude patterns for compute build context](https://github.com/supabase/cli/releases/tag/config-v0.10.0)
