Release notes and migration guides

Here you can find Kanzi release notes and migration guides:

  • Release notes list new features, feature improvements, documentation changes, and defect fixes.

  • Migration guides provide instructions how to port your Kanzi applications from the previous Kanzi release.

Kanzi version

Release notes

Migration guide

Kanzi 3.9 beta 1 release highlights

Kanzi 3.9 beta 1 release notes

Kanzi 3.9 beta 1 migration guide

Kanzi 3.9 alpha 6 release highlights

Kanzi 3.9 alpha 6 release notes

Kanzi 3.9 alpha 6 migration guide

Kanzi 3.9 alpha 5 release highlights

Kanzi 3.9 alpha 5 release notes

Kanzi 3.9 alpha 5 migration guide

Kanzi 3.9 alpha 4 release highlights

Kanzi 3.9 alpha 4 release notes

Kanzi 3.9 alpha 4 migration guide

Kanzi 3.9 alpha 3 release highlights

Kanzi 3.9 alpha 3 release notes

Kanzi 3.9 alpha 3 migration guide

Kanzi 3.9 alpha 2 release highlights

Kanzi 3.9 alpha 2 release notes

Kanzi 3.9 alpha 2 migration guide

Kanzi 3.9 alpha 1 release highlights

Kanzi 3.9 alpha 1 release notes

Kanzi 3.9 alpha 1 migration guide

Kanzi 3.8 release highlights

Kanzi 3.8 release notes

Kanzi 3.8 migration guide

Kanzi 3.7 release highlights

Kanzi 3.7 release notes

Kanzi 3.7 migration guide

Kanzi 3.6.9 release highlights

Kanzi 3.6.9 release notes

Migration effort is not required.

Kanzi 3.6.8 release highlights

Kanzi 3.6.8 release notes

Kanzi 3.6.8 migration guide

Kanzi 3.6.7 release highlights

Kanzi 3.6.7 release notes

Migration effort is not required.

Kanzi 3.6.6 release highlights

Kanzi 3.6.6 release notes

Kanzi 3.6.6 migration guide

Kanzi 3.6.5 release highlights

Kanzi 3.6.5 release notes

Migration effort is not required.

Kanzi 3.6.4 release highlights

Kanzi 3.6.4 release notes

Kanzi 3.6.4 migration guide

Kanzi 3.6.3 release highlights

Kanzi 3.6.3 release notes

Kanzi 3.6.3 migration guide

Kanzi 3.6.2 release highlights

Kanzi 3.6.2 release notes

Kanzi 3.6.2 migration guide

Kanzi 3.6.1 release highlights

Kanzi 3.6.1 release notes

Kanzi 3.6.1 migration guide

Kanzi 3.6 release highlights

Kanzi 3.6 release notes

Kanzi 3.6 migration guide

Kanzi 3.5 release highlights

Kanzi 3.5 release notes

Kanzi 3.5 migration guide

Kanzi 3.4 release highlights

Kanzi 3.4 release notes

Kanzi 3.4 migration guide

Kanzi 3.3 release highlights

Kanzi 3.3 release notes

Kanzi 3.3 migration guide

Kanzi 3.2.2 release highlights

Kanzi 3.2.2 release notes

Migration effort is not required.

Kanzi 3.2.1 release highlights

Kanzi 3.2.1 release notes

Migration effort is not required.

Kanzi 3.2 release highlights

Kanzi 3.2 release notes

Kanzi 3.2 migration guide

Kanzi 3.1.1 release highlights

Kanzi 3.1.1 release notes

Migration effort is not required.

Kanzi 3.1 release highlights

Kanzi 3.1 release notes

Kanzi 3.1 migration guide

Kanzi 3.0 release highlights

Kanzi 3.0 release notes

Migration effort is not required.

Kanzi 3.9 beta 1 release highlights

These features are new in Kanzi 3.9 beta 1:

  • Data Trigger functionality.

    Use a Data Trigger to apply an action to either set a property value of a target node or activate an Activity node. A Data Trigger keeps that action applied for as long as the condition in that Data Trigger is met. When the condition in that Data Trigger is no longer met, Kanzi reverts the changes that it applied using that Data Trigger. See DataTrigger class in the Kanzi Engine API reference.

  • Navigation Manipulator component.

    Use the Navigation Manipulator to set the keyboard keys that the user can use to navigate to different directions in your application.

    See Using the Navigation Manipulator.

  • Kanzi Java API extensions.

    • Added these additional Kanzi features to the Kanzi Java API:

      • DataSource and DataObject, including support for defining new types

      • Action and Trigger, including support for defining new types

      • Texture

      • Image2D

      • ResourceManager ProtocolHandler, which allows implementing custom resource loading in Java

      See Kanzi Java API reference.

    • Added Java Kanzi Engine plugins and Kanzi Studio support.

      • Kanzi Java API now enables you to write Kanzi Engine plugins entirely in Java. Like their native counterpart, these plugins allow you to break down application code into reusable modules. Each plugin can carry extensions of Kanzi functionality, including new types and related metadata.

      • You can export a plugin and related classes into a JAR file, import it to a Kanzi Studio project and use with the Kanzi Studio Preview.

To see a full list of changes in Kanzi 3.9 beta 1, see Kanzi 3.9 beta 1 release notes.

Kanzi 3.9 alpha 6 release highlights

These features are new in Kanzi 3.9 alpha 6:

  • Linear color workflow

    Linear color workflow enables more accurate light calculations, which results in higher-quality images. Additionally, the introduction of linear color workflow simplifies the workflow with images that store data in different color spaces, such as SRGB and UNORM.

    These images show an example of blending in nonlinear gamma (left) and linear (right) color space.

    ../../_images/legacy-blending.png ../../_images/linear-blending.png

    See Color workflow.

  • Support for glTF 2.0

    ../../_images/glTF_RGB_June16.svg

    You can now import to your Kanzi Studio project all data from glTF 2.0 models, such as nodes, meshes, cameras, skins, animations, morph targets, lights, textures, physically-based materials, and so on.

    See Importing 3D assets and Physically-based material properties.

    ../../_images/gltf-pbr.png

To see a full list of changes in Kanzi 3.9 alpha 6, see Kanzi 3.9 alpha 6 release notes.

Kanzi 3.9 alpha 5 release highlights

These features are new in Kanzi 3.9 alpha 5:

  • Content Layout node.

    Use the Content Layout nodes to present content in a UI control as a single item.

    For example, use a Content Layout node to create the layout for a list item or a button with a border, a background, an icon, and a label.

    See Using the Content Layout nodes.

    ../../_images/content-layout.gif

To see a full list of changes in Kanzi 3.9 alpha 5, see Kanzi 3.9 alpha 5 release notes.

Kanzi 3.9 alpha 4 release highlights

These features are new in Kanzi 3.9 alpha 4:

  • Integration with the Android Application framework:

    • Improved kzDroidFw integration to Android UI and development ecosystem. Kanzi now supports:

      • Simultaneous use of multiple KanziView items in the same application across separate Activities or Fragments

      • Loading and instantiating prefabs from multiple kzb files to different KanziView items

      • Configuring KanziView in layout using attributes

      • Application development entirely in Java

    • kzJava now includes:

      • The Node, Node2D, Node3D, and Math APIs

      • Automatically generated native metadata references

      • Asynchronous resource loading support to ResourceManager

  • Text Box node and Input Method Editors (IME) support text composition. See Using the Text Box nodes.

To see a full list of changes in Kanzi 3.9 alpha 4, see Kanzi 3.9 alpha 4 release notes.

Kanzi 3.9 alpha 3 release highlights

These features are new in Kanzi 3.9 alpha 3:

  • Introduced the Kanzi UI automation plugin that provides runtime access to Kanzi UI elements and enables test automation. This plugin works on top of Kanzi Engine.

  • Added a Kanzi Studio project template that includes the shaders for physically-based rendering.

    ../../_images/new-project-physically-based-rendering.png

To see a full list of changes in Kanzi 3.9 alpha 3, see Kanzi 3.9 alpha 3 release notes.

Kanzi 3.9 alpha 2 release highlights

These features are new in Kanzi 3.9 alpha 2:

  • Text Box nodes

    Use the Text Box nodes to add single-line text input to your application.

    See Using the Text Box nodes.

    ../../_images/text-box-selection-preview-default.png

To see a full list of changes in Kanzi 3.9 alpha 2, see Kanzi 3.9 alpha 2 release notes.

Kanzi 3.9 alpha 1 release highlights

These features are new in Kanzi 3.9 alpha 1:

  • Main loop scheduler

    The MainLoopScheduler subsystem is responsible for the application main loop control flow, with support for extension through Stages and Tasks.

  • Prerelease of Kanzi Java API

    Introduced the first version of Kanzi Java API that provides access to the Kanzi native classes from Java. It uses patterns and conventions that are familiar to Java developers. This version exposes a subset of these subsystems:

    • Metadata

    • Property

    • Message metadata

    • Message

    • Object

    • Node tree

    • Resource management

    Some functionality, workflow, and the API is going to change in the future releases of Kanzi. Your feedback is very important to us and it helps us improve Kanzi. To send your questions, findings, and comments use the Kanzi Support Portal at support.rightware.com.

  • Data Driven Exclusive Activity Host

    Introduced the Data Driven Exclusive Activity Host node. Use a Data Driven Exclusive Activity Host node to create Activity nodes using a data source. For example, you can define the content of menus in a data source and use a Data Driven Exclusive Activity Host node to create the menus in your application.

    See Data Driven Exclusive Activity Host nodes.

  • Introduced new render passes

    • Use the Gather Lights Render Pass and Gather Nearest Lights Render Pass to collect Light nodes for lighting 3D nodes in a scene.

      ../../_images/gather-lights-render-pass.svg../../_images/gather-nearest-lights-render-pass.svg
    • Use the Node List Render Pass to filter and hold a list of nodes that you want to render using other render passes.

      ../../_images/node-list-render-pass.svg

    See Rendering.

  • Uniform bindings

    Uniform bindings in material types enable you to modify the values of shader uniforms without making changes to the shader code.

    See Uniform bindings.

    ../../_images/vertexphong-pointlightcolor-binding.png ../../_images/point-lights-in-preview-binding.png

To see a full list of changes in Kanzi 3.9 alpha 1, see Kanzi 3.9 alpha 1 release notes.

Kanzi 3.8 release highlights

These features are new in Kanzi 3.8:

  • Property Target Easing Interpolator

    Use the Property Target Easing Interpolator when you want to dynamically set the target value for a property and want to interpolate the current value to the target value over time using an easing function.

    See Interpolating property values using easing functions.

  • New functionality for binding expressions

    In binding expressions you can now use:

    • Trigonometric functions

    • Relational operators

    • Logical operators

    • Accessor functions

    • Vector functions

    • Multiplication of vectors and quaternions

    See Bindings expressions reference.

    ../../_images/binding-operations.png
  • Asset Packages

    With asset packages you can create an asset library with content, such as UI components, materials, brushes, styles, and textures. Use asset packages to make this content readily available for use in different Kanzi Studio projects or to share the content within your company for all your Kanzi applications.

    See Asset packages.

    ../../_images/myassetsource.png
  • Cubemap Render Pass

    Use the Cubemap Render Pass to reflect the environment on the surface of 3D nodes.

    See Creating cubemap reflections.

To see a full list of changes in Kanzi 3.8, see Kanzi 3.8 release notes.

Kanzi 3.7 release highlights

These features are new in Kanzi 3.7:

  • Activities

    Activity system allows you to define structure of the UI of your application and implement UI navigation. See Activity nodes.

  • Render pass prefabs

    Introduced render pass prefabs which you can use to create render pass trees that define how Kanzi renders 3D content in your project. You can customize and reuse render pass prefabs in your application. See Rendering, Using render passes and Tutorial: Create a Gaussian blur effect.

    ../../_images/create-group-render-pass.png
  • Bindings

To see a full list of changes in Kanzi 3.7, see Kanzi 3.7 release notes.

Kanzi 3.6.9 release highlights

Kanzi 3.6.9 includes changes and bug fixes. To see a full list of changes in Kanzi 3.6.9, see Kanzi 3.6.9 release notes.

Kanzi 3.6.8 release highlights

Kanzi 3.6.8 includes feature improvements, changes, and bug fixes. To see a full list of changes in Kanzi 3.6.8, see Kanzi 3.6.8 release notes.

Kanzi 3.6.7 release highlights

Kanzi 3.6.7 includes feature improvements, changes, and bug fixes. To see a full list of changes in Kanzi 3.6.7, see Kanzi 3.6.7 release notes.

Kanzi 3.6.6 release highlights

Kanzi 3.6.6 includes a feature improvement, changes, and bug fixes. To see a full list of changes in Kanzi 3.6.6, see Kanzi 3.6.6 release notes.

Kanzi 3.6.5 release highlights

Kanzi 3.6.5 includes feature improvements and bug fixes. To see a full list of changes in Kanzi 3.6.5, see Kanzi 3.6.5 release notes.

Kanzi 3.6.4 release highlights

These features are new in Kanzi 3.6.4:

  • Kanzi Studio solution

    Renewed the functionality and workflow for Kanzi Studio solutions: projects that include other projects. Kanzi Studio now loads projects from a Kanzi Studio solution in separate project tabs in a single Kanzi Studio window. You can configure how you want to access prefabs and resources from these projects. See Tutorial: Combine and Combining Kanzi Studio projects into a Kanzi application.

    ../../_images/resources-make-public.png
  • ASTC

    You can now decrease the size of your kzb files and improve the startup time of your Kanzi application by compressing the textures using the ASTC algorithm. The ASTC offers more control and better compression than the other compression formats available in Kanzi. See Compressing textures.

    ../../_images/astc-compression-speed.png

To see a full list of changes in Kanzi 3.6.4, see Kanzi 3.6.4 release notes.

Kanzi 3.6.3 release highlights

These features are new in Kanzi 3.6.3:

  • Focus manager

    Introduced the focus manager to maintain the focus nodes in Kanzi. The focus manager includes features, such as focus scopes and fencing, separation of active and logical focus, and directional focus definitions. See Focus.

  • Application performance profiling

    Improved the application performance profiling system to include performance measurements for each frame, startup, and tools to help you visualize the performance of your Kanzi application. Kanzi now includes performance profiling builds for reference platforms. The application performance profiling system is now available to all users. See Measuring application performance.

    ../../_images/main-loop-rendering-and-layout-in-hud.png
  • New render passes

    Introduced Draw Objects With Material Render Pass and Material Setup Render Pass render passes to provide additional functionality and flexibility to rendering. See Setting materials for rendering, DrawObjectsWithMaterialRenderPass, and MaterialSetupRenderPass.

    ../../_images/preview-infinity-mirror-completed.png
  • Kanzi Connect tools in Kanzi Studio

    These Kanzi Connect introspection tools allow you to connect to a Kanzi Connect server and get Kanzi Connect message triggers and actions, and data sources directly in Kanzi Studio. To use the Kanzi Connect functionality, you must have Kanzi Connect installed.

    ../../_images/properties-kanzi-connect-enabled.png ../../_images/library-import-connect-service.png

To see a full list of changes in Kanzi 3.6.3, see Kanzi 3.6.3 release notes.

Kanzi 3.6.2 release highlights

To see a full list of changes in Kanzi 3.6.2, see Kanzi 3.6.2 release notes.

Kanzi 3.6.1 release highlights

To see a full list of changes in Kanzi 3.6.1, see Kanzi 3.6.1 release notes.

Kanzi 3.6 release highlights

These features are new in Kanzi 3.6:

To see a full list of changes in Kanzi 3.6, see Kanzi 3.6 release notes.

Kanzi 3.5 release highlights

These features are new in Kanzi 3.5:

To see a full list of changes in Kanzi 3.5, see Kanzi 3.5 release notes.

Kanzi 3.4 release highlights

These features are new in Kanzi 3.4:

  • Support for OpenGL ES 3.0

    Kanzi now supports OpenGL ES 3.0. This allows you to:

    • Use HDR images and cubemaps in .hdr, .exr, and .dds file formats.

    • Use multiple color attachments in a render pass.

    • Use color space setting for color uniforms in material types.

    • Use new texture and raw image formats.

    See Using OpenGL ES 3.0 in Kanzi.

  • Kanzi Lite

    You can use Kanzi Studio to create projects and export a kzb file for Kanzi Lite projects. Kanzi Lite allows you to develop Kanzi applications for proprietary graphics backends.

To see a full list of changes in Kanzi 3.4, see Kanzi 3.4 release notes.

Kanzi 3.3 release highlights

These features are new in Kanzi 3.3:

  • Data sources

    Use data sources to separate the user interface from the application data and to remove the dependencies between a Kanzi Studio project and the application code which define the Kanzi application.

    Kanzi allows you to define the format and structure of your data source by defining a Kanzi Engine data source plugin.

    See Tutorial: Get application data from a data source and Data sources.

  • Multisampling

    Use multisampling (MSAA) to reduce aliasing in selected parts of your Kanzi application. When you use multisampling, Kanzi does not always store the full resolution of the image in the memory. This means that multisampling requires as little as one quarter of the memory bandwidth as supersampling does.

    See Using multisampling.

To see a full list of changes in Kanzi 3.3, see Kanzi 3.3 release notes.

Kanzi 3.2.2 release highlights

Kanzi 3.2.2 includes bug fixes. See Kanzi 3.2.2 release notes.

Kanzi 3.2.1 release highlights

Kanzi 3.2.1 includes bug fixes. See Kanzi 3.2.1 release notes.

Kanzi 3.2 release highlights

These features are new in Kanzi 3.2:

To see a full list of changes in Kanzi 3.2, see Kanzi 3.2 release notes.

Kanzi 3.1.1 release highlights

These features are new in Kanzi 3.1.1:

  • Progressive rendering

    You can now distribute rendering workload across several frames to reduce the amount of work and time required to render one whole frame. See Distributing rendering across several frames and the example project in <KanziWorkspace>/Examples/Progressive_Rendering.

To see a full list of changes in Kanzi 3.1.1, see Kanzi 3.1.1 release notes.

Kanzi 3.1 release highlights

These features are new in Kanzi 3.1:

  • Localization and internationalization

    Kanzi now includes both localization and internationalization. You can localize your Kanzi application to translate and customize it for a specific locale (language and location). In your Kanzi applications you can display text in languages that write right-to-left or use ligatures. For example, in your Kanzi applications you can use Chinese, Japanese, Korean, Hindi, and right-to-left languages, such as Arabic and Hebrew. See Tutorial: Localize your application tutorial and Localization.

To see a full list of changes in Kanzi 3.1, see Kanzi 3.1 release notes and Kanzi 3.1 migration guide.

Kanzi 3.0 release highlights

We created Kanzi 3.0 so that you can create even more compelling user experiences. We improved the workflows, created new tools and objects, and redesigned Kanzi Studio interface to enable you to create user interfaces quickly and try out your concepts faster. Kanzi 3.0 brings the creation of concepts, prototyping, development, and production of user interfaces closer than ever.

  • Pages. We introduced Pages so that you can quickly create application hierarchy. Pages come with out of the box transitions and a visual tool that simplifies the management of applications with complex hierarchies. See Using the Page and Page Host nodes.

  • Compositions. You can now isolate parts of your application and view each as a separate item in the Preview. This means that you can now edit a prefab without instantiating it, and separately inspect and edit a page and its hierarchy. See Using node prefabs and Using the Page and Page Host nodes.

  • Visual tools. With Kanzi 3.0 we give you even more visual tools so that you can work faster and manage your projects more efficiently. Pages tools enable you to create and edit the structure and transitions between different parts of your application. State tools enable you to create states quickly and manage different states in your application with little effort. See Using the Page and Page Host nodes and Using state managers.

  • Preview tools. With the new Preview tools you can do much more right in the Preview. You can create and position 2D objects, create and edit text blocks, add triggers, create and position cameras, and zoom and pan around the Preview. See Editing your application in the Preview.

  • Assets. We greatly simplified management of assets you use in your Kanzi Studio projects. On top of that we created a library of assets you can use by simply dragging and dropping them into the Preview and then edit them to suit your needs. See Importing.

  • New layouts and controls. We added 11 new layouts and controls that provide even more flexibility in your applications.

  • Scripting. You can now use JavaScript scripts to program the logic of your Kanzi applications. See Using scripts.

  • Plugins. Kanzi includes both Kanzi Studio and Kanzi Engine plugins that enable you to extend the functionality of Kanzi.

To see a full list of changes in Kanzi 3.0, see Kanzi 3.0 release notes.

See also

Known issues