:beetle: Bug fixes
* Fix broken import from client.ts (428) mykalmax
* Fix key colision when parsing sources in a DBT project (485) izeigerman
* Fix bigquery type (505) eakmanrq
* Support unions in model queries (501) izeigerman
* Fix 'this' DBT macro. Stop using python_env for source, var and ref macros (506) izeigerman
* Fix passing of the 'this' macro to the create_builtins izeigerman
* Fix style izeigerman
* Demote expired environments in the Airflow janitor task (508) izeigerman
* Remove the 'from' argument from the plan command (517) izeigerman
* Implement the to_sqlmesh method for dbt targets that are currently supported in sqlmesh (518) izeigerman
* Fix link tobymao
* Fix MyPy issues (533) GeorgeSittas
* When an upstream model has been removed its snapshot won't show up in the snapshot registry that's composed locally on the client side (536) izeigerman
* Fix indentation tobymao
* Use distinct names for input views when testing models (537) izeigerman
* Fix crash with virtual updates tobymao
* Fix return types (563) vchan
* Fix documentation and change categorized tobymao
* Drop columns before adding columns when altering table in Spark (599) izeigerman
* Fix layout for direct/indirect change, fix dark theme colors for environment dropdown (600) mykalmax
* Plan start date inference when targeting the prod environment (605) izeigerman
* Consolidate auto change categorization in the plan definition (604) izeigerman
:hammer_and_wrench: Refactor
* Refactor missing intervals tobymao
* Refactor missing intervals tobymao
:alien: Other
* Env helper for extensions (420) tobymao
* Move evaluate limit checks inside snapshot evaluator (414) GeorgeSittas
* Support full automatic snapshot categorization (424) izeigerman
* Update the plans doc to point out that SQLMesh attempts to categorize change automatically izeigerman
* Add evaluate command for models (385) mykalmax
* Use arrow format for query results (423) vchan
* Make views the default kind (430) eakmanrq
* Guides section revamp and other changes (402) technically-tracy
* [UI] Fix missing import and format result table from query (431) mykalmax
* Introduce models endpoint (435) vchan
* Extend Pydantic's BaseModel (436) vchan
* Add closure capturing to metaprogramming tobymao
* Create separate component to handle tasks progress (433) mykalmax
* In DBT loader collect model dependencies right before converting to SQLMesh (437) izeigerman
* Add render endpoint (439) vchan
* [DBT] Add support for dbt package-scoped vars (429) GeorgeSittas
* [UI] Rework plan wizard (425) mykalmax
* Move command endpoints (440) vchan
* At state sync reset (434) eakmanrq
* [UI] Fix plan not detecting changes (443) mykalmax
* Incorporating comments, adding outputs, editing. (438) technically-tracy
* [DBT] Add support for the "log" jinja function (444) GeorgeSittas
* Add a doc page for the Built-in scheduler in the guides section (445) izeigerman
* Run the janitor task when running the built-in scheduler (447) izeigerman
* [DBT] Render jinja in non-sql fields before creating model (432) crericha
* [UI] Get rendered sql from model (442) mykalmax
* Simplify conversion of UUID to string by using UUID.hex (450) GeorgeSittas
* Lock context creation (449) vchan
* Add data object support (448) eakmanrq
* Handle context creation failures in the API (457) vchan
* Prevent logging when rendering jinja during load (452) crericha
* [API] Include a default prod environment if it does not exist yet (458) vchan
* Add dbt target jinja (459) crericha
* Implement ApiConsole's log_success method (462) vchan
* Add dbt adapter support (461) eakmanrq
* Introduce specialized registry for Jinja macros (460) izeigerman
* Remove dead code from the SQLMesh Project Loader (466) izeigerman
* Simplify macro extractor (465) GeorgeSittas
* [DBT] Add support for the 'exceptions' jinja namespace (463) GeorgeSittas
* [UI] Refactor plan flow (446) mykalmax
* Add DBT jinja api class (468) crericha
* In Jinja Macro Registry parse individual macros instead of whole packages (470) izeigerman
* [DBT] Add supprot for the 'dispatch' method to the internal DBT Adapter (469) izeigerman
* Add run_query support (467) eakmanrq
* [DBT] Add support for the 'modules' jinja namespace (471) GeorgeSittas
* Remove a default 'ds' value for the INCREMENTAL_BY_TIME_RANGE model kind (472) izeigerman
* [dbt] Add adapter quote (473) eakmanrq
* Make audit and hook names case insensitive (474) GeorgeSittas
* Remove dead module sqlmesh.dbt.macros izeigerman
* [DBT] Mock database calls when rendering model SQL to capture dependencies (479) izeigerman
* Don't remove unused selections (481) tobymao
* Use the model's query before rendering when calculating a snapshot fingerprint (478) izeigerman
* [UI] fix rename file directory (476) mykalmax
* Implement dbt jinja 'return' method (477) crericha
* Add support for private Jinja macros to the JinjamMacroRegistry (480) izeigerman
* Disable model query validation for Jinja queries izeigerman
* [UI] Add favicon and support for csv (486) mykalmax
* [DBT] Add support for the 'flags' jinja namespace (488) GeorgeSittas
* Add audit and model file types (484) vchan
* [UI] Fix graph and call Plan API endpoint after updating seed file (492) mykalmax
* Standardize event responses. Add tests event. (483) vchan
* Validate that referenced columns exist upstream (493) GeorgeSittas
* [DBT] Fix passing DBT jinja builtins when rendering model queries at runtime (491) izeigerman
* Improve the algorithm that removes the config macro from the DBT model definition (497) izeigerman
* DBT source and ref methods should return a Relation (495) crericha
* Revert "Validate that referenced columns exist upstream (493)" (498) GeorgeSittas
* Add support for the load_relation DBT macro izeigerman
* Add Bigquery Partition and Atomic Insert Overwrite Support (500) eakmanrq
* [UI] Switch to /api/events endpoint for SSE (496) mykalmax
* [UI] Reset plan pop up on every start adn fixing but where editor cuts files off (503) mykalmax
* Bump sqlglot to 11.3.3 izeigerman
* Bump sqlglot to 11.3.4 izeigerman
* Bump sqlglot to 11.3.5 izeigerman
* Store opened files in localStorage (504) mykalmax
* Running unit tests should not require a working State Sync (507) izeigerman
* Move glob_path from context into the loader izeigerman
* Use dbt packages.yml for package information (509) crericha
* Add hooks, macros, and tests file types (494) vchan
* Add ability to initialize a target env from a base env (512) izeigerman
* Add support for various DBT macros (519) izeigerman
* Don't prompt for the start date when a plan targets the prod environment (520) izeigerman
* Cache the Jinja Environment instance in DBT context (521) izeigerman
* Improve readability of the discover_engine_operator function izeigerman
* Pass jinja_globals into the parsetime adapter when creating builtins izeigerman
* Add support for key-value arguments to the DBT's sqlmesh_config izeigerman
* Pass test engine adapter when running tests from CLI izeigerman
* Simplify readme (530) tobymao
* Update docs index (531) tobymao
* Switch colors tobymao
* Update notebook magic docs tobymao
* Default to backfill dates that are required fixes 336 tobymao
* Support bool column type in seeds izeigerman
* Missing intervals no longer depends on start tobymao
* Add hooks to fingerprint (539) tobymao
* Revert "refactor missing intervals" tobymao
* Format tobymao
* Categorize changes to seed models as non-breaking as part of the forward-only plan (540) izeigerman
* Make epoch a datetime so we aren't reparsing it a million times (543) tobymao
* Upgrade prettier (541) vchan
* [UI] Plan and Apply commands with additional options (510) mykalmax
* [UI] Update packages (544) mykalmax
* Rename to quick start tobymao
* Start working on auto-deployment of API docs (532) GeorgeSittas
* Report the promotion progress in CLI and Jupyter notebooks (545) izeigerman
* Add a guide for the connection configuration (542) izeigerman
* [DBT] Execute hooks and fix package scoping (522) crericha
* Remove upper when getting columns (551) eakmanrq
* In Built-in plan evaluator raise if the backfill was not successful (549) izeigerman
* Add hooks to dbt seeds (547) crericha
* Run plan in an asyncio task and prevent multiple plan/apply tasks. (554) vchan
* Editing pass on docs/concepts/overview.md (511) treysp
* Convert config to tables (555) eakmanrq
* [DBT] Add support for the 'print' jinja function (552) GeorgeSittas
* All config must be rendered before building refs and sources (556) crericha
* Implemented enabled field (560) crericha
* [UI] Add cancelation to requests and display error for plan (548) mykalmax
* License copyright tobymao
* Add description to sqlmesh models (561) crericha
* Add sqlmesh partitioned_by and cron fields to dbt config. Validate incremental compatibility. (564) crericha
* [UI] Select change category for each direct change (559) mykalmax
* [DBT] Implement adapter.get_missing_columns (578) GeorgeSittas
* Handle model test failures (557) vchan
* [UI] Display error indication on top level (577) mykalmax
* [UI] Fix virtual update not applied and rename 'logical' to 'virtual' (579) mykalmax
* Add rendering support for sql statements (562) GeorgeSittas
* Add Databricks Submit Support for Airflow (565) eakmanrq
* Add virtual update terminology (580) eakmanrq
* Improve connection documentation (572) eakmanrq
* Implment dbt schema and project_name methods (581) crericha
* Create engines page and consolidate (582) eakmanrq
* Allow sqlmesh-only model fields to be set in config or meta (567) crericha
* Prefer comprehension (583) crericha
* [UI] Change primary color and add dark theme support (566) mykalmax
* First draft at comparisons (558) tobymao
* Improve incremental incompatibility error messages (584) crericha
* Fixing colors (585) mykalmax
* Update docs tobymao
* Update docs tobymao
* [UI] Enhance editor with sqlglot (513) mykalmax
* [UI] Set default change category based on api response (586) mykalmax
* [UI] Remove ForwardOnly category from selection (588) mykalmax
* Use latest sqlglot (589) eakmanrq
* Auto categorization was broken for non-breaking children (590) tobymao
* Add sqlmesh logo tobymao
* Remove header tobymao
* Update docs tobymao
* Update docs tobymao
* [UI] Increase debounce time when saving changes after editing files (594) mykalmax
* Update tobymao
* Typo tobymao
* Update logo tobymao
* Full refresh seeds (595) eakmanrq
* [UI] Add missing type for Apply type (591) mykalmax
* [UI] Use HOC to apply button styles and forward ref (592) mykalmax
* Make change_cartegory optional in ChangeDirect model (596) mykalmax
* [UI] Display plan in drawer instead of modal (593) mykalmax
* [UI] Update footer tech info and add a documentation link (598) mykalmax
* Capitalization tobymao
* [DBT] Second pass at docs section (602) crericha
* Edits to documentation (601) treysp
* Editing pass. (608) technically-tracy
* Update logo tobymao
* Fill in init prod env message (609) eakmanrq
* Replace image tobymao
* Edit concepts/models docs (610) treysp
* [DBT] Support profile config field, target.target_name, and an additional variant of config field missing the "+" (597) crericha