✨ Features
- Remove distinct and use filter on right join (#2763) @eakmanrq
- Gateway-specific external models (#2746) @erindru
- Add environment migration progress bar (#2772) @Themiscodes
- Support 'enabled' flag in model definitions (#2776) @izeigerman
- Make sensor mode configurable for SQLMesh sensors in Airflow (#2786) @izeigerman
- Limit long lists of indirectly modified models in CLI output (#2788) @Themiscodes
- Allow overriding the dialects' normalization strategies (#2779) @georgesittas
🪲 Bug fixes
- Start date for dev plans with enabled previews in which a new forward-only model has been added (#2762) @izeigerman
- Convert NaN/NaT (np.nan) values to None (#2774) @georgesittas
- Pass dialect to debug terminal console (#2773) @georgesittas
- Dry run for self-referencing model queries when creating a temp table during cloning (#2771) @izeigerman
- Emit warning when the seed table is not hydrated but the table exists @izeigerman
- Redshift adapter can also use postgres adapter dispatch methods (#2770) @crericha
- Set the default model start when initializing a new project (#2781) @izeigerman
- Respect columns-to-types mapping provided by a user when replacing a table (#2790) @izeigerman
- Normalize default schema name when targeting prod too (#2792) @georgesittas
🛠️ Refactor
- Normalize environment names according to the engine's dialect (#2722) @georgesittas
🧹 Chore
- Remove snowpark dev dependency (#2761) @eakmanrq
- Bump sqlglot to 25.1.0 (#2766) @treysp
- Bump sqlglot to v25.2.0 (#2778) @georgesittas
👽 Other
- Add mssql support for airflow (#2767) @simonprydden