Skip to content

2.0.0

Compare
Choose a tag to compare
@muralibasani muralibasani released this 01 Feb 09:30
· 1184 commits to main since this release
4dabe42

Release Notes: Klaw 2.0.0

Date: 1st Feb, 2023

Overview

Klaw version 2.0.0 is a major release with a couple of new features and improvements.

Breaking changes

Java 11 Support discontinued:
Klaw will no longer support Java 11. Instead, Klaw now supports Java 17 (LTS) and Java 19 (latest). Please ensure that your system is updated to one of these versions before using Klaw.

New features

  • React UI:
    With the switch to React, this release features a redesign of the following user interfaces:

    • Topic Request: Users can now submit topic requests using the new UI.

    • Subscription Request (Producer/Consumer): Users can now submit ACL requests for both producers and consumers using the new
      UI.

    • Schema Request: Users can now submit schema requests using the new UI.
      To preview the new Klaw user interfaces, open the application.properties file on the Klaw core module, and set the value of the
      following property to true:

      Enable new Klaw user interface

      klaw.coral.enabled=true

  • Schema Promotion:
    Users can now promote their schemas from lower to higher environments. They can select a specific version of the schema and
    submit a request for approval. Once the request is approved, the schema will be created in the target environment. Additionally, there
    is now an option to force-register the schema in case of any compatibility issues during registration.
    For more information, see Schema Promotion.

    Updated tenant config with below two parameters

    "orderOfSchemaPromotionEnvsList" : [ "DEV_SCH", "TST_SCH" ],
    "requestSchemaEnvironmentsList" : [ "DEV_SCH"]

  • Authorization from OAuth2 Provider/Active Directory
    With this release, users can now be authorized through an OAuth2 Provider or Active Directory. Roles for users can be defined in the
    provider, such as grants in Azure Active Directory, and Klaw will validate and assign these roles to users during the sign-up process. To
    enable the authorization feature, set the below property to value "true" in the application.properties file:

    klaw.enable.authorization.ad = true

    For more information, see Authorization.

Improvements

This release focuses on several key improvements:

  • Spring boot upgrade to 3.0.2, which includes a significant upgrade in Spring security.
  • Upgraded Java support from version 11 to version 17, and support for Java version 19.
  • Upgraded the Kafka client to 3.3.2.
  • Added integration tests with embedded kafka on Cluster API.
  • Support on service accounts for Aiven for Apache Kafka clusters
  • Docker support for multi-platforms
  • In ACL request form, topics are filtered to show only those available only in the selected environment.
  • Klaw documentation updated to include information on Authentication, Kafka Cluster migration, Tenants, Settings, and Analytics
  • Added Docker scripts to run Klaw locally based on your current working version of klaw.
  • Added Swagger plugin 2.x to generate the API specification of the backend API. Every time you run a maven install, the plugin
    generates the specs and is available in the src/main/resources folder.
  • Deep URL linking is now enabled, allowing users to be routed directly to the URL they accessed before login.
  • Increased unit tests to improve stability and code coverage.
  • Implemented the use of session storage to redirect users to their pending requests page for a more efficient experience. Previously,
    the Klaw relied on reading the URL to redirect users to their pending requests page.
  • Pem certificate support to connect to kafka clusters

Bugs fixes:

  • Fixed an issue with incorrect topic display on the schema request page.
  • Resolved an issue with the synchronization of the topics page when selecting multiple topics and improved error handling and logging.
  • Fixed a configuration error where the default field for Kafka connectors was set to topic instead of topics and added an alternative field
    topics.regex.
  • Resolved an issue with Windows AD authentication that prevented users from properly routing to the home page.
  • This fix ensures that the environments that are selectable for a 'Request Topic' or 'My Schema Request' are filtered to only show the topics defined in the tenant model under requestTopicsEnvironmentsList and requestSchemaEnvironmentsList.

Upgrade

To upgrade to this release, download the package from https://github.com/aiven/klaw/releases/tag/2.0.0 and follow the instructions on Klaw documentation to upgrade. You can also refer to the README file for information.

Database: To accommodate any schema requests with the force register option, a new parameter has been added to the schema request. A new column, forceregister, has been introduced in the kwschemarequests table. The Liquibase database migration framework will handle adding this column during the upgrade process.

Change log

Full Changelog: v1.2.0...v2.0.0

Contributors

The below contributors have contributed to this release.

Mirjam Aulbach
Samuli Suortti
Mathieu Anderson
Aindriu Lavelle
Murali Basani
Sergey Nuyanzin
Josep Prat
Anthony Callaert
Harshini Rangaswamy
Mustafa Saifee