✨ Features
- Add pinned_environments/default_target_environment + ability to delete env (#1360) @mykalmax
- Add model name to audit log (#1376) @datnguye
🪲 Bug fixes
- Clear timeoutId and callback to avoid zombie timeouts (#1375) @mykalmax
- Table creation for forward-only snapshots of newly added models @izeigerman
- Fix defaul model kind list, add defaults config examples (#1374) @treysp
- Do not throw on canceled request (#1377) @mykalmax
- Make interval unit a part of the data hash (#1386) @izeigerman
- Handle exp.Array when validating unique_key (#1388) @georgesittas
- Automatic derivation of a partitioning transformation for a time column in BigQuery (#1389) @izeigerman
- Fix formatting (#1394) @eakmanrq
- Ensure external macros are resolved correctly (#1392) @georgesittas
- Num audits detected by sqlmesh audit was incorrect (#1400) @crericha
- Improve error reporting when validating the connection config (#1404) @izeigerman
- Use PARTITIONS view to fetch table partitions in the BigQuery adapter (#1406) @izeigerman
- Sanitized model names before using them as part of Airflow task IDs (#1407) @izeigerman
- Snapshot table should contain the kind_name enum value, not the enum (#1410) @crericha
- Add check for key (#1408) @z3z1ma
🧹 Chore
👽 Other
- Support dbt singular tests (#1348) @crericha
- Note macro column name interpolation limitation (#1378) @treysp
- Chore: bump sqlglot, fix mssql tests and a couple of type hints (#1384) @georgesittas
- Extend documentation with recent changes to forward-only models (#1385) @izeigerman
- Clarify need to save model file to see updated lineage (#1387) @treysp
- Clarify incremental by time model automatic filter (#1382) @treysp
- Add environment variables to config guide (#1393) @treysp
- Detect merge conflict (#1399) @eakmanrq
- Add snowflake private key support (#1409) @eakmanrq
- Update cli reference plan args (#1398) @treysp