✨ Features
- Fully Qualify Models and Tables with Connection Catalog (#1574) @eakmanrq
- When using Airflow source the default catalog from Airflow variables (#1859) @izeigerman
- Cicd bot add include_unmodified (#1885) @eakmanrq
- CI/CD Capture Console Errors (#1888) @eakmanrq
- Use sqlglotrs by default (#1903) @tobymao
- Add config for view catalog (#1899) @eakmanrq
- Bind the plan end to the current end of the target environment (even for prod) (#1906) @izeigerman
- Explicitly label preview backfills in the plan summary (#1912) @izeigerman
- Add full snowflake private key support (#1911) @eakmanrq
🪲 Bug fixes
- Cicd bot duplicate model names in output (#1852) @eakmanrq
- Add test connection (#1854) @eakmanrq
- Logging for notebooks @tobymao
- Make logging more intuitive to use (#1860) @tobymao
- Use columns to types only if model is annotated in tests (#1868) @georgesittas
- Improve error logging for common config import errors. currently we eat errors and they are useless, debug flag doesn't work because this happens before logging gets configured (#1870) @tobymao
- Hide loading message after lineage ready (#1862) @mykalmax
- Revert dbt columns change because the signatures don't match for bigquery (#1873) @tobymao
- Scheduler imports @tobymao
- Z-index for context menu (file-explorer) (#1869) @mykalmax
- Fix Transactions with Truncate (#1880) @eakmanrq
- Properly quote set catalog (#1882) @eakmanrq
- Improve the condition under which sqlmesh raises an error about snapshot being unrevertable (#1879) @izeigerman
- Fix trino catalog typo (#1886) @eakmanrq
- Remove trailing whitespaces in the JINJA_STATEMENT and JINJA_QUERY body (#1884) @izeigerman
- Only delete the snapshot temp table if no other snapshot uses the same temp version (#1887) @izeigerman
- Missing quote duckdb (#1889) @eakmanrq
- Handle 0 batch_size in select_from_values (#1883) @vchan
- Cache default catalog (#1890) @eakmanrq
- Delete associated records in the '_seeds' table when deleting a snapshot (#1896) @izeigerman
- Add back default catalog in cache entry id (#1897) @eakmanrq
- Always set the varchar size when creating a table in redshift (#1881) @izeigerman
- Only apply the CTAS workaround in redshift if LIMIT is set to 0 (#1898) @izeigerman
- Cancel apply in UI (#1892) @vchan
- Send fqn when requesting column lineage (#1893) @mykalmax
- Don't send sqlmesh type with files, and handle that independently on ui (#1894) @mykalmax
- Add more caching to intervals and cron (#1905) @tobymao
- Adopt and display fqn (#1876) @mykalmax
- Set the correct start timestamp for a plan with restatements in the presence of missing intervals (#1909) @izeigerman
- Run reload_context in file watcher in executor (#1910) @mykalmax
- Update overview stage (#1891) @mykalmax
- Failure to log expression on jinja error @tobymao
- Caching sub-second accuracy (#1914) @eakmanrq
- Only sqlglot format sql files (#1916) @eakmanrq
- Allow dbt projects to override generate_alias/database/schema_name and source macros (#1574) @crericha
- Normalize sql input from dbt adapter calls (#1574) @crericha
- Detect dbt project macro dependencies missed by dbt manifest parser (#1574) @crericha
🧹 Chore
- Upgrade slqglot v20.3 (#1853) @tobymao
- Fix pydantic warning (#1857) @eakmanrq
- More perf improvements by allowing caching of unrenderable queries @tobymao
- Support verbose CLI output for the 'plan' command (#1855) @izeigerman
- Return 204 on empty reuqest (#1867) @mykalmax
- Clean up plan action (#1865) @mykalmax
- Handle auto_apply option (#1866) @mykalmax
- Remove the ability to run CLI files as scripts (#1877) @vchan
- Improve env status display (#1861) @mykalmax
- Clean up dead code related to old version CLI command (#1895) @georgesittas
- Fix typing latest pandas-stub (#1902) @eakmanrq
- Redshift cleanup incorrect set catalog (#1901) @eakmanrq
- Move shared objects to shared.py (#1900) @eakmanrq
- Make set catalog class decorator (#1904) @eakmanrq
👽 Other
- Revert "chore: more perf improvements by allowing caching of unrenderable queries" @tobymao
- Reapply "chore: more perf improvements by allowing caching of unrende… (#1858) @tobymao
- Describe snowflake connection for lowercase object (#1864) @treysp
- Quote duckdb alias (#1871) @eakmanrq
- Add custom measures to observer guide (#1856) @treysp