Skip to content

v3.4.0

Choose a tag to compare

@GkhanKINAY GkhanKINAY released this 09 Aug 14:34
· 28 commits to main since this release
28aa862

Everything upstream has done since the fork, brought in. 41 of gitroomhq/postiz-app's 42 post-fork commits, across eight PRs.

The one that mattered most

Large videos no longer go through memory. Provider uploads read the whole file into a Buffer before sending it — on a container capped at 4 GB and already sitting at 2.2 GB, with backend, frontend and orchestrator all inside it. One large upload could take the application down, not just the upload. Eleven providers now stream the range they are about to send.

Publishing correctness

A post can no longer be published twice. Some platforms accept a post and confirm it later; publishing against them blind is how the same content reaches an audience twice. There is now a publish-then-confirm contract, implemented across twelve providers.

Publishing an already-published post needs an explicit opt-in. Saving one as a schedule used to clear its release id and start the workflow again. The confirmation now names the channel and the original publish date, and says so when the post recurs.

Google Business posts that Google answered with REJECTED, or with a non-JSON body, were recorded as published. Pinterest video pins uploaded whatever media happened to be first rather than the mp4. Reddit parsed its upload response without a guard. AI video generation hung forever when the provider reported a failure.

Security

SSRF protection reaches the paths that use axios rather than fetch, and the media and webhook fetches pin DNS at request time rather than trusting what was resolved at save time.

Sign-in and accounts

Email lookups are case-insensitive for login, password reset and impersonation — anyone who registered as Ali@… and later typed ali@… could not get in. The organization switcher shows each member's role, and the Developers screen names the organization an OAuth app will belong to.

New

Admin coupon tools for support, X's article format, and admin statistics per platform. Sentry now has user, organization and Stripe customer context ready for whenever it is switched on.

Not taken

One commit, 48bf76af, points the security policy at upstream's own advisory intake. Reporting a vulnerability in this product should not route to a different company.

Upgrading

No schema change and no manual Temporal step. Post workflows are per-post: new posts use v1.0.7 while anything already in flight keeps replaying the version it started with.

How the sync is done, and why dependency versions are held in step with upstream, is written down in docs/upstream-sync.md.

Full diff: v3.3.3...v3.4.0