--- title: "Materialize v0.60" date: 2023-07-12 released: true patch: 1 --- ## v0.60.0 #### Sources and sinks * **Private preview.** Support filter pushdown, which can substantially improve latency for queries using temporal filters. For an overview of this new optimization mechanism, check the [updated documentation](/transform-data/patterns/temporal-filters/#temporal-filter-pushdown). [//]: # "NOTE(morsapaes) This feature was released in v0.53 behind a feature flag. The flag was raised in v0.60 -— so mentioning it here." * Support [`FORMAT JSON`](/sql/create-source/#json) for [Kafka sources](/sql/create-source/kafka/). This format option automatically decodes messages as `jsonb`, which is a quality-of-life improvement over JSON handling using `FORMAT BYTES`. **New syntax** ```mzsql CREATE SOURCE json_source FROM KAFKA CONNECTION kafka_connection (TOPIC 'ch_anges') FORMAT JSON WITH (SIZE = '3xsmall'); CREATE VIEW extract_json_source AS SELECT (data->>'field1')::boolean AS field_1, (data->>'field2')::int AS field_2, (data->>'field3')::float AS field_3 -- Automatic conversion to jsonb FROM json_source; ``` **Old syntax** ```mzsql CREATE SOURCE json_source FROM KAFKA CONNECTION kafka_connection (TOPIC 'ch_anges') FORMAT BYTES WITH (SIZE = '3xsmall'); CREATE VIEW extract_json_source AS SELECT (data->>'field1')::boolean AS field_1, (data->>'field2')::int AS field_2, (data->>'field3')::float AS field_3 -- Manual conversion to jsonb FROM (SELECT CONVERT_FROM(data, 'utf8')::jsonb AS data FROM json_source); ``` In the future, we plan to support automatically enforcing JSON schemas, both for user-provided schemas and schemas managed via Confluent Schema Registry. #### SQL * Improve and extend the base implementation of **Role-based access control** (RBAC): * Restrict granting and revoking [system privileges](/manage/access-control/manage-privileges/) to _superuser_ users with admin privileges. It's important to note that role-based access control (RBAC) is **disabled by default**. You must [contact us](https://materialize.com/contact/) to enable this feature in your Materialize region. #### Bug fixes and other improvements * Fix timestamp generation for transactions with multiple statements that could lead to crashes {{% gh 20267 %}}.