--- title: "Materialize v0.67" date: 2023-08-30 released: true patch: 3 --- ## v0.67.0 #### Sources and sinks [//]: # "NOTE(morsapaes) This feature was released in v0.53 behind a feature flag. The flag was raised in v0.67 for ENVELOPE UPSERT -— so mentioning it here." * Support upserts in the output of `SUBSCRIBE` via the new [`ENVELOPE UPSERT` clause](/sql/subscribe/#envelope-upsert). This clause allows you to specify a `KEY` that Materialize uses to interpret the rows as a series of inserts, updates and deletes within each distinct timestamp. The output rows will have the following structure: ```mzsql SUBSCRIBE mview ENVELOPE UPSERT (KEY (key)); mz_timestamp | mz_state | key | value -------------|----------|------|-------- 100 | upsert | 1 | 2 100 | upsert | 2 | 4 ``` #### SQL * Add [`mz_internal.mz_compute_dependencies`](/sql/system-catalog/mz_internal/#mz_compute_dependencies) to the system catalog. This table describes the dependency structure between each compute object (index, materialized view, or subscription) and the sources of its data. * Improve the output of [`EXPLAIN { OPTIMIZED | PHYSICAL } PLAN FOR MATERIALIZED VIEW`](/sql/explain-plan/) to return the plan generated at object creation time, rather than the plan that would be generated if the object was created with the current catalog state. * Add support for [`TABLE`](/sql/table) expressions, which retrieve all rows from the named SQL table. #### Bug fixes and other improvements * Extend `pg_catalog` and `information_schema` system catalog coverage for compatibility with Power BI. * Increase in precision for the `AVG`, `VAR_*`, and `STDDEV*` functions.