Skip to main content

v0.13.0

Β· 5 min read

Release date: March 14, 2025

πŸ‘ Highlights​

  • Introduced roaring bitmap to optimize sparse value scenarios
  • Added support for IP-related functions
  • Enhanced PromQL with support for quantile and count_values functions
  • Added support for exporting data to S3

Breaking changes​

πŸš€ Features​

πŸ› Fixes​

🚜 Refactor​

πŸ“š Documentation​

⚑ Performance​

βš™οΈ Miscellaneous Tasks​

CI​

Build​

New Contributors​

All Contributors​

We would like to thank the following contributors from the GreptimeDB community:

@AntiTopQuark, @CookiePieWw, @MichaelScofield, @WenyXu, @ZonaHex, @daviderli614, @discord9, @evenyag, @fengjiachun, @killme2008, @linyihai, @paomian, @shuiyisong, @sunng87, @v0y4g3r, @waynexia, @xiaoniaoyouhuajiang, @yihong0618, @zhongzc

Full Changelog: https://github.com/GreptimeTeam/greptimedb/compare/v0.12.0...v0.13.0

v0.12.0

Β· 9 min read

Release date: February 27, 2025

πŸ‘ Highlights​

  • Added PromQL subquery support, series count metrics, and new functions like sort and sort_desc.
  • Introduced Jaeger Query API
  • Improved performance for last_non_null (10x faster) merge mode.
  • Optimized metric table creation, deletion and alteration speeds (100x faster).
  • Introduced new functions like vec_add, hll_state, and uddsketch for advanced analytics.
  • Fixed PromQL-related issues, including unescaped matcher values and incorrect behavior for non-existent columns.

Breaking changes​

πŸš€ Features​

  • feat: Address different Metrics for Prometheus queries in the Dashboard and fix typo in metric name by @Stephan3555 in #5441
  • feat(metric-engine): support to write rows with sparse primary key encoding by @WenyXu in #5424
  • feat: add CORS headers for http interfaces by @sunng87 in #5447
  • feat: mirror insert request to flownode in async by @waynexia in #5444
  • feat: expose http endpoint for flownode and metasrv by @waynexia in #5437
  • feat: provide options to disable or customize http cross-origin settings by @sunng87 in #5450
  • feat(cli): add proxy options by @discord9 in #5459
  • feat: add vec_add function by @zhongzc in #5471
  • feat: write memtable in parallel by @waynexia in #5456
  • feat: update topic-region map when create and drop table by @CookiePieWw in #5423
  • feat: move pipelines to the first-class endpoint by @waynexia in #5480
  • feat: pipeline dispatcher part 2: execution by @sunng87 in #5409
  • feat: add metadata method to puffin reader by @zhongzc in #5501
  • feat: update dashboard to v0.7.9 by @ZonaHex in #5508
  • feat: change puffin stager eviction policy by @zhongzc in #5511
  • feat: update dashboard to v0.7.10-rc by @ZonaHex in #5512
  • feat: support server-side keep-alive for mysql and pg protocols by @waynexia in #5496
  • feat: implement Jaeger query APIs by @zyy17 in #5452
  • feat: alias database matcher for promql by @sunng87 in #5522
  • feat: speed up read/write cache and stager eviction by @evenyag in #5531
  • feat: window sort supports where on fields and time index by @evenyag in #5527
  • feat: add stager nofitier to collect metrics by @zhongzc in #5530
  • feat(promql): add series count metrics by @waynexia in #5534
  • feat: add snapshot seqs field to query context by @discord9 in #5477
  • feat: drop noneffective regex filter by @waynexia in #5544
  • feat(log-query): support specifying exclusive/inclusive for between filter by @waynexia in #5546
  • feat: collect stager metrics by @evenyag in #5553
  • feat: update dashboard to v0.7.10 by @ZonaHex in #5562
  • feat: allow purging a given puffin file in staging area by @zhongzc in #5558
  • feat(promql): supports sort, sort_desc etc. functions by @killme2008 in #5542
  • feat(log-query): implement the first part of log query expr by @waynexia in #5548
  • feat: submit node's cpu cores number to metasrv in heartbeat by @MichaelScofield in #5571
  • feat: flow type on creating procedure by @fengjiachun in #5572
  • feat: remap flow route address by @fengjiachun in #5565
  • feat: enable gzip for prometheus query handlers and ignore NaN values in prometheus response by @WenyXu in #5576
  • feat: implement uddsketch function to calculate percentile by @waynexia in #5574
  • feat: support UNNEST by @waynexia in #5580
  • feat: support to generate json output for explain analyze in http api by @waynexia in #5567
  • feat: run sqlness in parallel by @waynexia in #5499
  • feat: unify puffin name passed to stager by @zhongzc in #5564
  • feat: remove default inverted index for physical table by @waynexia in #5583
  • feat: impl hll_state, hll_merge and hll_calc for incremental distinct counting by @waynexia in #5579
  • feat: update dashboard to v0.7.11 by @ZonaHex in #5597
  • feat(promql): ignore invalid input in histogram plan by @waynexia in #5607
  • feat(promql): implement subquery by @waynexia in #5606
  • feat: introduce prom_round fn by @WenyXu in #5604
  • feat(promql-planner): introduce vector matching binary operation by @WenyXu in #5578

πŸ› Bug Fixes​

  • fix: unexpected warning on applying bloom by @zhongzc in #5431
  • fix: arm actions test failed by @yihong0618 in #5433
  • fix: install x86-64 protoc on android dev-builder by @zyy17 in #5443
  • fix: drop unused numpy code since pyo3 rustpython do not support any more by @yihong0618 in #5442
  • fix: flush table panic when table has interval column close #3235 by @yihong0618 in #5422
  • fix: remove metric engine's internal column from promql's query by @waynexia in #5032
  • fix: better error handler for the time range close #5449 by @yihong0618 in #5453
  • fix: no need for special case since datafusion updated by @yihong0618 in #5458
  • fix: don't transform Limit in TypeConversionRule, StringNormalizationRule and DistPlannerAnalyzer by @evenyag in #5472
  • fix: introduce gc task for metadata store by @WenyXu in #5461
  • fix: lose decimal precision when using decimal type as tag by @evenyag in #5481
  • fix: Delete statement not supported in metric engine close #4649 by @yihong0618 in #5473
  • fix: unquote flow_name in create flow expr by @discord9 in #5483
  • fix: force recycle region dir after gc duration by @evenyag in #5485
  • fix: cross compiling for aarch64 targets and allow customizing page size by @v0y4g3r in #5487
  • fix: close issue #5466 by do not shortcut the drop command by @yihong0618 in #5467
  • fix: refactor pgkv using prepare_cache about 10% better by @yihong0618 in #5497
  • fix: drop useless clone and for loop second by @yihong0618 in #5507
  • fix: use fixed tonistiigi/binfmt:qemu-v7.0.0-28 image version instead of latest version to avoid segmentation fault by @zyy17 in #5516
  • fix(query_range): skip data field on errors by @WenyXu in #5520
  • fix(promql): unescape matcher values by @WenyXu in #5521
  • fix: old typo by @waynexia in #5532
  • fix(jaeger): return error when no tracing table by @zyy17 in #5539
  • fix(promql): ignore filters for non-existent labels by @WenyXu in #5519
  • fix: promql join operation won't consider time index by @waynexia in #5535
  • fix: information_schema.cluster_info be covered by the same id by @fengjiachun in #5555
  • fix: correct promql behavior on nonexistent columns by @waynexia in #5547
  • fix: window sort support alias time index by @evenyag in #5543
  • fix(promql-planner): remove le tag in ctx by @WenyXu in #5560
  • fix(promql-planner): correct AND/UNLESS operator behavior by @WenyXu in #5557
  • fix(promql-planner): update ctx field columns of OR operator by @WenyXu in #5556
  • fix: broken link in AUTHOR.md by @waynexia in #5581
  • fix: avoid run labeler job concurrently by @waynexia in #5584
  • fix: correct inverted_indexed_column_ids behavior by @WenyXu in #5586
  • fix: remove cached and uploaded files on failure by @evenyag in #5590
  • fix: update show create table output for fulltext index by @evenyag in #5591
  • fix: all heartbeat channel need to check leader by @fengjiachun in #5593
  • fix(metasrv): reject ddl when metasrv is follower by @v0y4g3r in #5599
  • fix(prom): preserve the order of series in PromQueryResult by @WenyXu in #5601
  • fix: flow heartbeat retry by @discord9 in #5600
  • fix(metasrv): clean expired nodes in memory by @v0y4g3r in #5592

🚜 Refactor​

  • refactor(mito): Allow creating multiple files in ParquetWriter by @v0y4g3r in #5291
  • refactor: pull column filling logic out of mito worker loop by @waynexia in #5455
  • refactor: otlp logs insertion by @shuiyisong in #5479
  • refactor: change traversal order during index construction by @zhongzc in #5498
  • refactor: refactor region server request handling by @WenyXu in #5504
  • refactor: refactor pg kvbackend impl in preparation for other rds kvbackend by @CookiePieWw in #5494
  • refactor: use global type alias for pipeline input by @sunng87 in #5568

πŸ“š Documentation​

⚑ Performance​

  • perf: optimize writing non-null primitive value by @waynexia in #5460
  • perf: optimize time series memtable ingestion by @waynexia in #5451
  • perf: better performance for LastNonNullIter close #5229 about 10x times faster by @yihong0618 in #5518
  • perf: optimize table creation speed in metric engine by @WenyXu in #5503
  • perf: optimize table alteration speed in metric engine by @WenyXu in #5526
  • perf: close issue 4974 by do not delete columns when drop logical region about 100 times faster by @yihong0618 in #5561

βš™οΈ Miscellaneous Tasks​

Build​

New Contributors​

All Contributors​

We would like to thank the following contributors from the GreptimeDB community:

@CookiePieWw, @MichaelScofield, @Stephan3555, @WenyXu, @ZonaHex, @beryl678, @daviderli614, @discord9, @evenyag, @fengjiachun, @killme2008, @ozewr, @paomian, @shuiyisong, @sunng87, @v0y4g3r, @waynexia, @yihong0618, @zhongzc, @zyy17

v0.11.3

Β· 2 min read

Release date: January 24, 2025

This version fixes the following issues:

  • Panics when processing matches() or invalid queries.
  • Altering compaction time window doesn't take effect.

πŸš€ Features​

  • feat: set default compaction parallelism by @waynexia in #5371
  • feat: overwrites inferred compaction window by region options by @evenyag in #5396

πŸ› Bug Fixes​

🚜 Refactor​

βš™οΈ Miscellaneous Tasks​

  • ci: disable docker/rust cache temporarily and merge docker compose files by @sunng87 in #5293
  • ci: do not trigger tests when there is a merge conflict by @sunng87 in #5318
  • ci: use mold for tests by @sunng87 in #5319
  • ci: disable cache for some tasks, create cache in nightly build by @sunng87 in #5324
  • ci: do not collect coverage from pull request any more by @sunng87 in #5364
  • ci: automatically bump doc version when release GreptimeDB by @nicecui in #5343
  • ci: use arm builders for tests by @sunng87 in #5395
  • ci: revert coverage runner by @sunng87 in #5403

All Contributors​

We would like to thank the following contributors from the GreptimeDB community:

@MichaelScofield, @discord9, @evenyag, @nicecui, @sunng87, @v0y4g3r, @waynexia, @zhongzc

v0.11.1

Β· 4 min read

Release date: December 21, 2024

πŸ‘ Highlights​

  • Supports label_join() and label_replace() for PromQL.
  • Supports pushing down IN filters.
  • Updates dashboard to v0.7.3

πŸš€ Features​

  • feat: adjust WAL purge default configurations by @killme2008 in #5107
  • feat(vector): add scalar add function by @zhongzc in #5119
  • feat: update dashboard to v0.7.2 by @ZonaHex in #5141
  • feat: implement v1/sql/parse endpoint to parse GreptimeDB's SQL dialect by @waynexia in #5144
  • feat: support push down IN filter by @NiwakaDev in #5129
  • feat: add prefetch support to PuffinFileFooterReader for reduced I/O time by @WenyXu in #5145
  • feat: add prefetch support to InvertedIndexFooterReader for reduced I/O time by @WenyXu in #5146
  • feat: introduce PuffinMetadataCache by @WenyXu in #5148
  • feat(fuzz): add alter table options for alter fuzzer by @CookiePieWw in #5074
  • feat(index): add file_size_hint for remote blob reader by @WenyXu in #5147
  • feat: collect reader metrics from prune reader by @evenyag in #5152
  • feat: Add vector_scalar_mul function. by @linyihai in #5166
  • feat: introduce SKIPPING index (part 1) by @waynexia in #5155
  • feat: update dashboard to v0.7.3 by @ZonaHex in #5172
  • feat(bloom-filter): add basic bloom filter creator (Part 1) by @zhongzc in #5177
  • feat: introduce Buffer for non-continuous bytes by @CookiePieWw in #5164
  • feat: impl label_join and label_replace for promql by @killme2008 in #5153
  • feat: do not keep MemtableRefs in ScanInput by @evenyag in #5184
  • feat: do not remove time filters in ScanRegion by @evenyag in #5180
  • feat: extract hints from http header by @fengjiachun in #5128
  • feat: show create postgresql foreign table by @sunng87 in #5143
  • feat: show flow's mem usage in INFORMATION_SCHEMA.FLOWS by @discord9 in #4890

πŸ› Bug Fixes​

  • fix: loki write row len error by @paomian in #5161
  • fix: support alter table ~ add ~ custom_type by @NiwakaDev in #5165
  • fix: correct set_region_role_state_gracefully behaviors by @WenyXu in #5171
  • fix: deletion between two put may not work in last_non_null mode by @evenyag in #5168
  • fix: display inverted and fulltext index in show index by @lyang24 in #5169
  • fix(sqlness): enforce order in union tests by @v0y4g3r in #5190
  • fix: validate matcher op for name in promql by @waynexia in #5191
  • fix: ensure table route metadata is eventually rolled back on failure by @WenyXu in #5174
  • fix(flow): batch builder with type by @discord9 in #5195
  • fix: auto created table ttl check by @discord9 in #5203

🚜 Refactor​

πŸ“š Documentation​

  • docs: Add index panels to standalone grafana dashboard by @evenyag in #5140
  • docs: fix grafana dashboard row by @evenyag in #5192

⚑ Performance​

πŸ§ͺ Testing​

βš™οΈ Miscellaneous Tasks​

All Contributors​

We would like to thank the following contributors from the GreptimeDB community:

@CookiePieWw, @MichaelScofield, @NiwakaDev, @WenyXu, @ZonaHex, @discord9, @evenyag, @fengjiachun, @killme2008, @linyihai, @lyang24, @paomian, @shuiyisong, @sunng87, @v0y4g3r, @waynexia, @zhongzc

v0.11.2

Β· 5 min read

Release date: January 04, 2025

This version fixes the following critical issues:

  • Automatic alteration of the table may lead to inconsistent metadata.
  • Compaction doesn't use files in the local cache.

Notes​

This version modifies the default object storage cache paths:

  • The path for write cache has changed from the default {data_home}/object_cache/write to {data_home}/cache/object/write.
  • The path for read cache has changed from the default {data_home}/object_cache/read to {data_home}/cache/object/read.
  • When configuring write cache and read cache, only the root directory of the cache needs to be specified, which defaults to {data_home}.

We recommend that users no longer manually configure the cache paths after version 0.11, as the database can automatically set appropriate paths.

πŸš€ Features​

  • feat(bloom-filter): add memory control for creator by @zhongzc in #5185
  • feat(bloom-filter): add bloom filter reader by @zhongzc in #5204
  • feat(index-cache): abstract IndexCache to be shared by multi types of indexes by @zhongzc in #5219
  • feat: logs query endpoint by @waynexia in #5202
  • feat(mito): parquet memtable reader by @v0y4g3r in #4967
  • feat(bloom-filter): impl batch push to creator by @zhongzc in #5225
  • feat: introduce the Limiter in frontend to limit the requests by in-flight write bytes size. by @zyy17 in #5231
  • feat: add some critical metrics to flownode by @waynexia in #5235
  • feat(flow): check sink table mismatch on flow creation by @discord9 in #5112
  • feat: Add vec_mul function. by @linyihai in #5205
  • feat(bloom-filter): integrate indexer with mito2 by @zhongzc in #5236
  • feat(bloom-filter): bloom filter applier by @waynexia in #5220
  • feat(config): add bloom filter config by @zhongzc in #5237
  • feat(mito): add bloom filter read metrics by @zhongzc in #5239
  • feat: init PgElection with candidate registration by @CookiePieWw in #5209
  • feat(vector): add vector functions vec_sub & vec_sum & vec_elem_sum by @KKould in #5230
  • feat: add sqlness test for bloom filter index by @waynexia in #5240
  • feat: add vec_div function by @linyihai in #5245
  • feat: update partition duration of memtable using compaction window by @evenyag in #5197
  • feat: override __sequence on creating SST to save space and CPU by @waynexia in #5252
  • feat(log-query): implement pagination with limit and offset parameters by @waynexia in #5241
  • feat: hints all in one by @fengjiachun in #5194
  • feat: support add if not exists in the gRPC alter kind by @evenyag in #5273
  • feat: bump opendal and switch prometheus layer to the upstream impl by @waynexia in #5179

πŸ› Bug Fixes​

🚜 Refactor​

  • refactor: remove unnecessary wrap by @WenyXu in #5221
  • refactor: support to convert time string to timestamp in convert_value() by @zyy17 in #5242
  • refactor: adjust index cache page size by @CookiePieWw in #5267
  • refactor: flow replace check&better error msg by @discord9 in #5277

πŸ“š Documentation​

  • docs: add greptimedb-operator project link in 'Tools & Extensions' and other small improvements by @zyy17 in #5216

βš™οΈ Miscellaneous Tasks​

Build​

New Contributors​

All Contributors​

We would like to thank the following contributors from the GreptimeDB community:

@CookiePieWw, @KKould, @WenyXu, @chenmortal, @discord9, @evenyag, @fengjiachun, @linyihai, @nicecui, @paomian, @shuiyisong, @sunng87, @v0y4g3r, @waynexia, @yihong0618, @zhongzc, @zyy17

v0.11.0

Β· 3 min read

Release date: December 10, 2024

πŸ‘ Highlights​

  • Dashboard supports using a log view to explore logs.
  • Fixes performance regressions in v0.10.
  • Supports tables with TTL=instant as source tables for flow tasks.
  • Supports postgres_fdw to integrate GreptimeDB with existing PostgreSQL databases.

Breaking changes​

  • feat!: remove GET method in /debug path by @waynexia in #5102
  • fix!: fix regression caused by unbalanced partitions and splitting ranges by @evenyag in #5090
  • feat!: enable read cache and write cache when using remote object stores by @killme2008 in #5093

πŸš€ Features​

πŸ› Bug Fixes​

  • fix(metric-engine): set ttl also on opening metadata regions by @v0y4g3r in #5051
  • fix: pass series row selector to file range reader by @evenyag in #5054
  • fix: allow physical region alter region options by @lyang24 in #5046
  • fix(flow): minor fix about count(*)&sink keyword by @discord9 in #5061
  • fix: correct is_exceeded_size_limit behavior for in-memory store by @WenyXu in #5082
  • fix: schema cache invalidation by @v0y4g3r in #5067
  • fix: put PipelineChecker at the end by @waynexia in #5092
  • fix: show create table doesn't quote option keys which contains dot by @killme2008 in #5108

🚜 Refactor​

  • refactor: expose configs for http clients used in object store by @MichaelScofield in #5041
  • refactor: remove built-in apidocs and schemars by @sunng87 in #5068
  • refactor: replace LogHandler with PipelineHandler by @waynexia in #5096
  • refactor: relocate CLI to a dedicated directory by @WenyXu in #5101
  • refactor: extract implicit conversion helper functions of vector type by @zhongzc in #5118

πŸ“š Documentation​

⚑ Performance​

  • perf: take a new batch to reduce last row cache usage by @evenyag in #5095

πŸ§ͺ Testing​

βš™οΈ Miscellaneous Tasks​

All Contributors​

We would like to thank the following contributors from the GreptimeDB community:

@MichaelScofield, @WenyXu, @ZonaHex, @discord9, @evenyag, @killme2008, @linyihai, @lyang24, @sunng87, @v0y4g3r, @waynexia, @zhongzc

v0.10.2

Β· 8 min read

Release date: November 26, 2024

πŸ‘ Highlights​

  • Vector type: GreptimeDB supports vector data types to optimize edge scenarios, such as IoT in vehicles, enabling efficient storage and computation of vector data for real-time perception and AI applications in smart driving.
  • Free index: Inverted indexes are no longer tied to primary keys, allowing users to create them on any column, enhancing query flexibility and efficiency across different scenarios.
  • Alter table options: Enhancements include setting TTL for databases and tables, modifying compaction parameters, and enabling/disabling full-text indexes on columns.
  • Loki remote write: GreptimeDB now supports the Loki remote write protocol, allowing users to log data in Loki format through Grafana tools.
  • Performance Optimization: Up to 10x improvement for queries fetching the latest N records by timestamp (ORDER BY timestamp DESC LIMIT N).
  • Remove the option: region_engine.mito.max_background_jobs and add three new options: region_engine.mito.max_background_flushes, region_engine.mito.max_background_compactions, and region_engine.mito.max_background_purges for more detailed configuration.

Breaking changes​

  • fix!: replace timeout_millis and connect_timeout_millis with Duration in DatanodeClientOptions by @WenyXu in #4867
  • feat!: Divide flush and compaction job pool by @evenyag in #4871

πŸš€ Features​

πŸ› Bug Fixes​

🚜 Refactor​

πŸ§ͺ Testing​

βš™οΈ Miscellaneous Tasks​

Build​

New Contributors​

All Contributors​

We would like to thank the following contributors from the GreptimeDB community:

@ActivePeter, @CookiePieWw, @Kev1n8, @MichaelScofield, @WenyXu, @ZonaHex, @discord9, @evenyag, @fengjiachun, @killme2008, @linyihai, @lyang24, @paomian, @shuiyisong, @sunng87, @v0y4g3r, @waynexia, @zhongzc, @zyy17

v0.10.1 (DEPRECATED)

Β· 8 min read

Release date: November 25, 2024

πŸ‘ Highlights​

  • Vector type: GreptimeDB supports vector data types to optimize edge scenarios, such as IoT in vehicles, enabling efficient storage and computation of vector data for real-time perception and AI applications in smart driving.
  • Free index: Inverted indexes are no longer tied to primary keys, allowing users to create them on any column, enhancing query flexibility and efficiency across different scenarios.
  • Alter table options: Enhancements include setting TTL for databases and tables, modifying compaction parameters, and enabling/disabling full-text indexes on columns.
  • Loki remote write: GreptimeDB now supports the Loki remote write protocol, allowing users to log data in Loki format through Grafana tools.
  • Performance Optimization: Up to 10x improvement for queries fetching the latest N records by timestamp (ORDER BY timestamp DESC LIMIT N).
  • Remove the option: region_engine.mito.max_background_jobs and add three new options: region_engine.mito.max_background_flushes, region_engine.mito.max_background_compactions, and region_engine.mito.max_background_purges for more detailed configuration.

Breaking changes​

  • fix!: replace timeout_millis and connect_timeout_millis with Duration in DatanodeClientOptions by @WenyXu in #4867
  • feat!: Divide flush and compaction job pool by @evenyag in #4871

πŸš€ Features​

πŸ› Bug Fixes​

🚜 Refactor​

πŸ“š Documentation​

πŸ§ͺ Testing​

βš™οΈ Miscellaneous Tasks​

Build​

New Contributors​

All Contributors​

We would like to thank the following contributors from the GreptimeDB community:

@ActivePeter, @CookiePieWw, @Kev1n8, @MichaelScofield, @WenyXu, @ZonaHex, @discord9, @evenyag, @fengjiachun, @killme2008, @linyihai, @lyang24, @paomian, @shuiyisong, @sunng87, @v0y4g3r, @waynexia, @zhongzc, @zyy17

v0.10.0 (DEPRECATED)

Β· 8 min read

Release date: November 22, 2024

πŸ‘ Highlights​

  • Vector type: GreptimeDB supports vector data types to optimize edge scenarios, such as IoT in vehicles, enabling efficient storage and computation of vector data for real-time perception and AI applications in smart driving.
  • Free index: Inverted indexes are no longer tied to primary keys, allowing users to create them on any column, enhancing query flexibility and efficiency across different scenarios.
  • Alter table options: Enhancements include setting TTL for databases and tables, modifying compaction parameters, and enabling/disabling full-text indexes on columns.
  • Loki remote write: GreptimeDB now supports the Loki remote write protocol, allowing users to log data in Loki format through Grafana tools.
  • Performance Optimization: Up to 10x improvement for queries fetching the latest N records by timestamp (ORDER BY timestamp DESC LIMIT N).

Breaking changes​

  • fix!: replace timeout_millis and connect_timeout_millis with Duration in DatanodeClientOptions by @WenyXu in #4867
  • feat!: Divide flush and compaction job pool by @evenyag in #4871

πŸš€ Features​

πŸ› Bug Fixes​

🚜 Refactor​

πŸ“š Documentation​

πŸ§ͺ Testing​

βš™οΈ Miscellaneous Tasks​

Build​

New Contributors​

All Contributors​

We would like to thank the following contributors from the GreptimeDB community:

@ActivePeter, @CookiePieWw, @Kev1n8, @MichaelScofield, @WenyXu, @ZonaHex, @discord9, @evenyag, @fengjiachun, @killme2008, @linyihai, @lyang24, @paomian, @shuiyisong, @sunng87, @v0y4g3r, @waynexia, @zhongzc, @zyy17

v0.9.5

Β· 4 min read

Release date: October 18, 2024

Highlights​

Breaking changes​

  • feat!: move v1/prof API to debug/prof by @evenyag in #4810
  • feat!: implement interval type by multiple structs by @evenyag in #4772

πŸš€ Features​

  • feat: protect datanode with concurrency limit. by @lyang24 in #4699
  • feat: add region_statistics table by @WenyXu in #4771
  • feat(mito): limit compaction output file size by @v0y4g3r in #4754
  • feat: add a new status code for "external" errors by @MichaelScofield in #4775
  • feat: unordered scanner scans data by time ranges by @evenyag in #4757
  • feat: add StatementStatistics for slow query logging implementation by @zyy17 in #4719
  • feat: support to reject write after flushing by @WenyXu in #4759
  • feat: add add_handler_after, add_handler_before, replace_handler by @WenyXu in #4788
  • feat: customize channel information for sqlness tests by @J0HN50N133 in #4729
  • feat: set max log files to 720 by default, info log only by @Kev1n8 in #4787
  • feat: introduce HeartbeatHandlerGroupBuilderCustomizer by @WenyXu in #4803
  • feat: add function to aggregate path into a geojson path by @sunng87 in #4798
  • feat: add json format output for http interface by @Kev1n8 in #4797
  • feat: Merge sort Logical plan by @discord9 in #4768
  • feat: json_path_exists udf by @CookiePieWw in #4807
  • feat: expose RegionMigrationManagerRef by @WenyXu in #4812
  • feat: information extension by @fengjiachun in #4811
  • feat: introduce LeadershipChangeNotifier and LeadershipChangeListener by @WenyXu in #4817
  • feat: add more h3 functions by @sunng87 in #4770
  • feat: remove the distributed lock by @fengjiachun in #4825
  • feat: enable prof features by default by @evenyag in #4815
  • feat: cache logical region's metadata by @waynexia in #4827
  • feat: defer HeartbeatHandlerGroup construction and enhance LeadershipChangeNotifier by @WenyXu in #4826
  • feat: add some s2 geo functions by @sunng87 in #4823
  • feat: introduce default customizers by @WenyXu in #4831

πŸ› Bug Fixes​

🚜 Refactor​

  • refactor: Change the error type in the pipeline crate from String to Error by @paomian in #4763
  • refactor: introduce HeartbeatHandlerGroupBuilder by @WenyXu in #4785
  • refactor: change sqlness ports to avoid conflict with local instance by @sunng87 in #4794
  • refactor: replace info logs with debug logs in region server by @waynexia in #4829

πŸ“š Documentation​

βš™οΈ Miscellaneous Tasks​

New Contributors​

All Contributors​

We would like to thank the following contributors from the GreptimeDB community:

@CookiePieWw, @J0HN50N133, @Kev1n8, @MichaelScofield, @WenyXu, @discord9, @evenyag, @fengjiachun, @lyang24, @paomian, @shuiyisong, @sunng87, @v0y4g3r, @waynexia, @zyy17