# Materialize v0.41
## v0.41.0

* Add [`mz_internal.mz_sink_statistics`](/reference/system-catalog/mz_internal/#mz_sink_statistics)
  to the system catalog. This table contains statistics for each
  process of each sink in the system, like the number of messages
  and bytes committed to the external system.

* Add [`mz_internal.mz_postgres_sources`](/reference/system-catalog/mz_internal/#mz_postgres_sources)
  to the system catalog. This table exposes the randomly-generated
  name of the replication slot created in the upstream PostgreSQL
  database that Materialize will create for each source.

    ```mzsql
    SELECT * FROM mz_internal.mz_postgres_sources;

       id   |             replication_slot
    --------+----------------------------------------------
     u8     | materialize_7f8a72d0bf2a4b6e9ebc4e61ba769b71
    ```

* Allow placing sources and sinks in existing clusters using the `IN CLUSTER`
  clause in [`CREATE SOURCE`](/sql/create-source) and [`CREATE SINK`](/sql/create-sink)
  statements, as an alternative to provisioning dedicated
  resources via the `SIZE` parameter.

  **New syntax**

  ```mzsql
  CREATE SOURCE kafka_connection
    IN CLUSTER quickstart
    FROM KAFKA CONNECTION qck_kafka_connection (TOPIC 'test_topic')
    FORMAT AVRO USING CONFLUENT SCHEMA REGISTRY CONNECTION csr_connection
    ENVELOPE DEBEZIUM;
  ```

  It's important to note that clusters containing sources and sinks can have at
  most one replica, and may contain any number of indexes and materialized
  views *or* any number of sources and sinks, but not both types of objects.
  These restrictions will be removed in a future release.

* Support using [`SUBSCRIBE`](/sql/subscribe) with queries over introspection
  sources for [troubleshooting](/ops/troubleshooting/).
