Skip to main content

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.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

v0.9.4 (DEPRECATED)

Β· 4 min read

Release date: October 15, 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

v0.9.3

Β· 6 min read

Release date: September 06, 2024

Highlights​

  • fixes the following issues
    • last_value function may return empty results due to cache #4652
    • query timestamp column in append mode misses some data #4669
    • crash while query tables with last_non_null merge mode #4687

Breaking changes​

πŸš€ Features​

πŸ› Bug Fixes​

🚜 Refactor​

πŸ“š Documentation​

⚑ Performance​

βš™οΈ Miscellaneous Tasks​

Build​

New Contributors​

All Contributors​

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

@MichaelScofield, @WenyXu, @daviderli614, @discord9, @evenyag, @fengjiachun, @fengys1996, @killme2008, @leaf-potato, @lyang24, @ozewr, @paomian, @shuiyisong, @sunng87, @v0y4g3r, @waynexia, @zyy17

v0.9.2

Β· 4 min read

Release date: August 19, 2024

πŸ‘ Highlights​

  • #4545: Improve the performance of count(*) for append-only tables.
  • #4552: Allow more than one segment for full-text index to handle a large number of rows.

πŸš€ Features​

πŸ› Bug Fixes​

🚜 Refactor​

  • refactor: reuse aligned ts array in range manipulate exec by @waynexia in #4535
  • refactor(plugin): add SetupPlugin and StartPlugin error by @zyy17 in #4554

πŸ“š Documentation​

⚑ Performance​

  • perf: merge small byte ranges for optimized fetching by @WenyXu in #4520
  • perf: count(*) for append-only tables by @v0y4g3r in #4545
  • perf: Optimizing pipeline performance by @paomian in #4390

πŸ§ͺ Testing​

βš™οΈ Miscellaneous Tasks​

Build​

All Contributors​

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

@J0HN50N133, @MichaelScofield, @WenyXu, @daviderli614, @discord9, @evenyag, @fengjiachun, @leaf-potato, @lyang24, @paomian, @shuiyisong, @sunng87, @v0y4g3r, @waynexia, @zhongzc, @zyy17

v0.9.1

Β· 5 min read

Release date: August 02, 2024

This is a patch release, containing some important bug fixes:

  • #4447: Full-text search may miss some rows when a full-text index is applied.
  • #4476: Data ingestion can stall due to missing notifications.

It's highly recommended to upgrade to this version if you're using v0.9.0.

Breaking changes​

  • refactor!: Remove Mode from FrontendOptions by @zyy17 in #4401

πŸš€ Features​

πŸ› Bug Fixes​

  • fix: ensure keep alive is completed in time by @WenyXu in #4349
  • fix: user provider can't be configured by config file or environment variables by @zyy17 in #4398
  • fix: dictionary key type use u32 by @evenyag in #4396
  • fix(wal): handle WAL deletion on region drop by @v0y4g3r in #4400
  • fix: add back AuthBackend which is required by custom auth backend by @sunng87 in #4409
  • fix(fulltext-index): clean up 0-value timer by @zhongzc in #4423
  • fix(metrics): RowGroupLastRowCachedReader metrics by @v0y4g3r in #4418
  • fix: information_schema tables and views column value by @killme2008 in #4438
  • fix: remove to_timezone function by @killme2008 in #4439
  • fix: use heartbeat runtime instead of background runtime by @WenyXu in #4445
  • fix(fulltext-search): prune rows in row group forget to take remainder by @zhongzc in #4447
  • fix: use status code to http status mapping in error IntoResponse by @shuiyisong in #4455
  • fix: missing pre_write check on prometheus remote write by @shuiyisong in #4460
  • fix: check_partition uses unqualified name by @waynexia in #4452
  • fix: overflow when parsing default value with negative numbers by @killme2008 in #4459
  • fix: prometheus api only returns 200 by @shuiyisong in #4471
  • fix: generate unique timestamp for inserting tests by @WenyXu in #4472
  • fix: notify flush receiver after write buffer is released by @evenyag in #4476
  • fix: avoid total size overflow by @evenyag in #4487

🚜 Refactor​

  • refactor: add &mut Plugins argument in plugins setup api and remove unnecessary mut by @zyy17 in #4389
  • refactor: add get_storage_path() and get_catalog_and_schema() by @zyy17 in #4397
  • refactor(query): Remove PhysicalPlanner trait by @leaf-potato in #4412
  • refactor: Remove PhysicalOptimizer and LogicalOptimizer trait by @leaf-potato in #4426
  • refactor: add RetryInterceptor to print detailed error by @zyy17 in #4434
  • refactor(servers): improve postgres error message by @leaf-potato in #4463

πŸ“š Documentation​

⚑ Performance​

βš™οΈ Miscellaneous Tasks​

New Contributors​

All Contributors​

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

@J0HN50N133, @MichaelScofield, @WenyXu, @ZonaHex, @discord9, @evenyag, @fengjiachun, @killme2008, @leaf-potato, @realtaobo, @shuiyisong, @sunng87, @v0y4g3r, @waynexia, @zhongzc, @zyy17