版本发布 8
## What's Changed * test(cdc): migrate mongodb-cdc tests to inline style with all data types by @xiangjinwu in https://github.com/risingwavelabs/risingwave/pull/23753 * fix: change placeholder of username in ldap filter config by @yezizp2012 in https://github.com/risingwavelabs/risingwave/pull/23782 * feat(vector): support stream vector index lookup by @wenym1 in https://github.com/risingwavelabs/risingwave/pull/23288 * refactor: improve cluster kill-and-recovery tests with precise recovery tracking per database by @shanicky in https://github.com/risingwavelabs/risingwave/pull/23728 * feat(iceberg): support s3 and glue iam role arn by @chenzl25 in https://github.com/risingwavelabs/risingwave/pull/23775 * chore(deps): Bump mach2 from 0.5.0 to 0.6.0 by @dependabot[bot] in https://github.com/risingwavelabs/risingwave/pull/23784 * feat(streaming): add functionality to override config when building actors by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/23735 * chore(ci): add maven cache for `build-other.sh` step by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/23781 * feat(metrics): add relation busy rate to dashboard by @kwannoel in https://github.com/risingwavelabs/risingwave/pull/23730 * chore: rename iceberg common fields to better names. by @chenzl25 in https://github.com/risingwavelabs/risingwave/pull/23790 * feat(iceberg): support assume role for s3 and glue catalog together with enable_config_load by @chenzl25 in https://github.com/risingwavelabs/risingwave/pull/23788 * feat(iceberg): change iceberg list interval sec to 10 sec by @chenzl25 in https://github.com/risingwavelabs/risingwave/pull/23791 * fix(iceberg): rebuild stream when errors occur for iceberg list executor by @chenzl25 in https://github.com/risingwavelabs/risingwave/pull/23793 * chore: replace `number_prefix` with `unit-prefix` by @Standing-Man in https://github.com/risingwavelabs/risingwave/pull/23801 * feat(mysql-cdc): monitor the progress of binlog offsets in the upstream and downstream processes by @wcy-fdu in https://github.com/risingwavelabs/risingwave/pull/23692 * fix(iceberg): fix iceberg engine with compaction extra config by @chenzl25 in https://github.com/risingwavelabs/risingwave/pull/23809 * refactor(meta): refine inflight info ownership and avoid unnecessary clone by @wenym1 in https://github.com/risingwavelabs/risingwave/pull/23754 * fix(iceberg): fix batch iceberg list executor by @chenzl25 in https://github.com/risingwavelabs/risingwave/pull/23811 * fix(dashboard): fix some foyer metrics name followed by OpenMetrics by @MrCroxx in https://github.com/risingwavelabs/risingwave/pull/23818 * feat: add periodic refresh table jobs & refactor ProgressTracker by @tabVersion in https://github.com/risingwavelabs/risingwave/pull/23737 * fix(iceberg): fix batch iceberg list executor by @chenzl25 in https://github.com/risingwavelabs/risingwave/pull/23824 * fix: support AdaptiveParallelismStrategy as string format in config by @shanicky in https://github.com/risingwavelabs/risingwave/pull/23817 * chore: add back grafana json by @tabVersion in https://github.com/risingwavelabs/risingwave/pull/23831 * chore(iceberg): better logging if mis-config `enable_config_load` on Cloud by @tabVersion in https://github.com/risingwavelabs/risingwave/pull/23822 * feat: migrate `JoinEncodingType` from session config to per-job config override by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/23768 * fix(ci): use larger runner with more disk space for workflows that build RW by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/23842 * fix(streaming): fix locality backfill state -- write upstream chunk to the state by @chenzl25 in https://github.com/risingwavelabs/risingwave/pull/23838 * fix: update Minio client initialization to use keyword arguments by @tabVersion in https://github.com/risingwavelabs/risingwave/pull/23836 * fix(ci): bump and pin versions of mdbook and related tools by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/23840 * fix(ci): update connector node integration test pipeline to java 17 & 21 by @tabVersion in https://github.com/risingwavelabs/risingwave/pull/23854 * feat(meta): include view definition in diagnostic report by @zwang28 in https://github.com/risingwavelabs/risingwave/pull/23853 * fix: Supports config checks within compaction group scheduling. by @Li0k in https://github.com/risingwavelabs/risingwave/pull/23841 * feat: implement watermark derivation for AsOf joins by @yuhao-su in https://github.com/risingwavelabs/risingwave/pull/23803 * fix(sink): use downstream pk to compact when stream key is its subset by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/23859 * perf(expr): support writer-style #[function] for array type by @silver-ymz in https://github.com/risingwavelabs/risingwave/pull/23767 * feat: add last_success_time tracking to refresh jobs by @tabVersion in https://github.com/risingwavelabs/risingwave/pull/23834 * fix(streaming): deduplicate locality backfill ordering edge casued by share sub-plan by @chenzl25 in https://github.com/risingwavelabs/risingwave/pull/23869 * fix(optimizer): fix gap fill column pruning by @chenzl25 in https://github.com/risingwavelabs/risingwave/pull/23867 * fix(test): delay mongodb-cdc test insertion by @xiangjinwu in https://github.com/risingwavelabs/risingwave/pull/23866 * fix(iceberg): add snapshot id to iceberg scan by @chenzl25 in https://github.com/risingwavelabs/risingwave/pull/23882 * feat(frontend): add handler for `ALTER .. [SET | RESET] CONFIG` by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/23748 * refactor(meta): introduce strong typed subscriber id by @wenym1 in https://github.com/risingwavelabs/risingwave/pull/23883 * fix(optimizer): use shard_by_exact_key instead of shard_by_key for locality backfill by @chenzl25 in https://github.com/risingwavelabs/risingwave/pull/23888 * feat(optimizer): improve index selection for topn by @chenzl25 in https://github.com/risingwavelabs/risingwave/pull/23894 * refactor(foyer): upgrade foyer to v0.21.0-dev by @MrCroxx in https://github.com/risingwavelabs/risingwave/pull/23750 * refactor(config): remove unnecessary prefix in configs by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/23889 * chore: upgrade parking_lot to 0.12.5 by @Li0k in https://github.com/risingwavelabs/risingwave/pull/23902 * chore: replace sleep + query pattern to `retry X backoff 1s` by @tabVersion in https://github.com/risingwavelabs/risingwave/pull/23855 * feat(cdc): allow user alter `debezium.max.queue.size` to avoid JVM OOM by @wcy-fdu in https://github.com/risingwavelabs/risingwave/pull/23886 * fix: invalid schema type for LogicalVectorSearchLookupJoin by @silver-ymz in https://github.com/risingwavelabs/risingwave/pull/23893 * fix(test): Use tokio time pausing in ut to avoid unstable clocks for periodic barriers by @Chiro11 in https://github.com/risingwavelabs/risingwave/pull/23905 * fix(ci): fix several failures in main-cron by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/23900 * test(backfill): add more tests for locality backfill by @chenzl25 in https://github.com/risingwavelabs/risingwave/pull/23906 * fix: use `on_conflict_do_nothing` for mysql backend by @tabVersion in https://github.com/risingwavelabs/risingwave/pull/23915 * fix(optimizer): fix agg to dedup optimization by @chenzl25 in https://github.com/risingwavelabs/risingwave/pull/23922 * refactor: improve stream parallelism resolution and error handling by @shanicky in https://github.com/risingwavelabs/risingwave/pull/23921 * feat(meta): add service impl for `ALTER .. SET CONFIG` by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/23864 * fix(mongo-cdc): add connection check for mongo cdc by @wcy-fdu in https://github.com/risingwavelabs/risingwave/pull/23850 * feat(sink): exactly once sink on coordination process by @Chiro11 in https://github.com/risingwavelabs/risingwave/pull/23657 * feat(frontend): add system table `rw_streaming_job_config` by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/23914 * feat: use datafusion engine for Iceberg batch query by @silver-ymz in https://github.com/risingwavelabs/risingwave/pull/23860 * feat: migrate configs for sync log store and over-window executor from session config to per-job config override by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/23792 * fix(sink): fix redshift timestamptz error by @xxhZs in https://github.com/risingwavelabs/risingwave/pull/23812 * feat: persist compactor iceberg flag across meta and diagnostics by @Li0k in https://github.com/risingwavelabs/risingwave/pull/23884 * chore: allow altering owner of iceberg table by @yezizp2012 in https://github.com/risingwavelabs/risingwave/pull/23944 * chore(deps): Bump uuid from 1.18.1 to 1.19.0 by @dependabot[bot] in https://github.com/risingwavelabs/risingwave/pull/23951 * feat: Expose license status, limits, and features in diagnose output by @Li0k in https://github.com/risingwavelabs/risingwave/pull/23885 * refactor(hummock): refine `fetch_block` impl, restore old style by @MrCroxx in https://github.com/risingwavelabs/risingwave/pull/23957 * feat(stream,dashboard): aggregate tokio actor metrics by fragment by @kwannoel in https://github.com/risingwavelabs/risingwave/pull/23747 * refactor(streaming): move `MaterializeCache` to a separate module by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/23961 * feat: support setting pause_on_next_bootstrap_offline by @EdwinaZhu in https://github.com/risingwavelabs/risingwave/pull/23910 * chore(streaming): add explicit target for expression error log (`stream_expr_error`) by @kwannoel in https://github.com/risingwavelabs/risingwave/pull/23964 * fix(cdc): fix snapshot schema by @zwang28 in https://github.com/risingwavelabs/risingwave/pull/23970 * feat(meta): add streaming job table in diagnose output by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/23966 * fix(metric): fix error metrics in dashboard by @zwang28 in https://github.com/risingwavelabs/risingwave/pull/23974 * fix(doc): missing GNU Parallel installation by @Standing-Man in https://github.com/risingwavelabs/risingwave/pull/23851 * feat: support `created_at` and `initialized_at` for rw_views by @Standing-Man in https://github.com/risingwavelabs/risingwave/pull/23774 * refactor(file_sink): do not use executor id for file sink by @wcy-fdu in https://github.com/risingwavelabs/risingwave/pull/23981 * feat(tokio): bump tokio to 1.47 by @chenzl25 in https://github.com/risingwavelabs/risingwave/pull/23985 * perf(streaming): remove `passed_actors` in barrier to reduce encoded size by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/23987 * chore: bump `thiserror-ext` to avoid dep on `thiserror` & bump `thiserror` to `2.0.17` by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/23999 * fix: fix auto cdc schema change with schema binding and memory leak in fe by @yezizp2012 in https://github.com/risingwavelabs/risingwave/pull/23993 * chore(deps): Bump github.com/sirupsen/logrus from 1.8.1 to 1.8.3 in /integration_tests/datagen by @dependabot[bot] in https://github.com/risingwavelabs/risingwave/pull/24007 * refactor(streaming): reuse code via generics between `Merge` and `Receiver` executors by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/23984 * refactor: Reuse and manage Nats client connections by @tabVersion in https://github.com/risingwavelabs/risingwave/pull/23963 * fix(test): fix `mysql_partition` test in main cron by @wcy-fdu in https://github.com/risingwavelabs/risingwave/pull/23965 * refactor(sink): Backup new exactly once sink table & Remove some legacy code by @Chiro11 in https://github.com/risingwavelabs/risingwave/pull/24001 * test(sink): Enable integration test for exactly once sink by @Chiro11 in https://github.com/risingwavelabs/risingwave/pull/23833 * refactor(sink): Delay the initialization of IcebergSinkWriter after LogReader alignment by @Chiro11 in https://github.com/risingwavelabs/risingwave/pull/23949 * fix: notify local subscribers when streaming job backfill finishes by @shanicky in https://github.com/risingwavelabs/risingwave/pull/24021 * chore(deps): Bump net.snowflake:snowflake-jdbc from 3.23.0 to 3.23.1 by @hzxa21 in https://github.com/risingwavelabs/risingwave/pull/23813 * feat(dashboard): inspect streaming job info & config override by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24037 * fix(sink): Missing field update in sink auto schema change by @Chiro11 in https://github.com/risingwavelabs/risingwave/pull/24039 * refactor(error): use `provide` functionality from `thiserror-ext` to avoid patching `thiserror` by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24008 * chore(deps): Bump criterion from 0.7.0 to 0.8.1 by @dependabot[bot] in https://github.com/risingwavelabs/risingwave/pull/24043 * refactor(mysql-cdc): cache latest schema history file records to reduce object storage I/O by @wcy-fdu in https://github.com/risingwavelabs/risingwave/pull/23976 * feat: support sink payload as bytes into downstream mq by @tabVersion in https://github.com/risingwavelabs/risingwave/pull/22925 * fix: pass file cache recover mode config correctly by @hzxa21 in https://github.com/risingwavelabs/risingwave/pull/24031 * refactor: refactor write-mode and compaction.type to enum by @Li0k in https://github.com/risingwavelabs/risingwave/pull/23942 * feat: support risingwave scalar function in datafusion by @silver-ymz in https://github.com/risingwavelabs/risingwave/pull/24002 * fix: add retry delay and improve error handling in observer and fragment modules by @shanicky in https://github.com/risingwavelabs/risingwave/pull/24057 * refactor: split batch and streaming exchange service by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24050 * refactor(foyer): upgrade foyer to released version v0.21.0 by @MrCroxx in https://github.com/risingwavelabs/risingwave/pull/24047 * feat(frontend): improve notifications for slow DDL (CREATE TABLE and ALTER RATE LIMIT/PARALLELISM) by @EdwinaZhu in https://github.com/risingwavelabs/risingwave/pull/24016 * refactor(watermark): use clean_watermark_indices to replace clean_watermark_index_in_pk by @yuhao-su in https://github.com/risingwavelabs/risingwave/pull/23877 * fix: fix sstable serde to avoid losing bloom filter by @hzxa21 in https://github.com/risingwavelabs/risingwave/pull/24025 * fix: add retry mechanism to mqtt_nested_source query in e2e test by @Copilot in https://github.com/risingwavelabs/risingwave/pull/24063 * feat: optimize streaming job count query and improve diagnostics by @shanicky in https://github.com/risingwavelabs/risingwave/pull/24068 * feat(frontend): support backfill order control for sinks by @Copilot in https://github.com/risingwavelabs/risingwave/pull/23958 * chore(ci): check duplicated lines in logs & fix verbose logs by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24045 * feat: unify the managment of privileges for the iceberg sink, source and table by @yezizp2012 in https://github.com/risingwavelabs/risingwave/pull/24038 * chore(pgwire): add start of execution logs for all queries by @kwannoel in https://github.com/risingwavelabs/risingwave/pull/24079 * fix(test): fix flaky time travel e2e tests by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24087 * chore: increase log filter levels for some external crates by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24085 * feat(streaming): use actor-local config for exchange by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24036 * feat: add vnode-aligned compaction config for large single-table group by @Li0k in https://github.com/risingwavelabs/risingwave/pull/24053 * feat(sink): Support schema change in decouple sink by @Chiro11 in https://github.com/risingwavelabs/risingwave/pull/24048 * feat(pulsar): add support for read_compacted option in consumer properties by @tabVersion in https://github.com/risingwavelabs/risingwave/pull/23582 * feat(iceberg): support DeleteScan for datafusion engine by @silver-ymz in https://github.com/risingwavelabs/risingwave/pull/24065 * feat(sink): Support schema change in two-phase commit coordination by @Chiro11 in https://github.com/risingwavelabs/risingwave/pull/24069 * fix: better handle iceberg error when refreshing by @tabVersion in https://github.com/risingwavelabs/risingwave/pull/23847 * fix(frontend): support view sink internal state tables by @kwannoel in https://github.com/risingwavelabs/risingwave/pull/24051 * refactor(meta): separate per job cdc backfill tracker by @wenym1 in https://github.com/risingwavelabs/risingwave/pull/23795 * refactor(compute): avoid locking metrics in exchange loop each time we yield a message by @kwannoel in https://github.com/risingwavelabs/risingwave/pull/24099 * fix(sink): Parameters lost when sink-decouple by @Chiro11 in https://github.com/risingwavelabs/risingwave/pull/24114 * feat(iceberg): bump iceberg rust to 20251111 version by @chenzl25 in https://github.com/risingwavelabs/risingwave/pull/24004 * refactor(iceberg): simplify scan_task_to_chunk by using the sdk to handle delete by @chenzl25 in https://github.com/risingwavelabs/risingwave/pull/24089 * feat(meta): trigger barrier immediately on force checkpoint by @wenym1 in https://github.com/risingwavelabs/risingwave/pull/24141 * fix(frontend): reject defining watermarks on upsert source by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24113 * fix(meta): avoid global recovery on single database reload failure by @wenym1 in https://github.com/risingwavelabs/risingwave/pull/24140 * feat(iceberg): do not commit large statistical to avoid persistent metadata becoming too large by @wcy-fdu in https://github.com/risingwavelabs/risingwave/pull/24054 * chore: update package version in Cargo.toml by @tabVersion in https://github.com/risingwavelabs/risingwave/pull/24147 * feat(deltalake): bump deltalake to 0.29 and remove arrow 55 by @chenzl25 in https://github.com/risingwavelabs/risingwave/pull/24145 * refactor: improve error handling for datafusion engine by @silver-ymz in https://github.com/risingwavelabs/risingwave/pull/24097 * refactor(meta): avoid self-generate command in barrier worker by @wenym1 in https://github.com/risingwavelabs/risingwave/pull/23858 * fix(iceberg): fix iceberg_source_streaming flaky test by @chenzl25 in https://github.com/risingwavelabs/risingwave/pull/24150 * feat(risedev): add ADBC Snowflake driver support by @tabVersion in https://github.com/risingwavelabs/risingwave/pull/23986 * fix(frontend): forbid temporal join with snapshot backfill by @wenym1 in https://github.com/risingwavelabs/risingwave/pull/24149 * fix(iceberg): change iceberg partition field id from 0 to 1000 by @chenzl25 in https://github.com/risingwavelabs/risingwave/pull/24139 * fix(meta): fill original snapshot backfill epoch in alter mv by @wenym1 in https://github.com/risingwavelabs/risingwave/pull/24153 * feat(iceberg): support explain datafusion plan by @chenzl25 in https://github.com/risingwavelabs/risingwave/pull/24157 * fix(ci): fix package version check script when there are branches like `release-2.7-suffix` by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24160 * feat: backup refresh jobs in meta snapshot by @tabVersion in https://github.com/risingwavelabs/risingwave/pull/24158 * feat: support ALTER CONNECTION CONNECTOR WITH by @tabVersion in https://github.com/risingwavelabs/risingwave/pull/22563 * refactor(streaming): remove watermark cache in state table by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24148 * chore(ci): bump main branch package version after creating new release branches by @cyliu0 in https://github.com/risingwavelabs/risingwave/pull/24165 * fix(ci): correct bump main PR body by @cyliu0 in https://github.com/risingwavelabs/risingwave/pull/24173 * feat(streaming): add metrics for oom and other exit statuses on kernel dashboard by @kwannoel in https://github.com/risingwavelabs/risingwave/pull/24175 * feat(streaming): always enable merge barrier align metrics by @kwannoel in https://github.com/risingwavelabs/risingwave/pull/24163 * fix: fix hummock metrics bucket by @Li0k in https://github.com/risingwavelabs/risingwave/pull/24143 * feat: improve type coercion and validation for datafusion execution by @silver-ymz in https://github.com/risingwavelabs/risingwave/pull/24120 * chore(pgwire): add sql to the log span by @kwannoel in https://github.com/risingwavelabs/risingwave/pull/24171 * chore: update error message by @wcy-fdu in https://github.com/risingwavelabs/risingwave/pull/24181 * fix: simplify alter connection test by @tabVersion in https://github.com/risingwavelabs/risingwave/pull/24185 * refactor(streaming): keep & validate row id if specified regardless of op in `RowIdGen` by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24164 * fix(ci): check in `dhparam.pem` for ldap test by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24180 * feat: include more useful info in diagnose by @hzxa21 in https://github.com/risingwavelabs/risingwave/pull/23992 * refactor: strong typed executor and operator id by @wenym1 in https://github.com/risingwavelabs/risingwave/pull/24204 * feat: snowflake source support by @tabVersion in https://github.com/risingwavelabs/risingwave/pull/23988 * fix(streaming): wrap snapshot backfill executor by @wenym1 in https://github.com/risingwavelabs/risingwave/pull/24205 * feat(stream, observability): add job-level cpu usage profiling for streaming job by @EdwinaZhu in https://github.com/risingwavelabs/risingwave/pull/24151 * fix: support async javascript UDTF by @hzxa21 in https://github.com/risingwavelabs/risingwave/pull/24197 * feat(dml): add an option for emitting upsert records by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24152 * refactor(pgwire): use concrete error type in `Session` by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24201 * chore(ci): always upload docker compose logs by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24217 * chore: update rules for risedev usage in `build-run-test.mdc` by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24224 * feat(hummock): make block based XOR16 filter threshold configurable by @Li0k in https://github.com/risingwavelabs/risingwave/pull/24208 * fix(iceberg): fix row id gen in iceberg fetch executor by @chenzl25 in https://github.com/risingwavelabs/risingwave/pull/24231 * feat(expr): support casting `serial` to `timestamptz` to extract time from row id by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24233 * chore: ignore `.cargo/` (for trailing space check and maybe more) by @xiangjinwu in https://github.com/risingwavelabs/risingwave/pull/24244 * refactor: separate fragment metadata loading and actor assignment rendering by @shanicky in https://github.com/risingwavelabs/risingwave/pull/24155 * fix(snapshot-backfill): fix snapshot backfill recovery panic by @wenym1 in https://github.com/risingwavelabs/risingwave/pull/24245 * feat(meta): create new actors for finished snapshot backfill jobs by @wenym1 in https://github.com/risingwavelabs/risingwave/pull/24189 * feat(iceberg): support schema change(add column) for non exactly once iceberg sink by @wcy-fdu in https://github.com/risingwavelabs/risingwave/pull/24246 * fix(iceberg): stop coordinator when drop iceberg engine table & improve retry by @chenzl25 in https://github.com/risingwavelabs/risingwave/pull/24259 * test(streaming): add a test case demonstrating `scan.startup.mode = 'latest'` with shared source by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24253 * feat: support aggregate function for datafusion by @silver-ymz in https://github.com/risingwavelabs/risingwave/pull/24206 * fix: XorFilterReader estimate_size by @Li0k in https://github.com/risingwavelabs/risingwave/pull/24262 * chore(deps): Bump org.apache.logging.log4j:log4j-core from 2.25.1 to 2.25.3 in /java by @dependabot[bot] in https://github.com/risingwavelabs/risingwave/pull/24210 * refactor(storage): use `clean_watermark_index` in `StateTable` by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24232 * chore(deps): Bump org.bouncycastle:bcpkix-jdk18on from 1.78 to 1.79 in /java/connector-node/risingwave-sink-jdbc by @dependabot[bot] in https://github.com/risingwavelabs/risingwave/pull/23666 * chore(deps): Bump github.com/dvsekhvalnov/jose2go from 1.6.0 to 1.7.0 in /integration_tests/datagen by @dependabot[bot] in https://github.com/risingwavelabs/risingwave/pull/23771 * fix: count star may panic in datafusion by @silver-ymz in https://github.com/risingwavelabs/risingwave/pull/24267 * feat(frontend): support planning table with watermark-ttl by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24121 * feat: improve default compaction config by @Li0k in https://github.com/risingwavelabs/risingwave/pull/24209 * feat: support order by in datafusion by @silver-ymz in https://github.com/risingwavelabs/risingwave/pull/24275 * fix: fix iceberg compaction queue duplicated id by @Li0k in https://github.com/risingwavelabs/risingwave/pull/24279 * feat(sink): Sink schema change from barrier to persistent by @Chiro11 in https://github.com/risingwavelabs/risingwave/pull/24271 * feat: support sql state 3D000 & add slt tests by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24216 * fix(dashboard): download heap dump `collapsed` analyzed result by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24287 * chore(ci): add semver tag for images build on non-release branches by @cyliu0 in https://github.com/risingwavelabs/risingwave/pull/24283 * fix(sink): fix jdbc sink setTransactionIsolation to prevent RDS Proxy session pinning by @xxhZs in https://github.com/risingwavelabs/risingwave/pull/24270 * chore(deps): Bump redis from 0.32.7 to 1.0.2 by @dependabot[bot] in https://github.com/risingwavelabs/risingwave/pull/24265 * feat: add backfill-specific parallelism control for streaming jobs by @shanicky in https://github.com/risingwavelabs/risingwave/pull/24026 * refactor(dashboards): rewrite to reduce nested string quotes by @EdwinaZhu in https://github.com/risingwavelabs/risingwave/pull/24238 * feat(binder): reuse existing expressions when binding extra columns in `ORDER BY` by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24298 * feat(risectl, dashboard): support profiling nodes other than compute node by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24278 * fix(test): increase recovery wait time in backfill parallelism test by @Copilot in https://github.com/risingwavelabs/risingwave/pull/24309 * feat: make decimal as datafusion native type by @silver-ymz in https://github.com/risingwavelabs/risingwave/pull/24284 * feat(expr): allow jsonb null values to be cast to scalar types as null by @howenyap in https://github.com/risingwavelabs/risingwave/pull/23608 * chore(ci): use file creation date as copyright year for license header check by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24317 * fix(expr): resolve PG incompatibility with NULL handling in array con… by @Standing-Man in https://github.com/risingwavelabs/risingwave/pull/23399 * fix(optimizer): improve table scan better locality index selection by @chenzl25 in https://github.com/risingwavelabs/risingwave/pull/24318 * feat(iceberg): improve iceberg decimal handling: adjust ICEBERG_DECIMAL_PRECISION = 38 by @chenzl25 in https://github.com/risingwavelabs/risingwave/pull/24316 * fix(iceberg): Remove some limit between sink-decouple and exactly-once by @Chiro11 in https://github.com/risingwavelabs/risingwave/pull/24290 * chore: fix iceberg schema change test in main cron by @wcy-fdu in https://github.com/risingwavelabs/risingwave/pull/24324 * refactor(meta): throttle jobs by fragment by @wenym1 in https://github.com/risingwavelabs/risingwave/pull/24301 * fix(meta): include cdc metadata in backup by @zwang28 in https://github.com/risingwavelabs/risingwave/pull/24327 * feat(iceberg): support schema change for exactly once iceberg sink by @Chiro11 in https://github.com/risingwavelabs/risingwave/pull/24273 * feat(expr): add `array_reverse` by @howenyap in https://github.com/risingwavelabs/risingwave/pull/23478 * fix: fix split huge group condition by @Li0k in https://github.com/risingwavelabs/risingwave/pull/24243 * feat: support window function in datafusion by @silver-ymz in https://github.com/risingwavelabs/risingwave/pull/24297 * fix(meta): fix race condition during metadata backup by @zwang28 in https://github.com/risingwavelabs/risingwave/pull/24269 * fix(meta): Fix loop control in alter mv graph matching by @Chiro11 in https://github.com/risingwavelabs/risingwave/pull/24326 * perf(storage): avoid redundant key encoding in block builder by @Li0k in https://github.com/risingwavelabs/risingwave/pull/24228 * refactor(streaming): remove `cleaned_by_watermark` field in table by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24266 * refactor(sink): replace `ForceAppendOnly` with a separate `ignore_delete` field by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24310 * feat(cdc): introduce configurable and adjustable `max.queue.size.in.bytes` by @wcy-fdu in https://github.com/risingwavelabs/risingwave/pull/23897 * fix(iceberg): relax meta store check for iceberg connection by @chenzl25 in https://github.com/risingwavelabs/risingwave/pull/24260 * feat: support LogicalUnion and LogicalDedup in datafusion by @silver-ymz in https://github.com/risingwavelabs/risingwave/pull/24300 * perf: Reduce block-meta copies in the compactor . by @Li0k in https://github.com/risingwavelabs/risingwave/pull/24256 * feat: shorten_block_smallest_key by @Li0k in https://github.com/risingwavelabs/risingwave/pull/24274 * feat: export iceberg stats to datafusion by @silver-ymz in https://github.com/risingwavelabs/risingwave/pull/24334 * refactor: preload recovery context for upstream sink union recovery by @shanicky in https://github.com/risingwavelabs/risingwave/pull/24255 * fix(optimizer): fix topn index selection for scan with output col idx by @chenzl25 in https://github.com/risingwavelabs/risingwave/pull/24242 * chore(ci): refine hints on license header checks by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24343 * refactor(sink): Split sink schema change to use two-phase commit by @Chiro11 in https://github.com/risingwavelabs/risingwave/pull/24288 * feat: maintain per vnode min/max in state table for pruning by @hzxa21 in https://github.com/risingwavelabs/risingwave/pull/24214 * chore(deps): Bump serial_test from 3.2.0 to 3.3.1 by @dependabot[bot] in https://github.com/risingwavelabs/risingwave/pull/24347 * feat(iceberg): support explain datafusion physical plan by @chenzl25 in https://github.com/risingwavelabs/risingwave/pull/24345 * feat(optimizer): convert lateral table-function apply to project-set by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24254 * fix(privilege): Use super user for dummy session to avoid permission checks by @Chiro11 in https://github.com/risingwavelabs/risingwave/pull/24352 * feat(stream): remove dispatcher on error to avoid recovery by @wenym1 in https://github.com/risingwavelabs/risingwave/pull/24289 * fix(metrics): join lookup miss metric in take_state_opt by @yuhao-su in https://github.com/risingwavelabs/risingwave/pull/24363 * feat(cdc): introduce reset source command by @wcy-fdu in https://github.com/risingwavelabs/risingwave/pull/23945 * fix(sink): fix force-append-only sink panicked at inconsistent changes when specified pk does not guarantee uniqueness by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24368 * ci: enable datafusion feature for docker and release by @silver-ymz in https://github.com/risingwavelabs/risingwave/pull/24379 * test: add tests for metadata backup sync with meta model by @tabVersion in https://github.com/risingwavelabs/risingwave/pull/24362 * feat(expr): `postgres_query` (aka PostgreSQL batch source) SSL support by @xiangjinwu in https://github.com/risingwavelabs/risingwave/pull/24340 * fix(planner): reject impure expressions on retract stream on `to_proto` by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24353 * chore: refine the temporal join error message by @hzxa21 in https://github.com/risingwavelabs/risingwave/pull/24391 * fix(cdc): fix connector failure due to OpenLineage by @zwang28 in https://github.com/risingwavelabs/risingwave/pull/24382 * chore: fix unit test for state table vnode pruning by @hzxa21 in https://github.com/risingwavelabs/risingwave/pull/24390 * chore: bump `futures-async-stream` for correct code coverage report by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24385 * fix(streaming): some executors should always clear the cache on scaling regardless of `cache_may_stale` by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24384 * feat(frontend): auto disable snapshot backfill in some cases by @wenym1 in https://github.com/risingwavelabs/risingwave/pull/24360 * fix: make catalog queries transaction-aware in recovery context by @shanicky in https://github.com/risingwavelabs/risingwave/pull/24407 * fix(test): avoid cleaning up reducer input log file by @wenym1 in https://github.com/risingwavelabs/risingwave/pull/24406 * fix(test): only check SST subset in meta backup sst test by @wenym1 in https://github.com/risingwavelabs/risingwave/pull/24405 * fix(optimizer): fix unify first last value rule by @chenzl25 in https://github.com/risingwavelabs/risingwave/pull/24398 * fix: initialize notification infra before first ticker tick by @shanicky in https://github.com/risingwavelabs/risingwave/pull/24049 * fix: fix the non-exit problem after seek rewind. by @Li0k in https://github.com/risingwavelabs/risingwave/pull/24416 * fix(test): force stable scale for numeric matching in `two_phase_approx_percentile_merge_stateless_agg.slt` by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24420 * ci: trigger homebrew bump on release by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24422 * feat: add reschedule support for backfilling jobs by @shanicky in https://github.com/risingwavelabs/risingwave/pull/23998 * feat(backup): validate object store parameter by @zwang28 in https://github.com/risingwavelabs/risingwave/pull/24426 * doc: refine README messaging by @yingjunwu in https://github.com/risingwavelabs/risingwave/pull/24433 * feat(meta): avoid sending inject barrier request to all workers by @wenym1 in https://github.com/risingwavelabs/risingwave/pull/24361 * feat(diagnose): add hostname column to diagnosis output by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24436 * perf: improve l0 seclection by @Li0k in https://github.com/risingwavelabs/risingwave/pull/24417 * chore(test): enable coverage for madsim tests by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24389 * refactor(meta): include upstream partial graph id in exchange request by @wenym1 in https://github.com/risingwavelabs/risingwave/pull/24342 * feat: enhance DataFusionExecuteChecker to align with DataFusionPlanConverter by @silver-ymz in https://github.com/risingwavelabs/risingwave/pull/24341 * test: resolve massive log when prepare sql server data by @tabVersion in https://github.com/risingwavelabs/risingwave/pull/24408 * feat(meta): include backfill_type and is_serverless in rw_ddl_progress by @wenym1 in https://github.com/risingwavelabs/risingwave/pull/24401 * ci(kafka): replace bitnami with redpanda for kafka sasl tests by @xiangjinwu in https://github.com/risingwavelabs/risingwave/pull/24437 * feat(streaming): executor part for watermark TTL by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24186 * feat(streaming): add dev config `materialize_force_overwrite_on_no_check` and rename `unsafe_enable_strict_consistency` to `unsafe_disable` by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24443 * chore(iceberg): upgrade iceberg rust by @chenzl25 in https://github.com/risingwavelabs/risingwave/pull/24372 * fix(optimizer): preserve eq key during rewrite in physical join plan nodes by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24442 * chore(deps): Bump num-bigint-dig from 0.8.4 to 0.8.6 by @xiangjinwu in https://github.com/risingwavelabs/risingwave/pull/24454 * fix(docker): update docker image version and fix prometheus to scrape iceberg compactor by @chenzl25 in https://github.com/risingwavelabs/risingwave/pull/24460 * fix(streaming): fix some bugs for tables with watermark TTL & add tests for append-only table by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24459 * fix(sqlparser): also quote keyword identifiers by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24461 * feat(grafana): fix relative memory utilization panel by @kwannoel in https://github.com/risingwavelabs/risingwave/pull/24445 * fix(test): relax nexmark watermark lower bound in madsim scaling test by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24473 * feat: make materialized view status visible by @Standing-Man in https://github.com/risingwavelabs/risingwave/pull/24329 * fix(stream): fix inconsistent global approx percentile initial state by @wenym1 in https://github.com/risingwavelabs/risingwave/pull/24480 * feat: add global shared object cache for iceberg table by @yezizp2012 in https://github.com/risingwavelabs/risingwave/pull/24230 * refactor(grafana): organize metrics by component by @kwannoel in https://github.com/risingwavelabs/risingwave/pull/24490 * fix(optimizer): align watermark propagation in `StreamGroupTopN` with executor by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24481 * fix(optimizer): revert 23180 of dynamic filter watermark derivation by @chenzl25 in https://github.com/risingwavelabs/risingwave/pull/24484 * fix(storage): read version globally visible after initialized by @wenym1 in https://github.com/risingwavelabs/risingwave/pull/24492 * fix(stream): fix inconsistent global approx percentile initial state again by @wenym1 in https://github.com/risingwavelabs/risingwave/pull/24500 * feat(storage): handle uploader events in batch by @wenym1 in https://github.com/risingwavelabs/risingwave/pull/24498 * feat(license): skip rwu limit check for single-node deployments by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24495 * feat(storage): support state clean for watermark in either pk or value column by @zwang28 in https://github.com/risingwavelabs/risingwave/pull/24041 * refactor: only handle partial graphs in local barrier worker by @wenym1 in https://github.com/risingwavelabs/risingwave/pull/24239 * chore(license): polish the license error message by @hzxa21 in https://github.com/risingwavelabs/risingwave/pull/24479 * chore: refine license check by @hzxa21 in https://github.com/risingwavelabs/risingwave/pull/24514 * feat(frontend): update `IndexCatalog` to support background ddl by @Standing-Man in https://github.com/risingwavelabs/risingwave/pull/24349 * refactor(grafana): move alerts and errors into separate section by @kwannoel in https://github.com/risingwavelabs/risingwave/pull/24493 * refactor(grafana): move relation and actor level metrics from cluster_essential to streaming section by @kwannoel in https://github.com/risingwavelabs/risingwave/pull/24494 * feat(pg-cdc): support geometry type for postgres cdc by @wcy-fdu in https://github.com/risingwavelabs/risingwave/pull/24491 * feat: batch insert fragments and fragment relations to minimize stream job preparation time by @yezizp2012 in https://github.com/risingwavelabs/risingwave/pull/24475 * feat(meta): persist is_serverless_backfill field in meta store table by @wenym1 in https://github.com/risingwavelabs/risingwave/pull/24520 * refactor(streaming): fix and refactor the watermark based state clean for band join by @yuhao-su in https://github.com/risingwavelabs/risingwave/pull/24134 * ci: upload redis cluster logs on failure & add sleep before running slt by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24496 * refactor: introduce LogicalIcebergIntermediateScan to reduce iceberg list count by @silver-ymz in https://github.com/risingwavelabs/risingwave/pull/24474 * refactor(grafana): separate barrier metrics from relation metrics by @kwannoel in https://github.com/risingwavelabs/risingwave/pull/24499 * fix(cdc): don't commit empty offset by @zwang28 in https://github.com/risingwavelabs/risingwave/pull/24529 * fix(frontend): improve kill process by @chenzl25 in https://github.com/risingwavelabs/risingwave/pull/24531 * refactor(grafana): remove under-utilized metrics from cluster-essentials section by @kwannoel in https://github.com/risingwavelabs/risingwave/pull/24501 * fix(meta): allow handling drop command for empty database by @wenym1 in https://github.com/risingwavelabs/risingwave/pull/24528 * fix(frontend): fix incorrect row_number value with non-zero offset by @wenym1 in https://github.com/risingwavelabs/risingwave/pull/24527 * refactor(debezium): make debezium emit initial heartbeat by @zwang28 in https://github.com/risingwavelabs/risingwave/pull/24523 * refactor(grafana): simplify streaming panels by @kwannoel in https://github.com/risingwavelabs/risingwave/pull/24502 * fix(debezium): fix schema history record comparator by @zwang28 in https://github.com/risingwavelabs/risingwave/pull/24482 * fix: check connection existence for iceberg_engine_connection when setting by @yezizp2012 in https://github.com/risingwavelabs/risingwave/pull/24521 * chore: remove useless recursive cte code by @chenzl25 in https://github.com/risingwavelabs/risingwave/pull/24519 * feat(meta): support drop/cancel creating snapshot backfill job by @wenym1 in https://github.com/risingwavelabs/risingwave/pull/24286 * refactor(pg-cdc): change the automatically created publication to per source by @wcy-fdu in https://github.com/risingwavelabs/risingwave/pull/24421 * fix(test): fix flaky test introduced by postgres geometry type by @wcy-fdu in https://github.com/risingwavelabs/risingwave/pull/24532 * chore: generate grafana dashboard and add github action to check by @wenym1 in https://github.com/risingwavelabs/risingwave/pull/24536 * fix(meta): update cluster resource on exits of all worker node types by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24534 * chore(deps): Bump rust_decimal from 1.39.0 to 1.40.0 by @dependabot[bot] in https://github.com/risingwavelabs/risingwave/pull/24463 * chore(deps): Bump async-nats from 0.45.0 to 0.46.0 by @dependabot[bot] in https://github.com/risingwavelabs/risingwave/pull/24542 * feat: Make VALIDATE clause optional when creating webhook connection by @cnsky1103 in https://github.com/risingwavelabs/risingwave/pull/24109 * fix(compaction): enable value column state cleaning for fast compaction by @zwang28 in https://github.com/risingwavelabs/risingwave/pull/24543 * feat(sink): support specifying `ignore_delete` for `upsert` sink type by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24311 * refactor(cdc): refactor cdc source creation logic by @zwang28 in https://github.com/risingwavelabs/risingwave/pull/24515 * chore(deps): Bump ldap3 from 0.11.5 to 0.12.1 by @dependabot[bot] in https://github.com/risingwavelabs/risingwave/pull/24130 * refactor: extract clients and server impls of `MonitorService` & impl for frontend and compactors by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24276 * fix: use the metadata of the streaming job table to construct consistent notification info by @yezizp2012 in https://github.com/risingwavelabs/risingwave/pull/24525 * feat(frontend): support sink backfill rate limit by @kwannoel in https://github.com/risingwavelabs/risingwave/pull/24075 * feat(meta): support recoverable backfill order control by @yezizp2012 in https://github.com/risingwavelabs/risingwave/pull/24539 * chore(deps): Bump rust-embed from 8.8.0 to 8.9.0 by @dependabot[bot] in https://github.com/risingwavelabs/risingwave/pull/23644 * feat: clean up table stats when truncate table by @Li0k in https://github.com/risingwavelabs/risingwave/pull/24550 * chore(deps): Bump the aws group across 1 directory with 5 updates by @dependabot[bot] in https://github.com/risingwavelabs/risingwave/pull/24464 * feat(storage): tracker per table imm memory by @wenym1 in https://github.com/risingwavelabs/risingwave/pull/24538 * feat(ci): generate grafana artifacts for cloud by @kwannoel in https://github.com/risingwavelabs/risingwave/pull/24545 * chore(deps): Bump tempfile from 3.19.1 to 3.20.0 by @dependabot[bot] in https://github.com/risingwavelabs/risingwave/pull/21834 * refactor(test): add tests for watermark based state cleaning by @zwang28 in https://github.com/risingwavelabs/risingwave/pull/24549 * chore(deps): Bump rust-embed from 8.8.0 to 8.11.0 by @dependabot[bot] in https://github.com/risingwavelabs/risingwave/pull/24465 * feat(snapshot-backfill): support alter rate limit for snapshot backfill by @wenym1 in https://github.com/risingwavelabs/risingwave/pull/24302 * chore(deps): Bump notify from 8.0.0 to 8.2.0 by @dependabot[bot] in https://github.com/risingwavelabs/risingwave/pull/24129 * test(cdc): wait for and verify data before schema change by @xiangjinwu in https://github.com/risingwavelabs/risingwave/pull/24562 * chore(deps): Bump bytes from 1.10.1 to 1.11.0 by @dependabot[bot] in https://github.com/risingwavelabs/risingwave/pull/23770 * chore(deps): Bump duration-str from 0.17.0 to 0.18.0 by @dependabot[bot] in https://github.com/risingwavelabs/risingwave/pull/23968 * feat(storage): enable watermark read for all WatermarkSerdeType by @zwang28 in https://github.com/risingwavelabs/risingwave/pull/24563 * chore(deps): Bump fancy-regex from 0.16.1 to 0.17.0 by @dependabot[bot] in https://github.com/risingwavelabs/risingwave/pull/24126 * chore(deps): Bump arc-swap from 1.7.1 to 1.8.0 by @dependabot[bot] in https://github.com/risingwavelabs/risingwave/pull/24251 * chore(deps): Bump crepe from 0.1.8 to 0.2.0 by @dependabot[bot] in https://github.com/risingwavelabs/risingwave/pull/24132 * chore(deps): Bump fs-err from 3.1.0 to 3.2.2 by @dependabot[bot] in https://github.com/risingwavelabs/risingwave/pull/24257 * chore(deps): Bump http from 1.3.1 to 1.4.0 by @dependabot[bot] in https://github.com/risingwavelabs/risingwave/pull/23828 * chore(deps): Bump rustls-pki-types from 1.13.0 to 1.14.0 by @dependabot[bot] in https://github.com/risingwavelabs/risingwave/pull/24510 * chore(deps): Bump quick-xml from 0.38.3 to 0.39.0 by @dependabot[bot] in https://github.com/risingwavelabs/risingwave/pull/24432 * chore(deps): Cleanup unused conditional deps (e.g. fiemap) by @dependabot[bot] in https://github.com/risingwavelabs/risingwave/pull/23405 * chore(deps): Bump pbjson from 0.8.0 to 0.9.0 by @dependabot[bot] in https://github.com/risingwavelabs/risingwave/pull/24058 * chore(deps): Bump pbjson-build from 0.8.0 to 0.9.0 by @dependabot[bot] in https://github.com/risingwavelabs/risingwave/pull/24059 * chore(deps): Bump lru from 0.16.2 to 0.16.3 by @dependabot[bot] in https://github.com/risingwavelabs/risingwave/pull/24374 * chore(deps): Bump aws-sdk-dynamodb from 1.96.0 to 1.98.0 by @dependabot[bot] in https://github.com/risingwavelabs/risingwave/pull/24394 * chore(deps): Bump typify from 0.4.3 to 0.5.0 by @dependabot[bot] in https://github.com/risingwavelabs/risingwave/pull/23618 * chore(deps): Bump console-subscriber from 0.4.1 to 0.5.0 by @dependabot[bot] in https://github.com/risingwavelabs/risingwave/pull/24005 * chore(deps): Bump const-str from 0.7.0 to 1.0.0 by @dependabot[bot] in https://github.com/risingwavelabs/risingwave/pull/24314 * chore(deps): Bump the aws group with 3 updates by @dependabot[bot] in https://github.com/risingwavelabs/risingwave/pull/24570 * chore(deps): Bump nix from 0.30.1 to 0.31.0 by @dependabot[bot] in https://github.com/risingwavelabs/risingwave/pull/24572 * chore(deps): Bump jsonwebtoken from 10.1.0 to 10.2.0 by @dependabot[bot] in https://github.com/risingwavelabs/risingwave/pull/23718 * chore: release binary without debug info to reduce size by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24565 * feat: support `alter function owner to` by @Standing-Man in https://github.com/risingwavelabs/risingwave/pull/24554 * fix(mssql): correctly handle cases where `database_name` is omitted in create table by @wcy-fdu in https://github.com/risingwavelabs/risingwave/pull/23739 * fix(meta): handle post collect snapshot backfill job on collecting first job barrier by @wenym1 in https://github.com/risingwavelabs/risingwave/pull/24359 * fix(metrics): fix hummock meta miss metrics by @MrCroxx in https://github.com/risingwavelabs/risingwave/pull/24435 * fix(foyer): upgrade foyer verstion to fix hybrid miss metrics by @MrCroxx in https://github.com/risingwavelabs/risingwave/pull/24577 * fix(storage): fix incorrect min_epoch derived from MAX_EPOCH and ttl by @wenym1 in https://github.com/risingwavelabs/risingwave/pull/24540 * feat(storage): refine imm memory limiter management by @wenym1 in https://github.com/risingwavelabs/risingwave/pull/24555 * feat(meta): enable profiling in `MonitorService` for meta node by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24566 * chore(deps): Bump adbc_snowflake from 0.21.0 to 0.22.0 by @dependabot[bot] in https://github.com/risingwavelabs/risingwave/pull/24410 * feat(storage): support state table iter respecting watermark by @zwang28 in https://github.com/risingwavelabs/risingwave/pull/24567 * feat: support `ALTER SECRET OWNER TO` by @Standing-Man in https://github.com/risingwavelabs/risingwave/pull/24548 * fix(stream): refine locality backfill progress by @chenzl25 in https://github.com/risingwavelabs/risingwave/pull/24556 * chore: remove trailing whitespace from filenames by @Standing-Man in https://github.com/risingwavelabs/risingwave/pull/24585 * feat(expr): implement gamma/lgamma function by @Standing-Man in https://github.com/risingwavelabs/risingwave/pull/23556 * feat(iceberg): add Google authentication support for Iceberg REST catalog by @tuantran0910 in https://github.com/risingwavelabs/risingwave/pull/24457 * fix(sink): fix snowfalke starrocks redshift executor_id to uuid by @xxhZs in https://github.com/risingwavelabs/risingwave/pull/24213 * fix(iceberg): Iceberg JDBC Catalog using aws assume role for s3 access by @BaudoinWR in https://github.com/risingwavelabs/risingwave/pull/24573 * feat(sink): add intermediate.schema.name for redshift sink by @xxhZs in https://github.com/risingwavelabs/risingwave/pull/24223 * feat(source): allow subset of struct fields for file source of parquet encoding by @wcy-fdu in https://github.com/risingwavelabs/risingwave/pull/24530 * fix(meta): tolerate partial `await_tree` failures by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24587 * chore: avoid unnecessary returning of entities when performing insert and update operations on the metastore by @yezizp2012 in https://github.com/risingwavelabs/risingwave/pull/24557 * fix: remove non-deterministic background enabling for ddl tests by @yezizp2012 in https://github.com/risingwavelabs/risingwave/pull/24588 * feat(meta): allow handling barrier manager request during recovery by @wenym1 in https://github.com/risingwavelabs/risingwave/pull/24592 * fix(meta): support recoverable backfill order control for snapshot backfill by @wenym1 in https://github.com/risingwavelabs/risingwave/pull/24590 * fix: correctly handle vis map in hash dispatcher after noop elimination by @hzxa21 in https://github.com/risingwavelabs/risingwave/pull/24580 * fix: union all will panic because a hidden column by @yihong0618 in https://github.com/risingwavelabs/risingwave/pull/24448 * chore(deps): Bump async-openai from 0.30.1 to 0.32.3 by @dependabot[bot] in https://github.com/risingwavelabs/risingwave/pull/24430 * ci(license): reduce hawkeye false positive due to implicit merge by @xiangjinwu in https://github.com/risingwavelabs/risingwave/pull/24589 * fix(compute): avoid panic in GetStreamingStats by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24604 * feat(meta): pause time travel vacuum when having snapshot backfilling jobs by @wenym1 in https://github.com/risingwavelabs/risingwave/pull/24602 * refactor(config): ser/de `None` value as empty string by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/23931 * feat: add adaptive parallelism strategies for streaming jobs by @shanicky in https://github.com/risingwavelabs/risingwave/pull/24250 * chore(deps): Bump jsonwebtoken from 10.2.0 to 10.3.0 by @dependabot[bot] in https://github.com/risingwavelabs/risingwave/pull/24619 * fix(frontend): increase default query log truncate len from 1024 to 65536 by @chenzl25 in https://github.com/risingwavelabs/risingwave/pull/24622 * refactor: refactor iceberg compaction trigger condition and fix snapshot count by @Li0k in https://github.com/risingwavelabs/risingwave/pull/24594 * feat: introduce force resume backfill node/job interface in risectl by @yezizp2012 in https://github.com/risingwavelabs/risingwave/pull/24551 * chore: more robust postgres geometry type test by @wcy-fdu in https://github.com/risingwavelabs/risingwave/pull/24595 * feat(metric): add relation type to relation infos by @yezizp2012 in https://github.com/risingwavelabs/risingwave/pull/24625 * feat(meta): add conifguration option and improve observability for time travel. by @zwang28 in https://github.com/risingwavelabs/risingwave/pull/24626 * feat(iceberg): enforce merge-on-read for append-only tables by @Copilot in https://github.com/risingwavelabs/risingwave/pull/24487 * feat(grafana): add overview tables for relation time breakdowns by @kwannoel in https://github.com/risingwavelabs/risingwave/pull/24544 * fix(ci): replace legacy codecov uploader with new cli by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24593 * fix(optimizer): avoid panic rewriting streaming limit on empty schema by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24631 * fix(session): require explicit unit when setting `statement_timeout` by @xiangjinwu in https://github.com/risingwavelabs/risingwave/pull/24633 * fix: ensure creating job info is cleaned after creation or cancellation by @yezizp2012 in https://github.com/risingwavelabs/risingwave/pull/24609 * fix(metrics): fix sink commit metrics time unit by @wcy-fdu in https://github.com/risingwavelabs/risingwave/pull/24632 * feat(storage): periodically rebuild snapshot iter stream by @wenym1 in https://github.com/risingwavelabs/risingwave/pull/24608 * refactor(sink): Flush pending epochs when sink schema change by @Chiro11 in https://github.com/risingwavelabs/risingwave/pull/24277 * feat: enable snapshot backfill by default by @wenym1 in https://github.com/risingwavelabs/risingwave/pull/24116 * fix(source): pad NULL on type mismatch by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24607 * perf: avoid fetching stream nodes in system catalogs by @yezizp2012 in https://github.com/risingwavelabs/risingwave/pull/24641 * feat(meta): render after reload runtime info and isolate database render failure by @wenym1 in https://github.com/risingwavelabs/risingwave/pull/24637 * fix: invalid iceberg scan statistic in datafusion by @silver-ymz in https://github.com/risingwavelabs/risingwave/pull/24650 * fix: Java Integration test cannot allocate memory in static TLS block by @tabVersion in https://github.com/risingwavelabs/risingwave/pull/24652 * fix: remove adjacent update check by @chenzl25 in https://github.com/risingwavelabs/risingwave/pull/24645 * fix: role check for admin database access by @cnsky1103 in https://github.com/risingwavelabs/risingwave/pull/24383 * feat(metrics): add backfill metadata metrics by @kwannoel in https://github.com/risingwavelabs/risingwave/pull/24576 * feat(iceberg): support iceberg v3 delete vector (read and write) by @chenzl25 in https://github.com/risingwavelabs/risingwave/pull/24470 * chore: chore works for release-2.8 by @wenym1 in https://github.com/risingwavelabs/risingwave/pull/24653 * fix(stream): fix eliminate no op by @chenzl25 in https://github.com/risingwavelabs/risingwave/pull/24659 * refactor(meta): do not persist backfill order of locality provider by @wenym1 in https://github.com/risingwavelabs/risingwave/pull/24661 * feat: mapping more datafusion native functions by @silver-ymz in https://github.com/risingwavelabs/risingwave/pull/24638 * fix: extract `ProfileServiceImpl` to `heap_profile` crate to avoid jemalloc TLS in JNI by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24658 * fix(ci): avoid shaded gRPC classpath conflict in connector test by @BugenZhao in https://github.com/risingwavelabs/risingwave/pull/24623 * feat(sink): support copy into wihout barrier for redshift by @xxhZs in https://github.com/risingwavelabs/risingwave/pull/23086 * feat: iceberg cleanup expired files by @Li0k in https://github.com/risingwavelabs/risingwave/pull/24660 * chore: update version to v2.8.0-rc.1 by @cyliu0 in https://github.com/risingwavelabs/risingwave/pull/24725 * fix(snapshot-backfill): fix deadlock caused by next_epoch (#24693) by @risingwave-ci in https://github.com/risingwavelabs/risingwave/pull/24738 * feat(frontend): support enable_serverless_backfill (#24686) by @risingwave-ci in https://github.com/risingwavelabs/risingwave/pull/24747 * feat(optimizer): improve locality backfill for agg (#24710) by @risingwave-ci in https://github.com/risingwavelabs/risingwave/pull/24779 * feat: add a config to control whether state table vnode prunning is enabled (#24703) by @risingwave-ci in https://github.com/risingwavelabs/risingwave/pull/24799 * feat(refill): support meta cache refill concurrency limit (#24787) by @risingwave-ci in https://github.com/risingwavelabs/risingwave/pull/24789 * feat(connector): add configurable write-parquet-properties for Iceberg sink and compaction (#24612) by @risingwave-ci in https://github.com/risingwavelabs/risingwave/pull/24862 * fix(optimizer): move locality enforcement to logical_rewrite_for_stream (#24850) by @risingwave-ci in https://github.com/risingwavelabs/risingwave/pull/24874 * fix(iceberg): fix staging pk in iceberg refreshable table (#24872) by @risingwave-ci in https://github.com/risingwavelabs/risingwave/pull/24876 * fix(iceberg): upgrade iceberg dependencies (#24873) by @risingwave-ci in https://github.com/risingwavelabs/risingwave/pull/24879 * feat(license): maintain rwu limit check for single-node deployments (#24796) by @risingwave-ci in https://github.com/risingwavelabs/risingwave/pull/24845 * feat(sink): support alter jdbc sink url , username and password (#24846) by @risingwave-ci in https://github.com/risingwavelabs/risingwave/pull/24865 * fix(meta): fix compaction group merge scheduling efficiency (#24757) by @risingwave-ci in https://github.com/risingwavelabs/risingwave/pull/24803 * refactor: improve compaction schedule (#24733) by @risingwave-ci in https://github.com/risingwavelabs/risingwave/pull/24807 * feat: jdbc sink alter-on-fly fields (#24846) (#24861) by @tabVersion in https://github.com/risingwavelabs/risingwave/pull/24884 * fix(iceberg): fix flaky test t-refresh-composite-pk (#24888) by @risingwave-ci in https://github.com/risingwavelabs/risingwave/pull/24892 * fix: update broken documentation URLs (#24897) by @risingwave-ci in https://github.com/risingwavelabs/risingwave/pull/24902 * feat(sink): add keeplive with option for pg rust sink and jdbc sink (#24388) by @risingwave-ci in https://github.com/risingwavelabs/risingwave/pull/24905 * fix(storage): fix last_serde for NonPkPrefixSkipWatermarkState and ValueSkipWatermarkState (#24890) by @risingwave-ci in https://github.com/risingwavelabs/risingwave/pull/24894 * fix(meta): fence drop vs split updates and skip stale fragment splits (#24887) by @risingwave-ci in https://github.com/risingwavelabs/risingwave/pull/24910 * chore: update version to v2.8.0 by @cyliu0 in https://github.com/risingwavelabs/risingwave/pull/24916 ## New Contributors * @cnsky1103 made their first contribution in https://github.com/risingwavelabs/risingwave/pull/24109 * @tuantran0910 made their first contribution in https://github.com/risingwavelabs/risingwave/pull/24457 * @BaudoinWR made their first contribution in https://github.com/risingwavelabs/risingwave/pull/24573 **Full Changelog**: https://github.com/risingwavelabs/risingwave/compare/v2.7.2...v2.8.0
release v2.7.2
release v2.7.0 ### **SQL features** - SQL commands: - Supports vector index Top-N lookups in streaming queries, enabling MVs and sinks to enrich each row with nearest-neighbor results. https://github.com/risingwavelabs/risingwave/pull/23288 - Supports `ALTER FRAGMENT ... SET PARALLELISM` command to alter the parallelism of streaming fragments. https://github.com/risingwavelabs/risingwave/pull/23523 - Reduces reserved keywords in `EXPLAIN` options (e.g., `BACKFILL`, `TRACE`) by parsing them as identifiers.https://github.com/risingwavelabs/risingwave/pull/23208 - Adds schema name to `name` column in the output of `SHOW [TABLE|VIEW|SOURCE|SINK|...]` commands. https://github.com/risingwavelabs/risingwave/pull/23119 - When `DROP`/`CANCEL` takes longer than `slow_ddl_notification_secs` (30s), you can run `RECOVER` for immediate effect. https://github.com/risingwavelabs/risingwave/pull/23613 - Supports `ALTER TABLE ... ADD COLUMN` command on tables with incoming sinks.https://github.com/risingwavelabs/risingwave/pull/23766 - Supports querying vector index in append-only streaming. https://github.com/risingwavelabs/risingwave/pull/23288 - SQL functions & operators: - Supports parsing `STRUCT< >` as empty struct type. https://github.com/risingwavelabs/risingwave/pull/23099 - Supports `rw_cluster_id()` function to return the cluster's unique identifier as a `VARCHAR`. https://github.com/risingwavelabs/risingwave/pull/23260 - System catalog: - Adds system catalog `rw_recovery_info` to display the database-level recovery state. https://github.com/risingwavelabs/risingwave/pull/23728 - Adds column `parallelism_policy` in system catalog `rw_fragments`. https://github.com/risingwavelabs/risingwave/pull/23524 ### **Connectors** - **Breaking change:** When decoding Protobuf messages, RisingWave returns `NULL` for missing `optional` fields and default values for all other fields. https://github.com/risingwavelabs/risingwave/pull/23120 - Supports using `CREATE SOURCE` directly for UPSERT-format sources requiring a primary key, without creating a table first. https://github.com/risingwavelabs/risingwave/pull/22856 - File sink now uses UUIDs instead of `executor_id` in output file names. https://github.com/risingwavelabs/risingwave/pull/23981 - Supports on-demand manual refresh for Iceberg batch tables with position deletes and equity deletes. https://github.com/risingwavelabs/risingwave/pull/23527 - **Technical preview**: Supports periodic automatic refresh for batch tables with persistent state tracking and improved observability. https://github.com/risingwavelabs/risingwave/pull/23737 - **Technical preview**: Supports files-with-delete Iceberg compaction and introduces additional compaction parameters. https://github.com/risingwavelabs/risingwave/pull/23660, https://github.com/risingwavelabs/risingwave/pull/23809 - Supports Azure Data Lake Storage Gen2 for Iceberg sink when using REST catalog. https://github.com/risingwavelabs/risingwave/pull/23350 - Supports configuring S3 and Glue with independent credentials for Iceberg connector when using Glue catalog. https://github.com/risingwavelabs/risingwave/pull/23775 - Support assuming IAM roles for S3 and Glue when `enable_config_load` is enabled for Iceberg connector when using Glue catalog. https://github.com/risingwavelabs/risingwave/pull/23788 - Supports key-pair authentication using RSA private keys for Snowflake sink. https://github.com/risingwavelabs/risingwave/pull/23525 - Supports JDBC sink connector for SQL Server. https://github.com/risingwavelabs/risingwave/pull/23416 - Changes the default value of `commit_checkpoint_interval` from 10 to 60 for Iceberg sink. https://github.com/risingwavelabs/risingwave/pull/23552 - Supports `is_exactly_once` for Iceberg sink by default. https://github.com/risingwavelabs/risingwave/pull/23553 - Supports vended credentials for Iceberg connector when using REST catalog. https://github.com/risingwavelabs/risingwave/pull/23567 - Supports configuring `postgres.is.aws.rds` to specify if the upstream PostgreSQL is hosted on AWS RDS. https://github.com/risingwavelabs/risingwave/pull/23420 - Supports using Base64-encoded JSON strings for BigQuery credentials. https://github.com/risingwavelabs/risingwave/pull/23100 - Supports TLS connections to Redis sink using `rediss://` protocol. https://github.com/risingwavelabs/risingwave/pull/23223 - Supports Redis Streams for Redis sink. https://github.com/risingwavelabs/risingwave/pull/23412 - Supports `COPY (<query>) TO STDOUT` syntax to load data from PostgreSQL tables. https://github.com/risingwavelabs/risingwave/pull/23198 - Supports ack for Pulsar source, enabling control over broker resending of unacknowledged messages. https://github.com/risingwavelabs/risingwave/pull/22158 - Supports `force_compaction` on sinks to enable buffering and compaction of updates when the stream key is the same as the primary key. https://github.com/risingwavelabs/risingwave/pull/23681 ### **Installation and deployment** - Counts the CPU cores of all nodes (instead of only compute nodes) in the cluster against the `cpu_core_limit` specified in the license key. https://github.com/risingwavelabs/risingwave/pull/23390 - Changes `cpu_core_limit` in the license key to `rwu_limit` to limit both CPU cores and total cluster memory. https://github.com/risingwavelabs/risingwave/pull/23403 - **Breaking change**: Requires the correct `aud` claim for authentication. https://github.com/risingwavelabs/risingwave/pull/23155 - Supports LDAP authentication to verify users against an external LDAP directory server. https://github.com/risingwavelabs/risingwave/pull/23150 ### **Cluster configuration changes** - Adds session variable `enable_index_selection` to control whether to enable index selection for both streaming and batch queries. https://github.com/risingwavelabs/risingwave/pull/23092 - **Technical preview**: Adds session variable `enable_locality_backfill` to control locality backfilling, which extends index-based optimizations to the entire backfill pipeline. https://github.com/risingwavelabs/risingwave/pull/23275 - Adds configuration option `RW_SSL_ENFORCE` to control SSL enforcement for security. https://github.com/risingwavelabs/risingwave/pull/23306 ### Assets - Run this version from Docker: `docker run -it --pull=always -p 4566:4566 -p 5691:5691 risingwavelabs/risingwave:v2.7.0-standalone single_node` - [Prebuilt all-in-one library for Linux](https://github.com/risingwavelabs/risingwave/releases/download/v2.7.0/risingwave-v2.7.0-x86_64-unknown-linux-all-in-one.tar.gz) - [Source code (zip)](https://github.com/risingwavelabs/risingwave/archive/refs/tags/v2.7.0.zip) - [Source code (tar.gz)](https://github.com/risingwavelabs/risingwave/archive/refs/tags/v2.7.0.tar.gz) - [risectl - a CLI tool for managing and accessing RisingWave clusters](https://github.com/risingwavelabs/risingwave/releases/download/v2.7.0/risectl-v2.7.0-x86_64-unknown-linux.tar.gz)
release v2.5.3
release v2.6.1
release v2.6.0 ### **SQL features** - SQL commands: - `ALTER SOURCE` supports `CONNECTOR WITH` clause. https://github.com/risingwavelabs/risingwave/pull/20780 - `CREATE SINK` supports `auto.schema.change` option for Elasticsearch, Redshift, and Snowflake. https://github.com/risingwavelabs/risingwave/pull/22611 - `DROP CONNECTION` supports `CASCADE` option to automatically drop dependent objects, except for Iceberg connections. https://github.com/risingwavelabs/risingwave/pull/22557 - `DROP FUNCTION` supports `CASCADE` option to automatically remove dependent objects. https://github.com/risingwavelabs/risingwave/pull/22991 - Support using multiple version columns to resolve upsert conflicts. https://github.com/risingwavelabs/risingwave/pull/22931 - Support using `CREATE INDEX` to create vector indexes. ‣ - SQL functions & operators: - Support new data type `vector(n)`. https://github.com/risingwavelabs/risingwave/pull/22019 - ~~. https://github.com/risingwavelabs/risingwave/pull/22390~~ - Supports `jsonb_to_array` function to convert a JSONB array into a SQL array of JSONB elements. https://github.com/risingwavelabs/risingwave/pull/22777 - `openai_embedding` accepts a single constant JSONB `config` parameter instead of separate `api_key` and `model` arguments. https://github.com/risingwavelabs/risingwave/pull/22960 - Supports `arg_min` and `arg_max` aggregate functions. ‣ - System catalog: - Adds system function `has_database_privilege`. https://github.com/risingwavelabs/risingwave/pull/22576 ### **Connectors** - **Public preview:** Iceberg table engine supports `copy-on-write` write mode for enhanced compaction. https://github.com/risingwavelabs/risingwave/pull/22713 - Iceberg table engine and Iceberg sink support `VACUUM [FULL] schema_name.object_name` syntax. https://github.com/risingwavelabs/risingwave/pull/22942 - NATS connector no longer creates stream automatically unless new option `allow_create_stream` is explicitly set to `true` . https://github.com/risingwavelabs/risingwave/pull/22315 - Kafka source supports altering `group.id.prefix` parameter at runtime. https://github.com/risingwavelabs/risingwave/pull/22492 - For Kafka source, when querying with a timestamp beyond the latest message, it starts from the latest offset instead of resetting to the earliest. https://github.com/risingwavelabs/risingwave/pull/22413 - MQTT source supports multiple comma-separated topics. https://github.com/risingwavelabs/risingwave/pull/22074 - Postgres CDC supports parallelized CDC backfill. https://github.com/risingwavelabs/risingwave/pull/22536 - For PostgreSQL CDC, if you’ve already created a publication, fewer permissions are required. https://github.com/risingwavelabs/risingwave/pull/22807 - Supports TOASTed data from PostgreSQL when using the CDC connector. https://github.com/risingwavelabs/risingwave/pull/22852 ### **Installation and deployment** - Supports deploying lakekeeper as an Iceberg REST catalog via Docker compose or Kubernetes. ‣ - Supports using HashiCorp Vault as secret backend with Token or AppRole authentication methods. https://github.com/risingwavelabs/risingwave/pull/22627 ### **Cluster configuration changes** - Supports Memory-Only Mode for faster, low-latency queries by fully loading operator states into memory. You can configure it at the operator level to balance performance and memory usage. https://github.com/risingwavelabs/risingwave/pull/22857 - Adds session variable `streaming_separate_consecutive_join` to separate consecutive stream joins to improve performance. https://github.com/risingwavelabs/risingwave/pull/22259 - Adds session variable `streaming_join_encoding` ****to switch join encoding type. https://github.com/risingwavelabs/risingwave/pull/22416 - Adds session variable `streaming_separate_sink` to separate sink. https://github.com/risingwavelabs/risingwave/pull/22827 - Adds `protect_drop_table_with_incoming_sink` to block table drops if incoming sinks exist. https://github.com/risingwavelabs/risingwave/pull/22347 - Adds `streaming_now_progress_ratio` to decouple `now_timestamp` from `epoch_timestamp`. https://github.com/risingwavelabs/risingwave/pull/22487 ### Access control list (ACL) - Adds a new superuser `rwadmin` for the Cloud control plane. https://github.com/risingwavelabs/risingwave/pull/22327 ### Assets - Run this version from Docker: `docker run -it --pull=always -p 4566:4566 -p 5691:5691 risingwavelabs/risingwave:v2.6.0 standalone` - [Prebuilt all-in-one library for Linux](https://github.com/risingwavelabs/risingwave/releases/download/v2.6.0/risingwave-v2.6.0-x86_64-unknown-linux-all-in-one.tar.gz) - [Source code (zip)](https://github.com/risingwavelabs/risingwave/archive/refs/tags/v2.6.0.zip) - [Source code (tar.gz)](https://github.com/risingwavelabs/risingwave/archive/refs/tags/v2.6.0.tar.gz) - [risectl - a CLI tool for managing and accessing RisingWave clusters](https://github.com/risingwavelabs/risingwave/releases/download/v2.6.0/risectl-v2.6.0-x86_64-unknown-linux.tar.gz)
release v2.6.0-rc.1
release v2.5.0 ### **SQL features** - SQL commands: - Supports `ALTER DEFAULT PRIVILEGES` command to set privileges for objects created in the future. https://github.com/risingwavelabs/risingwave/pull/22191 - The `public` schema is now managed by `GRANT` / `REVOKE` command. New non-super users should first be granted privileges before creating objects. https://github.com/risingwavelabs/risingwave/pull/20201 - Technical Preview: Adds option `backfill_order` to define the ingestion order of streams during backfill in case of join amplification. https://github.com/risingwavelabs/risingwave/pull/20967 - Supports `ALTER COLUMN TYPE` syntax in `ALTER TABLE` to change the data type of struct columns. Changing between primitive types (e.g., `int` → `bigint`) is not supported. https://github.com/risingwavelabs/risingwave/pull/20940 - `SHOW PROCESSLIST` now displays queries from all serving nodes, making it easier to troubleshoot distributed queries. https://github.com/risingwavelabs/risingwave/pull/21952 - Supports `CONNECTOR WITH` clause for `ALTER SINK` command. https://github.com/risingwavelabs/risingwave/pull/20691 - Supports per-database configuration for `barrier_interval_ms` and `checkpoint_frequency`. https://github.com/risingwavelabs/risingwave/pull/22178 - SQL functions & operators: - **Technical preview:** Supports `approx_count_distinct` to estimate the number of distinct values. https://github.com/risingwavelabs/risingwave/pull/21516, https://github.com/risingwavelabs/risingwave/pull/21545 - Supports `array_flatten` to flatten an array of arrays. https://github.com/risingwavelabs/risingwave/pull/21640 - Supports `openai_embedding` function to generate embeddings. https://github.com/risingwavelabs/risingwave/pull/22242 - Supports `WINDOW` clause and window function over named window. https://github.com/risingwavelabs/risingwave/pull/22024 - Technical Preview: Supports `map_filter` function to filter map data. https://github.com/risingwavelabs/risingwave/pull/22077 - Supports the concatenation operator (`||`), position, and overlay functions for `bytea` data type. https://github.com/risingwavelabs/risingwave/pull/22076 - System catalog: - Adds system catalog `rw_fragment_backfill_progress` to track the progress of each backfill partition. https://github.com/risingwavelabs/risingwave/pull/22124 ### **Connectors** - Supports Iceberg compaction for Iceberg table engine. https://github.com/risingwavelabs/risingwave/pull/22043 - Supports `hosted_catalog=true` to enable RisingWave-managed SQL catalog in Iceberg table engine. https://github.com/risingwavelabs/risingwave/pull/21351 - Supports `enable_config_load` for Iceberg sink, source, connection, and Iceberg table engine. https://github.com/risingwavelabs/risingwave/pull/21938 - Supports `partition_by` for Iceberg table engine as the Iceberg sink. https://github.com/risingwavelabs/risingwave/pull/21594 - Technical Preview: Webhook source supports receiving batches of updates at once. https://github.com/risingwavelabs/risingwave/pull/22075 - Technical Preview: Supports `sink_decouple` for creating sink into table. https://github.com/risingwavelabs/risingwave/pull/21784 - Supports using `ALTER SINK ... CONNECTOR WITH` to update connector-specific properties without recreating the sink. https://github.com/risingwavelabs/risingwave/pull/20691 - **Breaking change**: Adds escape syntax and usage instructions for the TEMPLATE encoding format. https://github.com/risingwavelabs/risingwave/pull/21431 ### **Installation and deployment** ### **Cluster configuration changes** - Adds session variable `streaming_separate_consecutive_join` to separate consecutive stream joins to improve performance. https://github.com/risingwavelabs/risingwave/pull/22259 - Technical Preview: Adds session variable `streaming_enable_unaligned_join` to control whether the streaming joins should be unaligned. https://github.com/risingwavelabs/risingwave/pull/20386 ### Assets - Run this version from Docker: `docker run -it --pull=always -p 4566:4566 -p 5691:5691 risingwavelabs/risingwave:v2.5.0 standalone` - [Prebuilt all-in-one library for Linux](https://github.com/risingwavelabs/risingwave/releases/download/v2.5.0/risingwave-v2.5.0-x86_64-unknown-linux-all-in-one.tar.gz) - [Source code (zip)](https://github.com/risingwavelabs/risingwave/archive/refs/tags/v2.5.0.zip) - [Source code (tar.gz)](https://github.com/risingwavelabs/risingwave/archive/refs/tags/v2.5.0.tar.gz) - [risectl - a CLI tool for managing and accessing RisingWave clusters](https://github.com/risingwavelabs/risingwave/releases/download/v2.5.0/risectl-v2.5.0-x86_64-unknown-linux.tar.gz)