Neon Serverless Release Notes
Last updated: Feb 18, 2026
- Jun 6, 2025
- Date parsed from source:Jun 6, 2025
- First seen by Releasebot:Feb 18, 2026
1.0.1 (2025-06-06)
The package now prints a security warning to the console when a connection is made in a web browser. This behaviour can be suppressed with a new configuration option:
Original source Report a problemdisableWarningInBrowsers. There are a few other very minor fixes. - Mar 25, 2025
- Date parsed from source:Mar 25, 2025
- First seen by Releasebot:Feb 18, 2026
1.0.0 (2025-03-25)
Breaking change: HTTP template function must be used as a template tag, not a normal function, boosting SQL injection safety. New sql.query and sql.unsafe support manual queries and trusted interpolations, plus fully composable lazy queries. Node min is v19, repo refactor and auto-generated typings.
Breaking change
the HTTP query template function can now only be called as a template function, not as a conventional function. This improves safety from accidental SQL-injection vulnerabilities. For example:
import { neon } from '@neondatabase/serverless'; const sql = neon(process.env.DATABASE_URL); const id = 1; // this is safe and convenient, as before const result = await sql`SELECT * FROM table WHERE id = ${id}`; // this looks very similar and was previously allowed, but was open to SQL // injection attacks because it uses ordinary string interpolation -- it's now // both a TypeScript type error and a runtime error const throws = await sql(`SELECT * FROM table WHERE id = ${id}`);To fill the gap left by this change, the template function has two new properties: a
query()function that allows manually parameterized queries, and anunsafe()function that lets you interpolate trusted arbitrary string values. For example:// this was previously allowed, and was safe, but is now also an error so as to // prevent the vulnerability seen above const throws = await sql('SELECT * FROM table WHERE id = $1', [id]); // the `query()` function is the new way to manually specify placeholders and // values (the same way it's done by `client.query()` and `pool.query()`) const result = await sql.query('SELECT * FROM table WHERE id = $1', [id]); // to interpolate strings like column or table names, **only** if you know // they're safe, use the `unsafe()` function const table = condition ? 'table1' : 'table2'; // known-safe string values const result = await sql`SELECT * FROM ${sql.unsafe(table)} WHERE id = ${id}`; // but in the above case, you might prefer to do this instead const table = condition ? sql`table1` : sql`table2`; const result = await sql`SELECT * FROM ${table} WHERE id = ${id}`;In addition, HTTP template queries are now fully composable, including those with parameters. For example:
const name = 'Olivia'; const limit = 1; const whereClause = sql`WHERE name = ${name}`; const limitClause = sql`LIMIT ${limit}`; // compilation to raw SQL now happens lazily, at query time, so that parameter // placeholders can be numbered appropriately const result = await sql`SELECT * FROM table ${whereClause} ${limitClause}`;Node version requirement
The minimum supported version of Node is now v19 (this avoids having to do dynamic
cryptoimports, which can cause trouble with bundlers).Repository changes
Lastly: the repository has been rearranged and refactored,
Original source Report a problem.d.tsfiles are now generated automatically, packages are published vianpm version, and comprehensive tests have been put in place. This should ease the way for future enhancements and contributions. All of your release notes in one feed
Join Releasebot and get updates from Neon and hundreds of other software products.
- Nov 25, 2024
- Date parsed from source:Nov 25, 2024
- First seen by Releasebot:Feb 18, 2026
0.10.4 (2024-11-25)
Fixes insert
Buffer/ArrayBuffervalues intoBYTEAfields when using HTTP fetch queries.Fixes only passing
Original source Report a problemauthTokenin thesqlHTTP request and not in theneonconnection setup. - Nov 6, 2024
- Date parsed from source:Nov 6, 2024
- First seen by Releasebot:Feb 18, 2026
0.10.3 (2024-11-06)
- Nov 5, 2024
- Date parsed from source:Nov 5, 2024
- First seen by Releasebot:Feb 18, 2026
0.10.2 (2024-11-05)
- Oct 7, 2024
- Date parsed from source:Oct 7, 2024
- First seen by Releasebot:Feb 18, 2026
0.10.0 (2024-10-07)
Capture stack traces in
NeonDbError, ifError.captureStackTraceis available.Allow authentication through
Original source Report a problemJWTby adding aauthTokenproperty to theneonHTTP connection options. - May 9, 2024
- Date parsed from source:May 9, 2024
- First seen by Releasebot:Feb 18, 2026
0.9.3 (2024-05-09)
Expose all error information fields on
Original source Report a problemNeonDbErrorobjects thrown when using the http fetch transport. - Apr 15, 2024
- Date parsed from source:Apr 15, 2024
- First seen by Releasebot:Feb 18, 2026
0.9.1 (2024-04-15)
Pass username (and database name) through URL decoder, so all usernames can successfully authorize.
Original source Report a problem - Feb 27, 2024
- Date parsed from source:Feb 27, 2024
- First seen by Releasebot:Feb 18, 2026
0.9.0 (2024-02-27)
Deprecate
Original source Report a problemfetchConnectionCacheoption, which is now always enabled. Forneonhttp fetch queries, enable setting options on individual queries within a batchtransaction(but note that the types still do not allow this). - Feb 7, 2024
- Date parsed from source:Feb 7, 2024
- First seen by Releasebot:Feb 18, 2026
0.8.1 (2024-02-07)
Revert single per-region domain for WebSockets. Fix treatment of -pooler connection hosts.
Original source Report a problem