DEV Community

Timothy Spann.   🇺🇦
Timothy Spann. 🇺🇦

Posted on • Originally published at on

Apache NiFi 2.0.0-M2 Out!

Apache NiFi 2.0.0-M2 Out!

New NiFi Features and Updates

More NiFi and faster.

So where’s the beef in this new upgrade?

New Features and Changes

New Schema Registry Options Added

  • DatabaseTableSchemaRegistryService
  • StandardJsonSchemaRegistry

New Components

  • StandardKustoIngestService
  • ZendeskRecordSink

New Processors

  • CalculateParquetOffsets
  • CalculateParquetRowGroupOffsets
  • FilterAttribute
  • PublishSlack
  • PutMongoBulk
  • PutAzureDataExplorer
  • PutZendeskTicket

NiFi Used Libraries / Upgraded

  • Spring Framework 6
  • Jetty 12
  • Jakarta Servlet API 6
  • Jakarta XML Binding 4
  • Swagger 2 annotations
  • OpenAPI 3.0 REST API specification

These removals may hurt

  • Removed MiNiFi C2 Server modules
  • Removed Docker image configuration
  • Relocated JoltTransformJSON and JoltTransformRecord from nifi-standard-nar to nifi-jolt-nar
  • Removed InfluxDB Processors (use processors from an older version if needed)
  • Removed Bootstrap Notification Services

ListenSlack (WebSockets API)

Now we can use this processor (and not need to leave a port open for Slack to call us), to get the current stream of Slack messages. This is great and fast. WebSockets are nice and not having to write this myself is nice.

"clientMsgId" : "3434ad0d-0afe-4563-8c21-91bda87cf41c",
"type" : "message",
"team" : "E2TE1MAG",
"channel" : "C1SD6N197",
"user" : "ULMRENSE4",
"botId" : null,
"botProfile" : null,
"text" : "Q: What is the weather at Newark?",
"blocks" : [ {
"type" : "rich_text",
"elements" : [ {
"type" : "rich_text_section",
"elements" : [ {
"type" : "text",
"text" : "Q: What is the weather at Newark?",
"style" : null
} ]
} ],
"blockId" : "z/mKt"
} ],
"attachments" : null,
"files" : null,
"ts" : "1706648003.547529",
"parentUserId" : null,
"threadTs" : null,
"eventTs" : "1706648003.547529",
"channelType" : "channel",
"edited" : null,
"subtype" : null


For Consume Slack we are able to grab the history from Slack, which is great.

"text":"Q: When did Emirates Airlines start?",
"Q: When did Emirates Airlines start?","style":null}]}],
"blockId":"bTFip"}],"attachments":null, ...


This new one is nice as you just pass in a FlowFile, but warning. PutSlack is gone!!! No more incoming webhooks used. You need an Access Token from Slack.


GitHub - tspannhw/FLaNK-DatabaseTableSchemaRegistry: Database Table Schema Registry

Database Table Schema Registry. Contribute to tspannhw/FLaNK-DatabaseTableSchemaRegistry development by creating an…

Table Schema Used For Registry

Lots of options from AmazonGlue, API Curio, Built-in Avro Schema Reg, Confluent SR and the Database Table SR


NiFi 1.25

For a production branch, NiFi 1.x has been upgraded and has some goodies. It has the Slack, FilterAttributes and DatabaseSchemaRegistry. So this is where you should be running your main production flows (or preferrably in Cloudera DataFlow with full support).

Release Notes

Version 2.0.0-M2 is the second milestone version of Apache NiFi 2.0.0. This version includes a number of new features…

Release Notes - ASF JIRA

Release Notes - Apache NiFi - Version 1.25.0 - HTML format


Migration Guidance

The Apache NiFi community recognizes how important it is to provide reliable releases on a number of levels. But one of…

Release Notes

Version 2.0.0-M2 is the second milestone version of Apache NiFi 2.0.0. This version includes a number of new features…

Deprecated Components and Features

Apache NiFi supports a large number of extension components for integrating with a variety of products and services…


Provides a service for generating a record schema from a database table definition. The service is configured to use a…

Top comments (0)