<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Kaoto 2.12 |</title><link>https://kaoto.io/tags/kaoto-2.12/</link><atom:link href="https://kaoto.io/tags/kaoto-2.12/index.xml" rel="self" type="application/rss+xml"/><description>Kaoto 2.12</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Wed, 23 Sep 2026 00:00:00 +0000</lastBuildDate><image><url>https://kaoto.io/media/logo_hu_1f7af02082a0d76a.png</url><title>Kaoto 2.12</title><link>https://kaoto.io/tags/kaoto-2.12/</link></image><item><title>Kaoto 2.12 release</title><link>https://kaoto.io/blog/2026/kaoto-2.12-release/</link><pubDate>Wed, 23 Sep 2026 00:00:00 +0000</pubDate><guid>https://kaoto.io/blog/2026/kaoto-2.12-release/</guid><description>&lt;h2 id="whats-new"&gt;What&amp;rsquo;s New?&lt;/h2&gt;
&lt;p&gt;This release introduces an experimental Infrastructure view for managing Camel infrastructure services directly from VS Code, expands the DataMapper with more flexible mapping options and improved schema support, and improves working with custom Kamelets. Kaoto 2.12 includes support for &lt;a href="https://camel.apache.org" target="_blank" rel="noopener"&gt;Apache Camel&lt;/a&gt; 4.22.1.&lt;/p&gt;
&lt;h3 id="infrastructure-view-experimental"&gt;Infrastructure View (Experimental)&lt;/h3&gt;
&lt;p&gt;Kaoto 2.12 introduces an experimental Infrastructure view for starting, monitoring, and stopping databases, message brokers, and other Camel infrastructure services directly from VS Code using &lt;code&gt;camel infra&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;This feature is experimental and hidden by default.&lt;/strong&gt; Enable &lt;code&gt;kaoto.infrastructure.enabled&lt;/code&gt; in your VS Code settings to try it out.&lt;/p&gt;
&lt;figure class="image"&gt;&lt;img src="https://kaoto.io/blog/2026/kaoto-2.12-release/settings-experimental.png"
alt="Settings page for enabling the experimental Infrastructure view"&gt;&lt;figcaption&gt;
&lt;p&gt;Kaoto settings for the experimental Infrastructure view&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Start Services&lt;/strong&gt; - Click the &lt;strong&gt;+&lt;/strong&gt; button to choose a service and optionally set a custom port. Kaoto checks that Docker or Podman is available. If the service is already running outside VS Code, you can use the existing instance or stop and restart it.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Monitor Services&lt;/strong&gt; - View each service&amp;rsquo;s status and port, with automatic refresh while services are running. Stop a service from the view with a confirmation dialog to prevent accidental stops.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;View Logs&lt;/strong&gt; - Open a service&amp;rsquo;s dedicated terminal to inspect its output.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Copy Connection Details&lt;/strong&gt; - Copy a service&amp;rsquo;s URL or port to use in your integration configuration.&lt;/li&gt;
&lt;/ul&gt;
&lt;figure class="image"&gt;&lt;img src="https://kaoto.io/blog/2026/kaoto-2.12-release/infra-endpoints.png"
alt="Infrastructure view showing a running service"&gt;&lt;figcaption&gt;
&lt;p&gt;Manage running services in the Infrastructure view&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h3 id="datamapper-enhancements"&gt;DataMapper Enhancements&lt;/h3&gt;
&lt;p&gt;The DataMapper adds more flexible mapping instructions, improved XPath editing, and expanded support for complex XML schemas.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Enhanced Mapping Context Menu&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Value and Copy Selectors&lt;/strong&gt; - Add &lt;code&gt;xsl:value-of&lt;/code&gt; and &lt;code&gt;xsl:copy-of&lt;/code&gt; instructions from the mapping context menu, or use &lt;code&gt;Duplicate&lt;/code&gt; to add multiple mappings to a collection target field.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mapping Instructions&lt;/strong&gt; - Use the new &lt;code&gt;Wrap with Instruction&lt;/code&gt; and &lt;code&gt;Inner Instruction&lt;/code&gt; submenus to control how mapping instructions are nested.&lt;/li&gt;
&lt;/ul&gt;
&lt;figure class="image"&gt;&lt;img src="https://kaoto.io/blog/2026/kaoto-2.12-release/dm-context-menu.png"
alt="DataMapper context menu showing mapping options"&gt;&lt;figcaption&gt;
&lt;p&gt;New mapping options in the DataMapper context menu&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;&lt;strong&gt;XPath 3.1 and XSLT 3.0 Functions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The XPath expression editor provides more guidance when writing mapping expressions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Function Completion&lt;/strong&gt; - Get function suggestions with signatures and descriptions as you type.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hover Help&lt;/strong&gt; - Hover over a recognized function name to read its documentation.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Expanded Function Catalog&lt;/strong&gt; - Access XPath 3.1 and XSLT 3.0 functions, including math, map, array, and higher-order functions.&lt;/li&gt;
&lt;/ul&gt;
&lt;figure class="image"&gt;&lt;img src="https://kaoto.io/blog/2026/kaoto-2.12-release/dm-expression-editor.gif"
alt="XPath expression editor in the DataMapper"&gt;&lt;figcaption&gt;
&lt;p&gt;Write mapping expressions with the XPath expression editor&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;&lt;strong&gt;Advanced Schema and Type Support&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Sequence Choices&lt;/strong&gt; - Select an &lt;code&gt;xs:sequence&lt;/code&gt; branch within an &lt;code&gt;xs:choice&lt;/code&gt; field. Change or clear selections from the context menu, with support for nested choices and inherited collection and cardinality constraints.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Type Attributes&lt;/strong&gt; - Generated XSLT now includes &lt;code&gt;xsi:type&lt;/code&gt; attributes for compatible type overrides, allowing XML Schema validators to identify the selected type.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Abstract Type Detection&lt;/strong&gt; - The DataMapper detects wrapper field selections and substitutions from XSLT and removes user-created fields that are no longer valid.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Variables and Grouping&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Variables&lt;/strong&gt; - Use local and global &lt;code&gt;xsl:variable&lt;/code&gt; definitions as mapping sources and reference them in XPath expressions.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Grouping and Sorting&lt;/strong&gt; - Create collection mappings with &lt;code&gt;xsl:for-each-group&lt;/code&gt; and configure sorting with &lt;code&gt;xsl:sort&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="custom-kamelet-improvements"&gt;Custom Kamelet Improvements&lt;/h3&gt;
&lt;p&gt;Working with custom Kamelets is easier with these updates:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Live Property Refresh&lt;/strong&gt; - Changes to a custom Kamelet&amp;rsquo;s properties now appear in the configuration forms of routes that use it, without reopening the route file.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Workspace Kamelets&lt;/strong&gt; - Custom Kamelets in your workspace are automatically available in the catalog and configuration forms.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Paste Support&lt;/strong&gt; - Pasting a Kamelet or Pipe now restores its complete definition, including beans, error handlers, and metadata.&lt;/li&gt;
&lt;/ul&gt;
&lt;figure class="image"&gt;&lt;img src="https://kaoto.io/blog/2026/kaoto-2.12-release/kamelet-catalog.png"
alt="Shows a local Kamelet in the Kaoto Catalog"&gt;&lt;figcaption&gt;
&lt;p&gt;Access and use your local Kamelets directly in your routes&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h3 id="a2asubtask-eip-support"&gt;a2aSubTask EIP Support&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;a2aSubTask&lt;/code&gt; (Agent-to-Agent Sub Task) EIP now appears as a step container on the canvas, like &lt;code&gt;aggregate&lt;/code&gt;, &lt;code&gt;split&lt;/code&gt;, and &lt;code&gt;saga&lt;/code&gt;. You can add and manage its nested steps visually.&lt;/p&gt;
&lt;figure class="image"&gt;&lt;img src="https://kaoto.io/blog/2026/kaoto-2.12-release/a2asubtask.png"
alt="Camel route with two a2aSubTask containers wrapping Elasticsearch and bean steps"&gt;&lt;figcaption&gt;
&lt;p&gt;Organize route steps in A2A Sub Task containers&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;The route shown above is based on an example from the &lt;a href="https://camel.apache.org/components/4.22.x/others/a2a-consumer.html#_scoped_progress_updates_with_a2asubtask" target="_blank" rel="noopener"&gt;Apache Camel documentation&lt;/a&gt;.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="catalog-version"&gt;Catalog Version&lt;/h2&gt;
&lt;p&gt;Kaoto 2.12 includes the &lt;strong&gt;Apache Camel 4.22.1&lt;/strong&gt; catalog, providing components, EIPs, and Kamelet definitions for this Camel version.&lt;/p&gt;
&lt;p&gt;For a full list of changes, please refer to the &lt;a href="https://github.com/KaotoIO/kaoto/releases/tag/2.12.0" target="_blank" rel="noopener"&gt;change log&lt;/a&gt;.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="lets-build-it-together"&gt;Let&amp;rsquo;s Build it Together&lt;/h2&gt;
&lt;p&gt;Let us know what you think by joining us in the &lt;a href="https://github.com/orgs/KaotoIO/discussions" target="_blank" rel="noopener"&gt;GitHub discussions&lt;/a&gt;.
Do you have an idea how to improve Kaoto? Would you love to see a useful feature implemented or simply ask a question? Please &lt;a href="https://github.com/KaotoIO/kaoto/issues/new/choose" target="_blank" rel="noopener"&gt;create an issue&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="a-big-shoutout-to-our-amazing-contributors"&gt;A big shoutout to our amazing contributors&lt;/h2&gt;
&lt;p&gt;Thank you to everyone who made this release possible!&lt;/p&gt;
&lt;p&gt;Whether you are contributing code, reporting bugs, or sharing feedback in our &lt;a href="https://github.com/orgs/KaotoIO/discussions" target="_blank" rel="noopener"&gt;GitHub discussions&lt;/a&gt;, your involvement is what keeps the Camel riding! 🐫🎉&lt;/p&gt;
&lt;h3 id="new-contributors"&gt;New Contributors&lt;/h3&gt;
&lt;p&gt;We&amp;rsquo;re excited to welcome new contributors to the Kaoto community:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/AmIrRX0" target="_blank" rel="noopener"&gt;@AmIrRX0&lt;/a&gt; made their first contribution in &lt;a href="https://github.com/KaotoIO/kaoto/pull/3840" target="_blank" rel="noopener"&gt;#3840&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/atirna" target="_blank" rel="noopener"&gt;@atirna&lt;/a&gt; made their first contribution in &lt;a href="https://github.com/KaotoIO/kaoto/pull/3787" target="_blank" rel="noopener"&gt;#3787&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/AysajanE" target="_blank" rel="noopener"&gt;@AysajanE&lt;/a&gt; made their first contribution in &lt;a href="https://github.com/KaotoIO/kaoto/pull/3478" target="_blank" rel="noopener"&gt;#3478&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/brian-soltani" target="_blank" rel="noopener"&gt;@brian-soltani&lt;/a&gt; made their first contribution in &lt;a href="https://github.com/KaotoIO/kaoto/pull/3591" target="_blank" rel="noopener"&gt;#3591&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/chrisriv10" target="_blank" rel="noopener"&gt;@chrisriv10&lt;/a&gt; made their first contribution in &lt;a href="https://github.com/KaotoIO/kaoto/pull/3827" target="_blank" rel="noopener"&gt;#3827&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ConsultingFuture4200" target="_blank" rel="noopener"&gt;@ConsultingFuture4200&lt;/a&gt; made their first contribution in &lt;a href="https://github.com/KaotoIO/kaoto/pull/3540" target="_blank" rel="noopener"&gt;#3540&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/etzel-mes" target="_blank" rel="noopener"&gt;@etzel-mes&lt;/a&gt; made their first contribution in &lt;a href="https://github.com/KaotoIO/kaoto/pull/3469" target="_blank" rel="noopener"&gt;#3469&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/Indo86" target="_blank" rel="noopener"&gt;@Indo86&lt;/a&gt; made their first contribution in &lt;a href="https://github.com/KaotoIO/kaoto/pull/3941" target="_blank" rel="noopener"&gt;#3941&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/Jinal-Sarvaiya" target="_blank" rel="noopener"&gt;@Jinal-Sarvaiya&lt;/a&gt; made their first contribution in &lt;a href="https://github.com/KaotoIO/kaoto/pull/3483" target="_blank" rel="noopener"&gt;#3483&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/MFA-G" target="_blank" rel="noopener"&gt;@MFA-G&lt;/a&gt; made their first contribution in &lt;a href="https://github.com/KaotoIO/kaoto/pull/3758" target="_blank" rel="noopener"&gt;#3758&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/nveces" target="_blank" rel="noopener"&gt;@nveces&lt;/a&gt; made their first contribution in &lt;a href="https://github.com/KaotoIO/kaoto/pull/3276" target="_blank" rel="noopener"&gt;#3276&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/plain-wind" target="_blank" rel="noopener"&gt;@plain-wind&lt;/a&gt; made their first contribution in &lt;a href="https://github.com/KaotoIO/kaoto/pull/3831" target="_blank" rel="noopener"&gt;#3831&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/snowyukitty" target="_blank" rel="noopener"&gt;@snowyukitty&lt;/a&gt; made their first contribution in &lt;a href="https://github.com/KaotoIO/kaoto/pull/3576" target="_blank" rel="noopener"&gt;#3576&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/soosoo34" target="_blank" rel="noopener"&gt;@soosoo34&lt;/a&gt; made their first contribution in &lt;a href="https://github.com/KaotoIO/kaoto/pull/3587" target="_blank" rel="noopener"&gt;#3587&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/UlikGames" target="_blank" rel="noopener"&gt;@UlikGames&lt;/a&gt; made their first contribution in &lt;a href="https://github.com/KaotoIO/kaoto/pull/3595" target="_blank" rel="noopener"&gt;#3595&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="give-it-a-try"&gt;Give it a try&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Kaoto &lt;a href="https://kaoto.io/docs/quickstart/"&gt;quickstart&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Kaoto is available as a &lt;a href="https://marketplace.visualstudio.com/items?itemName=redhat.vscode-kaoto" target="_blank" rel="noopener"&gt;VS Code extension&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Kaoto &lt;a href="https://red.ht/kaoto" target="_blank" rel="noopener"&gt;showcase deployment&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>