Skip to main content

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

v0.9.0

· 11 min read

Release date: July 16, 2024

👍 Highlights

  • Log Engine: GreptimeDB is now a unified time-series database for both metrics, logs, and events (trace in plan).
  • Remote WAL is significantly improved and is now recommended to turn on.
  • Table View: You can now CREATE VIEW on tables and treat them as logical table.
  • Short interval literal for user experience.
  • InfluxDB Merge Read: You can now use the merge_mode=last_non_null table option to allow SELECT result merges all the last non-null fields.
  • gRPC TLS: You can now set up the grpc.tls config to turn on TLS for gRPC connection.
  • Manually Compact in Strict Window: You can now use SELECT COMPACT_TABLE("monitor", "strict_window", "3600"); to manually schedule a compaction task, splitting SST files strictly into time windows. The third option is the time window's width in seconds.

Breaking changes

  • refactor!: unify FrontendOptions and DatanodeOptions by using GrpcOptions by @realtaobo in #4088
  • feat!: reduce sorted runs during compaction by @v0y4g3r in #3702
  • fix!: forbid to change information_schema by @CookiePieWw in #4233
  • feat!: remove alias metasrv-addr by @discord9 in #4239
  • feat!: Set merge mode while creating table in influx handler by @evenyag in #4299

🚀 Features

🐛 Bug Fixes

  • fix(sqlness): catch different format timestamp by @WenyXu in #4149
  • fix: region logical regions after catching up by @WenyXu in #4176
  • fix(flow): fix call df func bug&sqlness test by @discord9 in #4165
  • fix: region_peers returns same region_id for multi logical tables by @realtaobo in #4190
  • fix(sql): improve compound signed number processing by @etolbakov in #4200
  • fix: align workflows again for the troublesome GHA by @waynexia in #4196
  • fix: format error correctly by @WenyXu in #4204
  • fix: wrong frontend registration address by @killme2008 in #4199
  • fix: add serialize_ignore_column_ids() to fix deserialize region options failed from json string by @zyy17 in #4229
  • fix(puffin): fix dependency by @v0y4g3r in #4267
  • fix(fuzz): generate valid string by @WenyXu in #4281
  • fix: enhance ColumnOption::DefaultValue formatting for string values by @WenyXu in #4287
  • fix: enable space string in yaml value by @shuiyisong in #4286
  • fix: align pre-commit config with make file by @shuiyisong in #4292
  • fix: call df_func with literal by @discord9 in #4265
  • fix: prepare inserting with column defaults not work, #4244 by @killme2008 in #4272
  • fix: deregister failure detector in region migration by @WenyXu in #4293
  • fix(ci): remove sqlness state in success by @waynexia in #4313
  • fix: test_fulltext_intm_path by @zhongzc in #4314
  • fix: error on show databases in non-default catalog by @sunng87 in #4316
  • fix: panic while reading information_schema. KEY_COLUMN_USAGE by @killme2008 in #4318
  • fix: support unary operator in default value, partition rule and prepare statement by @waynexia in #4301
  • fix(sqlness): relax start time regex to match various precisions by @waynexia in #4326
  • fix: permission denied is 403 by @sunng87 in #4350
  • fix(config): enable file engine by default by @WenyXu in #4345
  • fix: build info should use build time env var by @tisonkun in #4343
  • fix: remove path label for cache store by @sunng87 in #4336
  • fix: scan hint checks order asc by @evenyag in #4365

🚜 Refactor

  • refactor: add Compactor trait to abstract the compaction by @zyy17 in #4097
  • refactor: make region manifest checkpoint ran in background by @MichaelScofield in #4133
  • refactor: Decouple dedup and merge by @evenyag in #4139
  • refactor: make RegionOptions and MergeOutput serializable by @zyy17 in #4180
  • refactor: add region_dir in CompactionRegion by @zyy17 in #4187
  • refactor: migrate region failover implementation to region migration by @WenyXu in #4172
  • refactor: add SerializedPickerOutput and field modification of CompactorRequest by @zyy17 in #4198
  • refactor(flow): make from_substrait_* async& worker handle refactor by @discord9 in #4210
  • refactor: expose DatanodeBuilder::build_object_store_manager() and MitoConfig::sanitize() by @zyy17 in #4212
  • refactor: use ObjectStoreManagerRef type in open_compaction_region() and add related unit test by @zyy17 in #4238
  • refactor: add interceptor after Influxdb lines are converted to grpc row insert by @MichaelScofield in #4225
  • refactor: add RemoteCompaction error by @zyy17 in #4251
  • refactor: change InvertedIndexWriter method signature to offsets to f… by @v0y4g3r in #4250
  • refactor(puffin): adjust generic parameters by @zhongzc in #4279
  • refactor: use rwlock for modifiable session data by @sunng87 in #4232
  • refactor(inverted_index): integrate puffin manager with sst indexer by @zhongzc in #4285
  • refactor: split match arms in prom_expr_to_plan into smaller methods by @waynexia in #4317
  • refactor: do not print error log on PlanQuery error by @sunng87 in #4322
  • refactor: Remove the StandaloneKafkaConfig struct by @irenjj in #4253
  • refactor: LastRowReader to use LastRowSelector by @v0y4g3r in #4374

📚 Documentation

⚡ Performance

🧪 Testing

⚙️ Miscellaneous Tasks

◀️ Revert

Build

All Contributors

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

@CookiePieWw, @J0HN50N133, @MichaelScofield, @WenyXu, @ZonaHex, @discord9, @etolbakov, @evenyag, @fengjiachun, @irenjj, @killme2008, @lyang24, @paomian, @realtaobo, @shuiyisong, @sunng87, @tisonkun, @v0y4g3r, @waynexia, @yuanbohan, @zhongzc, @zyy17

v0.8.2

· 4 min read

Release date: June 14, 2024

🚀 Features

🐛 Bug Fixes

🚜 Refactor

⚙️ Miscellaneous Tasks

New Contributors

All Contributors

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

@MichaelScofield, @WenyXu, @cjwcommuny, @discord9, @evenyag, @irenjj, @sunng87, @v0y4g3r

v0.9.0-b03cb3860-20240606-1717661661

Release date: June 06, 2024

Breaking changes

  • refactor!: remove the tableid in ddl response since tableids is enough by @fengjiachun in #4080

🚀 Features

🐛 Bug Fixes

🚜 Refactor

🧪 Testing

  • test: run test_flush_reopen_region and test_region_replay with KafkaLogStore by @WenyXu in #4083
  • test: add fuzz tests for column data type alteration by @realtaobo in #4076

⚙️ Miscellaneous Tasks

  • ci: cargo gc fuzz test runner by @waynexia in #4074
  • ci: try to free space after fuzz tests by @WenyXu in #4089
  • chore: enable strip for tests-fuzz crate by @WenyXu in #4093
  • ci: add 'make run-cluster-with-etcd' to run greptimedb cluster by using docker-compose by @zyy17 in #4103
  • chore(ci): remove redundant sqlness test config by @WenyXu in #4106
  • ci: cargo gc all fuzz test runner by @waynexia in #4081
  • chore: remove gc before running fuzz tests by @WenyXu in #4108
  • chore: reduce some burden on the write path by @fengjiachun in #4110

Build

New Contributors

All Contributors

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

@Kelvinyu1117, @MichaelScofield, @WenyXu, @discord9, @fengjiachun, @killme2008, @realtaobo, @sarailQAQ, @shuiyisong, @tisonkun, @v0y4g3r, @waynexia, @zyy17

v0.8.1

· 4 min read

Release date: May 30, 2024

This is a patch release, containing some important bug fix for flow's continuous aggregating in #4018

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

🚀 Features

🐛 Bug Fixes

  • fix(flow): correctness bugs by @discord9 in #4018

  • fix: try to fix broken CI by @WenyXu in #3998

  • fix: move log_version() into build() of App to fix no log version on bootstrap by @zyy17 in #4004

  • fix: try to fix unstable fuzz test by @WenyXu in #4003

  • fix: can't print log because the tracing guard is dropped by @zyy17 in #4005

  • fix(fuzz): sort inserted rows with primary keys and time index by @CookiePieWw in #4008

  • fix: notifies all workers once a region is flushed by @evenyag in #4016

  • fix(fuzz-tests): avoid to drop in-use database by @WenyXu in #4049

  • fix(metric-engine): missing catchup implementation by @WenyXu in #4048

  • fix: set local or session time_zone not work by @killme2008 in #4064

  • fix: avoid acquiring lock during reading stats by @WenyXu in #4070

🚜 Refactor

  • refactor: make the command entry cleaner by @zyy17 in #3981
  • refactor: replace Expr with datafusion::Expr by @realtaobo in #3995
  • refactor: remove unused log config by @v0y4g3r in #4021
  • refactor(fuzz-tests): generate ts value separately by @WenyXu in #4056
  • refactor: move Database to client crate behind testing feature by @tisonkun in #4059
  • refactor(log_store): remove associated type Namespace and Entry in LogStore by @WenyXu in #4038

📚 Documentation

⚙️ Miscellaneous Tasks

Build

New Contributors

All Contributors

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

@CookiePieWw, @LYZJU2019, @MichaelScofield, @WenyXu, @discord9, @etolbakov, @evenyag, @fengjiachun, @irenjj, @killme2008, @realtaobo, @shuiyisong, @sunng87, @tisonkun, @v0y4g3r, @waynexia, @zyy17

v0.8.0

· 14 min read

Release date: May 18, 2024

👍 Highlights

  • Flow Engine: which brings continuous aggregation capabilities.
  • Column Type Modification: allows you to effortlessly alter the data type of columns within a table without the hassle of rebuilding the table or manually migrating data.
  • Cluster Management Information Table: allows querying for information about the cluster. This functionality aids administrators in monitoring and managing the health status of the database cluster, facilitating prompt issue detection and resolution.
  • Append-only Tables: You can now create tables in Append-only mode by setting the append mode during table creation.
  • DROP DATABASE: enables swift deletion of all tables and resources under a database instance.
  • EXPLAIN ANALYZE <QUERY>: analyze and optimize query statements swiftly in distributed mode.

Breaking changes

🚀 Features

🐛 Bug Fixes

  • fix(readme): fix link of Ingester-js by @DiamondMofeng in #3668
  • fix: DeserializedValueWithBytes::from_inner misusing by @WenyXu in #3676
  • fix: cli export "create table" with quoted names by @dimbtp in #3684
  • fix(alter_table): ignore request outdated error by @WenyXu in #3715
  • fix: remove ttl option from metadata region by @waynexia in #3726
  • fix: set is_time_index properly on updating physical table's schema by @waynexia in #3770
  • fix: the dropping_regions guards should be dropped on procedure done by @MichaelScofield in #3771
  • fix: operating region guards should be dropped when procedure is done by @MichaelScofield in #3775
  • fix: consider both db param and extended db header in Prometheus HTTP API by @waynexia in #3776
  • fix: do not remove deletion markers when window time range overlaps by @v0y4g3r in #3773
  • fix: promql scalar when input empty batch by @Taylor-lagrange in #3779
  • fix: post process result on query full column name of prom labels API by @waynexia in #3793
  • fix: fix fuzz test ci by @WenyXu in #3795
  • fix: prune row groups correctly for columns with the same name by @evenyag in #3802
  • fix: push down order hint of the query again by @evenyag in #3797
  • fix: wrong handler implementation of prometheus remote write by @waynexia in #3826
  • fix: broken link in contributing guide by @waynexia in #3831
  • fix: compiler warnings on Windows by @evenyag in #3844
  • fix: count_wildcard_to_time_index_rule doesn't handle table reference properly by @waynexia in #3847
  • fix: retrieve all info instead of checking on demand by @WenyXu in #3846
  • fix: register regions during procedure recovery by @WenyXu in #3859
  • fix: return metric name instead of query in Prometheus /series API by @waynexia in #3864
  • fix: add data type to vector cache key by @evenyag in #3876
  • fix: memory leak in unit test of telemetry by @waynexia in #3897
  • by @waynexia
  • fix: sort unstable HTTP result in label values query by @waynexia in #3920
  • fix: potential deadlock by @WenyXu in #3930
  • fix(metric engine): label mismatch in metric engine by @v0y4g3r in #3927
  • fix: prevent exporting metric physical table data by @WenyXu in #3970
  • fix: prevent registering logical regions with AliveKeeper by @WenyXu in #3965
  • fix: changing column data type can't process type alias by @killme2008 in #3972
  • fix: tql parser hang on abnormal input by @waynexia in #3977

🚜 Refactor

  • refactor: pass http method to metasrv http handler by @tisonkun in #3667
  • refactor(flow): func spec api&use Error not EvalError in mfp by @discord9 in #3657
  • refactor: bundle the lightweight axum test client by @tisonkun in #3669
  • refactor: refactor alter table procedure by @WenyXu in #3678
  • refactor: drop table procedure by @WenyXu in #3688
  • refactor: check error type before logging by @sunng87 in #3697
  • refactor: Move manifest manager lock to MitoRegion by @evenyag in #3689
  • refactor: use toml2docs to generate config docs by @zyy17 in #3704
  • refactor: remove redundant try_flush invocations by @tisonkun in #3706
  • refactor: merge RegionHandleResult into RegionHandleResponse by @tisonkun in #3721
  • refactor(meta): Ensure all moving values remain unchanged between two transactions by @WenyXu in #3727
  • refactor: avoid unnecessary cloning by @WenyXu in #3734
  • refactor: avoid unnecessary alloc by using unwrap_or_else by @etolbakov in #3742
  • refactor(flow): split render.rs and other minor changes by @discord9 in #3750
  • refactor: move the version string to common by @MichaelScofield in #3783
  • refactor: simplify the PaginationStream by @WenyXu in #3787
  • refactor(flow): refine comments and code by @zhongzc in #3785
  • refactor: log statement on error by Display by @tisonkun in #3803
  • refactor: refactor DatanodeManager to NodeManager by @WenyXu in #3811
  • refactor: DfUdfAdapter to bridge ScalaUdf by @tisonkun in #3814
  • refactor: remove location_opt and DebugFormat by @waynexia in #3830
  • refactor: use secrecy SerectString to hold secrets option by @tisonkun in #3804
  • refactor: rename flow task to flow by @WenyXu in #3833
  • refactor: remove catalog prefix by @WenyXu in #3835
  • refactor: remove TableMetaKey trait by @WenyXu in #3837
  • refactor: move database client to test by @dimbtp in #3820
  • refactor: remove re-export from logging by @waynexia in #3865
  • refactor: passing QueryContext to RegionServer by @Kelvinyu1117 in #3829
  • refactor: add the main cli entry point struct Command{} and simplify main() by @zyy17 in #3850
  • refactor: move Plugins to plugins.rs and use rwlock by @zyy17 in #3862
  • refactor(logstore): remove Entry::namemspace by @v0y4g3r in #3875
  • refactor: move mirror insertion tasks to the background runtime by @WenyXu in #3879
  • refactor: remove MixOptions and use StandaloneOptions only by @zyy17 in #3893
  • refactor: add procedure_loader macro by @WenyXu in #3906
  • refactor: make txn easy to use by @fengjiachun in #3905
  • refactor: Remove PhysicalPlan trait and use ExecutionPlan directly by @evenyag in #3894
  • refactor: refactor frontend cache by @WenyXu in #3912
  • refactor: rename metasrv_addr to metasrv_addrs by @fengjiachun in #3921
  • refactor: add tracing options in xOptions by @zyy17 in #3919
  • refactor: add Configurable trait by @zyy17 in #3917
  • refactor(naming): use the better naming for pubsub by @zyy17 in #3960

📚 Documentation

⚡ Performance

🧪 Testing

  • test: Add tests for KvBackend trait implement by @realtaobo in #3700
  • test: introduce unstable fuzz create table test by @WenyXu in #3788
  • test: give windows file watcher more time by @sunng87 in #3953
  • test: gracefully shutdown postgres client in sql tests by @evenyag in #3958

⚙️ Miscellaneous Tasks

Build

New Contributors

All Contributors

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

@CookiePieWw, @DiamondMofeng, @KKould, @Kelvinyu1117, @MichaelScofield, @Taylor-lagrange, @WenyXu, @ZonaHex, @dimbtp, @discord9, @etolbakov, @evenyag, @fengjiachun, @irenjj, @killme2008, @realtaobo, @shuiyisong, @sunng87, @tisonkun, @tizee, @v0y4g3r, @waynexia, @zhongzc, @zyy17

v0.7.2

· 7 min read

Release date: April 08, 2024

This is a patch release, containing a critial bug fix to avoid wrongly delete data files (#3635).

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

Breaking changes

  • refactor!: Renames the new memtable to PartitionTreeMemtable by @evenyag in #3547
  • fix!: columns table in information_schema misses some columns by @killme2008 in #3639

🚀 Features

  • feat: Partition memtables by time if compaction window is provided by @evenyag in #3501
  • feat: acquire all locks in procedure by @WenyXu in #3514
  • feat: implement the drop database parser by @WenyXu in #3521
  • feat(mito): Checks whether a region should flush periodically by @evenyag in #3459
  • feat(metasrv): implement maintenance by @tisonkun in #3527
  • feat: update dashboard to v0.4.9 by @ZonaHex in #3531
  • feat: support per table memtable options by @evenyag in #3524
  • feat(flow): shared in-memory state for dataflow operator by @discord9 in #3508
  • feat: update pgwire to 0.20 for improved performance by @sunng87 in #3538
  • feat: support multi params in promql range function macro by @Taylor-lagrange in #3464
  • feat: support append-only mode in time-series memtable by @v0y4g3r in #3540
  • feat: Able to pretty print sql query result in http output by @YCCDSZXH in #3539
  • feat: return new added columns in region server's extension response by @waynexia in #3533
  • feat: update physical table's schema on creating logical table by @waynexia in #3570
  • feat: implement the drop database procedure by @WenyXu in #3541
  • feat: batch alter logical tables by @fengjiachun in #3569
  • feat: support time range in copy table by @v0y4g3r in #3583
  • feat: update physical table schema on alter logical tables by @fengjiachun in #3585
  • feat(auth): watch file user provider by @tisonkun in #3566
  • feat: Support printing postgresql's bytea data type in its "hex" and "escape" format by @J0HN50N133 in #3567
  • feat: Implement append mode for a region by @evenyag in #3558
  • feat: create regions persist true by @fengjiachun in #3590
  • feat: remove support for logical tables in the create table procedure by @fengjiachun in #3592
  • feat: adds metric engine to information_schema engines table by @killme2008 in #3599
  • feat: support 2+2 and /status/buildinfo by @waynexia in #3604
  • feat(tql): add initial support for start,stop,step as sql functions by @etolbakov in #3507
  • feat: Implement an unordered scanner for append mode by @evenyag in #3598
  • feat: allow cross-schema query in promql by @sunng87 in #3545
  • feat: let alter table procedure can only alter physical table by @fengjiachun in #3613
  • feat(function): add timestamp epoch integer support for to_timezone by @etolbakov in #3620
  • feat: impl show index and show columns by @killme2008 in #3577
  • feat: group requests by peer by @fengjiachun in #3619
  • feat: Support outputting various date styles for postgresql by @J0HN50N133 in #3602
  • feat: reject invalid timestamp ranges in copy statement by @v0y4g3r in #3623
  • feat(procedure): auto split large value to multiple values by @WenyXu in #3605
  • feat(procedure): enable auto split large value by @WenyXu in #3628
  • feat: introduce wal benchmarker by @niebayes in #3446
  • feat: adding victoriametrics remote write by @sunng87 in #3641
  • feat: Add timers to more mito methods by @evenyag in #3659
  • feat: cluster information by @fengjiachun in #3631
  • feat: update dashboard to v0.4.10 by @ZonaHex in #3663

🐛 Bug Fixes

  • fix: clone data instead of moving it - homemade future is dangerous by @waynexia in #3542
  • fix: performance degradation caused by config change by @v0y4g3r in #3556
  • fix(flow): Arrange get range with batch unaligned by @discord9 in #3552
  • fix: set http response chartset to utf-8 when using table format by @xxxuuu in #3571
  • fix: update pk_cache in compat reader by @waynexia in #3576
  • fix: incorrect version info in by @waynexia in #3586
  • fix: canonicalize catalog and schema names by @killme2008 in #3600
  • fix: adjust status code to http error code map by @waynexia in #3601
  • fix: run purge jobs in another scheduler by @evenyag in #3621
  • fix: mistakely removes compaction inputs on failure by @v0y4g3r in #3635
  • fix: move object store read/write timer into inner by @dimbtp in #3627
  • fix: construct correct pk list with pre-existing pk by @waynexia in #3614

🚜 Refactor

📚 Documentation

🧪 Testing

  • test: add a parameter type mismatch test case to sql integration test by @xxxuuu in #3568
  • test: add tests for drop databases by @WenyXu in #3594
  • test: add more integration test for kafka wal by @niebayes in #3190
  • test(sqlness): release databases after tests by @WenyXu in #3648

⚙️ Miscellaneous Tasks

Build

New Contributors

All Contributors

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

@CookiePieWw, @J0HN50N133, @MichaelScofield, @Taylor-lagrange, @WenyXu, @YCCDSZXH, @ZonaHex, @dimbtp, @discord9, @etolbakov, @evenyag, @fengjiachun, @killme2008, @niebayes, @shuiyisong, @sunng87, @tisonkun, @v0y4g3r, @waynexia, @xxxuuu, @zhongzc