Skip to content

Releases: risingwavelabs/risingwave

v1.1.4

05 Sep 08:23
c892c04
Compare
Choose a tag to compare

release v1.1.4

v1.1.3

25 Aug 03:48
540f4fe
Compare
Choose a tag to compare

release v1.1.3

v1.1.2

18 Aug 05:45
a5ab620
Compare
Choose a tag to compare

release v1.1.2

v1.1.1

10 Aug 12:51
34ecf95
Compare
Choose a tag to compare

release v1.1.1

v1.1.0

08 Aug 14:10
f41ff20
Compare
Choose a tag to compare

For installation and running instructions, see Get started.

Main changes

SQL features

  • SQL commands:

    • DROP commands now support the CASCADE option, which drops the specified item and all its dependencies. #11250

    • CREATE TABLE now supports the APPEND ONLY clause, allowing the definition of watermark columns on the table. #11233

    • Supports new commands START TRANSACTION, BEGIN, and COMMIT for read-only transactions. #10735

    • Supports SHOW CLUSTER to show the details of your RisingWave cluster, including the address of the cluster, its state, the parallel units it is using, and whether it's streaming data, serving data or unschedulable. #10656, #10932

  • SQL functions:

    • Supports new window functions: lead() and lag(). #10915

    • Supports new aggregate functions: first_value() and last_value(), which retrieve the first and last values within a specific ordering from a set of rows. #10740

    • Supports the grouping() function to determine if a column or expression in the GROUP BY clause is part of the current grouping set or not. #11006

    • Supports the set_config() system administration function. #11147

    • Supports the sign() mathematical function. #10819

    • Supports string_agg() with DISTINCT and ORDER BY, enabling advanced string concatenation with distinct values and custom sorting. #10864

    • Supports the co-existence of string_agg() and other aggregations with DISTINCT. #10864

    • Supports the zone_string parameter in the date_trunc(), extract(), and date_part() functions, ensuring compatibility with PostgreSQL. #10480

      • Breaking change: Previously, when the input for date_trunc was actually a date, the function would cast it to a timestamp and record the choice in the query plan. However, after this release, new query plans will cast the input to timestamptz instead. As a result, some old SQL queries, especially those saved as views, may fail to bind correctly and require type adjustments. It's important to note that old query plans will still continue working because the casting choice is recorded with a cast to timestamp.

      Before this release:

      ```sql
      SELECT date_trunc('month', date '2023-03-04');
      
              date_trunc
      ---------------------------
        2023-03-01 00:00:00
      (1 row)
      ```
      

      After this release:

      ```sql
      SELECT date_trunc('month', date '2023-03-04');
      
              date_trunc
      ---------------------------
        2023-03-01 00:00:00+00:00
      (1 row)
      ```
      

      Now, the result of date_trunc includes the timezone offset (+00:00) in the output, making it consistent with the behavior in PostgreSQL.

    • round() now accepts a negative value and rounds it to the left of the decimal point. #10961

    • to_timestamp() now returns timestamptz. #11018

  • Query clauses

    • SELECT now supports the EXCEPT clause which excludes specific columns from the result set. #10438, #10723

    • SELECT now supports the GROUPING SETS clause which allows users to perform aggregations on multiple levels of grouping within a single query. #10807

    • Supports index selection for temporal joins. #11019

    • Supports CUBE in group-by clauses to generate multiple grouping sets. #11262

  • Patterns

    • Supports multiple rank function calls in TopN by group. #11149
  • System catalog

    • Supports querying created_at and initialized_at from RisingWave relations such as sources, sinks, and tables in RisingWave catalogs. #11199

Connectors

  • Supports specifying Kafka parameters when creating a source or sink. #11203

  • JDBC sinks used for upserts must specify the downstream primary key via the primary_key option. #11042

  • access_key and its corresponding secret_key are now mandatory for all AWS authentication components. #11120

Full Changelog: v1.0.0...v1.1.0

v1.0.0

12 Jul 03:01
c320675
Compare
Choose a tag to compare

For installation and running instructions, see Get started.

Main changes

SQL features

  • SQL command:

    • Supports the SHOW CLUSTERS command. #10656

    • Supports the GROUPING SETS clause. #10807

  • SQL function:

    • Adds the current_setting() function to get the current value of a configuration parameter. #10051

    • Adds new array functions: array_position(), array_replace(), array_ndims(), array_lower(), array_upper(), array_length(), and array_dims(). #10166, #10197

    • Adds new aggregate functions: percentile_cont(), percentile_disc(), and mode(). #10252

    • Adds new system functions: user(), current_user(), and current_role(). #10366

    • Adds new string functions: left() and right(). #10765

    • Adds new bytea functions: octet_length() and bit_length(). #10462

    • array_length() and cardinality() return integer instead of bigint. #10267

    • Supports the row_number window function that doesn't match the TopN pattern. #10869

  • User-defined function:

    • Adds support for defining UDFs in Java. #10095

    • Adds support for more Java UDF and Python UDF data types. #10399

    • The language parameter is no longer required in CREATE FUNCTION. #10608

  • System catalog:

    • Adds more columns to information_schema.columns: column_default, character_maximum_length, and udt_name. #10269

    • Adds a new system catalog pg_proc. #10216

    • Adds new RisingWave catalogs:

      • rw_table_fragments, rw_fragments, rw_actors #10712
      • rw_worker_nodes, rw_parallel_units #10656
      • rw_connections, rw_databases, rw_functions, rw_indexes, rw_materialized_views, rw_schemas, rw_sinks, rw_sources, rw_tables, rw_users, rw_views #10593
  • Supports GROUP BY output alias or index. #10305

  • Supports using scalar functions in the FROM clause. #10317

  • Supports tagging the created VPC endpoints when creating a PrivateLink connection. #10582

Connectors

  • Breaking change: When creating a source or table with a connector whose schema is auto-resolved from an external format file, the syntax for defining primary keys within column definitions is replaced with the table constraint syntax. #10195

    CREATE TABLE debezium_non_compact (order_id int PRIMARY KEY) WITH (
    connector = 'kafka',
    kafka.topic = 'debezium_non_compact_avro_json',
    kafka.brokers = 'message_queue:29092',
    kafka.scan.startup.mode = 'earliest'
    ) ROW FORMAT DEBEZIUM_AVRO ROW SCHEMA LOCATION CONFLUENT SCHEMA REGISTRY 'http://message_queue:8081';
    CREATE TABLE debezium_non_compact (PRIMARY KEY(order_id)) WITH ( ...
  • Breaking change: Modifies the syntax for specifying data and encoding formats for a source in CREATE SOURCE and CREATE TABLE commands. For v1.0.0, the old syntax is still accepted but will be deprecated in the next release. #10768

    Old syntax - part 1:

    ROW FORMAT data_format 
    [ MESSAGE 'message' ]
    [ ROW SCHEMA LOCATION ['location' | CONFLUENT SCHEMA REGISTRY 'schema_registry_url' ] ];

    New syntax - part 1:

    FORMAT data_format ENCODE data_encode (
        message = 'message',
        schema_location = 'location' | confluent_schema_registry = 'schema_registry_url'
    );

    Old syntax - part 2:

    ROW FORMAT csv WITHOUT HEADER DELIMITED BY ',';

    New syntax - part 2:

    FORMAT PLAIN ENCODE CSV (
        without_header = 'true',
        delimiter = ','
    );
  • Supports sinking data to Delta Lake. #10374, #10580

  • Supports sinking data to AWS Kinesis. #10437

  • Supports BYTES as a row format. #10592

  • Supports specifying schema for the PostgreSQL sink. #10576

  • Supports using the user-provided publication to create a PostgreSQL CDC table. #10804

Full Changelog: v0.19.0...v1.0.0

v0.19.3

28 Jun 05:43
90fa554
Compare
Choose a tag to compare
v0.19.3 Pre-release
Pre-release

release v0.19.3

v0.19.2

26 Jun 11:22
f78098b
Compare
Choose a tag to compare

release v0.19.2

v0.19.1

08 Jun 03:16
f75289b
Compare
Choose a tag to compare

release v0.19.1

v0.19.0

01 Jun 08:29
0165993
Compare
Choose a tag to compare

For installation and running instructions, see Get started.

Main changes

Installation

  • Now, you can easily install RisingWave on your local machine with Homebrew by running  brew install risingwave.

Administration

  • Adds the pg_indexes and dattablespace system catalogs. #9844, #9822
  • Now, the SHOW PARAMETERS command will display the mutability of each system parameter. #9526

SQL features

  • Experimental features: Adds support for 256-bit integer. #9146, #9184, #9186, #9191, #9217
  • Indexes can be created on expressions. #9142
  • Adds support for expressions in aggregate function arguments. #9955
  • Adds support for VALUES clause. #8751
  • Adds support for generated columns, which are special columns computed from other columns in a table or source. #8700, #9580
  • Adds support for using expressions in the ORDER BY and PARTITION BY clauses. #9827
  • New SQL commands
    • CREATE CONNECTION and SHOW CONNECTIONS: Creates an AWS PrivateLink connection and show all available connections. #8907
    • DROP CONNECTION: Drops a connection. #9128
    • SHOW FUNCTIONS: Shows existing user-defined functions. #9398
    • DROP FUNCTIONS: Drops a user-defined function. #9561
    • SHOW CREATE SOURCE and SHOW CREATE SINK: Shows the SQL statement used to create a source or sink. #9083
    • SHOW INDEXES: Shows all indexes on a particular table. #9835
  • SQL functions
    • Adds support for trigonometric functions. #8838, #8918, #9064, #9203, #9259
    • Adds support for degrees and radians functions. #9108
    • Adds support for the lag() and lead() window functions and the OVER() and  EMIT ON WINDOW CLOSE clause. #9597, #9622, #9701
    • Adds support for new aggregate functions, including bool_and, bool_or, jsonb_agg, and jsonb_object_agg. #9452
    • Adds support for max(), min(), and count() for timestamptz data. #9165
    • Adds support for microseconds and milliseconds for to_char() and to_timestamp(). #9257
    • Adds support for multibyte Unicode in overlay() and ascii() functions. #9321
    • Adds support for the string_to_array() function. #9289
    • Adds support for array_positions(). #9152
    • Adds support for cardinality(). #8867
    • Adds support for array_remove(). #9116
    • Adds support for trim_array(). #9265
    • Adds support for array range access. #9362
    • Adds support for JSONB in UDF. #9103
    • Adds support for btrim() and updates trim() to PostgreSQL standard syntax. #8985
    • Adds support for date_part(). #8830
    • Expands extract() with more fields. #8830
    • Adds support for proctime(), which returns the system time with time zone when a record is processed. #9088
    • Adds support for translate(), @(), and ceiling(). #8998
    • Adds support for encode() and decode(). #9351
    • Adds support for the intersect operator. #9573
    • Adds support for the default escape \ in a like expression. #9624
    • Adds support for the IS [NOT] UNKNOWN comparison predicate. #9965
    • Adds support for the starts_with() string function and ^@. #9967
    • Adds support for unary trunc, ln, log10 (log), exp, cbrt (||/) mathematical functions. #9991

Connectors

  • Adds support for ingesting CDC data from TiDB and sinking data to TiDB with the JDBC connector. #8708
  • Adds support for ingesting CDC data from Citus. #8988
  • Adds support for loading Pulsar secret key file from AWS S3. #8428, #8222
  • Adds support for using an established AWS PrivateLink connection in a CREATE SOURCE, CREATE TABLE, or CREATE SINK statement for a Kafka source/sink. #9119, #9128, #9728, #9263
  • Deprecates the use_transaction field in the Kafka sink connector. #9207
  • Adds support for zstd compression type for Kafka connector. #9297
  • Deprecates the upsert property in the Kafka connector as it can be inferred from the row format. #9457
  • Adds a new field properties.sync.call.timeout in the WITH clause of the Kafka source connector to control the timeout. #9005
  • Adds support for a new row format DEBEZIUM_MONGO_JSON in the Kafka source connector. #9250
  • Adds CSV format support for the Kafka source connector. #9875

Cluster configuration changes

  • --data_directoryand --state_storemust be specified on CLI of the meta node, or the cluster will fail to start. #9170
  • Clusters will refuse to start if the specified object store URL identified by state_store and data_directory is occupied by another instance. Do not share the object store URL between multiple clusters. #9642

Full Changelog: v0.18.0...v0.19.0