Releases: GreptimeTeam/greptimedb
Release v0.12.0-nightly-20241223
What's Changed
- chore: remove unused dep by @shuiyisong in #5163
- feat: Add
vector_scalar_mul
function. by @linyihai in #5166 - chore: gauge for flush compaction by @v0y4g3r in #5156
- feat: introduce SKIPPING index (part 1) by @waynexia in #5155
- feat: update dashboard to v0.7.3 by @ZonaHex in #5172
- chore: add nix-shell configuration for a minimal environment for development by @sunng87 in #5175
- test: flow rebuild by @discord9 in #5162
- fix: correct
set_region_role_state_gracefully
behaviors by @WenyXu in #5171 - chore: add aquamarine to dep lists by @evenyag in #5181
- fix: deletion between two put may not work in
last_non_null
mode by @evenyag in #5168 - feat(bloom-filter): add basic bloom filter creator (Part 1) by @zhongzc in #5177
- test: sqlness upgrade compatibility tests by @discord9 in #5126
- perf: avoid holding memtable during compaction by @v0y4g3r in #5157
- refactor: produce BatchBuilder from a Batch to modify it again by @MichaelScofield in #5186
- feat: introduce Buffer for non-continuous bytes by @CookiePieWw in #5164
- fix: display inverted and fulltext index in show index by @lyang24 in #5169
- 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
- fix(sqlness): enforce order in union tests by @v0y4g3r in #5190
- fix: validate matcher op for name in promql by @waynexia in #5191
- docs: fix grafana dashboard row by @evenyag in #5192
- refactor: remove unused symbols by @waynexia in #5193
- chore: make nix compilation environment config more robust by @sunng87 in #5183
- feat: show create postgresql foreign table by @sunng87 in #5143
- fix: ensure table route metadata is eventually rolled back on failure by @WenyXu in #5174
- feat: bump opendal and switch prometheus layer to the upstream impl by @waynexia in #5179
- feat: show flow's mem usage in INFORMATION_SCHEMA.FLOWS by @discord9 in #4890
- chore: update PR template by @killme2008 in #5199
- fix(flow): batch builder with type by @discord9 in #5195
- fix: auto created table ttl check by @discord9 in #5203
- ci: install latest protobuf in dev-builder image by @MichaelScofield in #5196
- chore: adjust fuzz tests cfg by @WenyXu in #5207
- feat(bloom-filter): add memory control for creator by @zhongzc in #5185
- feat(bloom-filter): add bloom filter reader by @zhongzc in #5204
- fix: dead links by @nicecui in #5212
- build: use 8xlarge as arm default by @evenyag in #5214
- ci: fix nightly ci task on nix build by @sunng87 in #5198
Full Changelog: v0.12.0-nightly-20241216...v0.12.0-nightly-20241223
Release v0.11.1
v0.11.1
Release date: December 21, 2024
👍 Highlights
- Supports
label_join()
andlabel_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
- refactor: cache inverted index with fixed-size page by @CookiePieWw in #5114
- refactor: produce BatchBuilder from a Batch to modify it again by @MichaelScofield in #5186
- refactor: remove unused symbols by @waynexia in #5193
📚 Documentation
- docs: Add index panels to standalone grafana dashboard by @evenyag in #5140
- docs: fix grafana dashboard row by @evenyag in #5192
⚡ Performance
- perf: avoid cache during compaction by @v0y4g3r in #5135
- perf: avoid holding memtable during compaction by @v0y4g3r in #5157
🧪 Testing
- test: part of parser test migrated from duckdb by @CookiePieWw in #5125
- test: flow rebuild by @discord9 in #5162
- test: sqlness upgrade compatibility tests by @discord9 in #5126
⚙️ Miscellaneous Tasks
- chore: bump main branch version to 0.12 by @evenyag in #5133
- chore: add
/ready
api for health checking by @shuiyisong in #5124 - chore: fix aws_lc not in depend tree check in CI by @discord9 in #5121
- chore: set store_key_prefix for all kvbackend by @fengjiachun in #5132
- chore: decide tag column in log api follow table schema if table exists by @paomian in #5138
- chore: pipeline dryrun api can currently receives pipeline raw content by @paomian in #5142
- ci: use 4xlarge for nightly build by @evenyag in #5158
- chore: remove unused dep by @shuiyisong in #5163
- chore: gauge for flush compaction by @v0y4g3r in #5156
- chore: add nix-shell configuration for a minimal environment for development by @sunng87 in #5175
- chore: add aquamarine to dep lists by @evenyag in #5181
- chore: make nix compilation environment config more robust by @sunng87 in #5183
- chore: update PR template by @killme2008 in #5199
- ci: install latest protobuf in dev-builder image by @MichaelScofield in #5196
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, [@sh...
Release v0.12.0-nightly-20241216
What's Changed
- chore: bump main branch version to 0.12 by @evenyag in #5133
- chore: add
/ready
api for health checking by @shuiyisong in #5124 - chore: fix aws_lc not in depend tree check in CI by @discord9 in #5121
- chore: set store_key_prefix for all kvbackend by @fengjiachun in #5132
- feat: adjust WAL purge default configurations by @killme2008 in #5107
- perf: avoid cache during compaction by @v0y4g3r in #5135
- feat(vector): add scalar add function by @zhongzc in #5119
- test: part of parser test migrated from duckdb by @CookiePieWw in #5125
- 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 - chore: decide tag column in log api follow table schema if table exists by @paomian in #5138
- feat: collect reader metrics from prune reader by @evenyag in #5152
- chore: pipeline dryrun api can currently receives pipeline raw content by @paomian in #5142
- refactor: cache inverted index with fixed-size page by @CookiePieWw in #5114
- docs: Add index panels to standalone grafana dashboard by @evenyag in #5140
- fix: loki write row len error by @paomian in #5161
- ci: use 4xlarge for nightly build by @evenyag in #5158
- fix: support alter table ~ add ~ custom_type by @NiwakaDev in #5165
Full Changelog: v0.11.0...v0.12.0-nightly-20241216
Release v0.11.0
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
- feat: use cache kv manager for SchemaMetadataManager by @v0y4g3r in #5053
- feat: add decolorize processor by @waynexia in #5065
- feat: enable compression for metasrv client by @WenyXu in #5078
- feat: recover file cache index asynchronously by @WenyXu in #5087
- feat: define basic structures and implement TimeFilter by @waynexia in #5086
- feat: update dashboard to v0.7.0 by @ZonaHex in #5100
- feat: add more transaction related statement for postgres interface by @sunng87 in #5081
- feat: ttl=0/instant/forever/humantime&ttl refactor by @discord9 in #5089
- feat: add cursor statements by @sunng87 in #5094
- feat: update pgwire to 0.28 by @sunng87 in #5113
- feat: update dashboard to v0.7.1 by @ZonaHex in #5123
🐛 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
- docs: tweak readme and AUTHOR by @killme2008 in #5069
- docs: remove lg_prof_interval from env by @evenyag in #5103
⚡ Performance
🧪 Testing
- test: adds sqlness test for TTL by @killme2008 in #5063
⚙️ Miscellaneous Tasks
- chore: bump version of main branch to v0.11.0 by @zhongzc in #5057
- chore: remove openssl deps by @sunng87 in #5079
- chore: correct example config file by @WenyXu in #5105
- chore: Add timeout setting for
find_ttl
. by @linyihai in #5088 - ci: set meta replicas to 1 by @WenyXu in #5111
- chore: Reduce FETCH_OPTION_TIMEOUT from 10 to 3 seconds in config.rs by @v0y4g3r in #5117
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
Release v0.11.0-nightly-20241209
What's Changed
- feat: enable compression for metasrv client by @WenyXu in #5078
- chore: remove openssl deps by @sunng87 in #5079
- fix: correct
is_exceeded_size_limit
behavior for in-memory store by @WenyXu in #5082 - feat: recover file cache index asynchronously by @WenyXu in #5087
- fix: schema cache invalidation by @v0y4g3r in #5067
- test: adds sqlness test for TTL by @killme2008 in #5063
- feat: define basic structures and implement TimeFilter by @waynexia in #5086
- refactor: replace LogHandler with PipelineHandler by @waynexia in #5096
- perf: take a new batch to reduce last row cache usage by @evenyag in #5095
- feat!: remove GET method in
/debug
path by @waynexia in #5102 - refactor: relocate CLI to a dedicated directory by @WenyXu in #5101
- feat: update dashboard to v0.7.0 by @ZonaHex in #5100
- fix: put PipelineChecker at the end by @waynexia in #5092
- docs: remove lg_prof_interval from env by @evenyag in #5103
- chore: correct example config file by @WenyXu in #5105
- feat: add more transaction related statement for postgres interface by @sunng87 in #5081
- feat: ttl=0/instant/forever/humantime&ttl refactor by @discord9 in #5089
- feat: add cursor statements by @sunng87 in #5094
- chore: Add timeout setting for
find_ttl
. by @linyihai in #5088
Full Changelog: v0.11.0-nightly-20241202...v0.11.0-nightly-20241209
Release v0.11.0-nightly-20241202
What's Changed
- refactor: expose configs for http clients used in object store by @MichaelScofield in #5041
- 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
- feat: use cache kv manager for SchemaMetadataManager by @v0y4g3r in #5053
- chore: bump version of main branch to v0.11.0 by @zhongzc in #5057
- fix: allow physical region alter region options by @lyang24 in #5046
- fix(flow): minor fix about count(*)&sink keyword by @discord9 in #5061
- refactor: remove built-in apidocs and schemars by @sunng87 in #5068
- docs: tweak readme and AUTHOR by @killme2008 in #5069
- feat: add decolorize processor by @waynexia in #5065
Full Changelog: v0.10.1...v0.11.0-nightly-20241202
Release v0.10.2
v0.10.2
Release date: November 26, 2024
Versions v0.10.0 and v0.10.1 are deprecated because of critical bugs; please use this version instead.
👍 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
, andregion_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
- feat: yields empty batch after reading a range by @evenyag in #4845
- feat: update dashboard to v0.6.0 by @ZonaHex in #4861
- feat: Sort within each PartitionRange by @discord9 in #4847
- feat: Add functionality to the Opentelemetry write interface to extract fields from attr to top-level data. by @paomian in #4859
- feat: Limit CPU in runtime (#3685) by @ActivePeter in #4782
- feat: introduce the
PluginOptions
by @WenyXu in #4835 - feat: add json_path_match udf by @Kev1n8 in #4864
- feat: optimizer rule for windowed sort by @waynexia in #4874
- feat(index): support building inverted index for the field column on Mito by @zhongzc in #4887
- feat: add json datatype for grpc protocol by @WenyXu in #4897
- feat: Support altering table TTL by @v0y4g3r in #4848
- feat: adds the number of rows and index files size to region_statistics table by @killme2008 in #4909
- feat: implement parse_query api by @sunng87 in #4860
- feat: enhance windowed-sort optimizer rule by @waynexia in #4910
- feat: get row group time range from cached metadata by @evenyag in #4869
- feat: simple limit impl in PartSort by @waynexia in #4922
- feat: heartbeat_flush_threshold option by @fengjiachun in #4924
- feat: support to insert json data via grpc protocol by @WenyXu in #4908
- feat: add more geo functions by @sunng87 in #4888
- feat: support filter with windowed sort by @waynexia in #4960
- feat(index): support SQL to specify inverted index columns by @zhongzc in #4929
- feat(puffin): apply range reader by @zhongzc in #4928
- feat: alter fulltext options by @CookiePieWw in #4952
- feat: introduce vector type by @zhongzc in #4964
- feat: refine region state checks and handle stalled requests by @WenyXu in #4971
- feat: support alter twcs compaction options by @lyang24 in #4965
- feat: add distance functions by @zhongzc in #4987
- feat: implement statement/execution timeout session variable by @lyang24 in #4792
- feat: introduce
DynamicTimeoutLayer
by @WenyXu in #5006 - feat: Loki remote write by @shuiyisong in #4941
- feat: make greatest supports timestamp and datetime types by @killme2008 in #5005
- feat: update dashboard to v0.6.1 by @ZonaHex in #5017
- feat: CREATE OR REPLACE FLOW by @discord9 in #5001
- feat: also shutdown gracefully on sigterm on unix by @discord9 in #5023
- feat(vector): remove
simsimd
and usenalgebra
instead by @zhongzc in #5027 - feat: reimplement limit in PartSort to reduce memory footprint by @waynexia in #5018
- feat(vector): add conversion between vector and string by @zhongzc in #5029
- feat: add unset table options support by @WenyXu in #5034
- feat: alter database ttl by @CookiePieWw in #5035
- feat: use cache kv manager for SchemaMetadataManager by @v0y4g3r in #5053
🐛 Bug Fixes
- fix: fix broken import by @WenyXu in #4880
- fix: pyo3 ut by @v0y4g3r in #4894
- fix(config): update tracing section headers in example TOML files by @waynexia in #4898
- fix: set transaction variables not working in mysql protocol by @killme2008 in #4912
- fix: prune batches from memtable by time range by @evenyag in #4913
- fix: typo by @killme2008 in #4931
- fix: panic when jsonb corrupted by @CookiePieWw in #4919
- fix: data_length, index_length, table_rows in tables by @killme2008 in #4927
- fix: violations of
elided_named_lifetimes
by @WenyXu in #4936 - fix: database base ttl by @v0y4g3r in #4926
- fix: pprof by @discord9 in #4938
- fix: the region_stats API will return an error in instance test by @linyihai in #4951
- fix: bugs introduced by alter table options by [@KILLM...
Release v0.10.1
v0.10.1 (Deprecated)
Release date: November 25, 2024
Deprecated due to a critical issue; please refrain from using it.
👍 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
, andregion_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
- feat: yields empty batch after reading a range by @evenyag in #4845
- feat: update dashboard to v0.6.0 by @ZonaHex in #4861
- feat: Sort within each PartitionRange by @discord9 in #4847
- feat: Add functionality to the Opentelemetry write interface to extract fields from attr to top-level data. by @paomian in #4859
- feat: Limit CPU in runtime (#3685) by @ActivePeter in #4782
- feat: introduce the
PluginOptions
by @WenyXu in #4835 - feat: add json_path_match udf by @Kev1n8 in #4864
- feat: optimizer rule for windowed sort by @waynexia in #4874
- feat(index): support building inverted index for the field column on Mito by @zhongzc in #4887
- feat: add json datatype for grpc protocol by @WenyXu in #4897
- feat: Support altering table TTL by @v0y4g3r in #4848
- feat: adds the number of rows and index files size to region_statistics table by @killme2008 in #4909
- feat: implement parse_query api by @sunng87 in #4860
- feat: enhance windowed-sort optimizer rule by @waynexia in #4910
- feat: get row group time range from cached metadata by @evenyag in #4869
- feat: simple limit impl in PartSort by @waynexia in #4922
- feat: heartbeat_flush_threshold option by @fengjiachun in #4924
- feat: support to insert json data via grpc protocol by @WenyXu in #4908
- feat: add more geo functions by @sunng87 in #4888
- feat: support filter with windowed sort by @waynexia in #4960
- feat(index): support SQL to specify inverted index columns by @zhongzc in #4929
- feat(puffin): apply range reader by @zhongzc in #4928
- feat: alter fulltext options by @CookiePieWw in #4952
- feat: introduce vector type by @zhongzc in #4964
- feat: refine region state checks and handle stalled requests by @WenyXu in #4971
- feat: support alter twcs compaction options by @lyang24 in #4965
- feat: add distance functions by @zhongzc in #4987
- feat: implement statement/execution timeout session variable by @lyang24 in #4792
- feat: introduce
DynamicTimeoutLayer
by @WenyXu in #5006 - feat: Loki remote write by @shuiyisong in #4941
- feat: make greatest supports timestamp and datetime types by @killme2008 in #5005
- feat: update dashboard to v0.6.1 by @ZonaHex in #5017
- feat: CREATE OR REPLACE FLOW by @discord9 in #5001
- feat: also shutdown gracefully on sigterm on unix by @discord9 in #5023
- feat(vector): remove
simsimd
and usenalgebra
instead by @zhongzc in #5027 - feat: reimplement limit in PartSort to reduce memory footprint by @waynexia in #5018
- feat(vector): add conversion between vector and string by @zhongzc in #5029
- feat: add unset table options support by @WenyXu in #5034
- feat: alter database ttl by @CookiePieWw in #5035
🐛 Bug Fixes
- fix: fix broken import by @WenyXu in #4880
- fix: pyo3 ut by @v0y4g3r in #4894
- fix(config): update tracing section headers in example TOML files by @waynexia in #4898
- fix: set transaction variables not working in mysql protocol by @killme2008 in #4912
- fix: prune batches from memtable by time range by @evenyag in #4913
- fix: typo by @killme2008 in #4931
- fix: panic when jsonb corrupted by @CookiePieWw in #4919
- fix: data_length, index_length, table_rows in tables by @killme2008 in #4927
- fix: violations of
elided_named_lifetimes
by @WenyXu in #4936 - fix: database base ttl by @v0y4g3r in #4926
- fix: pprof by @discord9 in #4938
- fix: the region_stats API will return an error in instance test by @linyihai in #4951
- fix: bugs introduced by alter table options by @killme2008 in #4953
- fix: do not pick compacting/expired files by @evenyag i...
Release v0.11.0-nightly-20241125
What's Changed
- feat(index): support SQL to specify inverted index columns by @zhongzc in #4929
- feat(puffin): apply range reader by @zhongzc in #4928
- feat: alter fulltext options by @CookiePieWw in #4952
- feat: introduce vector type by @zhongzc in #4964
- refactor: consolidate
DatanodeClientOptions
by @linyihai in #4966 - feat: refine region state checks and handle stalled requests by @WenyXu in #4971
- refactor: support distinct JSON format and improve type conversions by @WenyXu in #4979
- feat: support alter twcs compaction options by @lyang24 in #4965
- refactor(mito): tidy memtable stats by @v0y4g3r in #4982
- fix: alter table add column id alloc mismatch by @discord9 in #4972
- refactor: use UNSET instead of enable by @CookiePieWw in #4983
- build(deps): switch to upstream jsonb by @CookiePieWw in #4986
- fix: physical table statistics info by @killme2008 in #4975
- fix: run
install.sh
error by @zyy17 in #4989 - refactor(grafana): update cluster dashboard by @zyy17 in #4980
- test: more sqlness tests for flow by @discord9 in #4988
- chore: update cluster dashboard by @zyy17 in #4995
- feat: add distance functions by @zhongzc in #4987
- chore: update greptime-proto to e1070a by @discord9 in #4992
- refactor: Avoid wrapping Option for CacheManagerRef by @linyihai in #4996
- feat: implement statement/execution timeout session variable by @lyang24 in #4792
- chore: rename change to modify by @CookiePieWw in #5000
- refactor: introduce
MaintenanceModeManager
by @WenyXu in #4994 - fix: obsolete wal entires while opening a migrated region by @WenyXu in #4993
- fix: ensure Create Or Replace and If Not Exist cannot coexist in create view by @lyang24 in #5003
- fix: correct
unset_maintenance_mode
behavior by @WenyXu in #5009 - feat: introduce
DynamicTimeoutLayer
by @WenyXu in #5006 - test: subquery test migrated from duckdb by @CookiePieWw in #4985
- feat: Loki remote write by @shuiyisong in #4941
- fix: distinct respect in range by @discord9 in #5015
- test: reduce round precision to avoid platform diff by @zhongzc in #5013
- feat: make greatest supports timestamp and datetime types by @killme2008 in #5005
- feat: update dashboard to v0.6.1 by @ZonaHex in #5017
- fix: inverted index constraint to be case-insensitive by @zhongzc in #5020
- feat: CREATE OR REPLACE FLOW by @discord9 in #5001
- fix: android build failed due to simsimd by @zhongzc in #5019
- fix: prune memtable/files range independently in each partition by @evenyag in #4998
- feat: also shutdown gracefully on sigterm on unix by @discord9 in #5023
- refactor: split up different stmts by @CookiePieWw in #4997
- feat(vector): remove
simsimd
and usenalgebra
instead by @zhongzc in #5027 - feat: reimplement limit in PartSort to reduce memory footprint by @waynexia in #5018
- chore(cli): set default timeout for cli commands by @WenyXu in #5021
- feat(vector): add conversion between vector and string by @zhongzc in #5029
- feat: add unset table options support by @WenyXu in #5034
- fix: find latest window by @v0y4g3r in #5037
- feat: alter database ttl by @CookiePieWw in #5035
- fix: prepare param mismatch by @CookiePieWw in #5025
- refactor: unify mysql execute through cli and protocol by @CookiePieWw in #5038
- chore: bump version to 0.10.0 by @zhongzc in #5040
Full Changelog: v0.10.0-nightly-20241111...v0.11.0-nightly-20241125
Release v0.10.0
v0.10.0 (Deprecated)
Release date: November 22, 2024
Deprecated due to a critical issue; please refrain from using it.
👍 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
- feat: yields empty batch after reading a range by @evenyag in #4845
- feat: update dashboard to v0.6.0 by @ZonaHex in #4861
- feat: Sort within each PartitionRange by @discord9 in #4847
- feat: Add functionality to the Opentelemetry write interface to extract fields from attr to top-level data. by @paomian in #4859
- feat: Limit CPU in runtime (#3685) by @ActivePeter in #4782
- feat: introduce the
PluginOptions
by @WenyXu in #4835 - feat: add json_path_match udf by @Kev1n8 in #4864
- feat: optimizer rule for windowed sort by @waynexia in #4874
- feat(index): support building inverted index for the field column on Mito by @zhongzc in #4887
- feat: add json datatype for grpc protocol by @WenyXu in #4897
- feat: Support altering table TTL by @v0y4g3r in #4848
- feat: adds the number of rows and index files size to region_statistics table by @killme2008 in #4909
- feat: implement parse_query api by @sunng87 in #4860
- feat: enhance windowed-sort optimizer rule by @waynexia in #4910
- feat: get row group time range from cached metadata by @evenyag in #4869
- feat: simple limit impl in PartSort by @waynexia in #4922
- feat: heartbeat_flush_threshold option by @fengjiachun in #4924
- feat: support to insert json data via grpc protocol by @WenyXu in #4908
- feat: add more geo functions by @sunng87 in #4888
- feat: support filter with windowed sort by @waynexia in #4960
- feat(index): support SQL to specify inverted index columns by @zhongzc in #4929
- feat(puffin): apply range reader by @zhongzc in #4928
- feat: alter fulltext options by @CookiePieWw in #4952
- feat: introduce vector type by @zhongzc in #4964
- feat: refine region state checks and handle stalled requests by @WenyXu in #4971
- feat: support alter twcs compaction options by @lyang24 in #4965
- feat: add distance functions by @zhongzc in #4987
- feat: implement statement/execution timeout session variable by @lyang24 in #4792
- feat: introduce
DynamicTimeoutLayer
by @WenyXu in #5006 - feat: Loki remote write by @shuiyisong in #4941
- feat: make greatest supports timestamp and datetime types by @killme2008 in #5005
- feat: update dashboard to v0.6.1 by @ZonaHex in #5017
- feat: CREATE OR REPLACE FLOW by @discord9 in #5001
- feat: also shutdown gracefully on sigterm on unix by @discord9 in #5023
- feat(vector): remove
simsimd
and usenalgebra
instead by @zhongzc in #5027 - feat: reimplement limit in PartSort to reduce memory footprint by @waynexia in #5018
- feat(vector): add conversion between vector and string by @zhongzc in #5029
- feat: add unset table options support by @WenyXu in #5034
- feat: alter database ttl by @CookiePieWw in #5035
🐛 Bug Fixes
- fix: fix broken import by @WenyXu in #4880
- fix: pyo3 ut by @v0y4g3r in #4894
- fix(config): update tracing section headers in example TOML files by @waynexia in #4898
- fix: set transaction variables not working in mysql protocol by @killme2008 in #4912
- fix: prune batches from memtable by time range by @evenyag in #4913
- fix: typo by @killme2008 in #4931
- fix: panic when jsonb corrupted by @CookiePieWw in #4919
- fix: data_length, index_length, table_rows in tables by @killme2008 in #4927
- fix: violations of
elided_named_lifetimes
by @WenyXu in #4936 - fix: database base ttl by @v0y4g3r in #4926
- fix: pprof by @discord9 in #4938
- fix: the region_stats API will return an error in instance test by @linyihai in #4951
- fix: bugs introduced by alter table options by @killme2008 in #4953
- fix: do not pick compacting/expired files by @evenyag in #4955
- fix: round euclidean result in sqlness by @v0y4g3r in #4956
- fix: column already exists by [@waynexia](https:...