Summary
Development period: 2025-12-15 - 2025-12-28
v1.0.0-beta.4 is out! This release brings database-level compaction options that apply dynamically to existing tables, critical bug fixes (including panic issues when sorting on time index), and the changes highlighted below. We recommend upgrading.
Here's what landed in GreptimeDB over the past two weeks:
- More MySQL-compatible string functions
- Unified memory limiting across write paths
- Modular manifest storage for easier maintenance
Contributors
18 contributors merged 61 PRs in this cycle. 6 community contributors accounted for 9 PRs—welcome @frostming!
Shoutout to our most active community contributors:
Highlights of Recent PRs
db#7454 Add MySQL-compatible string functions
Adds LOCATE, ELT, and FIELD—string functions MySQL has but DataFusion doesn't. Handy for users migrating MySQL workloads. Also switches function aliasing to DataFusion's native alias system, dropping our custom implementation.
db#7280 Unify storage configuration for CLI export
The CLI export command now uses a shared ObjectStoreConfig from the common module, cleaning up duplicate config code and adding support for local filesystem, S3, OSS, GCS, and Azure Blob Storage.
db#7483 Modularize manifest storage
Breaks the monolithic ManifestObjectStore into focused components: DeltaStorage, CheckpointStorage, and StagingStorage. Gets rid of the awkward is_staging: bool parameter and makes it easier for StagingStorage to handle content types beyond delta manifests.
db#7402 Unify database compaction options with TTL behavior
Compaction options now resolve at scheduling time with table → database → default priority, matching how TTL works. Table creation no longer copies database-level settings—only explicit table-level settings are preserved.
db#7408, db#7437 Unify memory limiting
Moves MemoryManager to the common crate and consolidates three overlapping memory limiters into one. Replaces the expensive recursive size calculations in Frontend and the per-request RequestMemoryLimiter in HTTP/gRPC servers with a unified approach using 1KB granularity for fairer allocation under high concurrency.
Good First Issue
Issue#7328 Improve HTTP handler error logging
Some HTTP handlers return non-200 responses without logging the underlying error, making production debugging harder than it needs to be. The goal is to audit all handlers and add consistent error logging before returning error responses.
Keywords: HTTP handler, Error logging
Difficulty: Medium
Issue#7314 Add built-in daemon mode
On ARM64 boards or edge devices, GreptimeDB terminates when the shell session closes. Adding a --daemon flag (à la Redis's daemonize yes) would let it run detached from the terminal—useful for embedded systems without systemd where nohup is the current workaround.
Keywords: CLI, daemon, edge deployment
Difficulty: Easy


