--- title: "Materialize v0.77" date: 2023-11-15 released: true patch: 1 --- ## v0.77.0 #### Sources and sinks * Support the `now()` function in the `CHECK` expression of [webhook sources](/sql/create-source/webhook/). This allows rejecting requests when a timestamp included in the headers is too far behind Materialize's clock, which is often recommended by webhook providers to help revent replay attacks. **Example** ```mzsql CREATE SOURCE webhook_with_time_based_rejection IN CLUSTER webhook_cluster FROM WEBHOOK BODY FORMAT TEXT CHECK ( WITH (HEADERS) (headers->'timestamp'::text)::timestamp + INTERVAL '30s' >= now() ); ``` #### SQL * Support using timezone abbreviations in contexts where timezone input is accepted. **Example** ```mzsql SELECT timezone_offset('America/New_York', '2023-11-05T06:00:00+00') ---- (EST,-05:00:00,00:00:00) ``` * Add [`mz_internal.mz_materialization_lag`](/sql/system-catalog/mz_internal/#mz_materialization_lag) to the system catalog. This view describes the difference between the input frontiers and the output frontier for each materialized view, index, and sink in the system. For hydrated dataflows, this lag roughly corresponds to the time it takes for updates at the inputs to be reflected in the output. #### Bug fixes and other improvements * **Breaking change.** Fix timezone offset parsing {{% gh 22896 %}} and remove support for the `time` type {{% gh 22960 %}} in the `timezone` function and the `AT TIME ZONE` operator. These changes follow the PostgreSQL specification. * Extend `pg_catalog` system catalog coverage to include the [`pg_timezone_abbrevs`](https://www.postgresql.org/docs/current/view-pg-timezone-abbrevs.html) and [`pg_timezone_names`](https://www.postgresql.org/docs/current/view-pg-timezone-names.html) views. This is useful to support custom timezone abbreviation logic while timezone support doesn't land in Materialize. * Improve the output format of [`EXPLAIN...PLAN AS TEXT`](/sql/explain-plan/) when the `humanized_exprs` [output modifier](/sql/explain-plan/#output-modifiers) to avoid ambiguities when multiple columns have the same name.