+1 from me, looking forward to this awesome release! Thanks for
RM'ing Martin!
On Mon, Jul 27, 2026 at 10:50 AM Martin Zink <[email protected]>
wrote:
Hey Community,
I’d like to initiate a discussion about the next release of MiNiFi C++.
The
last release was in October, and I believe it is time to officially
propose
our *first stable 1.0.0 release*.
I would be happy to take on RM duties for this release.
This is a major milestone for the project. The most significant highlight
is the introduction of a *stable API with a full backward compatibility
guarantee*. This API (written in C) allows developers to write processors
and controller services in C/C++, Rust, or any FFI-capable language with
guaranteed ABI compatibility.
*Notable features and improvements:*
- *Stable C API:* A single C header API that allows any FFI-capable
language to interoperate with MiNiFi C++ with minimal overhead. Any
extension built using the API will load with newer MiNiFi builds
without
needing to be rebuilt
- *C++ bindings based on Stable API: *GCP, Kafka, Llamacpp extensions
(7
processors and 1 controller service) have already been ported to use
the
stable API
- *Rust bindings based on Stable API: *We've also implemented the
stable
API in Rust and reimagined several standard processors to showcase it.
There are already new Rust-based extensions in PRs waiting to be
merged
- *Revamped Site-to-Site:* Added Zlib compression, optional input
ports,
output-port fixes, and robust error handling.
- *Expanded Cloud Auth & Support:* Introduced Azure Credential
Configuration Strategy (Managed/Workload/Default), GCP Application
Default
Credentials, and HTTP proxy controller service support for AWS, Azure,
and
GCP
- *Python Enhancements:* Python NiFi-API processors can now run in
parallel via @concurrentTasks
- *Safer Configuration Handling:* Runtime configuration files are no
longer modified directly; overrides now live safely in *.properties.d/
- *RunLlamaCppInference* now accepts images alongside text prompts
Changes and Improvements
- Record Reader/Writer support has been added to MQTT processors
- AWS S3 now uses the AWS CRT S3 client for improved performance
- RocksDB small-DB memory optimization is now enabled by default
- C2 assets now stream directly to disk with a configurable HTTP
timeout
- Python Expression Language (EL) improvements
- Separated state managers for schedule and trigger threads to avoid
race conditions in stateful processors
- Fixed deadlocks and crashes occurring during concurrent C2 flow
updates and start/stop commands
Breaking Changes
- SSL contexts can no longer be loaded from the flow config; users
must
use an SSL controller service
- Azure Managed Identity Credentials property has been replaced by
the Credential
Configuration Strategy
- AWS S3 multipart upload behavior may differ slightly due to the
switch
to the CRT client
Removed
- Unused and unmaintened OpenCV extension (CaptureRTSPFrame and
MotionDetector)
- ExecutePythonProcessor (superseded by NiFi-API Python processors)
- Legacy bootstrap.sh and per-distro shell scripts (use Python
bootstrap
or Conan instead).
Do you agree it is time for our 1.0.0 release? Are there any blockers or
open PRs that we should definitely include in this release?
Thanks,
Martin Zink
[email protected]