There is a limitation of CMake that it doesn't allow anything other than
numbers in the version. MiNiFi C++ uses CMake as its build system
generator, so this affects us. The initial idea was to go with 1.0.0
internally, and only specify the -M1 suffix in the package name, git
tag, etc.
We had a conversation with the c++ agent contributors, where I proposed
to go with 0.99.0 instead, which still signifies that this is "close to
1.0", but it may avoid confusion when someone looks at the internal
version metadata. Not sure if it shows up anywhere on Linux, but on
Windows, this version is visible in 'Programs and Features', and in the
PE metadata of our binaries (minifi.exe, extension DLLs), where users
would only see 1.0.0, even for the milestone releases, if we stayed with
1.0.0 as the CMake-internal version.
I want to propose to the wider community as well to go with 0.99.0 as
the first MiNiFi C++ milestone release version for 1.0, both internally
in CMake and externally in the package name, git tag, and anywhere else
where we show version. We can continue with 0.99.1 and so on for future
pre-1.0 milestone releases. We already agreed to this change in a
private conversation with the MiNiFi C++ core contributors, so I'll go
ahead and change the version in Jira, etc, unless anyone objects.
Thanks,
Marton
On 4/18/24 1:14 PM, Arpad Boda wrote:
+1 and thanks for RMing!
The python support in this new AI era is great!
On Thu, Apr 18, 2024 at 1:01 PM Marton Szasz <sza...@apache.org> wrote:
+1, thanks for RMing.
I think we should follow the progression of the new NiFi Python API with
the MiNiFi C++ 1.0 milestone releases, and when NiFi 2.0 is out, we
could release MiNiFi C++ 1.0, and commit to backwards-compatibility to
this API.
I'd exclude the C++ API, and the old MiNiFi C++-style Python and Lua
scripting APIs out of the backwards compatibility commitment.
Thanks,
Marton
On 4/16/24 6:41 PM, Pierre Villard wrote:
I'm a +1 with this approach. Being able to use the Python extensions in
MiNiFi cpp is great!
Thanks,
Pierre
Le mar. 16 avr. 2024 à 18:39, Gábor Gyimesi<gamezb...@gmail.com> a
écrit :
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 there have been many
new
features, bug fixes and stability improvements committed to the
development
branch since then: 107 tickets closed, over 122 commits as of today.
I would be happy to take on RM duties for this release.
Notable features and improvements since the 0.15.0 release:
New notable features:
- Added support for using NiFi 2.0 Python processors in MiNiFi C++
- This also includes several improvements to the previous MiNiFi
style
python processors, like additional property options, custom
relationships
and virtualenv support
- Added new python based multiplatform bootstrap script
- Added encryption support for sensitive properties in flow
configuration
- Releasing Windows installer now can be done (and will be done) under
the
Apache license
- Added support for service installation on MacOS
- Added C2 debug command to MiNiFi Controller
- Added support for setting MiNiFi properties from command line
- Added system load average field to C2 and Prometheus metrics
- Added support for manually configuring RocksDB options
- Added custom delimiter property for ListenTCP processor
- Added bandwidth limit properties to InvokeHTTP processor
- Added JSON flow configuration examples
New processors:
- Added PutSmb, FetchSmb and ListSmb processor for SMB networking
protocol
support
- Added PushGrafanaLokiGrpc and PushGrafanaLokiREST processors for
pushing
logs to Grafana Loki
- Added JoltTransform to use Jolt JSON transformations
- Added SplitText processor
- Added AttributeRollingWindow processor
Changes and improvements:
- Dropped support for disabling peer verification in InvokeHTTP
- Corrupt flow files are now filtered to avoid errors in the flow
- Using administrative yield duration instead of onschedule retry
interval
in scheduling adjusting to NiFi's functionality
- Fixed high disk IO usage issue with MergeContent
- Fixed the site-to-site transfer or large files
- Fixed memory leak caused by unused loggers
- Fixed yielding processors to still respect scheduling period
Upgraded dependencies:
- Upgraded OpenSSL to version 3.3.0
- Upgraded AWS SDK to version 1.11.219 with support for new AWS regions
- Upgraded libuvc to version 0.0.7
- Upgraded docker base image to alpine:3.18
- Upgraded Sol2 to version 3.3.0
With the current maturity level of the project and with the support for
NiFi 2.0 style python processors and json flow configuration, I suggest
releasing it as version 1.0.0-M1 milestone release.
Do you agree it is time for a new release? Do you agree with the
suggested
version? Are there any blockers that we should definitely include in
this
release?
Thanks,
Gabor