BUG FIX
- Fix #357 group-aggreagate query in backward direction returns invalid first/last values
BUG FIX
- Update Docker images on CI
IMPROVEMENT
- Add --version command line argument
- Add /api/version endpoint
BUG FIX
- Fix #341 aggregate query optimization
IMPROVEMENT
- Expression evaluation using muParser library
IMPROVEMENT
- Add group-aggregate-join query
IMPROVEMENT
- Add expression evaluation
BUG FIX
- Fix #328 group-by query crash
IMPROVEMENT
- Bind HTTP/TCP/UDP server to specific iface
BUG FIX
- Fix RPM package dependencies
BUG FIX
- Fix bulk-transfer encoding
IMPROVEMENT
- Implement events filtering
BUG FIX
- Fix materializaton step for event
IMPROVEMENT
- Add --config command line argument
BUG FIX
- Fix framing issue in RESP protocol parser
IMPROVEMENT
- Support 32-bit ARM/Intel processors
BUG FIX
- Fix #312 integer overflow in RESP parser
- Prohibit use of WAL with single volume
IMPROVEMENT
- Introduce event storage
IMPROVEMENT
- Improve memory requirements by using vector I/O
IMPROVEMENT
- Introduce pivot-by-tag and group-by-tag fields
- Depricate group-by field
- Group-aggregate query can be used with pivot/group-by-tag
IMPROVEMENT
- Aggregate query can fetch several metrics at time
- Group-aggregate query can fetch several metrics at time
- Aggregate query output contains name of the function
BUG FIX
- Fix #296 time-duration overflow in query parser
BUG FIX
- Fix fallocate block size
BUG FIX
- Fix race condition in WAL
BUG FIX
- Fix buffer overflow in WAL
BUG FIX
- Fix incorrect ISO 8601 date-time parsing
IMPROVEMENT
- Support durable writes
- Add write-ahead log implementation
- Implement database recovery using log replay
BUG FIX
- Fix select query behavior when query boundary crosses the retention boundary
- Fix aggregate query precision error on retention boudnary
BUG FIX
- Fix bug in database open procedure
- Fix panic on database close
BUG FIX
- Fix timestamps in group-aggregate query
BUG FIX
- Disable superblock compression
- Fix recovery with lost metadata
IMPROVEMENT
- Detailed error messages
- Escape sequences in series names
BUG FIX
- Fix obsolete tree handling
IMPROVEMENT
- Improve memory efficiency
IMPROVEMENT
- ARM support
IMPROVEMENT
- Build packages for multiple platforms
BUG FIX
- Fix recovery error
- Use robust recovery algorithm implementation
BUG FIX
- Fix packagecloud deployment
IMPROVEMENT
- Introduce OSX support
IMPROVEMENT
- Minimize stdout logging in docker container
- Docker image versioning
IMPROVEMENT
- Dictionary support in RESP protocol
IMPROVEMENT
- Log to stdout/stderr from docker container
BUG FIX
- Fix UDP-server error handling
BUG FIX
- Fix crash on random-device initialization failure
IMPROVEMENT
- Filter clause work with group-aggregate query
IMPROVEMENT
- Add filter query
IMPROVEMENT
- Allow libakumuli.so to be loaded by dlopen
BUG FIX
- Fix UDP server memory corruption #243
BUG FIX
- Fix packagecloud deploy
IMPROVEMENTS
- Provide generic and optimized images
BUG FIXES
- Signals are not propagated to the akumulid server in docker container
IMPROVEMENTS
- Stop daemon using both SIGINT and SIGTERM
IMPROVEMENTS
- Specify version for shared object for easier ABI checking
BUG FIXES
- Fix #235 (don't use -march=native)
IMPROVEMENTS
- Use CMake macros for install directories from GNUInstallDirs
BUG FIXES
- Add the missing header for GCC 7.2.x
IMPROVEMENTS
- Update prerequisites.sh
BUG FIXES
- Set up locale (fix #227)
NEW FEATURES
- Build Docker container on CI
BUG FIXES
- Fix idle CPU load problem
BUG FIXES
- Fix debian package dependencies
NEW FEATURES
- New form of 'where' clause added
BUG FIXES
- Rate calculation is fixed
NEW FEATURES
- Tranformation pipleline added to query processor
- A bunch of new functions added to the pipeline
- New endpoint added - /api/function-names
BUG FIXES
- Group-aggregate query failure is fixed (#208).
NEW FEATURES
- New search API
- New suggest API (for Grafana plugin)
IMPROVEMENTS
- Inverted index for series names
IMPROVEMENTS
- OpenTSDB protocol improved. TCollector can send data to Akumuli now.
IMPROVEMENTS
- Node-split algorithm added to NB-tree. This algorithm can be used as a building block for the update/delete implementation.
BUG FIXES
- Panic on open is fixed (#193).
- Join query error on incomplete data is fixed (#200).
IMPROVEMENTS
- New join query implementation handles missing data properly, join query can be used even if data poins are not perfectly aligned in time.
BUG FIXES
- Race condition in HTTP server that prevented server from sending error response
NEW FEATURES
- OpenTSDB telnet-style API implemented (partially)
BUG FIXES
- Join query error fixed #194
- Name truncation error #197 is fixed
IMPROVEMENTS
- Blockstore uses mmap to read data from disk if possible
- Blockstore uses zero-copy mechanism for mmap data
IMPROVEMENTS
- Blockstore is not using metadata file to track volume information (issue #177)
- Volume information is stored in the sqlite3 database now (with recovery information)
NEW FEATURES
- New storage engine based on NB+tree (B+tree variant) with crash recovery
- Blockstore implementation added (fixed size and extendable)
- HTTP-server with JSON based search API
- Ingestion through TCP and UDP
- REST based ingestion format
- Bulk data ingestion
- Query API
- Metadata query ("select meta")
- Scan query ("select" statement)
- Aggregations ("aggregate" statement)
- Group-by on series names ("group-by" statement)
- Group-aggregate on data points ("group-aggregate" statement)
- Join query ("join" statement)
- Column-store with query planner with support for different materialization strategies and operators