Thanks for initiating the discussion, and taking on the RM role, Martin! I agree it's time to do 1.0, there are so many exciting new features.

We've had countless private discussions about release scope and goals before, so I just want to add my comments to a few changes:

- Stable C based API: Here we're committing to both API and ABI stability on minifi-api.h. This is also how compiled extensions using the new Rust or C++ extension API / bindings will continue to load in future versions, until the next ABI break, even if they may no longer build with newer API versions. Extension binaries will finally be portable between MiNiFi C++ versions on the same platform. - C++ bindings based on Stable API: The goal here was to make it easy to port existing extensions to the stable ABI, with minimal code changes. - Rust bindings based on Stable API: The "reimagined" standard processors are for testing only, not replacing existing standard processors. - Safer Configuration Handling: Modified conf/*.properties files are loaded like before, but on Windows, the MSI update works best if all installed files are left unchanged, and the added flexibility can help config management on Linux too. - removed ExecutePythonProcessor: In addition to the NiFi Python processor API, the older MiNiFi C++ Python processor API is still supported too, when registered separately as a new processor, but it's no longer possible to run them through the ExecutePythonProcessor processor.

I'm not aware of any blockers, let's get the new release out!

Thanks,
Marton

On 7/27/26 7:09 PM, Adam Debreceni wrote:
+1
Thank you for RMing!

On Mon, Jul 27, 2026 at 6:31 PM Matt Burgess <[email protected]> wrote:

+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]

Reply via email to