CLP v0.0.2
A release containing all of CLP's open-source features and bug-fixes to date.
Docs
The package contains a README or you can view it here.
Highlights
This release features several usability improvements, bug-fixes, and performance improvements. Some highlights include:
- Support for compression/search using user-specified variable schemas
- A custom encoding for floating-point variables that improves performance and provides better compression
- Reduced memory usage during compression
- Search using multiple workers
Features
- Use a custom float encoding for improved performance and better compression (#38)
- Reduce memory usage during compression by keeping only the necessary parts of various data structures (including the dictionaries) in memory (#40, #47, #48)
- Separate components into different containers and allow them to be started separately (#26, #65)
- Use the host's network rather than Docker's networking to eliminate the difference between single and multi-node deployments (#65)
- Use an instance ID to name all components to allow multiple deployments on a single node (#65)
- Expose the complete config file to the user rather than a simplified one (#65)
- Don't generate a config file but instead use default settings unless modified by a config file (#65)
- Add support for search with multiple nodes (#68)
- Add initial support for compression/search using user-defined variable schemas (#74)
- Update variables schema and encoding methods to match those of the existing logging libraries (#92, #115)
- Add support for building CLP core on macOS (#105, #106, #107)
- Switch to C++ 17's from_chars for better performance (#85)
Bug Fixes
- Use the current user's UID/GID (rather than root) when reading/writing files within mounted directories (#10)
- Recombine large files split across archives in their original order (#37)
- Fixes to enable compression on macOS and within WSL (#45)
- Update celery to 5.2.2 to mitigate CVE-2021-23727 (#46)
- Resolve input paths for compression before using them in the containers (#49)
- Use the archive output directory specified in the config file (#65)
- Cancel decompression/search when the user sends a keyboard interrupt (#65)
- Wait for the database to initialize before trying to use it (#65)
- Mount input logs at a dedicated path in the container that doesn't overlap with files in the container (#65)
- Allow filtering for files which overlap (rather than are encompassed by) the specified time range (#70)
- Allow an empty logtype for messages that only include a timestamp (#76)
- Remove ad-hoc rules used on top of CLP's default variables schema (#42)
- Compress integers less than -2^63 losslessly (#85)
- Add support for compressing zstd-compressed log files (#114)
Thanks to @All-less, @davidlion, @haiqi96, @kirkrodrigues, @LinZhihao-723, @NamanGulati, @SharafMohamed, and @thepegasos for their contributions.