Releases: tembo-io/pgmq
Releases · tembo-io/pgmq
v1.5.0
Potentially breaking change
- The
delay
parameter onpgmq.send()
andpgmq.send_batch()
now accepts eithertimestamptz
orinteger
type, and will be a breaking change for any user using implicit type casting for the previous integer type, for both prepared statements and dynamic SQL. For example,pgmq.send('myq', '{"hello": "world"}', '10')
would previously function correctly as Postgres could implicitly cast'10'
string to an integer. The following are correct examples:
select pgmq.send('x', '{"hello": "world"}'); -- default value for `delay`
select pgmq.send('x', '{"hello": "world"}', 10); -- integer value
select pgmq.send('x', '{"hello": "world"}', '2024-12-01 02:29:20.889403+00'::timestamptz); -- explicit timestamptz
New Features
- Experimental filter messages on
pgmq.read()
by using theconditional
parameter. This feature is experimental and subject to change. #322 - send and send_batch's
delay
parameter now accepts a timestamp in addition to integer #320 - message headers now accepted on all messages #338
What's Changed
- docs: Community
PGMQ
TypeScript Client Support forDeno
by @tmountain in #311 - docs: Community PGMQ TypeScript Client Support for NodeJs and Midway.js, supports transaction by @waitingsong in #312
- pgmq-python: adding support for Transaction by @tavallaie in #268
- release tembo-pgmq-python v0.9.0 by @ChuckHend in #314
- add pg17 support by @ChuckHend in #313
- added truncate instead of delete by @Abiji-2020 in #321
- update
pgmq.control
reference by @emmanuel-ferdman in #327 - add migration sql for purge queue upgrade by @ChuckHend in #325
- Make drop queue infer queue type by @Neptune650 in #319
- Add new conditional parameter for read by @Neptune650 in #322
- add test for reading null message by @ChuckHend in #329
- Fix gitignore for SQL extension files by @fabriziomello in #331
- Add queue_visible_length to pgmq.metrics by @v0idpwn in #332
- Add timestamp support in send and send_batch by @Neptune650 in #320
- Makefile: use pg_config path from environment variable instead of hardcoded binary by @palash25 in #336
- Fix error when PG_CONFIG not explicitly defined, plus support development pg versions by @v0idpwn in #337
- Add Installation Guide for PGMQ by @Saturn225 in #323
- Add devcontainer for Python environment by @jason810496 in #339
- Update the pgmq extension README to utilize the Scarf Gateway by @arjundevarajan in #330
- style: simplify statements for readability by @hamirmahal in #341
- Fix regression: not respecting interval in read_with_poll by @v0idpwn in #343
- [chore] don't publish from forks by @rotty3000 in #346
- bitnami compatible image by @rotty3000 in #348
- Add Supabase to "Who uses pgmq?" by @jumski in #351
- Implement message headers by @v0idpwn in #338
- Rename pgmq--1.4.4--1.5.0.sql to pgmq--1.4.5--1.5.0.sql by @za-arthur in #355
- drop pg12 support and publish pg17 to pgt.dev by @ChuckHend in #356
- docs to clarify read_with_poll param qty by @elvizlai in #358
- fix: python logging by @elvizlai in #360
- Add created sequence object to the extension by @za-arthur in #352
- prep v1.5.0 by @ChuckHend in #361
New Contributors
- @tmountain made their first contribution in #311
- @waitingsong made their first contribution in #312
- @Abiji-2020 made their first contribution in #321
- @emmanuel-ferdman made their first contribution in #327
- @Neptune650 made their first contribution in #319
- @fabriziomello made their first contribution in #331
- @palash25 made their first contribution in #336
- @Saturn225 made their first contribution in #323
- @arjundevarajan made their first contribution in #330
- @rotty3000 made their first contribution in #346
- @jumski made their first contribution in #351
- @za-arthur made their first contribution in #355
- @elvizlai made their first contribution in #358
Full Changelog: v1.4.5...v1.5.0
v1.4.5
Bug fix:
Resolves a bug with pgmq.read_with_poll() that would result in high CPU utilization
Full Changelog: v1.4.4...v1.4.5
v1.4.4
v1.4.3
What's Changed
- Security Issue with SQLx 0.7.2 by @joelawm in #303
- tembo_pgmq_python: Add python async interface by @szobov in #305
- Support for pg_partman 5.x.x by @olirice in #307
- pg_partman 5 and pg17 tests for extension ci by @ChuckHend in #308
- install partman via pgxn by @ChuckHend in #309
New Contributors
- @joelawm made their first contribution in #303
- @szobov made their first contribution in #305
- @olirice made their first contribution in #307
Full Changelog: v1.4.2...v1.4.3
v1.4.2
Breaking change:
The following characters are no longer allowed in queue names $
, '
, ;
, --
. It is recommended to create a new queue (without these characters), migrate client applications onto the new queue before running alter extension pgmq update to '1.4.2'
.
What's Changed
- Handle special characters in queue names by @ChuckHend in #299
- reject escape characters in queue names by @ChuckHend in #300
Full Changelog: v1.4.1...v1.4.2
v1.4.1
Security Patch - addresses SQL injection as described in #295
What's Changed
- Update dir in pgxn-release by @ChuckHend in #285
- Update release pgxn by @ChuckHend in #287
- doc updates: rust transaction example, readme updates by @ChuckHend in #289
- Update contrib guide by @ChuckHend in #292
- use Identifier format instead of string format by @ChuckHend in #296
- fix typo in part config assignment by @ChuckHend in #297
Full Changelog: v1.4.0...v1.4.1
v1.4.0
v1.4.0
Highlight
select pgmq.create_partitioned()
now partitions the queue's archive table in addition to the queue table.pgmq.convert_archive_partitioned()
can be used to convert an existing archive table into a partitioned table.
What's Changed
- Update docs url in readme by @ChuckHend in #249
- add workflow for docs by @ChuckHend in #251
- Update README.md by @tavallaie in #252
- update extension contributing guide by @ChuckHend in #253
- release pgmq python by @ChuckHend in #254
- fix pgmq python ci by @ChuckHend in #256
- Update CODEOWNERS by @ChuckHend in #258
- fix LICENSE in README by @tavallaie in #259
- update license by @ChuckHend in #264
- Port (most of) the Rust tests to pg_regress by @theory in #261
- Support all the extension functions in the python client by @tavallaie in #265
- Remove dead .cargo by @v0idpwn in #267
- Port test_transaction_send & test_transaction_read by @theory in #262
- Remove the extension Rust tests by @theory in #263
- move extension to ./pgmq-extension by @ChuckHend in #266
- move test dir to pgmq-extension by @ChuckHend in #270
- version upgrade for additional python function by @tavallaie in #271
- feat: add dart client to readme by @yayahc in #272
- Remove META.json from the all: target by @theory in #278
- Update
Reading messages
section in README.md by @rustworthy in #279 - Adding new function to convert archive queues to partitioned queues by @nhudson in #277
- docs: Community
PGMQ
Python Client Support forSQLAlchemy
ORM by @jason810496 in #281 - create partition will also create partitioned archive table by @shhnwz in #282
- transaction support for rust client by @ChuckHend in #273
- release extension v1.4.0 by @ChuckHend in #284
New Contributors
- @yayahc made their first contribution in #272
- @rustworthy made their first contribution in #279
- @nhudson made their first contribution in #277
- @jason810496 made their first contribution in #281
- @shhnwz made their first contribution in #282
Full Changelog: v1.3.3...v1.4.0
v1.3.3
v1.3.2
What's Changed
- The extension is now built with PGXS
- The extension doesn't have more shared objects and is pure PL/pgSQL
New Contributors
- @hamirmahal made their first contribution in #240
- @vdsirotkin made their first contribution in #246
Full Changelog: v1.2.1...v1.3.2
v1.2.1
Bug 🐛 fix for pgmq.set_vt() and pgmq.pop()
What's Changed
- update sqlx cache in pgmq-rs by @ChuckHend in #219
- adjust new_with_pool to return PGMQueue directly by @gruebel in #217
- Fix deb builds by @ChuckHend in #220
- use set of pop/set_vt by @ChuckHend in #223
New Contributors
Full Changelog: v1.2.0...v1.2.1