What jitsucom/jitsu shipped
Written by FoxPlug from the repository's own releases; not affiliated with Jitsu. Paste your own repository in the box below and FoxPlug writes the same weekly update for your product. This page is an automatic summary of the releases, pull requests and commits in github.com/jitsucom/jitsu; Jitsu did not write it and does not use or endorse FoxPlug. Every line links to the change it describes.
Get a weekly update like this for your product, free
Week of November 2, 2026
What shipped
- Google Ads discovery and conversion delivery moved to API v26, restoring the endpoint Google still supports. Pull request #1627
- Cancelling a Reverse ETL run from the console no longer fails on a
task_log.idtype mismatch, so runs can be stopped. Pull request #1624 - The admin become endpoint now requires an interactive session, is time-limited and writes an audit row instead of accepting bearer keys. Pull request #1599
- The tag destination escapes the event macro so a crafted
utm_sourcevalue can no longer run JavaScript on the customer's site. Pull request #1597 - The jitsu-cli localhost redirect check is anchored, so a redirect to an external host can no longer receive the CLI key. Pull request #1596
- Htmlizer escapes function errors and ingest responses now carry a content security policy. Pull request #1608
- Public health probes return only a status word, with queue depths and config paths behind existing authentication. Pull request #1622
Changelog entry
- Upgrade the shared Google Ads REST client to API v26 for account discovery, custom-variable lookup and conversion delivery. Pull request #1627
- Fix Reverse ETL run cancellation failing on the
task_log.idtype in audit rows. Pull request #1624 - Restrict admin become to interactive Firebase sessions, add a time limit and write an audit row. Pull request #1599
- Escape the event macro in the tag destination so event data cannot run script in the page. Pull request #1597
- Anchor the jitsu-cli localhost redirect check so external hosts cannot receive the CLI key. Pull request #1596
- Sanitize Htmlizer output, escape function error messages and add a content security policy. Pull request #1608
- Return only the status word from public health probes and move diagnostics behind authentication. Pull request #1622
- Add CSP, Referrer-Policy and Permissions-Policy headers to ingest responses before authentication. Pull request #1620
- Quote Postgres connection strings in the bulker and open MySQL from individual fields. Pull request #1614
Week of October 26, 2026
What shipped
- Fixed critical ingestion, function execution, and sync isolation issues, with S2S ingestion and synchronous function calls now requiring an explicitly configured private key. Pull request #1594
- Restored write-key type precedence on S2S endpoints so existing public id:secret keys sent to the S2S batch endpoint no longer return 401. Pull request #1609
- Blocked computed UDF imports by normalizing JavaScript syntax before filesystem glob expansion in both UDF compilation paths. Pull request #1611
- Fixed ClickHouse upload stalls by patching the ClickHouse client to emit serialized JSON rows as UTF-8 buffers, preventing lost log batches on chunked writes with non-ASCII strings. Pull request #1612
- Cached functions authentication signing keys in Go and TypeScript instead of reparsing the configured PEM private key on every call. Pull request #1610
- Made the retl-runner prepareSource preflight accept objectMappings so destination fields composed that way are supported. Pull request #1592
- Published Jitsu 2.15.0-beta.99. Release
- Published Jitsu 2.15.0-beta.98. Release
- Published Jitsu 2.15.0-beta.97. Release
- Published Jitsu 2.15.0-beta.96. Release
Why it matters
This week focused on ingestion and function execution reliability: key handling for S2S endpoints and synchronous function calls, caching of signing keys, and a ClickHouse upload stall fix that was losing affected log batches. Users sending existing public id:secret keys to the S2S batch endpoint should see those requests work again.
Changelog entry
- Release 2.15.0-beta.99. Release
- Release 2.15.0-beta.98. Release
- Release 2.15.0-beta.97. Release
- Release 2.15.0-beta.96. Release
- Release 2.15.0-beta.95. Release
- Block computed UDF imports before filesystem glob expansion. Pull request #1611
- Fix ClickHouse upload stalls by emitting serialized JSON rows as UTF-8 buffers. Pull request #1612
- Cache functions authentication signing keys in Go and TypeScript. Pull request #1610
- Restore write-key type precedence on S2S endpoints. Pull request #1609
- Fix critical ingestion, function execution, and sync isolation issues. Pull request #1594
- Accept objectMappings in retl-runner prepareSource mirror preflight. Pull request #1592
Jitsu 2.15.0 beta releases this week: fixed S2S endpoint write-key precedence, blocked computed UDF imports, cached function signing keys, and stopped ClickHouse upload stalls that dropped log batches.
This week Jitsu shipped fixes across ingestion and function execution. Write-key type precedence is restored on S2S endpoints, so existing public id:secret keys sent to the S2S batch endpoint no longer return 401. Computed UDF imports are blocked before filesystem glob expansion, and functions authentication signing keys are now cached in both Go and TypeScript. ClickHouse upload stalls caused by chunked writes with non-ASCII strings are fixed, preventing lost log batches, and the retl-runner prepareSource preflight now accepts objectMappings. Beta releases 2.15.0-beta.95 through beta.99 are available.
Week of October 19, 2026
What shipped
- Reverse ETL object mappings can now be composed from named properties mapped to model columns, with separate cards for model column and compose object modes, including Google Ads custom variables and session attributes and Meta custom and app data. Pull request #1590
- Reverse ETL stream settings gained a Suggest mappings action that proposes mappings for review before applying and preserves existing mappings. Pull request #1586
- Reverse ETL saves are now rejected when required settings or mappings are missing or required-alternative groups are incomplete, with the same checks on frontend and backend and missing fields highlighted after Save. Pull request #1587
- Reverse ETL stream setup is now organized into Required fields, Required alternatives, and Optional and conditional fields using provider-owned metadata for all nine supported streams. Pull request #1584
- The PostgreSQL, ClickHouse and BigQuery Reverse ETL warehouse readers were hardened, including decoding exact numeric zero and one delete flags from source metadata. Pull request #1580
- AutoCommitStream now bounds how stale its destination schema cache can get, so drifted table schemas are re-validated instead of trusted indefinitely. Pull request #1581
- Google Reverse ETL rejections now preserve structured field violations and reason codes, Google RPC ErrorInfo reasons and Google Ads HTTP failure field locations and codes. Pull request #1585
- The console now offers jitsucom/source-linkedin-pages and hides the Airbyte one, whose hardcoded LinkedIn version causes 426 NONEXISTENT_VERSION failures. Pull request #1582
- The Google Ads API authorization hint block was removed from Google Ads Reverse ETL sync setup while keeping all selectors, mapping fields and insert-only event guidance. Pull request #1583
Why it matters
This week's work centers on Reverse ETL: mapping composition, mapping suggestions, validation before save, grouped stream setup and clearer rejection diagnostics. Warehouse readers for several destinations were hardened, and the destination schema cache is now re-validated so schema drift is caught. A LinkedIn Pages source was also added to the console to replace a failing Airbyte version.
Changelog entry
- Add composed object mappings for Reverse ETL with model column and compose object modes. Pull request #1590
- Add Suggest mappings to Reverse ETL stream settings with review before apply. Pull request #1586
- Validate required Reverse ETL settings and mappings before save on frontend and backend. Pull request #1587
- Group Reverse ETL stream mappings into required, required alternatives and optional fields. Pull request #1584
- Preserve Google rejection field violations, reason codes and HTTP failure locations. Pull request #1585
- Harden PostgreSQL, ClickHouse and BigQuery Reverse ETL warehouse readers. Pull request #1580
- Bound destination schema cache staleness in AutoCommitStream. Pull request #1581
- Offer jitsucom/source-linkedin-pages in the console and hide the Airbyte source. Pull request #1582
- Remove the Google Ads authorization hint from Reverse ETL setup. Pull request #1583
- Release 2.15.0-beta.94. Release
- Release 2.15.0-beta.93. Release
- Release 2.15.0-beta.92. Release
This week: Reverse ETL gets composed object mappings, mapping suggestions, validation before save and clearer rejection diagnostics. PostgreSQL, ClickHouse and BigQuery readers hardened, destination schema cache staleness bounded, and a new LinkedIn Pages source in the console.
This week's Jitsu work focuses on Reverse ETL. Object-valued mappings can be composed from named properties, stream settings can suggest mappings for review, saves validate required fields and alternatives, and setup is grouped into required, alternative and optional fields. Google rejections now keep structured field violations and reason codes. Beyond mappings, the PostgreSQL, ClickHouse and BigQuery readers were hardened, the destination schema cache in AutoCommitStream can no longer grow indefinitely stale, and the console now offers jitsucom/source-linkedin-pages in place of the Airbyte version. Beta releases shipped through 2.15.0-beta.94.
Week of October 12, 2026
What shipped
- Added a Snowflake Reverse ETL warehouse reader using key-pair authentication and the official Node SDK, with model metadata and preview, full extraction, cursors and tombstones. Pull request #1571
- Added a Redshift Reverse ETL warehouse reader with its own SQL dialect and direct password and TLS access covering both provisioned and Serverless SQL endpoints. Pull request #1572
- Added a MySQL 8 and newer Reverse ETL reader for metadata, preview and model extraction, using password authentication in a single read-only repeatable-read transaction. Pull request #1573
- Added Microsoft Advertising (Bing Ads) as a Reverse ETL-only destination with Customer Match audiences and offline conversions across two separately configured streams. Pull request #1565
- Centralized the bulker batch consumer lifecycle so batch and retry consumers serialize Kafka operations in one owner goroutine, with assignment epochs rejecting stale reads and commits. Pull request #1574
- Stopped syncing the scratch index to disk when a run starts, following up on the earlier runner start time work. Pull request #1568
- Sped up runner start after a long run by changing how the run journal is opened instead of reading stored pages and batches one at a time. Pull request #1561
- Showed destination-specific Reverse ETL sync counts in destination summaries next to site connections and ordinary syncs, with links to the filtered list. Pull request #1570
- Let users link a second Firebase sign-in provider to the same email instead of hitting the account-exists-with-different-credential dead end. Pull request #1567
- Added a Microsoft SVG symbol to the Microsoft Advertising destination entry and let Microsoft and Google accounts be authorized, selected and saved in one flow. Pull request #1569
Why it matters
This week adds warehouse readers for Snowflake, Redshift and MySQL for Reverse ETL, plus a Microsoft Advertising destination with audiences and offline conversions. It also changes the bulker batch consumer lifecycle and cuts runner start time after long runs. People running Reverse ETL get more warehouse and destination options, and long runs should start faster.
Changelog entry
- Added a Snowflake Reverse ETL warehouse reader with key-pair authentication, metadata and preview, full extraction, cursors and tombstones. Pull request #1571
- Added a Redshift Reverse ETL warehouse reader with a Redshift SQL dialect, password and TLS access, and one read-only transaction. Pull request #1572
- Added a MySQL 8+ Reverse ETL reader for metadata, preview and model extraction with password authentication. Pull request #1573
- Added Microsoft Advertising (Bing Ads) as a Reverse ETL-only destination with Customer Match audiences and offline conversions. Pull request #1565
- Added a Microsoft icon and shared Google and Microsoft account setup that saves in one flow. Pull request #1569
- Showed destination-specific Reverse ETL sync counts in destination summaries with links to the filtered list. Pull request #1570
- Centralized the bulker batch consumer lifecycle so Kafka operations run in one owner goroutine with assignment epochs. Pull request #1574
- Sped up runner start after a long run by changing how the run journal is opened. Pull request #1561
- Stopped syncing the scratch index to disk when a run starts. Pull request #1568
- Let users link a second Firebase sign-in provider to the same email. Pull request #1567
- Released 2.15.0-beta.85. Release
- Released 2.15.0-beta.84. Release
This week: Snowflake, Redshift and MySQL readers for Reverse ETL, Microsoft Advertising as a Reverse ETL destination with Customer Match audiences and offline conversions, a centralized bulker batch consumer lifecycle, faster runner start after long runs, and Reverse ETL sync cou
This week in Jitsu: Reverse ETL warehouse support expanded with readers for Snowflake, Redshift and MySQL, each using existing destination configuration. Microsoft Advertising (Bing Ads) is now a Reverse ETL-only destination with Customer Match audiences and offline conversions sharing credentials across two streams. The bulker batch consumer lifecycle is centralized so batch and retry consumers serialize Kafka operations in one owner goroutine. Runner start after a long run was sped up, and the scratch index is no longer synced to disk when a run starts. Destination summaries now show Reverse ETL sync counts, and users can link a second Firebase sign-in provider to the same email. Beta releases 2.15.0-beta.79 through beta.85 shipped.
Week of October 5, 2026
What shipped
- Custom domains and identity stitching are now plan entitlements, with custom domains for Business and Enterprise and identity stitching for Enterprise only. Pull request #1529
- Meta Ads reverse ETL was added for audiences and conversions, keeping the facebook-conversions ID and existing valid event behavior. Pull request #1535
- NEXTAUTH_URL is now derived from JITSU_PUBLIC_URL when it is unset, so self-hosted deployments without a Firebase fallback can resolve sessions. Pull request #1560
- GitHub OAuth callback failures now log the underlying HTTP response instead of a generic error. Pull request #1564
- Retained reverse ETL recovery rows can be kept in a retention bucket, dormant until a run configuration carries the new optional retention field. Pull request #1552
- Webhook syncs name their retention bucket and refuse a retention of zero. Pull request #1553
- Long reverse ETL webhook runs reuse connections and keep the system error code behind
connection_errorwhile user-facing reason codes stay unchanged. Pull request #1555 - Meta reverse ETL gained ad-account and customer-list audience pickers, a read-only connection check and automatic target preflight before saving. Pull request #1559
- Unresolved deliveries stay pending with status checks refreshed for 48 hours, slowing to every two hours after the first day, and can be manually refreshed. Pull request #1557
- The first-run managed Google audience snapshot is validated before saving creation intent or calling Google. Pull request #1558
Why it matters
This week brought a large set of reverse ETL changes across Meta, Google and a webhook destination, plus retention and error reporting work. It also made plan entitlements visible for custom domains and identity stitching, and fixed self-hosted session resolution by deriving the NextAuth URL. For people running the project, the delivery paths are more predictable and failed runs are easier to explain.
Changelog entry
- Custom domains are gated to Business and Enterprise plans, and identity stitching to Enterprise. Pull request #1529
- Meta Ads (Facebook & Instagram) reverse ETL supports creating Custom Audiences and conversions. Pull request #1535
- NEXTAUTH_URL is derived from JITSU_PUBLIC_URL when unset. Pull request #1560
- GitHub OAuth callback failures log the underlying HTTP response. Pull request #1564
- Per-connection prebuilt function-chain messages are logged at debug level instead of info. Pull request #1563
- Meta reverse ETL adds ad-account and customer-list audience pickers, a read-only connection check and automatic preflight before saving. Pull request #1559
- Meta reverse ETL run logs show a current-results panel with audience size, eligibility and estimated match range. Pull request #1562
- The complete first-run managed Google audience snapshot is validated before saving creation intent or calling Google. Pull request #1558
- Unresolved deliveries stay pending with checks for 48 hours, slowing to every two hours after the first day, with a manual refresh action. Pull request #1557
- Google reverse ETL diagnostics distinguish explicit rejection from uncertain delivery and record lease-admission failures. Pull request #1556
- Webhook reverse ETL reuses connections and keeps the system error code behind
connection_error. Pull request #1555 - Webhook syncs name their retention bucket and refuse retention of zero. Pull request #1553
Reverse ETL updates: Meta Ads audiences and conversions, Google snapshot validation, webhook destinations with a retention bucket, and 48-hour pending status. Custom domains and identity stitching are now plan entitlements. NEXTAUTH_URL is derived from JITSU_PUBLIC_URL when unset
Reverse ETL saw a lot of work this week. Meta Ads audiences and conversions landed, Google audience creation now validates its first-run snapshot, webhook destinations store retained rows in a retention bucket, connections are reused, and unresolved deliveries stay pending with status refreshed for 48 hours. Meta target pickers and preflight checks reduce bad saves. Custom domains and identity stitching became plan entitlements, and self-hosted installs derive the NextAuth URL from JITSU_PUBLIC_URL when it is unset. GitHub OAuth callback failures also log the underlying HTTP response.
Week of September 28, 2026
What shipped
- Sync-sidecar now retries Postgres operations instead of panicking when the primary goes down during replica promotion. Pull request #1527
- Fixed a connection-pool leak in the shared fetch wrapper by pinning undici to >=8.11.0. Pull request #1541
- Functions-server now has a StartupProbe to prevent CrashLoopBackOff during container startup. Pull request #1528
- Updated deepmerge-ts to 8.0.2 to fix a high-severity vulnerability. Pull request #1539
- Fixed sync-service integration test that was failing due to
task_logfixture timing. Pull request #1543 - Released Jitsu 2.15.0-beta.69. Release
- Released Jitsu 2.15.0-beta.68. Release
Why it matters
This week focused on stability improvements across the platform. Better Postgres failover handling and container startup probes reduce production incidents, while the fetch connection-pool fix prevents resource exhaustion in high-volume environments. A security vulnerability was also patched.
Changelog entry
- Fix(sync-sidecar): Postgres operations now retry instead of panicking during replica promotion Pull request #1527
- Fix(functions): undici pinned to >=8.11.0 to fix connection-pool leak in shared fetch wrapper Pull request #1541
- Fix(operator): functions-server now has a StartupProbe to prevent CrashLoopBackOff Pull request #1528
- Fix(security): deepmerge-ts updated to 8.0.2 to address CVE-2026-40345 Pull request #1539
- Fix(tests): sync-service
task_logfixture now stamped relative to current time Pull request #1543
This week: Postgres failover resilience, connection-pool leak fixed, faster function-server startup, and a security update. Two beta releases shipped.
Jitsu shipped stability improvements this week: the sync-sidecar now handles Postgres failovers gracefully, a connection-pool leak in destination functions is fixed, and functions-server startup is more reliable with a new probe. A high-severity dependency vulnerability was also patched. Two beta releases went out.
Week of September 21, 2026
What shipped
- BigQuery warehouse reader and GoogleSQL dialect added to Models and Reverse ETL, supporting dry-run column inspection and paginated extraction. Pull request #1534
- Jitsu-provisioned ClickHouse now supported in Models and Reverse ETL with normalized HTTPS endpoints. Pull request #1533
- Reverse ETL console workflow implemented with full-page model editor, Monaco SQL support, and run management interface. Pull request #1525
- Reverse ETL run loading, OAuth binding fixed and full-mirror cleanup visibility added to delivery statistics. Pull request #1530
- Google Ads Developer Token field now hidden when shared token is configured; model diagnostics improved with credential redaction. Pull request #1532
- Object-backed Reverse ETL persistence layer implemented for runner deployment. Pull request #1526
- Environment endpoints removed; internal billing requests now routed through server-held credentials. Pull request #1500
- Console unit-test timeout centralized to 30 seconds across all tests. Pull request #1531
Why it matters
Reverse ETL is now production-ready with support for BigQuery and ClickHouse warehouses, a complete console UI for model creation and run management, and improved diagnostics. The week focused on warehouse compatibility and fixing critical functionality for data activation workflows.
Changelog entry
- BigQuery warehouse reader and GoogleSQL dialect for Models and Reverse ETL with dry-run inspection and paginated extraction Pull request #1534
- Jitsu-provisioned ClickHouse support in Models and Reverse ETL with normalized HTTPS endpoints Pull request #1533
- Reverse ETL console setup with full-page model editor, Monaco SQL, preview, extraction and primary-key settings Pull request #1525
- Full-mirror cleanup visibility in Record delivery statistics with status tracking and upload record distinction Pull request #1530
- Google Ads Developer Token visibility controlled by shared configuration; actionable model diagnostics with credential redaction Pull request #1532
- Object-backed Reverse ETL persistence layer for runner deployment Pull request #1526
- Environment endpoints removed; internal billing requests routed through server credentials Pull request #1500
Reverse ETL now supports BigQuery and ClickHouse. Full console UI for model editor, extraction settings, and run management shipped this week in 2.15.0 beta releases.
Reverse ETL progress: added BigQuery and ClickHouse warehouse support, shipped the complete console UI with model editor (Monaco SQL, preview, extraction settings), improved run management and diagnostics. Full-mirror cleanup visibility and OAuth binding fixes also included across beta 63-67.
Week of September 14, 2026
What shipped
- Jitsu 2.15.0-beta.62 released. Release
- Google managed audiences and snapshot membership refresh added to Data Manager adapter. Pull request #1524
- Google Data Manager adapter with scoped OAuth and independent provider recovery implemented. Pull request #1523
- Asynchronous Reverse ETL batches now supported with journal staging and reconciliation. Pull request #1522
- Reverse ETL executable Node runner and syncctl/CronJob integration added. Pull request #1521
- Zstd compression support added for S3/GCS destinations and internal batch paths. Pull request #1508
- Bulker test container pinned to quay registry to fix CI failures. Pull request #1520
Why it matters
The week focused on Reverse ETL infrastructure for Google Ads Customer Match destinations, with multiple PRs building the persistence layer, orchestration, and provider adapters. Compression improvements via klauspost/gzip and zstd provide performance options across ingest and warehouse paths.
Changelog entry
- Google managed audiences and snapshot membership refresh in Data Manager adapter Pull request #1524
- Google Data Manager adapter with scoped OAuth and independent provider recovery Pull request #1523
- Asynchronous Reverse ETL batch support with journal staging and reconciliation Pull request #1522
- Reverse ETL Node runner and syncctl/CronJob integration Pull request #1521
- Zstd compression for S3/GCS destinations and internal batch paths Pull request #1508
- Fixed Bulker test container registry to quay Pull request #1520
2.15.0-beta.62 ships Reverse ETL core for Google Ads, async batch delivery, and compression upgrades across S3/GCS and warehouse paths.
2.15.0-beta.62 brings Reverse ETL infrastructure for Google Ads Customer Match destinations, including async batch processing with journal staging and reconciliation. Compression improvements deliver klauspost/gzip on ingest paths and zstd support for S3/GCS and warehouse batches.