Nussknacker Versions Save

Low-code tool for automating actions on real time data | Stream processing for the users.

v1.14.0

1 month ago

Highlights

End user

  • New Decision table component, that allows expressing multi-condition decisions in a straightforward way
  • Scenario processing modes - streaming, request-response, or batch (in the next release!) - made a first-class citizen in Designer, to help users choose how to process the data
  • Multiple scenario and fragment validation improvements

Administrator

  • Added support for different topic naming conventions in Azure Schema Registries
  • Bumped Flink to 1.17

Component developer

  • Changes and improvements in Component API for custom component development

All changes

For detailed list of changes see Changelog and Migration guide.

New Contributors

v1.13.2

1 month ago

What's Changed

  • #5447 Fix: java.lang.reflect.InaccessibleObjectException: Unable to make public java.lang.Object exception by downgrade of JRE from 17 to 11 in lite runner image for scala 2.13

v1.13.0

3 months ago

Highlights

For Nu Designer user

  • Fixed exporting scenario to PDF
  • Fixed SpEL suggestions not appearing in some cases
  • Fixed fragment migration to another environment
  • Added ability to drag and drop map fields
  • Fixed non-unique test case IDs when testing scenario with union
  • Removed output "dot" on fragments which don't have any outputs
  • Fixed NodeAdditionalInfo style
  • Added ability to access fields in records using indexing, for example {jan:300, alex:400}['alex'] returns 400
  • Added CountWhen and Average aggregations
  • Expanded FragmentParameter with new fields: hintText, initialValue, required, inputMode
  • Added ability to perform insert/update queries on the db by adding the Updates count strategy to the db-query service

For Nu developer

  • Fixed Nussknacker ARM64 Docker images
  • Improved TestScenarioRunner
  • Parametrised metrics configuration in dev-application.conf
  • Decoupled the listener-api module from the restmodel module
  • Changed the Validator.isValid method, which now takes an expression and optional evaluated value, instead of just an expression
  • Bumped Cats Effect 3

For Nu administrator

  • Clarified K8s configuration in docs
  • Redesigned categories configuration
  • Improved error logging in case of Nu Designer API errors
  • Made processing type to category mapping 1-to-1 instead of 1-to-many

What's Changed

  • Fixed AppApiSpec
  • Allowed passing timestampAssigner to FlinkTestScenarioRunner
  • Fixed flaky Cypress snapshots
  • Fixed exporting scenario to PDF
  • Migrated UI from emotion/styled to MUI
  • Fixed SpEL suggestions not appearing in some cases
  • Fixed fragment migration to another environment
  • Added ability to provide additional components UI configuration - without the need for model reload
  • Removed legacy scenarios table
  • Added AdditionalUIConfigProviderFactory API that allows changing components' configs and scenario properties' UI configs without model reload
  • Improved performance of getting processes and processes' status
  • Clarified K8s configuration in docs
  • Removed legacy_scenarios endpoint
  • Reduced number of partitions created by EmbeddedKafkaServer
  • Fixed Nussknacker ARM64 Docker images
  • Improved TestScenarioRunner
  • Redesigned categories configuration
  • Fixed removing temporary EmbeddedKafkaServer data after shutdown
  • Added ability to drag and drop map fields
  • Fixed handling of mixed legacy and new categories inside scenario types format
  • Added support for handling runtime exceptions at FlinkTestScenarioRunner
  • Added ability to run Nussknacker scenarios on Ververica Cloud
  • Parametrised metrics configuration in dev-application.conf
  • Remove stylus leftovers from remaining components
  • Fixed JMH benchmarks on Windows
  • Fixed non-unique test case IDs when testing scenario with union
  • Removed output "dot" on fragments which don't have any outputs
  • Removed access to ClazzDefinition from Nu API
  • Decoupled the listener-api module from the restmodel module
  • Improved input data validations
  • Added explicit close of HTTP connection for scenario migration code
  • Allowed to use custom authentication methods in user-defined Authentication Providers
  • Fixed NodeAdditionalInfo style
  • Fixed unknown scenario status after changing scenario version
  • Removed obsolete request-response-manager
  • Updated ScalaTest and Logback
  • Changed the Validator.isValid method, which now takes an expression and optional evaluated value, instead of just an expression
  • Removed global variable types from communication between BE and FE
  • Replaced NuResourcesTest with NuItTest and NuScenarioConfigurationHelper in tests
  • Added new parameter validator - ValidationExpressionParameterValidator that allows to use SpEL (or any other) expression to validate parameters
  • Added an option to set schema on connections in the SQL Enricher
  • Improved error logging in case of Nu Designer API errors
  • Made processing type to category mapping 1-to-1 instead of 1-to-many
  • Expanded FragmentParameter with new fields: hintText, initialValue, required, inputMode
  • Added missing validations to base components
  • Fixed checking read access to category
  • Replaced Akka HTTP with Tapir in ComponentResource
  • Removed TypedMap class
  • Added copy/apply without hintText to parameter
  • Replaced Akka HTTP with Rest assured in the user info endpoint
  • Replaced Akka HTTP in user endpoint with Tapir
  • Changed the colour of URLs in the Comments tab
  • Fixed runtime exceptions not being displayed in test mode
  • Added tests for Notification endpoint with rest assured
  • Using ComponentType directly in ModelDefinition instead of simpler types
  • Added OnActionExecutionFinished event to ProcessChangeEvents
  • Cleaned up TestResults class
  • Removed Kafka low-level components
  • Removed data validators on the FE side
  • Added mode to run updates in query enricher
  • Refactored Flink Compiler
  • Fixed "Not expected type: Null runtime error for non-nullable…"
  • Added ability to access fields in records using indexing, for example {jan:300, alex:400}['alex'] returns 400
  • Bumped Cats Effect 3
  • Removed nondeterminism in NotificationApiSpec
  • Added CountWhen and Average aggregations
  • Added ability to perform insert/update queries on the db by adding the Updates count strategy to the db-query service

v1.12.6

3 months ago

What's Changed

  • #5447 Fix: java.lang.reflect.InaccessibleObjectException: Unable to make public java.lang.Object exception by downgrade of JRE from 17 to 11 in lite runner image for scala 2.13

v1.12.5

5 months ago

What's Changed

  • #5094 Fix: The compare option doesn't display fragment input properties between the two versions

v1.12.4

5 months ago

What's Changed

  • #4992 Fix: List of periodic deployments is now sorted not only by schedule time but also by its creation time.

v1.12.3

6 months ago

Highlights

For Nu Designer user

  • new: Ad-hoc testing for Fragments
  • improvement: better Nu Designer stability
  • improvement: SpEL-related improvements
  • fix: Minor UI-related bug fixes

For Nu developer

  • new: Introduced OpenAPI documentation for Nu API (partially)
  • improvement: Utils modules enhancements

For Nu administrator

  • improvement: OIDC authentication enhancements

What's Changed

  • Fix: Synchronize embedded engine deployments after designer restart
  • Change api/parameters/*/validate and api/parameters/*/suggestions endpoints.
    • Use processingType instead of processName
    • Add the scenarioName parameter to ParametersValidationRequest used in the api/parameters/*/validate endpoint
  • Added validation to SpEL string literal conversions (allow only constant that convert successfully)
  • Cleaning subprocess usages after the NU 1.11 release
  • Fixed: Releasing app resources on the designer close
  • Improvement: Allow selecting a claim from OIDC JWT to represent the username
  • Remove: Back compatibility for encoding/decoding UIParameter
  • Improvement: Users are not required at the OAuth2 config file
  • Allow testing fragments using ad hoc testing.
  • The package of improvements:
    • make the properties of the FlinkStreamingPropertiesConfig public, so that they can be reused
    • introduce the CaseClassTypeInfoFactory, a generic factory for creating CaseClassTypeInfo
    • allow passing classLoader at ResourceLoader.load
  • Improvements: at KafkaClient and RichKafkaConsumer in kafka-test-utils
  • Expand timestamp support to handle more types/formats
  • App API OpenAPI-based documentation (e.g. https://demo.nussknacker.io/api/docs)
  • Support for the overrideFrontendAuthenticationStrategy configuration parameter in the OIDC security model - works the same as in the OAuth2 case.
  • Add configuration parameter for sending additional headers to InfluxDB (countsSettings.additionalHeaders)
  • Fix: RegExpParameterValidator, trimming SPeL comprehension
  • Fix for OIDC: support for simultaneously Machine-2-Machine and Basic flow handling:
    • Skip user profile call based on the fact that the access token is JWT with the subject and the user has username configured.
    • accessTokenIsJwt Oidc configuration introduced in #4283 is removed: audience configuration specifies that access token is a JWT as it was before this change
  • Ability to define the name of query parameter with access token that will be passed into tabs URL
  • Improvement: Allow passing globalVariables on TestRunner

v1.11.3

8 months ago

What's Changed

  • Fix: Synchronize embedded engine deployments after designer restart

v1.11.1

8 months ago

What's Changed

  • Fix: subprocess to fragment migration

v1.11.0

8 months ago

Highlights

  • New: API changes allowing for operations on individual scenario deployments
  • New: SpEL templates
    • Custom components can now handle parameters described in SpEL template instead of SpEL expression. It might be useful for components that mix some other language like SQL with SpEL or normal, human-readable text with elements of SpEL. Currently no components from public distribution support this feature, but it is available for component's developers.
  • Improvement: New filter in components view allowing for displaying direct and indirect usage
  • Improvement: Better readability of displayed types
    • For example previous {key: String{val}} will now be displayed as Record{key: String(val)}
  • Improvement: More graceful handling of backend and network connection problems in designer
  • Improvement: Kafka exception handler now provides information about parent context of variables during handling errors in fragments
  • Fix: Handling of non-parametrized queries in SQL query enricher

Some other small fixes and improvements. For detailed list of changes see Changelog and Migration guide.

New Contributors