Skip to content

v1.3.0

Choose a tag to compare

@adiologydev adiologydev released this 19 Jul 17:32
2124ffe

The largest release yet: full Meta platform support (Facebook, Instagram, Threads), Discord webhooks, a public HTTP API, an engagement inbox with reply triage, workspace subscriptions with usage metering and X cost budgets, and a Radix → Base UI rewrite — plus a long tail of publishing, security, and Postgres-compatibility fixes.

✨ Features

Platforms & publishing

  • meta: Facebook, Instagram & Threads publishing, metrics and engagement (#75)
  • discord: integration via channel webhooks (#84)
  • publishing: Reels and Stories publishing with a per-account format picker (#106)
  • compose: Facebook, Instagram & Threads compose previews (#108)
  • publishing: Instagram/Threads image conversion and fixes (#101)
  • x: opt-in quote tweets from a pasted status link (#71)
  • compose: accept more video formats via in-browser conversion (#88)

Composer & engagement

  • compose: emoji browser — Frimousse picker + inline :shortcode typeahead (#73)
  • compose: Shift+Enter soft newline + platform-accurate blank-line preview (#72)
  • compose: show both mention modes and keep cleared handles blank (#105)
  • compose: properly refresh recent post + show media in the post list (#103)
  • engagement: emoji picker and mentions in the quick reply box (#93)
  • engagement: keyboard triage and dummy inbox seeder (df3940c)
  • engagement: persist reply conversation roots (52c7cb6)
  • mentions: resolve LinkedIn org URNs for mention tagging (#98)

Billing, usage & metrics

  • billing: workspace subscriptions and publish gates (f77690b)
  • usage: usage metering base (#63)
  • usage: track X API cost budgets (65fb01b)
  • usage: per-workspace X budgets and reworked instance usage page (#110)
  • usage: instance usage reporting (8c75f01)
  • billing: promotion codes and tax ID collection (2c2bbf7)
  • metrics: age-banded polling with unchanged-streak backoff (#95)
  • engagement: fix X replies not loading + scale reply-fetch (#91)
  • analytics: seed demo metrics and toggle chart series (7b823fc)

Instance & workspace administration

  • instance: enable/disable platforms in instance settings (#78)
  • workspace: enable/disable connected accounts per workspace (#79)
  • engagement: gate LinkedIn reply fetching behind a capability scope (#102)
  • settings: move workspace and instance nav into the sidebar (cb90806)
  • settings: per-platform polling controls (8f618c0)
  • sidebar: billing-aware footer + hoisted workspace settings + update indicator (#89)
  • feedback: in-app feedback widget with Discord delivery (#109)

Platform, API & infrastructure

  • api: public HTTP API (#74)
  • ui: migrate UI from Radix to Base UI (#81)
  • mcp: add laravel/mcp to enhance server capabilities (04a55f7)
  • storage: configurable file storage + public images disk (ce4f0de, bbb4843)
  • ci: build and publish multi-platform (amd64/arm64) images (947e307)
  • auth: self-provision Passport encryption keys (#87)
  • session: extend default session lifetime to seven days (aba1128)
  • observability: opt-in Sentry error & performance monitoring (a92dc55)

🐛 Fixes

  • publishing: close precheck and connector gaps across every platform (#100)
  • linkedin: escape little-text-format reserved chars (#99)
  • db: make the schema and queries PostgreSQL-compatible (#85)
  • security: allow form redirects to any HTTPS service, incl. Stripe billing (2b08da3, 8bd2a3a)
  • engagement: stop like/unlike and reply actions from silently failing (#92)
  • engagement: only treat pasted images as images (#94)
  • engagement: fix author name truncation in reply views (#97)
  • compose: resolve 422 on edited-video upload + allow media host in CSP (#70)
  • bluesky: enforce one-GIF/no-mix rule before posting (#69)
  • workspace: prevent workspace logo distortion in the selector (3cd75d7)
  • ui: show selected label not raw value in Base UI selects (a154981)
  • ui: add type=submit to inert form buttons after the Base UI migration (a2996a9)
  • auth: repair email verification link and resend button (2173b31)
  • accounts: repair Discord reconnect button (dc63d27)
  • sentry: skip initialization when window is undefined (#96)
  • x: align publish limits and usage reporting (0adf185)
  • workspaces: enforce billing and publishing invariants (c0755ee)
  • media: survive S3 listing errors in the prune-uploads job (11ba652)
  • docker: copy generated emoji data into the production image (d90b678)
  • ci: correct jq filter for manifest digest extraction (e074645)

Full Changelog: v1.2.0...v1.3.0

🎉 New Contributors