I agree that it's time for a new release, and let the community try the
new version and provide feedback before we commit to 1.0. There are some
exciting improvements already, like the performance improvements in CWEL
and the volatile repos, but most of the effort went into refactoring and
smaller improvements behind the scenes in the last few months.
Back in February I expected the next release to be 1.0, but it makes
more sense to finish up the new C API, and enable us to commit to
keeping a stable API and ABI for third party extension developers. I
also can't wait to add Rust bindings for that new API, hopefully
attracting new contributors and users to the community.
Thanks,
Marton
On 9/16/25 7:02 PM, Ferenc Gerlits wrote:
+1
Thank you for RMing!
Ferenc
On Tue, Sep 16, 2025 at 3:18 PM Gábor Gyimesi <lordga...@apache.org> wrote:
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