July 2025 was extraordinary for the SQLMesh and SQLGlot communities. With 10 SQLGlot releases and 8 SQLMesh releases, our contributors delivered features that solve real pain points data engineers face daily. From automatic external model detection to powerful execution hooks, this month's updates demonstrate our commitment data transformation.
The Monthly Merge - July 2025
Welcome to the inaugural edition of The Monthly Merge, your guide to the latest innovations in SQLMesh and SQLGlot! This month delivered game-changing features that are already transforming how data engineers work with SQL transformations.
🚀 The Big Picture
July 2025 was extraordinary for the SQLMesh and SQLGlot communities. With 10 SQLGlot releases and 8 SQLMesh releases, our contributors delivered features that solve real pain points data engineers face daily. From external model detection to powerful execution hooks, this month's updates demonstrate our commitment to making data transformation workflows not just functional, but delightful.
SQLMesh: Developer Experience Takes Center Stage
The VS Code Evolution Continues
Struggling with custom LSP configurations? We heard you! The v0.206.1 release (PR #5070) now lets you specify custom Language Server Protocol binary paths directly in VS Code. This seemingly small change is huge for teams with custom installations or those contributing to SQLMesh development.
Why this matters: Your VS Code setup just works, whether you're on a corporate machine with specific installation requirements or testing the latest development builds.
Automatic External Model Detection - The Feature You Didn't Know You Needed
Ever spent hours debugging why your pipeline failed, only to discover you forgot to register an external model? We've all been there. The v0.206.0 release introduces automatic missing external model file creation (PR #5058) with improved error highlighting (PR #5049).
Real-world impact: The VS Code extension now catches these issues before they hit production, automatically creating the necessary files and highlighting exactly where the problem lies. No more runtime surprises, no more frantic debugging sessions.
Execution Hooks: Your New Superpower
The v0.204.0 release introduced Pre-, Post-, and On-Virtual-Update execution hooks at the project level (PR #4995). Think of these as programmable checkpoints in your data pipeline.
Use cases unlocked:
- Pre-statements: Validate source data quality before transformation
- Post-statements: Send Slack notifications when critical models complete
- On-Virtual-Update statements: Trigger downstream processes only when data actually changes
Teams can use post-statements to automatically update their BI dashboards, eliminating manual steps and delays in reporting.
DuckLake Partitioning: Performance at Scale
For teams managing large datasets in DuckLake, the new partition key support (PR #5030) is a game-changer.
Performance gains: With proper partitioning, queries that previously scanned entire tables can now target specific partitions. What once took minutes could now complete in seconds. Even better, it’s all configured directly in your model definitions.
The Little Things That Make a Big Difference
- Multi-file lint fixes (PR #5057): Fix all linting issues across your project with a single command
- Direct model column updates (PR #5013): Update column definitions right from the VS Code UI
- Jinja template logging (PR #5043): Finally, readable debugging for complex Jinja templates
- Test recognition (PR #5019): The extension now recognizes and surfaces test files appropriately
- Auto-start for external models (PR #5012): Extension starts automatically when editing external model files
- Table naming controls (PR #4982): Customize physical table naming to match your organization's standards
SQLGlot: Expanding the SQL Universe
SingleStore Joins the SQLGlot Family
The addition of SingleStore dialect support (PR #5447, PR #5492, PR #5497) opens SQLGlot to a whole new community of users. SingleStore's unique real-time analytics capabilities are now supported, including proper tokenization and reserved keyword handling.
Community impact: SingleStore users can begin leveraging SQLGlot's powerful transpilation capabilities, opening migration paths and multi-database strategies.
Type Inference Gets Smarter
BigQuery users, rejoice! The improved array type inference (PR #5483) means fewer type-related surprises in production. The engine now correctly infers complex nested array types, catching potential issues during development instead of runtime.
Cross-Dialect Magic
July's releases continued to expand cross-dialect support:
- LIKE ALL/LIKE SOME quantifiers (PR #5493)
- WEEK/QUARTER date functions (PR #5374)
- Comprehensive hash function support for Exasol (PR #5468, PR #5473, PR #5474, PR #5475)
- SQLite ATTACH/DETACH (PR #5469)
- MySQL UNIQUE INDEX constraints (PR #5489)
Why this matters: Write once, run anywhere is becoming a reality.
Performance Optimizations
The semi/anti join optimization fix (PR #5498) delivers improvements for complex analytical queries. The optimizer prevents incorrect query transformations that could impact results.
🎯 What This Means for You
For SQLMesh Users:
- Faster Development: VS Code improvements and automatic error detection mean less time debugging, more time building
- Better Performance: DuckLake partitioning and query optimizations can deliver real speed improvements
- More Control: Execution hooks provide unprecedented control over your pipeline behavior
For SQLGlot Users:
- Broader Compatibility: SingleStore support and expanded dialect features mean fewer limitations and more power.
- Improved Reliability: Better type inference and bug fixes reduce production surprises.
- Enhanced Performance: Optimization improvements translate directly to faster queries.
🤝 Join the Movement
These improvements came from our vibrant community. Special thanks to all contributors who made July 2025 remarkable. Your bug reports, feature requests, and pull requests drive innovation.
Get Involved:
- Found a bug? Report it
- Have an idea? Start a discussion
- Want to contribute? Check out our good first issues
🔮 Looking Ahead
August promises exciting developments across both projects. Stay tuned for more innovations that will continue to transform how we work with data!
Questions? Feedback? Reach out on GitHub Discussions and join our community Slack.
{{banner-slack}} {{cta-talk}}