Monthly Merge Report for OSS projects: November 2025

November delivered steady innovation across SQLMesh, SQLGlot, and the Fivetran Connector SDK, with advancements in reliability, dialect fidelity, and developer tooling.
December 16, 2025

November continued to see innovation across all three open source projects. It was a quieter month for SQLMesh, focused on reliability and compatibility. SQLGlot moved at full speed with 125 merged pull requests targeting dialect fidelity, type inference, and optimizer infrastructure. The Fivetran Connector SDK had a hackathon-driven month, adding dozens of new connector examples while tightening tooling and governance.

SQLMesh: Fabric MERGE support and dbt compatibility

SQLMesh shipped v0.209.4. This focused patch rolls up a dbt compatibility fix for null meta configuration in model and source definitions.

Fabric engine improvements

PR #5586 enables MERGE statements for the Fabric engine by dropping a custom LogicalMergeMixin and reusing existing MSSQLEngineAdapter behavior. Fabric now benefits from the same MERGE handling SQLMesh already provided for SQL Server. Projects running incremental logic or change data capture against Fabric can rely on MERGE-based plans instead of falling back to less efficient patterns.

dbt adapter fixes

The v0.209.4 release addresses a subtle dbt interoperability issue. PR #5598 ensures SQLMesh's dbt adapter handles meta: null in models and sources correctly instead of treating it as an invalid structure. If your dbt projects selectively turn off meta blocks, this patch removes a footgun that could break integrations.

SQLGlot: Type-aware analytics and dialect fidelity

SQLGlot had a huge month: 125 pull requests clustered around dialect improvements, type annotation expansion, and core optimizer infrastructure.

DuckDB: Functions, casts, and macro support

Several November PRs make DuckDB a first-class target for complex cross-dialect workloads. PR #6218 and PR #6254 ensure LOWER() and UPPER() behave correctly when operating on binary data instead of silently mis-typing results. PR #6240 adds explicit casting for STARTS_WITH so byte inputs convert to text before evaluation.

PR #6266 extends REGEXP_EXTRACT support to handle position and occurrence arguments, matching DuckDB's richer API. PR #6233 fixes a subtle bug when transpiling BigQuery's MAX_BY over struct arrays into DuckDB — without it, struct field names were lost and DuckDB would see generic keys like _0 and _1 instead of original fields.

PR #6270 and PR #6276 adjust how DuckDB's RANGE window bounds transpile to Spark's SEQUENCE so exclusive end bounds are preserved correctly. Later in the month, PR #6292 added support for CREATE MACRO, tightening the experience when using SQLGlot as a bridge between BigQuery, Spark, and DuckDB.

Snowflake: Typed analytics and aggregate coverage

A large chunk of November's work gave the optimizer and type system more precise information for Snowflake's analytic functions. The team added or refined type annotations for bitwise operations (PR #6234, PR #6243, PR #6248, PR #6251, PR #6253), bitmap functions (PR #6274, PR #6285), statistical functions (PR #6271, PR #6272, PR #6262, PR #6286), and aggregators with complex semantics (PR #6250, PR #6265). Grouping functions GROUPING (PR #6244) and GROUPING_ID (PR #6249) now have explicit type annotations as well.

This work enables more aggressive and safer optimizer rewrites, especially in pipelines where Snowflake is the primary warehouse but SQLGlot needs to reason about queries at a logical level.

Optimizer core and semantic infrastructure

PR #6152 and PR #6214 make boolean expression simplification more correct and predictable when dealing with static booleans and connectors. PR #6273 avoids mis-treating pseudocolumns like regular columns during analysis and rewrites.

PRs #6264, #6275, #6282, #6283, and #6286 add targeted annotation tests for aggregators like ARRAY_AGG, ANY_VALUE, APPROX_COUNT_DISTINCT, APPROX_PERCENTILE, and APPROX_TOP_K, tightening correctness around type inference.

PR #6398 refactors Dialect handling so code no longer does direct string comparisons like dialect == "bigquery". Instead, the optimizer consults dialect properties, making it easier to extend to new engines without scattering string checks.

Dialect coverage: Exasol, ClickHouse, Databricks, and Trino

Beyond DuckDB and Snowflake, November included steady dialect refinements. Exasol gained square bracket identifier support (PR #6231) and improved alias qualification in GROUP BY, WHERE, and HAVING clauses (PR #6277).

ClickHouse received parsing improvements: PR #6245 maps the has function into a generic ArrayContains expression, PR #6268 normalizes toStartOf* time bucketing functions into canonical timestamp truncation, and PR #6278 adds explicit support for splitBy.

Databricks improved with PR #6259, which ensures FROM STREAM works when a table name is supplied. Trino gained REFRESH MATERIALIZED VIEW support via PR #6388.

Fivetran Connector SDK: Hackathon-fueled expansion

The Fivetran Connector SDK repository had a busy November: 30 merged pull requests focused on expanding connector examples, improving reliability, and enhancing developer experience. Many contributions came from Fivetran's internal 2025 Connector SDK Hackathon and external community events.

New connector examples

The hackathon produced a wave of new connector examples covering diverse platforms. Data store examples include Redis (PR #312), YugabyteDB (PR #332), Dragonfly DB (PR #351), and Meilisearch (PR #346).

Developer tools gained examples for Keycloak (PR #383), n8n (PR #390), and Dgraph (PR #391). Observability and messaging coverage expanded with Prometheus (PR #340), Better Stack (PR #362), Courier (PR #364), and Elastic Email (PR #378).

Commerce and data examples include Gumroad (PR #366), FRED macroeconomic data (PR #341), NOAA (PR #434), and Goshippo (PR #436).

One notable external contribution is PR #335, which adds an OWASP API vulnerabilities connector as part of the AI Accelerate Hackathon 2025 Fivetran Challenge — a strong signal that the SDK is attracting third-party innovation in security and observability use cases.

Advanced patterns and reliability

PR #301 introduced a multithreading example that parallelizes API calls for faster syncs, serving as a reference pattern for higher-throughput ingestion. PR #467 standardized logging across examples so log.severe includes an error parameter, making it easier to diagnose failures in both local and cloud runs.

Developer experience and governance

PR #462 formally deprecated Python 3.9 for the SDK, nudging users toward newer runtimes. Documentation improvements landed via PR #309, PR #461, PR #468, PR #478, and PR #480, cleaning up links, naming, and imagery.

PR #392 established explicit accreditation for external contributors, while PR #463 tuned the GitHub Copilot review prompt for more accurate automated reviews.

The road ahead

November's work is consistent with the trajectory seen all year. SQLMesh continues to harden its dbt adapter and engine support, with Fabric and dbt compatibility. SQLGlot is investing heavily in dialect fidelity and type-aware optimization, laying a foundation for more ambitious optimizations and cross-engine translations. The Fivetran Connector SDK is leaning into open-source community and internal hackathons to rapidly expand connector coverage while tightening documentation and tooling.

These improvements reflect ongoing collaboration and innovation. Whether you're working with dbt projects, transpiling SQL across warehouses, or building custom data connectors, November's updates improve your experience and expand your capabilities.

🤝 Join the community

November's improvements came from collaboration across the Fivetran and Tobiko teams and the broader open source community. Your bug reports, feature requests, and pull requests drive progress for everyone.

Questions? Feedback? Join our community Slack.

🔮 Looking ahead

December should continue these themes: more dbt and engine refinements for SQLMesh, continued SQLGlot work on semantics, types, and dialect coverage, and additional connector examples and platform polish in the Fivetran Connector SDK. Stay tuned for more updates!

Data insights
Data insights

Monthly Merge Report for OSS projects: November 2025

Monthly Merge Report for OSS projects: November 2025

December 16, 2025
December 16, 2025
Monthly Merge Report for OSS projects: November 2025
November delivered steady innovation across SQLMesh, SQLGlot, and the Fivetran Connector SDK, with advancements in reliability, dialect fidelity, and developer tooling.

November continued to see innovation across all three open source projects. It was a quieter month for SQLMesh, focused on reliability and compatibility. SQLGlot moved at full speed with 125 merged pull requests targeting dialect fidelity, type inference, and optimizer infrastructure. The Fivetran Connector SDK had a hackathon-driven month, adding dozens of new connector examples while tightening tooling and governance.

SQLMesh: Fabric MERGE support and dbt compatibility

SQLMesh shipped v0.209.4. This focused patch rolls up a dbt compatibility fix for null meta configuration in model and source definitions.

Fabric engine improvements

PR #5586 enables MERGE statements for the Fabric engine by dropping a custom LogicalMergeMixin and reusing existing MSSQLEngineAdapter behavior. Fabric now benefits from the same MERGE handling SQLMesh already provided for SQL Server. Projects running incremental logic or change data capture against Fabric can rely on MERGE-based plans instead of falling back to less efficient patterns.

dbt adapter fixes

The v0.209.4 release addresses a subtle dbt interoperability issue. PR #5598 ensures SQLMesh's dbt adapter handles meta: null in models and sources correctly instead of treating it as an invalid structure. If your dbt projects selectively turn off meta blocks, this patch removes a footgun that could break integrations.

SQLGlot: Type-aware analytics and dialect fidelity

SQLGlot had a huge month: 125 pull requests clustered around dialect improvements, type annotation expansion, and core optimizer infrastructure.

DuckDB: Functions, casts, and macro support

Several November PRs make DuckDB a first-class target for complex cross-dialect workloads. PR #6218 and PR #6254 ensure LOWER() and UPPER() behave correctly when operating on binary data instead of silently mis-typing results. PR #6240 adds explicit casting for STARTS_WITH so byte inputs convert to text before evaluation.

PR #6266 extends REGEXP_EXTRACT support to handle position and occurrence arguments, matching DuckDB's richer API. PR #6233 fixes a subtle bug when transpiling BigQuery's MAX_BY over struct arrays into DuckDB — without it, struct field names were lost and DuckDB would see generic keys like _0 and _1 instead of original fields.

PR #6270 and PR #6276 adjust how DuckDB's RANGE window bounds transpile to Spark's SEQUENCE so exclusive end bounds are preserved correctly. Later in the month, PR #6292 added support for CREATE MACRO, tightening the experience when using SQLGlot as a bridge between BigQuery, Spark, and DuckDB.

Snowflake: Typed analytics and aggregate coverage

A large chunk of November's work gave the optimizer and type system more precise information for Snowflake's analytic functions. The team added or refined type annotations for bitwise operations (PR #6234, PR #6243, PR #6248, PR #6251, PR #6253), bitmap functions (PR #6274, PR #6285), statistical functions (PR #6271, PR #6272, PR #6262, PR #6286), and aggregators with complex semantics (PR #6250, PR #6265). Grouping functions GROUPING (PR #6244) and GROUPING_ID (PR #6249) now have explicit type annotations as well.

This work enables more aggressive and safer optimizer rewrites, especially in pipelines where Snowflake is the primary warehouse but SQLGlot needs to reason about queries at a logical level.

Optimizer core and semantic infrastructure

PR #6152 and PR #6214 make boolean expression simplification more correct and predictable when dealing with static booleans and connectors. PR #6273 avoids mis-treating pseudocolumns like regular columns during analysis and rewrites.

PRs #6264, #6275, #6282, #6283, and #6286 add targeted annotation tests for aggregators like ARRAY_AGG, ANY_VALUE, APPROX_COUNT_DISTINCT, APPROX_PERCENTILE, and APPROX_TOP_K, tightening correctness around type inference.

PR #6398 refactors Dialect handling so code no longer does direct string comparisons like dialect == "bigquery". Instead, the optimizer consults dialect properties, making it easier to extend to new engines without scattering string checks.

Dialect coverage: Exasol, ClickHouse, Databricks, and Trino

Beyond DuckDB and Snowflake, November included steady dialect refinements. Exasol gained square bracket identifier support (PR #6231) and improved alias qualification in GROUP BY, WHERE, and HAVING clauses (PR #6277).

ClickHouse received parsing improvements: PR #6245 maps the has function into a generic ArrayContains expression, PR #6268 normalizes toStartOf* time bucketing functions into canonical timestamp truncation, and PR #6278 adds explicit support for splitBy.

Databricks improved with PR #6259, which ensures FROM STREAM works when a table name is supplied. Trino gained REFRESH MATERIALIZED VIEW support via PR #6388.

Fivetran Connector SDK: Hackathon-fueled expansion

The Fivetran Connector SDK repository had a busy November: 30 merged pull requests focused on expanding connector examples, improving reliability, and enhancing developer experience. Many contributions came from Fivetran's internal 2025 Connector SDK Hackathon and external community events.

New connector examples

The hackathon produced a wave of new connector examples covering diverse platforms. Data store examples include Redis (PR #312), YugabyteDB (PR #332), Dragonfly DB (PR #351), and Meilisearch (PR #346).

Developer tools gained examples for Keycloak (PR #383), n8n (PR #390), and Dgraph (PR #391). Observability and messaging coverage expanded with Prometheus (PR #340), Better Stack (PR #362), Courier (PR #364), and Elastic Email (PR #378).

Commerce and data examples include Gumroad (PR #366), FRED macroeconomic data (PR #341), NOAA (PR #434), and Goshippo (PR #436).

One notable external contribution is PR #335, which adds an OWASP API vulnerabilities connector as part of the AI Accelerate Hackathon 2025 Fivetran Challenge — a strong signal that the SDK is attracting third-party innovation in security and observability use cases.

Advanced patterns and reliability

PR #301 introduced a multithreading example that parallelizes API calls for faster syncs, serving as a reference pattern for higher-throughput ingestion. PR #467 standardized logging across examples so log.severe includes an error parameter, making it easier to diagnose failures in both local and cloud runs.

Developer experience and governance

PR #462 formally deprecated Python 3.9 for the SDK, nudging users toward newer runtimes. Documentation improvements landed via PR #309, PR #461, PR #468, PR #478, and PR #480, cleaning up links, naming, and imagery.

PR #392 established explicit accreditation for external contributors, while PR #463 tuned the GitHub Copilot review prompt for more accurate automated reviews.

The road ahead

November's work is consistent with the trajectory seen all year. SQLMesh continues to harden its dbt adapter and engine support, with Fabric and dbt compatibility. SQLGlot is investing heavily in dialect fidelity and type-aware optimization, laying a foundation for more ambitious optimizations and cross-engine translations. The Fivetran Connector SDK is leaning into open-source community and internal hackathons to rapidly expand connector coverage while tightening documentation and tooling.

These improvements reflect ongoing collaboration and innovation. Whether you're working with dbt projects, transpiling SQL across warehouses, or building custom data connectors, November's updates improve your experience and expand your capabilities.

🤝 Join the community

November's improvements came from collaboration across the Fivetran and Tobiko teams and the broader open source community. Your bug reports, feature requests, and pull requests drive progress for everyone.

Questions? Feedback? Join our community Slack.

🔮 Looking ahead

December should continue these themes: more dbt and engine refinements for SQLMesh, continued SQLGlot work on semantics, types, and dialect coverage, and additional connector examples and platform polish in the Fivetran Connector SDK. Stay tuned for more updates!

Topics
Share

Verwandte Beiträge

Kostenlos starten

Schließen auch Sie sich den Tausenden von Unternehmen an, die ihre Daten mithilfe von Fivetran zentralisieren und transformieren.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.