Hi Community,

I’d like to initiate a discussion about the next release of MiNiFi
C++. The last release was more than seven months ago, and since then
many new features, bug fixes, and stability improvements have been
committed to the development branch: 100 tickets closed and over 103
commits as of today.

I would be happy to take on RM duties for this release.

Notable features and improvements since the 0.99.1 release:

New notable features:
- Added support for compilation using the C++23 standard with the
following compilers: g++ 12 or later, clang 16 or later, and MSVC
19.33 or later
- Added Linux FHS support, enabling RPM packaging with standard
directory conventions
- Added FIPS compliance support
- Added support for asset path references in flow configs in the
@{asset-id:id} format
- Added support for parameter providers and parameter context inheritance
- Added support for CMake4
- Dynamically find and load libpython on macOS
- Added processorBulletins C2 metric node to FlowInformation metrics
- Added option to output the full batch as a single flow file in TailFile
- Added lazy mode using the last seen value in FetchOPCProcessor
- Added state manager support for the Python NiFi API
- Extended OPC processors new properties and the OPC processors now
work correctly with node id path
- Extended ConsumeKafka with a commit offset policy property for late
offset commits
- Added flowStatus command to minifi.sh

New processors and controllers:
- Added RunLlamaCppInference processor
- Added PutKinesisStream processor
- Added ConvertRecord processor
- Added EvaluateJsonPath processor
- Added SplitJson processor
- Added XMLReader and XMLRecordSetWriter controller services

Changes and improvements:
- Significant code restructuring for the upcoming C API introduction
- Improved ConsumeWindowsEventLog performance by more than 60%
- Redesigned VolatileContentRepository for easier use and 2× better performance
- Improved schema generation for easier usage
- Refactored property handling for cleaner usage
- Funnels can now be used as terminators
- Improved logging for Python virtualenv initialization
- Improved MSI installer for script extensions

Upgraded dependencies:
- Upgraded expected_lite to v0.9.0
- Upgraded GCP library to v2.38.0
- Upgraded googletest to v1.17.0
- Upgraded libarchive to v3.8.1
- Upgraded cpplint to version 2.0.2
- Upgraded Azure SDK to versions: Azure Identity v1.13.0, Azure
Storage Blobs v12.14.0, Azure Storage Files Datalake v12.13.0-beta.1
- Upgraded Asio library to v1.34.2
- Upgraded RocksDB library to v10.2.1
- Upgraded Catch2 library to v3.8.1
- Upgraded Couchbase library to v1.1.0
- Upgraded sol2 library to v3.5.0
- Upgraded spdlog library to v1.15.3
- Upgraded fmt library to v11.2.0

With the upcoming C API support for processor development still
underway, I suggest releasing this as version 0.99.2. When the C API
is ready, we can plan for a 1.0.0 release.

Do you agree it is time for a new release? Are there any blockers that
we should definitely include in this release?

Thanks,
Gabor

Reply via email to