You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wayang.apache.org by gi...@apache.org on 2026/05/27 15:32:06 UTC

(wayang-website) branch deploy updated: deploy: 55ccb13d3537b01cacb86aefacd051a98fc3e52e

This is an automated email from the ASF dual-hosted git repository.

github-actions[bot] pushed a commit to branch deploy
in repository https://gitbox.apache.org/repos/asf/wayang-website.git


The following commit(s) were added to refs/heads/deploy by this push:
     new d324e39b deploy: 55ccb13d3537b01cacb86aefacd051a98fc3e52e
d324e39b is described below

commit d324e39b7a878bc3963bb213a1bc60b7158e7030
Author: novatechflow <no...@users.noreply.github.com>
AuthorDate: Wed May 27 15:32:00 2026 +0000

    deploy: 55ccb13d3537b01cacb86aefacd051a98fc3e52e
---
 404.html                                           |  15 +-
 assets/css/styles.79853c2a.css                     |   1 +
 assets/css/styles.a45e1e19.css                     |   1 -
 assets/js/0058b4c6.4d71b62d.js                     |   1 +
 assets/js/01a85c17.9159c873.js                     |   1 +
 assets/js/01a85c17.b5f5de70.js                     |   1 -
 assets/js/05a94acb.1f4e52c2.js                     |   1 -
 assets/js/05a94acb.f76b422f.js                     |   1 +
 assets/js/06bc2d4d.79d95647.js                     |   1 -
 assets/js/06bc2d4d.c3c4b8cc.js                     |   1 +
 assets/js/092604a4.1647fbe6.js                     |   1 -
 assets/js/092604a4.76b2fc57.js                     |   1 +
 assets/js/115b1bdb.2acec4e2.js                     |   1 -
 assets/js/1383f18f.db9201ca.js                     |   1 -
 assets/js/17896441.582cdf9b.js                     |   1 -
 assets/js/17896441.6cd8c741.js                     |   1 +
 assets/js/1a1d5c1d.b70678a2.js                     |   1 -
 assets/js/1a1d5c1d.dabb81b4.js                     |   1 +
 assets/js/1a7d9bc6.80d8601c.js                     |   1 -
 assets/js/1df93b7f.09861a9d.js                     |   1 -
 assets/js/1df93b7f.7548cb8a.js                     |   1 +
 assets/js/1eeff540.4e157f6b.js                     |   1 -
 assets/js/1eeff540.cb8b4587.js                     |   1 +
 assets/js/1f6e4ff1.5da3f56e.js                     |   1 +
 assets/js/1f6e4ff1.91b35e4c.js                     |   1 -
 assets/js/{2237.6ffe8d95.js => 2237.69435572.js}   |   2 +-
 assets/js/232c92ba.7e12ae87.js                     |   1 -
 assets/js/25517a24.baffbd34.js                     |   1 -
 assets/js/25517a24.c24a6662.js                     |   1 +
 assets/js/29e20dbd.1ac0fd47.js                     |   1 +
 assets/js/29e20dbd.69e4e0d8.js                     |   1 -
 assets/js/2adba89d.5c1637a2.js                     |   1 +
 assets/js/2adba89d.b8d8c5a0.js                     |   1 -
 assets/js/2baa666c.2ef8cd5a.js                     |   1 -
 assets/js/2de9ff66.336f3d1c.js                     |   1 -
 assets/js/2de9ff66.bc6dda54.js                     |   1 +
 assets/js/3436.18d4bb0e.js                         |   1 +
 assets/js/34f284a7.6cc27442.js                     |   1 +
 assets/js/34f284a7.ad0966ed.js                     |   1 -
 assets/js/35234f08.06be7938.js                     |   1 -
 assets/js/35234f08.3dec16c3.js                     |   1 +
 assets/js/35a4b3d1.8fa558ca.js                     |   1 -
 assets/js/3625a93f.03675aee.js                     |   1 -
 assets/js/3625a93f.0778dcec.js                     |   1 +
 .../{ebfd1a08.e306c29f.js => 36994c47.62646015.js} |   2 +-
 assets/js/39af834a.1766e12d.js                     |   1 -
 assets/js/39af834a.cd7fce95.js                     |   1 +
 assets/js/3a2db09e.5f4c5202.js                     |   1 +
 assets/js/3d757c0b.6ca41edf.js                     |   1 -
 assets/js/3df8af31.74dacc24.js                     |   1 +
 assets/js/3df8af31.c81c3333.js                     |   1 -
 assets/js/3e5cd75b.02b6b350.js                     |   1 -
 assets/js/3e5cd75b.9376752e.js                     |   1 +
 assets/js/4072f7ae.aeb01f81.js                     |   1 -
 assets/js/41e09e8c.1d6c8872.js                     |   1 +
 assets/js/4294.74506629.js                         |   1 +
 assets/js/47457315.17bad258.js                     |   1 -
 assets/js/479b002b.9f75fc37.js                     |   1 -
 assets/js/47e4c4a8.96340d0a.js                     |   1 -
 assets/js/47e4c4a8.c022f3a2.js                     |   1 +
 assets/js/4d06a287.1c825903.js                     |   1 +
 assets/js/4d06a287.fd0efc6c.js                     |   1 -
 assets/js/51fff4d3.2a41af74.js                     |   1 +
 assets/js/521fabd9.05206e32.js                     |   1 -
 assets/js/521fabd9.62698de4.js                     |   1 +
 assets/js/572ad3b2.87cbc234.js                     |   1 +
 assets/js/572ad3b2.a741b5ad.js                     |   1 -
 assets/js/5b561208.18606c3e.js                     |   1 -
 assets/js/5b561208.d5f632bf.js                     |   1 +
 .../{5e95c892.c9849158.js => 5e95c892.b52d9334.js} |   2 +-
 assets/js/5f842dbc.70c4181d.js                     |   1 -
 assets/js/621db11d.d6a1711a.js                     |   1 +
 assets/js/64eed6c4.4ac392f1.js                     |   1 -
 assets/js/64eed6c4.619714fe.js                     |   1 +
 assets/js/6578e2de.3ceb0e75.js                     |   1 -
 assets/js/65a6d713.9fa45681.js                     |   1 +
 assets/js/6875c492.6f1d92ae.js                     |   1 -
 assets/js/6875c492.905dc303.js                     |   1 +
 assets/js/6d99f8e3.4b4da441.js                     |   1 +
 assets/js/720d5f7a.16dca7c8.js                     |   1 -
 assets/js/75f5c5f6.d24b359a.js                     |   1 -
 assets/js/75f5c5f6.fd3e3579.js                     |   1 +
 assets/js/77806f28.ffc54ca4.js                     |   1 -
 assets/js/7941a8d8.39249a2f.js                     |   1 +
 assets/js/7941a8d8.66c0f4eb.js                     |   1 -
 assets/js/7b55c963.a84d2b50.js                     |   1 -
 assets/js/7c80c937.99ae8b79.js                     |   1 -
 assets/js/7e4c41c7.e70ab58b.js                     |   1 +
 assets/js/814f3328.4e67f1a5.js                     |   1 +
 assets/js/814f3328.a540a8d0.js                     |   1 -
 assets/js/8222.6e502036.js                         |   1 -
 assets/js/82cb2d07.4126e187.js                     |   1 +
 assets/js/82fa5665.d99d8f43.js                     |   1 +
 assets/js/82fa5665.e4b376fe.js                     |   1 -
 assets/js/83d480e9.8ea620f2.js                     |   1 -
 assets/js/8544.8ce7f000.js                         |   1 -
 assets/js/{8591.ed2e715f.js => 8591.bdf28966.js}   |   4 +-
 ...js.LICENSE.txt => 8591.bdf28966.js.LICENSE.txt} |   0
 assets/js/86331d88.892ffa8d.js                     |   1 -
 assets/js/89c6f603.58f0f6d0.js                     |   1 +
 assets/js/89c6f603.c27ccd74.js                     |   1 -
 assets/js/8ea09047.9dea7cb1.js                     |   1 +
 assets/js/8ea5f648.a68a18c5.js                     |   1 +
 assets/js/8eb4e46b.615bcfee.js                     |   1 -
 assets/js/8f973d51.5bf12505.js                     |   1 +
 assets/js/8f973d51.962b665e.js                     |   1 -
 assets/js/92791066.228c28d5.js                     |   1 -
 assets/js/92791066.38909961.js                     |   1 +
 assets/js/935c02bb.1ca46949.js                     |   1 +
 assets/js/935c02bb.7195e8cd.js                     |   1 -
 assets/js/935f2afb.ffccc654.js                     |   1 -
 assets/js/9785.81c37763.js                         |   1 +
 assets/js/9c021584.62940182.js                     |   1 -
 assets/js/9e4087bc.1b11865b.js                     |   1 -
 assets/js/9e4087bc.304c1c72.js                     |   1 +
 assets/js/9f0b0499.fc7b9f15.js                     |   1 +
 assets/js/a2ec611a.fd9c1fc2.js                     |   1 -
 assets/js/a58aa246.ed2f5877.js                     |   1 -
 assets/js/a6aa9e1f.643dced7.js                     |   1 -
 assets/js/a6aa9e1f.d684891a.js                     |   1 +
 assets/js/a7023ddc.ec3e37ab.js                     |   1 -
 .../{4b85e520.d3205255.js => a7456010.64a33b9c.js} |   2 +-
 assets/js/a7bd4aaa.087822b0.js                     |   1 -
 assets/js/a7bd4aaa.1616594e.js                     |   1 +
 assets/js/a94703ab.0388bcdb.js                     |   1 +
 assets/js/a94703ab.43a301eb.js                     |   1 -
 assets/js/aa7f4cd0.0993d2ea.js                     |   1 +
 assets/js/ab4c6d72.0ff0b706.js                     |   1 -
 .../{2b59d008.1f0eaddd.js => aba21aa0.754e82b9.js} |   2 +-
 assets/js/acecf23e.f4c7188f.js                     |   1 +
 assets/js/ae3304ee.b5633437.js                     |   1 +
 assets/js/ae568e66.ba708f36.js                     |   1 -
 assets/js/ae720ac1.1a9c01f7.js                     |   1 -
 assets/js/ae720ac1.cb850356.js                     |   1 +
 assets/js/af50c6e7.2ad4df5f.js                     |   1 +
 assets/js/af50c6e7.b7d09877.js                     |   1 -
 assets/js/b2b675dd.500fc2d1.js                     |   1 -
 assets/js/b2f554cd.765521c9.js                     |   1 -
 assets/js/b72d20a6.2f43f5a0.js                     |   1 -
 assets/js/bae78078.8c8103c9.js                     |   1 +
 assets/js/bae78078.e00e4e9f.js                     |   1 -
 assets/js/c15d9823.592fdf57.js                     |   1 +
 assets/js/c3d032e9.18feb7ca.js                     |   1 +
 assets/js/c3d032e9.d95e7bb7.js                     |   1 -
 assets/js/c5ff918f.4a373640.js                     |   1 +
 assets/js/c8d81af2.a32df4fb.js                     |   1 -
 assets/js/c8d81af2.a9d79745.js                     |   1 +
 assets/js/c9cac9d9.db51b45e.js                     |   1 +
 assets/js/ca0159e3.b14772a5.js                     |   1 -
 assets/js/cbf9f64c.9e8ea1c9.js                     |   1 -
 assets/js/cc6c0e90.149ceea8.js                     |   1 -
 assets/js/cc6c0e90.9fc38bea.js                     |   1 +
 assets/js/ccc49370.5dcf1b05.js                     |   1 +
 assets/js/ccc49370.613972d5.js                     |   1 -
 assets/js/cfab9f0f.46054c91.js                     |   1 +
 assets/js/cfab9f0f.de0e8a71.js                     |   1 -
 assets/js/d2f02a99.067b368b.js                     |   1 -
 assets/js/d5eebf32.364b7794.js                     |   1 +
 assets/js/d6ab7c01.aac54914.js                     |   1 -
 assets/js/d6b58e03.3150c259.js                     |   1 -
 assets/js/d6b58e03.f007aab8.js                     |   1 +
 assets/js/dcd29181.9a789b79.js                     |   1 -
 assets/js/dd496c4d.859b56f6.js                     |   1 +
 assets/js/dd4c342d.25b933c7.js                     |   1 +
 assets/js/dd4c342d.9d8cda27.js                     |   1 -
 assets/js/ded07547.92578126.js                     |   1 -
 assets/js/ded07547.d190f211.js                     |   1 +
 assets/js/e2014d6c.0104a08e.js                     |   1 -
 assets/js/e2014d6c.d3427a65.js                     |   1 +
 assets/js/e82464af.3ec64e78.js                     |   1 +
 assets/js/e82464af.933b8b86.js                     |   1 -
 assets/js/ef63ae07.78776b24.js                     |   1 +
 assets/js/ef63ae07.d45848c7.js                     |   1 -
 assets/js/ef8b811a.0962eca3.js                     |   1 +
 assets/js/effa2a56.9694e959.js                     |   1 -
 assets/js/effa2a56.a8b17e26.js                     |   1 +
 assets/js/f0e33d06.ed95c00d.js                     |   1 -
 assets/js/f32fe326.17b9c059.js                     |   1 -
 assets/js/f483cb0e.59770649.js                     |   1 -
 assets/js/f51360a1.6a2e273c.js                     |   1 -
 assets/js/f5d9e7eb.130dda91.js                     |   1 -
 assets/js/f5d9e7eb.64190d38.js                     |   1 +
 assets/js/f6749399.3e5e1e61.js                     |   1 +
 assets/js/f81c1134.bd48df83.js                     |   1 +
 assets/js/f8667543.b71eb24c.js                     |   1 -
 assets/js/f8667543.fcbc3f4b.js                     |   1 +
 assets/js/f8de77c0.7a4b2099.js                     |   1 -
 assets/js/f9d658b5.0b4d9fc5.js                     |   1 +
 assets/js/f9d658b5.88e4cbff.js                     |   1 -
 assets/js/f9f546af.ab34d062.js                     |   1 +
 assets/js/fc758bfe.620c0314.js                     |   1 +
 assets/js/ff8bfa68.3bed06c8.js                     |   1 +
 assets/js/ff8bfa68.a8db12f8.js                     |   1 -
 assets/js/main.1812f2df.js                         |   2 -
 assets/js/main.b727b1fa.js                         |   2 +
 ...js.LICENSE.txt => main.b727b1fa.js.LICENSE.txt} |   0
 assets/js/runtime~main.0da1c716.js                 |   1 +
 assets/js/runtime~main.de22a7ac.js                 |   1 -
 blog/archive/index.html                            |  15 +-
 blog/atom.xml                                      | 312 ++++++++++-----------
 blog/authors/index.html                            |  22 ++
 blog/index.html                                    | 283 ++++++++++---------
 blog/kafka-meets-wayang-1/index.html               |  21 +-
 blog/kafka-meets-wayang-2/index.html               |  31 +-
 blog/kafka-meets-wayang-3/index.html               |  31 +-
 blog/page/2/index.html                             |  17 +-
 blog/rss.xml                                       | 312 ++++++++++-----------
 blog/spatial-wayang/index.html                     |  55 ++--
 blog/tags/ai/index.html                            |  27 +-
 blog/tags/asf/index.html                           | 153 +++++-----
 .../index.html                                     |  49 ++--
 blog/tags/federated/index.html                     |  27 +-
 blog/tags/graduation/index.html                    |  39 +--
 blog/tags/index.html                               |  15 +-
 blog/tags/kafka/index.html                         |  47 ++--
 blog/tags/ml/index.html                            |  51 ++--
 blog/tags/presto/index.html                        |  15 +-
 blog/tags/python/index.html                        |  25 +-
 blog/tags/release/index.html                       | 129 ++++-----
 blog/tags/spark/index.html                         |  29 +-
 blog/tags/spatial/index.html                       |  53 ++--
 blog/tags/tensorflow/index.html                    |  51 ++--
 blog/tags/tlp/index.html                           |  39 +--
 blog/tags/trino/index.html                         |  15 +-
 blog/tags/wayang/index.html                        | 281 ++++++++++---------
 blog/tags/wayang/page/2/index.html                 |  15 +-
 blog/wayang-federated-ai/index.html                |  29 +-
 blog/wayang-graduation/index.html                  |  41 +--
 blog/wayang-python-api/index.html                  |  39 +--
 blog/wayang-release-odysse/index.html              | 131 ++++-----
 blog/wayang-tensorflow/index.html                  |  53 ++--
 blog/wayang-vs-trino/index.html                    |  35 +--
 blog/website_update/index.html                     |  47 ++--
 docs/community/ai-tooling-policy/index.html        |  35 +--
 docs/community/committer/index.html                |  47 ++--
 docs/community/contribute/index.html               | 297 ++++++++++----------
 docs/community/mailinglist/index.html              |  57 ++--
 docs/community/maturity/index.html                 |  17 +-
 docs/community/release/index.html                  | 111 ++++----
 docs/community/repositories/index.html             |  35 +--
 docs/community/resources/index.html                |  33 ++-
 docs/community/security/index.html                 |  43 +--
 docs/community/team/index.html                     |  23 +-
 docs/guide/adding-operators/index.html             |  39 +--
 docs/guide/api-documentation/index.html            |  19 +-
 docs/guide/developing-in-wayang/index.html         |  33 ++-
 docs/guide/examples/index.html                     | 147 +++++-----
 docs/guide/getting-started/index.html              |  47 ++--
 docs/guide/installation/index.html                 |  63 +++--
 docs/guide/json-wayang-plan-guide/index.html       |  93 +++---
 docs/guide/ml4all/index.html                       |  47 ++--
 docs/guide/optimizer/index.html                    |  31 +-
 docs/guide/usage-examples/index.html               |  25 +-
 docs/guide/wayang-docker/index.html                |  53 ++--
 docs/introduction/about/index.html                 |  45 +--
 docs/introduction/benchmark/index.html             |  29 +-
 docs/introduction/features/index.html              |  49 ++--
 docs/start/download/index.html                     |  81 +++---
 index.html                                         |  15 +-
 lunr-index-1779872697817.json                      |   1 -
 lunr-index-1779895886012.json                      |   1 +
 lunr-index.json                                    |   2 +-
 search-doc-1779872697817.json                      |   1 -
 search-doc-1779895886012.json                      |   1 +
 search-doc.json                                    |   2 +-
 sitemap.xml                                        |   2 +-
 266 files changed, 2232 insertions(+), 2046 deletions(-)

diff --git a/404.html b/404.html
index f6f975b7..834b8fb8 100644
--- a/404.html
+++ b/404.html
@@ -2,14 +2,17 @@
 <html lang="en" dir="ltr" class="plugin-native plugin-id-default" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
+<meta name="generator" content="Docusaurus v3.10.1">
 <title data-rh="true">Page Not Found | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/404.html"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/assets/css/styles.79853c2a.css b/assets/css/styles.79853c2a.css
new file mode 100644
index 00000000..de4df069
--- /dev/null
+++ b/assets/css/styles.79853c2a.css
@@ -0,0 +1 @@
+.col,.container{padding:0 var(--ifm-spacing-horizontal);width:100%}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}body,ol ol,ol ul,ul ol,ul ul{margin:0}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.breadcrumbs__link,.button{transition-timing-function:var(--ifm-transition-timing-default)}.button,code{vertical-align:middle}.button--outline.button--active,.button--outline:active,.butt [...]
\ No newline at end of file
diff --git a/assets/css/styles.a45e1e19.css b/assets/css/styles.a45e1e19.css
deleted file mode 100644
index f4e79a60..00000000
--- a/assets/css/styles.a45e1e19.css
+++ /dev/null
@@ -1 +0,0 @@
-.col,.container{padding:0 var(--ifm-spacing-horizontal);width:100%}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}body,ol ol,ol ul,ul ol,ul ul{margin:0}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.breadcrumbs__link,.button{transition-timing-function:var(--ifm-transition-timing-default)}.button,code{vertical-align:middle}.button--outline.button--active,.button--outline:active,.butt [...]
\ No newline at end of file
diff --git a/assets/js/0058b4c6.4d71b62d.js b/assets/js/0058b4c6.4d71b62d.js
new file mode 100644
index 00000000..cef3c921
--- /dev/null
+++ b/assets/js/0058b4c6.4d71b62d.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[849],{6164(e){e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"startSidebar":[{"type":"link","href":"/docs/start/download","label":"Download Apache Wayang\u2122","docId":"start/download","unlisted":false}],"introductionSidebar":[{"type":"l [...]
\ No newline at end of file
diff --git a/assets/js/01a85c17.9159c873.js b/assets/js/01a85c17.9159c873.js
new file mode 100644
index 00000000..bbd075ae
--- /dev/null
+++ b/assets/js/01a85c17.9159c873.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8209],{4096(e,t,a){a.d(t,{in:()=>c,OU:()=>P,Ki:()=>A,kJ:()=>b,x:()=>l,e7:()=>m,J_:()=>f,Gx:()=>y});var s=a(6540),n=a(9532),i=a(6803),r=a(4848);function l(){const e=(0,i.A)(),t=e?.data?.blogMetadata;if(!t)throw new Error("useBlogMetadata() can't be called on the current route because the blog metadata could not be found in route context");return t}const o=s.createContext(null);function c( [...]
\ No newline at end of file
diff --git a/assets/js/01a85c17.b5f5de70.js b/assets/js/01a85c17.b5f5de70.js
deleted file mode 100644
index 847fe93b..00000000
--- a/assets/js/01a85c17.b5f5de70.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8209],{6535(e,s,a){a.d(s,{A:()=>k});var t=a(6540),i=a(4164),n=a(7907),l=a(4581),r=a(8774),c=a(1312),o=a(6347),m=a(9169);function d(e){const{pathname:s}=(0,o.zy)();return(0,t.useMemo)(()=>e.filter(e=>function(e,s){return!(e.unlisted&&!(0,m.ys)(e.permalink,s))}(e,s)),[e,s])}const h="sidebar_re4s",u="sidebarItemTitle_pO2u",g="sidebarItemList_Yudw",b="sidebarItem__DBe",p="sidebarItemLink_mo7 [...]
\ No newline at end of file
diff --git a/assets/js/05a94acb.1f4e52c2.js b/assets/js/05a94acb.1f4e52c2.js
deleted file mode 100644
index 19742c09..00000000
--- a/assets/js/05a94acb.1f4e52c2.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[6570],{8172(e,t,i){i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>s,default:()=>d,frontMatter:()=>r,metadata:()=>a,toc:()=>l});var o=i(4848),n=i(8453);const r={title:"Becoming a committer",sidebar_position:5,id:"committer"},s=void 0,a={id:"community/committer",title:"Becoming a committer",description:"To get started contributing to Wayang, learn how to contribute \u2013 anyone can submit pa [...]
\ No newline at end of file
diff --git a/assets/js/05a94acb.f76b422f.js b/assets/js/05a94acb.f76b422f.js
new file mode 100644
index 00000000..84e54cce
--- /dev/null
+++ b/assets/js/05a94acb.f76b422f.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[6570],{674(e,t,i){i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>d,frontMatter:()=>r,metadata:()=>o,toc:()=>l});const o=JSON.parse('{"id":"community/committer","title":"Becoming a committer","description":"To get started contributing to Wayang, learn how to contribute \u2013 anyone can submit patches, documentation and examples to the project.","source":"@site/docs/community/c [...]
\ No newline at end of file
diff --git a/assets/js/06bc2d4d.79d95647.js b/assets/js/06bc2d4d.79d95647.js
deleted file mode 100644
index baded4a2..00000000
--- a/assets/js/06bc2d4d.79d95647.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[2666],{3974(e,a,t){t.r(a),t.d(a,{assets:()=>l,contentTitle:()=>r,default:()=>g,frontMatter:()=>o,metadata:()=>s,toc:()=>d});var n=t(4848),i=t(8453);const o={slug:"wayang-federated-ai",title:"Wayang and the Federated AI",authors:["glauesppen"],tags:["wayang","federated","ai"]},r="The Federated AI",s={permalink:"/blog/wayang-federated-ai",source:"@site/blog/2024-04-17-federated-ai.md",titl [...]
\ No newline at end of file
diff --git a/assets/js/06bc2d4d.c3c4b8cc.js b/assets/js/06bc2d4d.c3c4b8cc.js
new file mode 100644
index 00000000..4a3f693a
--- /dev/null
+++ b/assets/js/06bc2d4d.c3c4b8cc.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[2666],{3974(e,a,t){t.r(a),t.d(a,{assets:()=>l,contentTitle:()=>s,default:()=>g,frontMatter:()=>r,metadata:()=>n,toc:()=>d});var n=t(3779),i=t(4848),o=t(8453);const r={slug:"wayang-federated-ai",title:"Wayang and the Federated AI",authors:["glauesppen"],tags:["wayang","federated","ai"]},s="The Federated AI",l={authorsImageUrls:[void 0]},d=[{value:"Apache Wayang in the Federated AI world", [...]
\ No newline at end of file
diff --git a/assets/js/092604a4.1647fbe6.js b/assets/js/092604a4.1647fbe6.js
deleted file mode 100644
index 7c0a810a..00000000
--- a/assets/js/092604a4.1647fbe6.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9881],{2800(e,a,t){t.r(a),t.d(a,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>i,metadata:()=>o,toc:()=>l});var n=t(4848),s=t(8453);const i={id:"benchmark",title:"Benchmarking Wayang",sidebar_position:2},r=void 0,o={id:"introduction/benchmark",title:"Benchmarking Wayang",description:"Wayang is a powerful cross-platform middleware that can utilize and seamlessly integrate  [...]
\ No newline at end of file
diff --git a/assets/js/092604a4.76b2fc57.js b/assets/js/092604a4.76b2fc57.js
new file mode 100644
index 00000000..03dc1cf4
--- /dev/null
+++ b/assets/js/092604a4.76b2fc57.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9881],{3090(e,a,t){t.r(a),t.d(a,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>r,metadata:()=>n,toc:()=>l});const n=JSON.parse('{"id":"introduction/benchmark","title":"Benchmarking Wayang","description":"Wayang is a powerful cross-platform middleware that can utilize and seamlessly integrate various execution platforms, including Postgres, Spark, Flink, Java Streams, and  [...]
\ No newline at end of file
diff --git a/assets/js/115b1bdb.2acec4e2.js b/assets/js/115b1bdb.2acec4e2.js
deleted file mode 100644
index 995e8e85..00000000
--- a/assets/js/115b1bdb.2acec4e2.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[2683],{2514(e){e.exports=JSON.parse('{"permalink":"/blog/tags/presto","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/1383f18f.db9201ca.js b/assets/js/1383f18f.db9201ca.js
deleted file mode 100644
index 3393327a..00000000
--- a/assets/js/1383f18f.db9201ca.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[5161],{7168(e){e.exports=JSON.parse('{"permalink":"/blog/tags/federated","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/17896441.582cdf9b.js b/assets/js/17896441.582cdf9b.js
deleted file mode 100644
index 037cbd31..00000000
--- a/assets/js/17896441.582cdf9b.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8401],{5022(e,t,n){n.r(t),n.d(t,{default:()=>ve});var s=n(6540),a=n(1003),i=n(9532),o=n(4848);const l=s.createContext(null);function r({children:e,content:t}){const n=function(e){return(0,s.useMemo)(()=>({metadata:e.metadata,frontMatter:e.frontMatter,assets:e.assets,contentTitle:e.contentTitle,toc:e.toc}),[e])}(t);return(0,o.jsx)(l.Provider,{value:n,children:e})}function c(){const e=(0,s [...]
\ No newline at end of file
diff --git a/assets/js/17896441.6cd8c741.js b/assets/js/17896441.6cd8c741.js
new file mode 100644
index 00000000..0e067351
--- /dev/null
+++ b/assets/js/17896441.6cd8c741.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8401],{2234(e,n,t){t.d(n,{A:()=>c});t(6540);var s=t(4164),a=t(7559),i=t(4084),r=t(7293),o=t(4848);function l({className:e}){return(0,o.jsx)(r.A,{type:"caution",title:(0,o.jsx)(i.Rc,{}),className:(0,s.A)(e,a.G.common.unlistedBanner),children:(0,o.jsx)(i.Uh,{})})}function c(e){return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(i.AE,{}),(0,o.jsx)(l,{...e})]})}},1689(e,n,t){t.d(n,{A:()=>d});t( [...]
\ No newline at end of file
diff --git a/assets/js/1a1d5c1d.b70678a2.js b/assets/js/1a1d5c1d.b70678a2.js
deleted file mode 100644
index 9d532d93..00000000
--- a/assets/js/1a1d5c1d.b70678a2.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8117],{8630(e,i,n){n.r(i),n.d(i,{assets:()=>c,contentTitle:()=>s,default:()=>u,frontMatter:()=>r,metadata:()=>a,toc:()=>d});var t=n(4848),o=n(8453);const r={title:"Data processing optimizer",sidebar_position:8,id:"optimizer"},s="How the optimizer works (WIP)",a={id:"guide/optimizer",title:"Data processing optimizer",description:"\x3c!--",source:"@site/docs/guide/optimizer.md",sourceDirNa [...]
\ No newline at end of file
diff --git a/assets/js/1a1d5c1d.dabb81b4.js b/assets/js/1a1d5c1d.dabb81b4.js
new file mode 100644
index 00000000..19261244
--- /dev/null
+++ b/assets/js/1a1d5c1d.dabb81b4.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8117],{9337(e,i,n){n.r(i),n.d(i,{assets:()=>c,contentTitle:()=>a,default:()=>u,frontMatter:()=>s,metadata:()=>t,toc:()=>d});const t=JSON.parse('{"id":"guide/optimizer","title":"Data processing optimizer","description":"\x3c!--","source":"@site/docs/guide/optimizer.md","sourceDirName":"guide","slug":"/guide/optimizer","permalink":"/docs/guide/optimizer","draft":false,"unlisted":false,"tag [...]
\ No newline at end of file
diff --git a/assets/js/1a7d9bc6.80d8601c.js b/assets/js/1a7d9bc6.80d8601c.js
deleted file mode 100644
index 1e67a233..00000000
--- a/assets/js/1a7d9bc6.80d8601c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[5562],{8872(a){a.exports=JSON.parse('{"label":"wayang","permalink":"/blog/tags/wayang","allTagsPath":"/blog/tags","count":11,"unlisted":false}')}}]);
\ No newline at end of file
diff --git a/assets/js/1df93b7f.09861a9d.js b/assets/js/1df93b7f.09861a9d.js
deleted file mode 100644
index 978df9e1..00000000
--- a/assets/js/1df93b7f.09861a9d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[4583],{5245(e,t,a){a.d(t,{A:()=>s});var n,r=a(6540);function i(){return i=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)({}).hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},i.apply(null,arguments)}const s=({title:e,titleId:t,...a})=>r.createElement("svg",i({width:800,height:800,viewBox:"0 0 32 32",xmlns:"http://www.w3 [...]
\ No newline at end of file
diff --git a/assets/js/1df93b7f.7548cb8a.js b/assets/js/1df93b7f.7548cb8a.js
new file mode 100644
index 00000000..a569d8a9
--- /dev/null
+++ b/assets/js/1df93b7f.7548cb8a.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[4583],{4055(e,t,a){a.d(t,{A:()=>s});var n,r=a(6540);function i(){return i=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)({}).hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},i.apply(null,arguments)}const s=({title:e,titleId:t,...a})=>r.createElement("svg",i({xmlns:"http://www.w3.org/2000/svg",width:800,height:800,viewB [...]
\ No newline at end of file
diff --git a/assets/js/1eeff540.4e157f6b.js b/assets/js/1eeff540.4e157f6b.js
deleted file mode 100644
index 293fa998..00000000
--- a/assets/js/1eeff540.4e157f6b.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[1503],{1605(e,t,s){s.r(t),s.d(t,{assets:()=>a,contentTitle:()=>d,default:()=>l,frontMatter:()=>i,metadata:()=>o,toc:()=>c});var r=s(4848),n=s(8453);const i={title:"Maturity Model",sidebar_position:7,id:"maturity"},d=void 0,o={id:"community/maturity",title:"Maturity Model",description:"| ID                     | Description                                                                   [...]
\ No newline at end of file
diff --git a/assets/js/1eeff540.cb8b4587.js b/assets/js/1eeff540.cb8b4587.js
new file mode 100644
index 00000000..8c8af197
--- /dev/null
+++ b/assets/js/1eeff540.cb8b4587.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[1503],{9572(e,t,s){s.r(t),s.d(t,{assets:()=>a,contentTitle:()=>o,default:()=>l,frontMatter:()=>d,metadata:()=>r,toc:()=>c});const r=JSON.parse('{"id":"community/maturity","title":"Maturity Model","description":"| ID                     | Description                                                                                                                                              [...]
\ No newline at end of file
diff --git a/assets/js/1f6e4ff1.5da3f56e.js b/assets/js/1f6e4ff1.5da3f56e.js
new file mode 100644
index 00000000..a63a0ee2
--- /dev/null
+++ b/assets/js/1f6e4ff1.5da3f56e.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8208],{1966(e,a,n){n.r(a),n.d(a,{assets:()=>i,contentTitle:()=>c,default:()=>h,frontMatter:()=>l,metadata:()=>t,toc:()=>s});var t=n(2984),r=n(4848),o=n(8453);const l={slug:"wayang-release-odysse",title:"Apache Wayang Release Odysse",authors:"kamir",tags:["wayang","ASF","release"]},c="How I failed to release Apache Wayang",i={authorsImageUrls:[void 0]},s=[{value:"Intro",id:"intro",level:2 [...]
\ No newline at end of file
diff --git a/assets/js/1f6e4ff1.91b35e4c.js b/assets/js/1f6e4ff1.91b35e4c.js
deleted file mode 100644
index b956d3fa..00000000
--- a/assets/js/1f6e4ff1.91b35e4c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8208],{1966(e,a,n){n.r(a),n.d(a,{assets:()=>i,contentTitle:()=>l,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>s});var t=n(4848),r=n(8453);const o={slug:"wayang-release-odysse",title:"Apache Wayang Release Odysse",authors:"kamir",tags:["wayang","ASF","release"]},l="How I failed to release Apache Wayang",c={permalink:"/blog/wayang-release-odysse",source:"@site/blog/2024-09-01-rel [...]
\ No newline at end of file
diff --git a/assets/js/2237.6ffe8d95.js b/assets/js/2237.69435572.js
similarity index 88%
rename from assets/js/2237.6ffe8d95.js
rename to assets/js/2237.69435572.js
index facc5e40..404329e2 100644
--- a/assets/js/2237.6ffe8d95.js
+++ b/assets/js/2237.69435572.js
@@ -1 +1 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[2237],{3363(e,t,i){i.d(t,{A:()=>r});i(6540);var n=i(4164),a=i(1312),o=i(1107),s=i(4848);function r({className:e}){return(0,s.jsx)("main",{className:(0,n.A)("container margin-vert--xl",e),children:(0,s.jsx)("div",{className:"row",children:(0,s.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,s.jsx)(o.A,{as:"h1",className:"hero__title",children:(0,s.jsx)(a.A,{id:"theme.NotFou [...]
\ No newline at end of file
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[2237],{3363(e,t,i){i.d(t,{A:()=>r});i(6540);var n=i(4164),a=i(1312),o=i(4608),s=i(4848);function r({className:e}){return(0,s.jsx)("main",{className:(0,n.A)("container margin-vert--xl",e),children:(0,s.jsx)("div",{className:"row",children:(0,s.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,s.jsx)(o.A,{as:"h1",className:"hero__title",children:(0,s.jsx)(a.A,{id:"theme.NotFou [...]
\ No newline at end of file
diff --git a/assets/js/232c92ba.7e12ae87.js b/assets/js/232c92ba.7e12ae87.js
deleted file mode 100644
index c4ebe068..00000000
--- a/assets/js/232c92ba.7e12ae87.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[6837],{5742(a){a.exports=JSON.parse('{"label":"python","permalink":"/blog/tags/python","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]);
\ No newline at end of file
diff --git a/assets/js/25517a24.baffbd34.js b/assets/js/25517a24.baffbd34.js
deleted file mode 100644
index ff88630e..00000000
--- a/assets/js/25517a24.baffbd34.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[3940],{328(e,a,n){n.r(a),n.d(a,{assets:()=>k,contentTitle:()=>Z,default:()=>G,frontMatter:()=>S,metadata:()=>N,toc:()=>B});var t=n(4848),i=n(8453),r=n(6540),o=n(4164),l=n(3104),s=n(6347),c=n(205),g=n(7485),d=n(1682),u=n(9466);function p(e){return r.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||(0,r.isValidElement)(e)&&function(e){const{props:a}=e;return!!a&&"object"==typeof a&&" [...]
\ No newline at end of file
diff --git a/assets/js/25517a24.c24a6662.js b/assets/js/25517a24.c24a6662.js
new file mode 100644
index 00000000..8c55f986
--- /dev/null
+++ b/assets/js/25517a24.c24a6662.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[3940],{7683(e,a,n){n.r(a),n.d(a,{assets:()=>M,contentTitle:()=>G,default:()=>R,frontMatter:()=>P,metadata:()=>t,toc:()=>Y});const t=JSON.parse('{"id":"guide/getting-started","title":"Getting started","description":"Write a data pipeline once and let Apache Wayang run it on the best available engine \u2014 your laptop, Spark, Flink, or a database.","source":"@site/docs/guide/getting-start [...]
\ No newline at end of file
diff --git a/assets/js/29e20dbd.1ac0fd47.js b/assets/js/29e20dbd.1ac0fd47.js
new file mode 100644
index 00000000..cf202441
--- /dev/null
+++ b/assets/js/29e20dbd.1ac0fd47.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[7107],{6832(e,a,t){t.r(a),t.d(a,{assets:()=>l,contentTitle:()=>r,default:()=>p,frontMatter:()=>s,metadata:()=>n,toc:()=>c});var n=t(7897),i=t(4848),o=t(8453);const s={slug:"kafka-meets-wayang-2",title:"Apache Kafka meets Wayang - Part 2",authors:"kamir",tags:["wayang","kafka","cross organization data collaboration"]},r="Apache Wayang meets Apache Kafka - Part 2",l={authorsImageUrls:[void [...]
\ No newline at end of file
diff --git a/assets/js/29e20dbd.69e4e0d8.js b/assets/js/29e20dbd.69e4e0d8.js
deleted file mode 100644
index 2040c040..00000000
--- a/assets/js/29e20dbd.69e4e0d8.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[7107],{6832(e,a,t){t.r(a),t.d(a,{assets:()=>l,contentTitle:()=>s,default:()=>p,frontMatter:()=>o,metadata:()=>r,toc:()=>c});var n=t(4848),i=t(8453);const o={slug:"kafka-meets-wayang-2",title:"Apache Kafka meets Wayang - Part 2",authors:"kamir",tags:["wayang","kafka","cross organization data collaboration"]},s="Apache Wayang meets Apache Kafka - Part 2",r={permalink:"/blog/kafka-meets-way [...]
\ No newline at end of file
diff --git a/assets/js/2adba89d.5c1637a2.js b/assets/js/2adba89d.5c1637a2.js
new file mode 100644
index 00000000..5a477d2d
--- /dev/null
+++ b/assets/js/2adba89d.5c1637a2.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9222],{8738(a,e,n){n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>t,default:()=>d,frontMatter:()=>i,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"start/download","title":"Download Apache Wayang\u2122","description":"\x3c!--","source":"@site/docs/start/download.md","sourceDirName":"start","slug":"/start/download","permalink":"/docs/start/download","draft":false,"unlisted":false,"tags [...]
\ No newline at end of file
diff --git a/assets/js/2adba89d.b8d8c5a0.js b/assets/js/2adba89d.b8d8c5a0.js
deleted file mode 100644
index 6b8cf5c1..00000000
--- a/assets/js/2adba89d.b8d8c5a0.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9222],{3277(a,e,n){n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>o,metadata:()=>t,toc:()=>l});var s=n(4848),r=n(8453);const o={id:"download",title:"Download Apache Wayang\u2122",sidebar_position:1},i="Releases",t={id:"start/download",title:"Download Apache Wayang\u2122",description:"\x3c!--",source:"@site/docs/start/download.md",sourceDirName:"start",slug:"/ [...]
\ No newline at end of file
diff --git a/assets/js/2baa666c.2ef8cd5a.js b/assets/js/2baa666c.2ef8cd5a.js
deleted file mode 100644
index e070aecc..00000000
--- a/assets/js/2baa666c.2ef8cd5a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[1256],{459(a){a.exports=JSON.parse('{"label":"trino","permalink":"/blog/tags/trino","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]);
\ No newline at end of file
diff --git a/assets/js/2de9ff66.336f3d1c.js b/assets/js/2de9ff66.336f3d1c.js
deleted file mode 100644
index 67d79c57..00000000
--- a/assets/js/2de9ff66.336f3d1c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[6803],{7569(e,n,a){a.r(n),a.d(n,{assets:()=>o,contentTitle:()=>t,default:()=>h,frontMatter:()=>r,metadata:()=>s,toc:()=>c});var i=a(4848),l=a(8453);const r={title:"How to build Wayang",sidebar_position:2,id:"installation"},t="Installing and building Apache Wayang",s={id:"guide/installation",title:"How to build Wayang",description:"\x3c!--",source:"@site/docs/guide/installation.md",source [...]
\ No newline at end of file
diff --git a/assets/js/2de9ff66.bc6dda54.js b/assets/js/2de9ff66.bc6dda54.js
new file mode 100644
index 00000000..d87861fc
--- /dev/null
+++ b/assets/js/2de9ff66.bc6dda54.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[6803],{5341(e,n,a){a.r(n),a.d(n,{assets:()=>o,contentTitle:()=>s,default:()=>h,frontMatter:()=>t,metadata:()=>i,toc:()=>c});const i=JSON.parse('{"id":"guide/installation","title":"How to build Wayang","description":"\x3c!--","source":"@site/docs/guide/installation.md","sourceDirName":"guide","slug":"/guide/installation","permalink":"/docs/guide/installation","draft":false,"unlisted":fals [...]
\ No newline at end of file
diff --git a/assets/js/3436.18d4bb0e.js b/assets/js/3436.18d4bb0e.js
new file mode 100644
index 00000000..06b6eba5
--- /dev/null
+++ b/assets/js/3436.18d4bb0e.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[3436],{3436(e,t,n){function o(e,{target:t=document.body}={}){if("string"!=typeof e)throw new TypeError(`Expected parameter \`text\` to be a \`string\`, got \`${typeof e}\`.`);const n=document.createElement("textarea"),o=document.activeElement;n.value=e,n.setAttribute("readonly",""),n.style.all="unset",n.style.contain="strict",n.style.position="absolute",n.style.left="-9999px",n.style.wid [...]
\ No newline at end of file
diff --git a/assets/js/34f284a7.6cc27442.js b/assets/js/34f284a7.6cc27442.js
new file mode 100644
index 00000000..861a62ae
--- /dev/null
+++ b/assets/js/34f284a7.6cc27442.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[4450],{3996(e,a,t){t.r(a),t.d(a,{assets:()=>l,contentTitle:()=>r,default:()=>p,frontMatter:()=>s,metadata:()=>n,toc:()=>c});var n=t(7897),i=t(4848),o=t(8453);const s={slug:"kafka-meets-wayang-2",title:"Apache Kafka meets Wayang - Part 2",authors:"kamir",tags:["wayang","kafka","cross organization data collaboration"]},r="Apache Wayang meets Apache Kafka - Part 2",l={authorsImageUrls:[void [...]
\ No newline at end of file
diff --git a/assets/js/34f284a7.ad0966ed.js b/assets/js/34f284a7.ad0966ed.js
deleted file mode 100644
index f5dcb5cf..00000000
--- a/assets/js/34f284a7.ad0966ed.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[4450],{3996(e,a,t){t.r(a),t.d(a,{assets:()=>l,contentTitle:()=>s,default:()=>p,frontMatter:()=>o,metadata:()=>r,toc:()=>c});var n=t(4848),i=t(8453);const o={slug:"kafka-meets-wayang-2",title:"Apache Kafka meets Wayang - Part 2",authors:"kamir",tags:["wayang","kafka","cross organization data collaboration"]},s="Apache Wayang meets Apache Kafka - Part 2",r={permalink:"/blog/kafka-meets-way [...]
\ No newline at end of file
diff --git a/assets/js/35234f08.06be7938.js b/assets/js/35234f08.06be7938.js
deleted file mode 100644
index 1a055b3b..00000000
--- a/assets/js/35234f08.06be7938.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[1580],{5220(e,i,n){n.r(i),n.d(i,{assets:()=>c,contentTitle:()=>r,default:()=>u,frontMatter:()=>t,metadata:()=>o,toc:()=>l});var a=n(4848),s=n(8453);const t={},r="Wayang Security",o={id:"community/security",title:"Wayang Security",description:"The Apache Software Foundation (ASF) and the Apache Wayang community take security very seriously. Apache Wayang specifically provides robust secur [...]
\ No newline at end of file
diff --git a/assets/js/35234f08.3dec16c3.js b/assets/js/35234f08.3dec16c3.js
new file mode 100644
index 00000000..16e24597
--- /dev/null
+++ b/assets/js/35234f08.3dec16c3.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[1580],{8341(e,i,n){n.r(i),n.d(i,{assets:()=>c,contentTitle:()=>o,default:()=>u,frontMatter:()=>t,metadata:()=>a,toc:()=>l});const a=JSON.parse('{"id":"community/security","title":"Wayang Security","description":"The Apache Software Foundation (ASF) and the Apache Wayang community take security very seriously. Apache Wayang specifically provides robust security features and actively addre [...]
\ No newline at end of file
diff --git a/assets/js/35a4b3d1.8fa558ca.js b/assets/js/35a4b3d1.8fa558ca.js
deleted file mode 100644
index d41bf9bf..00000000
--- a/assets/js/35a4b3d1.8fa558ca.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[5096],{4308(a){a.exports=JSON.parse('{"permalink":"/blog/tags/spark","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/3625a93f.03675aee.js b/assets/js/3625a93f.03675aee.js
deleted file mode 100644
index 070b7b44..00000000
--- a/assets/js/3625a93f.03675aee.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[1114],{6406(e,a,t){t.r(a),t.d(a,{assets:()=>l,contentTitle:()=>r,default:()=>d,frontMatter:()=>s,metadata:()=>o,toc:()=>c});var n=t(4848),i=t(8453);const s={slug:"spatial-wayang",title:"Bringing Spatial Data Processing to Apache Wayang",authors:["max.speer","anton.persitzky","felix.treykorn"],tags:["wayang","spatial"]},r="Bringing Spatial Data Processing to Apache Wayang",o={permalink:"/ [...]
\ No newline at end of file
diff --git a/assets/js/3625a93f.0778dcec.js b/assets/js/3625a93f.0778dcec.js
new file mode 100644
index 00000000..2063d29d
--- /dev/null
+++ b/assets/js/3625a93f.0778dcec.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[1114],{6406(e,a,t){t.r(a),t.d(a,{assets:()=>l,contentTitle:()=>o,default:()=>d,frontMatter:()=>r,metadata:()=>n,toc:()=>c});var n=t(3058),i=t(4848),s=t(8453);const r={slug:"spatial-wayang",title:"Bringing Spatial Data Processing to Apache Wayang",authors:["max.speer","anton.persitzky","felix.treykorn"],tags:["wayang","spatial"]},o="Bringing Spatial Data Processing to Apache Wayang",l={au [...]
\ No newline at end of file
diff --git a/assets/js/ebfd1a08.e306c29f.js b/assets/js/36994c47.62646015.js
similarity index 63%
rename from assets/js/ebfd1a08.e306c29f.js
rename to assets/js/36994c47.62646015.js
index fed71365..b1128174 100644
--- a/assets/js/ebfd1a08.e306c29f.js
+++ b/assets/js/36994c47.62646015.js
@@ -1 +1 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[2446],{2945(a){a.exports=JSON.parse('{"name":"docusaurus-plugin-content-blog","id":"default"}')}}]);
\ No newline at end of file
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9858],{5516(a){a.exports=JSON.parse('{"name":"docusaurus-plugin-content-blog","id":"default"}')}}]);
\ No newline at end of file
diff --git a/assets/js/39af834a.1766e12d.js b/assets/js/39af834a.1766e12d.js
deleted file mode 100644
index 35f2d36c..00000000
--- a/assets/js/39af834a.1766e12d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[2152],{4185(e,i,n){n.r(i),n.d(i,{assets:()=>l,contentTitle:()=>r,default:()=>d,frontMatter:()=>o,metadata:()=>a,toc:()=>c});var t=n(4848),s=n(8453);const o={title:"How to contribute",sidebar_position:5,id:"contribute"},r=void 0,a={id:"community/contribute",title:"How to contribute",description:"This guide documents the best way to make various types of contribution to Apache Wayang, incl [...]
\ No newline at end of file
diff --git a/assets/js/39af834a.cd7fce95.js b/assets/js/39af834a.cd7fce95.js
new file mode 100644
index 00000000..f76d20f7
--- /dev/null
+++ b/assets/js/39af834a.cd7fce95.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[2152],{5945(e,i,n){n.r(i),n.d(i,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>r,metadata:()=>t,toc:()=>c});const t=JSON.parse('{"id":"community/contribute","title":"How to contribute","description":"This guide documents the best way to make various types of contribution to Apache Wayang, including what is required before submitting a code change.","source":"@site/docs/co [...]
\ No newline at end of file
diff --git a/assets/js/3a2db09e.5f4c5202.js b/assets/js/3a2db09e.5f4c5202.js
new file mode 100644
index 00000000..fb5977d3
--- /dev/null
+++ b/assets/js/3a2db09e.5f4c5202.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8121],{8070(a){a.exports=JSON.parse('{"tags":[{"label":"wayang","permalink":"/blog/tags/wayang","count":11},{"label":"spatial","permalink":"/blog/tags/spatial","count":1},{"label":"ASF","permalink":"/blog/tags/asf","count":2},{"label":"graduation","permalink":"/blog/tags/graduation","count":1},{"label":"TLP","permalink":"/blog/tags/tlp","count":1},{"label":"release","permalink":"/blog/ta [...]
\ No newline at end of file
diff --git a/assets/js/3d757c0b.6ca41edf.js b/assets/js/3d757c0b.6ca41edf.js
deleted file mode 100644
index edf69601..00000000
--- a/assets/js/3d757c0b.6ca41edf.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[4474],{223(a){a.exports=JSON.parse('{"permalink":"/blog/tags/spatial","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/3df8af31.74dacc24.js b/assets/js/3df8af31.74dacc24.js
new file mode 100644
index 00000000..27deb2c7
--- /dev/null
+++ b/assets/js/3df8af31.74dacc24.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[4201],{3386(a,e,t){t.r(e),t.d(e,{assets:()=>l,contentTitle:()=>s,default:()=>p,frontMatter:()=>r,metadata:()=>n,toc:()=>c});var n=t(5404),i=t(4848),o=t(8453);const r={slug:"kafka-meets-wayang-1",title:"Apache Kafka meets Wayang - Part 1",authors:"kamir",tags:["wayang","kafka","cross organization data collaboration"]},s="Apache Wayang meets Apache Kafka - Part 1",l={authorsImageUrls:[void [...]
\ No newline at end of file
diff --git a/assets/js/3df8af31.c81c3333.js b/assets/js/3df8af31.c81c3333.js
deleted file mode 100644
index d8da0bc0..00000000
--- a/assets/js/3df8af31.c81c3333.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[4201],{3386(a,e,t){t.r(e),t.d(e,{assets:()=>l,contentTitle:()=>r,default:()=>p,frontMatter:()=>i,metadata:()=>s,toc:()=>c});var n=t(4848),o=t(8453);const i={slug:"kafka-meets-wayang-1",title:"Apache Kafka meets Wayang - Part 1",authors:"kamir",tags:["wayang","kafka","cross organization data collaboration"]},r="Apache Wayang meets Apache Kafka - Part 1",s={permalink:"/blog/kafka-meets-way [...]
\ No newline at end of file
diff --git a/assets/js/3e5cd75b.02b6b350.js b/assets/js/3e5cd75b.02b6b350.js
deleted file mode 100644
index 1fb75105..00000000
--- a/assets/js/3e5cd75b.02b6b350.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[677],{4694(a,e,t){t.r(e),t.d(e,{assets:()=>l,contentTitle:()=>r,default:()=>p,frontMatter:()=>i,metadata:()=>s,toc:()=>c});var n=t(4848),o=t(8453);const i={slug:"kafka-meets-wayang-1",title:"Apache Kafka meets Wayang - Part 1",authors:"kamir",tags:["wayang","kafka","cross organization data collaboration"]},r="Apache Wayang meets Apache Kafka - Part 1",s={permalink:"/blog/kafka-meets-waya [...]
\ No newline at end of file
diff --git a/assets/js/3e5cd75b.9376752e.js b/assets/js/3e5cd75b.9376752e.js
new file mode 100644
index 00000000..f32fd187
--- /dev/null
+++ b/assets/js/3e5cd75b.9376752e.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[677],{4694(a,e,t){t.r(e),t.d(e,{assets:()=>l,contentTitle:()=>s,default:()=>p,frontMatter:()=>r,metadata:()=>n,toc:()=>c});var n=t(5404),i=t(4848),o=t(8453);const r={slug:"kafka-meets-wayang-1",title:"Apache Kafka meets Wayang - Part 1",authors:"kamir",tags:["wayang","kafka","cross organization data collaboration"]},s="Apache Wayang meets Apache Kafka - Part 1",l={authorsImageUrls:[void  [...]
\ No newline at end of file
diff --git a/assets/js/4072f7ae.aeb01f81.js b/assets/js/4072f7ae.aeb01f81.js
deleted file mode 100644
index fa901485..00000000
--- a/assets/js/4072f7ae.aeb01f81.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[79],{872(a){a.exports=JSON.parse('{"label":"spatial","permalink":"/blog/tags/spatial","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]);
\ No newline at end of file
diff --git a/assets/js/41e09e8c.1d6c8872.js b/assets/js/41e09e8c.1d6c8872.js
new file mode 100644
index 00000000..69014142
--- /dev/null
+++ b/assets/js/41e09e8c.1d6c8872.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[3248],{130(a){a.exports=JSON.parse('{"tag":{"label":"spark","permalink":"/blog/tags/spark","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/spark","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
\ No newline at end of file
diff --git a/assets/js/4294.74506629.js b/assets/js/4294.74506629.js
new file mode 100644
index 00000000..ac9b68b2
--- /dev/null
+++ b/assets/js/4294.74506629.js
@@ -0,0 +1 @@
+(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[4294],{7293(e,t,n){"use strict";n.d(t,{A:()=>M});var s=n(6540),a=n(4848);function r(e){const{mdxAdmonitionTitle:t,rest:n}=function(e){const t=s.Children.toArray(e),n=t.find(e=>s.isValidElement(e)&&"mdxAdmonitionTitle"===e.type),r=t.filter(e=>e!==n),c=n?.props.children;return{mdxAdmonitionTitle:c,rest:r.length>0?(0,a.jsx)(a.Fragment,{children:r}):null}}(e.children),r=e.title??t;return{...e,...r&&{titl [...]
\ No newline at end of file
diff --git a/assets/js/47457315.17bad258.js b/assets/js/47457315.17bad258.js
deleted file mode 100644
index 74dfb070..00000000
--- a/assets/js/47457315.17bad258.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[549],{2206(a){a.exports=JSON.parse('{"permalink":"/blog/tags/kafka","page":1,"postsPerPage":10,"totalPages":1,"totalCount":3,"blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/479b002b.9f75fc37.js b/assets/js/479b002b.9f75fc37.js
deleted file mode 100644
index f92e41f0..00000000
--- a/assets/js/479b002b.9f75fc37.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[3005],{8268(a){a.exports=JSON.parse('{"label":"graduation","permalink":"/blog/tags/graduation","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]);
\ No newline at end of file
diff --git a/assets/js/47e4c4a8.96340d0a.js b/assets/js/47e4c4a8.96340d0a.js
deleted file mode 100644
index 611d7c3c..00000000
--- a/assets/js/47e4c4a8.96340d0a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[3793],{2086(e,n,i){i.r(n),i.d(n,{assets:()=>r,contentTitle:()=>l,default:()=>u,frontMatter:()=>t,metadata:()=>s,toc:()=>d});var a=i(4848),o=i(8453);const t={title:"Developing in Wayang",sidebar_position:6,id:"developing-in-wayang"},l=void 0,s={id:"guide/developing-in-wayang",title:"Developing in Wayang",description:"\x3c!--",source:"@site/docs/guide/develop-in-wayang.md",sourceDirName:"g [...]
\ No newline at end of file
diff --git a/assets/js/47e4c4a8.c022f3a2.js b/assets/js/47e4c4a8.c022f3a2.js
new file mode 100644
index 00000000..aaeba9de
--- /dev/null
+++ b/assets/js/47e4c4a8.c022f3a2.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[3793],{7974(e,n,a){a.r(n),a.d(n,{assets:()=>r,contentTitle:()=>l,default:()=>u,frontMatter:()=>s,metadata:()=>i,toc:()=>d});const i=JSON.parse('{"id":"guide/developing-in-wayang","title":"Developing in Wayang","description":"\x3c!--","source":"@site/docs/guide/develop-in-wayang.md","sourceDirName":"guide","slug":"/guide/developing-in-wayang","permalink":"/docs/guide/developing-in-wayang" [...]
\ No newline at end of file
diff --git a/assets/js/4d06a287.1c825903.js b/assets/js/4d06a287.1c825903.js
new file mode 100644
index 00000000..1544f2e5
--- /dev/null
+++ b/assets/js/4d06a287.1c825903.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[1323],{7745(n,e,a){a.r(e),a.d(e,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>s,metadata:()=>t,toc:()=>p});var t=a(9758),i=a(4848),o=a(8453);const s={slug:"wayang-python-api",title:"Pywayang - Apache Wayang's Python API",authors:["juripetersen"],tags:["wayang","python"]},r="Pywayang - Apache Wayang's Python API",l={authorsImageUrls:[void 0]},p=[{value:"Expanding Apache W [...]
\ No newline at end of file
diff --git a/assets/js/4d06a287.fd0efc6c.js b/assets/js/4d06a287.fd0efc6c.js
deleted file mode 100644
index f2285719..00000000
--- a/assets/js/4d06a287.fd0efc6c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[1323],{7745(n,e,a){a.r(e),a.d(e,{assets:()=>l,contentTitle:()=>s,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>p});var t=a(4848),i=a(8453);const o={slug:"wayang-python-api",title:"Pywayang - Apache Wayang's Python API",authors:["juripetersen"],tags:["wayang","python"]},s="Pywayang - Apache Wayang's Python API",r={permalink:"/blog/wayang-python-api",source:"@site/blog/2024-04-09- [...]
\ No newline at end of file
diff --git a/assets/js/51fff4d3.2a41af74.js b/assets/js/51fff4d3.2a41af74.js
new file mode 100644
index 00000000..e6fe15f4
--- /dev/null
+++ b/assets/js/51fff4d3.2a41af74.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[4932],{3582(a){a.exports=JSON.parse('{"tag":{"label":"presto","permalink":"/blog/tags/presto","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/presto","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
\ No newline at end of file
diff --git a/assets/js/521fabd9.05206e32.js b/assets/js/521fabd9.05206e32.js
deleted file mode 100644
index e1c136df..00000000
--- a/assets/js/521fabd9.05206e32.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[7039],{363(e,a,n){n.r(a),n.d(a,{assets:()=>c,contentTitle:()=>s,default:()=>u,frontMatter:()=>r,metadata:()=>i,toc:()=>l});var t=n(4848),o=n(8453);const r={slug:"wayang-graduation",title:"Apache Wayang Graduation",authors:"zkaoudi",tags:["wayang","ASF","graduation","TLP"]},s="Apache Wayang Graduates to a Top-Level Project!",i={permalink:"/blog/wayang-graduation",source:"@site/blog/2025-1 [...]
\ No newline at end of file
diff --git a/assets/js/521fabd9.62698de4.js b/assets/js/521fabd9.62698de4.js
new file mode 100644
index 00000000..0016ac8f
--- /dev/null
+++ b/assets/js/521fabd9.62698de4.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[7039],{363(e,a,n){n.r(a),n.d(a,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>s,metadata:()=>t,toc:()=>l});var t=n(3318),o=n(4848),r=n(8453);const s={slug:"wayang-graduation",title:"Apache Wayang Graduation",authors:"zkaoudi",tags:["wayang","ASF","graduation","TLP"]},i="Apache Wayang Graduates to a Top-Level Project!",c={authorsImageUrls:[void 0]},l=[{value:"What Is Apach [...]
\ No newline at end of file
diff --git a/assets/js/572ad3b2.87cbc234.js b/assets/js/572ad3b2.87cbc234.js
new file mode 100644
index 00000000..51626642
--- /dev/null
+++ b/assets/js/572ad3b2.87cbc234.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[4195],{2141(e,i,t){t.r(i),t.d(i,{assets:()=>r,contentTitle:()=>l,default:()=>d,frontMatter:()=>o,metadata:()=>s,toc:()=>c});const s=JSON.parse('{"id":"community/mailinglist","title":"Mailinglists","description":"\x3c!--","source":"@site/docs/community/mailinglists.md","sourceDirName":"community","slug":"/community/mailinglist","permalink":"/docs/community/mailinglist","draft":false,"unli [...]
\ No newline at end of file
diff --git a/assets/js/572ad3b2.a741b5ad.js b/assets/js/572ad3b2.a741b5ad.js
deleted file mode 100644
index ad7ebe5b..00000000
--- a/assets/js/572ad3b2.a741b5ad.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[4195],{4380(e,i,t){t.r(i),t.d(i,{assets:()=>r,contentTitle:()=>o,default:()=>u,frontMatter:()=>a,metadata:()=>l,toc:()=>c});var n=t(4848),s=t(8453);const a={title:"Mailinglists",sidebar_position:1,id:"mailinglist"},o="Mailing List",l={id:"community/mailinglist",title:"Mailinglists",description:"\x3c!--",source:"@site/docs/community/mailinglists.md",sourceDirName:"community",slug:"/commun [...]
\ No newline at end of file
diff --git a/assets/js/5b561208.18606c3e.js b/assets/js/5b561208.18606c3e.js
deleted file mode 100644
index 0afdda68..00000000
--- a/assets/js/5b561208.18606c3e.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[4078],{4659(e,n,a){a.r(n),a.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>p,frontMatter:()=>i,metadata:()=>s,toc:()=>l});var t=a(4848),r=a(8453);const i={title:"Using Wayang's docker image",sidebar_position:9,id:"wayang-docker"},o="Using Wayang's docker image",s={id:"guide/wayang-docker",title:"Using Wayang's docker image",description:"\x3c!--",source:"@site/docs/guide/wayang-in-docke [...]
\ No newline at end of file
diff --git a/assets/js/5b561208.d5f632bf.js b/assets/js/5b561208.d5f632bf.js
new file mode 100644
index 00000000..03687474
--- /dev/null
+++ b/assets/js/5b561208.d5f632bf.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[4078],{7347(e,n,a){a.r(n),a.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>p,frontMatter:()=>s,metadata:()=>t,toc:()=>l});const t=JSON.parse('{"id":"guide/wayang-docker","title":"Using Wayang\'s docker image","description":"\x3c!--","source":"@site/docs/guide/wayang-in-docker.md","sourceDirName":"guide","slug":"/guide/wayang-docker","permalink":"/docs/guide/wayang-docker","draft":false [...]
\ No newline at end of file
diff --git a/assets/js/5e95c892.c9849158.js b/assets/js/5e95c892.b52d9334.js
similarity index 52%
rename from assets/js/5e95c892.c9849158.js
rename to assets/js/5e95c892.b52d9334.js
index 77586508..c2bb9152 100644
--- a/assets/js/5e95c892.c9849158.js
+++ b/assets/js/5e95c892.b52d9334.js
@@ -1 +1 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9647],{7121(e,a,s){s.r(a),s.d(a,{default:()=>l});s(6540);var r=s(4164),n=s(7559),t=s(1003),u=s(2831),c=s(7907),i=s(4848);function l(e){return(0,i.jsx)(t.e3,{className:(0,r.A)(n.G.wrapper.docsPages),children:(0,i.jsx)(c.A,{children:(0,u.v)(e.route.routes)})})}}}]);
\ No newline at end of file
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9647],{7121(e,a,s){s.r(a),s.d(a,{default:()=>l});s(6540);var r=s(4164),n=s(7559),t=s(5500),u=s(2831),c=s(2835),i=s(4848);function l(e){return(0,i.jsx)(t.e3,{className:(0,r.A)(n.G.wrapper.docsPages),children:(0,i.jsx)(c.A,{children:(0,u.v)(e.route.routes)})})}}}]);
\ No newline at end of file
diff --git a/assets/js/5f842dbc.70c4181d.js b/assets/js/5f842dbc.70c4181d.js
deleted file mode 100644
index d749e296..00000000
--- a/assets/js/5f842dbc.70c4181d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[6125],{6463(a){a.exports=JSON.parse('{"label":"kafka","permalink":"/blog/tags/kafka","allTagsPath":"/blog/tags","count":3,"unlisted":false}')}}]);
\ No newline at end of file
diff --git a/assets/js/621db11d.d6a1711a.js b/assets/js/621db11d.d6a1711a.js
new file mode 100644
index 00000000..c97465c8
--- /dev/null
+++ b/assets/js/621db11d.d6a1711a.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[4212],{3250(t,s,e){e.r(s),e.d(s,{default:()=>m});e(6540);var a=e(4164),o=e(5500),r=e(7559),u=e(6461),l=e(8027),n=e(1463),i=e(4608),h=e(9907);const c={authorListItem:"authorListItem_n3yI"};var g=e(4848);function p({author:t}){return(0,g.jsx)("li",{className:c.authorListItem,children:(0,g.jsx)(h.A,{as:"h2",author:t,count:t.count})})}function d({authors:t}){return(0,g.jsx)("section",{classN [...]
\ No newline at end of file
diff --git a/assets/js/64eed6c4.4ac392f1.js b/assets/js/64eed6c4.4ac392f1.js
deleted file mode 100644
index e001fbdf..00000000
--- a/assets/js/64eed6c4.4ac392f1.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[692],{5343(e,n,a){a.r(n),a.d(n,{assets:()=>o,contentTitle:()=>r,default:()=>h,frontMatter:()=>i,metadata:()=>l,toc:()=>d});var t=a(4848),s=a(8453);const i={title:"Scalable Machine Learning",sidebar_position:3,id:"ml4all"},r="ML4all: scalable ML system for everyone",l={id:"guide/ml4all",title:"Scalable Machine Learning",description:"\x3c!--",source:"@site/docs/guide/ml4all.md",sourceDirNa [...]
\ No newline at end of file
diff --git a/assets/js/64eed6c4.619714fe.js b/assets/js/64eed6c4.619714fe.js
new file mode 100644
index 00000000..7cec2902
--- /dev/null
+++ b/assets/js/64eed6c4.619714fe.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[692],{8861(e,n,a){a.r(n),a.d(n,{assets:()=>o,contentTitle:()=>l,default:()=>h,frontMatter:()=>r,metadata:()=>t,toc:()=>d});const t=JSON.parse('{"id":"guide/ml4all","title":"Scalable Machine Learning","description":"\x3c!--","source":"@site/docs/guide/ml4all.md","sourceDirName":"guide","slug":"/guide/ml4all","permalink":"/docs/guide/ml4all","draft":false,"unlisted":false,"tags":[],"versio [...]
\ No newline at end of file
diff --git a/assets/js/6578e2de.3ceb0e75.js b/assets/js/6578e2de.3ceb0e75.js
deleted file mode 100644
index d8cb0c82..00000000
--- a/assets/js/6578e2de.3ceb0e75.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[5217],{3581(a){a.exports=JSON.parse('{"permalink":"/blog/tags/asf","page":1,"postsPerPage":10,"totalPages":1,"totalCount":2,"blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/65a6d713.9fa45681.js b/assets/js/65a6d713.9fa45681.js
new file mode 100644
index 00000000..81d14e41
--- /dev/null
+++ b/assets/js/65a6d713.9fa45681.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[1486],{3739(a){a.exports=JSON.parse('{"tag":{"label":"ai","permalink":"/blog/tags/ai","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/ai","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
\ No newline at end of file
diff --git a/assets/js/6875c492.6f1d92ae.js b/assets/js/6875c492.6f1d92ae.js
deleted file mode 100644
index 4827779d..00000000
--- a/assets/js/6875c492.6f1d92ae.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[4813],{7713(e,t,n){n.d(t,{A:()=>r});n(6540);var s=n(1312),a=n(9022),i=n(4848);function r(e){const{metadata:t}=e,{previousPage:n,nextPage:r}=t;return(0,i.jsxs)("nav",{className:"pagination-nav","aria-label":(0,s.T)({id:"theme.blog.paginator.navAriaLabel",message:"Blog list page navigation",description:"The ARIA label for the blog pagination"}),children:[n&&(0,i.jsx)(a.A,{permalink:n,title [...]
\ No newline at end of file
diff --git a/assets/js/6875c492.905dc303.js b/assets/js/6875c492.905dc303.js
new file mode 100644
index 00000000..ea3635ac
--- /dev/null
+++ b/assets/js/6875c492.905dc303.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[4813],{7713(e,t,s){s.d(t,{A:()=>r});s(6540);var n=s(1312),a=s(9022),i=s(4848);function r(e){const{metadata:t}=e,{previousPage:s,nextPage:r}=t;return(0,i.jsxs)("nav",{className:"pagination-nav","aria-label":(0,n.T)({id:"theme.blog.paginator.navAriaLabel",message:"Blog list page navigation",description:"The ARIA label for the blog pagination"}),children:[s&&(0,i.jsx)(a.A,{permalink:s,title [...]
\ No newline at end of file
diff --git a/assets/js/6d99f8e3.4b4da441.js b/assets/js/6d99f8e3.4b4da441.js
new file mode 100644
index 00000000..50151198
--- /dev/null
+++ b/assets/js/6d99f8e3.4b4da441.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8133],{2168(a){a.exports=JSON.parse('{"tag":{"label":"federated","permalink":"/blog/tags/federated","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/federated","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
\ No newline at end of file
diff --git a/assets/js/720d5f7a.16dca7c8.js b/assets/js/720d5f7a.16dca7c8.js
deleted file mode 100644
index 07bcba52..00000000
--- a/assets/js/720d5f7a.16dca7c8.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9389],{9957(a){a.exports=JSON.parse('{"label":"spark","permalink":"/blog/tags/spark","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]);
\ No newline at end of file
diff --git a/assets/js/75f5c5f6.d24b359a.js b/assets/js/75f5c5f6.d24b359a.js
deleted file mode 100644
index 1200efdd..00000000
--- a/assets/js/75f5c5f6.d24b359a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9464],{1051(e,a,t){t.r(a),t.d(a,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>s,metadata:()=>o,toc:()=>c});var n=t(4848),i=t(8453);const s={slug:"wayang-vs-trino",title:"Apache Wayang vs. Presto/Trino",authors:["zkaoudi"],tags:["wayang","presto","trino"]},r="Apache Wayang vs. Presto/Trino",o={permalink:"/blog/wayang-vs-trino",source:"@site/blog/2024-03-08-wayang-vs-prest [...]
\ No newline at end of file
diff --git a/assets/js/75f5c5f6.fd3e3579.js b/assets/js/75f5c5f6.fd3e3579.js
new file mode 100644
index 00000000..5a3d8a53
--- /dev/null
+++ b/assets/js/75f5c5f6.fd3e3579.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9464],{1051(e,a,n){n.r(a),n.d(a,{assets:()=>l,contentTitle:()=>o,default:()=>h,frontMatter:()=>r,metadata:()=>t,toc:()=>c});var t=n(4042),i=n(4848),s=n(8453);const r={slug:"wayang-vs-trino",title:"Apache Wayang vs. Presto/Trino",authors:["zkaoudi"],tags:["wayang","presto","trino"]},o="Apache Wayang vs. Presto/Trino",l={authorsImageUrls:[void 0]},c=[{value:"Key Distinctions",id:"key-disti [...]
\ No newline at end of file
diff --git a/assets/js/77806f28.ffc54ca4.js b/assets/js/77806f28.ffc54ca4.js
deleted file mode 100644
index 21473e2f..00000000
--- a/assets/js/77806f28.ffc54ca4.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[6155],{3685(a){a.exports=JSON.parse('{"label":"cross organization data collaboration","permalink":"/blog/tags/cross-organization-data-collaboration","allTagsPath":"/blog/tags","count":3,"unlisted":false}')}}]);
\ No newline at end of file
diff --git a/assets/js/7941a8d8.39249a2f.js b/assets/js/7941a8d8.39249a2f.js
new file mode 100644
index 00000000..c8123ffb
--- /dev/null
+++ b/assets/js/7941a8d8.39249a2f.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[241],{6074(n,e,t){t.r(e),t.d(e,{assets:()=>l,contentTitle:()=>s,default:()=>d,frontMatter:()=>r,metadata:()=>i,toc:()=>c});const i=JSON.parse('{"id":"guide/usage-examples","title":"Usage Examples","description":"\x3c!--","source":"@site/docs/guide/usage-examples.md","sourceDirName":"guide","slug":"/guide/usage-examples","permalink":"/docs/guide/usage-examples","draft":false,"unlisted":fa [...]
\ No newline at end of file
diff --git a/assets/js/7941a8d8.66c0f4eb.js b/assets/js/7941a8d8.66c0f4eb.js
deleted file mode 100644
index 2d6dad3a..00000000
--- a/assets/js/7941a8d8.66c0f4eb.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[241],{8108(n,e,t){t.r(e),t.d(e,{assets:()=>l,contentTitle:()=>r,default:()=>d,frontMatter:()=>o,metadata:()=>s,toc:()=>c});var i=t(4848),a=t(8453);const o={title:"Usage Examples",sidebar_position:5},r="Guide to Development and Usage with Apache Wayang",s={id:"guide/usage-examples",title:"Usage Examples",description:"\x3c!--",source:"@site/docs/guide/usage-examples.md",sourceDirName:"guid [...]
\ No newline at end of file
diff --git a/assets/js/7b55c963.a84d2b50.js b/assets/js/7b55c963.a84d2b50.js
deleted file mode 100644
index a1301084..00000000
--- a/assets/js/7b55c963.a84d2b50.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[2795],{4135(a){a.exports=JSON.parse('{"label":"ML","permalink":"/blog/tags/ml","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]);
\ No newline at end of file
diff --git a/assets/js/7c80c937.99ae8b79.js b/assets/js/7c80c937.99ae8b79.js
deleted file mode 100644
index 9820bf6d..00000000
--- a/assets/js/7c80c937.99ae8b79.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8819],{4671(a){a.exports=JSON.parse('{"label":"wayang","permalink":"/blog/tags/wayang","allTagsPath":"/blog/tags","count":11,"unlisted":false}')}}]);
\ No newline at end of file
diff --git a/assets/js/7e4c41c7.e70ab58b.js b/assets/js/7e4c41c7.e70ab58b.js
new file mode 100644
index 00000000..c0ce15ec
--- /dev/null
+++ b/assets/js/7e4c41c7.e70ab58b.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[6071],{324(a){a.exports=JSON.parse('{"tag":{"label":"TLP","permalink":"/blog/tags/tlp","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/tlp","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
\ No newline at end of file
diff --git a/assets/js/814f3328.4e67f1a5.js b/assets/js/814f3328.4e67f1a5.js
new file mode 100644
index 00000000..5eb78944
--- /dev/null
+++ b/assets/js/814f3328.4e67f1a5.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[7472],{5513(a){a.exports=JSON.parse('{"title":"All our posts","items":[{"title":"Bringing Spatial Data Processing to Apache Wayang","permalink":"/blog/spatial-wayang","unlisted":false,"date":"2026-05-19T00:00:00.000Z"},{"title":"Apache Wayang Graduation","permalink":"/blog/wayang-graduation","unlisted":false,"date":"2025-12-11T00:00:00.000Z"},{"title":"Apache Wayang Release Odysse","perm [...]
\ No newline at end of file
diff --git a/assets/js/814f3328.a540a8d0.js b/assets/js/814f3328.a540a8d0.js
deleted file mode 100644
index 058f98c8..00000000
--- a/assets/js/814f3328.a540a8d0.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[7472],{5513(a){a.exports=JSON.parse('{"title":"All our posts","items":[{"title":"Bringing Spatial Data Processing to Apache Wayang","permalink":"/blog/spatial-wayang","unlisted":false},{"title":"Apache Wayang Graduation","permalink":"/blog/wayang-graduation","unlisted":false},{"title":"Apache Wayang Release Odysse","permalink":"/blog/wayang-release-odysse","unlisted":false},{"title":"Int [...]
\ No newline at end of file
diff --git a/assets/js/8222.6e502036.js b/assets/js/8222.6e502036.js
deleted file mode 100644
index f2375148..00000000
--- a/assets/js/8222.6e502036.js
+++ /dev/null
@@ -1 +0,0 @@
-(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8222],{7293(e,t,n){"use strict";n.d(t,{A:()=>S});var s=n(6540),o=n(4848);function c(e){const{mdxAdmonitionTitle:t,rest:n}=function(e){const t=s.Children.toArray(e),n=t.find(e=>s.isValidElement(e)&&"mdxAdmonitionTitle"===e.type),c=t.filter(e=>e!==n),a=n?.props.children;return{mdxAdmonitionTitle:a,rest:c.length>0?(0,o.jsx)(o.Fragment,{children:c}):null}}(e.children),c=e.title??t;return{...e,...c&&{titl [...]
\ No newline at end of file
diff --git a/assets/js/82cb2d07.4126e187.js b/assets/js/82cb2d07.4126e187.js
new file mode 100644
index 00000000..e9839797
--- /dev/null
+++ b/assets/js/82cb2d07.4126e187.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[4011],{7576(a){a.exports=JSON.parse('{"tag":{"label":"ML","permalink":"/blog/tags/ml","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/ml","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
\ No newline at end of file
diff --git a/assets/js/82fa5665.d99d8f43.js b/assets/js/82fa5665.d99d8f43.js
new file mode 100644
index 00000000..f761c621
--- /dev/null
+++ b/assets/js/82fa5665.d99d8f43.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8204],{8223(e,t,n){n.r(t),n.d(t,{assets:()=>r,contentTitle:()=>c,default:()=>l,frontMatter:()=>s,metadata:()=>a,toc:()=>d});const a=JSON.parse('{"id":"guide/api-documentation","title":"API documentation","description":"\x3c!--","source":"@site/docs/guide/api-documentation.md","sourceDirName":"guide","slug":"/guide/api-documentation","permalink":"/docs/guide/api-documentation","draft":fal [...]
\ No newline at end of file
diff --git a/assets/js/82fa5665.e4b376fe.js b/assets/js/82fa5665.e4b376fe.js
deleted file mode 100644
index 0e0127c0..00000000
--- a/assets/js/82fa5665.e4b376fe.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8204],{4954(e,t,n){n.r(t),n.d(t,{assets:()=>r,contentTitle:()=>s,default:()=>l,frontMatter:()=>a,metadata:()=>c,toc:()=>d});var i=n(4848),o=n(8453);const a={title:"API documentation",sidebar_position:4,id:"api-documentation"},s="API Documentation",c={id:"guide/api-documentation",title:"API documentation",description:"\x3c!--",source:"@site/docs/guide/api-documentation.md",sourceDirName:" [...]
\ No newline at end of file
diff --git a/assets/js/83d480e9.8ea620f2.js b/assets/js/83d480e9.8ea620f2.js
deleted file mode 100644
index fe7ca28e..00000000
--- a/assets/js/83d480e9.8ea620f2.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9650],{4078(a){a.exports=JSON.parse('{"label":"release","permalink":"/blog/tags/release","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]);
\ No newline at end of file
diff --git a/assets/js/8544.8ce7f000.js b/assets/js/8544.8ce7f000.js
deleted file mode 100644
index 4f5c02fa..00000000
--- a/assets/js/8544.8ce7f000.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8544],{6535(e,t,s){s.d(t,{A:()=>A});var a=s(6540),r=s(4164),n=s(7907),l=s(4581),i=s(8774),o=s(1312),c=s(6347),m=s(9169);function d(e){const{pathname:t}=(0,c.zy)();return(0,a.useMemo)(()=>e.filter(e=>function(e,t){return!(e.unlisted&&!(0,m.ys)(e.permalink,t))}(e,t)),[e,t])}const u="sidebar_re4s",h="sidebarItemTitle_pO2u",g="sidebarItemList_Yudw",p="sidebarItem__DBe",x="sidebarItemLink_mo7 [...]
\ No newline at end of file
diff --git a/assets/js/8591.ed2e715f.js b/assets/js/8591.bdf28966.js
similarity index 50%
rename from assets/js/8591.ed2e715f.js
rename to assets/js/8591.bdf28966.js
index 4292d0ce..8745a869 100644
--- a/assets/js/8591.ed2e715f.js
+++ b/assets/js/8591.bdf28966.js
@@ -1,2 +1,2 @@
-/*! For license information please see 8591.ed2e715f.js.LICENSE.txt */
-(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8591],{4498(e,t,n){"use strict";e.exports=n(5275)},819(e,t,n){"use strict";var i=n(6220),r={wrapper:{position:"relative",display:"inline-block"},hint:{position:"absolute",top:"0",left:"0",borderColor:"transparent",boxShadow:"none",opacity:"1"},input:{position:"relative",verticalAlign:"top",backgroundColor:"transparent"},inputWithNoHint:{position:"relative",verticalAlign:"top"},dropdown:{position:"abs [...]
\ No newline at end of file
+/*! For license information please see 8591.bdf28966.js.LICENSE.txt */
+(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8591],{4498(e,t,n){"use strict";e.exports=n(5275)},819(e,t,n){"use strict";var i=n(6220),r={wrapper:{position:"relative",display:"inline-block"},hint:{position:"absolute",top:"0",left:"0",borderColor:"transparent",boxShadow:"none",opacity:"1"},input:{position:"relative",verticalAlign:"top",backgroundColor:"transparent"},inputWithNoHint:{position:"relative",verticalAlign:"top"},dropdown:{position:"abs [...]
\ No newline at end of file
diff --git a/assets/js/8591.ed2e715f.js.LICENSE.txt b/assets/js/8591.bdf28966.js.LICENSE.txt
similarity index 100%
rename from assets/js/8591.ed2e715f.js.LICENSE.txt
rename to assets/js/8591.bdf28966.js.LICENSE.txt
diff --git a/assets/js/86331d88.892ffa8d.js b/assets/js/86331d88.892ffa8d.js
deleted file mode 100644
index 9c7f2301..00000000
--- a/assets/js/86331d88.892ffa8d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9804],{7396(a){a.exports=JSON.parse('{"permalink":"/blog/tags/cross-organization-data-collaboration","page":1,"postsPerPage":10,"totalPages":1,"totalCount":3,"blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/89c6f603.58f0f6d0.js b/assets/js/89c6f603.58f0f6d0.js
new file mode 100644
index 00000000..814081b7
--- /dev/null
+++ b/assets/js/89c6f603.58f0f6d0.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9646],{8073(a,e,n){n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>s,default:()=>h,frontMatter:()=>i,metadata:()=>r,toc:()=>p});const r=JSON.parse('{"id":"guide/adding-operators","title":"Adding an operator in Wayang","description":"\x3c!--","source":"@site/docs/guide/add-an-operator.md","sourceDirName":"guide","slug":"/guide/adding-operators","permalink":"/docs/guide/adding-operators","draf [...]
\ No newline at end of file
diff --git a/assets/js/89c6f603.c27ccd74.js b/assets/js/89c6f603.c27ccd74.js
deleted file mode 100644
index 3d3e179a..00000000
--- a/assets/js/89c6f603.c27ccd74.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9646],{729(a,e,n){n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>i,default:()=>h,frontMatter:()=>t,metadata:()=>s,toc:()=>p});var o=n(4848),r=n(8453);const t={title:"Adding an operator in Wayang",sidebar_position:7,id:"adding-operators"},i="Adding new operators in Wayang",s={id:"guide/adding-operators",title:"Adding an operator in Wayang",description:"\x3c!--",source:"@site/docs/guide/add-a [...]
\ No newline at end of file
diff --git a/assets/js/8ea09047.9dea7cb1.js b/assets/js/8ea09047.9dea7cb1.js
new file mode 100644
index 00000000..1be63b43
--- /dev/null
+++ b/assets/js/8ea09047.9dea7cb1.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9385],{600(a){a.exports=JSON.parse('{"metadata":{"permalink":"/blog/page/2","page":2,"postsPerPage":10,"totalPages":2,"totalCount":11,"previousPage":"/blog","blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
\ No newline at end of file
diff --git a/assets/js/8ea5f648.a68a18c5.js b/assets/js/8ea5f648.a68a18c5.js
new file mode 100644
index 00000000..d56ed942
--- /dev/null
+++ b/assets/js/8ea5f648.a68a18c5.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8304],{5773(a){a.exports=JSON.parse('{"tag":{"label":"trino","permalink":"/blog/tags/trino","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/trino","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
\ No newline at end of file
diff --git a/assets/js/8eb4e46b.615bcfee.js b/assets/js/8eb4e46b.615bcfee.js
deleted file mode 100644
index 383d0452..00000000
--- a/assets/js/8eb4e46b.615bcfee.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[5767],{541(e){e.exports=JSON.parse('{"permalink":"/blog/page/2","page":2,"postsPerPage":10,"totalPages":2,"totalCount":11,"previousPage":"/blog","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/8f973d51.5bf12505.js b/assets/js/8f973d51.5bf12505.js
new file mode 100644
index 00000000..1b6646cb
--- /dev/null
+++ b/assets/js/8f973d51.5bf12505.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[7170],{8270(e,a,n){n.r(a),n.d(a,{assets:()=>l,contentTitle:()=>s,default:()=>p,frontMatter:()=>o,metadata:()=>t,toc:()=>c});var t=n(9212),i=n(4848),r=n(8453);const o={slug:"kafka-meets-wayang-3",title:"Apache Kafka meets Wayang - Part 3",authors:"kamir",tags:["wayang","kafka","spark","cross organization data collaboration"]},s=void 0,l={authorsImageUrls:[void 0]},c=[{value:"The goal of t [...]
\ No newline at end of file
diff --git a/assets/js/8f973d51.962b665e.js b/assets/js/8f973d51.962b665e.js
deleted file mode 100644
index a5f77b0f..00000000
--- a/assets/js/8f973d51.962b665e.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[7170],{8270(e,a,n){n.r(a),n.d(a,{assets:()=>l,contentTitle:()=>o,default:()=>p,frontMatter:()=>r,metadata:()=>s,toc:()=>c});var t=n(4848),i=n(8453);const r={slug:"kafka-meets-wayang-3",title:"Apache Kafka meets Wayang - Part 3",authors:"kamir",tags:["wayang","kafka","spark","cross organization data collaboration"]},o=void 0,s={permalink:"/blog/kafka-meets-wayang-3",source:"@site/blog/202 [...]
\ No newline at end of file
diff --git a/assets/js/92791066.228c28d5.js b/assets/js/92791066.228c28d5.js
deleted file mode 100644
index beea9216..00000000
--- a/assets/js/92791066.228c28d5.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[2889],{1292(e,t,i){i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>p,frontMatter:()=>s,metadata:()=>r,toc:()=>c});var a=i(4848),n=i(8453);const s={id:"features",title:"Features",sidebar_position:3},o=void 0,r={id:"introduction/features",title:"Features",description:"Cross platform enablement",source:"@site/docs/introduction/features.md",sourceDirName:"introduction",slug:"/intro [...]
\ No newline at end of file
diff --git a/assets/js/92791066.38909961.js b/assets/js/92791066.38909961.js
new file mode 100644
index 00000000..87585bfa
--- /dev/null
+++ b/assets/js/92791066.38909961.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[2889],{8931(e,t,i){i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>p,frontMatter:()=>o,metadata:()=>a,toc:()=>c});const a=JSON.parse('{"id":"introduction/features","title":"Features","description":"Cross platform enablement","source":"@site/docs/introduction/features.md","sourceDirName":"introduction","slug":"/introduction/features","permalink":"/docs/introduction/features","dr [...]
\ No newline at end of file
diff --git a/assets/js/935c02bb.1ca46949.js b/assets/js/935c02bb.1ca46949.js
new file mode 100644
index 00000000..f423435e
--- /dev/null
+++ b/assets/js/935c02bb.1ca46949.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[6881],{2138(e,a,n){n.r(a),n.d(a,{assets:()=>l,contentTitle:()=>s,default:()=>p,frontMatter:()=>o,metadata:()=>t,toc:()=>c});var t=n(9212),i=n(4848),r=n(8453);const o={slug:"kafka-meets-wayang-3",title:"Apache Kafka meets Wayang - Part 3",authors:"kamir",tags:["wayang","kafka","spark","cross organization data collaboration"]},s=void 0,l={authorsImageUrls:[void 0]},c=[{value:"The goal of t [...]
\ No newline at end of file
diff --git a/assets/js/935c02bb.7195e8cd.js b/assets/js/935c02bb.7195e8cd.js
deleted file mode 100644
index 0ae89746..00000000
--- a/assets/js/935c02bb.7195e8cd.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[6881],{2138(e,a,n){n.r(a),n.d(a,{assets:()=>l,contentTitle:()=>o,default:()=>p,frontMatter:()=>r,metadata:()=>s,toc:()=>c});var t=n(4848),i=n(8453);const r={slug:"kafka-meets-wayang-3",title:"Apache Kafka meets Wayang - Part 3",authors:"kamir",tags:["wayang","kafka","spark","cross organization data collaboration"]},o=void 0,s={permalink:"/blog/kafka-meets-wayang-3",source:"@site/blog/202 [...]
\ No newline at end of file
diff --git a/assets/js/935f2afb.ffccc654.js b/assets/js/935f2afb.ffccc654.js
deleted file mode 100644
index 100fa23b..00000000
--- a/assets/js/935f2afb.ffccc654.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8581],{5610(e){e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"startSidebar":[{"type":"link","label":"Download Apache Wayang\u2122","href":"/docs/start/download","docId":"start/download","unlisted":false}],"introductionSidebar":[{"type":"link","labe [...]
\ No newline at end of file
diff --git a/assets/js/9785.81c37763.js b/assets/js/9785.81c37763.js
new file mode 100644
index 00000000..8d1be2c5
--- /dev/null
+++ b/assets/js/9785.81c37763.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9785],{4096(e,t,s){s.d(t,{in:()=>c,OU:()=>A,Ki:()=>k,kJ:()=>x,x:()=>l,e7:()=>h,J_:()=>p,Gx:()=>C});var a=s(6540),n=s(9532),i=s(6803),r=s(4848);function l(){const e=(0,i.A)(),t=e?.data?.blogMetadata;if(!t)throw new Error("useBlogMetadata() can't be called on the current route because the blog metadata could not be found in route context");return t}const o=a.createContext(null);function c( [...]
\ No newline at end of file
diff --git a/assets/js/9c021584.62940182.js b/assets/js/9c021584.62940182.js
deleted file mode 100644
index d4581cf6..00000000
--- a/assets/js/9c021584.62940182.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[1307],{5173(e){e.exports=JSON.parse('{"permalink":"/blog/tags/release","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/9e4087bc.1b11865b.js b/assets/js/9e4087bc.1b11865b.js
deleted file mode 100644
index 940d17ae..00000000
--- a/assets/js/9e4087bc.1b11865b.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[2711],{9331(e,a,s){s.r(a),s.d(a,{default:()=>o});s(6540);var r=s(8774),t=s(1312),i=s(1003),n=s(7907),c=s(1107),l=s(4848);function h({year:e,posts:a}){return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(c.A,{as:"h3",id:e,children:e}),(0,l.jsx)("ul",{children:a.map(e=>(0,l.jsx)("li",{children:(0,l.jsxs)(r.A,{to:e.metadata.permalink,children:[e.metadata.formattedDate," - ",e.metadata.title]})} [...]
\ No newline at end of file
diff --git a/assets/js/9e4087bc.304c1c72.js b/assets/js/9e4087bc.304c1c72.js
new file mode 100644
index 00000000..d2326bbd
--- /dev/null
+++ b/assets/js/9e4087bc.304c1c72.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[2711],{9331(e,a,r){r.r(a),r.d(a,{default:()=>m});r(6540);var t=r(8774),n=r(1312),s=r(5500),i=r(6266),c=r(2835),l=r(4608),o=r(4848);function h({year:e,posts:a}){const r=(0,i.i)({day:"numeric",month:"long",timeZone:"UTC"});return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(l.A,{as:"h3",id:e,children:e}),(0,o.jsx)("ul",{children:a.map(e=>{return(0,o.jsx)("li",{children:(0,o.jsxs)(t.A,{to:e.me [...]
\ No newline at end of file
diff --git a/assets/js/9f0b0499.fc7b9f15.js b/assets/js/9f0b0499.fc7b9f15.js
new file mode 100644
index 00000000..b52beaa6
--- /dev/null
+++ b/assets/js/9f0b0499.fc7b9f15.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[5190],{5316(a){a.exports=JSON.parse('{"tag":{"label":"cross organization data collaboration","permalink":"/blog/tags/cross-organization-data-collaboration","allTagsPath":"/blog/tags","count":3,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/cross-organization-data-collaboration","page":1,"postsPerPage":10,"totalPages":1,"totalCount":3,"blogDescription":"Blog","blogTitle":"Blog" [...]
\ No newline at end of file
diff --git a/assets/js/a2ec611a.fd9c1fc2.js b/assets/js/a2ec611a.fd9c1fc2.js
deleted file mode 100644
index 71d74756..00000000
--- a/assets/js/a2ec611a.fd9c1fc2.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9523],{5283(a){a.exports=JSON.parse('{"permalink":"/blog/tags/graduation","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/a58aa246.ed2f5877.js b/assets/js/a58aa246.ed2f5877.js
deleted file mode 100644
index dfb3e34a..00000000
--- a/assets/js/a58aa246.ed2f5877.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[7251],{9539(a){a.exports=JSON.parse('{"label":"TLP","permalink":"/blog/tags/tlp","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]);
\ No newline at end of file
diff --git a/assets/js/a6aa9e1f.643dced7.js b/assets/js/a6aa9e1f.643dced7.js
deleted file mode 100644
index 1c280a41..00000000
--- a/assets/js/a6aa9e1f.643dced7.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[7643],{7785(e,t,a){a.r(t),a.d(t,{default:()=>h});a(6540);var i=a(4164),n=a(4586),s=a(7559),r=a(1003),l=a(6535),o=a(7713),g=a(1463),d=a(3892),p=a(4848);function c(e){const{metadata:t}=e,{siteConfig:{title:a}}=(0,n.A)(),{blogDescription:i,blogTitle:s,permalink:l}=t,o="/"===l?a:s;return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(r.be,{title:o,description:i}),(0,p.jsx)(g.A,{tag:"blog_posts_li [...]
\ No newline at end of file
diff --git a/assets/js/a6aa9e1f.d684891a.js b/assets/js/a6aa9e1f.d684891a.js
new file mode 100644
index 00000000..a24a0cd1
--- /dev/null
+++ b/assets/js/a6aa9e1f.d684891a.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[7643],{5124(e,t,a){a.r(t),a.d(t,{default:()=>j});a(6540);var s=a(4164),n=a(4586),r=a(5500),i=a(7559),l=a(8027),o=a(7713),c=a(1463),d=a(3892),m=a(5260),g=a(4096),u=a(4848);function h(e){const t=(0,g.kJ)(e);return(0,u.jsx)(m.A,{children:(0,u.jsx)("script",{type:"application/ld+json",children:JSON.stringify(t)})})}function p(e){const{metadata:t}=e,{siteConfig:{title:a}}=(0,n.A)(),{blogDescr [...]
\ No newline at end of file
diff --git a/assets/js/a7023ddc.ec3e37ab.js b/assets/js/a7023ddc.ec3e37ab.js
deleted file mode 100644
index a58b2d77..00000000
--- a/assets/js/a7023ddc.ec3e37ab.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9267],{8289(a){a.exports=JSON.parse('[{"label":"wayang","permalink":"/blog/tags/wayang","count":11},{"label":"spatial","permalink":"/blog/tags/spatial","count":1},{"label":"ASF","permalink":"/blog/tags/asf","count":2},{"label":"graduation","permalink":"/blog/tags/graduation","count":1},{"label":"TLP","permalink":"/blog/tags/tlp","count":1},{"label":"release","permalink":"/blog/tags/relea [...]
\ No newline at end of file
diff --git a/assets/js/4b85e520.d3205255.js b/assets/js/a7456010.64a33b9c.js
similarity index 63%
rename from assets/js/4b85e520.d3205255.js
rename to assets/js/a7456010.64a33b9c.js
index 6f57e917..3852ce62 100644
--- a/assets/js/4b85e520.d3205255.js
+++ b/assets/js/a7456010.64a33b9c.js
@@ -1 +1 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[2664],{4061(a){a.exports=JSON.parse('{"name":"docusaurus-plugin-content-pages","id":"default"}')}}]);
\ No newline at end of file
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[1235],{8552(a){a.exports=JSON.parse('{"name":"docusaurus-plugin-content-pages","id":"default"}')}}]);
\ No newline at end of file
diff --git a/assets/js/a7bd4aaa.087822b0.js b/assets/js/a7bd4aaa.087822b0.js
deleted file mode 100644
index d3347e4b..00000000
--- a/assets/js/a7bd4aaa.087822b0.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[7098],{4532(n,e,s){s.r(e),s.d(e,{default:()=>x});s(6540);var r=s(1003),o=s(2252),t=s(2967),i=s(2831),a=s(1463),c=s(4848);function l(n){const{version:e}=n;return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(a.A,{version:e.version,tag:(0,t.tU)(e.pluginId,e.version)}),(0,c.jsx)(r.be,{children:e.noIndex&&(0,c.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})]})}function u(n){const{vers [...]
\ No newline at end of file
diff --git a/assets/js/a7bd4aaa.1616594e.js b/assets/js/a7bd4aaa.1616594e.js
new file mode 100644
index 00000000..ce75c360
--- /dev/null
+++ b/assets/js/a7bd4aaa.1616594e.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[7098],{1723(n,e,s){s.r(e),s.d(e,{default:()=>d});s(6540);var r=s(5500);function o(n,e){return`docs-${n}-${e}`}var t=s(3025),i=s(2831),a=s(1463),c=s(4848);function u(n){const{version:e}=n;return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(a.A,{version:e.version,tag:o(e.pluginId,e.version)}),(0,c.jsx)(r.be,{children:e.noIndex&&(0,c.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})]} [...]
\ No newline at end of file
diff --git a/assets/js/a94703ab.0388bcdb.js b/assets/js/a94703ab.0388bcdb.js
new file mode 100644
index 00000000..9283e2ac
--- /dev/null
+++ b/assets/js/a94703ab.0388bcdb.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9048],{8115(e,t,n){n.r(t),n.d(t,{default:()=>Se});var a=n(6540),i=n(4164),s=n(5500),o=n(7559),l=n(6972),r=n(609),c=n(1312),d=n(3104),u=n(5062);const m="backToTopButton_sjWU",b="backToTopButtonShow_xfvO";var h=n(4848);function p(){const{shown:e,scrollToTop:t}=function({threshold:e}){const[t,n]=(0,a.useState)(!1),i=(0,a.useRef)(!1),{startScroll:s,cancelScroll:o}=(0,d.gk)();return(0,d.Mq)(( [...]
\ No newline at end of file
diff --git a/assets/js/a94703ab.43a301eb.js b/assets/js/a94703ab.43a301eb.js
deleted file mode 100644
index cdc41904..00000000
--- a/assets/js/a94703ab.43a301eb.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9048],{2559(e,t,n){n.r(t),n.d(t,{default:()=>fe});var a=n(6540),i=n(4164),s=n(1003),o=n(7559),r=n(4142),l=n(4207),c=n(1312),d=n(3104),u=n(5062);const m="backToTopButton_sjWU",b="backToTopButtonShow_xfvO";var h=n(4848);function p(){const{shown:e,scrollToTop:t}=function({threshold:e}){const[t,n]=(0,a.useState)(!1),i=(0,a.useRef)(!1),{startScroll:s,cancelScroll:o}=(0,d.gk)();return(0,d.Mq)( [...]
\ No newline at end of file
diff --git a/assets/js/aa7f4cd0.0993d2ea.js b/assets/js/aa7f4cd0.0993d2ea.js
new file mode 100644
index 00000000..18ea9066
--- /dev/null
+++ b/assets/js/aa7f4cd0.0993d2ea.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[6653],{3990(a){a.exports=JSON.parse('{"tag":{"label":"wayang","permalink":"/blog/tags/wayang","allTagsPath":"/blog/tags","count":11,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/wayang/page/2","page":2,"postsPerPage":10,"totalPages":2,"totalCount":11,"previousPage":"/blog/tags/wayang","blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
\ No newline at end of file
diff --git a/assets/js/ab4c6d72.0ff0b706.js b/assets/js/ab4c6d72.0ff0b706.js
deleted file mode 100644
index 57337776..00000000
--- a/assets/js/ab4c6d72.0ff0b706.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[4696],{5871(a){a.exports=JSON.parse('{"permalink":"/blog/tags/ai","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/2b59d008.1f0eaddd.js b/assets/js/aba21aa0.754e82b9.js
similarity index 63%
rename from assets/js/2b59d008.1f0eaddd.js
rename to assets/js/aba21aa0.754e82b9.js
index dceafdb5..5eb14d26 100644
--- a/assets/js/2b59d008.1f0eaddd.js
+++ b/assets/js/aba21aa0.754e82b9.js
@@ -1 +1 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8661],{9585(a){a.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"default"}')}}]);
\ No newline at end of file
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[5742],{7093(a){a.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"default"}')}}]);
\ No newline at end of file
diff --git a/assets/js/acecf23e.f4c7188f.js b/assets/js/acecf23e.f4c7188f.js
new file mode 100644
index 00000000..11822fd3
--- /dev/null
+++ b/assets/js/acecf23e.f4c7188f.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[1903],{1912(a){a.exports=JSON.parse('{"blogBasePath":"/blog","blogTitle":"Blog","authorsListPath":"/blog/authors"}')}}]);
\ No newline at end of file
diff --git a/assets/js/ae3304ee.b5633437.js b/assets/js/ae3304ee.b5633437.js
new file mode 100644
index 00000000..d13f655d
--- /dev/null
+++ b/assets/js/ae3304ee.b5633437.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[1405],{4862(a){a.exports=JSON.parse('{"tag":{"label":"python","permalink":"/blog/tags/python","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/python","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
\ No newline at end of file
diff --git a/assets/js/ae568e66.ba708f36.js b/assets/js/ae568e66.ba708f36.js
deleted file mode 100644
index 801299ad..00000000
--- a/assets/js/ae568e66.ba708f36.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[6417],{7630(a){a.exports=JSON.parse('{"permalink":"/blog/tags/wayang","page":1,"postsPerPage":10,"totalPages":2,"totalCount":11,"nextPage":"/blog/tags/wayang/page/2","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/ae720ac1.1a9c01f7.js b/assets/js/ae720ac1.1a9c01f7.js
deleted file mode 100644
index 3b80b3b9..00000000
--- a/assets/js/ae720ac1.1a9c01f7.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[5755],{6499(e,n,a){a.r(n),a.d(n,{assets:()=>c,contentTitle:()=>i,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>p});var t=a(4848),s=a(8453);const o={slug:"wayang-python-api",title:"Pywayang - Apache Wayang's Python API",authors:["juripetersen"],tags:["wayang","python"]},i="Pywayang - Apache Wayang's Python API",r={permalink:"/blog/wayang-python-api",source:"@site/blog/2024-04-09- [...]
\ No newline at end of file
diff --git a/assets/js/ae720ac1.cb850356.js b/assets/js/ae720ac1.cb850356.js
new file mode 100644
index 00000000..a430a26d
--- /dev/null
+++ b/assets/js/ae720ac1.cb850356.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[5755],{6499(e,n,a){a.r(n),a.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>t,toc:()=>l});var t=a(9758),s=a(4848),i=a(8453);const o={slug:"wayang-python-api",title:"Pywayang - Apache Wayang's Python API",authors:["juripetersen"],tags:["wayang","python"]},r="Pywayang - Apache Wayang's Python API",c={authorsImageUrls:[void 0]},l=[{value:"Expanding Apache W [...]
\ No newline at end of file
diff --git a/assets/js/af50c6e7.2ad4df5f.js b/assets/js/af50c6e7.2ad4df5f.js
new file mode 100644
index 00000000..096f1ed7
--- /dev/null
+++ b/assets/js/af50c6e7.2ad4df5f.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[4802],{5850(e,a,t){t.r(a),t.d(a,{assets:()=>l,contentTitle:()=>o,default:()=>d,frontMatter:()=>r,metadata:()=>n,toc:()=>c});var n=t(3058),i=t(4848),s=t(8453);const r={slug:"spatial-wayang",title:"Bringing Spatial Data Processing to Apache Wayang",authors:["max.speer","anton.persitzky","felix.treykorn"],tags:["wayang","spatial"]},o="Bringing Spatial Data Processing to Apache Wayang",l={au [...]
\ No newline at end of file
diff --git a/assets/js/af50c6e7.b7d09877.js b/assets/js/af50c6e7.b7d09877.js
deleted file mode 100644
index bd22d34b..00000000
--- a/assets/js/af50c6e7.b7d09877.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[4802],{5850(e,a,t){t.r(a),t.d(a,{assets:()=>l,contentTitle:()=>r,default:()=>d,frontMatter:()=>s,metadata:()=>o,toc:()=>c});var n=t(4848),i=t(8453);const s={slug:"spatial-wayang",title:"Bringing Spatial Data Processing to Apache Wayang",authors:["max.speer","anton.persitzky","felix.treykorn"],tags:["wayang","spatial"]},r="Bringing Spatial Data Processing to Apache Wayang",o={permalink:"/ [...]
\ No newline at end of file
diff --git a/assets/js/b2b675dd.500fc2d1.js b/assets/js/b2b675dd.500fc2d1.js
deleted file mode 100644
index 7c2a049b..00000000
--- a/assets/js/b2b675dd.500fc2d1.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[1991],{9775(e){e.exports=JSON.parse('{"permalink":"/blog","page":1,"postsPerPage":10,"totalPages":2,"totalCount":11,"nextPage":"/blog/page/2","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/b2f554cd.765521c9.js b/assets/js/b2f554cd.765521c9.js
deleted file mode 100644
index cc3d7fbd..00000000
--- a/assets/js/b2f554cd.765521c9.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[5894],{6042(e){e.exports=JSON.parse('{"blogPosts":[{"id":"spatial-wayang","metadata":{"permalink":"/blog/spatial-wayang","source":"@site/blog/2026-05-19-spatial-wayang.md","title":"Bringing Spatial Data Processing to Apache Wayang","description":"Apache Wayang already enables a large variety of data processing workflows, ranging from basic data retrieval and filtering to complex ML tasks [...]
\ No newline at end of file
diff --git a/assets/js/b72d20a6.2f43f5a0.js b/assets/js/b72d20a6.2f43f5a0.js
deleted file mode 100644
index ecd5e064..00000000
--- a/assets/js/b72d20a6.2f43f5a0.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[2047],{8256(a){a.exports=JSON.parse('{"label":"tensorflow","permalink":"/blog/tags/tensorflow","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]);
\ No newline at end of file
diff --git a/assets/js/bae78078.8c8103c9.js b/assets/js/bae78078.8c8103c9.js
new file mode 100644
index 00000000..3fcc13de
--- /dev/null
+++ b/assets/js/bae78078.8c8103c9.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[913],{3725(e,a,t){t.r(a),t.d(a,{assets:()=>l,contentTitle:()=>i,default:()=>u,frontMatter:()=>r,metadata:()=>n,toc:()=>c});var n=t(4042),o=t(4848),s=t(8453);const r={slug:"wayang-vs-trino",title:"Apache Wayang vs. Presto/Trino",authors:["zkaoudi"],tags:["wayang","presto","trino"]},i="Apache Wayang vs. Presto/Trino",l={authorsImageUrls:[void 0]},c=[];function p(e){const a={p:"p",...(0,s.R [...]
\ No newline at end of file
diff --git a/assets/js/bae78078.e00e4e9f.js b/assets/js/bae78078.e00e4e9f.js
deleted file mode 100644
index 497a8b2d..00000000
--- a/assets/js/bae78078.e00e4e9f.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[913],{3725(e,a,t){t.r(a),t.d(a,{assets:()=>c,contentTitle:()=>r,default:()=>g,frontMatter:()=>s,metadata:()=>i,toc:()=>l});var n=t(4848),o=t(8453);const s={slug:"wayang-vs-trino",title:"Apache Wayang vs. Presto/Trino",authors:["zkaoudi"],tags:["wayang","presto","trino"]},r="Apache Wayang vs. Presto/Trino",i={permalink:"/blog/wayang-vs-trino",source:"@site/blog/2024-03-08-wayang-vs-presto [...]
\ No newline at end of file
diff --git a/assets/js/c15d9823.592fdf57.js b/assets/js/c15d9823.592fdf57.js
new file mode 100644
index 00000000..4a500d3a
--- /dev/null
+++ b/assets/js/c15d9823.592fdf57.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8146],{9328(a){a.exports=JSON.parse('{"metadata":{"permalink":"/blog","page":1,"postsPerPage":10,"totalPages":2,"totalCount":11,"nextPage":"/blog/page/2","blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
\ No newline at end of file
diff --git a/assets/js/c3d032e9.18feb7ca.js b/assets/js/c3d032e9.18feb7ca.js
new file mode 100644
index 00000000..b75a4fd4
--- /dev/null
+++ b/assets/js/c3d032e9.18feb7ca.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[636],{5169(t,e,r){r.r(e),r.d(e,{assets:()=>c,contentTitle:()=>l,default:()=>x,frontMatter:()=>d,metadata:()=>n,toc:()=>o});const n=JSON.parse('{"id":"community/team","title":"Team","description":"Committers and Recent Contributors","source":"@site/docs/community/team.md","sourceDirName":"community","slug":"/community/team","permalink":"/docs/community/team","draft":false,"unlisted":false [...]
\ No newline at end of file
diff --git a/assets/js/c3d032e9.d95e7bb7.js b/assets/js/c3d032e9.d95e7bb7.js
deleted file mode 100644
index 55cb485e..00000000
--- a/assets/js/c3d032e9.d95e7bb7.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[636],{9699(t,e,r){r.r(e),r.d(e,{assets:()=>c,contentTitle:()=>d,default:()=>x,frontMatter:()=>s,metadata:()=>l,toc:()=>h});var n=r(4848),i=r(8453);const s={title:"Team",sidebar_position:2,id:"team"},d=void 0,l={id:"community/team",title:"Team",description:"Committers and Recent Contributors",source:"@site/docs/community/team.md",sourceDirName:"community",slug:"/community/team",permalink: [...]
\ No newline at end of file
diff --git a/assets/js/c5ff918f.4a373640.js b/assets/js/c5ff918f.4a373640.js
new file mode 100644
index 00000000..de058374
--- /dev/null
+++ b/assets/js/c5ff918f.4a373640.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[3619],{9531(a){a.exports=JSON.parse('{"tag":{"label":"kafka","permalink":"/blog/tags/kafka","allTagsPath":"/blog/tags","count":3,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/kafka","page":1,"postsPerPage":10,"totalPages":1,"totalCount":3,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
\ No newline at end of file
diff --git a/assets/js/c8d81af2.a32df4fb.js b/assets/js/c8d81af2.a32df4fb.js
deleted file mode 100644
index a010a5a5..00000000
--- a/assets/js/c8d81af2.a32df4fb.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[3384],{7110(e,t,a){a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>s,metadata:()=>r,toc:()=>l});var n=a(4848),i=a(8453);const s={id:"about",title:"What is Apache Wayang\u2122?",sidebar_position:1},o=void 0,r={id:"introduction/about",title:"What is Apache Wayang\u2122?",description:"\x3c!--",source:"@site/docs/introduction/about.md",sourceDirName:"introduction" [...]
\ No newline at end of file
diff --git a/assets/js/c8d81af2.a9d79745.js b/assets/js/c8d81af2.a9d79745.js
new file mode 100644
index 00000000..fb0e4bc8
--- /dev/null
+++ b/assets/js/c8d81af2.a9d79745.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[3384],{6206(e,t,a){a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>d,frontMatter:()=>o,metadata:()=>n,toc:()=>l});const n=JSON.parse('{"id":"introduction/about","title":"What is Apache Wayang\u2122?","description":"\x3c!--","source":"@site/docs/introduction/about.md","sourceDirName":"introduction","slug":"/introduction/about","permalink":"/docs/introduction/about","draft":false [...]
\ No newline at end of file
diff --git a/assets/js/c9cac9d9.db51b45e.js b/assets/js/c9cac9d9.db51b45e.js
new file mode 100644
index 00000000..2779c474
--- /dev/null
+++ b/assets/js/c9cac9d9.db51b45e.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[4918],{371(a){a.exports=JSON.parse('{"tag":{"label":"release","permalink":"/blog/tags/release","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/release","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
\ No newline at end of file
diff --git a/assets/js/ca0159e3.b14772a5.js b/assets/js/ca0159e3.b14772a5.js
deleted file mode 100644
index 42cfda94..00000000
--- a/assets/js/ca0159e3.b14772a5.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[6084],{138(a){a.exports=JSON.parse('{"permalink":"/blog/tags/trino","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/cbf9f64c.9e8ea1c9.js b/assets/js/cbf9f64c.9e8ea1c9.js
deleted file mode 100644
index c34ece52..00000000
--- a/assets/js/cbf9f64c.9e8ea1c9.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[2484],{258(a){a.exports=JSON.parse('{"permalink":"/blog/tags/tlp","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/cc6c0e90.149ceea8.js b/assets/js/cc6c0e90.149ceea8.js
deleted file mode 100644
index feb469b1..00000000
--- a/assets/js/cc6c0e90.149ceea8.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[6070],{9222(e,n,a){a.r(n),a.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>p,frontMatter:()=>o,metadata:()=>s,toc:()=>c});var i=a(4848),t=a(8453);const o={title:"Installation and Examples",sidebar_position:10,id:"examples"},r=void 0,s={id:"guide/examples",title:"Installation and Examples",description:"\x3c!--",source:"@site/docs/guide/examples.md",sourceDirName:"guide",slug:"/guide/exa [...]
\ No newline at end of file
diff --git a/assets/js/cc6c0e90.9fc38bea.js b/assets/js/cc6c0e90.9fc38bea.js
new file mode 100644
index 00000000..13159013
--- /dev/null
+++ b/assets/js/cc6c0e90.9fc38bea.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[6070],{7009(e,n,a){a.r(n),a.d(n,{assets:()=>l,contentTitle:()=>s,default:()=>p,frontMatter:()=>r,metadata:()=>i,toc:()=>c});const i=JSON.parse('{"id":"guide/examples","title":"Installation and Examples","description":"\x3c!--","source":"@site/docs/guide/examples.md","sourceDirName":"guide","slug":"/guide/examples","permalink":"/docs/guide/examples","draft":false,"unlisted":false,"tags":[ [...]
\ No newline at end of file
diff --git a/assets/js/ccc49370.5dcf1b05.js b/assets/js/ccc49370.5dcf1b05.js
new file mode 100644
index 00000000..71e646ea
--- /dev/null
+++ b/assets/js/ccc49370.5dcf1b05.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[3249],{2907(e,t,n){n.d(t,{A:()=>U});n(6540);var a=n(4164),s=n(4096),i=n(4848);function r({children:e,className:t}){return(0,i.jsx)("article",{className:t,children:e})}var o=n(8774);const l="title_f1Hy";function c({className:e}){const{metadata:t,isBlogPostPage:n}=(0,s.e7)(),{permalink:r,title:c}=t,d=n?"h1":"h2";return(0,i.jsx)(d,{className:(0,a.A)(l,e),children:n?c:(0,i.jsx)(o.A,{to:r,chi [...]
\ No newline at end of file
diff --git a/assets/js/ccc49370.613972d5.js b/assets/js/ccc49370.613972d5.js
deleted file mode 100644
index 8b137e53..00000000
--- a/assets/js/ccc49370.613972d5.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[3249],{4029(e,n,t){t.r(n),t.d(n,{default:()=>p});t(6540);var i=t(4164),a=t(1003),s=t(7559),o=t(7131),r=t(6535),l=t(8258),c=t(1312),d=t(9022),u=t(4848);function m(e){const{nextItem:n,prevItem:t}=e;return(0,u.jsxs)("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,c.T)({id:"theme.blog.post.paginator.navAriaLabel",message:"Blog post page navigation",description:"The ARIA la [...]
\ No newline at end of file
diff --git a/assets/js/cfab9f0f.46054c91.js b/assets/js/cfab9f0f.46054c91.js
new file mode 100644
index 00000000..5e8f4a49
--- /dev/null
+++ b/assets/js/cfab9f0f.46054c91.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[7554],{3442(e,a,n){n.r(a),n.d(a,{assets:()=>i,contentTitle:()=>c,default:()=>h,frontMatter:()=>l,metadata:()=>t,toc:()=>s});var t=n(2984),r=n(4848),o=n(8453);const l={slug:"wayang-release-odysse",title:"Apache Wayang Release Odysse",authors:"kamir",tags:["wayang","ASF","release"]},c="How I failed to release Apache Wayang",i={authorsImageUrls:[void 0]},s=[{value:"Intro",id:"intro",level:2 [...]
\ No newline at end of file
diff --git a/assets/js/cfab9f0f.de0e8a71.js b/assets/js/cfab9f0f.de0e8a71.js
deleted file mode 100644
index e9820a29..00000000
--- a/assets/js/cfab9f0f.de0e8a71.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[7554],{3442(e,a,n){n.r(a),n.d(a,{assets:()=>i,contentTitle:()=>l,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>s});var t=n(4848),r=n(8453);const o={slug:"wayang-release-odysse",title:"Apache Wayang Release Odysse",authors:"kamir",tags:["wayang","ASF","release"]},l="How I failed to release Apache Wayang",c={permalink:"/blog/wayang-release-odysse",source:"@site/blog/2024-09-01-rel [...]
\ No newline at end of file
diff --git a/assets/js/d2f02a99.067b368b.js b/assets/js/d2f02a99.067b368b.js
deleted file mode 100644
index 6d6313d0..00000000
--- a/assets/js/d2f02a99.067b368b.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[6286],{9119(a){a.exports=JSON.parse('{"permalink":"/blog/tags/wayang/page/2","page":2,"postsPerPage":10,"totalPages":2,"totalCount":11,"previousPage":"/blog/tags/wayang","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/d5eebf32.364b7794.js b/assets/js/d5eebf32.364b7794.js
new file mode 100644
index 00000000..13bdf469
--- /dev/null
+++ b/assets/js/d5eebf32.364b7794.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[7123],{7875(a){a.exports=JSON.parse('{"tag":{"label":"wayang","permalink":"/blog/tags/wayang","allTagsPath":"/blog/tags","count":11,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/wayang","page":1,"postsPerPage":10,"totalPages":2,"totalCount":11,"nextPage":"/blog/tags/wayang/page/2","blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
\ No newline at end of file
diff --git a/assets/js/d6ab7c01.aac54914.js b/assets/js/d6ab7c01.aac54914.js
deleted file mode 100644
index 87885036..00000000
--- a/assets/js/d6ab7c01.aac54914.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8311],{7422(a){a.exports=JSON.parse('{"label":"federated","permalink":"/blog/tags/federated","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]);
\ No newline at end of file
diff --git a/assets/js/d6b58e03.3150c259.js b/assets/js/d6b58e03.3150c259.js
deleted file mode 100644
index 10c90d43..00000000
--- a/assets/js/d6b58e03.3150c259.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9316],{530(e,a,t){t.r(a),t.d(a,{assets:()=>l,contentTitle:()=>r,default:()=>g,frontMatter:()=>o,metadata:()=>s,toc:()=>d});var n=t(4848),i=t(8453);const o={slug:"wayang-federated-ai",title:"Wayang and the Federated AI",authors:["glauesppen"],tags:["wayang","federated","ai"]},r="The Federated AI",s={permalink:"/blog/wayang-federated-ai",source:"@site/blog/2024-04-17-federated-ai.md",title [...]
\ No newline at end of file
diff --git a/assets/js/d6b58e03.f007aab8.js b/assets/js/d6b58e03.f007aab8.js
new file mode 100644
index 00000000..cb8ab388
--- /dev/null
+++ b/assets/js/d6b58e03.f007aab8.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9316],{530(e,a,t){t.r(a),t.d(a,{assets:()=>l,contentTitle:()=>s,default:()=>g,frontMatter:()=>r,metadata:()=>n,toc:()=>d});var n=t(3779),i=t(4848),o=t(8453);const r={slug:"wayang-federated-ai",title:"Wayang and the Federated AI",authors:["glauesppen"],tags:["wayang","federated","ai"]},s="The Federated AI",l={authorsImageUrls:[void 0]},d=[{value:"Apache Wayang in the Federated AI world",i [...]
\ No newline at end of file
diff --git a/assets/js/dcd29181.9a789b79.js b/assets/js/dcd29181.9a789b79.js
deleted file mode 100644
index 32b0e8bb..00000000
--- a/assets/js/dcd29181.9a789b79.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9865],{7159(e){e.exports=JSON.parse('{"permalink":"/blog/tags/tensorflow","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/dd496c4d.859b56f6.js b/assets/js/dd496c4d.859b56f6.js
new file mode 100644
index 00000000..8f364b97
--- /dev/null
+++ b/assets/js/dd496c4d.859b56f6.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[2259],{2717(a){a.exports=JSON.parse('{"tag":{"label":"ASF","permalink":"/blog/tags/asf","allTagsPath":"/blog/tags","count":2,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/asf","page":1,"postsPerPage":10,"totalPages":1,"totalCount":2,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
\ No newline at end of file
diff --git a/assets/js/dd4c342d.25b933c7.js b/assets/js/dd4c342d.25b933c7.js
new file mode 100644
index 00000000..ea795fc6
--- /dev/null
+++ b/assets/js/dd4c342d.25b933c7.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[515],{4686(e,t,s){s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>n,default:()=>h,frontMatter:()=>r,metadata:()=>i,toc:()=>u});const i=JSON.parse('{"id":"community/repositories","title":"Repositories","description":"Source Code","source":"@site/docs/community/repositories.md","sourceDirName":"community","slug":"/community/repositories","permalink":"/docs/community/repositories","draft":false [...]
\ No newline at end of file
diff --git a/assets/js/dd4c342d.9d8cda27.js b/assets/js/dd4c342d.9d8cda27.js
deleted file mode 100644
index 42d6e928..00000000
--- a/assets/js/dd4c342d.9d8cda27.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[515],{5682(e,t,i){i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>n,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>u});var s=i(4848),a=i(8453);const o={title:"Repositories",sidebar_position:2,id:"repositories"},n="Community Hubs",r={id:"community/repositories",title:"Repositories",description:"Source Code",source:"@site/docs/community/repositories.md",sourceDirName:"community",slug:" [...]
\ No newline at end of file
diff --git a/assets/js/ded07547.92578126.js b/assets/js/ded07547.92578126.js
deleted file mode 100644
index c26260f6..00000000
--- a/assets/js/ded07547.92578126.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[7741],{185(e,t,n){n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>s,metadata:()=>a,toc:()=>l});var r=n(4848),i=n(8453);const s={id:"resources",title:"Community Resources & External Coverage",sidebar_position:8},o=void 0,a={id:"community/resources",title:"Community Resources & External Coverage",description:"Apache Wayang thrives because of the conversations, f [...]
\ No newline at end of file
diff --git a/assets/js/ded07547.d190f211.js b/assets/js/ded07547.d190f211.js
new file mode 100644
index 00000000..4054ccde
--- /dev/null
+++ b/assets/js/ded07547.d190f211.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[7741],{6661(e,t,n){n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>a,metadata:()=>r,toc:()=>l});const r=JSON.parse('{"id":"community/resources","title":"Community Resources & External Coverage","description":"Apache Wayang thrives because of the conversations, field notes, and benchmarks that the community shares publicly. To anchor every new visitor in our co [...]
\ No newline at end of file
diff --git a/assets/js/e2014d6c.0104a08e.js b/assets/js/e2014d6c.0104a08e.js
deleted file mode 100644
index fabe3eeb..00000000
--- a/assets/js/e2014d6c.0104a08e.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9966],{3853(e,a,n){n.r(a),n.d(a,{assets:()=>c,contentTitle:()=>s,default:()=>u,frontMatter:()=>r,metadata:()=>i,toc:()=>l});var t=n(4848),o=n(8453);const r={slug:"wayang-graduation",title:"Apache Wayang Graduation",authors:"zkaoudi",tags:["wayang","ASF","graduation","TLP"]},s="Apache Wayang Graduates to a Top-Level Project!",i={permalink:"/blog/wayang-graduation",source:"@site/blog/2025- [...]
\ No newline at end of file
diff --git a/assets/js/e2014d6c.d3427a65.js b/assets/js/e2014d6c.d3427a65.js
new file mode 100644
index 00000000..7e07385d
--- /dev/null
+++ b/assets/js/e2014d6c.d3427a65.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9966],{3853(e,a,n){n.r(a),n.d(a,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>s,metadata:()=>t,toc:()=>l});var t=n(3318),o=n(4848),r=n(8453);const s={slug:"wayang-graduation",title:"Apache Wayang Graduation",authors:"zkaoudi",tags:["wayang","ASF","graduation","TLP"]},i="Apache Wayang Graduates to a Top-Level Project!",c={authorsImageUrls:[void 0]},l=[{value:"What Is Apac [...]
\ No newline at end of file
diff --git a/assets/js/e82464af.3ec64e78.js b/assets/js/e82464af.3ec64e78.js
new file mode 100644
index 00000000..d50fd3dd
--- /dev/null
+++ b/assets/js/e82464af.3ec64e78.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8337],{8680(e,t,a){a.r(t),a.d(t,{assets:()=>i,contentTitle:()=>u,default:()=>p,frontMatter:()=>r,metadata:()=>n,toc:()=>l});var n=a(5932),s=a(4848),o=a(8453);const r={slug:"website_update",title:"Website updated",authors:["alo.alt"],tags:["wayang"]},u=void 0,i={authorsImageUrls:[void 0]},l=[];function c(e){const t={p:"p",...(0,o.R)(),...e.components};return(0,s.jsx)(t.p,{children:"We're  [...]
\ No newline at end of file
diff --git a/assets/js/e82464af.933b8b86.js b/assets/js/e82464af.933b8b86.js
deleted file mode 100644
index fc69c045..00000000
--- a/assets/js/e82464af.933b8b86.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8337],{8680(e,t,a){a.r(t),a.d(t,{assets:()=>i,contentTitle:()=>r,default:()=>p,frontMatter:()=>o,metadata:()=>u,toc:()=>l});var n=a(4848),s=a(8453);const o={slug:"website_update",title:"Website updated",authors:["alo.alt"],tags:["wayang"]},r=void 0,u={permalink:"/blog/website_update",source:"@site/blog/2024-01-25-website_update.md",title:"Website updated",description:"We're updated our w [...]
\ No newline at end of file
diff --git a/assets/js/ef63ae07.78776b24.js b/assets/js/ef63ae07.78776b24.js
new file mode 100644
index 00000000..93745a47
--- /dev/null
+++ b/assets/js/ef63ae07.78776b24.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9358],{7996(e,t,n){n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>d,default:()=>h,frontMatter:()=>i,metadata:()=>r,toc:()=>o});const r=JSON.parse('{"id":"guide/json-wayang-plan-guide","title":"Documentation of Supported Operators in JSON-REST API","description":"This is not a full coverage of supported operators and plan parameters in the API. These are only the ones that we were able to ve [...]
\ No newline at end of file
diff --git a/assets/js/ef63ae07.d45848c7.js b/assets/js/ef63ae07.d45848c7.js
deleted file mode 100644
index 1c85a8cd..00000000
--- a/assets/js/ef63ae07.d45848c7.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9358],{6196(e,t,n){n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>p,frontMatter:()=>s,metadata:()=>d,toc:()=>o});var r=n(4848),a=n(8453);const s={},i="Documentation of Supported Operators in JSON-REST API",d={id:"guide/json-wayang-plan-guide",title:"Documentation of Supported Operators in JSON-REST API",description:"This is not a full coverage of supported operators and plan p [...]
\ No newline at end of file
diff --git a/assets/js/ef8b811a.0962eca3.js b/assets/js/ef8b811a.0962eca3.js
new file mode 100644
index 00000000..51dddcd6
--- /dev/null
+++ b/assets/js/ef8b811a.0962eca3.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8947],{6600(t){t.exports=JSON.parse('{"authors":[{"name":"Alexander Alten","title":"(P)PMC Apache Wayang","url":"https://github.com/2pk03","imageURL":"https://avatars.githubusercontent.com/u/1323575?v=4","key":"alo.alt","page":null,"count":1},{"name":"Mirko K\xe4mpf","title":"(P)PMC Apache Wayang","url":"https://github.com/kamir","imageURL":"https://avatars.githubusercontent.com/u/124112 [...]
\ No newline at end of file
diff --git a/assets/js/effa2a56.9694e959.js b/assets/js/effa2a56.9694e959.js
deleted file mode 100644
index b1d69755..00000000
--- a/assets/js/effa2a56.9694e959.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[6947],{5788(e,n,t){t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>l,default:()=>h,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var s=t(4848),a=t(8453);const i={slug:"website_update",title:"Website updated",authors:["alo.alt"],tags:["wayang"]},l="Website updated",r={permalink:"/blog/website_update",source:"@site/blog/2024-01-25-website_update.md",title:"Website updated",description:"We're up [...]
\ No newline at end of file
diff --git a/assets/js/effa2a56.a8b17e26.js b/assets/js/effa2a56.a8b17e26.js
new file mode 100644
index 00000000..83c85dfc
--- /dev/null
+++ b/assets/js/effa2a56.a8b17e26.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[6947],{5788(e,n,t){t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>r,default:()=>h,frontMatter:()=>l,metadata:()=>s,toc:()=>u});var s=t(5932),a=t(4848),i=t(8453);const l={slug:"website_update",title:"Website updated",authors:["alo.alt"],tags:["wayang"]},r="Website updated",o={authorsImageUrls:[void 0]},u=[{value:"Cheatsheet",id:"cheatsheet",level:2}];function c(e){const n={a:"a",h2:"h2",li:" [...]
\ No newline at end of file
diff --git a/assets/js/f0e33d06.ed95c00d.js b/assets/js/f0e33d06.ed95c00d.js
deleted file mode 100644
index 6c4d596d..00000000
--- a/assets/js/f0e33d06.ed95c00d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[6730],{9171(a){a.exports=JSON.parse('{"label":"presto","permalink":"/blog/tags/presto","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]);
\ No newline at end of file
diff --git a/assets/js/f32fe326.17b9c059.js b/assets/js/f32fe326.17b9c059.js
deleted file mode 100644
index 90c89c07..00000000
--- a/assets/js/f32fe326.17b9c059.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[818],{5320(a){a.exports=JSON.parse('{"label":"ai","permalink":"/blog/tags/ai","allTagsPath":"/blog/tags","count":1,"unlisted":false}')}}]);
\ No newline at end of file
diff --git a/assets/js/f483cb0e.59770649.js b/assets/js/f483cb0e.59770649.js
deleted file mode 100644
index 7f9d4800..00000000
--- a/assets/js/f483cb0e.59770649.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[5492],{2326(a){a.exports=JSON.parse('{"label":"ASF","permalink":"/blog/tags/asf","allTagsPath":"/blog/tags","count":2,"unlisted":false}')}}]);
\ No newline at end of file
diff --git a/assets/js/f51360a1.6a2e273c.js b/assets/js/f51360a1.6a2e273c.js
deleted file mode 100644
index cf3e9e10..00000000
--- a/assets/js/f51360a1.6a2e273c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[568],{4758(a){a.exports=JSON.parse('{"permalink":"/blog/tags/ml","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/f5d9e7eb.130dda91.js b/assets/js/f5d9e7eb.130dda91.js
deleted file mode 100644
index fbfdaa64..00000000
--- a/assets/js/f5d9e7eb.130dda91.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[3828],{1546(a,e,n){n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>r,metadata:()=>s,toc:()=>l});var o=n(4848),t=n(8453);const r={slug:"wayang-tensorflow",title:"Integrating ML platforms in Wayang",authors:["zkaoudi"],tags:["wayang","ML","tensorflow"]},i="Integrating ML platforms in Wayang",s={permalink:"/blog/wayang-tensorflow",source:"@site/blog/2024-05-07-wa [...]
\ No newline at end of file
diff --git a/assets/js/f5d9e7eb.64190d38.js b/assets/js/f5d9e7eb.64190d38.js
new file mode 100644
index 00000000..c0075f8c
--- /dev/null
+++ b/assets/js/f5d9e7eb.64190d38.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[3828],{1546(a,e,n){n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>s,default:()=>d,frontMatter:()=>i,metadata:()=>o,toc:()=>l});var o=n(5458),t=n(4848),r=n(8453);const i={slug:"wayang-tensorflow",title:"Integrating ML platforms in Wayang",authors:["zkaoudi"],tags:["wayang","ML","tensorflow"]},s="Integrating ML platforms in Wayang",c={authorsImageUrls:[void 0]},l=[{value:"Step 1: Introducing  [...]
\ No newline at end of file
diff --git a/assets/js/f6749399.3e5e1e61.js b/assets/js/f6749399.3e5e1e61.js
new file mode 100644
index 00000000..6c9a73b9
--- /dev/null
+++ b/assets/js/f6749399.3e5e1e61.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[552],{2845(a){a.exports=JSON.parse('{"tag":{"label":"tensorflow","permalink":"/blog/tags/tensorflow","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/tensorflow","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
\ No newline at end of file
diff --git a/assets/js/f81c1134.bd48df83.js b/assets/js/f81c1134.bd48df83.js
new file mode 100644
index 00000000..a34e2b7e
--- /dev/null
+++ b/assets/js/f81c1134.bd48df83.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8130],{7735(e){e.exports=JSON.parse('{"archive":{"blogPosts":[{"id":"spatial-wayang","metadata":{"permalink":"/blog/spatial-wayang","source":"@site/blog/2026-05-19-spatial-wayang.md","title":"Bringing Spatial Data Processing to Apache Wayang","description":"Apache Wayang already enables a large variety of data processing workflows, ranging from basic data retrieval and filtering to compl [...]
\ No newline at end of file
diff --git a/assets/js/f8667543.b71eb24c.js b/assets/js/f8667543.b71eb24c.js
deleted file mode 100644
index 6f752ffd..00000000
--- a/assets/js/f8667543.b71eb24c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[7734],{3142(e,n,t){t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>u,frontMatter:()=>s,metadata:()=>a,toc:()=>l});var i=t(4848),o=t(8453);const s={},r="Guidelines for AI-assisted Contributions",a={id:"community/ai-tooling-policy",title:"Guidelines for AI-assisted Contributions",description:"The Apache Wayang community welcomes the use of AI and generative tooling as part of the [...]
\ No newline at end of file
diff --git a/assets/js/f8667543.fcbc3f4b.js b/assets/js/f8667543.fcbc3f4b.js
new file mode 100644
index 00000000..06d0b648
--- /dev/null
+++ b/assets/js/f8667543.fcbc3f4b.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[7734],{2987(e,n,t){t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>u,frontMatter:()=>r,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"id":"community/ai-tooling-policy","title":"Guidelines for AI-assisted Contributions","description":"The Apache Wayang community welcomes the use of AI and generative tooling as part of the contribution process, provided contributors follow the  [...]
\ No newline at end of file
diff --git a/assets/js/f8de77c0.7a4b2099.js b/assets/js/f8de77c0.7a4b2099.js
deleted file mode 100644
index 3f4111a7..00000000
--- a/assets/js/f8de77c0.7a4b2099.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[6487],{8581(a){a.exports=JSON.parse('{"permalink":"/blog/tags/python","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/f9d658b5.0b4d9fc5.js b/assets/js/f9d658b5.0b4d9fc5.js
new file mode 100644
index 00000000..b7a1563d
--- /dev/null
+++ b/assets/js/f9d658b5.0b4d9fc5.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8302],{5678(a,e,n){n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>s,default:()=>d,frontMatter:()=>i,metadata:()=>o,toc:()=>l});var o=n(5458),t=n(4848),r=n(8453);const i={slug:"wayang-tensorflow",title:"Integrating ML platforms in Wayang",authors:["zkaoudi"],tags:["wayang","ML","tensorflow"]},s="Integrating ML platforms in Wayang",c={authorsImageUrls:[void 0]},l=[{value:"Step 1: Introducing  [...]
\ No newline at end of file
diff --git a/assets/js/f9d658b5.88e4cbff.js b/assets/js/f9d658b5.88e4cbff.js
deleted file mode 100644
index 477c1ee9..00000000
--- a/assets/js/f9d658b5.88e4cbff.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8302],{5678(a,e,n){n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>r,metadata:()=>s,toc:()=>l});var o=n(4848),t=n(8453);const r={slug:"wayang-tensorflow",title:"Integrating ML platforms in Wayang",authors:["zkaoudi"],tags:["wayang","ML","tensorflow"]},i="Integrating ML platforms in Wayang",s={permalink:"/blog/wayang-tensorflow",source:"@site/blog/2024-05-07-wa [...]
\ No newline at end of file
diff --git a/assets/js/f9f546af.ab34d062.js b/assets/js/f9f546af.ab34d062.js
new file mode 100644
index 00000000..ad2f23e8
--- /dev/null
+++ b/assets/js/f9f546af.ab34d062.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[4860],{1600(a){a.exports=JSON.parse('{"tag":{"label":"graduation","permalink":"/blog/tags/graduation","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/graduation","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
\ No newline at end of file
diff --git a/assets/js/fc758bfe.620c0314.js b/assets/js/fc758bfe.620c0314.js
new file mode 100644
index 00000000..d8307f55
--- /dev/null
+++ b/assets/js/fc758bfe.620c0314.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[643],{2386(a){a.exports=JSON.parse('{"tag":{"label":"spatial","permalink":"/blog/tags/spatial","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/spatial","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
\ No newline at end of file
diff --git a/assets/js/ff8bfa68.3bed06c8.js b/assets/js/ff8bfa68.3bed06c8.js
new file mode 100644
index 00000000..9868409a
--- /dev/null
+++ b/assets/js/ff8bfa68.3bed06c8.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9976],{4445(e,n,s){s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>i,metadata:()=>r,toc:()=>l});const r=JSON.parse('{"id":"community/release","title":"How to make a release","description":"This guide documents the steps to be followed when making a release.","source":"@site/docs/community/how-to-make-a-release.md","sourceDirName":"community","slug":"/community [...]
\ No newline at end of file
diff --git a/assets/js/ff8bfa68.a8db12f8.js b/assets/js/ff8bfa68.a8db12f8.js
deleted file mode 100644
index 83b9db43..00000000
--- a/assets/js/ff8bfa68.a8db12f8.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[9976],{6311(e,n,s){s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>t,metadata:()=>o,toc:()=>l});var r=s(4848),a=s(8453);const t={title:"How to make a release",sidebar_position:6,id:"release"},i=void 0,o={id:"community/release",title:"How to make a release",description:"This guide documents the steps to be followed when making a release.",source:"@site/docs/com [...]
\ No newline at end of file
diff --git a/assets/js/main.1812f2df.js b/assets/js/main.1812f2df.js
deleted file mode 100644
index f89db16f..00000000
--- a/assets/js/main.1812f2df.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! For license information please see main.1812f2df.js.LICENSE.txt */
-(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8792],{8328(e,t,n){"use strict";n.d(t,{A:()=>f});n(6540);var r=n(3259),a=n.n(r),o=n(4054);const i={"01a85c17":[()=>Promise.all([n.e(1869),n.e(8209)]).then(n.bind(n,9158)),"@theme/BlogTagsListPage",9158],"05a94acb":[()=>n.e(6570).then(n.bind(n,8172)),"@site/docs/community/committer.md",8172],"06bc2d4d":[()=>n.e(2666).then(n.bind(n,3974)),"@site/blog/2024-04-17-federated-ai.md?truncated=true",3974],"09 [...]
\ No newline at end of file
diff --git a/assets/js/main.b727b1fa.js b/assets/js/main.b727b1fa.js
new file mode 100644
index 00000000..245ffcca
--- /dev/null
+++ b/assets/js/main.b727b1fa.js
@@ -0,0 +1,2 @@
+/*! For license information please see main.b727b1fa.js.LICENSE.txt */
+(globalThis.webpackChunkwayang_website=globalThis.webpackChunkwayang_website||[]).push([[8792],{8328(e,t,n){"use strict";n.d(t,{A:()=>p});n(6540);var r=n(3259),a=n.n(r),o=n(4054);const i={"0058b4c6":[()=>n.e(849).then(n.t.bind(n,6164,19)),"@generated/docusaurus-plugin-content-docs/default/p/docs-175.json",6164],"01a85c17":[()=>Promise.all([n.e(1869),n.e(8209)]).then(n.bind(n,9158)),"@theme/BlogTagsListPage",9158],"05a94acb":[()=>n.e(6570).then(n.bind(n,674)),"@site/docs/community/committ [...]
\ No newline at end of file
diff --git a/assets/js/main.1812f2df.js.LICENSE.txt b/assets/js/main.b727b1fa.js.LICENSE.txt
similarity index 100%
rename from assets/js/main.1812f2df.js.LICENSE.txt
rename to assets/js/main.b727b1fa.js.LICENSE.txt
diff --git a/assets/js/runtime~main.0da1c716.js b/assets/js/runtime~main.0da1c716.js
new file mode 100644
index 00000000..afce5736
--- /dev/null
+++ b/assets/js/runtime~main.0da1c716.js
@@ -0,0 +1 @@
+(()=>{"use strict";var e,a,f,c,d,b={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var f=t[e]={exports:{}};return b[e].call(f.exports,f,f.exports,r),f.exports}r.m=b,e=[],r.O=(a,f,c,d)=>{if(!f){var b=1/0;for(i=0;i<e.length;i++){for(var[f,c,d]=e[i],t=!0,o=0;o<f.length;o++)(!1&d||b>=d)&&Object.keys(r.O).every(e=>r.O[e](f[o]))?f.splice(o--,1):(t=!1,d<b&&(b=d));if(t){e.splice(i--,1);var n=c();void 0!==n&&(a=n)}}return a}d=d||0;for(var i=e.length;i>0&&e[i-1][2]>d;i--)e[i]=e[i-1 [...]
\ No newline at end of file
diff --git a/assets/js/runtime~main.de22a7ac.js b/assets/js/runtime~main.de22a7ac.js
deleted file mode 100644
index e9271dbc..00000000
--- a/assets/js/runtime~main.de22a7ac.js
+++ /dev/null
@@ -1 +0,0 @@
-(()=>{"use strict";var e,a,f,d,c,b={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var f=t[e]={exports:{}};return b[e].call(f.exports,f,f.exports,r),f.exports}r.m=b,e=[],r.O=(a,f,d,c)=>{if(!f){var b=1/0;for(i=0;i<e.length;i++){for(var[f,d,c]=e[i],t=!0,o=0;o<f.length;o++)(!1&c||b>=c)&&Object.keys(r.O).every(e=>r.O[e](f[o]))?f.splice(o--,1):(t=!1,c<b&&(b=c));if(t){e.splice(i--,1);var n=d();void 0!==n&&(a=n)}}return a}c=c||0;for(var i=e.length;i>0&&e[i-1][2]>c;i--)e[i]=e[i-1 [...]
\ No newline at end of file
diff --git a/blog/archive/index.html b/blog/archive/index.html
index 30a92045..52991403 100644
--- a/blog/archive/index.html
+++ b/blog/archive/index.html
@@ -2,14 +2,17 @@
 <html lang="en" dir="ltr" class="plugin-blog plugin-id-default" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
+<meta name="generator" content="Docusaurus v3.10.1">
 <title data-rh="true">Archive | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/blog/archive"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" n [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/blog/atom.xml b/blog/atom.xml
index 0629b483..f756b607 100644
--- a/blog/atom.xml
+++ b/blog/atom.xml
@@ -15,49 +15,49 @@
         <summary type="html"><![CDATA[Apache Wayang already enables a large variety of data processing workflows, ranging from basic data retrieval and filtering to complex ML tasks. However, there are additional areas that could benefit from its platform flexibility. As part of a university project, we implemented spatial operators in Apache Wayang. This enables the execution of workflows using geospatial data, including spatial join and filter operations. Since execution times can diff [...]
         <content type="html"><![CDATA[<p>Apache Wayang already enables a large variety of data processing workflows, ranging from basic data retrieval and filtering to complex ML tasks. However, there are additional areas that could benefit from its platform flexibility. As part of a university project, we implemented spatial operators in Apache Wayang. This enables the execution of workflows using geospatial data, including spatial join and filter operations. Since execution times can d [...]
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="implementation">Implementation<a href="https://wayang.apache.org/blog/spatial-wayang#implementation" class="hash-link" aria-label="Direct link to Implementation" title="Direct link to Implementation">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="implementation">Implementation<a href="https://wayang.apache.org/blog/spatial-wayang#implementation" class="hash-link" aria-label="Direct link to Implementation" title="Direct link to Implementation" translate="no">​</a></h2>
 <p>Workflows including spatial operators are not the main task in Apache Wayang. Therefore, we chose to add spatial support as a plugin that can be enabled separately.</p>
 <p>The two new operators we added are SpatialFilter and SpatialJoin, since many spatial workflows primarily rely on these two operations.</p>
 <p>To support multiple data sources and geometry formats, we introduced an internal geometry representation, SpatialGeometry, that enables translation between formats. This allows geometries stored as WKT, WKB, and GeoJSON to be read and, if necessary, converted to the type expected by the consuming operator.</p>
 <p>For the execution of spatial jobs, we currently support Java, PostgreSQL, and Spark as backends. The Spark implementation uses Apache Sedona, a well-established library for distributed processing of spatial data. The Java implementation is based on JTS, and the PostgreSQL platform uses PostGIS for spatial operations.</p>
-<div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token class-name">WayangContext</span><span class="token plain"> wayangContext </span><span class="token [...]
+<div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token class-name">WayangContext</span><span class="token plain"> wayangContext </span><span class="token  [...]
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="why-spatial-is-a-plugin-not-a-platform">Why Spatial Is a Plugin, Not a Platform<a href="https://wayang.apache.org/blog/spatial-wayang#why-spatial-is-a-plugin-not-a-platform" class="hash-link" aria-label="Direct link to Why Spatial Is a Plugin, Not a Platform" title="Direct link to Why Spatial Is a Plugin, Not a Platform">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="why-spatial-is-a-plugin-not-a-platform">Why Spatial Is a Plugin, Not a Platform<a href="https://wayang.apache.org/blog/spatial-wayang#why-spatial-is-a-plugin-not-a-platform" class="hash-link" aria-label="Direct link to Why Spatial Is a Plugin, Not a Platform" title="Direct link to Why Spatial Is a Plugin, Not a Platform" translate="no">​</a></h2>
 <p>In the current Wayang architecture, a platform is responsible for runtime ownership: it defines a Platform implementation, provides an executor factory, defines channel conversions, and integrates cost models. This can be seen clearly in modules such as Java (JavaPlatform + JavaExecutor) and PostgreSQL (PostgresPlatform via JdbcPlatformTemplate + JdbcExecutor).</p>
 <p>The spatial extension is intentionally different. It does not introduce a new Platform subclass and does not provide its own executor. Instead, wayang-spatial is implemented as a plugin (Spatial.java) that contributes operators, mappings for those operators, and specifies required platforms.</p>
 <p>The logical spatial operators (<code>SpatialFilterOperator</code>, <code>SpatialJoinOperator</code>, <code>GeoJsonFileSource</code>) still live in <code>wayang-basic</code> and are included in the Java-Scala API. The spatial plugin extends the system by adding platform-specific execution operators and transformation rules that map Wayang operators to their platform implementations.</p>
 <p>At registration time, <code>WayangContext.withPlugin(...)</code> calls <code>plugin.configure(configuration)</code>. This whitelists the required platforms and spatial mappings. During optimization, mappings such as <code>SpatialFilterMapping</code> and <code>SpatialJoinMapping</code> rewrite logical operators into execution operators such as:</p>
 <ul>
-<li><code>JavaSpatialFilterOperator</code> / <code>JavaSpatialJoinOperator</code></li>
-<li><code>SparkSpatialFilterOperator</code> / <code>SparkSpatialJoinOperator</code></li>
-<li><code>PostgresSpatialFilterOperator</code> / <code>PostgresSpatialJoinOperator</code></li>
+<li class=""><code>JavaSpatialFilterOperator</code> / <code>JavaSpatialJoinOperator</code></li>
+<li class=""><code>SparkSpatialFilterOperator</code> / <code>SparkSpatialJoinOperator</code></li>
+<li class=""><code>PostgresSpatialFilterOperator</code> / <code>PostgresSpatialJoinOperator</code></li>
 </ul>
 <p>Execution is then handled by the existing platform runtimes:</p>
 <ul>
-<li>Java operators are executed by <code>JavaExecutor</code></li>
-<li>Spark operators are executed by <code>SparkExecutor</code></li>
-<li>PostgreSQL operators are executed through the JDBC runtime (<code>JdbcExecutor</code>)</li>
+<li class="">Java operators are executed by <code>JavaExecutor</code></li>
+<li class="">Spark operators are executed by <code>SparkExecutor</code></li>
+<li class="">PostgreSQL operators are executed through the JDBC runtime (<code>JdbcExecutor</code>)</li>
 </ul>
 <p>In practice, this is why applications have to register both a platform plugin (for general operators and channels) and a spatial plugin (for spatial mappings), for example <code>Java.basicPlugin()</code> + <code>Spatial.javaPlugin()</code> or <code>Spark.basicPlugin()</code> + <code>Spatial.sparkPlugin()</code>.</p>
 <p>This design provides three concrete advantages:</p>
 <ul>
-<li>No duplicate runtime stack, since executors, channels, and cost models remain centralized in the platforms</li>
-<li>Clean multi-platform support for the same spatial semantics</li>
-<li>Lower maintenance overhead, because spatial development efforts can focus on operator logic and mappings rather than recreating infrastructure</li>
+<li class="">No duplicate runtime stack, since executors, channels, and cost models remain centralized in the platforms</li>
+<li class="">Clean multi-platform support for the same spatial semantics</li>
+<li class="">Lower maintenance overhead, because spatial development efforts can focus on operator logic and mappings rather than recreating infrastructure</li>
 </ul>
 <p>Spatial support in Wayang is therefore best understood as a cross-platform capability extension: it contributes spatial semantics and translation, while execution remains fully owned by the underlying platforms.</p>
 <div style="text-align:center"><img width="90%" alt="wayang-spatial architecture" src="https://wayang.apache.org/img/architecture/wayang-spatial-architecture.png"></div>
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="benchmarks">Benchmarks<a href="https://wayang.apache.org/blog/spatial-wayang#benchmarks" class="hash-link" aria-label="Direct link to Benchmarks" title="Direct link to Benchmarks">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="benchmarks">Benchmarks<a href="https://wayang.apache.org/blog/spatial-wayang#benchmarks" class="hash-link" aria-label="Direct link to Benchmarks" title="Direct link to Benchmarks" translate="no">​</a></h2>
 <p>Below we show scenarios where it is advantageous to be able to freely choose the execution depending on the use case. The following benchmarks are not intended to be exhaustive tests of our new operators but rather to highlight how using the platform independence of Apache Wayang can speed up spatial jobs. We executed the benchmarks on an HPC cluster with reproducible Spark cluster configurations.</p>
 <div style="text-align:center"><img width="75%" alt="Spatial benchmark 1" src="https://wayang.apache.org/img/benchmarks/spatial-bench1.png"></div>
 <ul>
-<li><strong>Job 1:</strong> Spatial Join of parks (~44k) and lakes (~140k) in Germany with spatial predicate CONTAINS, no index on Postgres tables, Spark cluster with 4 nodes</li>
-<li><strong>Job 2:</strong> Spatial Join of parks (~44k) and lakes (~140k) in Germany with spatial predicate CONTAINS, spatial index on Postgres tables, Spark cluster with 4 nodes</li>
-<li><strong>Job 3:</strong> Spatial Join of two synthetic datasets containing boxes (100k and 1M) with spatial predicate INTERSECTS, spatial index on Postgres tables, Spark cluster with 8 nodes</li>
+<li class=""><strong>Job 1:</strong> Spatial Join of parks (~44k) and lakes (~140k) in Germany with spatial predicate CONTAINS, no index on Postgres tables, Spark cluster with 4 nodes</li>
+<li class=""><strong>Job 2:</strong> Spatial Join of parks (~44k) and lakes (~140k) in Germany with spatial predicate CONTAINS, spatial index on Postgres tables, Spark cluster with 4 nodes</li>
+<li class=""><strong>Job 3:</strong> Spatial Join of two synthetic datasets containing boxes (100k and 1M) with spatial predicate INTERSECTS, spatial index on Postgres tables, Spark cluster with 8 nodes</li>
 </ul>
 <p>The above figure shows that there are use cases in which each of the currently supported platforms performs best. For small datasets, Java performs best if there is no spatial index available for Postgres; otherwise, Postgres outperforms Java. Due to the Spark overhead, Sedona running on a Spark cluster only gains an advantage in jobs with large datasets, as seen in Job 3.</p>
-<p>This is also evident in the following figure. While Java and Postgres perform better than Sedona on a Spark cluster for joins on small datasets, this trend reverses for joins of larger datasets. Especially for the join of 100k and 10M boxes (generated using <a href="https://star.cs.ucr.edu/" target="_blank" rel="noopener noreferrer">star.cs.ucr.edu</a>), the Spark cluster outperforms the single node execution of Java and Postgres. The poor performance of Sedona/Spark on a cluster with [...]
+<p>This is also evident in the following figure. While Java and Postgres perform better than Sedona on a Spark cluster for joins on small datasets, this trend reverses for joins of larger datasets. Especially for the join of 100k and 10M boxes (generated using <a href="https://star.cs.ucr.edu/" target="_blank" rel="noopener noreferrer" class="">star.cs.ucr.edu</a>), the Spark cluster outperforms the single node execution of Java and Postgres. The poor performance of Sedona/Spark on a clu [...]
 <div style="text-align:center"><img width="75%" alt="Spatial benchmark 2" src="https://wayang.apache.org/img/benchmarks/spatial-bench2.png"></div>
 <p>The performance gained by using larger cluster configurations can also be seen in the following visualization of runtime results of box joins with datasets of various sizes.</p>
 <div style="text-align:center"><img width="75%" alt="Spatial benchmark 3" src="https://wayang.apache.org/img/benchmarks/spatial-bench3.png"></div>
@@ -65,7 +65,7 @@
 <div style="text-align:center"><img width="75%" alt="Spatial benchmark 4" src="https://wayang.apache.org/img/benchmarks/spatial-bench4.png"></div>
 <p>The benchmark results show multiple scenarios in which platform choice has a significant impact on runtime. Spatial data processing can therefore benefit greatly from using the new spatial operators in Apache Wayang.</p>
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="future-work">Future Work<a href="https://wayang.apache.org/blog/spatial-wayang#future-work" class="hash-link" aria-label="Direct link to Future Work" title="Direct link to Future Work">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="future-work">Future Work<a href="https://wayang.apache.org/blog/spatial-wayang#future-work" class="hash-link" aria-label="Direct link to Future Work" title="Direct link to Future Work" translate="no">​</a></h2>
 <p>Our spatial extension enables basic spatial workloads using filter and join operations on the Java, Spark, and Postgres platforms. However, additional operators like nearest neighbor or within-distance operations could enable even more complex scenarios.</p>
 <p>Adding platforms specifically designed for spatial data processing could improve performance even further. An interesting candidate for this could be the relatively recently introduced Apache SedonaDB database engine.</p>
 <p>Currently, the execution platform has to be chosen manually. Part of potential future work should therefore be the implementation of heuristics for platform selection.</p>]]></content>
@@ -94,28 +94,28 @@
 <p>This graduation rewards the community-driven effort, research, innovation, and collaboration of many years. It reflects our shared commitment to open-source development and the growing importance of cross-platform data processing in the broader data ecosystem nowadays.
 Graduating as an Apache Top-Level Project is an important recognition of the project’s maturity and ensures that Apache Wayang is backed by the full support and oversight of the ASF, guaranteeing openness, meritocracy, and a sustainable development model for years to come.</p>
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="what-is-apache-wayang">What Is Apache Wayang?<a href="https://wayang.apache.org/blog/wayang-graduation#what-is-apache-wayang" class="hash-link" aria-label="Direct link to What Is Apache Wayang?" title="Direct link to What Is Apache Wayang?">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-is-apache-wayang">What Is Apache Wayang?<a href="https://wayang.apache.org/blog/wayang-graduation#what-is-apache-wayang" class="hash-link" aria-label="Direct link to What Is Apache Wayang?" title="Direct link to What Is Apache Wayang?" translate="no">​</a></h2>
 <p>Apache Wayang (formerly known as Rheem) is a <strong>cross-platform data processing system</strong> designed to give developers and organizations a unified way to execute pipelines over multiple data processing engines—such as Apache Spark, Apache Flink, PostgreSQL, and more.</p>
 <p>Instead of forcing users to choose a single execution backend, Wayang:</p>
 <ul>
-<li><strong>Abstracts data processing engines</strong> through a unified API</li>
-<li><strong>Can automatically choose the best execution platform</strong> based on workload characteristics</li>
-<li><strong>Optimizes performance</strong> by distributing tasks across engines if necessary</li>
-<li><strong>Provides a flexible plugin architecture</strong> for integrating new platforms and optimizers</li>
+<li class=""><strong>Abstracts data processing engines</strong> through a unified API</li>
+<li class=""><strong>Can automatically choose the best execution platform</strong> based on workload characteristics</li>
+<li class=""><strong>Optimizes performance</strong> by distributing tasks across engines if necessary</li>
+<li class=""><strong>Provides a flexible plugin architecture</strong> for integrating new platforms and optimizers</li>
 </ul>
 <p>In other words, Wayang enables interoperability across the diverse data landscape and empowers teams to focus on application logic and not infrastructure decisions.</p>
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="thank-you-to-our-community">Thank You to Our Community<a href="https://wayang.apache.org/blog/wayang-graduation#thank-you-to-our-community" class="hash-link" aria-label="Direct link to Thank You to Our Community" title="Direct link to Thank You to Our Community">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="thank-you-to-our-community">Thank You to Our Community<a href="https://wayang.apache.org/blog/wayang-graduation#thank-you-to-our-community" class="hash-link" aria-label="Direct link to Thank You to Our Community" title="Direct link to Thank You to Our Community" translate="no">​</a></h2>
 <p>Apache Wayang wouldn’t exist without its community of developers, users, mentors, and advocates who contributed code, documentation, feedback, and support. A special thanks goes to our Incubator mentors, who helped guide the project through the Apache processes and best practices.
 Your contributions made this milestone possible, and we’re just getting started.</p>
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="get-involved">Get Involved!<a href="https://wayang.apache.org/blog/wayang-graduation#get-involved" class="hash-link" aria-label="Direct link to Get Involved!" title="Direct link to Get Involved!">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="get-involved">Get Involved!<a href="https://wayang.apache.org/blog/wayang-graduation#get-involved" class="hash-link" aria-label="Direct link to Get Involved!" title="Direct link to Get Involved!" translate="no">​</a></h2>
 <p>Whether you want to try Wayang for your next project, contribute code, write documentation, or share your ideas, your participation is welcome. Here’s how to get started:</p>
 <ul>
-<li>Explore the documentation</li>
-<li>Join our community mailing lists</li>
-<li>Contribute to discussions and development</li>
-<li>Try Wayang on your data workloads</li>
+<li class="">Explore the documentation</li>
+<li class="">Join our community mailing lists</li>
+<li class="">Contribute to discussions and development</li>
+<li class="">Try Wayang on your data workloads</li>
 </ul>
 <p>Welcome to Apache Wayang — where data platforms work together!</p>]]></content>
         <author>
@@ -133,125 +133,125 @@ Your contributions made this milestone possible, and we’re just getting starte
         <link href="https://wayang.apache.org/blog/wayang-release-odysse"/>
         <updated>2024-09-01T00:00:00.000Z</updated>
         <summary type="html"><![CDATA[Intro]]></summary>
-        <content type="html"><![CDATA[<h2 class="anchor anchorWithStickyNavbar_LWe7" id="intro">Intro<a href="https://wayang.apache.org/blog/wayang-release-odysse#intro" class="hash-link" aria-label="Direct link to Intro" title="Direct link to Intro">​</a></h2>
+        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="intro">Intro<a href="https://wayang.apache.org/blog/wayang-release-odysse#intro" class="hash-link" aria-label="Direct link to Intro" title="Direct link to Intro" translate="no">​</a></h2>
 <p>The ASF provides a robust infrastructure for open communities of software developers. We can share ideas, combine forces, contribute code, docs, review-energy, art work, and from time to time we can nail it down. A release defines an intermediate result of the continuous community work.</p>
 <p>How we do such a release in the Apache Wayang team is an essential aspect towards graduation. First of all, there are some references to take into account, such as:</p>
 <ul>
-<li><a href="https://www.apache.org/legal/release-policy.html" target="_blank" rel="noopener noreferrer">https://www.apache.org/legal/release-policy.html</a></li>
-<li><a href="https://maven.apache.org/maven-release/maven-release-plugin/" target="_blank" rel="noopener noreferrer">https://maven.apache.org/maven-release/maven-release-plugin/</a></li>
+<li class=""><a href="https://www.apache.org/legal/release-policy.html" target="_blank" rel="noopener noreferrer" class="">https://www.apache.org/legal/release-policy.html</a></li>
+<li class=""><a href="https://maven.apache.org/maven-release/maven-release-plugin/" target="_blank" rel="noopener noreferrer" class="">https://maven.apache.org/maven-release/maven-release-plugin/</a></li>
 </ul>
 <p>Assuming you are (P)PMC, and assuming that you have the right permissions for such a release, you can follow the path as described in this guide:</p>
 <ul>
-<li><a href="https://plc4x.apache.org/plc4x/latest/developers/release/release.html" target="_blank" rel="noopener noreferrer">https://plc4x.apache.org/developers/release/release.html</a></li>
+<li class=""><a href="https://plc4x.apache.org/plc4x/latest/developers/release/release.html" target="_blank" rel="noopener noreferrer" class="">https://plc4x.apache.org/developers/release/release.html</a></li>
 </ul>
 <p>I tried to follow exactly this procedure, several times. I failed. Here I share the current status of my <strong>release attempts</strong>.</p>
 <p>I plan a longer tour, and do not want to block the project for a long time.
 Hence I create this draft, and I hope we can unblock this project as soon as possible.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="status">Status:<a href="https://wayang.apache.org/blog/wayang-release-odysse#status" class="hash-link" aria-label="Direct link to Status:" title="Direct link to Status:">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="status">Status:<a href="https://wayang.apache.org/blog/wayang-release-odysse#status" class="hash-link" aria-label="Direct link to Status:" title="Direct link to Status:" translate="no">​</a></h2>
 <p>I am not able to conduct the <em>mvn release:perform</em> step.
 Anything before worked, sometimes only after some digging, but it worked.</p>
 <ul>
-<li>
+<li class="">
 <p>We assume, that due to my membership in two ASF incubator projects I am not able to upload the artefacts to the Nexus repository (H1).</p>
 </li>
-<li>
+<li class="">
 <p>It can be, that I have not the correct user and password in my <em>settings.xml</em> file (H2).</p>
 </li>
 </ul>
-<p>But I tested a manual login to the nexus server <a href="https://repository.apache.org/service/local/staging/deploy/maven2" target="_blank" rel="noopener noreferrer">https://repository.apache.org/service/local/staging/deploy/maven2</a> with success. And beyond that I have no idea how I can verify this detail alone.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="idea--proposal">Idea / Proposal<a href="https://wayang.apache.org/blog/wayang-release-odysse#idea--proposal" class="hash-link" aria-label="Direct link to Idea / Proposal" title="Direct link to Idea / Proposal">​</a></h2>
+<p>But I tested a manual login to the nexus server <a href="https://repository.apache.org/service/local/staging/deploy/maven2" target="_blank" rel="noopener noreferrer" class="">https://repository.apache.org/service/local/staging/deploy/maven2</a> with success. And beyond that I have no idea how I can verify this detail alone.</p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="idea--proposal">Idea / Proposal<a href="https://wayang.apache.org/blog/wayang-release-odysse#idea--proposal" class="hash-link" aria-label="Direct link to Idea / Proposal" title="Direct link to Idea / Proposal" translate="no">​</a></h2>
 <p>(1) It would be great, if someone - who has done a release in any other ASF project or in Apache Wayang - could follow the steps I share, so that we can check where the problem hides itself.</p>
 <p>(2) As a follow-up task, I suggest to add a <strong>Release Guide</strong> to the Apache Wayang project, including release manager onboarding steps, and checklists for the particular project, derived from the referenced sources which are listed above.</p>
 <p>But for now it is all about sharing the status (as I did serveral times on multiple chanels, including JIRA, Slack, Mailing lists) and finding a solution for Apache Wayang release 1.0.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="latest-error">Latest Error:<a href="https://wayang.apache.org/blog/wayang-release-odysse#latest-error" class="hash-link" aria-label="Direct link to Latest Error:" title="Direct link to Latest Error:">​</a></h2>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:perform -X -DskipTests</span><br></span></code></pre><div class="buttonGroup__atx"><button ty [...]
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[INFO] Caused by: org.eclipse.aether.deployment.DeploymentException: Failed to deploy artifacts: Could no [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="activity-log">Activity Log<a href="https://wayang.apache.org/blog/wayang-release-odysse#activity-log" class="hash-link" aria-label="Direct link to Activity Log" title="Direct link to Activity Log">​</a></h2>
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:clean</span><br></span><span class="token-line" style="color:#393A34"><span cla [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Da [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">ERROR</span><span class="toke [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn versions:commit</span><br></span><span class="token-line" style="color:#393A34"><span c [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Da [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">ERROR</span><span class="toke [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">git</span><span class="token plain"> status</span><br></span><span [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Da [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">Caused by: org.eclipse.aether.transfer.NoRepositoryConnectorException: Blocked mirror </spa [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="dependency-on-jdk-11-during-release">Dependency on JDK-11 during release<a href="https://wayang.apache.org/blog/wayang-release-odysse#dependency-on-jdk-11-during-release" class="hash-link" aria-label="Direct link to Dependency on JDK-11 during release" title="Direct link to Dependency on JDK-11 during release">​</a></h3>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="latest-error">Latest Error:<a href="https://wayang.apache.org/blog/wayang-release-odysse#latest-error" class="hash-link" aria-label="Direct link to Latest Error:" title="Direct link to Latest Error:" translate="no">​</a></h2>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:perform -X -DskipTests</span><br></div></code></pre></div></div>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[INFO] Caused by: org.eclipse.aether.deployment.DeploymentException: Failed to deploy artifa [...]
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="activity-log">Activity Log<a href="https://wayang.apache.org/blog/wayang-release-odysse#activity-log" class="hash-link" aria-label="Direct link to Activity Log" title="Direct link to Activity Log" translate="no">​</a></h2>
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:clean</span><br></div><div class="token-line" style="color:#393A34"><span class= [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Dar [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">ERROR</span><span class="token [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn versions:commit</span><br></div><div class="token-line" style="color:#393A34"><span clas [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Dar [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">ERROR</span><span class="token [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">git</span><span class="token plain"> status</span><br></div><div cl [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Dar [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">Caused by: org.eclipse.aether.transfer.NoRepositoryConnectorException: Blocked mirror </span [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="dependency-on-jdk-11-during-release">Dependency on JDK-11 during release<a href="https://wayang.apache.org/blog/wayang-release-odysse#dependency-on-jdk-11-during-release" class="hash-link" aria-label="Direct link to Dependency on JDK-11 during release" title="Direct link to Dependency on JDK-11 during release" translate="no">​</a></h3>
 <blockquote>
 <p>FIXED with local JDK11 Setup</p>
 </blockquote>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">brew install openjdk@11</span><br></span><span class="token-line" style="color:#393A34"><span class="toke [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="manual-update-of-release-version">Manual update of release-version<a href="https://wayang.apache.org/blog/wayang-release-odysse#manual-update-of-release-version" class="hash-link" aria-label="Direct link to Manual update of release-version" title="Direct link to Manual update of release-version">​</a></h3>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">brew install openjdk@11</span><br></div><div class="token-line" style="color:#393A34"><span  [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="manual-update-of-release-version">Manual update of release-version<a href="https://wayang.apache.org/blog/wayang-release-odysse#manual-update-of-release-version" class="hash-link" aria-label="Direct link to Manual update of release-version" title="Direct link to Manual update of release-version" translate="no">​</a></h3>
 <p>During the release procedure, do I have to set the version here in this configuration section manually?</p>
-<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">plug [...]
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">plugi [...]
 <blockquote>
 <p>It seems that these properties must be updated manually.</p>
 </blockquote>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="warning-regarding-illegal-reflective-access-operation">Warning regarding "illegal reflective access operation"<a href="https://wayang.apache.org/blog/wayang-release-odysse#warning-regarding-illegal-reflective-access-operation" class="hash-link" aria-label="Direct link to Warning regarding &quot;illegal reflective access operation&quot;" title="Direct link to Warning regarding &quot;illegal reflective access operation&quot;">​</a></h3>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[ERROR] WARNING: An illegal reflective access operation has occurred</span><br></span><span class="token- [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="warning-regarding-illegal-reflective-access-operation">Warning regarding "illegal reflective access operation"<a href="https://wayang.apache.org/blog/wayang-release-odysse#warning-regarding-illegal-reflective-access-operation" class="hash-link" aria-label="Direct link to Warning regarding &quot;illegal reflective access operation&quot;" title="Direct link to Warning regarding &quot;illegal reflective access operation&quot;" translate=" [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[ERROR] WARNING: An illegal reflective access operation has occurred</span><br></div><div cl [...]
 <blockquote>
 <p><strong>This is still an OPEN ISSUE !</strong></p>
 </blockquote>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="rat-check-fails">RAT Check fails<a href="https://wayang.apache.org/blog/wayang-release-odysse#rat-check-fails" class="hash-link" aria-label="Direct link to RAT Check fails" title="Direct link to RAT Check fails">​</a></h3>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[INFO] [ERROR] Failed to execute goal org.apache.rat:apache-rat-plugin:0.13:check (license-check) on proj [...]
-<div class="language-cat codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-cat codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34" [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="rat-check-fails">RAT Check fails<a href="https://wayang.apache.org/blog/wayang-release-odysse#rat-check-fails" class="hash-link" aria-label="Direct link to RAT Check fails" title="Direct link to RAT Check fails" translate="no">​</a></h3>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[INFO] [ERROR] Failed to execute goal org.apache.rat:apache-rat-plugin:0.13:check (license-c [...]
+<div class="language-cat codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-cat codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><s [...]
 <blockquote>
 <p><em>FIXED by adding .java-versions to .gitignore</em></p>
 </blockquote>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="tag-could-not-be-created-in-scm">Tag could not be created in SCM.<a href="https://wayang.apache.org/blog/wayang-release-odysse#tag-could-not-be-created-in-scm" class="hash-link" aria-label="Direct link to Tag could not be created in SCM." title="Direct link to Tag could not be created in SCM.">​</a></h3>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:3.0.1:prepare (default-cli)  [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="tag-could-not-be-created-in-scm">Tag could not be created in SCM.<a href="https://wayang.apache.org/blog/wayang-release-odysse#tag-could-not-be-created-in-scm" class="hash-link" aria-label="Direct link to Tag could not be created in SCM." title="Direct link to Tag could not be created in SCM." translate="no">​</a></h3>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:3.0.1:prepare ( [...]
 <blockquote>
 <p>FIXED by manual changes in pom.xml.</p>
 </blockquote>
-<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34" [...]
-<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">conf [...]
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare -Darguments='-DskipTests=True -Dresume=True'</span><br></span></code></pre><div class [...]
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn clean package</span><br></span><span class="token-line" style="color:#393A34"><span class="token plai [...]
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><s [...]
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">confi [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare -Darguments='-DskipTests=True -Dresume=True'</span><br></div></code></pr [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn clean package</span><br></div><div class="token-line" style="color:#393A34"><span class= [...]
 <blockquote>
 <p>So far so good. But now the sun went down.</p>
 </blockquote>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[INFO] [ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:3.0.0-M1:deploy (defau [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[INFO] [ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:3.0.0-M1: [...]
 <p>The null pointer exception indicates problems in <em>settings.xml</em>. This could be fixed.
 But now, the error changes with and I am still not able to stage the build results.</p>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:perform -X -DskipTests</span><br></span></code></pre><div class="buttonGroup__atx"><button ty [...]
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[INFO] Caused by: org.eclipse.aether.deployment.DeploymentException: Failed to deploy artifacts: Could no [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="checklist-for-next-iteration">Checklist for next iteration:<a href="https://wayang.apache.org/blog/wayang-release-odysse#checklist-for-next-iteration" class="hash-link" aria-label="Direct link to Checklist for next iteration:" title="Direct link to Checklist for next iteration:">​</a></h2>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:perform -X -DskipTests</span><br></div></code></pre></div></div>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[INFO] Caused by: org.eclipse.aether.deployment.DeploymentException: Failed to deploy artifa [...]
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="checklist-for-next-iteration">Checklist for next iteration:<a href="https://wayang.apache.org/blog/wayang-release-odysse#checklist-for-next-iteration" class="hash-link" aria-label="Direct link to Checklist for next iteration:" title="Direct link to Checklist for next iteration:" translate="no">​</a></h2>
 <p>The error you're encountering indicates that there is a problem with deploying the artifacts using the <code>maven-deploy-plugin</code>. The root cause of the error is a <code>NullPointerException</code> during the deployment process, specifically related to the <code>org.eclipse.aether.transfer.ArtifactTransferException</code>.</p>
 <p>Here's a step-by-step guide to troubleshoot and resolve this issue:</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="1-check-maven-settings">1. Check Maven Settings<a href="https://wayang.apache.org/blog/wayang-release-odysse#1-check-maven-settings" class="hash-link" aria-label="Direct link to 1. Check Maven Settings" title="Direct link to 1. Check Maven Settings">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="1-check-maven-settings">1. Check Maven Settings<a href="https://wayang.apache.org/blog/wayang-release-odysse#1-check-maven-settings" class="hash-link" aria-label="Direct link to 1. Check Maven Settings" title="Direct link to 1. Check Maven Settings" translate="no">​</a></h3>
 <p>Ensure that your Maven settings (<code>settings.xml</code>) are correctly configured for deployment. Verify that the repository settings and credentials are correctly specified.</p>
 <p><strong>[DONE]</strong></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="2-verify-repository-url">2. Verify Repository URL<a href="https://wayang.apache.org/blog/wayang-release-odysse#2-verify-repository-url" class="hash-link" aria-label="Direct link to 2. Verify Repository URL" title="Direct link to 2. Verify Repository URL">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="2-verify-repository-url">2. Verify Repository URL<a href="https://wayang.apache.org/blog/wayang-release-odysse#2-verify-repository-url" class="hash-link" aria-label="Direct link to 2. Verify Repository URL" title="Direct link to 2. Verify Repository URL" translate="no">​</a></h3>
 <p>Make sure the repository URL in your <code>pom.xml</code> or <code>settings.xml</code> is correct and reachable. The URL should point to the correct staging repository for deployment.</p>
 <p><em>[OPEN]</em> - I did not touch it, so I guess it is correct in the <em>pom.xml</em>.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="3-maven-version-compatibility">3. Maven Version Compatibility<a href="https://wayang.apache.org/blog/wayang-release-odysse#3-maven-version-compatibility" class="hash-link" aria-label="Direct link to 3. Maven Version Compatibility" title="Direct link to 3. Maven Version Compatibility">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="3-maven-version-compatibility">3. Maven Version Compatibility<a href="https://wayang.apache.org/blog/wayang-release-odysse#3-maven-version-compatibility" class="hash-link" aria-label="Direct link to 3. Maven Version Compatibility" title="Direct link to 3. Maven Version Compatibility" translate="no">​</a></h3>
 <p>Verify that you are using a compatible version of Maven. Sometimes, upgrading or downgrading Maven can resolve such issues.</p>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">Apache Maven 3.9.6 (bc0240f3c744dd6b6ec2920b3cd08dcc295161ae)</span><br></span><span class="token-line" s [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">Apache Maven 3.9.6 (bc0240f3c744dd6b6ec2920b3cd08dcc295161ae)</span><br></div><div class="to [...]
 <p><strong>[DONE]</strong></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="4-check-for-network-issues">4. Check for Network Issues<a href="https://wayang.apache.org/blog/wayang-release-odysse#4-check-for-network-issues" class="hash-link" aria-label="Direct link to 4. Check for Network Issues" title="Direct link to 4. Check for Network Issues">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="4-check-for-network-issues">4. Check for Network Issues<a href="https://wayang.apache.org/blog/wayang-release-odysse#4-check-for-network-issues" class="hash-link" aria-label="Direct link to 4. Check for Network Issues" title="Direct link to 4. Check for Network Issues" translate="no">​</a></h3>
 <p>Ensure there are no network issues that might be causing problems in connecting to the repository. Sometimes, network configurations, firewalls, or proxy settings can interfere with the deployment process.</p>
 <p><strong>[DONE]</strong></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="5-update-maven-plugins">5. Update Maven Plugins<a href="https://wayang.apache.org/blog/wayang-release-odysse#5-update-maven-plugins" class="hash-link" aria-label="Direct link to 5. Update Maven Plugins" title="Direct link to 5. Update Maven Plugins">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="5-update-maven-plugins">5. Update Maven Plugins<a href="https://wayang.apache.org/blog/wayang-release-odysse#5-update-maven-plugins" class="hash-link" aria-label="Direct link to 5. Update Maven Plugins" title="Direct link to 5. Update Maven Plugins" translate="no">​</a></h3>
 <p>Ensure that you are using the latest versions of the Maven plugins. Sometimes, bugs in older versions can cause unexpected issues.</p>
 <p><em>[OPEN]</em></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="6-configure-the-maven-deploy-plugin-in-pomxml">6. Configure the <code>maven-deploy-plugin</code> in <code>pom.xml</code><a href="https://wayang.apache.org/blog/wayang-release-odysse#6-configure-the-maven-deploy-plugin-in-pomxml" class="hash-link" aria-label="Direct link to 6-configure-the-maven-deploy-plugin-in-pomxml" title="Direct link to 6-configure-the-maven-deploy-plugin-in-pomxml">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="6-configure-the-maven-deploy-plugin-in-pomxml">6. Configure the <code>maven-deploy-plugin</code> in <code>pom.xml</code><a href="https://wayang.apache.org/blog/wayang-release-odysse#6-configure-the-maven-deploy-plugin-in-pomxml" class="hash-link" aria-label="Direct link to 6-configure-the-maven-deploy-plugin-in-pomxml" title="Direct link to 6-configure-the-maven-deploy-plugin-in-pomxml" translate="no">​</a></h3>
 <p>Make sure the <code>maven-deploy-plugin</code> is correctly configured in your <code>pom.xml</code>. Here's an example configuration:</p>
-<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">plug [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="7-increase-verbose-logging">7. Increase Verbose Logging<a href="https://wayang.apache.org/blog/wayang-release-odysse#7-increase-verbose-logging" class="hash-link" aria-label="Direct link to 7. Increase Verbose Logging" title="Direct link to 7. Increase Verbose Logging">​</a></h3>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">plugi [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="7-increase-verbose-logging">7. Increase Verbose Logging<a href="https://wayang.apache.org/blog/wayang-release-odysse#7-increase-verbose-logging" class="hash-link" aria-label="Direct link to 7. Increase Verbose Logging" title="Direct link to 7. Increase Verbose Logging" translate="no">​</a></h3>
 <p>Enable verbose logging to get more details about the error. You can do this by adding the <code>-X</code> flag when running the Maven command:</p>
-<div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn clean deploy </span><span class="token parameter variable" style="color:#36acaa">-X</span>< [...]
+<div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn clean deploy </span><span class="token parameter variable" style="color:#36acaa">-X</span><b [...]
 <p><strong>[DONE]</strong></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="8-retry-with-a-clean-local-repository">8. Retry with a Clean Local Repository<a href="https://wayang.apache.org/blog/wayang-release-odysse#8-retry-with-a-clean-local-repository" class="hash-link" aria-label="Direct link to 8. Retry with a Clean Local Repository" title="Direct link to 8. Retry with a Clean Local Repository">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="8-retry-with-a-clean-local-repository">8. Retry with a Clean Local Repository<a href="https://wayang.apache.org/blog/wayang-release-odysse#8-retry-with-a-clean-local-repository" class="hash-link" aria-label="Direct link to 8. Retry with a Clean Local Repository" title="Direct link to 8. Retry with a Clean Local Repository" translate="no">​</a></h3>
 <p>Sometimes, a corrupt local repository can cause issues. Try cleaning your local Maven repository and re-running the deployment:</p>
-<div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn clean </span><span class="token function" style="color:#d73a49">install</span><span class=" [...]
+<div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn clean </span><span class="token function" style="color:#d73a49">install</span><span class="t [...]
 <p><em>[OPEN]</em> - Does not match to an authentication issue.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="9-check-for-missing-credentials">9. Check for Missing Credentials<a href="https://wayang.apache.org/blog/wayang-release-odysse#9-check-for-missing-credentials" class="hash-link" aria-label="Direct link to 9. Check for Missing Credentials" title="Direct link to 9. Check for Missing Credentials">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="9-check-for-missing-credentials">9. Check for Missing Credentials<a href="https://wayang.apache.org/blog/wayang-release-odysse#9-check-for-missing-credentials" class="hash-link" aria-label="Direct link to 9. Check for Missing Credentials" title="Direct link to 9. Check for Missing Credentials" translate="no">​</a></h3>
 <p>Ensure that the credentials for the repository are correctly set up in your <code>settings.xml</code>:</p>
-<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">serv [...]
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">serve [...]
 <p><strong>[DONE]</strong></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="10-review-the-full-stack-trace">10. Review the Full Stack Trace<a href="https://wayang.apache.org/blog/wayang-release-odysse#10-review-the-full-stack-trace" class="hash-link" aria-label="Direct link to 10. Review the Full Stack Trace" title="Direct link to 10. Review the Full Stack Trace">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="10-review-the-full-stack-trace">10. Review the Full Stack Trace<a href="https://wayang.apache.org/blog/wayang-release-odysse#10-review-the-full-stack-trace" class="hash-link" aria-label="Direct link to 10. Review the Full Stack Trace" title="Direct link to 10. Review the Full Stack Trace" translate="no">​</a></h3>
 <p>The full stack trace indicates a <code>NullPointerException</code>:</p>
-<div class="language-plaintext codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-plaintext codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">Caused by: java.lang.NullPointerException</span><br></span><span class="token-lin [...]
+<div class="language-plaintext codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-plaintext codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">Caused by: java.lang.NullPointerException</span><br></div><div class="token-line"  [...]
 <p>This suggests that there might be an issue with how credentials are being handled. Double-check that the credentials are being correctly passed and processed.</p>
 <p><strong>[DONE]</strong></p>]]></content>
         <author>
@@ -270,36 +270,36 @@ But now, the error changes with and I am still not able to stage the build resul
         <summary type="html"><![CDATA[We are happy to announce that we have extended Wayang to be able to utilize any ML platform and any ML operators.]]></summary>
         <content type="html"><![CDATA[<p>We are happy to announce that we have extended Wayang to be able to utilize any ML platform and any ML operators.
 Thanks to the extensible nature of Wayang, the only core changes we had to do were introducing the concept of a <code>Model</code> and implement a new driver for the newly added platform.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="step-1-introducing-a-model">Step 1: Introducing a Model<a href="https://wayang.apache.org/blog/wayang-tensorflow#step-1-introducing-a-model" class="hash-link" aria-label="Direct link to Step 1: Introducing a Model" title="Direct link to Step 1: Introducing a Model">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="step-1-introducing-a-model">Step 1: Introducing a Model<a href="https://wayang.apache.org/blog/wayang-tensorflow#step-1-introducing-a-model" class="hash-link" aria-label="Direct link to Step 1: Introducing a Model" title="Direct link to Step 1: Introducing a Model" translate="no">​</a></h2>
 <p>With respect to the model, we followed Wayang’s abstraction philosophy: We created a <code>Model</code> interface to be used as input or output by Wayang operators and then extended it for the platform-specific operators. Different model interfaces can be found here:</p>
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model</a></p>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model</a></p>
 <p>A platform-specific model needs to be instantiated to be used as the output of a training operator and as input for an inference operator. You can see an example of the <code>SparkMLModel</code> here:</p>
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/model/SparkMLModel.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/model/SparkMLModel.java</a></p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="step-2-introducing-training-operators">Step 2: Introducing Training Operators<a href="https://wayang.apache.org/blog/wayang-tensorflow#step-2-introducing-training-operators" class="hash-link" aria-label="Direct link to Step 2: Introducing Training Operators" title="Direct link to Step 2: Introducing Training Operators">​</a></h2>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/model/SparkMLModel.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/model/SparkMLModel.java</a></p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="step-2-introducing-training-operators">Step 2: Introducing Training Operators<a href="https://wayang.apache.org/blog/wayang-tensorflow#step-2-introducing-training-operators" class="hash-link" aria-label="Direct link to Step 2: Introducing Training Operators" title="Direct link to Step 2: Introducing Training Operators" translate="no">​</a></h2>
 <p>We added the desired Wayang (platform-agnostic) training operators which are binary to unary operators, taking as input the X and y values and outputting a Model. You can find an example of a LinearRegressionOperator here:</p>
-<p><a href="https://github.com/apache/incubator-wayang/blob/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/LinearRegressionOperator.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/blob/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/LinearRegressionOperator.java</a></p>
+<p><a href="https://github.com/apache/incubator-wayang/blob/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/LinearRegressionOperator.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/blob/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/LinearRegressionOperator.java</a></p>
 <p>Platform-specific execution operators, such as SparkLinearRegressionOperator, can be easily added as any other execution operator: extending the corresponding Wayang operator and providing the mappings from the Wayang to the execution operator. See, for example, the <code>SparkLinearRegressionOperator</code>:</p>
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkLinearRegressionOperator.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkLinearRegressionOperator.java</a></p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="step-3-introducing-prediction-operators">Step 3: Introducing Prediction Operators<a href="https://wayang.apache.org/blog/wayang-tensorflow#step-3-introducing-prediction-operators" class="hash-link" aria-label="Direct link to Step 3: Introducing Prediction Operators" title="Direct link to Step 3: Introducing Prediction Operators">​</a></h2>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkLinearRegressionOperator.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkLinearRegressionOperator.java</a></p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="step-3-introducing-prediction-operators">Step 3: Introducing Prediction Operators<a href="https://wayang.apache.org/blog/wayang-tensorflow#step-3-introducing-prediction-operators" class="hash-link" aria-label="Direct link to Step 3: Introducing Prediction Operators" title="Direct link to Step 3: Introducing Prediction Operators" translate="no">​</a></h2>
 <p>Additionally, we created a <code>PredictOperator</code>, a BinaryToUnary Wayang (platform-agnostic) operator which takes as input the data quanta and a model and outputs the data quanta with the predictions output by the model.</p>
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/PredictOperator.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/PredictOperator.java</a></p>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/PredictOperator.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/PredictOperator.java</a></p>
 <p>Then, a concrete platform-specific operator extends from the abstract one. See the <code>SparkPredictOperator</code> for an example:</p>
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkPredictOperator.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkPredictOperator.java</a></p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="deep-learning-models">Deep Learning Models<a href="https://wayang.apache.org/blog/wayang-tensorflow#deep-learning-models" class="hash-link" aria-label="Direct link to Deep Learning Models" title="Direct link to Deep Learning Models">​</a></h2>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkPredictOperator.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkPredictOperator.java</a></p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="deep-learning-models">Deep Learning Models<a href="https://wayang.apache.org/blog/wayang-tensorflow#deep-learning-models" class="hash-link" aria-label="Direct link to Deep Learning Models" title="Direct link to Deep Learning Models" translate="no">​</a></h2>
 <p>Unlike traditional machine learning models, the definition of deep learning models is more flexible. Users can combine different blocks (e.g., fully connected blocks, convolutional blocks) to build their desired models. The whole model can be represented as a graph on which the vertices represent blocks and the edges represent connections between blocks. In this case, we built a <code>DLModel</code> class that implements the <code>Model</code> interface, which contains a user-defined, [...]
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model/DLModel.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model/DLModel.java</a></p>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model/DLModel.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model/DLModel.java</a></p>
 <p>For training, we implemented the platform-agnostic <code>DLModelTrainingOperator</code> Wayang operator:</p>
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/DLTrainingOperator.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/DLTrainingOperator.java</a></p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="new-ml-platform----tensorflow-integration">New ML platform -- Tensorflow Integration<a href="https://wayang.apache.org/blog/wayang-tensorflow#new-ml-platform----tensorflow-integration" class="hash-link" aria-label="Direct link to New ML platform -- Tensorflow Integration" title="Direct link to New ML platform -- Tensorflow Integration">​</a></h2>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/DLTrainingOperator.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/DLTrainingOperator.java</a></p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="new-ml-platform----tensorflow-integration">New ML platform -- Tensorflow Integration<a href="https://wayang.apache.org/blog/wayang-tensorflow#new-ml-platform----tensorflow-integration" class="hash-link" aria-label="Direct link to New ML platform -- Tensorflow Integration" title="Direct link to New ML platform -- Tensorflow Integration" translate="no">​</a></h2>
 <p>We have added Tensorflow as a new platform by creating a new module (<code>wayang-tensorflow</code>) inside the <code>wayang-platforms</code> parent module and implementing a Tensorflow driver. The TensorflowExecutor driver is responsible for creating and destroying Tensorflow resources, such as a model graph and a model parameter context. When a training task scheduled on Tensorflow, it will be mapped to TensorflowDLModelTrainingOperator. In this process, the <code>DLModel</code> wil [...]
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-tensorflow/src/main/java/org/apache/wayang/tensorflow" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-tensorflow/src/main/java/org/apache/wayang/tensorflow</a></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="acknowledgement">Acknowledgement<a href="https://wayang.apache.org/blog/wayang-tensorflow#acknowledgement" class="hash-link" aria-label="Direct link to Acknowledgement" title="Direct link to Acknowledgement">​</a></h3>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-tensorflow/src/main/java/org/apache/wayang/tensorflow" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-tensorflow/src/main/java/org/apache/wayang/tensorflow</a></p>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="acknowledgement">Acknowledgement<a href="https://wayang.apache.org/blog/wayang-tensorflow#acknowledgement" class="hash-link" aria-label="Direct link to Acknowledgement" title="Direct link to Acknowledgement" translate="no">​</a></h3>
 <p>The source code for the support of ML operators and the Tensorflow integration has been contributed by Mingxi Liu.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="follow-wayang">Follow Wayang<a href="https://wayang.apache.org/blog/wayang-tensorflow#follow-wayang" class="hash-link" aria-label="Direct link to Follow Wayang" title="Direct link to Follow Wayang">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="follow-wayang">Follow Wayang<a href="https://wayang.apache.org/blog/wayang-tensorflow#follow-wayang" class="hash-link" aria-label="Direct link to Follow Wayang" title="Direct link to Follow Wayang" translate="no">​</a></h3>
 <p>Apache Wayang is in incubation phase and has a potential roadmap of implementations
 coming soon (including the federated learning aspect as well as an SQL interface and a novel
 data debugging functionality). If you want to hear or join the community, consult the link
-<a href="https://wayang.apache.org/community/" target="_blank" rel="noopener noreferrer">https://wayang.apache.org/community/</a> , join the mailing lists, contribute with new ideas,
+<a href="https://wayang.apache.org/community/" target="_blank" rel="noopener noreferrer" class="">https://wayang.apache.org/community/</a> , join the mailing lists, contribute with new ideas,
 write documentation, or fix bugs.</p>]]></content>
         <author>
             <name>Zoi Kaoudi</name>
@@ -325,7 +325,7 @@ personal data. One of the significant challenges in working with AI is the varie
 in the market or the open-source community. Each tool provides results in a different form;
 integrating them can be pretty challenging. Let's talk about Apache Wayang and
 how it can help to solve this problem.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="apache-wayang-in-the-federated-ai-world">Apache Wayang in the Federated AI world<a href="https://wayang.apache.org/blog/wayang-federated-ai#apache-wayang-in-the-federated-ai-world" class="hash-link" aria-label="Direct link to Apache Wayang in the Federated AI world" title="Direct link to Apache Wayang in the Federated AI world">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="apache-wayang-in-the-federated-ai-world">Apache Wayang in the Federated AI world<a href="https://wayang.apache.org/blog/wayang-federated-ai#apache-wayang-in-the-federated-ai-world" class="hash-link" aria-label="Direct link to Apache Wayang in the Federated AI world" title="Direct link to Apache Wayang in the Federated AI world" translate="no">​</a></h2>
 <p>Apache Wayang (Wayang, for short), an Apache Software Foundation top-level project,
 integrates big data platforms and tools by removing the complexity of
 worrying about low-level details. Interestingly, even if it was not designed for, Wayang could
@@ -333,7 +333,7 @@ also serve as a scalable platform for federated learning: the Wayang community i
 work on integrating federated learning capabilities. In a federated learning approach, Wayang
 would allow different local models to be built and exchange its model results across other data
 centers to combine them into a single enhanced model.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="a-real-world-example">A real-world example<a href="https://wayang.apache.org/blog/wayang-federated-ai#a-real-world-example" class="hash-link" aria-label="Direct link to A real-world example" title="Direct link to A real-world example">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="a-real-world-example">A real-world example<a href="https://wayang.apache.org/blog/wayang-federated-ai#a-real-world-example" class="hash-link" aria-label="Direct link to A real-world example" title="Direct link to A real-world example" translate="no">​</a></h2>
 <p>Let's consider a real-world scenario. Hospitals and health organizations have increased their
 investments in machine/deep learning initiatives to learn more and predict diagnostics.
 However, due to legal frameworks, sharing patients' information or diagnostics is impossible,
@@ -358,14 +358,14 @@ layer of complexity from the developers by integrating with diverse types of dat
 also brings fast development and reduces the need for a deep understanding of data
 infrastructure or integrations. Developers can focus on the logic and how to execute tasks
 instead of details about data processors.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="follow-wayang">Follow Wayang<a href="https://wayang.apache.org/blog/wayang-federated-ai#follow-wayang" class="hash-link" aria-label="Direct link to Follow Wayang" title="Direct link to Follow Wayang">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="follow-wayang">Follow Wayang<a href="https://wayang.apache.org/blog/wayang-federated-ai#follow-wayang" class="hash-link" aria-label="Direct link to Follow Wayang" title="Direct link to Follow Wayang" translate="no">​</a></h3>
 <p>Apache Wayang is a top-level ASF project with a potential roadmap of implementations
 coming soon (including the federated learning aspect as well as an SQL interface and a novel
 data debugging functionality). If you want to hear or join the community, consult the link
-<a href="https://wayang.apache.org/community/" target="_blank" rel="noopener noreferrer">https://wayang.apache.org/community/</a> , join the mailing lists, contribute with new ideas,
+<a href="https://wayang.apache.org/community/" target="_blank" rel="noopener noreferrer" class="">https://wayang.apache.org/community/</a> , join the mailing lists, contribute with new ideas,
 write documentation, or fix bugs.</p>
 <br>
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="thank-you">Thank you!<a href="https://wayang.apache.org/blog/wayang-federated-ai#thank-you" class="hash-link" aria-label="Direct link to Thank you!" title="Direct link to Thank you!">​</a></h5>
+<h5 class="anchor anchorTargetStickyNavbar_Vzrq" id="thank-you">Thank you!<a href="https://wayang.apache.org/blog/wayang-federated-ai#thank-you" class="hash-link" aria-label="Direct link to Thank you!" title="Direct link to Thank you!" translate="no">​</a></h5>
 <p>I (Gláucia) want to thank professor Jorge Quiané for the guidance to write this blog post.
 Thanks for incentivate me to join the project and for the knowledge shared. I will always remember you.</p>]]></content>
         <author>
@@ -388,7 +388,7 @@ languages often is a major inconvenience.
 Apache Wayang's upcoming Python API will allow you to seamlessly
 orchestrate data processing tasks without ever leaving the comfort
 of Python, irrespective of the underlying framework written in Java.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="expanding-apache-wayangs-apis">Expanding Apache Wayang's APIs<a href="https://wayang.apache.org/blog/wayang-python-api#expanding-apache-wayangs-apis" class="hash-link" aria-label="Direct link to Expanding Apache Wayang's APIs" title="Direct link to Expanding Apache Wayang's APIs">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="expanding-apache-wayangs-apis">Expanding Apache Wayang's APIs<a href="https://wayang.apache.org/blog/wayang-python-api#expanding-apache-wayangs-apis" class="hash-link" aria-label="Direct link to Expanding Apache Wayang's APIs" title="Direct link to Expanding Apache Wayang's APIs" translate="no">​</a></h2>
 <p>Apache Wayang's architecture decouples the process of planning from the
 resulting execution, allowing users to specify platform agnostic plans
 through the provided APIs.</p>
@@ -418,7 +418,7 @@ When receiving a valid JSON plan, the JSON API uses the optimizer to
 construct an execution plan. However, since UDFs are defined in Python
 and thus need to be executed in Python as well, an operators function needs to be
 wrapped into a <code>WrappedPythonFunction</code>:</p>
-<div class="language-scala codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scala codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">val</span><span class="token plain"> mapOperator </span><span cla [...]
+<div class="language-scala codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-scala codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">val</span><span class="token plain"> mapOperator </span><span clas [...]
 <p>This wrapped functional descriptor allows to handle execution of
 UDFs in Python through a socket connection with the <code>pywayang</code> worker.
 Input data is sourced from the platform chosen by the optimizer and Apache
@@ -427,31 +427,31 @@ Wayang handles routing the output data to the next operator.</p>
 <p>A new API in any programming languages would have
 to specify two things:</p>
 <ul>
-<li>A way to create plans that conform to a JSON format specified in the
+<li class="">A way to create plans that conform to a JSON format specified in the
 Wayang JSON API.</li>
-<li>A <code>worker</code> that handles encoding and decoding of user defined
+<li class="">A <code>worker</code> that handles encoding and decoding of user defined
 functions (UDFs), as they need to
 be executed on iterables in their respective language.
 After that, the API can be added as a module in Wayang, so that
 operators will be wrapped and UDFs can be executed in the desired
 programming language.</li>
 </ul>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="defining-wayangplans-in-python">Defining WayangPlans in Python<a href="https://wayang.apache.org/blog/wayang-python-api#defining-wayangplans-in-python" class="hash-link" aria-label="Direct link to Defining WayangPlans in Python" title="Direct link to Defining WayangPlans in Python">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="defining-wayangplans-in-python">Defining WayangPlans in Python<a href="https://wayang.apache.org/blog/wayang-python-api#defining-wayangplans-in-python" class="hash-link" aria-label="Direct link to Defining WayangPlans in Python" title="Direct link to Defining WayangPlans in Python" translate="no">​</a></h2>
 <p>As the "Hello World!" of data processing systems, wordcount will pose as
 our primary example to display how users can interact with Apache Wayang
 through the python package <code>pywayang</code>.</p>
-<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">from</span><span class="token plain"> pywy</span><span class="t [...]
+<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">from</span><span class="token plain"> pywy</span><span class="to [...]
 <p>The example displays a mode of operation that resembles the Scala
 <code>PlanBuilder</code> and the <code>JavaPlanBuilder</code>. Plans are specified in a
 functional way, chaining operations until a terminal operation results
 in execution of the plan.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="wayang-api-json">Wayang-API-JSON<a href="https://wayang.apache.org/blog/wayang-python-api#wayang-api-json" class="hash-link" aria-label="Direct link to Wayang-API-JSON" title="Direct link to Wayang-API-JSON">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="wayang-api-json">Wayang-API-JSON<a href="https://wayang.apache.org/blog/wayang-python-api#wayang-api-json" class="hash-link" aria-label="Direct link to Wayang-API-JSON" title="Direct link to Wayang-API-JSON" translate="no">​</a></h2>
 <p>The <code>wayang-api-json</code> module provides an executable that starts a REST
 server. This server accepts a <code>WayangPlan</code> in JSON format.
 Starting the REST API as a background process can be done by executing
 the following:</p>
-<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn clean package </span><span class="token parameter variable" style="color:#36acaa">-pl [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="wrapping-pipelines-in-mappartition-operators">Wrapping pipelines in MapPartition operators<a href="https://wayang.apache.org/blog/wayang-python-api#wrapping-pipelines-in-mappartition-operators" class="hash-link" aria-label="Direct link to Wrapping pipelines in MapPartition operators" title="Direct link to Wrapping pipelines in MapPartition operators">​</a></h2>
+<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn clean package </span><span class="token parameter variable" style="color:#36acaa">-pl< [...]
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="wrapping-pipelines-in-mappartition-operators">Wrapping pipelines in MapPartition operators<a href="https://wayang.apache.org/blog/wayang-python-api#wrapping-pipelines-in-mappartition-operators" class="hash-link" aria-label="Direct link to Wrapping pipelines in MapPartition operators" title="Direct link to Wrapping pipelines in MapPartition operators" translate="no">​</a></h2>
 <p>With this architecture, the execution of an operator comes with an
 additional overhead, because the UDFs will have to be executed in
 python. Python operators receive iterators through a socket and also
@@ -461,11 +461,11 @@ pipelines. One pipeline of operators will be submitted to the Wayang
 JSON API as a single <code>MapPartition</code> operator. This means that the UDFs
 specified in this pipeline can be chained and only on call from Wayang
 to the Python worker will have to be made for a given pipeline.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="coming-soon">Coming soon<a href="https://wayang.apache.org/blog/wayang-python-api#coming-soon" class="hash-link" aria-label="Direct link to Coming soon" title="Direct link to Coming soon">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="coming-soon">Coming soon<a href="https://wayang.apache.org/blog/wayang-python-api#coming-soon" class="hash-link" aria-label="Direct link to Coming soon" title="Direct link to Coming soon" translate="no">​</a></h2>
 <p>As the Python API is currently in development and we are applying
 finishing touches, this article serves as an outlook for what users can
 expect to see soon.</p>
-<p>Author: <a href="https://github.com/juripetersen" target="_blank" rel="noopener noreferrer">juripetersen</a></p>]]></content>
+<p>Author: <a href="https://github.com/juripetersen" target="_blank" rel="noopener noreferrer" class="">juripetersen</a></p>]]></content>
         <author>
             <name>Juri Petersen</name>
             <uri>https://github.com/juripetersen</uri>
@@ -483,10 +483,10 @@ expect to see soon.</p>
 Motivated by the learnings from last time, I stated implementing a Kafka Source component and a Kafka Sink component for the Apache Spark platform in Apache Wayang.
 In our previous article we shared the results of the work on the frist Apache Kafka integration using the Java Platform.</p>
 <p>Let's see how it goes this time with Apache Spark.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="the-goal-of-this-implementation">The goal of this implementation<a href="https://wayang.apache.org/blog/kafka-meets-wayang-3#the-goal-of-this-implementation" class="hash-link" aria-label="Direct link to The goal of this implementation" title="Direct link to The goal of this implementation">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-goal-of-this-implementation">The goal of this implementation<a href="https://wayang.apache.org/blog/kafka-meets-wayang-3#the-goal-of-this-implementation" class="hash-link" aria-label="Direct link to The goal of this implementation" title="Direct link to The goal of this implementation" translate="no">​</a></h2>
 <p>We want to process data from Apache Kafka topics, which are hosted on Confluent cloud.
 In our example scenario, data is available in multiple different clusters, in different regions and owned by different organizations.
-Each organization uses the <a href="https://docs.confluent.io/cloud/current/stream-sharing/index.html" target="_blank" rel="noopener noreferrer">"stream sharing" feature</a> provided by Confluent cloud.</p>
+Each organization uses the <a href="https://docs.confluent.io/cloud/current/stream-sharing/index.html" target="_blank" rel="noopener noreferrer" class="">"stream sharing" feature</a> provided by Confluent cloud.</p>
 <p>This way, the operator of our central processing job has been granted appropriate permissions. The plaftorm provided the necessary configuration properties, including access coordinates and credentials in the name of the topic owner to us.</p>
 <p>The following illustration has already been introduced in part one of the blog series, but for clarity we repeat it here.</p>
 <p><img decoding="async" loading="lazy" alt="images/image-1.png" src="https://wayang.apache.org/assets/images/image-1-9cc35d5aea2b867d7e5759a96bd02334.png" width="904" height="550" class="img_ev3q"></p>
@@ -495,11 +495,11 @@ Each source allows us to read the data from that particular topic so that we can
 In this example it is a public processing context, in which data from multiple private processing contexts are used together.</p>
 <p>This use case is already prepared for high processing loads We can utilize the scalability capabilities of Apache Spark or simply use a Java program for initial tests of the solution. Switching between both is done in one line of code in Apache Wayang.</p>
 <p>Again, we start with a <strong>WayangContext</strong>, as shown by examples in the Wayang code repository.</p>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">WayangContext wayangContext = new WayangContext().with(Spark.basicPlugin());</span><br></span></code></pr [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">WayangContext wayangContext = new WayangContext().with(Spark.basicPlugin());</span><br></div [...]
 <p>We simply switched the backend system towards Apache Spark by using the <em>WayangContext</em> with <em>Spark.basicPlugin()</em>.
 The <strong>JavaPlanBuilder</strong> and all other logic of our example job won't be touched.</p>
 <p>In order to make this working we will now implement the Mappings and the Operators for the Apache Spark platform module.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="implementation-of-input--and-output-operators">Implementation of Input- and Output Operators<a href="https://wayang.apache.org/blog/kafka-meets-wayang-3#implementation-of-input--and-output-operators" class="hash-link" aria-label="Direct link to Implementation of Input- and Output Operators" title="Direct link to Implementation of Input- and Output Operators">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="implementation-of-input--and-output-operators">Implementation of Input- and Output Operators<a href="https://wayang.apache.org/blog/kafka-meets-wayang-3#implementation-of-input--and-output-operators" class="hash-link" aria-label="Direct link to Implementation of Input- and Output Operators" title="Direct link to Implementation of Input- and Output Operators" translate="no">​</a></h2>
 <p>We reuse the Kafka Source and Kafka Sink components which have been created for the JavaKafkaSource and JavaKafkaSink.
 Hence we work with Wayang's Java API.</p>
 <p><strong>Level 1 – Wayang execution plan with abstract operators</strong></p>
@@ -538,13 +538,13 @@ Those were made specifically for a simple non parallel Java program, using one C
 <p>The selected approach does not yet fully take advantage from Spark's parallelism at load time.
 For higher loads and especially for streaming processing we would have to investigate another approache, using a <em>SparkStreamingContext</em>, but this is out of scope for now.</p>
 <p>Since we can't reuse the <em>JavaKafkaTopicSource</em> and <em>JavaKafkaTopicSink</em> we rather implement <em>SparkKafkaTopicSource</em> and <em>SparkKafkaTopicSink</em> based on given <em>SparkTextFileSource</em> and <em>SparkTextFileSink</em> which both cary all needed RDD specific logic.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="summary">Summary<a href="https://wayang.apache.org/blog/kafka-meets-wayang-3#summary" class="hash-link" aria-label="Direct link to Summary" title="Direct link to Summary">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="summary">Summary<a href="https://wayang.apache.org/blog/kafka-meets-wayang-3#summary" class="hash-link" aria-label="Direct link to Summary" title="Direct link to Summary" translate="no">​</a></h2>
 <p>As expected, the integration of Apache Spark with Apache Wayang was no magic, thanks to a fluent API design and a well structured architecture of Apache Wayang.
 We could easily follow the pattern we have worked out in the previous exercise.</p>
 <p>But a bunch of much more interesting work will follow next.
 More testing, more serialization schemes, and Kafka Schema Registry support should follow, and full parallelization as well.</p>
 <p>The code has been submitted to the Apache Wayang repository.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="outlook">Outlook<a href="https://wayang.apache.org/blog/kafka-meets-wayang-3#outlook" class="hash-link" aria-label="Direct link to Outlook" title="Direct link to Outlook">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="outlook">Outlook<a href="https://wayang.apache.org/blog/kafka-meets-wayang-3#outlook" class="hash-link" aria-label="Direct link to Outlook" title="Direct link to Outlook" translate="no">​</a></h2>
 <p>The next part of the article series will cover the real world example as described in image 1.
 We will show how analysts and developers can use the Apache Kafka integration for Apache Wayang to solve cross organizational collaboration issues.
 Therefore, we will bring all puzzles together, and show the full implementation of the multi organizational data collaboration use case.</p>]]></content>
@@ -564,8 +564,8 @@ Therefore, we will bring all puzzles together, and show the full implementation
         <updated>2024-03-08T00:00:00.000Z</updated>
         <summary type="html"><![CDATA[We have been asked several times about the difference between Apache Wayang and Presto/Trino. In this blog post, we will clarify the main differences and how they impact various applications and use cases.]]></summary>
         <content type="html"><![CDATA[<p>We have been asked several times about the difference between Apache Wayang and Presto/Trino. In this blog post, we will clarify the main differences and how they impact various applications and use cases.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="key-distinctions">Key Distinctions<a href="https://wayang.apache.org/blog/wayang-vs-trino#key-distinctions" class="hash-link" aria-label="Direct link to Key Distinctions" title="Direct link to Key Distinctions">​</a></h2>
-<p>Trino/Presto is a <strong>query engine</strong> for <strong>distributed SQL query processing</strong>. It is composed of a coordinator and multiple workers. The coordinator consists of a query optimizer and a scheduler, while the workers are responsible for performing the necessary query processing. Data is fetched from external systems via a Connector API, i.e., Trino/Presto supports <a href="https://trino.io/ecosystem/data-source" target="_blank" rel="noopener noreferrer">multiple d [...]
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="key-distinctions">Key Distinctions<a href="https://wayang.apache.org/blog/wayang-vs-trino#key-distinctions" class="hash-link" aria-label="Direct link to Key Distinctions" title="Direct link to Key Distinctions" translate="no">​</a></h2>
+<p>Trino/Presto is a <strong>query engine</strong> for <strong>distributed SQL query processing</strong>. It is composed of a coordinator and multiple workers. The coordinator consists of a query optimizer and a scheduler, while the workers are responsible for performing the necessary query processing. Data is fetched from external systems via a Connector API, i.e., Trino/Presto supports <a href="https://trino.io/ecosystem/data-source" target="_blank" rel="noopener noreferrer" class="">m [...]
 <p>In contrast, Wayang is a <strong>middleware</strong> for <strong>integrating diverse data platforms</strong>, including but not limited to query engines. This means that Wayang leverages the processing capabilities of the underlying data platforms to complete a given job, with no actual query processing taking place within Wayang itself.</p>
 <p>Below you can graphically see the difference between the two systems. Note that not all available data sources or data platforms are illustrated for simplicity reasons.</p>
 <p>Below you can see how Wayang integrates data platforms and utilizes them for any data processing required.</p>
@@ -580,25 +580,25 @@ Therefore, we will bring all puzzles together, and show the full implementation
 <p>I hope this makes it clear now. <br>
 In fact, Trino can be easily plugged to Wayang as a platform and be seamlessly integrated with other data platforms, as shown below.</p>
 <img width="75%" alt="Trino" src="https://wayang.apache.org/img/blog/wayang-with-trino.png">
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="what-are-the-advantages-of-using-wayang">What are the advantages of using Wayang?<a href="https://wayang.apache.org/blog/wayang-vs-trino#what-are-the-advantages-of-using-wayang" class="hash-link" aria-label="Direct link to What are the advantages of using Wayang?" title="Direct link to What are the advantages of using Wayang?">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-are-the-advantages-of-using-wayang">What are the advantages of using Wayang?<a href="https://wayang.apache.org/blog/wayang-vs-trino#what-are-the-advantages-of-using-wayang" class="hash-link" aria-label="Direct link to What are the advantages of using Wayang?" title="Direct link to What are the advantages of using Wayang?" translate="no">​</a></h2>
 <p>Wayang brings several benefits thanks to its integration layer:</p>
 <ul>
-<li>
+<li class="">
 <p>Seamless integration of SQL query engines with ML and other data analysis systems within a single job, eliminating the need to materialize intermediate results.</p>
 </li>
-<li>
+<li class="">
 <p>Users are freed from the task of specifying the query engines for an application if they desire. By submitting their Wayang job, the cross-platform optimizer can automatically determine the best data platform to use for improved performance or cost savings.</p>
 </li>
-<li>
+<li class="">
 <p>Wayang facilitates cross-platform data processing by utilizing multiple data platforms to execute a query for a single job, optimizing performance and cost efficiency.</p>
 </li>
-<li>
+<li class="">
 <p>Data does not have to be transferred outside their original location.</p>
 </li>
 </ul>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="conclusion">Conclusion<a href="https://wayang.apache.org/blog/wayang-vs-trino#conclusion" class="hash-link" aria-label="Direct link to Conclusion" title="Direct link to Conclusion">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="conclusion">Conclusion<a href="https://wayang.apache.org/blog/wayang-vs-trino#conclusion" class="hash-link" aria-label="Direct link to Conclusion" title="Direct link to Conclusion" translate="no">​</a></h2>
 <p>Trino is a distributed SQL query engine which performs all the query processing of an input SQL query in a distributed manner. Wayang, on the other hand, is a data platform integrator which can automatically determine which data platform(s) is best suited for an application.</p>
-<p>Author: <a href="https://github.com/zkaoudi" target="_blank" rel="noopener noreferrer">zkaoudi</a></p>]]></content>
+<p>Author: <a href="https://github.com/zkaoudi" target="_blank" rel="noopener noreferrer" class="">zkaoudi</a></p>]]></content>
         <author>
             <name>Zoi Kaoudi</name>
             <uri>https://github.com/zkaoudi</uri>
@@ -615,23 +615,23 @@ In fact, Trino can be easily plugged to Wayang as a platform and be seamlessly i
         <summary type="html"><![CDATA[In the second part of the article series we describe the implementation of the Kafka Source and Kafka Sink component for Apache Wayang.]]></summary>
         <content type="html"><![CDATA[<p>In the second part of the article series we describe the implementation of the Kafka Source and Kafka Sink component for Apache Wayang.
 We look into the “Read- and Write-Path” for our data items, called <em>DataQuanta</em>.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="apache-wayangs-read--write-path-for-kafka-topics">Apache Wayang’s Read &amp; Write Path for Kafka topics<a href="https://wayang.apache.org/blog/kafka-meets-wayang-2#apache-wayangs-read--write-path-for-kafka-topics" class="hash-link" aria-label="Direct link to Apache Wayang’s Read &amp; Write Path for Kafka topics" title="Direct link to Apache Wayang’s Read &amp; Write Path for Kafka topics">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="apache-wayangs-read--write-path-for-kafka-topics">Apache Wayang’s Read &amp; Write Path for Kafka topics<a href="https://wayang.apache.org/blog/kafka-meets-wayang-2#apache-wayangs-read--write-path-for-kafka-topics" class="hash-link" aria-label="Direct link to Apache Wayang’s Read &amp; Write Path for Kafka topics" title="Direct link to Apache Wayang’s Read &amp; Write Path for Kafka topics" translate="no">​</a></h2>
 <p>To describe the read and write paths for data in the context of the created Apache Wayang code snippet, the primary classes and interfaces we need to understand are as follows:</p>
 <p><strong>WayangContext:</strong> This class is essential for initializing the Wayang processing environment.
 It allows you to configure the execution environment and register plugins that define which platforms Wayang can use for data processing tasks, such as <em>Java.basicPlugin()</em> for local Java execution.</p>
 <p><strong>JavaPlanBuilder:</strong> This class is used to build and define the data processing pipeline (or plan) in Wayang.
 It provides a fluent API to specify the operations to be performed on the data, from reading the input to processing it and writing the output.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="read-path">Read Path<a href="https://wayang.apache.org/blog/kafka-meets-wayang-2#read-path" class="hash-link" aria-label="Direct link to Read Path" title="Direct link to Read Path">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="read-path">Read Path<a href="https://wayang.apache.org/blog/kafka-meets-wayang-2#read-path" class="hash-link" aria-label="Direct link to Read Path" title="Direct link to Read Path" translate="no">​</a></h3>
 <p>The read path describes how data is ingested from a source into the Wayang processing pipeline:</p>
 <p><em>Reading from Kafka Topic:</em> The method <em>readKafkaTopic(topicName)</em> is used to ingest data from a specified Kafka topic.
 This is the starting point of the data processing pipeline, where topicName represents the name of the Kafka topic from which data is read.</p>
 <p><em>Data Tokenization and Preparation:</em> Once the data is read from Kafka, it undergoes several transformations such as Splitting, Filtering, and Mapping.
 What follows are the procedures known as Reducing, Grouping, Co-Grouping, and Counting.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="write-path">Write Path<a href="https://wayang.apache.org/blog/kafka-meets-wayang-2#write-path" class="hash-link" aria-label="Direct link to Write Path" title="Direct link to Write Path">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="write-path">Write Path<a href="https://wayang.apache.org/blog/kafka-meets-wayang-2#write-path" class="hash-link" aria-label="Direct link to Write Path" title="Direct link to Write Path" translate="no">​</a></h3>
 <p><em>Writing to Kafka Topic:</em> The final step in the pipeline involves writing the processed data back to a Kafka topic using <em>.writeKafkaTopic(...)</em>.
 This method takes parameters that specify the target Kafka topic, a serialization function to format the data as strings, and additional configuration for load profile estimation, which optimizes the writing process.</p>
 <p>This read-write path provides a comprehensive flow of data from ingestion from Kafka, through various processing steps, and finally back to Kafka, showcasing a full cycle of data processing within Apache Wayang's abstracted environment and is implemented in our example program shown in <em>listing 1</em>.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="implementation-of-input--and-output-operators">Implementation of Input- and Output Operators<a href="https://wayang.apache.org/blog/kafka-meets-wayang-2#implementation-of-input--and-output-operators" class="hash-link" aria-label="Direct link to Implementation of Input- and Output Operators" title="Direct link to Implementation of Input- and Output Operators">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="implementation-of-input--and-output-operators">Implementation of Input- and Output Operators<a href="https://wayang.apache.org/blog/kafka-meets-wayang-2#implementation-of-input--and-output-operators" class="hash-link" aria-label="Direct link to Implementation of Input- and Output Operators" title="Direct link to Implementation of Input- and Output Operators" translate="no">​</a></h2>
 <p>The next section shows how a new pair of operators can be implemented to extend Apache Wayang’s capabilities on the input and output side.
 We created the Kafka Source and Kafka Sink components so that our cross organizational data collaboration scenario can be implemented using data streaming infrastructure.</p>
 <p><strong>Level 1 – Wayang execution plan with abstract operators</strong></p>
@@ -664,11 +664,11 @@ All this is done in the project <em>wayang-plarforms/wayang-java</em>.</p>
 Both are implemented in Java programming language.
 In this layer, the real Kafka-Client logic is defined.
 Details about consumer and producers, client configuration, and schema handling have to be handled here.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="summary">Summary<a href="https://wayang.apache.org/blog/kafka-meets-wayang-2#summary" class="hash-link" aria-label="Direct link to Summary" title="Direct link to Summary">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="summary">Summary<a href="https://wayang.apache.org/blog/kafka-meets-wayang-2#summary" class="hash-link" aria-label="Direct link to Summary" title="Direct link to Summary" translate="no">​</a></h2>
 <p>Both classes in the third layer implement the Kafka client logic which is needed by the Wayang-execution plan when external data flows should be established.
 The layer above handles the mapping of the components at startup time.
 All this wiring is needed to keep Wayang open and flexible so that multiple external systems can be used in a variety of combinations and using multiple target platforms in combinations.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="outlook">Outlook<a href="https://wayang.apache.org/blog/kafka-meets-wayang-2#outlook" class="hash-link" aria-label="Direct link to Outlook" title="Direct link to Outlook">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="outlook">Outlook<a href="https://wayang.apache.org/blog/kafka-meets-wayang-2#outlook" class="hash-link" aria-label="Direct link to Outlook" title="Direct link to Outlook" translate="no">​</a></h2>
 <p>The next part of the article series will cover the creation of an Kafka Source and Sink component for the Apache Spark platform, which allows our use case to scale.
 Finally, in part four we bring all puzzles together, and show the full implementation of the multi organizational data collaboration use case.</p>]]></content>
         <author>
@@ -685,7 +685,7 @@ Finally, in part four we bring all puzzles together, and show the full implement
         <link href="https://wayang.apache.org/blog/kafka-meets-wayang-1"/>
         <updated>2024-03-05T00:00:00.000Z</updated>
         <summary type="html"><![CDATA[Intro]]></summary>
-        <content type="html"><![CDATA[<h2 class="anchor anchorWithStickyNavbar_LWe7" id="intro">Intro<a href="https://wayang.apache.org/blog/kafka-meets-wayang-1#intro" class="hash-link" aria-label="Direct link to Intro" title="Direct link to Intro">​</a></h2>
+        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="intro">Intro<a href="https://wayang.apache.org/blog/kafka-meets-wayang-1#intro" class="hash-link" aria-label="Direct link to Intro" title="Direct link to Intro" translate="no">​</a></h2>
 <p>This article is the first of a four part series about federated data analysis using Apache Wayang.
 The first article starts with an introduction of a typical data colaboration scenario which will emerge in our digital future.</p>
 <p>In part two and three we will share a summary of our Apache Kafka client implementation for Apache Wayang.
@@ -698,7 +698,7 @@ This reduces complexity of data management and cost dramatically.</p>
 <p>For this purpose, we illustrate a cross organizational data sharing scenario from the finance sector soon.
 This analysis pattern will also be relevant in the context of data analysis along supply chains, another typical example where data from many stakeholder together is needed but never managed in one place, for good reasons.</p>
 <p>Data federation can help us to unlock the hidden value of all those isolated data lakes.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="a-cross-organizational-data-sharing-scenario">A cross organizational data sharing scenario<a href="https://wayang.apache.org/blog/kafka-meets-wayang-1#a-cross-organizational-data-sharing-scenario" class="hash-link" aria-label="Direct link to A cross organizational data sharing scenario" title="Direct link to A cross organizational data sharing scenario">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="a-cross-organizational-data-sharing-scenario">A cross organizational data sharing scenario<a href="https://wayang.apache.org/blog/kafka-meets-wayang-1#a-cross-organizational-data-sharing-scenario" class="hash-link" aria-label="Direct link to A cross organizational data sharing scenario" title="Direct link to A cross organizational data sharing scenario" translate="no">​</a></h2>
 <p>Our goal is the implementation of a cross organization decentralized data processing scenario, in which protected local data should be processed in combination with public data from public sources in a collaborative manner.
 Instead of copying all data into a central data lake or a central data platform we decided to use federated analytics.
 Apache Wayang is the tool we work with.
@@ -744,35 +744,35 @@ Later, we want to switch to Apache Spark.</p>]]></content>
         <updated>2024-01-25T00:00:00.000Z</updated>
         <summary type="html"><![CDATA[We're updated our website and use now Docusaurus.]]></summary>
         <content type="html"><![CDATA[<p>We're updated our website and use now Docusaurus.</p>
-<p>Author: <a href="https://github.com/2pk03" target="_blank" rel="noopener noreferrer">2pk03</a></p>
+<p>Author: <a href="https://github.com/2pk03" target="_blank" rel="noopener noreferrer" class="">2pk03</a></p>
 <p>We switched to a new CMS. That's all.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="cheatsheet">Cheatsheet<a href="https://wayang.apache.org/blog/website_update#cheatsheet" class="hash-link" aria-label="Direct link to Cheatsheet" title="Direct link to Cheatsheet">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="cheatsheet">Cheatsheet<a href="https://wayang.apache.org/blog/website_update#cheatsheet" class="hash-link" aria-label="Direct link to Cheatsheet" title="Direct link to Cheatsheet" translate="no">​</a></h2>
 <p>List:</p>
 <ul>
-<li>Line one<!-- -->
+<li class="">Line one<!-- -->
 <ul>
-<li>Line one.one</li>
-<li>Line one.two</li>
+<li class="">Line one.one</li>
+<li class="">Line one.two</li>
 </ul>
 </li>
-<li>Line two<!-- -->
+<li class="">Line two<!-- -->
 <ul>
-<li>Line two.one</li>
-<li>Line two.two</li>
+<li class="">Line two.one</li>
+<li class="">Line two.two</li>
 </ul>
 </li>
-<li>Line three<!-- -->
+<li class="">Line three<!-- -->
 <ul>
-<li>...</li>
-<li>...</li>
+<li class="">...</li>
+<li class="">...</li>
 </ul>
 </li>
 </ul>
 <p>Another style for a list:</p>
 <ul>
-<li>Line one</li>
-<li>Line two</li>
-<li>Line three</li>
+<li class="">Line one</li>
+<li class="">Line two</li>
+<li class="">Line three</li>
 </ul>]]></content>
         <author>
             <name>Alexander Alten</name>
diff --git a/blog/authors/index.html b/blog/authors/index.html
new file mode 100644
index 00000000..e074dd7d
--- /dev/null
+++ b/blog/authors/index.html
@@ -0,0 +1,22 @@
+<!doctype html>
+<html lang="en" dir="ltr" class="blog-wrapper blog-authors-list-page plugin-blog plugin-id-default" data-has-hydrated="false">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v3.10.1">
+<title data-rh="true">Authors | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/blog/authors"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" pr [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
+</head>
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
+      <p>
+        Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
+        Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
+      </p>
+      </div></div></div></div></footer></div>
+</body>
+</html>
\ No newline at end of file
diff --git a/blog/index.html b/blog/index.html
index 150161b3..cf45e358 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -2,58 +2,61 @@
 <html lang="en" dir="ltr" class="blog-wrapper blog-list-page plugin-blog plugin-id-default" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
-<title data-rh="true">Blog | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/blog"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" property="og: [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<meta name="generator" content="Docusaurus v3.10.1">
+<title data-rh="true">Blog | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/blog"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" property="og: [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="implementation">Implementation<a href="#implementation" class="hash-link" aria-label="Direct link to Implementation" title="Direct link to Implementation">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="implementation">Implementation<a href="#implementation" class="hash-link" aria-label="Direct link to Implementation" title="Direct link to Implementation" translate="no">​</a></h2>
 <p>Workflows including spatial operators are not the main task in Apache Wayang. Therefore, we chose to add spatial support as a plugin that can be enabled separately.</p>
 <p>The two new operators we added are SpatialFilter and SpatialJoin, since many spatial workflows primarily rely on these two operations.</p>
 <p>To support multiple data sources and geometry formats, we introduced an internal geometry representation, SpatialGeometry, that enables translation between formats. This allows geometries stored as WKT, WKB, and GeoJSON to be read and, if necessary, converted to the type expected by the consuming operator.</p>
 <p>For the execution of spatial jobs, we currently support Java, PostgreSQL, and Spark as backends. The Spark implementation uses Apache Sedona, a well-established library for distributed processing of spatial data. The Java implementation is based on JTS, and the PostgreSQL platform uses PostGIS for spatial operations.</p>
-<div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token class-name">WayangContext</span><span class="token plain"> wayangContext </span><span class="token [...]
+<div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token class-name">WayangContext</span><span class="token plain"> wayangContext </span><span class="token  [...]
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="why-spatial-is-a-plugin-not-a-platform">Why Spatial Is a Plugin, Not a Platform<a href="#why-spatial-is-a-plugin-not-a-platform" class="hash-link" aria-label="Direct link to Why Spatial Is a Plugin, Not a Platform" title="Direct link to Why Spatial Is a Plugin, Not a Platform">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="why-spatial-is-a-plugin-not-a-platform">Why Spatial Is a Plugin, Not a Platform<a href="#why-spatial-is-a-plugin-not-a-platform" class="hash-link" aria-label="Direct link to Why Spatial Is a Plugin, Not a Platform" title="Direct link to Why Spatial Is a Plugin, Not a Platform" translate="no">​</a></h2>
 <p>In the current Wayang architecture, a platform is responsible for runtime ownership: it defines a Platform implementation, provides an executor factory, defines channel conversions, and integrates cost models. This can be seen clearly in modules such as Java (JavaPlatform + JavaExecutor) and PostgreSQL (PostgresPlatform via JdbcPlatformTemplate + JdbcExecutor).</p>
 <p>The spatial extension is intentionally different. It does not introduce a new Platform subclass and does not provide its own executor. Instead, wayang-spatial is implemented as a plugin (Spatial.java) that contributes operators, mappings for those operators, and specifies required platforms.</p>
 <p>The logical spatial operators (<code>SpatialFilterOperator</code>, <code>SpatialJoinOperator</code>, <code>GeoJsonFileSource</code>) still live in <code>wayang-basic</code> and are included in the Java-Scala API. The spatial plugin extends the system by adding platform-specific execution operators and transformation rules that map Wayang operators to their platform implementations.</p>
 <p>At registration time, <code>WayangContext.withPlugin(...)</code> calls <code>plugin.configure(configuration)</code>. This whitelists the required platforms and spatial mappings. During optimization, mappings such as <code>SpatialFilterMapping</code> and <code>SpatialJoinMapping</code> rewrite logical operators into execution operators such as:</p>
 <ul>
-<li><code>JavaSpatialFilterOperator</code> / <code>JavaSpatialJoinOperator</code></li>
-<li><code>SparkSpatialFilterOperator</code> / <code>SparkSpatialJoinOperator</code></li>
-<li><code>PostgresSpatialFilterOperator</code> / <code>PostgresSpatialJoinOperator</code></li>
+<li class=""><code>JavaSpatialFilterOperator</code> / <code>JavaSpatialJoinOperator</code></li>
+<li class=""><code>SparkSpatialFilterOperator</code> / <code>SparkSpatialJoinOperator</code></li>
+<li class=""><code>PostgresSpatialFilterOperator</code> / <code>PostgresSpatialJoinOperator</code></li>
 </ul>
 <p>Execution is then handled by the existing platform runtimes:</p>
 <ul>
-<li>Java operators are executed by <code>JavaExecutor</code></li>
-<li>Spark operators are executed by <code>SparkExecutor</code></li>
-<li>PostgreSQL operators are executed through the JDBC runtime (<code>JdbcExecutor</code>)</li>
+<li class="">Java operators are executed by <code>JavaExecutor</code></li>
+<li class="">Spark operators are executed by <code>SparkExecutor</code></li>
+<li class="">PostgreSQL operators are executed through the JDBC runtime (<code>JdbcExecutor</code>)</li>
 </ul>
 <p>In practice, this is why applications have to register both a platform plugin (for general operators and channels) and a spatial plugin (for spatial mappings), for example <code>Java.basicPlugin()</code> + <code>Spatial.javaPlugin()</code> or <code>Spark.basicPlugin()</code> + <code>Spatial.sparkPlugin()</code>.</p>
 <p>This design provides three concrete advantages:</p>
 <ul>
-<li>No duplicate runtime stack, since executors, channels, and cost models remain centralized in the platforms</li>
-<li>Clean multi-platform support for the same spatial semantics</li>
-<li>Lower maintenance overhead, because spatial development efforts can focus on operator logic and mappings rather than recreating infrastructure</li>
+<li class="">No duplicate runtime stack, since executors, channels, and cost models remain centralized in the platforms</li>
+<li class="">Clean multi-platform support for the same spatial semantics</li>
+<li class="">Lower maintenance overhead, because spatial development efforts can focus on operator logic and mappings rather than recreating infrastructure</li>
 </ul>
 <p>Spatial support in Wayang is therefore best understood as a cross-platform capability extension: it contributes spatial semantics and translation, while execution remains fully owned by the underlying platforms.</p>
 <div style="text-align:center"><img width="90%" alt="wayang-spatial architecture" src="/img/architecture/wayang-spatial-architecture.png"></div>
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="benchmarks">Benchmarks<a href="#benchmarks" class="hash-link" aria-label="Direct link to Benchmarks" title="Direct link to Benchmarks">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="benchmarks">Benchmarks<a href="#benchmarks" class="hash-link" aria-label="Direct link to Benchmarks" title="Direct link to Benchmarks" translate="no">​</a></h2>
 <p>Below we show scenarios where it is advantageous to be able to freely choose the execution depending on the use case. The following benchmarks are not intended to be exhaustive tests of our new operators but rather to highlight how using the platform independence of Apache Wayang can speed up spatial jobs. We executed the benchmarks on an HPC cluster with reproducible Spark cluster configurations.</p>
 <div style="text-align:center"><img width="75%" alt="Spatial benchmark 1" src="/img/benchmarks/spatial-bench1.png"></div>
 <ul>
-<li><strong>Job 1:</strong> Spatial Join of parks (~44k) and lakes (~140k) in Germany with spatial predicate CONTAINS, no index on Postgres tables, Spark cluster with 4 nodes</li>
-<li><strong>Job 2:</strong> Spatial Join of parks (~44k) and lakes (~140k) in Germany with spatial predicate CONTAINS, spatial index on Postgres tables, Spark cluster with 4 nodes</li>
-<li><strong>Job 3:</strong> Spatial Join of two synthetic datasets containing boxes (100k and 1M) with spatial predicate INTERSECTS, spatial index on Postgres tables, Spark cluster with 8 nodes</li>
+<li class=""><strong>Job 1:</strong> Spatial Join of parks (~44k) and lakes (~140k) in Germany with spatial predicate CONTAINS, no index on Postgres tables, Spark cluster with 4 nodes</li>
+<li class=""><strong>Job 2:</strong> Spatial Join of parks (~44k) and lakes (~140k) in Germany with spatial predicate CONTAINS, spatial index on Postgres tables, Spark cluster with 4 nodes</li>
+<li class=""><strong>Job 3:</strong> Spatial Join of two synthetic datasets containing boxes (100k and 1M) with spatial predicate INTERSECTS, spatial index on Postgres tables, Spark cluster with 8 nodes</li>
 </ul>
 <p>The above figure shows that there are use cases in which each of the currently supported platforms performs best. For small datasets, Java performs best if there is no spatial index available for Postgres; otherwise, Postgres outperforms Java. Due to the Spark overhead, Sedona running on a Spark cluster only gains an advantage in jobs with large datasets, as seen in Job 3.</p>
-<p>This is also evident in the following figure. While Java and Postgres perform better than Sedona on a Spark cluster for joins on small datasets, this trend reverses for joins of larger datasets. Especially for the join of 100k and 10M boxes (generated using <a href="https://star.cs.ucr.edu" target="_blank" rel="noopener noreferrer">star.cs.ucr.edu</a>), the Spark cluster outperforms the single node execution of Java and Postgres. The poor performance of Sedona/Spark on a cluster with  [...]
+<p>This is also evident in the following figure. While Java and Postgres perform better than Sedona on a Spark cluster for joins on small datasets, this trend reverses for joins of larger datasets. Especially for the join of 100k and 10M boxes (generated using <a href="https://star.cs.ucr.edu" target="_blank" rel="noopener noreferrer" class="">star.cs.ucr.edu</a>), the Spark cluster outperforms the single node execution of Java and Postgres. The poor performance of Sedona/Spark on a clus [...]
 <div style="text-align:center"><img width="75%" alt="Spatial benchmark 2" src="/img/benchmarks/spatial-bench2.png"></div>
 <p>The performance gained by using larger cluster configurations can also be seen in the following visualization of runtime results of box joins with datasets of various sizes.</p>
 <div style="text-align:center"><img width="75%" alt="Spatial benchmark 3" src="/img/benchmarks/spatial-bench3.png"></div>
@@ -61,189 +64,189 @@
 <div style="text-align:center"><img width="75%" alt="Spatial benchmark 4" src="/img/benchmarks/spatial-bench4.png"></div>
 <p>The benchmark results show multiple scenarios in which platform choice has a significant impact on runtime. Spatial data processing can therefore benefit greatly from using the new spatial operators in Apache Wayang.</p>
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="future-work">Future Work<a href="#future-work" class="hash-link" aria-label="Direct link to Future Work" title="Direct link to Future Work">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="future-work">Future Work<a href="#future-work" class="hash-link" aria-label="Direct link to Future Work" title="Direct link to Future Work" translate="no">​</a></h2>
 <p>Our spatial extension enables basic spatial workloads using filter and join operations on the Java, Spark, and Postgres platforms. However, additional operators like nearest neighbor or within-distance operations could enable even more complex scenarios.</p>
 <p>Adding platforms specifically designed for spatial data processing could improve performance even further. An interesting candidate for this could be the relatively recently introduced Apache SedonaDB database engine.</p>
-<p>Currently, the execution platform has to be chosen manually. Part of potential future work should therefore be the implementation of heuristics for platform selection.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/spatial">spatial</a></l [...]
+<p>Currently, the execution platform has to be chosen manually. Part of potential future work should therefore be the implementation of heuristics for platform selection.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/spa [...]
 <p>This graduation rewards the community-driven effort, research, innovation, and collaboration of many years. It reflects our shared commitment to open-source development and the growing importance of cross-platform data processing in the broader data ecosystem nowadays.
 Graduating as an Apache Top-Level Project is an important recognition of the project’s maturity and ensures that Apache Wayang is backed by the full support and oversight of the ASF, guaranteeing openness, meritocracy, and a sustainable development model for years to come.</p>
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="what-is-apache-wayang">What Is Apache Wayang?<a href="#what-is-apache-wayang" class="hash-link" aria-label="Direct link to What Is Apache Wayang?" title="Direct link to What Is Apache Wayang?">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-is-apache-wayang">What Is Apache Wayang?<a href="#what-is-apache-wayang" class="hash-link" aria-label="Direct link to What Is Apache Wayang?" title="Direct link to What Is Apache Wayang?" translate="no">​</a></h2>
 <p>Apache Wayang (formerly known as Rheem) is a <strong>cross-platform data processing system</strong> designed to give developers and organizations a unified way to execute pipelines over multiple data processing engines—such as Apache Spark, Apache Flink, PostgreSQL, and more.</p>
 <p>Instead of forcing users to choose a single execution backend, Wayang:</p>
 <ul>
-<li><strong>Abstracts data processing engines</strong> through a unified API</li>
-<li><strong>Can automatically choose the best execution platform</strong> based on workload characteristics</li>
-<li><strong>Optimizes performance</strong> by distributing tasks across engines if necessary</li>
-<li><strong>Provides a flexible plugin architecture</strong> for integrating new platforms and optimizers</li>
+<li class=""><strong>Abstracts data processing engines</strong> through a unified API</li>
+<li class=""><strong>Can automatically choose the best execution platform</strong> based on workload characteristics</li>
+<li class=""><strong>Optimizes performance</strong> by distributing tasks across engines if necessary</li>
+<li class=""><strong>Provides a flexible plugin architecture</strong> for integrating new platforms and optimizers</li>
 </ul>
 <p>In other words, Wayang enables interoperability across the diverse data landscape and empowers teams to focus on application logic and not infrastructure decisions.</p>
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="thank-you-to-our-community">Thank You to Our Community<a href="#thank-you-to-our-community" class="hash-link" aria-label="Direct link to Thank You to Our Community" title="Direct link to Thank You to Our Community">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="thank-you-to-our-community">Thank You to Our Community<a href="#thank-you-to-our-community" class="hash-link" aria-label="Direct link to Thank You to Our Community" title="Direct link to Thank You to Our Community" translate="no">​</a></h2>
 <p>Apache Wayang wouldn’t exist without its community of developers, users, mentors, and advocates who contributed code, documentation, feedback, and support. A special thanks goes to our Incubator mentors, who helped guide the project through the Apache processes and best practices.
 Your contributions made this milestone possible, and we’re just getting started.</p>
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="get-involved">Get Involved!<a href="#get-involved" class="hash-link" aria-label="Direct link to Get Involved!" title="Direct link to Get Involved!">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="get-involved">Get Involved!<a href="#get-involved" class="hash-link" aria-label="Direct link to Get Involved!" title="Direct link to Get Involved!" translate="no">​</a></h2>
 <p>Whether you want to try Wayang for your next project, contribute code, write documentation, or share your ideas, your participation is welcome. Here’s how to get started:</p>
 <ul>
-<li>Explore the documentation</li>
-<li>Join our community mailing lists</li>
-<li>Contribute to discussions and development</li>
-<li>Try Wayang on your data workloads</li>
+<li class="">Explore the documentation</li>
+<li class="">Join our community mailing lists</li>
+<li class="">Contribute to discussions and development</li>
+<li class="">Try Wayang on your data workloads</li>
 </ul>
-<p>Welcome to Apache Wayang — where data platforms work together!</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/asf">ASF</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/graduation">graduation</a></li><li cl [...]
+<p>Welcome to Apache Wayang — where data platforms work together!</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/asf">ASF</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/graduat [...]
 <p>The ASF provides a robust infrastructure for open communities of software developers. We can share ideas, combine forces, contribute code, docs, review-energy, art work, and from time to time we can nail it down. A release defines an intermediate result of the continuous community work.</p>
 <p>How we do such a release in the Apache Wayang team is an essential aspect towards graduation. First of all, there are some references to take into account, such as:</p>
 <ul>
-<li><a href="https://www.apache.org/legal/release-policy.html" target="_blank" rel="noopener noreferrer">https://www.apache.org/legal/release-policy.html</a></li>
-<li><a href="https://maven.apache.org/maven-release/maven-release-plugin/" target="_blank" rel="noopener noreferrer">https://maven.apache.org/maven-release/maven-release-plugin/</a></li>
+<li class=""><a href="https://www.apache.org/legal/release-policy.html" target="_blank" rel="noopener noreferrer" class="">https://www.apache.org/legal/release-policy.html</a></li>
+<li class=""><a href="https://maven.apache.org/maven-release/maven-release-plugin/" target="_blank" rel="noopener noreferrer" class="">https://maven.apache.org/maven-release/maven-release-plugin/</a></li>
 </ul>
 <p>Assuming you are (P)PMC, and assuming that you have the right permissions for such a release, you can follow the path as described in this guide:</p>
 <ul>
-<li><a href="https://plc4x.apache.org/plc4x/latest/developers/release/release.html" target="_blank" rel="noopener noreferrer">https://plc4x.apache.org/developers/release/release.html</a></li>
+<li class=""><a href="https://plc4x.apache.org/plc4x/latest/developers/release/release.html" target="_blank" rel="noopener noreferrer" class="">https://plc4x.apache.org/developers/release/release.html</a></li>
 </ul>
 <p>I tried to follow exactly this procedure, several times. I failed. Here I share the current status of my <strong>release attempts</strong>.</p>
 <p>I plan a longer tour, and do not want to block the project for a long time.
 Hence I create this draft, and I hope we can unblock this project as soon as possible.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="status">Status:<a href="#status" class="hash-link" aria-label="Direct link to Status:" title="Direct link to Status:">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="status">Status:<a href="#status" class="hash-link" aria-label="Direct link to Status:" title="Direct link to Status:" translate="no">​</a></h2>
 <p>I am not able to conduct the <em>mvn release:perform</em> step.
 Anything before worked, sometimes only after some digging, but it worked.</p>
 <ul>
-<li>
+<li class="">
 <p>We assume, that due to my membership in two ASF incubator projects I am not able to upload the artefacts to the Nexus repository (H1).</p>
 </li>
-<li>
+<li class="">
 <p>It can be, that I have not the correct user and password in my <em>settings.xml</em> file (H2).</p>
 </li>
 </ul>
-<p>But I tested a manual login to the nexus server <a href="https://repository.apache.org/service/local/staging/deploy/maven2" target="_blank" rel="noopener noreferrer">https://repository.apache.org/service/local/staging/deploy/maven2</a> with success. And beyond that I have no idea how I can verify this detail alone.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="idea--proposal">Idea / Proposal<a href="#idea--proposal" class="hash-link" aria-label="Direct link to Idea / Proposal" title="Direct link to Idea / Proposal">​</a></h2>
+<p>But I tested a manual login to the nexus server <a href="https://repository.apache.org/service/local/staging/deploy/maven2" target="_blank" rel="noopener noreferrer" class="">https://repository.apache.org/service/local/staging/deploy/maven2</a> with success. And beyond that I have no idea how I can verify this detail alone.</p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="idea--proposal">Idea / Proposal<a href="#idea--proposal" class="hash-link" aria-label="Direct link to Idea / Proposal" title="Direct link to Idea / Proposal" translate="no">​</a></h2>
 <p>(1) It would be great, if someone - who has done a release in any other ASF project or in Apache Wayang - could follow the steps I share, so that we can check where the problem hides itself.</p>
 <p>(2) As a follow-up task, I suggest to add a <strong>Release Guide</strong> to the Apache Wayang project, including release manager onboarding steps, and checklists for the particular project, derived from the referenced sources which are listed above.</p>
 <p>But for now it is all about sharing the status (as I did serveral times on multiple chanels, including JIRA, Slack, Mailing lists) and finding a solution for Apache Wayang release 1.0.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="latest-error">Latest Error:<a href="#latest-error" class="hash-link" aria-label="Direct link to Latest Error:" title="Direct link to Latest Error:">​</a></h2>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:perform -X -DskipTests</span><br></span></code></pre><div class="buttonGroup__atx"><button ty [...]
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[INFO] Caused by: org.eclipse.aether.deployment.DeploymentException: Failed to deploy artifacts: Could no [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="activity-log">Activity Log<a href="#activity-log" class="hash-link" aria-label="Direct link to Activity Log" title="Direct link to Activity Log">​</a></h2>
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:clean</span><br></span><span class="token-line" style="color:#393A34"><span cla [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Da [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">ERROR</span><span class="toke [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn versions:commit</span><br></span><span class="token-line" style="color:#393A34"><span c [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Da [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">ERROR</span><span class="toke [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">git</span><span class="token plain"> status</span><br></span><span [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Da [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">Caused by: org.eclipse.aether.transfer.NoRepositoryConnectorException: Blocked mirror </spa [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="dependency-on-jdk-11-during-release">Dependency on JDK-11 during release<a href="#dependency-on-jdk-11-during-release" class="hash-link" aria-label="Direct link to Dependency on JDK-11 during release" title="Direct link to Dependency on JDK-11 during release">​</a></h3>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="latest-error">Latest Error:<a href="#latest-error" class="hash-link" aria-label="Direct link to Latest Error:" title="Direct link to Latest Error:" translate="no">​</a></h2>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:perform -X -DskipTests</span><br></div></code></pre></div></div>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[INFO] Caused by: org.eclipse.aether.deployment.DeploymentException: Failed to deploy artifa [...]
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="activity-log">Activity Log<a href="#activity-log" class="hash-link" aria-label="Direct link to Activity Log" title="Direct link to Activity Log" translate="no">​</a></h2>
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:clean</span><br></div><div class="token-line" style="color:#393A34"><span class= [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Dar [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">ERROR</span><span class="token [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn versions:commit</span><br></div><div class="token-line" style="color:#393A34"><span clas [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Dar [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">ERROR</span><span class="token [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">git</span><span class="token plain"> status</span><br></div><div cl [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Dar [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">Caused by: org.eclipse.aether.transfer.NoRepositoryConnectorException: Blocked mirror </span [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="dependency-on-jdk-11-during-release">Dependency on JDK-11 during release<a href="#dependency-on-jdk-11-during-release" class="hash-link" aria-label="Direct link to Dependency on JDK-11 during release" title="Direct link to Dependency on JDK-11 during release" translate="no">​</a></h3>
 <blockquote>
 <p>FIXED with local JDK11 Setup</p>
 </blockquote>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">brew install openjdk@11</span><br></span><span class="token-line" style="color:#393A34"><span class="toke [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="manual-update-of-release-version">Manual update of release-version<a href="#manual-update-of-release-version" class="hash-link" aria-label="Direct link to Manual update of release-version" title="Direct link to Manual update of release-version">​</a></h3>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">brew install openjdk@11</span><br></div><div class="token-line" style="color:#393A34"><span  [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="manual-update-of-release-version">Manual update of release-version<a href="#manual-update-of-release-version" class="hash-link" aria-label="Direct link to Manual update of release-version" title="Direct link to Manual update of release-version" translate="no">​</a></h3>
 <p>During the release procedure, do I have to set the version here in this configuration section manually?</p>
-<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">plug [...]
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">plugi [...]
 <blockquote>
 <p>It seems that these properties must be updated manually.</p>
 </blockquote>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="warning-regarding-illegal-reflective-access-operation">Warning regarding &quot;illegal reflective access operation&quot;<a href="#warning-regarding-illegal-reflective-access-operation" class="hash-link" aria-label="Direct link to Warning regarding &quot;illegal reflective access operation&quot;" title="Direct link to Warning regarding &quot;illegal reflective access operation&quot;">​</a></h3>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[ERROR] WARNING: An illegal reflective access operation has occurred</span><br></span><span class="token- [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="warning-regarding-illegal-reflective-access-operation">Warning regarding &quot;illegal reflective access operation&quot;<a href="#warning-regarding-illegal-reflective-access-operation" class="hash-link" aria-label="Direct link to Warning regarding &quot;illegal reflective access operation&quot;" title="Direct link to Warning regarding &quot;illegal reflective access operation&quot;" translate="no">​</a></h3>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[ERROR] WARNING: An illegal reflective access operation has occurred</span><br></div><div cl [...]
 <blockquote>
 <p><strong>This is still an OPEN ISSUE !</strong></p>
 </blockquote>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="rat-check-fails">RAT Check fails<a href="#rat-check-fails" class="hash-link" aria-label="Direct link to RAT Check fails" title="Direct link to RAT Check fails">​</a></h3>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[INFO] [ERROR] Failed to execute goal org.apache.rat:apache-rat-plugin:0.13:check (license-check) on proj [...]
-<div class="language-cat codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-cat codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34" [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="rat-check-fails">RAT Check fails<a href="#rat-check-fails" class="hash-link" aria-label="Direct link to RAT Check fails" title="Direct link to RAT Check fails" translate="no">​</a></h3>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[INFO] [ERROR] Failed to execute goal org.apache.rat:apache-rat-plugin:0.13:check (license-c [...]
+<div class="language-cat codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-cat codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><s [...]
 <blockquote>
 <p><em>FIXED by adding .java-versions to .gitignore</em></p>
 </blockquote>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="tag-could-not-be-created-in-scm">Tag could not be created in SCM.<a href="#tag-could-not-be-created-in-scm" class="hash-link" aria-label="Direct link to Tag could not be created in SCM." title="Direct link to Tag could not be created in SCM.">​</a></h3>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:3.0.1:prepare (default-cli)  [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="tag-could-not-be-created-in-scm">Tag could not be created in SCM.<a href="#tag-could-not-be-created-in-scm" class="hash-link" aria-label="Direct link to Tag could not be created in SCM." title="Direct link to Tag could not be created in SCM." translate="no">​</a></h3>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:3.0.1:prepare ( [...]
 <blockquote>
 <p>FIXED by manual changes in pom.xml.</p>
 </blockquote>
-<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34" [...]
-<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">conf [...]
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare -Darguments=&#x27;-DskipTests=True -Dresume=True&#x27;</span><br></span></code></pre> [...]
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn clean package</span><br></span><span class="token-line" style="color:#393A34"><span class="token plai [...]
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><s [...]
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">confi [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare -Darguments=&#x27;-DskipTests=True -Dresume=True&#x27;</span><br></div>< [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn clean package</span><br></div><div class="token-line" style="color:#393A34"><span class= [...]
 <blockquote>
 <p>So far so good. But now the sun went down.</p>
 </blockquote>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[INFO] [ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:3.0.0-M1:deploy (defau [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[INFO] [ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:3.0.0-M1: [...]
 <p>The null pointer exception indicates problems in <em>settings.xml</em>. This could be fixed.
 But now, the error changes with and I am still not able to stage the build results.</p>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:perform -X -DskipTests</span><br></span></code></pre><div class="buttonGroup__atx"><button ty [...]
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[INFO] Caused by: org.eclipse.aether.deployment.DeploymentException: Failed to deploy artifacts: Could no [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="checklist-for-next-iteration">Checklist for next iteration:<a href="#checklist-for-next-iteration" class="hash-link" aria-label="Direct link to Checklist for next iteration:" title="Direct link to Checklist for next iteration:">​</a></h2>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:perform -X -DskipTests</span><br></div></code></pre></div></div>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[INFO] Caused by: org.eclipse.aether.deployment.DeploymentException: Failed to deploy artifa [...]
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="checklist-for-next-iteration">Checklist for next iteration:<a href="#checklist-for-next-iteration" class="hash-link" aria-label="Direct link to Checklist for next iteration:" title="Direct link to Checklist for next iteration:" translate="no">​</a></h2>
 <p>The error you&#x27;re encountering indicates that there is a problem with deploying the artifacts using the <code>maven-deploy-plugin</code>. The root cause of the error is a <code>NullPointerException</code> during the deployment process, specifically related to the <code>org.eclipse.aether.transfer.ArtifactTransferException</code>.</p>
 <p>Here&#x27;s a step-by-step guide to troubleshoot and resolve this issue:</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="1-check-maven-settings">1. Check Maven Settings<a href="#1-check-maven-settings" class="hash-link" aria-label="Direct link to 1. Check Maven Settings" title="Direct link to 1. Check Maven Settings">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="1-check-maven-settings">1. Check Maven Settings<a href="#1-check-maven-settings" class="hash-link" aria-label="Direct link to 1. Check Maven Settings" title="Direct link to 1. Check Maven Settings" translate="no">​</a></h3>
 <p>Ensure that your Maven settings (<code>settings.xml</code>) are correctly configured for deployment. Verify that the repository settings and credentials are correctly specified.</p>
 <p><strong>[DONE]</strong></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="2-verify-repository-url">2. Verify Repository URL<a href="#2-verify-repository-url" class="hash-link" aria-label="Direct link to 2. Verify Repository URL" title="Direct link to 2. Verify Repository URL">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="2-verify-repository-url">2. Verify Repository URL<a href="#2-verify-repository-url" class="hash-link" aria-label="Direct link to 2. Verify Repository URL" title="Direct link to 2. Verify Repository URL" translate="no">​</a></h3>
 <p>Make sure the repository URL in your <code>pom.xml</code> or <code>settings.xml</code> is correct and reachable. The URL should point to the correct staging repository for deployment.</p>
 <p><em>[OPEN]</em> - I did not touch it, so I guess it is correct in the <em>pom.xml</em>.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="3-maven-version-compatibility">3. Maven Version Compatibility<a href="#3-maven-version-compatibility" class="hash-link" aria-label="Direct link to 3. Maven Version Compatibility" title="Direct link to 3. Maven Version Compatibility">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="3-maven-version-compatibility">3. Maven Version Compatibility<a href="#3-maven-version-compatibility" class="hash-link" aria-label="Direct link to 3. Maven Version Compatibility" title="Direct link to 3. Maven Version Compatibility" translate="no">​</a></h3>
 <p>Verify that you are using a compatible version of Maven. Sometimes, upgrading or downgrading Maven can resolve such issues.</p>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">Apache Maven 3.9.6 (bc0240f3c744dd6b6ec2920b3cd08dcc295161ae)</span><br></span><span class="token-line" s [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">Apache Maven 3.9.6 (bc0240f3c744dd6b6ec2920b3cd08dcc295161ae)</span><br></div><div class="to [...]
 <p><strong>[DONE]</strong></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="4-check-for-network-issues">4. Check for Network Issues<a href="#4-check-for-network-issues" class="hash-link" aria-label="Direct link to 4. Check for Network Issues" title="Direct link to 4. Check for Network Issues">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="4-check-for-network-issues">4. Check for Network Issues<a href="#4-check-for-network-issues" class="hash-link" aria-label="Direct link to 4. Check for Network Issues" title="Direct link to 4. Check for Network Issues" translate="no">​</a></h3>
 <p>Ensure there are no network issues that might be causing problems in connecting to the repository. Sometimes, network configurations, firewalls, or proxy settings can interfere with the deployment process.</p>
 <p><strong>[DONE]</strong></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="5-update-maven-plugins">5. Update Maven Plugins<a href="#5-update-maven-plugins" class="hash-link" aria-label="Direct link to 5. Update Maven Plugins" title="Direct link to 5. Update Maven Plugins">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="5-update-maven-plugins">5. Update Maven Plugins<a href="#5-update-maven-plugins" class="hash-link" aria-label="Direct link to 5. Update Maven Plugins" title="Direct link to 5. Update Maven Plugins" translate="no">​</a></h3>
 <p>Ensure that you are using the latest versions of the Maven plugins. Sometimes, bugs in older versions can cause unexpected issues.</p>
 <p><em>[OPEN]</em></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="6-configure-the-maven-deploy-plugin-in-pomxml">6. Configure the <code>maven-deploy-plugin</code> in <code>pom.xml</code><a href="#6-configure-the-maven-deploy-plugin-in-pomxml" class="hash-link" aria-label="Direct link to 6-configure-the-maven-deploy-plugin-in-pomxml" title="Direct link to 6-configure-the-maven-deploy-plugin-in-pomxml">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="6-configure-the-maven-deploy-plugin-in-pomxml">6. Configure the <code>maven-deploy-plugin</code> in <code>pom.xml</code><a href="#6-configure-the-maven-deploy-plugin-in-pomxml" class="hash-link" aria-label="Direct link to 6-configure-the-maven-deploy-plugin-in-pomxml" title="Direct link to 6-configure-the-maven-deploy-plugin-in-pomxml" translate="no">​</a></h3>
 <p>Make sure the <code>maven-deploy-plugin</code> is correctly configured in your <code>pom.xml</code>. Here&#x27;s an example configuration:</p>
-<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">plug [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="7-increase-verbose-logging">7. Increase Verbose Logging<a href="#7-increase-verbose-logging" class="hash-link" aria-label="Direct link to 7. Increase Verbose Logging" title="Direct link to 7. Increase Verbose Logging">​</a></h3>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">plugi [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="7-increase-verbose-logging">7. Increase Verbose Logging<a href="#7-increase-verbose-logging" class="hash-link" aria-label="Direct link to 7. Increase Verbose Logging" title="Direct link to 7. Increase Verbose Logging" translate="no">​</a></h3>
 <p>Enable verbose logging to get more details about the error. You can do this by adding the <code>-X</code> flag when running the Maven command:</p>
-<div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn clean deploy </span><span class="token parameter variable" style="color:#36acaa">-X</span>< [...]
+<div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn clean deploy </span><span class="token parameter variable" style="color:#36acaa">-X</span><b [...]
 <p><strong>[DONE]</strong></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="8-retry-with-a-clean-local-repository">8. Retry with a Clean Local Repository<a href="#8-retry-with-a-clean-local-repository" class="hash-link" aria-label="Direct link to 8. Retry with a Clean Local Repository" title="Direct link to 8. Retry with a Clean Local Repository">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="8-retry-with-a-clean-local-repository">8. Retry with a Clean Local Repository<a href="#8-retry-with-a-clean-local-repository" class="hash-link" aria-label="Direct link to 8. Retry with a Clean Local Repository" title="Direct link to 8. Retry with a Clean Local Repository" translate="no">​</a></h3>
 <p>Sometimes, a corrupt local repository can cause issues. Try cleaning your local Maven repository and re-running the deployment:</p>
-<div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn clean </span><span class="token function" style="color:#d73a49">install</span><span class=" [...]
+<div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn clean </span><span class="token function" style="color:#d73a49">install</span><span class="t [...]
 <p><em>[OPEN]</em> - Does not match to an authentication issue.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="9-check-for-missing-credentials">9. Check for Missing Credentials<a href="#9-check-for-missing-credentials" class="hash-link" aria-label="Direct link to 9. Check for Missing Credentials" title="Direct link to 9. Check for Missing Credentials">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="9-check-for-missing-credentials">9. Check for Missing Credentials<a href="#9-check-for-missing-credentials" class="hash-link" aria-label="Direct link to 9. Check for Missing Credentials" title="Direct link to 9. Check for Missing Credentials" translate="no">​</a></h3>
 <p>Ensure that the credentials for the repository are correctly set up in your <code>settings.xml</code>:</p>
-<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">serv [...]
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">serve [...]
 <p><strong>[DONE]</strong></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="10-review-the-full-stack-trace">10. Review the Full Stack Trace<a href="#10-review-the-full-stack-trace" class="hash-link" aria-label="Direct link to 10. Review the Full Stack Trace" title="Direct link to 10. Review the Full Stack Trace">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="10-review-the-full-stack-trace">10. Review the Full Stack Trace<a href="#10-review-the-full-stack-trace" class="hash-link" aria-label="Direct link to 10. Review the Full Stack Trace" title="Direct link to 10. Review the Full Stack Trace" translate="no">​</a></h3>
 <p>The full stack trace indicates a <code>NullPointerException</code>:</p>
-<div class="language-plaintext codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-plaintext codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">Caused by: java.lang.NullPointerException</span><br></span><span class="token-lin [...]
+<div class="language-plaintext codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-plaintext codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">Caused by: java.lang.NullPointerException</span><br></div><div class="token-line"  [...]
 <p>This suggests that there might be an issue with how credentials are being handled. Double-check that the credentials are being correctly passed and processed.</p>
-<p><strong>[DONE]</strong></p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/asf">ASF</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/release">release</a></li></ul></div></footer></article><article class="margi [...]
+<p><strong>[DONE]</strong></p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/asf">ASF</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/release">release</a></li></ul></div></footer>< [...]
 Thanks to the extensible nature of Wayang, the only core changes we had to do were introducing the concept of a <code>Model</code> and implement a new driver for the newly added platform.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="step-1-introducing-a-model">Step 1: Introducing a Model<a href="#step-1-introducing-a-model" class="hash-link" aria-label="Direct link to Step 1: Introducing a Model" title="Direct link to Step 1: Introducing a Model">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="step-1-introducing-a-model">Step 1: Introducing a Model<a href="#step-1-introducing-a-model" class="hash-link" aria-label="Direct link to Step 1: Introducing a Model" title="Direct link to Step 1: Introducing a Model" translate="no">​</a></h2>
 <p>With respect to the model, we followed Wayang’s abstraction philosophy: We created a <code>Model</code> interface to be used as input or output by Wayang operators and then extended it for the platform-specific operators. Different model interfaces can be found here:</p>
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model</a></p>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model</a></p>
 <p>A platform-specific model needs to be instantiated to be used as the output of a training operator and as input for an inference operator. You can see an example of the <code>SparkMLModel</code> here:</p>
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/model/SparkMLModel.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/model/SparkMLModel.java</a></p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="step-2-introducing-training-operators">Step 2: Introducing Training Operators<a href="#step-2-introducing-training-operators" class="hash-link" aria-label="Direct link to Step 2: Introducing Training Operators" title="Direct link to Step 2: Introducing Training Operators">​</a></h2>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/model/SparkMLModel.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/model/SparkMLModel.java</a></p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="step-2-introducing-training-operators">Step 2: Introducing Training Operators<a href="#step-2-introducing-training-operators" class="hash-link" aria-label="Direct link to Step 2: Introducing Training Operators" title="Direct link to Step 2: Introducing Training Operators" translate="no">​</a></h2>
 <p>We added the desired Wayang (platform-agnostic) training operators which are binary to unary operators, taking as input the X and y values and outputting a Model. You can find an example of a LinearRegressionOperator here:</p>
-<p><a href="https://github.com/apache/incubator-wayang/blob/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/LinearRegressionOperator.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/blob/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/LinearRegressionOperator.java</a></p>
+<p><a href="https://github.com/apache/incubator-wayang/blob/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/LinearRegressionOperator.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/blob/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/LinearRegressionOperator.java</a></p>
 <p>Platform-specific execution operators, such as SparkLinearRegressionOperator, can be easily added as any other execution operator: extending the corresponding Wayang operator and providing the mappings from the Wayang to the execution operator. See, for example, the <code>SparkLinearRegressionOperator</code>:</p>
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkLinearRegressionOperator.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkLinearRegressionOperator.java</a></p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="step-3-introducing-prediction-operators">Step 3: Introducing Prediction Operators<a href="#step-3-introducing-prediction-operators" class="hash-link" aria-label="Direct link to Step 3: Introducing Prediction Operators" title="Direct link to Step 3: Introducing Prediction Operators">​</a></h2>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkLinearRegressionOperator.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkLinearRegressionOperator.java</a></p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="step-3-introducing-prediction-operators">Step 3: Introducing Prediction Operators<a href="#step-3-introducing-prediction-operators" class="hash-link" aria-label="Direct link to Step 3: Introducing Prediction Operators" title="Direct link to Step 3: Introducing Prediction Operators" translate="no">​</a></h2>
 <p>Additionally, we created a <code>PredictOperator</code>, a BinaryToUnary Wayang (platform-agnostic) operator which takes as input the data quanta and a model and outputs the data quanta with the predictions output by the model.</p>
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/PredictOperator.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/PredictOperator.java</a></p>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/PredictOperator.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/PredictOperator.java</a></p>
 <p>Then, a concrete platform-specific operator extends from the abstract one. See the <code>SparkPredictOperator</code> for an example:</p>
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkPredictOperator.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkPredictOperator.java</a></p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="deep-learning-models">Deep Learning Models<a href="#deep-learning-models" class="hash-link" aria-label="Direct link to Deep Learning Models" title="Direct link to Deep Learning Models">​</a></h2>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkPredictOperator.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkPredictOperator.java</a></p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="deep-learning-models">Deep Learning Models<a href="#deep-learning-models" class="hash-link" aria-label="Direct link to Deep Learning Models" title="Direct link to Deep Learning Models" translate="no">​</a></h2>
 <p>Unlike traditional machine learning models, the definition of deep learning models is more flexible. Users can combine different blocks (e.g., fully connected blocks, convolutional blocks) to build their desired models. The whole model can be represented as a graph on which the vertices represent blocks and the edges represent connections between blocks. In this case, we built a <code>DLModel</code> class that implements the <code>Model</code> interface, which contains a user-defined, [...]
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model/DLModel.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model/DLModel.java</a></p>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model/DLModel.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model/DLModel.java</a></p>
 <p>For training, we implemented the platform-agnostic <code>DLModelTrainingOperator</code> Wayang operator:</p>
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/DLTrainingOperator.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/DLTrainingOperator.java</a></p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="new-ml-platform----tensorflow-integration">New ML platform -- Tensorflow Integration<a href="#new-ml-platform----tensorflow-integration" class="hash-link" aria-label="Direct link to New ML platform -- Tensorflow Integration" title="Direct link to New ML platform -- Tensorflow Integration">​</a></h2>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/DLTrainingOperator.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/DLTrainingOperator.java</a></p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="new-ml-platform----tensorflow-integration">New ML platform -- Tensorflow Integration<a href="#new-ml-platform----tensorflow-integration" class="hash-link" aria-label="Direct link to New ML platform -- Tensorflow Integration" title="Direct link to New ML platform -- Tensorflow Integration" translate="no">​</a></h2>
 <p>We have added Tensorflow as a new platform by creating a new module (<code>wayang-tensorflow</code>) inside the <code>wayang-platforms</code> parent module and implementing a Tensorflow driver. The TensorflowExecutor driver is responsible for creating and destroying Tensorflow resources, such as a model graph and a model parameter context. When a training task scheduled on Tensorflow, it will be mapped to TensorflowDLModelTrainingOperator. In this process, the <code>DLModel</code> wil [...]
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-tensorflow/src/main/java/org/apache/wayang/tensorflow" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-tensorflow/src/main/java/org/apache/wayang/tensorflow</a></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="acknowledgement">Acknowledgement<a href="#acknowledgement" class="hash-link" aria-label="Direct link to Acknowledgement" title="Direct link to Acknowledgement">​</a></h3>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-tensorflow/src/main/java/org/apache/wayang/tensorflow" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-tensorflow/src/main/java/org/apache/wayang/tensorflow</a></p>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="acknowledgement">Acknowledgement<a href="#acknowledgement" class="hash-link" aria-label="Direct link to Acknowledgement" title="Direct link to Acknowledgement" translate="no">​</a></h3>
 <p>The source code for the support of ML operators and the Tensorflow integration has been contributed by Mingxi Liu.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="follow-wayang">Follow Wayang<a href="#follow-wayang" class="hash-link" aria-label="Direct link to Follow Wayang" title="Direct link to Follow Wayang">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="follow-wayang">Follow Wayang<a href="#follow-wayang" class="hash-link" aria-label="Direct link to Follow Wayang" title="Direct link to Follow Wayang" translate="no">​</a></h3>
 <p>Apache Wayang is in incubation phase and has a potential roadmap of implementations
 coming soon (including the federated learning aspect as well as an SQL interface and a novel
 data debugging functionality). If you want to hear or join the community, consult the link
-<a href="https://wayang.apache.org/community/" target="_blank" rel="noopener noreferrer">https://wayang.apache.org/community/</a> , join the mailing lists, contribute with new ideas,
-write documentation, or fix bugs.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/ml">ML</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/tensorflow">tensorflow</a></li></ul></div></footer></article><article c [...]
+<a href="https://wayang.apache.org/community/" target="_blank" rel="noopener noreferrer" class="">https://wayang.apache.org/community/</a> , join the mailing lists, contribute with new ideas,
+write documentation, or fix bugs.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/ml">ML</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/tensorflow">tensorflow</a></li></ul></div [...]
 detecting early signs of cancer cells. Building an AI requires a lot of data and training to achieve
 the desired results, and federated learning is an approach to make AI training more viable.
 Federated learning (or collaborative learning) is a technique that trains AI models on data
@@ -253,7 +256,7 @@ personal data. One of the significant challenges in working with AI is the varie
 in the market or the open-source community. Each tool provides results in a different form;
 integrating them can be pretty challenging. Let&#x27;s talk about Apache Wayang and
 how it can help to solve this problem.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="apache-wayang-in-the-federated-ai-world">Apache Wayang in the Federated AI world<a href="#apache-wayang-in-the-federated-ai-world" class="hash-link" aria-label="Direct link to Apache Wayang in the Federated AI world" title="Direct link to Apache Wayang in the Federated AI world">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="apache-wayang-in-the-federated-ai-world">Apache Wayang in the Federated AI world<a href="#apache-wayang-in-the-federated-ai-world" class="hash-link" aria-label="Direct link to Apache Wayang in the Federated AI world" title="Direct link to Apache Wayang in the Federated AI world" translate="no">​</a></h2>
 <p>Apache Wayang (Wayang, for short), an Apache Software Foundation top-level project,
 integrates big data platforms and tools by removing the complexity of
 worrying about low-level details. Interestingly, even if it was not designed for, Wayang could
@@ -261,7 +264,7 @@ also serve as a scalable platform for federated learning: the Wayang community i
 work on integrating federated learning capabilities. In a federated learning approach, Wayang
 would allow different local models to be built and exchange its model results across other data
 centers to combine them into a single enhanced model.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="a-real-world-example">A real-world example<a href="#a-real-world-example" class="hash-link" aria-label="Direct link to A real-world example" title="Direct link to A real-world example">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="a-real-world-example">A real-world example<a href="#a-real-world-example" class="hash-link" aria-label="Direct link to A real-world example" title="Direct link to A real-world example" translate="no">​</a></h2>
 <p>Let&#x27;s consider a real-world scenario. Hospitals and health organizations have increased their
 investments in machine/deep learning initiatives to learn more and predict diagnostics.
 However, due to legal frameworks, sharing patients&#x27; information or diagnostics is impossible,
@@ -286,22 +289,22 @@ layer of complexity from the developers by integrating with diverse types of dat
 also brings fast development and reduces the need for a deep understanding of data
 infrastructure or integrations. Developers can focus on the logic and how to execute tasks
 instead of details about data processors.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="follow-wayang">Follow Wayang<a href="#follow-wayang" class="hash-link" aria-label="Direct link to Follow Wayang" title="Direct link to Follow Wayang">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="follow-wayang">Follow Wayang<a href="#follow-wayang" class="hash-link" aria-label="Direct link to Follow Wayang" title="Direct link to Follow Wayang" translate="no">​</a></h3>
 <p>Apache Wayang is a top-level ASF project with a potential roadmap of implementations
 coming soon (including the federated learning aspect as well as an SQL interface and a novel
 data debugging functionality). If you want to hear or join the community, consult the link
-<a href="https://wayang.apache.org/community/" target="_blank" rel="noopener noreferrer">https://wayang.apache.org/community/</a> , join the mailing lists, contribute with new ideas,
+<a href="https://wayang.apache.org/community/" target="_blank" rel="noopener noreferrer" class="">https://wayang.apache.org/community/</a> , join the mailing lists, contribute with new ideas,
 write documentation, or fix bugs.</p>
 <br>
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="thank-you">Thank you!<a href="#thank-you" class="hash-link" aria-label="Direct link to Thank you!" title="Direct link to Thank you!">​</a></h5>
+<h5 class="anchor anchorTargetStickyNavbar_Vzrq" id="thank-you">Thank you!<a href="#thank-you" class="hash-link" aria-label="Direct link to Thank you!" title="Direct link to Thank you!" translate="no">​</a></h5>
 <p>I (Gláucia) want to thank professor Jorge Quiané for the guidance to write this blog post.
-Thanks for incentivate me to join the project and for the knowledge shared. I will always remember you.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/federated">federated</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href [...]
+Thanks for incentivate me to join the project and for the knowledge shared. I will always remember you.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/federated">federated</a></li><li class="tag_QGVx"><a rel="tag" class=" [...]
 important. However, navigating through a multitude of tools and
 languages often is a major inconvenience.
 Apache Wayang&#x27;s upcoming Python API will allow you to seamlessly
 orchestrate data processing tasks without ever leaving the comfort
 of Python, irrespective of the underlying framework written in Java.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="expanding-apache-wayangs-apis">Expanding Apache Wayang&#x27;s APIs<a href="#expanding-apache-wayangs-apis" class="hash-link" aria-label="Direct link to Expanding Apache Wayang&#x27;s APIs" title="Direct link to Expanding Apache Wayang&#x27;s APIs">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="expanding-apache-wayangs-apis">Expanding Apache Wayang&#x27;s APIs<a href="#expanding-apache-wayangs-apis" class="hash-link" aria-label="Direct link to Expanding Apache Wayang&#x27;s APIs" title="Direct link to Expanding Apache Wayang&#x27;s APIs" translate="no">​</a></h2>
 <p>Apache Wayang&#x27;s architecture decouples the process of planning from the
 resulting execution, allowing users to specify platform agnostic plans
 through the provided APIs.</p>
@@ -331,7 +334,7 @@ When receiving a valid JSON plan, the JSON API uses the optimizer to
 construct an execution plan. However, since UDFs are defined in Python
 and thus need to be executed in Python as well, an operators function needs to be
 wrapped into a <code>WrappedPythonFunction</code>:</p>
-<div class="language-scala codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scala codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">val</span><span class="token plain"> mapOperator </span><span cla [...]
+<div class="language-scala codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-scala codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">val</span><span class="token plain"> mapOperator </span><span clas [...]
 <p>This wrapped functional descriptor allows to handle execution of
 UDFs in Python through a socket connection with the <code>pywayang</code> worker.
 Input data is sourced from the platform chosen by the optimizer and Apache
@@ -340,22 +343,22 @@ Wayang handles routing the output data to the next operator.</p>
 <p>A new API in any programming languages would have
 to specify two things:</p>
 <ul>
-<li>A way to create plans that conform to a JSON format specified in the
+<li class="">A way to create plans that conform to a JSON format specified in the
 Wayang JSON API.</li>
-<li>A <code>worker</code> that handles encoding and decoding of user defined
+<li class="">A <code>worker</code> that handles encoding and decoding of user defined
 functions (UDFs), as they need to
 be executed on iterables in their respective language.
 After that, the API can be added as a module in Wayang, so that
 operators will be wrapped and UDFs can be executed in the desired
 programming language.</li>
-</ul></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/python">python</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Pywayang - Apache Wayang&#x27;s Python API" href="/blog/wayang-python-api"><b>Read M [...]
+</ul></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/python">python</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Pywayang - Apache Wayang&#x27;s Python API" href="/blog/wayang-p [...]
 Motivated by the learnings from last time, I stated implementing a Kafka Source component and a Kafka Sink component for the Apache Spark platform in Apache Wayang.
 In our previous article we shared the results of the work on the frist Apache Kafka integration using the Java Platform.</p>
 <p>Let&#x27;s see how it goes this time with Apache Spark.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="the-goal-of-this-implementation">The goal of this implementation<a href="#the-goal-of-this-implementation" class="hash-link" aria-label="Direct link to The goal of this implementation" title="Direct link to The goal of this implementation">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-goal-of-this-implementation">The goal of this implementation<a href="#the-goal-of-this-implementation" class="hash-link" aria-label="Direct link to The goal of this implementation" title="Direct link to The goal of this implementation" translate="no">​</a></h2>
 <p>We want to process data from Apache Kafka topics, which are hosted on Confluent cloud.
 In our example scenario, data is available in multiple different clusters, in different regions and owned by different organizations.
-Each organization uses the <a href="https://docs.confluent.io/cloud/current/stream-sharing/index.html" target="_blank" rel="noopener noreferrer">&quot;stream sharing&quot; feature</a> provided by Confluent cloud.</p>
+Each organization uses the <a href="https://docs.confluent.io/cloud/current/stream-sharing/index.html" target="_blank" rel="noopener noreferrer" class="">&quot;stream sharing&quot; feature</a> provided by Confluent cloud.</p>
 <p>This way, the operator of our central processing job has been granted appropriate permissions. The plaftorm provided the necessary configuration properties, including access coordinates and credentials in the name of the topic owner to us.</p>
 <p>The following illustration has already been introduced in part one of the blog series, but for clarity we repeat it here.</p>
 <p><img decoding="async" loading="lazy" alt="images/image-1.png" src="/assets/images/image-1-9cc35d5aea2b867d7e5759a96bd02334.png" width="904" height="550" class="img_ev3q"></p>
@@ -364,11 +367,11 @@ Each source allows us to read the data from that particular topic so that we can
 In this example it is a public processing context, in which data from multiple private processing contexts are used together.</p>
 <p>This use case is already prepared for high processing loads We can utilize the scalability capabilities of Apache Spark or simply use a Java program for initial tests of the solution. Switching between both is done in one line of code in Apache Wayang.</p>
 <p>Again, we start with a <strong>WayangContext</strong>, as shown by examples in the Wayang code repository.</p>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">WayangContext wayangContext = new WayangContext().with(Spark.basicPlugin());</span><br></span></code></pr [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">WayangContext wayangContext = new WayangContext().with(Spark.basicPlugin());</span><br></div [...]
 <p>We simply switched the backend system towards Apache Spark by using the <em>WayangContext</em> with <em>Spark.basicPlugin()</em>.
 The <strong>JavaPlanBuilder</strong> and all other logic of our example job won&#x27;t be touched.</p>
 <p>In order to make this working we will now implement the Mappings and the Operators for the Apache Spark platform module.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="implementation-of-input--and-output-operators">Implementation of Input- and Output Operators<a href="#implementation-of-input--and-output-operators" class="hash-link" aria-label="Direct link to Implementation of Input- and Output Operators" title="Direct link to Implementation of Input- and Output Operators">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="implementation-of-input--and-output-operators">Implementation of Input- and Output Operators<a href="#implementation-of-input--and-output-operators" class="hash-link" aria-label="Direct link to Implementation of Input- and Output Operators" title="Direct link to Implementation of Input- and Output Operators" translate="no">​</a></h2>
 <p>We reuse the Kafka Source and Kafka Sink components which have been created for the JavaKafkaSource and JavaKafkaSink.
 Hence we work with Wayang&#x27;s Java API.</p>
 <p><strong>Level 1 – Wayang execution plan with abstract operators</strong></p>
@@ -407,34 +410,34 @@ Those were made specifically for a simple non parallel Java program, using one C
 <p>The selected approach does not yet fully take advantage from Spark&#x27;s parallelism at load time.
 For higher loads and especially for streaming processing we would have to investigate another approache, using a <em>SparkStreamingContext</em>, but this is out of scope for now.</p>
 <p>Since we can&#x27;t reuse the <em>JavaKafkaTopicSource</em> and <em>JavaKafkaTopicSink</em> we rather implement <em>SparkKafkaTopicSource</em> and <em>SparkKafkaTopicSink</em> based on given <em>SparkTextFileSource</em> and <em>SparkTextFileSink</em> which both cary all needed RDD specific logic.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="summary">Summary<a href="#summary" class="hash-link" aria-label="Direct link to Summary" title="Direct link to Summary">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="summary">Summary<a href="#summary" class="hash-link" aria-label="Direct link to Summary" title="Direct link to Summary" translate="no">​</a></h2>
 <p>As expected, the integration of Apache Spark with Apache Wayang was no magic, thanks to a fluent API design and a well structured architecture of Apache Wayang.
 We could easily follow the pattern we have worked out in the previous exercise.</p>
 <p>But a bunch of much more interesting work will follow next.
 More testing, more serialization schemes, and Kafka Schema Registry support should follow, and full parallelization as well.</p>
 <p>The code has been submitted to the Apache Wayang repository.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="outlook">Outlook<a href="#outlook" class="hash-link" aria-label="Direct link to Outlook" title="Direct link to Outlook">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="outlook">Outlook<a href="#outlook" class="hash-link" aria-label="Direct link to Outlook" title="Direct link to Outlook" translate="no">​</a></h2>
 <p>The next part of the article series will cover the real world example as described in image 1.
 We will show how analysts and developers can use the Apache Kafka integration for Apache Wayang to solve cross organizational collaboration issues.
-Therefore, we will bring all puzzles together, and show the full implementation of the multi organizational data collaboration use case.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/kafka">kafka</a></li><li class="tag_QGVx"><a class="tag_z [...]
+Therefore, we will bring all puzzles together, and show the full implementation of the multi organizational data collaboration use case.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/kafka">kafka</a></li><li class="tag_Q [...]
 We look into the “Read- and Write-Path” for our data items, called <em>DataQuanta</em>.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="apache-wayangs-read--write-path-for-kafka-topics">Apache Wayang’s Read &amp; Write Path for Kafka topics<a href="#apache-wayangs-read--write-path-for-kafka-topics" class="hash-link" aria-label="Direct link to Apache Wayang’s Read &amp; Write Path for Kafka topics" title="Direct link to Apache Wayang’s Read &amp; Write Path for Kafka topics">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="apache-wayangs-read--write-path-for-kafka-topics">Apache Wayang’s Read &amp; Write Path for Kafka topics<a href="#apache-wayangs-read--write-path-for-kafka-topics" class="hash-link" aria-label="Direct link to Apache Wayang’s Read &amp; Write Path for Kafka topics" title="Direct link to Apache Wayang’s Read &amp; Write Path for Kafka topics" translate="no">​</a></h2>
 <p>To describe the read and write paths for data in the context of the created Apache Wayang code snippet, the primary classes and interfaces we need to understand are as follows:</p>
 <p><strong>WayangContext:</strong> This class is essential for initializing the Wayang processing environment.
 It allows you to configure the execution environment and register plugins that define which platforms Wayang can use for data processing tasks, such as <em>Java.basicPlugin()</em> for local Java execution.</p>
 <p><strong>JavaPlanBuilder:</strong> This class is used to build and define the data processing pipeline (or plan) in Wayang.
 It provides a fluent API to specify the operations to be performed on the data, from reading the input to processing it and writing the output.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="read-path">Read Path<a href="#read-path" class="hash-link" aria-label="Direct link to Read Path" title="Direct link to Read Path">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="read-path">Read Path<a href="#read-path" class="hash-link" aria-label="Direct link to Read Path" title="Direct link to Read Path" translate="no">​</a></h3>
 <p>The read path describes how data is ingested from a source into the Wayang processing pipeline:</p>
 <p><em>Reading from Kafka Topic:</em> The method <em>readKafkaTopic(topicName)</em> is used to ingest data from a specified Kafka topic.
 This is the starting point of the data processing pipeline, where topicName represents the name of the Kafka topic from which data is read.</p>
 <p><em>Data Tokenization and Preparation:</em> Once the data is read from Kafka, it undergoes several transformations such as Splitting, Filtering, and Mapping.
 What follows are the procedures known as Reducing, Grouping, Co-Grouping, and Counting.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="write-path">Write Path<a href="#write-path" class="hash-link" aria-label="Direct link to Write Path" title="Direct link to Write Path">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="write-path">Write Path<a href="#write-path" class="hash-link" aria-label="Direct link to Write Path" title="Direct link to Write Path" translate="no">​</a></h3>
 <p><em>Writing to Kafka Topic:</em> The final step in the pipeline involves writing the processed data back to a Kafka topic using <em>.writeKafkaTopic(...)</em>.
 This method takes parameters that specify the target Kafka topic, a serialization function to format the data as strings, and additional configuration for load profile estimation, which optimizes the writing process.</p>
 <p>This read-write path provides a comprehensive flow of data from ingestion from Kafka, through various processing steps, and finally back to Kafka, showcasing a full cycle of data processing within Apache Wayang&#x27;s abstracted environment and is implemented in our example program shown in <em>listing 1</em>.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="implementation-of-input--and-output-operators">Implementation of Input- and Output Operators<a href="#implementation-of-input--and-output-operators" class="hash-link" aria-label="Direct link to Implementation of Input- and Output Operators" title="Direct link to Implementation of Input- and Output Operators">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="implementation-of-input--and-output-operators">Implementation of Input- and Output Operators<a href="#implementation-of-input--and-output-operators" class="hash-link" aria-label="Direct link to Implementation of Input- and Output Operators" title="Direct link to Implementation of Input- and Output Operators" translate="no">​</a></h2>
 <p>The next section shows how a new pair of operators can be implemented to extend Apache Wayang’s capabilities on the input and output side.
 We created the Kafka Source and Kafka Sink components so that our cross organizational data collaboration scenario can be implemented using data streaming infrastructure.</p>
 <p><strong>Level 1 – Wayang execution plan with abstract operators</strong></p>
@@ -467,13 +470,13 @@ All this is done in the project <em>wayang-plarforms/wayang-java</em>.</p>
 Both are implemented in Java programming language.
 In this layer, the real Kafka-Client logic is defined.
 Details about consumer and producers, client configuration, and schema handling have to be handled here.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="summary">Summary<a href="#summary" class="hash-link" aria-label="Direct link to Summary" title="Direct link to Summary">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="summary">Summary<a href="#summary" class="hash-link" aria-label="Direct link to Summary" title="Direct link to Summary" translate="no">​</a></h2>
 <p>Both classes in the third layer implement the Kafka client logic which is needed by the Wayang-execution plan when external data flows should be established.
 The layer above handles the mapping of the components at startup time.
 All this wiring is needed to keep Wayang open and flexible so that multiple external systems can be used in a variety of combinations and using multiple target platforms in combinations.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="outlook">Outlook<a href="#outlook" class="hash-link" aria-label="Direct link to Outlook" title="Direct link to Outlook">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="outlook">Outlook<a href="#outlook" class="hash-link" aria-label="Direct link to Outlook" title="Direct link to Outlook" translate="no">​</a></h2>
 <p>The next part of the article series will cover the creation of an Kafka Source and Sink component for the Apache Spark platform, which allows our use case to scale.
-Finally, in part four we bring all puzzles together, and show the full implementation of the multi organizational data collaboration use case.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/kafka">kafka</a></li><li class="tag_QGVx"><a class= [...]
+Finally, in part four we bring all puzzles together, and show the full implementation of the multi organizational data collaboration use case.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/kafka">kafka</a></li><li class= [...]
 <p>This article is the first of a four part series about federated data analysis using Apache Wayang.
 The first article starts with an introduction of a typical data colaboration scenario which will emerge in our digital future.</p>
 <p>In part two and three we will share a summary of our Apache Kafka client implementation for Apache Wayang.
@@ -486,7 +489,7 @@ This reduces complexity of data management and cost dramatically.</p>
 <p>For this purpose, we illustrate a cross organizational data sharing scenario from the finance sector soon.
 This analysis pattern will also be relevant in the context of data analysis along supply chains, another typical example where data from many stakeholder together is needed but never managed in one place, for good reasons.</p>
 <p>Data federation can help us to unlock the hidden value of all those isolated data lakes.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="a-cross-organizational-data-sharing-scenario">A cross organizational data sharing scenario<a href="#a-cross-organizational-data-sharing-scenario" class="hash-link" aria-label="Direct link to A cross organizational data sharing scenario" title="Direct link to A cross organizational data sharing scenario">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="a-cross-organizational-data-sharing-scenario">A cross organizational data sharing scenario<a href="#a-cross-organizational-data-sharing-scenario" class="hash-link" aria-label="Direct link to A cross organizational data sharing scenario" title="Direct link to A cross organizational data sharing scenario" translate="no">​</a></h2>
 <p>Our goal is the implementation of a cross organization decentralized data processing scenario, in which protected local data should be processed in combination with public data from public sources in a collaborative manner.
 Instead of copying all data into a central data lake or a central data platform we decided to use federated analytics.
 Apache Wayang is the tool we work with.
@@ -516,7 +519,7 @@ Since as of today, there is now <em>KafkaSource</em> and <em>KafkaSink</em> avai
 Our assumption is, that in the beginning, there won’t be much data.</p>
 <p>Apache Spark is not required to cope with the load, but we expect, that in the future, a single Java application would not be able to handle our workload.
 Hence, we want to utilize the Apache Wayang abstraction over multiple processing platforms, starting with Java.
-Later, we want to switch to Apache Spark.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/kafka">kafka</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/cross-organization-data-collaboration">cross organization [...]
+Later, we want to switch to Apache Spark.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/kafka">kafka</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/cross-organization-data-col [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/blog/kafka-meets-wayang-1/index.html b/blog/kafka-meets-wayang-1/index.html
index f00a1507..711fec5a 100644
--- a/blog/kafka-meets-wayang-1/index.html
+++ b/blog/kafka-meets-wayang-1/index.html
@@ -2,14 +2,17 @@
 <html lang="en" dir="ltr" class="blog-wrapper blog-post-page plugin-blog plugin-id-default" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
-<title data-rh="true">Apache Kafka meets Wayang - Part 1 | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/blog/kafka-meets-wayang-1"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag"  [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<meta name="generator" content="Docusaurus v3.10.1">
+<title data-rh="true">Apache Kafka meets Wayang - Part 1 | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/blog/kafka-meets-wayang-1"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag"  [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
 <p>This article is the first of a four part series about federated data analysis using Apache Wayang.
 The first article starts with an introduction of a typical data colaboration scenario which will emerge in our digital future.</p>
 <p>In part two and three we will share a summary of our Apache Kafka client implementation for Apache Wayang.
@@ -22,7 +25,7 @@ This reduces complexity of data management and cost dramatically.</p>
 <p>For this purpose, we illustrate a cross organizational data sharing scenario from the finance sector soon.
 This analysis pattern will also be relevant in the context of data analysis along supply chains, another typical example where data from many stakeholder together is needed but never managed in one place, for good reasons.</p>
 <p>Data federation can help us to unlock the hidden value of all those isolated data lakes.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="a-cross-organizational-data-sharing-scenario">A cross organizational data sharing scenario<a href="#a-cross-organizational-data-sharing-scenario" class="hash-link" aria-label="Direct link to A cross organizational data sharing scenario" title="Direct link to A cross organizational data sharing scenario">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="a-cross-organizational-data-sharing-scenario">A cross organizational data sharing scenario<a href="#a-cross-organizational-data-sharing-scenario" class="hash-link" aria-label="Direct link to A cross organizational data sharing scenario" title="Direct link to A cross organizational data sharing scenario" translate="no">​</a></h2>
 <p>Our goal is the implementation of a cross organization decentralized data processing scenario, in which protected local data should be processed in combination with public data from public sources in a collaborative manner.
 Instead of copying all data into a central data lake or a central data platform we decided to use federated analytics.
 Apache Wayang is the tool we work with.
@@ -52,7 +55,7 @@ Since as of today, there is now <em>KafkaSource</em> and <em>KafkaSink</em> avai
 Our assumption is, that in the beginning, there won’t be much data.</p>
 <p>Apache Spark is not required to cope with the load, but we expect, that in the future, a single Java application would not be able to handle our workload.
 Hence, we want to utilize the Apache Wayang abstraction over multiple processing platforms, starting with Java.
-Later, we want to switch to Apache Spark.</p></div><footer class="row docusaurus-mt-lg blogPostFooterDetailsFull_mRVl"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/kafka">kafka</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/cross-organization-data-co [...]
+Later, we want to switch to Apache Spark.</p></div><footer class="docusaurus-mt-lg"><div class="row margin-top--sm theme-blog-footer-edit-meta-row"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/kafka">kafka</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej t [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/blog/kafka-meets-wayang-2/index.html b/blog/kafka-meets-wayang-2/index.html
index 566a9b9a..767eb286 100644
--- a/blog/kafka-meets-wayang-2/index.html
+++ b/blog/kafka-meets-wayang-2/index.html
@@ -2,32 +2,35 @@
 <html lang="en" dir="ltr" class="blog-wrapper blog-post-page plugin-blog plugin-id-default" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
-<title data-rh="true">Apache Kafka meets Wayang - Part 2 | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/blog/kafka-meets-wayang-2"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag"  [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<meta name="generator" content="Docusaurus v3.10.1">
+<title data-rh="true">Apache Kafka meets Wayang - Part 2 | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/blog/kafka-meets-wayang-2"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag"  [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
 We look into the “Read- and Write-Path” for our data items, called <em>DataQuanta</em>.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="apache-wayangs-read--write-path-for-kafka-topics">Apache Wayang’s Read &amp; Write Path for Kafka topics<a href="#apache-wayangs-read--write-path-for-kafka-topics" class="hash-link" aria-label="Direct link to Apache Wayang’s Read &amp; Write Path for Kafka topics" title="Direct link to Apache Wayang’s Read &amp; Write Path for Kafka topics">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="apache-wayangs-read--write-path-for-kafka-topics">Apache Wayang’s Read &amp; Write Path for Kafka topics<a href="#apache-wayangs-read--write-path-for-kafka-topics" class="hash-link" aria-label="Direct link to Apache Wayang’s Read &amp; Write Path for Kafka topics" title="Direct link to Apache Wayang’s Read &amp; Write Path for Kafka topics" translate="no">​</a></h2>
 <p>To describe the read and write paths for data in the context of the created Apache Wayang code snippet, the primary classes and interfaces we need to understand are as follows:</p>
 <p><strong>WayangContext:</strong> This class is essential for initializing the Wayang processing environment.
 It allows you to configure the execution environment and register plugins that define which platforms Wayang can use for data processing tasks, such as <em>Java.basicPlugin()</em> for local Java execution.</p>
 <p><strong>JavaPlanBuilder:</strong> This class is used to build and define the data processing pipeline (or plan) in Wayang.
 It provides a fluent API to specify the operations to be performed on the data, from reading the input to processing it and writing the output.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="read-path">Read Path<a href="#read-path" class="hash-link" aria-label="Direct link to Read Path" title="Direct link to Read Path">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="read-path">Read Path<a href="#read-path" class="hash-link" aria-label="Direct link to Read Path" title="Direct link to Read Path" translate="no">​</a></h3>
 <p>The read path describes how data is ingested from a source into the Wayang processing pipeline:</p>
 <p><em>Reading from Kafka Topic:</em> The method <em>readKafkaTopic(topicName)</em> is used to ingest data from a specified Kafka topic.
 This is the starting point of the data processing pipeline, where topicName represents the name of the Kafka topic from which data is read.</p>
 <p><em>Data Tokenization and Preparation:</em> Once the data is read from Kafka, it undergoes several transformations such as Splitting, Filtering, and Mapping.
 What follows are the procedures known as Reducing, Grouping, Co-Grouping, and Counting.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="write-path">Write Path<a href="#write-path" class="hash-link" aria-label="Direct link to Write Path" title="Direct link to Write Path">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="write-path">Write Path<a href="#write-path" class="hash-link" aria-label="Direct link to Write Path" title="Direct link to Write Path" translate="no">​</a></h3>
 <p><em>Writing to Kafka Topic:</em> The final step in the pipeline involves writing the processed data back to a Kafka topic using <em>.writeKafkaTopic(...)</em>.
 This method takes parameters that specify the target Kafka topic, a serialization function to format the data as strings, and additional configuration for load profile estimation, which optimizes the writing process.</p>
 <p>This read-write path provides a comprehensive flow of data from ingestion from Kafka, through various processing steps, and finally back to Kafka, showcasing a full cycle of data processing within Apache Wayang&#x27;s abstracted environment and is implemented in our example program shown in <em>listing 1</em>.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="implementation-of-input--and-output-operators">Implementation of Input- and Output Operators<a href="#implementation-of-input--and-output-operators" class="hash-link" aria-label="Direct link to Implementation of Input- and Output Operators" title="Direct link to Implementation of Input- and Output Operators">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="implementation-of-input--and-output-operators">Implementation of Input- and Output Operators<a href="#implementation-of-input--and-output-operators" class="hash-link" aria-label="Direct link to Implementation of Input- and Output Operators" title="Direct link to Implementation of Input- and Output Operators" translate="no">​</a></h2>
 <p>The next section shows how a new pair of operators can be implemented to extend Apache Wayang’s capabilities on the input and output side.
 We created the Kafka Source and Kafka Sink components so that our cross organizational data collaboration scenario can be implemented using data streaming infrastructure.</p>
 <p><strong>Level 1 – Wayang execution plan with abstract operators</strong></p>
@@ -60,13 +63,13 @@ All this is done in the project <em>wayang-plarforms/wayang-java</em>.</p>
 Both are implemented in Java programming language.
 In this layer, the real Kafka-Client logic is defined.
 Details about consumer and producers, client configuration, and schema handling have to be handled here.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="summary">Summary<a href="#summary" class="hash-link" aria-label="Direct link to Summary" title="Direct link to Summary">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="summary">Summary<a href="#summary" class="hash-link" aria-label="Direct link to Summary" title="Direct link to Summary" translate="no">​</a></h2>
 <p>Both classes in the third layer implement the Kafka client logic which is needed by the Wayang-execution plan when external data flows should be established.
 The layer above handles the mapping of the components at startup time.
 All this wiring is needed to keep Wayang open and flexible so that multiple external systems can be used in a variety of combinations and using multiple target platforms in combinations.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="outlook">Outlook<a href="#outlook" class="hash-link" aria-label="Direct link to Outlook" title="Direct link to Outlook">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="outlook">Outlook<a href="#outlook" class="hash-link" aria-label="Direct link to Outlook" title="Direct link to Outlook" translate="no">​</a></h2>
 <p>The next part of the article series will cover the creation of an Kafka Source and Sink component for the Apache Spark platform, which allows our use case to scale.
-Finally, in part four we bring all puzzles together, and show the full implementation of the multi organizational data collaboration use case.</p></div><footer class="row docusaurus-mt-lg blogPostFooterDetailsFull_mRVl"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/kafka">kafka</a></li [...]
+Finally, in part four we bring all puzzles together, and show the full implementation of the multi organizational data collaboration use case.</p></div><footer class="docusaurus-mt-lg"><div class="row margin-top--sm theme-blog-footer-edit-meta-row"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRe [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/blog/kafka-meets-wayang-3/index.html b/blog/kafka-meets-wayang-3/index.html
index f93860ab..b3e85bae 100644
--- a/blog/kafka-meets-wayang-3/index.html
+++ b/blog/kafka-meets-wayang-3/index.html
@@ -2,21 +2,24 @@
 <html lang="en" dir="ltr" class="blog-wrapper blog-post-page plugin-blog plugin-id-default" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
-<title data-rh="true">Apache Kafka meets Wayang - Part 3 | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/blog/kafka-meets-wayang-3"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag"  [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<meta name="generator" content="Docusaurus v3.10.1">
+<title data-rh="true">Apache Kafka meets Wayang - Part 3 | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/blog/kafka-meets-wayang-3"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag"  [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
 Motivated by the learnings from last time, I stated implementing a Kafka Source component and a Kafka Sink component for the Apache Spark platform in Apache Wayang.
 In our previous article we shared the results of the work on the frist Apache Kafka integration using the Java Platform.</p>
 <p>Let&#x27;s see how it goes this time with Apache Spark.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="the-goal-of-this-implementation">The goal of this implementation<a href="#the-goal-of-this-implementation" class="hash-link" aria-label="Direct link to The goal of this implementation" title="Direct link to The goal of this implementation">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-goal-of-this-implementation">The goal of this implementation<a href="#the-goal-of-this-implementation" class="hash-link" aria-label="Direct link to The goal of this implementation" title="Direct link to The goal of this implementation" translate="no">​</a></h2>
 <p>We want to process data from Apache Kafka topics, which are hosted on Confluent cloud.
 In our example scenario, data is available in multiple different clusters, in different regions and owned by different organizations.
-Each organization uses the <a href="https://docs.confluent.io/cloud/current/stream-sharing/index.html" target="_blank" rel="noopener noreferrer">&quot;stream sharing&quot; feature</a> provided by Confluent cloud.</p>
+Each organization uses the <a href="https://docs.confluent.io/cloud/current/stream-sharing/index.html" target="_blank" rel="noopener noreferrer" class="">&quot;stream sharing&quot; feature</a> provided by Confluent cloud.</p>
 <p>This way, the operator of our central processing job has been granted appropriate permissions. The plaftorm provided the necessary configuration properties, including access coordinates and credentials in the name of the topic owner to us.</p>
 <p>The following illustration has already been introduced in part one of the blog series, but for clarity we repeat it here.</p>
 <p><img decoding="async" loading="lazy" alt="images/image-1.png" src="/assets/images/image-1-9cc35d5aea2b867d7e5759a96bd02334.png" width="904" height="550" class="img_ev3q"></p>
@@ -25,11 +28,11 @@ Each source allows us to read the data from that particular topic so that we can
 In this example it is a public processing context, in which data from multiple private processing contexts are used together.</p>
 <p>This use case is already prepared for high processing loads We can utilize the scalability capabilities of Apache Spark or simply use a Java program for initial tests of the solution. Switching between both is done in one line of code in Apache Wayang.</p>
 <p>Again, we start with a <strong>WayangContext</strong>, as shown by examples in the Wayang code repository.</p>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">WayangContext wayangContext = new WayangContext().with(Spark.basicPlugin());</span><br></span></code></pr [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">WayangContext wayangContext = new WayangContext().with(Spark.basicPlugin());</span><br></div [...]
 <p>We simply switched the backend system towards Apache Spark by using the <em>WayangContext</em> with <em>Spark.basicPlugin()</em>.
 The <strong>JavaPlanBuilder</strong> and all other logic of our example job won&#x27;t be touched.</p>
 <p>In order to make this working we will now implement the Mappings and the Operators for the Apache Spark platform module.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="implementation-of-input--and-output-operators">Implementation of Input- and Output Operators<a href="#implementation-of-input--and-output-operators" class="hash-link" aria-label="Direct link to Implementation of Input- and Output Operators" title="Direct link to Implementation of Input- and Output Operators">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="implementation-of-input--and-output-operators">Implementation of Input- and Output Operators<a href="#implementation-of-input--and-output-operators" class="hash-link" aria-label="Direct link to Implementation of Input- and Output Operators" title="Direct link to Implementation of Input- and Output Operators" translate="no">​</a></h2>
 <p>We reuse the Kafka Source and Kafka Sink components which have been created for the JavaKafkaSource and JavaKafkaSink.
 Hence we work with Wayang&#x27;s Java API.</p>
 <p><strong>Level 1 – Wayang execution plan with abstract operators</strong></p>
@@ -68,16 +71,16 @@ Those were made specifically for a simple non parallel Java program, using one C
 <p>The selected approach does not yet fully take advantage from Spark&#x27;s parallelism at load time.
 For higher loads and especially for streaming processing we would have to investigate another approache, using a <em>SparkStreamingContext</em>, but this is out of scope for now.</p>
 <p>Since we can&#x27;t reuse the <em>JavaKafkaTopicSource</em> and <em>JavaKafkaTopicSink</em> we rather implement <em>SparkKafkaTopicSource</em> and <em>SparkKafkaTopicSink</em> based on given <em>SparkTextFileSource</em> and <em>SparkTextFileSink</em> which both cary all needed RDD specific logic.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="summary">Summary<a href="#summary" class="hash-link" aria-label="Direct link to Summary" title="Direct link to Summary">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="summary">Summary<a href="#summary" class="hash-link" aria-label="Direct link to Summary" title="Direct link to Summary" translate="no">​</a></h2>
 <p>As expected, the integration of Apache Spark with Apache Wayang was no magic, thanks to a fluent API design and a well structured architecture of Apache Wayang.
 We could easily follow the pattern we have worked out in the previous exercise.</p>
 <p>But a bunch of much more interesting work will follow next.
 More testing, more serialization schemes, and Kafka Schema Registry support should follow, and full parallelization as well.</p>
 <p>The code has been submitted to the Apache Wayang repository.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="outlook">Outlook<a href="#outlook" class="hash-link" aria-label="Direct link to Outlook" title="Direct link to Outlook">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="outlook">Outlook<a href="#outlook" class="hash-link" aria-label="Direct link to Outlook" title="Direct link to Outlook" translate="no">​</a></h2>
 <p>The next part of the article series will cover the real world example as described in image 1.
 We will show how analysts and developers can use the Apache Kafka integration for Apache Wayang to solve cross organizational collaboration issues.
-Therefore, we will bring all puzzles together, and show the full implementation of the multi organizational data collaboration use case.</p></div><footer class="row docusaurus-mt-lg blogPostFooterDetailsFull_mRVl"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/kafka">kafka</a></li><li c [...]
+Therefore, we will bring all puzzles together, and show the full implementation of the multi organizational data collaboration use case.</p></div><footer class="docusaurus-mt-lg"><div class="row margin-top--sm theme-blog-footer-edit-meta-row"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_ [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/blog/page/2/index.html b/blog/page/2/index.html
index 124bb4d1..8faacbb6 100644
--- a/blog/page/2/index.html
+++ b/blog/page/2/index.html
@@ -2,14 +2,17 @@
 <html lang="en" dir="ltr" class="blog-wrapper blog-list-page plugin-blog plugin-id-default" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
-<title data-rh="true">Blog | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/blog/page/2"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" proper [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<meta name="generator" content="Docusaurus v3.10.1">
+<title data-rh="true">Blog | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/blog/page/2"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" proper [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/blog/rss.xml b/blog/rss.xml
index 418936ab..59f2203e 100644
--- a/blog/rss.xml
+++ b/blog/rss.xml
@@ -16,49 +16,49 @@
             <description><![CDATA[Apache Wayang already enables a large variety of data processing workflows, ranging from basic data retrieval and filtering to complex ML tasks. However, there are additional areas that could benefit from its platform flexibility. As part of a university project, we implemented spatial operators in Apache Wayang. This enables the execution of workflows using geospatial data, including spatial join and filter operations. Since execution times can differ s [...]
             <content:encoded><![CDATA[<p>Apache Wayang already enables a large variety of data processing workflows, ranging from basic data retrieval and filtering to complex ML tasks. However, there are additional areas that could benefit from its platform flexibility. As part of a university project, we implemented spatial operators in Apache Wayang. This enables the execution of workflows using geospatial data, including spatial join and filter operations. Since execution times can d [...]
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="implementation">Implementation<a href="https://wayang.apache.org/blog/spatial-wayang#implementation" class="hash-link" aria-label="Direct link to Implementation" title="Direct link to Implementation">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="implementation">Implementation<a href="https://wayang.apache.org/blog/spatial-wayang#implementation" class="hash-link" aria-label="Direct link to Implementation" title="Direct link to Implementation" translate="no">​</a></h2>
 <p>Workflows including spatial operators are not the main task in Apache Wayang. Therefore, we chose to add spatial support as a plugin that can be enabled separately.</p>
 <p>The two new operators we added are SpatialFilter and SpatialJoin, since many spatial workflows primarily rely on these two operations.</p>
 <p>To support multiple data sources and geometry formats, we introduced an internal geometry representation, SpatialGeometry, that enables translation between formats. This allows geometries stored as WKT, WKB, and GeoJSON to be read and, if necessary, converted to the type expected by the consuming operator.</p>
 <p>For the execution of spatial jobs, we currently support Java, PostgreSQL, and Spark as backends. The Spark implementation uses Apache Sedona, a well-established library for distributed processing of spatial data. The Java implementation is based on JTS, and the PostgreSQL platform uses PostGIS for spatial operations.</p>
-<div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token class-name">WayangContext</span><span class="token plain"> wayangContext </span><span class="token [...]
+<div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token class-name">WayangContext</span><span class="token plain"> wayangContext </span><span class="token  [...]
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="why-spatial-is-a-plugin-not-a-platform">Why Spatial Is a Plugin, Not a Platform<a href="https://wayang.apache.org/blog/spatial-wayang#why-spatial-is-a-plugin-not-a-platform" class="hash-link" aria-label="Direct link to Why Spatial Is a Plugin, Not a Platform" title="Direct link to Why Spatial Is a Plugin, Not a Platform">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="why-spatial-is-a-plugin-not-a-platform">Why Spatial Is a Plugin, Not a Platform<a href="https://wayang.apache.org/blog/spatial-wayang#why-spatial-is-a-plugin-not-a-platform" class="hash-link" aria-label="Direct link to Why Spatial Is a Plugin, Not a Platform" title="Direct link to Why Spatial Is a Plugin, Not a Platform" translate="no">​</a></h2>
 <p>In the current Wayang architecture, a platform is responsible for runtime ownership: it defines a Platform implementation, provides an executor factory, defines channel conversions, and integrates cost models. This can be seen clearly in modules such as Java (JavaPlatform + JavaExecutor) and PostgreSQL (PostgresPlatform via JdbcPlatformTemplate + JdbcExecutor).</p>
 <p>The spatial extension is intentionally different. It does not introduce a new Platform subclass and does not provide its own executor. Instead, wayang-spatial is implemented as a plugin (Spatial.java) that contributes operators, mappings for those operators, and specifies required platforms.</p>
 <p>The logical spatial operators (<code>SpatialFilterOperator</code>, <code>SpatialJoinOperator</code>, <code>GeoJsonFileSource</code>) still live in <code>wayang-basic</code> and are included in the Java-Scala API. The spatial plugin extends the system by adding platform-specific execution operators and transformation rules that map Wayang operators to their platform implementations.</p>
 <p>At registration time, <code>WayangContext.withPlugin(...)</code> calls <code>plugin.configure(configuration)</code>. This whitelists the required platforms and spatial mappings. During optimization, mappings such as <code>SpatialFilterMapping</code> and <code>SpatialJoinMapping</code> rewrite logical operators into execution operators such as:</p>
 <ul>
-<li><code>JavaSpatialFilterOperator</code> / <code>JavaSpatialJoinOperator</code></li>
-<li><code>SparkSpatialFilterOperator</code> / <code>SparkSpatialJoinOperator</code></li>
-<li><code>PostgresSpatialFilterOperator</code> / <code>PostgresSpatialJoinOperator</code></li>
+<li class=""><code>JavaSpatialFilterOperator</code> / <code>JavaSpatialJoinOperator</code></li>
+<li class=""><code>SparkSpatialFilterOperator</code> / <code>SparkSpatialJoinOperator</code></li>
+<li class=""><code>PostgresSpatialFilterOperator</code> / <code>PostgresSpatialJoinOperator</code></li>
 </ul>
 <p>Execution is then handled by the existing platform runtimes:</p>
 <ul>
-<li>Java operators are executed by <code>JavaExecutor</code></li>
-<li>Spark operators are executed by <code>SparkExecutor</code></li>
-<li>PostgreSQL operators are executed through the JDBC runtime (<code>JdbcExecutor</code>)</li>
+<li class="">Java operators are executed by <code>JavaExecutor</code></li>
+<li class="">Spark operators are executed by <code>SparkExecutor</code></li>
+<li class="">PostgreSQL operators are executed through the JDBC runtime (<code>JdbcExecutor</code>)</li>
 </ul>
 <p>In practice, this is why applications have to register both a platform plugin (for general operators and channels) and a spatial plugin (for spatial mappings), for example <code>Java.basicPlugin()</code> + <code>Spatial.javaPlugin()</code> or <code>Spark.basicPlugin()</code> + <code>Spatial.sparkPlugin()</code>.</p>
 <p>This design provides three concrete advantages:</p>
 <ul>
-<li>No duplicate runtime stack, since executors, channels, and cost models remain centralized in the platforms</li>
-<li>Clean multi-platform support for the same spatial semantics</li>
-<li>Lower maintenance overhead, because spatial development efforts can focus on operator logic and mappings rather than recreating infrastructure</li>
+<li class="">No duplicate runtime stack, since executors, channels, and cost models remain centralized in the platforms</li>
+<li class="">Clean multi-platform support for the same spatial semantics</li>
+<li class="">Lower maintenance overhead, because spatial development efforts can focus on operator logic and mappings rather than recreating infrastructure</li>
 </ul>
 <p>Spatial support in Wayang is therefore best understood as a cross-platform capability extension: it contributes spatial semantics and translation, while execution remains fully owned by the underlying platforms.</p>
 <div style="text-align:center"><img width="90%" alt="wayang-spatial architecture" src="https://wayang.apache.org/img/architecture/wayang-spatial-architecture.png"></div>
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="benchmarks">Benchmarks<a href="https://wayang.apache.org/blog/spatial-wayang#benchmarks" class="hash-link" aria-label="Direct link to Benchmarks" title="Direct link to Benchmarks">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="benchmarks">Benchmarks<a href="https://wayang.apache.org/blog/spatial-wayang#benchmarks" class="hash-link" aria-label="Direct link to Benchmarks" title="Direct link to Benchmarks" translate="no">​</a></h2>
 <p>Below we show scenarios where it is advantageous to be able to freely choose the execution depending on the use case. The following benchmarks are not intended to be exhaustive tests of our new operators but rather to highlight how using the platform independence of Apache Wayang can speed up spatial jobs. We executed the benchmarks on an HPC cluster with reproducible Spark cluster configurations.</p>
 <div style="text-align:center"><img width="75%" alt="Spatial benchmark 1" src="https://wayang.apache.org/img/benchmarks/spatial-bench1.png"></div>
 <ul>
-<li><strong>Job 1:</strong> Spatial Join of parks (~44k) and lakes (~140k) in Germany with spatial predicate CONTAINS, no index on Postgres tables, Spark cluster with 4 nodes</li>
-<li><strong>Job 2:</strong> Spatial Join of parks (~44k) and lakes (~140k) in Germany with spatial predicate CONTAINS, spatial index on Postgres tables, Spark cluster with 4 nodes</li>
-<li><strong>Job 3:</strong> Spatial Join of two synthetic datasets containing boxes (100k and 1M) with spatial predicate INTERSECTS, spatial index on Postgres tables, Spark cluster with 8 nodes</li>
+<li class=""><strong>Job 1:</strong> Spatial Join of parks (~44k) and lakes (~140k) in Germany with spatial predicate CONTAINS, no index on Postgres tables, Spark cluster with 4 nodes</li>
+<li class=""><strong>Job 2:</strong> Spatial Join of parks (~44k) and lakes (~140k) in Germany with spatial predicate CONTAINS, spatial index on Postgres tables, Spark cluster with 4 nodes</li>
+<li class=""><strong>Job 3:</strong> Spatial Join of two synthetic datasets containing boxes (100k and 1M) with spatial predicate INTERSECTS, spatial index on Postgres tables, Spark cluster with 8 nodes</li>
 </ul>
 <p>The above figure shows that there are use cases in which each of the currently supported platforms performs best. For small datasets, Java performs best if there is no spatial index available for Postgres; otherwise, Postgres outperforms Java. Due to the Spark overhead, Sedona running on a Spark cluster only gains an advantage in jobs with large datasets, as seen in Job 3.</p>
-<p>This is also evident in the following figure. While Java and Postgres perform better than Sedona on a Spark cluster for joins on small datasets, this trend reverses for joins of larger datasets. Especially for the join of 100k and 10M boxes (generated using <a href="https://star.cs.ucr.edu/" target="_blank" rel="noopener noreferrer">star.cs.ucr.edu</a>), the Spark cluster outperforms the single node execution of Java and Postgres. The poor performance of Sedona/Spark on a cluster with [...]
+<p>This is also evident in the following figure. While Java and Postgres perform better than Sedona on a Spark cluster for joins on small datasets, this trend reverses for joins of larger datasets. Especially for the join of 100k and 10M boxes (generated using <a href="https://star.cs.ucr.edu/" target="_blank" rel="noopener noreferrer" class="">star.cs.ucr.edu</a>), the Spark cluster outperforms the single node execution of Java and Postgres. The poor performance of Sedona/Spark on a clu [...]
 <div style="text-align:center"><img width="75%" alt="Spatial benchmark 2" src="https://wayang.apache.org/img/benchmarks/spatial-bench2.png"></div>
 <p>The performance gained by using larger cluster configurations can also be seen in the following visualization of runtime results of box joins with datasets of various sizes.</p>
 <div style="text-align:center"><img width="75%" alt="Spatial benchmark 3" src="https://wayang.apache.org/img/benchmarks/spatial-bench3.png"></div>
@@ -66,7 +66,7 @@
 <div style="text-align:center"><img width="75%" alt="Spatial benchmark 4" src="https://wayang.apache.org/img/benchmarks/spatial-bench4.png"></div>
 <p>The benchmark results show multiple scenarios in which platform choice has a significant impact on runtime. Spatial data processing can therefore benefit greatly from using the new spatial operators in Apache Wayang.</p>
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="future-work">Future Work<a href="https://wayang.apache.org/blog/spatial-wayang#future-work" class="hash-link" aria-label="Direct link to Future Work" title="Direct link to Future Work">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="future-work">Future Work<a href="https://wayang.apache.org/blog/spatial-wayang#future-work" class="hash-link" aria-label="Direct link to Future Work" title="Direct link to Future Work" translate="no">​</a></h2>
 <p>Our spatial extension enables basic spatial workloads using filter and join operations on the Java, Spark, and Postgres platforms. However, additional operators like nearest neighbor or within-distance operations could enable even more complex scenarios.</p>
 <p>Adding platforms specifically designed for spatial data processing could improve performance even further. An interesting candidate for this could be the relatively recently introduced Apache SedonaDB database engine.</p>
 <p>Currently, the execution platform has to be chosen manually. Part of potential future work should therefore be the implementation of heuristics for platform selection.</p>]]></content:encoded>
@@ -83,28 +83,28 @@
 <p>This graduation rewards the community-driven effort, research, innovation, and collaboration of many years. It reflects our shared commitment to open-source development and the growing importance of cross-platform data processing in the broader data ecosystem nowadays.
 Graduating as an Apache Top-Level Project is an important recognition of the project’s maturity and ensures that Apache Wayang is backed by the full support and oversight of the ASF, guaranteeing openness, meritocracy, and a sustainable development model for years to come.</p>
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="what-is-apache-wayang">What Is Apache Wayang?<a href="https://wayang.apache.org/blog/wayang-graduation#what-is-apache-wayang" class="hash-link" aria-label="Direct link to What Is Apache Wayang?" title="Direct link to What Is Apache Wayang?">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-is-apache-wayang">What Is Apache Wayang?<a href="https://wayang.apache.org/blog/wayang-graduation#what-is-apache-wayang" class="hash-link" aria-label="Direct link to What Is Apache Wayang?" title="Direct link to What Is Apache Wayang?" translate="no">​</a></h2>
 <p>Apache Wayang (formerly known as Rheem) is a <strong>cross-platform data processing system</strong> designed to give developers and organizations a unified way to execute pipelines over multiple data processing engines—such as Apache Spark, Apache Flink, PostgreSQL, and more.</p>
 <p>Instead of forcing users to choose a single execution backend, Wayang:</p>
 <ul>
-<li><strong>Abstracts data processing engines</strong> through a unified API</li>
-<li><strong>Can automatically choose the best execution platform</strong> based on workload characteristics</li>
-<li><strong>Optimizes performance</strong> by distributing tasks across engines if necessary</li>
-<li><strong>Provides a flexible plugin architecture</strong> for integrating new platforms and optimizers</li>
+<li class=""><strong>Abstracts data processing engines</strong> through a unified API</li>
+<li class=""><strong>Can automatically choose the best execution platform</strong> based on workload characteristics</li>
+<li class=""><strong>Optimizes performance</strong> by distributing tasks across engines if necessary</li>
+<li class=""><strong>Provides a flexible plugin architecture</strong> for integrating new platforms and optimizers</li>
 </ul>
 <p>In other words, Wayang enables interoperability across the diverse data landscape and empowers teams to focus on application logic and not infrastructure decisions.</p>
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="thank-you-to-our-community">Thank You to Our Community<a href="https://wayang.apache.org/blog/wayang-graduation#thank-you-to-our-community" class="hash-link" aria-label="Direct link to Thank You to Our Community" title="Direct link to Thank You to Our Community">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="thank-you-to-our-community">Thank You to Our Community<a href="https://wayang.apache.org/blog/wayang-graduation#thank-you-to-our-community" class="hash-link" aria-label="Direct link to Thank You to Our Community" title="Direct link to Thank You to Our Community" translate="no">​</a></h2>
 <p>Apache Wayang wouldn’t exist without its community of developers, users, mentors, and advocates who contributed code, documentation, feedback, and support. A special thanks goes to our Incubator mentors, who helped guide the project through the Apache processes and best practices.
 Your contributions made this milestone possible, and we’re just getting started.</p>
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="get-involved">Get Involved!<a href="https://wayang.apache.org/blog/wayang-graduation#get-involved" class="hash-link" aria-label="Direct link to Get Involved!" title="Direct link to Get Involved!">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="get-involved">Get Involved!<a href="https://wayang.apache.org/blog/wayang-graduation#get-involved" class="hash-link" aria-label="Direct link to Get Involved!" title="Direct link to Get Involved!" translate="no">​</a></h2>
 <p>Whether you want to try Wayang for your next project, contribute code, write documentation, or share your ideas, your participation is welcome. Here’s how to get started:</p>
 <ul>
-<li>Explore the documentation</li>
-<li>Join our community mailing lists</li>
-<li>Contribute to discussions and development</li>
-<li>Try Wayang on your data workloads</li>
+<li class="">Explore the documentation</li>
+<li class="">Join our community mailing lists</li>
+<li class="">Contribute to discussions and development</li>
+<li class="">Try Wayang on your data workloads</li>
 </ul>
 <p>Welcome to Apache Wayang — where data platforms work together!</p>]]></content:encoded>
             <category>wayang</category>
@@ -118,125 +118,125 @@ Your contributions made this milestone possible, and we’re just getting starte
             <guid>https://wayang.apache.org/blog/wayang-release-odysse</guid>
             <pubDate>Sun, 01 Sep 2024 00:00:00 GMT</pubDate>
             <description><![CDATA[Intro]]></description>
-            <content:encoded><![CDATA[<h2 class="anchor anchorWithStickyNavbar_LWe7" id="intro">Intro<a href="https://wayang.apache.org/blog/wayang-release-odysse#intro" class="hash-link" aria-label="Direct link to Intro" title="Direct link to Intro">​</a></h2>
+            <content:encoded><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="intro">Intro<a href="https://wayang.apache.org/blog/wayang-release-odysse#intro" class="hash-link" aria-label="Direct link to Intro" title="Direct link to Intro" translate="no">​</a></h2>
 <p>The ASF provides a robust infrastructure for open communities of software developers. We can share ideas, combine forces, contribute code, docs, review-energy, art work, and from time to time we can nail it down. A release defines an intermediate result of the continuous community work.</p>
 <p>How we do such a release in the Apache Wayang team is an essential aspect towards graduation. First of all, there are some references to take into account, such as:</p>
 <ul>
-<li><a href="https://www.apache.org/legal/release-policy.html" target="_blank" rel="noopener noreferrer">https://www.apache.org/legal/release-policy.html</a></li>
-<li><a href="https://maven.apache.org/maven-release/maven-release-plugin/" target="_blank" rel="noopener noreferrer">https://maven.apache.org/maven-release/maven-release-plugin/</a></li>
+<li class=""><a href="https://www.apache.org/legal/release-policy.html" target="_blank" rel="noopener noreferrer" class="">https://www.apache.org/legal/release-policy.html</a></li>
+<li class=""><a href="https://maven.apache.org/maven-release/maven-release-plugin/" target="_blank" rel="noopener noreferrer" class="">https://maven.apache.org/maven-release/maven-release-plugin/</a></li>
 </ul>
 <p>Assuming you are (P)PMC, and assuming that you have the right permissions for such a release, you can follow the path as described in this guide:</p>
 <ul>
-<li><a href="https://plc4x.apache.org/plc4x/latest/developers/release/release.html" target="_blank" rel="noopener noreferrer">https://plc4x.apache.org/developers/release/release.html</a></li>
+<li class=""><a href="https://plc4x.apache.org/plc4x/latest/developers/release/release.html" target="_blank" rel="noopener noreferrer" class="">https://plc4x.apache.org/developers/release/release.html</a></li>
 </ul>
 <p>I tried to follow exactly this procedure, several times. I failed. Here I share the current status of my <strong>release attempts</strong>.</p>
 <p>I plan a longer tour, and do not want to block the project for a long time.
 Hence I create this draft, and I hope we can unblock this project as soon as possible.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="status">Status:<a href="https://wayang.apache.org/blog/wayang-release-odysse#status" class="hash-link" aria-label="Direct link to Status:" title="Direct link to Status:">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="status">Status:<a href="https://wayang.apache.org/blog/wayang-release-odysse#status" class="hash-link" aria-label="Direct link to Status:" title="Direct link to Status:" translate="no">​</a></h2>
 <p>I am not able to conduct the <em>mvn release:perform</em> step.
 Anything before worked, sometimes only after some digging, but it worked.</p>
 <ul>
-<li>
+<li class="">
 <p>We assume, that due to my membership in two ASF incubator projects I am not able to upload the artefacts to the Nexus repository (H1).</p>
 </li>
-<li>
+<li class="">
 <p>It can be, that I have not the correct user and password in my <em>settings.xml</em> file (H2).</p>
 </li>
 </ul>
-<p>But I tested a manual login to the nexus server <a href="https://repository.apache.org/service/local/staging/deploy/maven2" target="_blank" rel="noopener noreferrer">https://repository.apache.org/service/local/staging/deploy/maven2</a> with success. And beyond that I have no idea how I can verify this detail alone.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="idea--proposal">Idea / Proposal<a href="https://wayang.apache.org/blog/wayang-release-odysse#idea--proposal" class="hash-link" aria-label="Direct link to Idea / Proposal" title="Direct link to Idea / Proposal">​</a></h2>
+<p>But I tested a manual login to the nexus server <a href="https://repository.apache.org/service/local/staging/deploy/maven2" target="_blank" rel="noopener noreferrer" class="">https://repository.apache.org/service/local/staging/deploy/maven2</a> with success. And beyond that I have no idea how I can verify this detail alone.</p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="idea--proposal">Idea / Proposal<a href="https://wayang.apache.org/blog/wayang-release-odysse#idea--proposal" class="hash-link" aria-label="Direct link to Idea / Proposal" title="Direct link to Idea / Proposal" translate="no">​</a></h2>
 <p>(1) It would be great, if someone - who has done a release in any other ASF project or in Apache Wayang - could follow the steps I share, so that we can check where the problem hides itself.</p>
 <p>(2) As a follow-up task, I suggest to add a <strong>Release Guide</strong> to the Apache Wayang project, including release manager onboarding steps, and checklists for the particular project, derived from the referenced sources which are listed above.</p>
 <p>But for now it is all about sharing the status (as I did serveral times on multiple chanels, including JIRA, Slack, Mailing lists) and finding a solution for Apache Wayang release 1.0.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="latest-error">Latest Error:<a href="https://wayang.apache.org/blog/wayang-release-odysse#latest-error" class="hash-link" aria-label="Direct link to Latest Error:" title="Direct link to Latest Error:">​</a></h2>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:perform -X -DskipTests</span><br></span></code></pre><div class="buttonGroup__atx"><button ty [...]
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[INFO] Caused by: org.eclipse.aether.deployment.DeploymentException: Failed to deploy artifacts: Could no [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="activity-log">Activity Log<a href="https://wayang.apache.org/blog/wayang-release-odysse#activity-log" class="hash-link" aria-label="Direct link to Activity Log" title="Direct link to Activity Log">​</a></h2>
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:clean</span><br></span><span class="token-line" style="color:#393A34"><span cla [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Da [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">ERROR</span><span class="toke [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn versions:commit</span><br></span><span class="token-line" style="color:#393A34"><span c [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Da [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">ERROR</span><span class="toke [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">git</span><span class="token plain"> status</span><br></span><span [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Da [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">Caused by: org.eclipse.aether.transfer.NoRepositoryConnectorException: Blocked mirror </spa [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="dependency-on-jdk-11-during-release">Dependency on JDK-11 during release<a href="https://wayang.apache.org/blog/wayang-release-odysse#dependency-on-jdk-11-during-release" class="hash-link" aria-label="Direct link to Dependency on JDK-11 during release" title="Direct link to Dependency on JDK-11 during release">​</a></h3>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="latest-error">Latest Error:<a href="https://wayang.apache.org/blog/wayang-release-odysse#latest-error" class="hash-link" aria-label="Direct link to Latest Error:" title="Direct link to Latest Error:" translate="no">​</a></h2>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:perform -X -DskipTests</span><br></div></code></pre></div></div>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[INFO] Caused by: org.eclipse.aether.deployment.DeploymentException: Failed to deploy artifa [...]
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="activity-log">Activity Log<a href="https://wayang.apache.org/blog/wayang-release-odysse#activity-log" class="hash-link" aria-label="Direct link to Activity Log" title="Direct link to Activity Log" translate="no">​</a></h2>
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:clean</span><br></div><div class="token-line" style="color:#393A34"><span class= [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Dar [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">ERROR</span><span class="token [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn versions:commit</span><br></div><div class="token-line" style="color:#393A34"><span clas [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Dar [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">ERROR</span><span class="token [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">git</span><span class="token plain"> status</span><br></div><div cl [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Dar [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">Caused by: org.eclipse.aether.transfer.NoRepositoryConnectorException: Blocked mirror </span [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="dependency-on-jdk-11-during-release">Dependency on JDK-11 during release<a href="https://wayang.apache.org/blog/wayang-release-odysse#dependency-on-jdk-11-during-release" class="hash-link" aria-label="Direct link to Dependency on JDK-11 during release" title="Direct link to Dependency on JDK-11 during release" translate="no">​</a></h3>
 <blockquote>
 <p>FIXED with local JDK11 Setup</p>
 </blockquote>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">brew install openjdk@11</span><br></span><span class="token-line" style="color:#393A34"><span class="toke [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="manual-update-of-release-version">Manual update of release-version<a href="https://wayang.apache.org/blog/wayang-release-odysse#manual-update-of-release-version" class="hash-link" aria-label="Direct link to Manual update of release-version" title="Direct link to Manual update of release-version">​</a></h3>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">brew install openjdk@11</span><br></div><div class="token-line" style="color:#393A34"><span  [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="manual-update-of-release-version">Manual update of release-version<a href="https://wayang.apache.org/blog/wayang-release-odysse#manual-update-of-release-version" class="hash-link" aria-label="Direct link to Manual update of release-version" title="Direct link to Manual update of release-version" translate="no">​</a></h3>
 <p>During the release procedure, do I have to set the version here in this configuration section manually?</p>
-<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">plug [...]
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">plugi [...]
 <blockquote>
 <p>It seems that these properties must be updated manually.</p>
 </blockquote>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="warning-regarding-illegal-reflective-access-operation">Warning regarding "illegal reflective access operation"<a href="https://wayang.apache.org/blog/wayang-release-odysse#warning-regarding-illegal-reflective-access-operation" class="hash-link" aria-label="Direct link to Warning regarding &quot;illegal reflective access operation&quot;" title="Direct link to Warning regarding &quot;illegal reflective access operation&quot;">​</a></h3>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[ERROR] WARNING: An illegal reflective access operation has occurred</span><br></span><span class="token- [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="warning-regarding-illegal-reflective-access-operation">Warning regarding "illegal reflective access operation"<a href="https://wayang.apache.org/blog/wayang-release-odysse#warning-regarding-illegal-reflective-access-operation" class="hash-link" aria-label="Direct link to Warning regarding &quot;illegal reflective access operation&quot;" title="Direct link to Warning regarding &quot;illegal reflective access operation&quot;" translate=" [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[ERROR] WARNING: An illegal reflective access operation has occurred</span><br></div><div cl [...]
 <blockquote>
 <p><strong>This is still an OPEN ISSUE !</strong></p>
 </blockquote>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="rat-check-fails">RAT Check fails<a href="https://wayang.apache.org/blog/wayang-release-odysse#rat-check-fails" class="hash-link" aria-label="Direct link to RAT Check fails" title="Direct link to RAT Check fails">​</a></h3>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[INFO] [ERROR] Failed to execute goal org.apache.rat:apache-rat-plugin:0.13:check (license-check) on proj [...]
-<div class="language-cat codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-cat codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34" [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="rat-check-fails">RAT Check fails<a href="https://wayang.apache.org/blog/wayang-release-odysse#rat-check-fails" class="hash-link" aria-label="Direct link to RAT Check fails" title="Direct link to RAT Check fails" translate="no">​</a></h3>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[INFO] [ERROR] Failed to execute goal org.apache.rat:apache-rat-plugin:0.13:check (license-c [...]
+<div class="language-cat codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-cat codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><s [...]
 <blockquote>
 <p><em>FIXED by adding .java-versions to .gitignore</em></p>
 </blockquote>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="tag-could-not-be-created-in-scm">Tag could not be created in SCM.<a href="https://wayang.apache.org/blog/wayang-release-odysse#tag-could-not-be-created-in-scm" class="hash-link" aria-label="Direct link to Tag could not be created in SCM." title="Direct link to Tag could not be created in SCM.">​</a></h3>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:3.0.1:prepare (default-cli)  [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="tag-could-not-be-created-in-scm">Tag could not be created in SCM.<a href="https://wayang.apache.org/blog/wayang-release-odysse#tag-could-not-be-created-in-scm" class="hash-link" aria-label="Direct link to Tag could not be created in SCM." title="Direct link to Tag could not be created in SCM." translate="no">​</a></h3>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:3.0.1:prepare ( [...]
 <blockquote>
 <p>FIXED by manual changes in pom.xml.</p>
 </blockquote>
-<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34" [...]
-<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">conf [...]
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare -Darguments='-DskipTests=True -Dresume=True'</span><br></span></code></pre><div class [...]
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn clean package</span><br></span><span class="token-line" style="color:#393A34"><span class="token plai [...]
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><s [...]
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">confi [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare -Darguments='-DskipTests=True -Dresume=True'</span><br></div></code></pr [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn clean package</span><br></div><div class="token-line" style="color:#393A34"><span class= [...]
 <blockquote>
 <p>So far so good. But now the sun went down.</p>
 </blockquote>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[INFO] [ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:3.0.0-M1:deploy (defau [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[INFO] [ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:3.0.0-M1: [...]
 <p>The null pointer exception indicates problems in <em>settings.xml</em>. This could be fixed.
 But now, the error changes with and I am still not able to stage the build results.</p>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:perform -X -DskipTests</span><br></span></code></pre><div class="buttonGroup__atx"><button ty [...]
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[INFO] Caused by: org.eclipse.aether.deployment.DeploymentException: Failed to deploy artifacts: Could no [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="checklist-for-next-iteration">Checklist for next iteration:<a href="https://wayang.apache.org/blog/wayang-release-odysse#checklist-for-next-iteration" class="hash-link" aria-label="Direct link to Checklist for next iteration:" title="Direct link to Checklist for next iteration:">​</a></h2>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:perform -X -DskipTests</span><br></div></code></pre></div></div>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[INFO] Caused by: org.eclipse.aether.deployment.DeploymentException: Failed to deploy artifa [...]
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="checklist-for-next-iteration">Checklist for next iteration:<a href="https://wayang.apache.org/blog/wayang-release-odysse#checklist-for-next-iteration" class="hash-link" aria-label="Direct link to Checklist for next iteration:" title="Direct link to Checklist for next iteration:" translate="no">​</a></h2>
 <p>The error you're encountering indicates that there is a problem with deploying the artifacts using the <code>maven-deploy-plugin</code>. The root cause of the error is a <code>NullPointerException</code> during the deployment process, specifically related to the <code>org.eclipse.aether.transfer.ArtifactTransferException</code>.</p>
 <p>Here's a step-by-step guide to troubleshoot and resolve this issue:</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="1-check-maven-settings">1. Check Maven Settings<a href="https://wayang.apache.org/blog/wayang-release-odysse#1-check-maven-settings" class="hash-link" aria-label="Direct link to 1. Check Maven Settings" title="Direct link to 1. Check Maven Settings">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="1-check-maven-settings">1. Check Maven Settings<a href="https://wayang.apache.org/blog/wayang-release-odysse#1-check-maven-settings" class="hash-link" aria-label="Direct link to 1. Check Maven Settings" title="Direct link to 1. Check Maven Settings" translate="no">​</a></h3>
 <p>Ensure that your Maven settings (<code>settings.xml</code>) are correctly configured for deployment. Verify that the repository settings and credentials are correctly specified.</p>
 <p><strong>[DONE]</strong></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="2-verify-repository-url">2. Verify Repository URL<a href="https://wayang.apache.org/blog/wayang-release-odysse#2-verify-repository-url" class="hash-link" aria-label="Direct link to 2. Verify Repository URL" title="Direct link to 2. Verify Repository URL">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="2-verify-repository-url">2. Verify Repository URL<a href="https://wayang.apache.org/blog/wayang-release-odysse#2-verify-repository-url" class="hash-link" aria-label="Direct link to 2. Verify Repository URL" title="Direct link to 2. Verify Repository URL" translate="no">​</a></h3>
 <p>Make sure the repository URL in your <code>pom.xml</code> or <code>settings.xml</code> is correct and reachable. The URL should point to the correct staging repository for deployment.</p>
 <p><em>[OPEN]</em> - I did not touch it, so I guess it is correct in the <em>pom.xml</em>.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="3-maven-version-compatibility">3. Maven Version Compatibility<a href="https://wayang.apache.org/blog/wayang-release-odysse#3-maven-version-compatibility" class="hash-link" aria-label="Direct link to 3. Maven Version Compatibility" title="Direct link to 3. Maven Version Compatibility">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="3-maven-version-compatibility">3. Maven Version Compatibility<a href="https://wayang.apache.org/blog/wayang-release-odysse#3-maven-version-compatibility" class="hash-link" aria-label="Direct link to 3. Maven Version Compatibility" title="Direct link to 3. Maven Version Compatibility" translate="no">​</a></h3>
 <p>Verify that you are using a compatible version of Maven. Sometimes, upgrading or downgrading Maven can resolve such issues.</p>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">Apache Maven 3.9.6 (bc0240f3c744dd6b6ec2920b3cd08dcc295161ae)</span><br></span><span class="token-line" s [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">Apache Maven 3.9.6 (bc0240f3c744dd6b6ec2920b3cd08dcc295161ae)</span><br></div><div class="to [...]
 <p><strong>[DONE]</strong></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="4-check-for-network-issues">4. Check for Network Issues<a href="https://wayang.apache.org/blog/wayang-release-odysse#4-check-for-network-issues" class="hash-link" aria-label="Direct link to 4. Check for Network Issues" title="Direct link to 4. Check for Network Issues">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="4-check-for-network-issues">4. Check for Network Issues<a href="https://wayang.apache.org/blog/wayang-release-odysse#4-check-for-network-issues" class="hash-link" aria-label="Direct link to 4. Check for Network Issues" title="Direct link to 4. Check for Network Issues" translate="no">​</a></h3>
 <p>Ensure there are no network issues that might be causing problems in connecting to the repository. Sometimes, network configurations, firewalls, or proxy settings can interfere with the deployment process.</p>
 <p><strong>[DONE]</strong></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="5-update-maven-plugins">5. Update Maven Plugins<a href="https://wayang.apache.org/blog/wayang-release-odysse#5-update-maven-plugins" class="hash-link" aria-label="Direct link to 5. Update Maven Plugins" title="Direct link to 5. Update Maven Plugins">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="5-update-maven-plugins">5. Update Maven Plugins<a href="https://wayang.apache.org/blog/wayang-release-odysse#5-update-maven-plugins" class="hash-link" aria-label="Direct link to 5. Update Maven Plugins" title="Direct link to 5. Update Maven Plugins" translate="no">​</a></h3>
 <p>Ensure that you are using the latest versions of the Maven plugins. Sometimes, bugs in older versions can cause unexpected issues.</p>
 <p><em>[OPEN]</em></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="6-configure-the-maven-deploy-plugin-in-pomxml">6. Configure the <code>maven-deploy-plugin</code> in <code>pom.xml</code><a href="https://wayang.apache.org/blog/wayang-release-odysse#6-configure-the-maven-deploy-plugin-in-pomxml" class="hash-link" aria-label="Direct link to 6-configure-the-maven-deploy-plugin-in-pomxml" title="Direct link to 6-configure-the-maven-deploy-plugin-in-pomxml">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="6-configure-the-maven-deploy-plugin-in-pomxml">6. Configure the <code>maven-deploy-plugin</code> in <code>pom.xml</code><a href="https://wayang.apache.org/blog/wayang-release-odysse#6-configure-the-maven-deploy-plugin-in-pomxml" class="hash-link" aria-label="Direct link to 6-configure-the-maven-deploy-plugin-in-pomxml" title="Direct link to 6-configure-the-maven-deploy-plugin-in-pomxml" translate="no">​</a></h3>
 <p>Make sure the <code>maven-deploy-plugin</code> is correctly configured in your <code>pom.xml</code>. Here's an example configuration:</p>
-<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">plug [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="7-increase-verbose-logging">7. Increase Verbose Logging<a href="https://wayang.apache.org/blog/wayang-release-odysse#7-increase-verbose-logging" class="hash-link" aria-label="Direct link to 7. Increase Verbose Logging" title="Direct link to 7. Increase Verbose Logging">​</a></h3>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">plugi [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="7-increase-verbose-logging">7. Increase Verbose Logging<a href="https://wayang.apache.org/blog/wayang-release-odysse#7-increase-verbose-logging" class="hash-link" aria-label="Direct link to 7. Increase Verbose Logging" title="Direct link to 7. Increase Verbose Logging" translate="no">​</a></h3>
 <p>Enable verbose logging to get more details about the error. You can do this by adding the <code>-X</code> flag when running the Maven command:</p>
-<div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn clean deploy </span><span class="token parameter variable" style="color:#36acaa">-X</span>< [...]
+<div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn clean deploy </span><span class="token parameter variable" style="color:#36acaa">-X</span><b [...]
 <p><strong>[DONE]</strong></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="8-retry-with-a-clean-local-repository">8. Retry with a Clean Local Repository<a href="https://wayang.apache.org/blog/wayang-release-odysse#8-retry-with-a-clean-local-repository" class="hash-link" aria-label="Direct link to 8. Retry with a Clean Local Repository" title="Direct link to 8. Retry with a Clean Local Repository">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="8-retry-with-a-clean-local-repository">8. Retry with a Clean Local Repository<a href="https://wayang.apache.org/blog/wayang-release-odysse#8-retry-with-a-clean-local-repository" class="hash-link" aria-label="Direct link to 8. Retry with a Clean Local Repository" title="Direct link to 8. Retry with a Clean Local Repository" translate="no">​</a></h3>
 <p>Sometimes, a corrupt local repository can cause issues. Try cleaning your local Maven repository and re-running the deployment:</p>
-<div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn clean </span><span class="token function" style="color:#d73a49">install</span><span class=" [...]
+<div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn clean </span><span class="token function" style="color:#d73a49">install</span><span class="t [...]
 <p><em>[OPEN]</em> - Does not match to an authentication issue.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="9-check-for-missing-credentials">9. Check for Missing Credentials<a href="https://wayang.apache.org/blog/wayang-release-odysse#9-check-for-missing-credentials" class="hash-link" aria-label="Direct link to 9. Check for Missing Credentials" title="Direct link to 9. Check for Missing Credentials">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="9-check-for-missing-credentials">9. Check for Missing Credentials<a href="https://wayang.apache.org/blog/wayang-release-odysse#9-check-for-missing-credentials" class="hash-link" aria-label="Direct link to 9. Check for Missing Credentials" title="Direct link to 9. Check for Missing Credentials" translate="no">​</a></h3>
 <p>Ensure that the credentials for the repository are correctly set up in your <code>settings.xml</code>:</p>
-<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">serv [...]
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">serve [...]
 <p><strong>[DONE]</strong></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="10-review-the-full-stack-trace">10. Review the Full Stack Trace<a href="https://wayang.apache.org/blog/wayang-release-odysse#10-review-the-full-stack-trace" class="hash-link" aria-label="Direct link to 10. Review the Full Stack Trace" title="Direct link to 10. Review the Full Stack Trace">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="10-review-the-full-stack-trace">10. Review the Full Stack Trace<a href="https://wayang.apache.org/blog/wayang-release-odysse#10-review-the-full-stack-trace" class="hash-link" aria-label="Direct link to 10. Review the Full Stack Trace" title="Direct link to 10. Review the Full Stack Trace" translate="no">​</a></h3>
 <p>The full stack trace indicates a <code>NullPointerException</code>:</p>
-<div class="language-plaintext codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-plaintext codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">Caused by: java.lang.NullPointerException</span><br></span><span class="token-lin [...]
+<div class="language-plaintext codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-plaintext codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">Caused by: java.lang.NullPointerException</span><br></div><div class="token-line"  [...]
 <p>This suggests that there might be an issue with how credentials are being handled. Double-check that the credentials are being correctly passed and processed.</p>
 <p><strong>[DONE]</strong></p>]]></content:encoded>
             <category>wayang</category>
@@ -251,36 +251,36 @@ But now, the error changes with and I am still not able to stage the build resul
             <description><![CDATA[We are happy to announce that we have extended Wayang to be able to utilize any ML platform and any ML operators.]]></description>
             <content:encoded><![CDATA[<p>We are happy to announce that we have extended Wayang to be able to utilize any ML platform and any ML operators.
 Thanks to the extensible nature of Wayang, the only core changes we had to do were introducing the concept of a <code>Model</code> and implement a new driver for the newly added platform.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="step-1-introducing-a-model">Step 1: Introducing a Model<a href="https://wayang.apache.org/blog/wayang-tensorflow#step-1-introducing-a-model" class="hash-link" aria-label="Direct link to Step 1: Introducing a Model" title="Direct link to Step 1: Introducing a Model">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="step-1-introducing-a-model">Step 1: Introducing a Model<a href="https://wayang.apache.org/blog/wayang-tensorflow#step-1-introducing-a-model" class="hash-link" aria-label="Direct link to Step 1: Introducing a Model" title="Direct link to Step 1: Introducing a Model" translate="no">​</a></h2>
 <p>With respect to the model, we followed Wayang’s abstraction philosophy: We created a <code>Model</code> interface to be used as input or output by Wayang operators and then extended it for the platform-specific operators. Different model interfaces can be found here:</p>
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model</a></p>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model</a></p>
 <p>A platform-specific model needs to be instantiated to be used as the output of a training operator and as input for an inference operator. You can see an example of the <code>SparkMLModel</code> here:</p>
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/model/SparkMLModel.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/model/SparkMLModel.java</a></p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="step-2-introducing-training-operators">Step 2: Introducing Training Operators<a href="https://wayang.apache.org/blog/wayang-tensorflow#step-2-introducing-training-operators" class="hash-link" aria-label="Direct link to Step 2: Introducing Training Operators" title="Direct link to Step 2: Introducing Training Operators">​</a></h2>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/model/SparkMLModel.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/model/SparkMLModel.java</a></p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="step-2-introducing-training-operators">Step 2: Introducing Training Operators<a href="https://wayang.apache.org/blog/wayang-tensorflow#step-2-introducing-training-operators" class="hash-link" aria-label="Direct link to Step 2: Introducing Training Operators" title="Direct link to Step 2: Introducing Training Operators" translate="no">​</a></h2>
 <p>We added the desired Wayang (platform-agnostic) training operators which are binary to unary operators, taking as input the X and y values and outputting a Model. You can find an example of a LinearRegressionOperator here:</p>
-<p><a href="https://github.com/apache/incubator-wayang/blob/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/LinearRegressionOperator.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/blob/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/LinearRegressionOperator.java</a></p>
+<p><a href="https://github.com/apache/incubator-wayang/blob/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/LinearRegressionOperator.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/blob/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/LinearRegressionOperator.java</a></p>
 <p>Platform-specific execution operators, such as SparkLinearRegressionOperator, can be easily added as any other execution operator: extending the corresponding Wayang operator and providing the mappings from the Wayang to the execution operator. See, for example, the <code>SparkLinearRegressionOperator</code>:</p>
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkLinearRegressionOperator.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkLinearRegressionOperator.java</a></p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="step-3-introducing-prediction-operators">Step 3: Introducing Prediction Operators<a href="https://wayang.apache.org/blog/wayang-tensorflow#step-3-introducing-prediction-operators" class="hash-link" aria-label="Direct link to Step 3: Introducing Prediction Operators" title="Direct link to Step 3: Introducing Prediction Operators">​</a></h2>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkLinearRegressionOperator.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkLinearRegressionOperator.java</a></p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="step-3-introducing-prediction-operators">Step 3: Introducing Prediction Operators<a href="https://wayang.apache.org/blog/wayang-tensorflow#step-3-introducing-prediction-operators" class="hash-link" aria-label="Direct link to Step 3: Introducing Prediction Operators" title="Direct link to Step 3: Introducing Prediction Operators" translate="no">​</a></h2>
 <p>Additionally, we created a <code>PredictOperator</code>, a BinaryToUnary Wayang (platform-agnostic) operator which takes as input the data quanta and a model and outputs the data quanta with the predictions output by the model.</p>
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/PredictOperator.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/PredictOperator.java</a></p>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/PredictOperator.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/PredictOperator.java</a></p>
 <p>Then, a concrete platform-specific operator extends from the abstract one. See the <code>SparkPredictOperator</code> for an example:</p>
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkPredictOperator.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkPredictOperator.java</a></p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="deep-learning-models">Deep Learning Models<a href="https://wayang.apache.org/blog/wayang-tensorflow#deep-learning-models" class="hash-link" aria-label="Direct link to Deep Learning Models" title="Direct link to Deep Learning Models">​</a></h2>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkPredictOperator.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkPredictOperator.java</a></p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="deep-learning-models">Deep Learning Models<a href="https://wayang.apache.org/blog/wayang-tensorflow#deep-learning-models" class="hash-link" aria-label="Direct link to Deep Learning Models" title="Direct link to Deep Learning Models" translate="no">​</a></h2>
 <p>Unlike traditional machine learning models, the definition of deep learning models is more flexible. Users can combine different blocks (e.g., fully connected blocks, convolutional blocks) to build their desired models. The whole model can be represented as a graph on which the vertices represent blocks and the edges represent connections between blocks. In this case, we built a <code>DLModel</code> class that implements the <code>Model</code> interface, which contains a user-defined, [...]
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model/DLModel.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model/DLModel.java</a></p>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model/DLModel.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model/DLModel.java</a></p>
 <p>For training, we implemented the platform-agnostic <code>DLModelTrainingOperator</code> Wayang operator:</p>
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/DLTrainingOperator.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/DLTrainingOperator.java</a></p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="new-ml-platform----tensorflow-integration">New ML platform -- Tensorflow Integration<a href="https://wayang.apache.org/blog/wayang-tensorflow#new-ml-platform----tensorflow-integration" class="hash-link" aria-label="Direct link to New ML platform -- Tensorflow Integration" title="Direct link to New ML platform -- Tensorflow Integration">​</a></h2>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/DLTrainingOperator.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/DLTrainingOperator.java</a></p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="new-ml-platform----tensorflow-integration">New ML platform -- Tensorflow Integration<a href="https://wayang.apache.org/blog/wayang-tensorflow#new-ml-platform----tensorflow-integration" class="hash-link" aria-label="Direct link to New ML platform -- Tensorflow Integration" title="Direct link to New ML platform -- Tensorflow Integration" translate="no">​</a></h2>
 <p>We have added Tensorflow as a new platform by creating a new module (<code>wayang-tensorflow</code>) inside the <code>wayang-platforms</code> parent module and implementing a Tensorflow driver. The TensorflowExecutor driver is responsible for creating and destroying Tensorflow resources, such as a model graph and a model parameter context. When a training task scheduled on Tensorflow, it will be mapped to TensorflowDLModelTrainingOperator. In this process, the <code>DLModel</code> wil [...]
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-tensorflow/src/main/java/org/apache/wayang/tensorflow" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-tensorflow/src/main/java/org/apache/wayang/tensorflow</a></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="acknowledgement">Acknowledgement<a href="https://wayang.apache.org/blog/wayang-tensorflow#acknowledgement" class="hash-link" aria-label="Direct link to Acknowledgement" title="Direct link to Acknowledgement">​</a></h3>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-tensorflow/src/main/java/org/apache/wayang/tensorflow" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-tensorflow/src/main/java/org/apache/wayang/tensorflow</a></p>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="acknowledgement">Acknowledgement<a href="https://wayang.apache.org/blog/wayang-tensorflow#acknowledgement" class="hash-link" aria-label="Direct link to Acknowledgement" title="Direct link to Acknowledgement" translate="no">​</a></h3>
 <p>The source code for the support of ML operators and the Tensorflow integration has been contributed by Mingxi Liu.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="follow-wayang">Follow Wayang<a href="https://wayang.apache.org/blog/wayang-tensorflow#follow-wayang" class="hash-link" aria-label="Direct link to Follow Wayang" title="Direct link to Follow Wayang">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="follow-wayang">Follow Wayang<a href="https://wayang.apache.org/blog/wayang-tensorflow#follow-wayang" class="hash-link" aria-label="Direct link to Follow Wayang" title="Direct link to Follow Wayang" translate="no">​</a></h3>
 <p>Apache Wayang is in incubation phase and has a potential roadmap of implementations
 coming soon (including the federated learning aspect as well as an SQL interface and a novel
 data debugging functionality). If you want to hear or join the community, consult the link
-<a href="https://wayang.apache.org/community/" target="_blank" rel="noopener noreferrer">https://wayang.apache.org/community/</a> , join the mailing lists, contribute with new ideas,
+<a href="https://wayang.apache.org/community/" target="_blank" rel="noopener noreferrer" class="">https://wayang.apache.org/community/</a> , join the mailing lists, contribute with new ideas,
 write documentation, or fix bugs.</p>]]></content:encoded>
             <category>wayang</category>
             <category>ML</category>
@@ -302,7 +302,7 @@ personal data. One of the significant challenges in working with AI is the varie
 in the market or the open-source community. Each tool provides results in a different form;
 integrating them can be pretty challenging. Let's talk about Apache Wayang and
 how it can help to solve this problem.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="apache-wayang-in-the-federated-ai-world">Apache Wayang in the Federated AI world<a href="https://wayang.apache.org/blog/wayang-federated-ai#apache-wayang-in-the-federated-ai-world" class="hash-link" aria-label="Direct link to Apache Wayang in the Federated AI world" title="Direct link to Apache Wayang in the Federated AI world">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="apache-wayang-in-the-federated-ai-world">Apache Wayang in the Federated AI world<a href="https://wayang.apache.org/blog/wayang-federated-ai#apache-wayang-in-the-federated-ai-world" class="hash-link" aria-label="Direct link to Apache Wayang in the Federated AI world" title="Direct link to Apache Wayang in the Federated AI world" translate="no">​</a></h2>
 <p>Apache Wayang (Wayang, for short), an Apache Software Foundation top-level project,
 integrates big data platforms and tools by removing the complexity of
 worrying about low-level details. Interestingly, even if it was not designed for, Wayang could
@@ -310,7 +310,7 @@ also serve as a scalable platform for federated learning: the Wayang community i
 work on integrating federated learning capabilities. In a federated learning approach, Wayang
 would allow different local models to be built and exchange its model results across other data
 centers to combine them into a single enhanced model.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="a-real-world-example">A real-world example<a href="https://wayang.apache.org/blog/wayang-federated-ai#a-real-world-example" class="hash-link" aria-label="Direct link to A real-world example" title="Direct link to A real-world example">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="a-real-world-example">A real-world example<a href="https://wayang.apache.org/blog/wayang-federated-ai#a-real-world-example" class="hash-link" aria-label="Direct link to A real-world example" title="Direct link to A real-world example" translate="no">​</a></h2>
 <p>Let's consider a real-world scenario. Hospitals and health organizations have increased their
 investments in machine/deep learning initiatives to learn more and predict diagnostics.
 However, due to legal frameworks, sharing patients' information or diagnostics is impossible,
@@ -335,14 +335,14 @@ layer of complexity from the developers by integrating with diverse types of dat
 also brings fast development and reduces the need for a deep understanding of data
 infrastructure or integrations. Developers can focus on the logic and how to execute tasks
 instead of details about data processors.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="follow-wayang">Follow Wayang<a href="https://wayang.apache.org/blog/wayang-federated-ai#follow-wayang" class="hash-link" aria-label="Direct link to Follow Wayang" title="Direct link to Follow Wayang">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="follow-wayang">Follow Wayang<a href="https://wayang.apache.org/blog/wayang-federated-ai#follow-wayang" class="hash-link" aria-label="Direct link to Follow Wayang" title="Direct link to Follow Wayang" translate="no">​</a></h3>
 <p>Apache Wayang is a top-level ASF project with a potential roadmap of implementations
 coming soon (including the federated learning aspect as well as an SQL interface and a novel
 data debugging functionality). If you want to hear or join the community, consult the link
-<a href="https://wayang.apache.org/community/" target="_blank" rel="noopener noreferrer">https://wayang.apache.org/community/</a> , join the mailing lists, contribute with new ideas,
+<a href="https://wayang.apache.org/community/" target="_blank" rel="noopener noreferrer" class="">https://wayang.apache.org/community/</a> , join the mailing lists, contribute with new ideas,
 write documentation, or fix bugs.</p>
 <br>
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="thank-you">Thank you!<a href="https://wayang.apache.org/blog/wayang-federated-ai#thank-you" class="hash-link" aria-label="Direct link to Thank you!" title="Direct link to Thank you!">​</a></h5>
+<h5 class="anchor anchorTargetStickyNavbar_Vzrq" id="thank-you">Thank you!<a href="https://wayang.apache.org/blog/wayang-federated-ai#thank-you" class="hash-link" aria-label="Direct link to Thank you!" title="Direct link to Thank you!" translate="no">​</a></h5>
 <p>I (Gláucia) want to thank professor Jorge Quiané for the guidance to write this blog post.
 Thanks for incentivate me to join the project and for the knowledge shared. I will always remember you.</p>]]></content:encoded>
             <category>wayang</category>
@@ -361,7 +361,7 @@ languages often is a major inconvenience.
 Apache Wayang's upcoming Python API will allow you to seamlessly
 orchestrate data processing tasks without ever leaving the comfort
 of Python, irrespective of the underlying framework written in Java.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="expanding-apache-wayangs-apis">Expanding Apache Wayang's APIs<a href="https://wayang.apache.org/blog/wayang-python-api#expanding-apache-wayangs-apis" class="hash-link" aria-label="Direct link to Expanding Apache Wayang's APIs" title="Direct link to Expanding Apache Wayang's APIs">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="expanding-apache-wayangs-apis">Expanding Apache Wayang's APIs<a href="https://wayang.apache.org/blog/wayang-python-api#expanding-apache-wayangs-apis" class="hash-link" aria-label="Direct link to Expanding Apache Wayang's APIs" title="Direct link to Expanding Apache Wayang's APIs" translate="no">​</a></h2>
 <p>Apache Wayang's architecture decouples the process of planning from the
 resulting execution, allowing users to specify platform agnostic plans
 through the provided APIs.</p>
@@ -391,7 +391,7 @@ When receiving a valid JSON plan, the JSON API uses the optimizer to
 construct an execution plan. However, since UDFs are defined in Python
 and thus need to be executed in Python as well, an operators function needs to be
 wrapped into a <code>WrappedPythonFunction</code>:</p>
-<div class="language-scala codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scala codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">val</span><span class="token plain"> mapOperator </span><span cla [...]
+<div class="language-scala codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-scala codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">val</span><span class="token plain"> mapOperator </span><span clas [...]
 <p>This wrapped functional descriptor allows to handle execution of
 UDFs in Python through a socket connection with the <code>pywayang</code> worker.
 Input data is sourced from the platform chosen by the optimizer and Apache
@@ -400,31 +400,31 @@ Wayang handles routing the output data to the next operator.</p>
 <p>A new API in any programming languages would have
 to specify two things:</p>
 <ul>
-<li>A way to create plans that conform to a JSON format specified in the
+<li class="">A way to create plans that conform to a JSON format specified in the
 Wayang JSON API.</li>
-<li>A <code>worker</code> that handles encoding and decoding of user defined
+<li class="">A <code>worker</code> that handles encoding and decoding of user defined
 functions (UDFs), as they need to
 be executed on iterables in their respective language.
 After that, the API can be added as a module in Wayang, so that
 operators will be wrapped and UDFs can be executed in the desired
 programming language.</li>
 </ul>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="defining-wayangplans-in-python">Defining WayangPlans in Python<a href="https://wayang.apache.org/blog/wayang-python-api#defining-wayangplans-in-python" class="hash-link" aria-label="Direct link to Defining WayangPlans in Python" title="Direct link to Defining WayangPlans in Python">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="defining-wayangplans-in-python">Defining WayangPlans in Python<a href="https://wayang.apache.org/blog/wayang-python-api#defining-wayangplans-in-python" class="hash-link" aria-label="Direct link to Defining WayangPlans in Python" title="Direct link to Defining WayangPlans in Python" translate="no">​</a></h2>
 <p>As the "Hello World!" of data processing systems, wordcount will pose as
 our primary example to display how users can interact with Apache Wayang
 through the python package <code>pywayang</code>.</p>
-<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">from</span><span class="token plain"> pywy</span><span class="t [...]
+<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">from</span><span class="token plain"> pywy</span><span class="to [...]
 <p>The example displays a mode of operation that resembles the Scala
 <code>PlanBuilder</code> and the <code>JavaPlanBuilder</code>. Plans are specified in a
 functional way, chaining operations until a terminal operation results
 in execution of the plan.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="wayang-api-json">Wayang-API-JSON<a href="https://wayang.apache.org/blog/wayang-python-api#wayang-api-json" class="hash-link" aria-label="Direct link to Wayang-API-JSON" title="Direct link to Wayang-API-JSON">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="wayang-api-json">Wayang-API-JSON<a href="https://wayang.apache.org/blog/wayang-python-api#wayang-api-json" class="hash-link" aria-label="Direct link to Wayang-API-JSON" title="Direct link to Wayang-API-JSON" translate="no">​</a></h2>
 <p>The <code>wayang-api-json</code> module provides an executable that starts a REST
 server. This server accepts a <code>WayangPlan</code> in JSON format.
 Starting the REST API as a background process can be done by executing
 the following:</p>
-<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn clean package </span><span class="token parameter variable" style="color:#36acaa">-pl [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="wrapping-pipelines-in-mappartition-operators">Wrapping pipelines in MapPartition operators<a href="https://wayang.apache.org/blog/wayang-python-api#wrapping-pipelines-in-mappartition-operators" class="hash-link" aria-label="Direct link to Wrapping pipelines in MapPartition operators" title="Direct link to Wrapping pipelines in MapPartition operators">​</a></h2>
+<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn clean package </span><span class="token parameter variable" style="color:#36acaa">-pl< [...]
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="wrapping-pipelines-in-mappartition-operators">Wrapping pipelines in MapPartition operators<a href="https://wayang.apache.org/blog/wayang-python-api#wrapping-pipelines-in-mappartition-operators" class="hash-link" aria-label="Direct link to Wrapping pipelines in MapPartition operators" title="Direct link to Wrapping pipelines in MapPartition operators" translate="no">​</a></h2>
 <p>With this architecture, the execution of an operator comes with an
 additional overhead, because the UDFs will have to be executed in
 python. Python operators receive iterators through a socket and also
@@ -434,11 +434,11 @@ pipelines. One pipeline of operators will be submitted to the Wayang
 JSON API as a single <code>MapPartition</code> operator. This means that the UDFs
 specified in this pipeline can be chained and only on call from Wayang
 to the Python worker will have to be made for a given pipeline.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="coming-soon">Coming soon<a href="https://wayang.apache.org/blog/wayang-python-api#coming-soon" class="hash-link" aria-label="Direct link to Coming soon" title="Direct link to Coming soon">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="coming-soon">Coming soon<a href="https://wayang.apache.org/blog/wayang-python-api#coming-soon" class="hash-link" aria-label="Direct link to Coming soon" title="Direct link to Coming soon" translate="no">​</a></h2>
 <p>As the Python API is currently in development and we are applying
 finishing touches, this article serves as an outlook for what users can
 expect to see soon.</p>
-<p>Author: <a href="https://github.com/juripetersen" target="_blank" rel="noopener noreferrer">juripetersen</a></p>]]></content:encoded>
+<p>Author: <a href="https://github.com/juripetersen" target="_blank" rel="noopener noreferrer" class="">juripetersen</a></p>]]></content:encoded>
             <category>wayang</category>
             <category>python</category>
         </item>
@@ -452,10 +452,10 @@ expect to see soon.</p>
 Motivated by the learnings from last time, I stated implementing a Kafka Source component and a Kafka Sink component for the Apache Spark platform in Apache Wayang.
 In our previous article we shared the results of the work on the frist Apache Kafka integration using the Java Platform.</p>
 <p>Let's see how it goes this time with Apache Spark.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="the-goal-of-this-implementation">The goal of this implementation<a href="https://wayang.apache.org/blog/kafka-meets-wayang-3#the-goal-of-this-implementation" class="hash-link" aria-label="Direct link to The goal of this implementation" title="Direct link to The goal of this implementation">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-goal-of-this-implementation">The goal of this implementation<a href="https://wayang.apache.org/blog/kafka-meets-wayang-3#the-goal-of-this-implementation" class="hash-link" aria-label="Direct link to The goal of this implementation" title="Direct link to The goal of this implementation" translate="no">​</a></h2>
 <p>We want to process data from Apache Kafka topics, which are hosted on Confluent cloud.
 In our example scenario, data is available in multiple different clusters, in different regions and owned by different organizations.
-Each organization uses the <a href="https://docs.confluent.io/cloud/current/stream-sharing/index.html" target="_blank" rel="noopener noreferrer">"stream sharing" feature</a> provided by Confluent cloud.</p>
+Each organization uses the <a href="https://docs.confluent.io/cloud/current/stream-sharing/index.html" target="_blank" rel="noopener noreferrer" class="">"stream sharing" feature</a> provided by Confluent cloud.</p>
 <p>This way, the operator of our central processing job has been granted appropriate permissions. The plaftorm provided the necessary configuration properties, including access coordinates and credentials in the name of the topic owner to us.</p>
 <p>The following illustration has already been introduced in part one of the blog series, but for clarity we repeat it here.</p>
 <p><img decoding="async" loading="lazy" alt="images/image-1.png" src="https://wayang.apache.org/assets/images/image-1-9cc35d5aea2b867d7e5759a96bd02334.png" width="904" height="550" class="img_ev3q"></p>
@@ -464,11 +464,11 @@ Each source allows us to read the data from that particular topic so that we can
 In this example it is a public processing context, in which data from multiple private processing contexts are used together.</p>
 <p>This use case is already prepared for high processing loads We can utilize the scalability capabilities of Apache Spark or simply use a Java program for initial tests of the solution. Switching between both is done in one line of code in Apache Wayang.</p>
 <p>Again, we start with a <strong>WayangContext</strong>, as shown by examples in the Wayang code repository.</p>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">WayangContext wayangContext = new WayangContext().with(Spark.basicPlugin());</span><br></span></code></pr [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">WayangContext wayangContext = new WayangContext().with(Spark.basicPlugin());</span><br></div [...]
 <p>We simply switched the backend system towards Apache Spark by using the <em>WayangContext</em> with <em>Spark.basicPlugin()</em>.
 The <strong>JavaPlanBuilder</strong> and all other logic of our example job won't be touched.</p>
 <p>In order to make this working we will now implement the Mappings and the Operators for the Apache Spark platform module.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="implementation-of-input--and-output-operators">Implementation of Input- and Output Operators<a href="https://wayang.apache.org/blog/kafka-meets-wayang-3#implementation-of-input--and-output-operators" class="hash-link" aria-label="Direct link to Implementation of Input- and Output Operators" title="Direct link to Implementation of Input- and Output Operators">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="implementation-of-input--and-output-operators">Implementation of Input- and Output Operators<a href="https://wayang.apache.org/blog/kafka-meets-wayang-3#implementation-of-input--and-output-operators" class="hash-link" aria-label="Direct link to Implementation of Input- and Output Operators" title="Direct link to Implementation of Input- and Output Operators" translate="no">​</a></h2>
 <p>We reuse the Kafka Source and Kafka Sink components which have been created for the JavaKafkaSource and JavaKafkaSink.
 Hence we work with Wayang's Java API.</p>
 <p><strong>Level 1 – Wayang execution plan with abstract operators</strong></p>
@@ -507,13 +507,13 @@ Those were made specifically for a simple non parallel Java program, using one C
 <p>The selected approach does not yet fully take advantage from Spark's parallelism at load time.
 For higher loads and especially for streaming processing we would have to investigate another approache, using a <em>SparkStreamingContext</em>, but this is out of scope for now.</p>
 <p>Since we can't reuse the <em>JavaKafkaTopicSource</em> and <em>JavaKafkaTopicSink</em> we rather implement <em>SparkKafkaTopicSource</em> and <em>SparkKafkaTopicSink</em> based on given <em>SparkTextFileSource</em> and <em>SparkTextFileSink</em> which both cary all needed RDD specific logic.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="summary">Summary<a href="https://wayang.apache.org/blog/kafka-meets-wayang-3#summary" class="hash-link" aria-label="Direct link to Summary" title="Direct link to Summary">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="summary">Summary<a href="https://wayang.apache.org/blog/kafka-meets-wayang-3#summary" class="hash-link" aria-label="Direct link to Summary" title="Direct link to Summary" translate="no">​</a></h2>
 <p>As expected, the integration of Apache Spark with Apache Wayang was no magic, thanks to a fluent API design and a well structured architecture of Apache Wayang.
 We could easily follow the pattern we have worked out in the previous exercise.</p>
 <p>But a bunch of much more interesting work will follow next.
 More testing, more serialization schemes, and Kafka Schema Registry support should follow, and full parallelization as well.</p>
 <p>The code has been submitted to the Apache Wayang repository.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="outlook">Outlook<a href="https://wayang.apache.org/blog/kafka-meets-wayang-3#outlook" class="hash-link" aria-label="Direct link to Outlook" title="Direct link to Outlook">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="outlook">Outlook<a href="https://wayang.apache.org/blog/kafka-meets-wayang-3#outlook" class="hash-link" aria-label="Direct link to Outlook" title="Direct link to Outlook" translate="no">​</a></h2>
 <p>The next part of the article series will cover the real world example as described in image 1.
 We will show how analysts and developers can use the Apache Kafka integration for Apache Wayang to solve cross organizational collaboration issues.
 Therefore, we will bring all puzzles together, and show the full implementation of the multi organizational data collaboration use case.</p>]]></content:encoded>
@@ -529,8 +529,8 @@ Therefore, we will bring all puzzles together, and show the full implementation
             <pubDate>Fri, 08 Mar 2024 00:00:00 GMT</pubDate>
             <description><![CDATA[We have been asked several times about the difference between Apache Wayang and Presto/Trino. In this blog post, we will clarify the main differences and how they impact various applications and use cases.]]></description>
             <content:encoded><![CDATA[<p>We have been asked several times about the difference between Apache Wayang and Presto/Trino. In this blog post, we will clarify the main differences and how they impact various applications and use cases.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="key-distinctions">Key Distinctions<a href="https://wayang.apache.org/blog/wayang-vs-trino#key-distinctions" class="hash-link" aria-label="Direct link to Key Distinctions" title="Direct link to Key Distinctions">​</a></h2>
-<p>Trino/Presto is a <strong>query engine</strong> for <strong>distributed SQL query processing</strong>. It is composed of a coordinator and multiple workers. The coordinator consists of a query optimizer and a scheduler, while the workers are responsible for performing the necessary query processing. Data is fetched from external systems via a Connector API, i.e., Trino/Presto supports <a href="https://trino.io/ecosystem/data-source" target="_blank" rel="noopener noreferrer">multiple d [...]
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="key-distinctions">Key Distinctions<a href="https://wayang.apache.org/blog/wayang-vs-trino#key-distinctions" class="hash-link" aria-label="Direct link to Key Distinctions" title="Direct link to Key Distinctions" translate="no">​</a></h2>
+<p>Trino/Presto is a <strong>query engine</strong> for <strong>distributed SQL query processing</strong>. It is composed of a coordinator and multiple workers. The coordinator consists of a query optimizer and a scheduler, while the workers are responsible for performing the necessary query processing. Data is fetched from external systems via a Connector API, i.e., Trino/Presto supports <a href="https://trino.io/ecosystem/data-source" target="_blank" rel="noopener noreferrer" class="">m [...]
 <p>In contrast, Wayang is a <strong>middleware</strong> for <strong>integrating diverse data platforms</strong>, including but not limited to query engines. This means that Wayang leverages the processing capabilities of the underlying data platforms to complete a given job, with no actual query processing taking place within Wayang itself.</p>
 <p>Below you can graphically see the difference between the two systems. Note that not all available data sources or data platforms are illustrated for simplicity reasons.</p>
 <p>Below you can see how Wayang integrates data platforms and utilizes them for any data processing required.</p>
@@ -545,25 +545,25 @@ Therefore, we will bring all puzzles together, and show the full implementation
 <p>I hope this makes it clear now. <br>
 In fact, Trino can be easily plugged to Wayang as a platform and be seamlessly integrated with other data platforms, as shown below.</p>
 <img width="75%" alt="Trino" src="https://wayang.apache.org/img/blog/wayang-with-trino.png">
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="what-are-the-advantages-of-using-wayang">What are the advantages of using Wayang?<a href="https://wayang.apache.org/blog/wayang-vs-trino#what-are-the-advantages-of-using-wayang" class="hash-link" aria-label="Direct link to What are the advantages of using Wayang?" title="Direct link to What are the advantages of using Wayang?">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-are-the-advantages-of-using-wayang">What are the advantages of using Wayang?<a href="https://wayang.apache.org/blog/wayang-vs-trino#what-are-the-advantages-of-using-wayang" class="hash-link" aria-label="Direct link to What are the advantages of using Wayang?" title="Direct link to What are the advantages of using Wayang?" translate="no">​</a></h2>
 <p>Wayang brings several benefits thanks to its integration layer:</p>
 <ul>
-<li>
+<li class="">
 <p>Seamless integration of SQL query engines with ML and other data analysis systems within a single job, eliminating the need to materialize intermediate results.</p>
 </li>
-<li>
+<li class="">
 <p>Users are freed from the task of specifying the query engines for an application if they desire. By submitting their Wayang job, the cross-platform optimizer can automatically determine the best data platform to use for improved performance or cost savings.</p>
 </li>
-<li>
+<li class="">
 <p>Wayang facilitates cross-platform data processing by utilizing multiple data platforms to execute a query for a single job, optimizing performance and cost efficiency.</p>
 </li>
-<li>
+<li class="">
 <p>Data does not have to be transferred outside their original location.</p>
 </li>
 </ul>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="conclusion">Conclusion<a href="https://wayang.apache.org/blog/wayang-vs-trino#conclusion" class="hash-link" aria-label="Direct link to Conclusion" title="Direct link to Conclusion">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="conclusion">Conclusion<a href="https://wayang.apache.org/blog/wayang-vs-trino#conclusion" class="hash-link" aria-label="Direct link to Conclusion" title="Direct link to Conclusion" translate="no">​</a></h2>
 <p>Trino is a distributed SQL query engine which performs all the query processing of an input SQL query in a distributed manner. Wayang, on the other hand, is a data platform integrator which can automatically determine which data platform(s) is best suited for an application.</p>
-<p>Author: <a href="https://github.com/zkaoudi" target="_blank" rel="noopener noreferrer">zkaoudi</a></p>]]></content:encoded>
+<p>Author: <a href="https://github.com/zkaoudi" target="_blank" rel="noopener noreferrer" class="">zkaoudi</a></p>]]></content:encoded>
             <category>wayang</category>
             <category>presto</category>
             <category>trino</category>
@@ -576,23 +576,23 @@ In fact, Trino can be easily plugged to Wayang as a platform and be seamlessly i
             <description><![CDATA[In the second part of the article series we describe the implementation of the Kafka Source and Kafka Sink component for Apache Wayang.]]></description>
             <content:encoded><![CDATA[<p>In the second part of the article series we describe the implementation of the Kafka Source and Kafka Sink component for Apache Wayang.
 We look into the “Read- and Write-Path” for our data items, called <em>DataQuanta</em>.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="apache-wayangs-read--write-path-for-kafka-topics">Apache Wayang’s Read &amp; Write Path for Kafka topics<a href="https://wayang.apache.org/blog/kafka-meets-wayang-2#apache-wayangs-read--write-path-for-kafka-topics" class="hash-link" aria-label="Direct link to Apache Wayang’s Read &amp; Write Path for Kafka topics" title="Direct link to Apache Wayang’s Read &amp; Write Path for Kafka topics">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="apache-wayangs-read--write-path-for-kafka-topics">Apache Wayang’s Read &amp; Write Path for Kafka topics<a href="https://wayang.apache.org/blog/kafka-meets-wayang-2#apache-wayangs-read--write-path-for-kafka-topics" class="hash-link" aria-label="Direct link to Apache Wayang’s Read &amp; Write Path for Kafka topics" title="Direct link to Apache Wayang’s Read &amp; Write Path for Kafka topics" translate="no">​</a></h2>
 <p>To describe the read and write paths for data in the context of the created Apache Wayang code snippet, the primary classes and interfaces we need to understand are as follows:</p>
 <p><strong>WayangContext:</strong> This class is essential for initializing the Wayang processing environment.
 It allows you to configure the execution environment and register plugins that define which platforms Wayang can use for data processing tasks, such as <em>Java.basicPlugin()</em> for local Java execution.</p>
 <p><strong>JavaPlanBuilder:</strong> This class is used to build and define the data processing pipeline (or plan) in Wayang.
 It provides a fluent API to specify the operations to be performed on the data, from reading the input to processing it and writing the output.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="read-path">Read Path<a href="https://wayang.apache.org/blog/kafka-meets-wayang-2#read-path" class="hash-link" aria-label="Direct link to Read Path" title="Direct link to Read Path">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="read-path">Read Path<a href="https://wayang.apache.org/blog/kafka-meets-wayang-2#read-path" class="hash-link" aria-label="Direct link to Read Path" title="Direct link to Read Path" translate="no">​</a></h3>
 <p>The read path describes how data is ingested from a source into the Wayang processing pipeline:</p>
 <p><em>Reading from Kafka Topic:</em> The method <em>readKafkaTopic(topicName)</em> is used to ingest data from a specified Kafka topic.
 This is the starting point of the data processing pipeline, where topicName represents the name of the Kafka topic from which data is read.</p>
 <p><em>Data Tokenization and Preparation:</em> Once the data is read from Kafka, it undergoes several transformations such as Splitting, Filtering, and Mapping.
 What follows are the procedures known as Reducing, Grouping, Co-Grouping, and Counting.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="write-path">Write Path<a href="https://wayang.apache.org/blog/kafka-meets-wayang-2#write-path" class="hash-link" aria-label="Direct link to Write Path" title="Direct link to Write Path">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="write-path">Write Path<a href="https://wayang.apache.org/blog/kafka-meets-wayang-2#write-path" class="hash-link" aria-label="Direct link to Write Path" title="Direct link to Write Path" translate="no">​</a></h3>
 <p><em>Writing to Kafka Topic:</em> The final step in the pipeline involves writing the processed data back to a Kafka topic using <em>.writeKafkaTopic(...)</em>.
 This method takes parameters that specify the target Kafka topic, a serialization function to format the data as strings, and additional configuration for load profile estimation, which optimizes the writing process.</p>
 <p>This read-write path provides a comprehensive flow of data from ingestion from Kafka, through various processing steps, and finally back to Kafka, showcasing a full cycle of data processing within Apache Wayang's abstracted environment and is implemented in our example program shown in <em>listing 1</em>.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="implementation-of-input--and-output-operators">Implementation of Input- and Output Operators<a href="https://wayang.apache.org/blog/kafka-meets-wayang-2#implementation-of-input--and-output-operators" class="hash-link" aria-label="Direct link to Implementation of Input- and Output Operators" title="Direct link to Implementation of Input- and Output Operators">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="implementation-of-input--and-output-operators">Implementation of Input- and Output Operators<a href="https://wayang.apache.org/blog/kafka-meets-wayang-2#implementation-of-input--and-output-operators" class="hash-link" aria-label="Direct link to Implementation of Input- and Output Operators" title="Direct link to Implementation of Input- and Output Operators" translate="no">​</a></h2>
 <p>The next section shows how a new pair of operators can be implemented to extend Apache Wayang’s capabilities on the input and output side.
 We created the Kafka Source and Kafka Sink components so that our cross organizational data collaboration scenario can be implemented using data streaming infrastructure.</p>
 <p><strong>Level 1 – Wayang execution plan with abstract operators</strong></p>
@@ -625,11 +625,11 @@ All this is done in the project <em>wayang-plarforms/wayang-java</em>.</p>
 Both are implemented in Java programming language.
 In this layer, the real Kafka-Client logic is defined.
 Details about consumer and producers, client configuration, and schema handling have to be handled here.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="summary">Summary<a href="https://wayang.apache.org/blog/kafka-meets-wayang-2#summary" class="hash-link" aria-label="Direct link to Summary" title="Direct link to Summary">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="summary">Summary<a href="https://wayang.apache.org/blog/kafka-meets-wayang-2#summary" class="hash-link" aria-label="Direct link to Summary" title="Direct link to Summary" translate="no">​</a></h2>
 <p>Both classes in the third layer implement the Kafka client logic which is needed by the Wayang-execution plan when external data flows should be established.
 The layer above handles the mapping of the components at startup time.
 All this wiring is needed to keep Wayang open and flexible so that multiple external systems can be used in a variety of combinations and using multiple target platforms in combinations.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="outlook">Outlook<a href="https://wayang.apache.org/blog/kafka-meets-wayang-2#outlook" class="hash-link" aria-label="Direct link to Outlook" title="Direct link to Outlook">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="outlook">Outlook<a href="https://wayang.apache.org/blog/kafka-meets-wayang-2#outlook" class="hash-link" aria-label="Direct link to Outlook" title="Direct link to Outlook" translate="no">​</a></h2>
 <p>The next part of the article series will cover the creation of an Kafka Source and Sink component for the Apache Spark platform, which allows our use case to scale.
 Finally, in part four we bring all puzzles together, and show the full implementation of the multi organizational data collaboration use case.</p>]]></content:encoded>
             <category>wayang</category>
@@ -642,7 +642,7 @@ Finally, in part four we bring all puzzles together, and show the full implement
             <guid>https://wayang.apache.org/blog/kafka-meets-wayang-1</guid>
             <pubDate>Tue, 05 Mar 2024 00:00:00 GMT</pubDate>
             <description><![CDATA[Intro]]></description>
-            <content:encoded><![CDATA[<h2 class="anchor anchorWithStickyNavbar_LWe7" id="intro">Intro<a href="https://wayang.apache.org/blog/kafka-meets-wayang-1#intro" class="hash-link" aria-label="Direct link to Intro" title="Direct link to Intro">​</a></h2>
+            <content:encoded><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="intro">Intro<a href="https://wayang.apache.org/blog/kafka-meets-wayang-1#intro" class="hash-link" aria-label="Direct link to Intro" title="Direct link to Intro" translate="no">​</a></h2>
 <p>This article is the first of a four part series about federated data analysis using Apache Wayang.
 The first article starts with an introduction of a typical data colaboration scenario which will emerge in our digital future.</p>
 <p>In part two and three we will share a summary of our Apache Kafka client implementation for Apache Wayang.
@@ -655,7 +655,7 @@ This reduces complexity of data management and cost dramatically.</p>
 <p>For this purpose, we illustrate a cross organizational data sharing scenario from the finance sector soon.
 This analysis pattern will also be relevant in the context of data analysis along supply chains, another typical example where data from many stakeholder together is needed but never managed in one place, for good reasons.</p>
 <p>Data federation can help us to unlock the hidden value of all those isolated data lakes.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="a-cross-organizational-data-sharing-scenario">A cross organizational data sharing scenario<a href="https://wayang.apache.org/blog/kafka-meets-wayang-1#a-cross-organizational-data-sharing-scenario" class="hash-link" aria-label="Direct link to A cross organizational data sharing scenario" title="Direct link to A cross organizational data sharing scenario">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="a-cross-organizational-data-sharing-scenario">A cross organizational data sharing scenario<a href="https://wayang.apache.org/blog/kafka-meets-wayang-1#a-cross-organizational-data-sharing-scenario" class="hash-link" aria-label="Direct link to A cross organizational data sharing scenario" title="Direct link to A cross organizational data sharing scenario" translate="no">​</a></h2>
 <p>Our goal is the implementation of a cross organization decentralized data processing scenario, in which protected local data should be processed in combination with public data from public sources in a collaborative manner.
 Instead of copying all data into a central data lake or a central data platform we decided to use federated analytics.
 Apache Wayang is the tool we work with.
@@ -697,35 +697,35 @@ Later, we want to switch to Apache Spark.</p>]]></content:encoded>
             <pubDate>Thu, 25 Jan 2024 00:00:00 GMT</pubDate>
             <description><![CDATA[We're updated our website and use now Docusaurus.]]></description>
             <content:encoded><![CDATA[<p>We're updated our website and use now Docusaurus.</p>
-<p>Author: <a href="https://github.com/2pk03" target="_blank" rel="noopener noreferrer">2pk03</a></p>
+<p>Author: <a href="https://github.com/2pk03" target="_blank" rel="noopener noreferrer" class="">2pk03</a></p>
 <p>We switched to a new CMS. That's all.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="cheatsheet">Cheatsheet<a href="https://wayang.apache.org/blog/website_update#cheatsheet" class="hash-link" aria-label="Direct link to Cheatsheet" title="Direct link to Cheatsheet">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="cheatsheet">Cheatsheet<a href="https://wayang.apache.org/blog/website_update#cheatsheet" class="hash-link" aria-label="Direct link to Cheatsheet" title="Direct link to Cheatsheet" translate="no">​</a></h2>
 <p>List:</p>
 <ul>
-<li>Line one<!-- -->
+<li class="">Line one<!-- -->
 <ul>
-<li>Line one.one</li>
-<li>Line one.two</li>
+<li class="">Line one.one</li>
+<li class="">Line one.two</li>
 </ul>
 </li>
-<li>Line two<!-- -->
+<li class="">Line two<!-- -->
 <ul>
-<li>Line two.one</li>
-<li>Line two.two</li>
+<li class="">Line two.one</li>
+<li class="">Line two.two</li>
 </ul>
 </li>
-<li>Line three<!-- -->
+<li class="">Line three<!-- -->
 <ul>
-<li>...</li>
-<li>...</li>
+<li class="">...</li>
+<li class="">...</li>
 </ul>
 </li>
 </ul>
 <p>Another style for a list:</p>
 <ul>
-<li>Line one</li>
-<li>Line two</li>
-<li>Line three</li>
+<li class="">Line one</li>
+<li class="">Line two</li>
+<li class="">Line three</li>
 </ul>]]></content:encoded>
             <category>wayang</category>
         </item>
diff --git a/blog/spatial-wayang/index.html b/blog/spatial-wayang/index.html
index 11c4b925..845d0b03 100644
--- a/blog/spatial-wayang/index.html
+++ b/blog/spatial-wayang/index.html
@@ -2,58 +2,61 @@
 <html lang="en" dir="ltr" class="blog-wrapper blog-post-page plugin-blog plugin-id-default" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
-<title data-rh="true">Bringing Spatial Data Processing to Apache Wayang | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/blog/spatial-wayang"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusau [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<meta name="generator" content="Docusaurus v3.10.1">
+<title data-rh="true">Bringing Spatial Data Processing to Apache Wayang | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/blog/spatial-wayang"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusau [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="implementation">Implementation<a href="#implementation" class="hash-link" aria-label="Direct link to Implementation" title="Direct link to Implementation">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="implementation">Implementation<a href="#implementation" class="hash-link" aria-label="Direct link to Implementation" title="Direct link to Implementation" translate="no">​</a></h2>
 <p>Workflows including spatial operators are not the main task in Apache Wayang. Therefore, we chose to add spatial support as a plugin that can be enabled separately.</p>
 <p>The two new operators we added are SpatialFilter and SpatialJoin, since many spatial workflows primarily rely on these two operations.</p>
 <p>To support multiple data sources and geometry formats, we introduced an internal geometry representation, SpatialGeometry, that enables translation between formats. This allows geometries stored as WKT, WKB, and GeoJSON to be read and, if necessary, converted to the type expected by the consuming operator.</p>
 <p>For the execution of spatial jobs, we currently support Java, PostgreSQL, and Spark as backends. The Spark implementation uses Apache Sedona, a well-established library for distributed processing of spatial data. The Java implementation is based on JTS, and the PostgreSQL platform uses PostGIS for spatial operations.</p>
-<div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token class-name">WayangContext</span><span class="token plain"> wayangContext </span><span class="token [...]
+<div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token class-name">WayangContext</span><span class="token plain"> wayangContext </span><span class="token  [...]
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="why-spatial-is-a-plugin-not-a-platform">Why Spatial Is a Plugin, Not a Platform<a href="#why-spatial-is-a-plugin-not-a-platform" class="hash-link" aria-label="Direct link to Why Spatial Is a Plugin, Not a Platform" title="Direct link to Why Spatial Is a Plugin, Not a Platform">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="why-spatial-is-a-plugin-not-a-platform">Why Spatial Is a Plugin, Not a Platform<a href="#why-spatial-is-a-plugin-not-a-platform" class="hash-link" aria-label="Direct link to Why Spatial Is a Plugin, Not a Platform" title="Direct link to Why Spatial Is a Plugin, Not a Platform" translate="no">​</a></h2>
 <p>In the current Wayang architecture, a platform is responsible for runtime ownership: it defines a Platform implementation, provides an executor factory, defines channel conversions, and integrates cost models. This can be seen clearly in modules such as Java (JavaPlatform + JavaExecutor) and PostgreSQL (PostgresPlatform via JdbcPlatformTemplate + JdbcExecutor).</p>
 <p>The spatial extension is intentionally different. It does not introduce a new Platform subclass and does not provide its own executor. Instead, wayang-spatial is implemented as a plugin (Spatial.java) that contributes operators, mappings for those operators, and specifies required platforms.</p>
 <p>The logical spatial operators (<code>SpatialFilterOperator</code>, <code>SpatialJoinOperator</code>, <code>GeoJsonFileSource</code>) still live in <code>wayang-basic</code> and are included in the Java-Scala API. The spatial plugin extends the system by adding platform-specific execution operators and transformation rules that map Wayang operators to their platform implementations.</p>
 <p>At registration time, <code>WayangContext.withPlugin(...)</code> calls <code>plugin.configure(configuration)</code>. This whitelists the required platforms and spatial mappings. During optimization, mappings such as <code>SpatialFilterMapping</code> and <code>SpatialJoinMapping</code> rewrite logical operators into execution operators such as:</p>
 <ul>
-<li><code>JavaSpatialFilterOperator</code> / <code>JavaSpatialJoinOperator</code></li>
-<li><code>SparkSpatialFilterOperator</code> / <code>SparkSpatialJoinOperator</code></li>
-<li><code>PostgresSpatialFilterOperator</code> / <code>PostgresSpatialJoinOperator</code></li>
+<li class=""><code>JavaSpatialFilterOperator</code> / <code>JavaSpatialJoinOperator</code></li>
+<li class=""><code>SparkSpatialFilterOperator</code> / <code>SparkSpatialJoinOperator</code></li>
+<li class=""><code>PostgresSpatialFilterOperator</code> / <code>PostgresSpatialJoinOperator</code></li>
 </ul>
 <p>Execution is then handled by the existing platform runtimes:</p>
 <ul>
-<li>Java operators are executed by <code>JavaExecutor</code></li>
-<li>Spark operators are executed by <code>SparkExecutor</code></li>
-<li>PostgreSQL operators are executed through the JDBC runtime (<code>JdbcExecutor</code>)</li>
+<li class="">Java operators are executed by <code>JavaExecutor</code></li>
+<li class="">Spark operators are executed by <code>SparkExecutor</code></li>
+<li class="">PostgreSQL operators are executed through the JDBC runtime (<code>JdbcExecutor</code>)</li>
 </ul>
 <p>In practice, this is why applications have to register both a platform plugin (for general operators and channels) and a spatial plugin (for spatial mappings), for example <code>Java.basicPlugin()</code> + <code>Spatial.javaPlugin()</code> or <code>Spark.basicPlugin()</code> + <code>Spatial.sparkPlugin()</code>.</p>
 <p>This design provides three concrete advantages:</p>
 <ul>
-<li>No duplicate runtime stack, since executors, channels, and cost models remain centralized in the platforms</li>
-<li>Clean multi-platform support for the same spatial semantics</li>
-<li>Lower maintenance overhead, because spatial development efforts can focus on operator logic and mappings rather than recreating infrastructure</li>
+<li class="">No duplicate runtime stack, since executors, channels, and cost models remain centralized in the platforms</li>
+<li class="">Clean multi-platform support for the same spatial semantics</li>
+<li class="">Lower maintenance overhead, because spatial development efforts can focus on operator logic and mappings rather than recreating infrastructure</li>
 </ul>
 <p>Spatial support in Wayang is therefore best understood as a cross-platform capability extension: it contributes spatial semantics and translation, while execution remains fully owned by the underlying platforms.</p>
 <div style="text-align:center"><img width="90%" alt="wayang-spatial architecture" src="/img/architecture/wayang-spatial-architecture.png"></div>
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="benchmarks">Benchmarks<a href="#benchmarks" class="hash-link" aria-label="Direct link to Benchmarks" title="Direct link to Benchmarks">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="benchmarks">Benchmarks<a href="#benchmarks" class="hash-link" aria-label="Direct link to Benchmarks" title="Direct link to Benchmarks" translate="no">​</a></h2>
 <p>Below we show scenarios where it is advantageous to be able to freely choose the execution depending on the use case. The following benchmarks are not intended to be exhaustive tests of our new operators but rather to highlight how using the platform independence of Apache Wayang can speed up spatial jobs. We executed the benchmarks on an HPC cluster with reproducible Spark cluster configurations.</p>
 <div style="text-align:center"><img width="75%" alt="Spatial benchmark 1" src="/img/benchmarks/spatial-bench1.png"></div>
 <ul>
-<li><strong>Job 1:</strong> Spatial Join of parks (~44k) and lakes (~140k) in Germany with spatial predicate CONTAINS, no index on Postgres tables, Spark cluster with 4 nodes</li>
-<li><strong>Job 2:</strong> Spatial Join of parks (~44k) and lakes (~140k) in Germany with spatial predicate CONTAINS, spatial index on Postgres tables, Spark cluster with 4 nodes</li>
-<li><strong>Job 3:</strong> Spatial Join of two synthetic datasets containing boxes (100k and 1M) with spatial predicate INTERSECTS, spatial index on Postgres tables, Spark cluster with 8 nodes</li>
+<li class=""><strong>Job 1:</strong> Spatial Join of parks (~44k) and lakes (~140k) in Germany with spatial predicate CONTAINS, no index on Postgres tables, Spark cluster with 4 nodes</li>
+<li class=""><strong>Job 2:</strong> Spatial Join of parks (~44k) and lakes (~140k) in Germany with spatial predicate CONTAINS, spatial index on Postgres tables, Spark cluster with 4 nodes</li>
+<li class=""><strong>Job 3:</strong> Spatial Join of two synthetic datasets containing boxes (100k and 1M) with spatial predicate INTERSECTS, spatial index on Postgres tables, Spark cluster with 8 nodes</li>
 </ul>
 <p>The above figure shows that there are use cases in which each of the currently supported platforms performs best. For small datasets, Java performs best if there is no spatial index available for Postgres; otherwise, Postgres outperforms Java. Due to the Spark overhead, Sedona running on a Spark cluster only gains an advantage in jobs with large datasets, as seen in Job 3.</p>
-<p>This is also evident in the following figure. While Java and Postgres perform better than Sedona on a Spark cluster for joins on small datasets, this trend reverses for joins of larger datasets. Especially for the join of 100k and 10M boxes (generated using <a href="https://star.cs.ucr.edu" target="_blank" rel="noopener noreferrer">star.cs.ucr.edu</a>), the Spark cluster outperforms the single node execution of Java and Postgres. The poor performance of Sedona/Spark on a cluster with  [...]
+<p>This is also evident in the following figure. While Java and Postgres perform better than Sedona on a Spark cluster for joins on small datasets, this trend reverses for joins of larger datasets. Especially for the join of 100k and 10M boxes (generated using <a href="https://star.cs.ucr.edu" target="_blank" rel="noopener noreferrer" class="">star.cs.ucr.edu</a>), the Spark cluster outperforms the single node execution of Java and Postgres. The poor performance of Sedona/Spark on a clus [...]
 <div style="text-align:center"><img width="75%" alt="Spatial benchmark 2" src="/img/benchmarks/spatial-bench2.png"></div>
 <p>The performance gained by using larger cluster configurations can also be seen in the following visualization of runtime results of box joins with datasets of various sizes.</p>
 <div style="text-align:center"><img width="75%" alt="Spatial benchmark 3" src="/img/benchmarks/spatial-bench3.png"></div>
@@ -61,10 +64,10 @@
 <div style="text-align:center"><img width="75%" alt="Spatial benchmark 4" src="/img/benchmarks/spatial-bench4.png"></div>
 <p>The benchmark results show multiple scenarios in which platform choice has a significant impact on runtime. Spatial data processing can therefore benefit greatly from using the new spatial operators in Apache Wayang.</p>
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="future-work">Future Work<a href="#future-work" class="hash-link" aria-label="Direct link to Future Work" title="Direct link to Future Work">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="future-work">Future Work<a href="#future-work" class="hash-link" aria-label="Direct link to Future Work" title="Direct link to Future Work" translate="no">​</a></h2>
 <p>Our spatial extension enables basic spatial workloads using filter and join operations on the Java, Spark, and Postgres platforms. However, additional operators like nearest neighbor or within-distance operations could enable even more complex scenarios.</p>
 <p>Adding platforms specifically designed for spatial data processing could improve performance even further. An interesting candidate for this could be the relatively recently introduced Apache SedonaDB database engine.</p>
-<p>Currently, the execution platform has to be chosen manually. Part of potential future work should therefore be the implementation of heuristics for platform selection.</p></div><footer class="row docusaurus-mt-lg blogPostFooterDetailsFull_mRVl"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/bl [...]
+<p>Currently, the execution platform has to be chosen manually. Part of potential future work should therefore be the implementation of heuristics for platform selection.</p></div><footer class="docusaurus-mt-lg"><div class="row margin-top--sm theme-blog-footer-edit-meta-row"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a rel [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/blog/tags/ai/index.html b/blog/tags/ai/index.html
index 7a7a16d8..3fdc7ce3 100644
--- a/blog/tags/ai/index.html
+++ b/blog/tags/ai/index.html
@@ -2,14 +2,17 @@
 <html lang="en" dir="ltr" class="blog-wrapper blog-tags-post-list-page plugin-blog plugin-id-default" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
+<meta name="generator" content="Docusaurus v3.10.1">
 <title data-rh="true">One post tagged with &quot;ai&quot; | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/blog/tags/ai"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content= [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
 detecting early signs of cancer cells. Building an AI requires a lot of data and training to achieve
 the desired results, and federated learning is an approach to make AI training more viable.
 Federated learning (or collaborative learning) is a technique that trains AI models on data
@@ -19,7 +22,7 @@ personal data. One of the significant challenges in working with AI is the varie
 in the market or the open-source community. Each tool provides results in a different form;
 integrating them can be pretty challenging. Let&#x27;s talk about Apache Wayang and
 how it can help to solve this problem.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="apache-wayang-in-the-federated-ai-world">Apache Wayang in the Federated AI world<a href="#apache-wayang-in-the-federated-ai-world" class="hash-link" aria-label="Direct link to Apache Wayang in the Federated AI world" title="Direct link to Apache Wayang in the Federated AI world">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="apache-wayang-in-the-federated-ai-world">Apache Wayang in the Federated AI world<a href="#apache-wayang-in-the-federated-ai-world" class="hash-link" aria-label="Direct link to Apache Wayang in the Federated AI world" title="Direct link to Apache Wayang in the Federated AI world" translate="no">​</a></h2>
 <p>Apache Wayang (Wayang, for short), an Apache Software Foundation top-level project,
 integrates big data platforms and tools by removing the complexity of
 worrying about low-level details. Interestingly, even if it was not designed for, Wayang could
@@ -27,7 +30,7 @@ also serve as a scalable platform for federated learning: the Wayang community i
 work on integrating federated learning capabilities. In a federated learning approach, Wayang
 would allow different local models to be built and exchange its model results across other data
 centers to combine them into a single enhanced model.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="a-real-world-example">A real-world example<a href="#a-real-world-example" class="hash-link" aria-label="Direct link to A real-world example" title="Direct link to A real-world example">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="a-real-world-example">A real-world example<a href="#a-real-world-example" class="hash-link" aria-label="Direct link to A real-world example" title="Direct link to A real-world example" translate="no">​</a></h2>
 <p>Let&#x27;s consider a real-world scenario. Hospitals and health organizations have increased their
 investments in machine/deep learning initiatives to learn more and predict diagnostics.
 However, due to legal frameworks, sharing patients&#x27; information or diagnostics is impossible,
@@ -52,16 +55,16 @@ layer of complexity from the developers by integrating with diverse types of dat
 also brings fast development and reduces the need for a deep understanding of data
 infrastructure or integrations. Developers can focus on the logic and how to execute tasks
 instead of details about data processors.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="follow-wayang">Follow Wayang<a href="#follow-wayang" class="hash-link" aria-label="Direct link to Follow Wayang" title="Direct link to Follow Wayang">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="follow-wayang">Follow Wayang<a href="#follow-wayang" class="hash-link" aria-label="Direct link to Follow Wayang" title="Direct link to Follow Wayang" translate="no">​</a></h3>
 <p>Apache Wayang is a top-level ASF project with a potential roadmap of implementations
 coming soon (including the federated learning aspect as well as an SQL interface and a novel
 data debugging functionality). If you want to hear or join the community, consult the link
-<a href="https://wayang.apache.org/community/" target="_blank" rel="noopener noreferrer">https://wayang.apache.org/community/</a> , join the mailing lists, contribute with new ideas,
+<a href="https://wayang.apache.org/community/" target="_blank" rel="noopener noreferrer" class="">https://wayang.apache.org/community/</a> , join the mailing lists, contribute with new ideas,
 write documentation, or fix bugs.</p>
 <br>
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="thank-you">Thank you!<a href="#thank-you" class="hash-link" aria-label="Direct link to Thank you!" title="Direct link to Thank you!">​</a></h5>
+<h5 class="anchor anchorTargetStickyNavbar_Vzrq" id="thank-you">Thank you!<a href="#thank-you" class="hash-link" aria-label="Direct link to Thank you!" title="Direct link to Thank you!" translate="no">​</a></h5>
 <p>I (Gláucia) want to thank professor Jorge Quiané for the guidance to write this blog post.
-Thanks for incentivate me to join the project and for the knowledge shared. I will always remember you.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/federated">federated</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href [...]
+Thanks for incentivate me to join the project and for the knowledge shared. I will always remember you.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/federated">federated</a></li><li class="tag_QGVx"><a rel="tag" class=" [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/blog/tags/asf/index.html b/blog/tags/asf/index.html
index f8d8f974..1c983071 100644
--- a/blog/tags/asf/index.html
+++ b/blog/tags/asf/index.html
@@ -2,161 +2,164 @@
 <html lang="en" dir="ltr" class="blog-wrapper blog-tags-post-list-page plugin-blog plugin-id-default" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
+<meta name="generator" content="Docusaurus v3.10.1">
 <title data-rh="true">2 posts tagged with &quot;ASF&quot; | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/blog/tags/asf"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
 <p>This graduation rewards the community-driven effort, research, innovation, and collaboration of many years. It reflects our shared commitment to open-source development and the growing importance of cross-platform data processing in the broader data ecosystem nowadays.
 Graduating as an Apache Top-Level Project is an important recognition of the project’s maturity and ensures that Apache Wayang is backed by the full support and oversight of the ASF, guaranteeing openness, meritocracy, and a sustainable development model for years to come.</p>
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="what-is-apache-wayang">What Is Apache Wayang?<a href="#what-is-apache-wayang" class="hash-link" aria-label="Direct link to What Is Apache Wayang?" title="Direct link to What Is Apache Wayang?">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-is-apache-wayang">What Is Apache Wayang?<a href="#what-is-apache-wayang" class="hash-link" aria-label="Direct link to What Is Apache Wayang?" title="Direct link to What Is Apache Wayang?" translate="no">​</a></h2>
 <p>Apache Wayang (formerly known as Rheem) is a <strong>cross-platform data processing system</strong> designed to give developers and organizations a unified way to execute pipelines over multiple data processing engines—such as Apache Spark, Apache Flink, PostgreSQL, and more.</p>
 <p>Instead of forcing users to choose a single execution backend, Wayang:</p>
 <ul>
-<li><strong>Abstracts data processing engines</strong> through a unified API</li>
-<li><strong>Can automatically choose the best execution platform</strong> based on workload characteristics</li>
-<li><strong>Optimizes performance</strong> by distributing tasks across engines if necessary</li>
-<li><strong>Provides a flexible plugin architecture</strong> for integrating new platforms and optimizers</li>
+<li class=""><strong>Abstracts data processing engines</strong> through a unified API</li>
+<li class=""><strong>Can automatically choose the best execution platform</strong> based on workload characteristics</li>
+<li class=""><strong>Optimizes performance</strong> by distributing tasks across engines if necessary</li>
+<li class=""><strong>Provides a flexible plugin architecture</strong> for integrating new platforms and optimizers</li>
 </ul>
 <p>In other words, Wayang enables interoperability across the diverse data landscape and empowers teams to focus on application logic and not infrastructure decisions.</p>
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="thank-you-to-our-community">Thank You to Our Community<a href="#thank-you-to-our-community" class="hash-link" aria-label="Direct link to Thank You to Our Community" title="Direct link to Thank You to Our Community">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="thank-you-to-our-community">Thank You to Our Community<a href="#thank-you-to-our-community" class="hash-link" aria-label="Direct link to Thank You to Our Community" title="Direct link to Thank You to Our Community" translate="no">​</a></h2>
 <p>Apache Wayang wouldn’t exist without its community of developers, users, mentors, and advocates who contributed code, documentation, feedback, and support. A special thanks goes to our Incubator mentors, who helped guide the project through the Apache processes and best practices.
 Your contributions made this milestone possible, and we’re just getting started.</p>
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="get-involved">Get Involved!<a href="#get-involved" class="hash-link" aria-label="Direct link to Get Involved!" title="Direct link to Get Involved!">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="get-involved">Get Involved!<a href="#get-involved" class="hash-link" aria-label="Direct link to Get Involved!" title="Direct link to Get Involved!" translate="no">​</a></h2>
 <p>Whether you want to try Wayang for your next project, contribute code, write documentation, or share your ideas, your participation is welcome. Here’s how to get started:</p>
 <ul>
-<li>Explore the documentation</li>
-<li>Join our community mailing lists</li>
-<li>Contribute to discussions and development</li>
-<li>Try Wayang on your data workloads</li>
+<li class="">Explore the documentation</li>
+<li class="">Join our community mailing lists</li>
+<li class="">Contribute to discussions and development</li>
+<li class="">Try Wayang on your data workloads</li>
 </ul>
-<p>Welcome to Apache Wayang — where data platforms work together!</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/asf">ASF</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/graduation">graduation</a></li><li cl [...]
+<p>Welcome to Apache Wayang — where data platforms work together!</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/asf">ASF</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/graduat [...]
 <p>The ASF provides a robust infrastructure for open communities of software developers. We can share ideas, combine forces, contribute code, docs, review-energy, art work, and from time to time we can nail it down. A release defines an intermediate result of the continuous community work.</p>
 <p>How we do such a release in the Apache Wayang team is an essential aspect towards graduation. First of all, there are some references to take into account, such as:</p>
 <ul>
-<li><a href="https://www.apache.org/legal/release-policy.html" target="_blank" rel="noopener noreferrer">https://www.apache.org/legal/release-policy.html</a></li>
-<li><a href="https://maven.apache.org/maven-release/maven-release-plugin/" target="_blank" rel="noopener noreferrer">https://maven.apache.org/maven-release/maven-release-plugin/</a></li>
+<li class=""><a href="https://www.apache.org/legal/release-policy.html" target="_blank" rel="noopener noreferrer" class="">https://www.apache.org/legal/release-policy.html</a></li>
+<li class=""><a href="https://maven.apache.org/maven-release/maven-release-plugin/" target="_blank" rel="noopener noreferrer" class="">https://maven.apache.org/maven-release/maven-release-plugin/</a></li>
 </ul>
 <p>Assuming you are (P)PMC, and assuming that you have the right permissions for such a release, you can follow the path as described in this guide:</p>
 <ul>
-<li><a href="https://plc4x.apache.org/plc4x/latest/developers/release/release.html" target="_blank" rel="noopener noreferrer">https://plc4x.apache.org/developers/release/release.html</a></li>
+<li class=""><a href="https://plc4x.apache.org/plc4x/latest/developers/release/release.html" target="_blank" rel="noopener noreferrer" class="">https://plc4x.apache.org/developers/release/release.html</a></li>
 </ul>
 <p>I tried to follow exactly this procedure, several times. I failed. Here I share the current status of my <strong>release attempts</strong>.</p>
 <p>I plan a longer tour, and do not want to block the project for a long time.
 Hence I create this draft, and I hope we can unblock this project as soon as possible.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="status">Status:<a href="#status" class="hash-link" aria-label="Direct link to Status:" title="Direct link to Status:">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="status">Status:<a href="#status" class="hash-link" aria-label="Direct link to Status:" title="Direct link to Status:" translate="no">​</a></h2>
 <p>I am not able to conduct the <em>mvn release:perform</em> step.
 Anything before worked, sometimes only after some digging, but it worked.</p>
 <ul>
-<li>
+<li class="">
 <p>We assume, that due to my membership in two ASF incubator projects I am not able to upload the artefacts to the Nexus repository (H1).</p>
 </li>
-<li>
+<li class="">
 <p>It can be, that I have not the correct user and password in my <em>settings.xml</em> file (H2).</p>
 </li>
 </ul>
-<p>But I tested a manual login to the nexus server <a href="https://repository.apache.org/service/local/staging/deploy/maven2" target="_blank" rel="noopener noreferrer">https://repository.apache.org/service/local/staging/deploy/maven2</a> with success. And beyond that I have no idea how I can verify this detail alone.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="idea--proposal">Idea / Proposal<a href="#idea--proposal" class="hash-link" aria-label="Direct link to Idea / Proposal" title="Direct link to Idea / Proposal">​</a></h2>
+<p>But I tested a manual login to the nexus server <a href="https://repository.apache.org/service/local/staging/deploy/maven2" target="_blank" rel="noopener noreferrer" class="">https://repository.apache.org/service/local/staging/deploy/maven2</a> with success. And beyond that I have no idea how I can verify this detail alone.</p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="idea--proposal">Idea / Proposal<a href="#idea--proposal" class="hash-link" aria-label="Direct link to Idea / Proposal" title="Direct link to Idea / Proposal" translate="no">​</a></h2>
 <p>(1) It would be great, if someone - who has done a release in any other ASF project or in Apache Wayang - could follow the steps I share, so that we can check where the problem hides itself.</p>
 <p>(2) As a follow-up task, I suggest to add a <strong>Release Guide</strong> to the Apache Wayang project, including release manager onboarding steps, and checklists for the particular project, derived from the referenced sources which are listed above.</p>
 <p>But for now it is all about sharing the status (as I did serveral times on multiple chanels, including JIRA, Slack, Mailing lists) and finding a solution for Apache Wayang release 1.0.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="latest-error">Latest Error:<a href="#latest-error" class="hash-link" aria-label="Direct link to Latest Error:" title="Direct link to Latest Error:">​</a></h2>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:perform -X -DskipTests</span><br></span></code></pre><div class="buttonGroup__atx"><button ty [...]
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[INFO] Caused by: org.eclipse.aether.deployment.DeploymentException: Failed to deploy artifacts: Could no [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="activity-log">Activity Log<a href="#activity-log" class="hash-link" aria-label="Direct link to Activity Log" title="Direct link to Activity Log">​</a></h2>
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:clean</span><br></span><span class="token-line" style="color:#393A34"><span cla [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Da [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">ERROR</span><span class="toke [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn versions:commit</span><br></span><span class="token-line" style="color:#393A34"><span c [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Da [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">ERROR</span><span class="toke [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">git</span><span class="token plain"> status</span><br></span><span [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Da [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">Caused by: org.eclipse.aether.transfer.NoRepositoryConnectorException: Blocked mirror </spa [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="dependency-on-jdk-11-during-release">Dependency on JDK-11 during release<a href="#dependency-on-jdk-11-during-release" class="hash-link" aria-label="Direct link to Dependency on JDK-11 during release" title="Direct link to Dependency on JDK-11 during release">​</a></h3>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="latest-error">Latest Error:<a href="#latest-error" class="hash-link" aria-label="Direct link to Latest Error:" title="Direct link to Latest Error:" translate="no">​</a></h2>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:perform -X -DskipTests</span><br></div></code></pre></div></div>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[INFO] Caused by: org.eclipse.aether.deployment.DeploymentException: Failed to deploy artifa [...]
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="activity-log">Activity Log<a href="#activity-log" class="hash-link" aria-label="Direct link to Activity Log" title="Direct link to Activity Log" translate="no">​</a></h2>
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:clean</span><br></div><div class="token-line" style="color:#393A34"><span class= [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Dar [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">ERROR</span><span class="token [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn versions:commit</span><br></div><div class="token-line" style="color:#393A34"><span clas [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Dar [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">ERROR</span><span class="token [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">git</span><span class="token plain"> status</span><br></div><div cl [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Dar [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">Caused by: org.eclipse.aether.transfer.NoRepositoryConnectorException: Blocked mirror </span [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="dependency-on-jdk-11-during-release">Dependency on JDK-11 during release<a href="#dependency-on-jdk-11-during-release" class="hash-link" aria-label="Direct link to Dependency on JDK-11 during release" title="Direct link to Dependency on JDK-11 during release" translate="no">​</a></h3>
 <blockquote>
 <p>FIXED with local JDK11 Setup</p>
 </blockquote>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">brew install openjdk@11</span><br></span><span class="token-line" style="color:#393A34"><span class="toke [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="manual-update-of-release-version">Manual update of release-version<a href="#manual-update-of-release-version" class="hash-link" aria-label="Direct link to Manual update of release-version" title="Direct link to Manual update of release-version">​</a></h3>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">brew install openjdk@11</span><br></div><div class="token-line" style="color:#393A34"><span  [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="manual-update-of-release-version">Manual update of release-version<a href="#manual-update-of-release-version" class="hash-link" aria-label="Direct link to Manual update of release-version" title="Direct link to Manual update of release-version" translate="no">​</a></h3>
 <p>During the release procedure, do I have to set the version here in this configuration section manually?</p>
-<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">plug [...]
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">plugi [...]
 <blockquote>
 <p>It seems that these properties must be updated manually.</p>
 </blockquote>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="warning-regarding-illegal-reflective-access-operation">Warning regarding &quot;illegal reflective access operation&quot;<a href="#warning-regarding-illegal-reflective-access-operation" class="hash-link" aria-label="Direct link to Warning regarding &quot;illegal reflective access operation&quot;" title="Direct link to Warning regarding &quot;illegal reflective access operation&quot;">​</a></h3>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[ERROR] WARNING: An illegal reflective access operation has occurred</span><br></span><span class="token- [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="warning-regarding-illegal-reflective-access-operation">Warning regarding &quot;illegal reflective access operation&quot;<a href="#warning-regarding-illegal-reflective-access-operation" class="hash-link" aria-label="Direct link to Warning regarding &quot;illegal reflective access operation&quot;" title="Direct link to Warning regarding &quot;illegal reflective access operation&quot;" translate="no">​</a></h3>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[ERROR] WARNING: An illegal reflective access operation has occurred</span><br></div><div cl [...]
 <blockquote>
 <p><strong>This is still an OPEN ISSUE !</strong></p>
 </blockquote>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="rat-check-fails">RAT Check fails<a href="#rat-check-fails" class="hash-link" aria-label="Direct link to RAT Check fails" title="Direct link to RAT Check fails">​</a></h3>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[INFO] [ERROR] Failed to execute goal org.apache.rat:apache-rat-plugin:0.13:check (license-check) on proj [...]
-<div class="language-cat codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-cat codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34" [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="rat-check-fails">RAT Check fails<a href="#rat-check-fails" class="hash-link" aria-label="Direct link to RAT Check fails" title="Direct link to RAT Check fails" translate="no">​</a></h3>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[INFO] [ERROR] Failed to execute goal org.apache.rat:apache-rat-plugin:0.13:check (license-c [...]
+<div class="language-cat codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-cat codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><s [...]
 <blockquote>
 <p><em>FIXED by adding .java-versions to .gitignore</em></p>
 </blockquote>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="tag-could-not-be-created-in-scm">Tag could not be created in SCM.<a href="#tag-could-not-be-created-in-scm" class="hash-link" aria-label="Direct link to Tag could not be created in SCM." title="Direct link to Tag could not be created in SCM.">​</a></h3>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:3.0.1:prepare (default-cli)  [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="tag-could-not-be-created-in-scm">Tag could not be created in SCM.<a href="#tag-could-not-be-created-in-scm" class="hash-link" aria-label="Direct link to Tag could not be created in SCM." title="Direct link to Tag could not be created in SCM." translate="no">​</a></h3>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:3.0.1:prepare ( [...]
 <blockquote>
 <p>FIXED by manual changes in pom.xml.</p>
 </blockquote>
-<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34" [...]
-<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">conf [...]
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare -Darguments=&#x27;-DskipTests=True -Dresume=True&#x27;</span><br></span></code></pre> [...]
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn clean package</span><br></span><span class="token-line" style="color:#393A34"><span class="token plai [...]
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><s [...]
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">confi [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare -Darguments=&#x27;-DskipTests=True -Dresume=True&#x27;</span><br></div>< [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn clean package</span><br></div><div class="token-line" style="color:#393A34"><span class= [...]
 <blockquote>
 <p>So far so good. But now the sun went down.</p>
 </blockquote>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[INFO] [ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:3.0.0-M1:deploy (defau [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[INFO] [ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:3.0.0-M1: [...]
 <p>The null pointer exception indicates problems in <em>settings.xml</em>. This could be fixed.
 But now, the error changes with and I am still not able to stage the build results.</p>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:perform -X -DskipTests</span><br></span></code></pre><div class="buttonGroup__atx"><button ty [...]
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[INFO] Caused by: org.eclipse.aether.deployment.DeploymentException: Failed to deploy artifacts: Could no [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="checklist-for-next-iteration">Checklist for next iteration:<a href="#checklist-for-next-iteration" class="hash-link" aria-label="Direct link to Checklist for next iteration:" title="Direct link to Checklist for next iteration:">​</a></h2>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:perform -X -DskipTests</span><br></div></code></pre></div></div>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[INFO] Caused by: org.eclipse.aether.deployment.DeploymentException: Failed to deploy artifa [...]
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="checklist-for-next-iteration">Checklist for next iteration:<a href="#checklist-for-next-iteration" class="hash-link" aria-label="Direct link to Checklist for next iteration:" title="Direct link to Checklist for next iteration:" translate="no">​</a></h2>
 <p>The error you&#x27;re encountering indicates that there is a problem with deploying the artifacts using the <code>maven-deploy-plugin</code>. The root cause of the error is a <code>NullPointerException</code> during the deployment process, specifically related to the <code>org.eclipse.aether.transfer.ArtifactTransferException</code>.</p>
 <p>Here&#x27;s a step-by-step guide to troubleshoot and resolve this issue:</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="1-check-maven-settings">1. Check Maven Settings<a href="#1-check-maven-settings" class="hash-link" aria-label="Direct link to 1. Check Maven Settings" title="Direct link to 1. Check Maven Settings">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="1-check-maven-settings">1. Check Maven Settings<a href="#1-check-maven-settings" class="hash-link" aria-label="Direct link to 1. Check Maven Settings" title="Direct link to 1. Check Maven Settings" translate="no">​</a></h3>
 <p>Ensure that your Maven settings (<code>settings.xml</code>) are correctly configured for deployment. Verify that the repository settings and credentials are correctly specified.</p>
 <p><strong>[DONE]</strong></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="2-verify-repository-url">2. Verify Repository URL<a href="#2-verify-repository-url" class="hash-link" aria-label="Direct link to 2. Verify Repository URL" title="Direct link to 2. Verify Repository URL">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="2-verify-repository-url">2. Verify Repository URL<a href="#2-verify-repository-url" class="hash-link" aria-label="Direct link to 2. Verify Repository URL" title="Direct link to 2. Verify Repository URL" translate="no">​</a></h3>
 <p>Make sure the repository URL in your <code>pom.xml</code> or <code>settings.xml</code> is correct and reachable. The URL should point to the correct staging repository for deployment.</p>
 <p><em>[OPEN]</em> - I did not touch it, so I guess it is correct in the <em>pom.xml</em>.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="3-maven-version-compatibility">3. Maven Version Compatibility<a href="#3-maven-version-compatibility" class="hash-link" aria-label="Direct link to 3. Maven Version Compatibility" title="Direct link to 3. Maven Version Compatibility">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="3-maven-version-compatibility">3. Maven Version Compatibility<a href="#3-maven-version-compatibility" class="hash-link" aria-label="Direct link to 3. Maven Version Compatibility" title="Direct link to 3. Maven Version Compatibility" translate="no">​</a></h3>
 <p>Verify that you are using a compatible version of Maven. Sometimes, upgrading or downgrading Maven can resolve such issues.</p>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">Apache Maven 3.9.6 (bc0240f3c744dd6b6ec2920b3cd08dcc295161ae)</span><br></span><span class="token-line" s [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">Apache Maven 3.9.6 (bc0240f3c744dd6b6ec2920b3cd08dcc295161ae)</span><br></div><div class="to [...]
 <p><strong>[DONE]</strong></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="4-check-for-network-issues">4. Check for Network Issues<a href="#4-check-for-network-issues" class="hash-link" aria-label="Direct link to 4. Check for Network Issues" title="Direct link to 4. Check for Network Issues">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="4-check-for-network-issues">4. Check for Network Issues<a href="#4-check-for-network-issues" class="hash-link" aria-label="Direct link to 4. Check for Network Issues" title="Direct link to 4. Check for Network Issues" translate="no">​</a></h3>
 <p>Ensure there are no network issues that might be causing problems in connecting to the repository. Sometimes, network configurations, firewalls, or proxy settings can interfere with the deployment process.</p>
 <p><strong>[DONE]</strong></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="5-update-maven-plugins">5. Update Maven Plugins<a href="#5-update-maven-plugins" class="hash-link" aria-label="Direct link to 5. Update Maven Plugins" title="Direct link to 5. Update Maven Plugins">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="5-update-maven-plugins">5. Update Maven Plugins<a href="#5-update-maven-plugins" class="hash-link" aria-label="Direct link to 5. Update Maven Plugins" title="Direct link to 5. Update Maven Plugins" translate="no">​</a></h3>
 <p>Ensure that you are using the latest versions of the Maven plugins. Sometimes, bugs in older versions can cause unexpected issues.</p>
 <p><em>[OPEN]</em></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="6-configure-the-maven-deploy-plugin-in-pomxml">6. Configure the <code>maven-deploy-plugin</code> in <code>pom.xml</code><a href="#6-configure-the-maven-deploy-plugin-in-pomxml" class="hash-link" aria-label="Direct link to 6-configure-the-maven-deploy-plugin-in-pomxml" title="Direct link to 6-configure-the-maven-deploy-plugin-in-pomxml">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="6-configure-the-maven-deploy-plugin-in-pomxml">6. Configure the <code>maven-deploy-plugin</code> in <code>pom.xml</code><a href="#6-configure-the-maven-deploy-plugin-in-pomxml" class="hash-link" aria-label="Direct link to 6-configure-the-maven-deploy-plugin-in-pomxml" title="Direct link to 6-configure-the-maven-deploy-plugin-in-pomxml" translate="no">​</a></h3>
 <p>Make sure the <code>maven-deploy-plugin</code> is correctly configured in your <code>pom.xml</code>. Here&#x27;s an example configuration:</p>
-<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">plug [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="7-increase-verbose-logging">7. Increase Verbose Logging<a href="#7-increase-verbose-logging" class="hash-link" aria-label="Direct link to 7. Increase Verbose Logging" title="Direct link to 7. Increase Verbose Logging">​</a></h3>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">plugi [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="7-increase-verbose-logging">7. Increase Verbose Logging<a href="#7-increase-verbose-logging" class="hash-link" aria-label="Direct link to 7. Increase Verbose Logging" title="Direct link to 7. Increase Verbose Logging" translate="no">​</a></h3>
 <p>Enable verbose logging to get more details about the error. You can do this by adding the <code>-X</code> flag when running the Maven command:</p>
-<div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn clean deploy </span><span class="token parameter variable" style="color:#36acaa">-X</span>< [...]
+<div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn clean deploy </span><span class="token parameter variable" style="color:#36acaa">-X</span><b [...]
 <p><strong>[DONE]</strong></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="8-retry-with-a-clean-local-repository">8. Retry with a Clean Local Repository<a href="#8-retry-with-a-clean-local-repository" class="hash-link" aria-label="Direct link to 8. Retry with a Clean Local Repository" title="Direct link to 8. Retry with a Clean Local Repository">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="8-retry-with-a-clean-local-repository">8. Retry with a Clean Local Repository<a href="#8-retry-with-a-clean-local-repository" class="hash-link" aria-label="Direct link to 8. Retry with a Clean Local Repository" title="Direct link to 8. Retry with a Clean Local Repository" translate="no">​</a></h3>
 <p>Sometimes, a corrupt local repository can cause issues. Try cleaning your local Maven repository and re-running the deployment:</p>
-<div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn clean </span><span class="token function" style="color:#d73a49">install</span><span class=" [...]
+<div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn clean </span><span class="token function" style="color:#d73a49">install</span><span class="t [...]
 <p><em>[OPEN]</em> - Does not match to an authentication issue.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="9-check-for-missing-credentials">9. Check for Missing Credentials<a href="#9-check-for-missing-credentials" class="hash-link" aria-label="Direct link to 9. Check for Missing Credentials" title="Direct link to 9. Check for Missing Credentials">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="9-check-for-missing-credentials">9. Check for Missing Credentials<a href="#9-check-for-missing-credentials" class="hash-link" aria-label="Direct link to 9. Check for Missing Credentials" title="Direct link to 9. Check for Missing Credentials" translate="no">​</a></h3>
 <p>Ensure that the credentials for the repository are correctly set up in your <code>settings.xml</code>:</p>
-<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">serv [...]
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">serve [...]
 <p><strong>[DONE]</strong></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="10-review-the-full-stack-trace">10. Review the Full Stack Trace<a href="#10-review-the-full-stack-trace" class="hash-link" aria-label="Direct link to 10. Review the Full Stack Trace" title="Direct link to 10. Review the Full Stack Trace">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="10-review-the-full-stack-trace">10. Review the Full Stack Trace<a href="#10-review-the-full-stack-trace" class="hash-link" aria-label="Direct link to 10. Review the Full Stack Trace" title="Direct link to 10. Review the Full Stack Trace" translate="no">​</a></h3>
 <p>The full stack trace indicates a <code>NullPointerException</code>:</p>
-<div class="language-plaintext codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-plaintext codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">Caused by: java.lang.NullPointerException</span><br></span><span class="token-lin [...]
+<div class="language-plaintext codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-plaintext codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">Caused by: java.lang.NullPointerException</span><br></div><div class="token-line"  [...]
 <p>This suggests that there might be an issue with how credentials are being handled. Double-check that the credentials are being correctly passed and processed.</p>
-<p><strong>[DONE]</strong></p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/asf">ASF</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/release">release</a></li></ul></div></footer></article><nav class="paginatio [...]
+<p><strong>[DONE]</strong></p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/asf">ASF</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/release">release</a></li></ul></div></footer>< [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/blog/tags/cross-organization-data-collaboration/index.html b/blog/tags/cross-organization-data-collaboration/index.html
index 8606dd73..b5bcfe1d 100644
--- a/blog/tags/cross-organization-data-collaboration/index.html
+++ b/blog/tags/cross-organization-data-collaboration/index.html
@@ -2,21 +2,24 @@
 <html lang="en" dir="ltr" class="blog-wrapper blog-tags-post-list-page plugin-blog plugin-id-default" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
+<meta name="generator" content="Docusaurus v3.10.1">
 <title data-rh="true">3 posts tagged with &quot;cross organization data collaboration&quot; | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/blog/tags/cross-organization-data-collaboration"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
 Motivated by the learnings from last time, I stated implementing a Kafka Source component and a Kafka Sink component for the Apache Spark platform in Apache Wayang.
 In our previous article we shared the results of the work on the frist Apache Kafka integration using the Java Platform.</p>
 <p>Let&#x27;s see how it goes this time with Apache Spark.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="the-goal-of-this-implementation">The goal of this implementation<a href="#the-goal-of-this-implementation" class="hash-link" aria-label="Direct link to The goal of this implementation" title="Direct link to The goal of this implementation">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-goal-of-this-implementation">The goal of this implementation<a href="#the-goal-of-this-implementation" class="hash-link" aria-label="Direct link to The goal of this implementation" title="Direct link to The goal of this implementation" translate="no">​</a></h2>
 <p>We want to process data from Apache Kafka topics, which are hosted on Confluent cloud.
 In our example scenario, data is available in multiple different clusters, in different regions and owned by different organizations.
-Each organization uses the <a href="https://docs.confluent.io/cloud/current/stream-sharing/index.html" target="_blank" rel="noopener noreferrer">&quot;stream sharing&quot; feature</a> provided by Confluent cloud.</p>
+Each organization uses the <a href="https://docs.confluent.io/cloud/current/stream-sharing/index.html" target="_blank" rel="noopener noreferrer" class="">&quot;stream sharing&quot; feature</a> provided by Confluent cloud.</p>
 <p>This way, the operator of our central processing job has been granted appropriate permissions. The plaftorm provided the necessary configuration properties, including access coordinates and credentials in the name of the topic owner to us.</p>
 <p>The following illustration has already been introduced in part one of the blog series, but for clarity we repeat it here.</p>
 <p><img decoding="async" loading="lazy" alt="images/image-1.png" src="/assets/images/image-1-9cc35d5aea2b867d7e5759a96bd02334.png" width="904" height="550" class="img_ev3q"></p>
@@ -25,11 +28,11 @@ Each source allows us to read the data from that particular topic so that we can
 In this example it is a public processing context, in which data from multiple private processing contexts are used together.</p>
 <p>This use case is already prepared for high processing loads We can utilize the scalability capabilities of Apache Spark or simply use a Java program for initial tests of the solution. Switching between both is done in one line of code in Apache Wayang.</p>
 <p>Again, we start with a <strong>WayangContext</strong>, as shown by examples in the Wayang code repository.</p>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">WayangContext wayangContext = new WayangContext().with(Spark.basicPlugin());</span><br></span></code></pr [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">WayangContext wayangContext = new WayangContext().with(Spark.basicPlugin());</span><br></div [...]
 <p>We simply switched the backend system towards Apache Spark by using the <em>WayangContext</em> with <em>Spark.basicPlugin()</em>.
 The <strong>JavaPlanBuilder</strong> and all other logic of our example job won&#x27;t be touched.</p>
 <p>In order to make this working we will now implement the Mappings and the Operators for the Apache Spark platform module.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="implementation-of-input--and-output-operators">Implementation of Input- and Output Operators<a href="#implementation-of-input--and-output-operators" class="hash-link" aria-label="Direct link to Implementation of Input- and Output Operators" title="Direct link to Implementation of Input- and Output Operators">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="implementation-of-input--and-output-operators">Implementation of Input- and Output Operators<a href="#implementation-of-input--and-output-operators" class="hash-link" aria-label="Direct link to Implementation of Input- and Output Operators" title="Direct link to Implementation of Input- and Output Operators" translate="no">​</a></h2>
 <p>We reuse the Kafka Source and Kafka Sink components which have been created for the JavaKafkaSource and JavaKafkaSink.
 Hence we work with Wayang&#x27;s Java API.</p>
 <p><strong>Level 1 – Wayang execution plan with abstract operators</strong></p>
@@ -68,34 +71,34 @@ Those were made specifically for a simple non parallel Java program, using one C
 <p>The selected approach does not yet fully take advantage from Spark&#x27;s parallelism at load time.
 For higher loads and especially for streaming processing we would have to investigate another approache, using a <em>SparkStreamingContext</em>, but this is out of scope for now.</p>
 <p>Since we can&#x27;t reuse the <em>JavaKafkaTopicSource</em> and <em>JavaKafkaTopicSink</em> we rather implement <em>SparkKafkaTopicSource</em> and <em>SparkKafkaTopicSink</em> based on given <em>SparkTextFileSource</em> and <em>SparkTextFileSink</em> which both cary all needed RDD specific logic.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="summary">Summary<a href="#summary" class="hash-link" aria-label="Direct link to Summary" title="Direct link to Summary">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="summary">Summary<a href="#summary" class="hash-link" aria-label="Direct link to Summary" title="Direct link to Summary" translate="no">​</a></h2>
 <p>As expected, the integration of Apache Spark with Apache Wayang was no magic, thanks to a fluent API design and a well structured architecture of Apache Wayang.
 We could easily follow the pattern we have worked out in the previous exercise.</p>
 <p>But a bunch of much more interesting work will follow next.
 More testing, more serialization schemes, and Kafka Schema Registry support should follow, and full parallelization as well.</p>
 <p>The code has been submitted to the Apache Wayang repository.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="outlook">Outlook<a href="#outlook" class="hash-link" aria-label="Direct link to Outlook" title="Direct link to Outlook">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="outlook">Outlook<a href="#outlook" class="hash-link" aria-label="Direct link to Outlook" title="Direct link to Outlook" translate="no">​</a></h2>
 <p>The next part of the article series will cover the real world example as described in image 1.
 We will show how analysts and developers can use the Apache Kafka integration for Apache Wayang to solve cross organizational collaboration issues.
-Therefore, we will bring all puzzles together, and show the full implementation of the multi organizational data collaboration use case.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/kafka">kafka</a></li><li class="tag_QGVx"><a class="tag_z [...]
-We look into the “Read- and Write-Path” for our data items, called <em>DataQuanta</em>.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="apache-wayangs-read--write-path-for-kafka-topics">Apache Wayang’s Read &amp; Write Path for Kafka topics<a href="#apache-wayangs-read--write-path-for-kafka-topics" class="hash-link" aria-label="Direct link to Apache Wayang’s Read &amp; Write Path for Kafka topics" title="Direct link to Apache Wayang’s Read &amp; Write Path for Kafka topics">​</a></h2>
+Therefore, we will bring all puzzles together, and show the full implementation of the multi organizational data collaboration use case.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/kafka">kafka</a></li><li class="tag_Q [...]
+We look into the “Read- and Write-Path” for our data items, called <em>DataQuanta</em>.</p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="apache-wayangs-read--write-path-for-kafka-topics">Apache Wayang’s Read &amp; Write Path for Kafka topics<a href="#apache-wayangs-read--write-path-for-kafka-topics" class="hash-link" aria-label="Direct link to Apache Wayang’s Read &amp; Write Path for Kafka topics" title="Direct link to Apache Wayang’s Read &amp; Write Path for Kafka topics" translate="no">​</a></h2>
 <p>To describe the read and write paths for data in the context of the created Apache Wayang code snippet, the primary classes and interfaces we need to understand are as follows:</p>
 <p><strong>WayangContext:</strong> This class is essential for initializing the Wayang processing environment.
 It allows you to configure the execution environment and register plugins that define which platforms Wayang can use for data processing tasks, such as <em>Java.basicPlugin()</em> for local Java execution.</p>
 <p><strong>JavaPlanBuilder:</strong> This class is used to build and define the data processing pipeline (or plan) in Wayang.
 It provides a fluent API to specify the operations to be performed on the data, from reading the input to processing it and writing the output.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="read-path">Read Path<a href="#read-path" class="hash-link" aria-label="Direct link to Read Path" title="Direct link to Read Path">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="read-path">Read Path<a href="#read-path" class="hash-link" aria-label="Direct link to Read Path" title="Direct link to Read Path" translate="no">​</a></h3>
 <p>The read path describes how data is ingested from a source into the Wayang processing pipeline:</p>
 <p><em>Reading from Kafka Topic:</em> The method <em>readKafkaTopic(topicName)</em> is used to ingest data from a specified Kafka topic.
 This is the starting point of the data processing pipeline, where topicName represents the name of the Kafka topic from which data is read.</p>
 <p><em>Data Tokenization and Preparation:</em> Once the data is read from Kafka, it undergoes several transformations such as Splitting, Filtering, and Mapping.
 What follows are the procedures known as Reducing, Grouping, Co-Grouping, and Counting.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="write-path">Write Path<a href="#write-path" class="hash-link" aria-label="Direct link to Write Path" title="Direct link to Write Path">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="write-path">Write Path<a href="#write-path" class="hash-link" aria-label="Direct link to Write Path" title="Direct link to Write Path" translate="no">​</a></h3>
 <p><em>Writing to Kafka Topic:</em> The final step in the pipeline involves writing the processed data back to a Kafka topic using <em>.writeKafkaTopic(...)</em>.
 This method takes parameters that specify the target Kafka topic, a serialization function to format the data as strings, and additional configuration for load profile estimation, which optimizes the writing process.</p>
 <p>This read-write path provides a comprehensive flow of data from ingestion from Kafka, through various processing steps, and finally back to Kafka, showcasing a full cycle of data processing within Apache Wayang&#x27;s abstracted environment and is implemented in our example program shown in <em>listing 1</em>.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="implementation-of-input--and-output-operators">Implementation of Input- and Output Operators<a href="#implementation-of-input--and-output-operators" class="hash-link" aria-label="Direct link to Implementation of Input- and Output Operators" title="Direct link to Implementation of Input- and Output Operators">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="implementation-of-input--and-output-operators">Implementation of Input- and Output Operators<a href="#implementation-of-input--and-output-operators" class="hash-link" aria-label="Direct link to Implementation of Input- and Output Operators" title="Direct link to Implementation of Input- and Output Operators" translate="no">​</a></h2>
 <p>The next section shows how a new pair of operators can be implemented to extend Apache Wayang’s capabilities on the input and output side.
 We created the Kafka Source and Kafka Sink components so that our cross organizational data collaboration scenario can be implemented using data streaming infrastructure.</p>
 <p><strong>Level 1 – Wayang execution plan with abstract operators</strong></p>
@@ -128,13 +131,13 @@ All this is done in the project <em>wayang-plarforms/wayang-java</em>.</p>
 Both are implemented in Java programming language.
 In this layer, the real Kafka-Client logic is defined.
 Details about consumer and producers, client configuration, and schema handling have to be handled here.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="summary">Summary<a href="#summary" class="hash-link" aria-label="Direct link to Summary" title="Direct link to Summary">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="summary">Summary<a href="#summary" class="hash-link" aria-label="Direct link to Summary" title="Direct link to Summary" translate="no">​</a></h2>
 <p>Both classes in the third layer implement the Kafka client logic which is needed by the Wayang-execution plan when external data flows should be established.
 The layer above handles the mapping of the components at startup time.
 All this wiring is needed to keep Wayang open and flexible so that multiple external systems can be used in a variety of combinations and using multiple target platforms in combinations.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="outlook">Outlook<a href="#outlook" class="hash-link" aria-label="Direct link to Outlook" title="Direct link to Outlook">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="outlook">Outlook<a href="#outlook" class="hash-link" aria-label="Direct link to Outlook" title="Direct link to Outlook" translate="no">​</a></h2>
 <p>The next part of the article series will cover the creation of an Kafka Source and Sink component for the Apache Spark platform, which allows our use case to scale.
-Finally, in part four we bring all puzzles together, and show the full implementation of the multi organizational data collaboration use case.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/kafka">kafka</a></li><li class="tag_QGVx"><a class= [...]
+Finally, in part four we bring all puzzles together, and show the full implementation of the multi organizational data collaboration use case.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/kafka">kafka</a></li><li class= [...]
 <p>This article is the first of a four part series about federated data analysis using Apache Wayang.
 The first article starts with an introduction of a typical data colaboration scenario which will emerge in our digital future.</p>
 <p>In part two and three we will share a summary of our Apache Kafka client implementation for Apache Wayang.
@@ -147,7 +150,7 @@ This reduces complexity of data management and cost dramatically.</p>
 <p>For this purpose, we illustrate a cross organizational data sharing scenario from the finance sector soon.
 This analysis pattern will also be relevant in the context of data analysis along supply chains, another typical example where data from many stakeholder together is needed but never managed in one place, for good reasons.</p>
 <p>Data federation can help us to unlock the hidden value of all those isolated data lakes.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="a-cross-organizational-data-sharing-scenario">A cross organizational data sharing scenario<a href="#a-cross-organizational-data-sharing-scenario" class="hash-link" aria-label="Direct link to A cross organizational data sharing scenario" title="Direct link to A cross organizational data sharing scenario">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="a-cross-organizational-data-sharing-scenario">A cross organizational data sharing scenario<a href="#a-cross-organizational-data-sharing-scenario" class="hash-link" aria-label="Direct link to A cross organizational data sharing scenario" title="Direct link to A cross organizational data sharing scenario" translate="no">​</a></h2>
 <p>Our goal is the implementation of a cross organization decentralized data processing scenario, in which protected local data should be processed in combination with public data from public sources in a collaborative manner.
 Instead of copying all data into a central data lake or a central data platform we decided to use federated analytics.
 Apache Wayang is the tool we work with.
@@ -177,7 +180,7 @@ Since as of today, there is now <em>KafkaSource</em> and <em>KafkaSink</em> avai
 Our assumption is, that in the beginning, there won’t be much data.</p>
 <p>Apache Spark is not required to cope with the load, but we expect, that in the future, a single Java application would not be able to handle our workload.
 Hence, we want to utilize the Apache Wayang abstraction over multiple processing platforms, starting with Java.
-Later, we want to switch to Apache Spark.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/kafka">kafka</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/cross-organization-data-collaboration">cross organization [...]
+Later, we want to switch to Apache Spark.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/kafka">kafka</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/cross-organization-data-col [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/blog/tags/federated/index.html b/blog/tags/federated/index.html
index 00a5430c..62670faf 100644
--- a/blog/tags/federated/index.html
+++ b/blog/tags/federated/index.html
@@ -2,14 +2,17 @@
 <html lang="en" dir="ltr" class="blog-wrapper blog-tags-post-list-page plugin-blog plugin-id-default" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
+<meta name="generator" content="Docusaurus v3.10.1">
 <title data-rh="true">One post tagged with &quot;federated&quot; | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/blog/tags/federated"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:lang [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
 detecting early signs of cancer cells. Building an AI requires a lot of data and training to achieve
 the desired results, and federated learning is an approach to make AI training more viable.
 Federated learning (or collaborative learning) is a technique that trains AI models on data
@@ -19,7 +22,7 @@ personal data. One of the significant challenges in working with AI is the varie
 in the market or the open-source community. Each tool provides results in a different form;
 integrating them can be pretty challenging. Let&#x27;s talk about Apache Wayang and
 how it can help to solve this problem.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="apache-wayang-in-the-federated-ai-world">Apache Wayang in the Federated AI world<a href="#apache-wayang-in-the-federated-ai-world" class="hash-link" aria-label="Direct link to Apache Wayang in the Federated AI world" title="Direct link to Apache Wayang in the Federated AI world">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="apache-wayang-in-the-federated-ai-world">Apache Wayang in the Federated AI world<a href="#apache-wayang-in-the-federated-ai-world" class="hash-link" aria-label="Direct link to Apache Wayang in the Federated AI world" title="Direct link to Apache Wayang in the Federated AI world" translate="no">​</a></h2>
 <p>Apache Wayang (Wayang, for short), an Apache Software Foundation top-level project,
 integrates big data platforms and tools by removing the complexity of
 worrying about low-level details. Interestingly, even if it was not designed for, Wayang could
@@ -27,7 +30,7 @@ also serve as a scalable platform for federated learning: the Wayang community i
 work on integrating federated learning capabilities. In a federated learning approach, Wayang
 would allow different local models to be built and exchange its model results across other data
 centers to combine them into a single enhanced model.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="a-real-world-example">A real-world example<a href="#a-real-world-example" class="hash-link" aria-label="Direct link to A real-world example" title="Direct link to A real-world example">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="a-real-world-example">A real-world example<a href="#a-real-world-example" class="hash-link" aria-label="Direct link to A real-world example" title="Direct link to A real-world example" translate="no">​</a></h2>
 <p>Let&#x27;s consider a real-world scenario. Hospitals and health organizations have increased their
 investments in machine/deep learning initiatives to learn more and predict diagnostics.
 However, due to legal frameworks, sharing patients&#x27; information or diagnostics is impossible,
@@ -52,16 +55,16 @@ layer of complexity from the developers by integrating with diverse types of dat
 also brings fast development and reduces the need for a deep understanding of data
 infrastructure or integrations. Developers can focus on the logic and how to execute tasks
 instead of details about data processors.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="follow-wayang">Follow Wayang<a href="#follow-wayang" class="hash-link" aria-label="Direct link to Follow Wayang" title="Direct link to Follow Wayang">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="follow-wayang">Follow Wayang<a href="#follow-wayang" class="hash-link" aria-label="Direct link to Follow Wayang" title="Direct link to Follow Wayang" translate="no">​</a></h3>
 <p>Apache Wayang is a top-level ASF project with a potential roadmap of implementations
 coming soon (including the federated learning aspect as well as an SQL interface and a novel
 data debugging functionality). If you want to hear or join the community, consult the link
-<a href="https://wayang.apache.org/community/" target="_blank" rel="noopener noreferrer">https://wayang.apache.org/community/</a> , join the mailing lists, contribute with new ideas,
+<a href="https://wayang.apache.org/community/" target="_blank" rel="noopener noreferrer" class="">https://wayang.apache.org/community/</a> , join the mailing lists, contribute with new ideas,
 write documentation, or fix bugs.</p>
 <br>
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="thank-you">Thank you!<a href="#thank-you" class="hash-link" aria-label="Direct link to Thank you!" title="Direct link to Thank you!">​</a></h5>
+<h5 class="anchor anchorTargetStickyNavbar_Vzrq" id="thank-you">Thank you!<a href="#thank-you" class="hash-link" aria-label="Direct link to Thank you!" title="Direct link to Thank you!" translate="no">​</a></h5>
 <p>I (Gláucia) want to thank professor Jorge Quiané for the guidance to write this blog post.
-Thanks for incentivate me to join the project and for the knowledge shared. I will always remember you.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/federated">federated</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href [...]
+Thanks for incentivate me to join the project and for the knowledge shared. I will always remember you.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/federated">federated</a></li><li class="tag_QGVx"><a rel="tag" class=" [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/blog/tags/graduation/index.html b/blog/tags/graduation/index.html
index 1ef676f0..63ddf2a6 100644
--- a/blog/tags/graduation/index.html
+++ b/blog/tags/graduation/index.html
@@ -2,41 +2,44 @@
 <html lang="en" dir="ltr" class="blog-wrapper blog-tags-post-list-page plugin-blog plugin-id-default" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
+<meta name="generator" content="Docusaurus v3.10.1">
 <title data-rh="true">One post tagged with &quot;graduation&quot; | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/blog/tags/graduation"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:la [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
 <p>This graduation rewards the community-driven effort, research, innovation, and collaboration of many years. It reflects our shared commitment to open-source development and the growing importance of cross-platform data processing in the broader data ecosystem nowadays.
 Graduating as an Apache Top-Level Project is an important recognition of the project’s maturity and ensures that Apache Wayang is backed by the full support and oversight of the ASF, guaranteeing openness, meritocracy, and a sustainable development model for years to come.</p>
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="what-is-apache-wayang">What Is Apache Wayang?<a href="#what-is-apache-wayang" class="hash-link" aria-label="Direct link to What Is Apache Wayang?" title="Direct link to What Is Apache Wayang?">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-is-apache-wayang">What Is Apache Wayang?<a href="#what-is-apache-wayang" class="hash-link" aria-label="Direct link to What Is Apache Wayang?" title="Direct link to What Is Apache Wayang?" translate="no">​</a></h2>
 <p>Apache Wayang (formerly known as Rheem) is a <strong>cross-platform data processing system</strong> designed to give developers and organizations a unified way to execute pipelines over multiple data processing engines—such as Apache Spark, Apache Flink, PostgreSQL, and more.</p>
 <p>Instead of forcing users to choose a single execution backend, Wayang:</p>
 <ul>
-<li><strong>Abstracts data processing engines</strong> through a unified API</li>
-<li><strong>Can automatically choose the best execution platform</strong> based on workload characteristics</li>
-<li><strong>Optimizes performance</strong> by distributing tasks across engines if necessary</li>
-<li><strong>Provides a flexible plugin architecture</strong> for integrating new platforms and optimizers</li>
+<li class=""><strong>Abstracts data processing engines</strong> through a unified API</li>
+<li class=""><strong>Can automatically choose the best execution platform</strong> based on workload characteristics</li>
+<li class=""><strong>Optimizes performance</strong> by distributing tasks across engines if necessary</li>
+<li class=""><strong>Provides a flexible plugin architecture</strong> for integrating new platforms and optimizers</li>
 </ul>
 <p>In other words, Wayang enables interoperability across the diverse data landscape and empowers teams to focus on application logic and not infrastructure decisions.</p>
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="thank-you-to-our-community">Thank You to Our Community<a href="#thank-you-to-our-community" class="hash-link" aria-label="Direct link to Thank You to Our Community" title="Direct link to Thank You to Our Community">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="thank-you-to-our-community">Thank You to Our Community<a href="#thank-you-to-our-community" class="hash-link" aria-label="Direct link to Thank You to Our Community" title="Direct link to Thank You to Our Community" translate="no">​</a></h2>
 <p>Apache Wayang wouldn’t exist without its community of developers, users, mentors, and advocates who contributed code, documentation, feedback, and support. A special thanks goes to our Incubator mentors, who helped guide the project through the Apache processes and best practices.
 Your contributions made this milestone possible, and we’re just getting started.</p>
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="get-involved">Get Involved!<a href="#get-involved" class="hash-link" aria-label="Direct link to Get Involved!" title="Direct link to Get Involved!">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="get-involved">Get Involved!<a href="#get-involved" class="hash-link" aria-label="Direct link to Get Involved!" title="Direct link to Get Involved!" translate="no">​</a></h2>
 <p>Whether you want to try Wayang for your next project, contribute code, write documentation, or share your ideas, your participation is welcome. Here’s how to get started:</p>
 <ul>
-<li>Explore the documentation</li>
-<li>Join our community mailing lists</li>
-<li>Contribute to discussions and development</li>
-<li>Try Wayang on your data workloads</li>
+<li class="">Explore the documentation</li>
+<li class="">Join our community mailing lists</li>
+<li class="">Contribute to discussions and development</li>
+<li class="">Try Wayang on your data workloads</li>
 </ul>
-<p>Welcome to Apache Wayang — where data platforms work together!</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/asf">ASF</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/graduation">graduation</a></li><li cl [...]
+<p>Welcome to Apache Wayang — where data platforms work together!</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/asf">ASF</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/graduat [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/blog/tags/index.html b/blog/tags/index.html
index 7751dd95..0c01acba 100644
--- a/blog/tags/index.html
+++ b/blog/tags/index.html
@@ -2,14 +2,17 @@
 <html lang="en" dir="ltr" class="blog-wrapper blog-tags-list-page plugin-blog plugin-id-default" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
+<meta name="generator" content="Docusaurus v3.10.1">
 <title data-rh="true">Tags | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/blog/tags"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" property [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/blog/tags/kafka/index.html b/blog/tags/kafka/index.html
index 497fd012..d31fca13 100644
--- a/blog/tags/kafka/index.html
+++ b/blog/tags/kafka/index.html
@@ -2,21 +2,24 @@
 <html lang="en" dir="ltr" class="blog-wrapper blog-tags-post-list-page plugin-blog plugin-id-default" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
+<meta name="generator" content="Docusaurus v3.10.1">
 <title data-rh="true">3 posts tagged with &quot;kafka&quot; | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/blog/tags/kafka"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" con [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
 Motivated by the learnings from last time, I stated implementing a Kafka Source component and a Kafka Sink component for the Apache Spark platform in Apache Wayang.
 In our previous article we shared the results of the work on the frist Apache Kafka integration using the Java Platform.</p>
 <p>Let&#x27;s see how it goes this time with Apache Spark.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="the-goal-of-this-implementation">The goal of this implementation<a href="#the-goal-of-this-implementation" class="hash-link" aria-label="Direct link to The goal of this implementation" title="Direct link to The goal of this implementation">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-goal-of-this-implementation">The goal of this implementation<a href="#the-goal-of-this-implementation" class="hash-link" aria-label="Direct link to The goal of this implementation" title="Direct link to The goal of this implementation" translate="no">​</a></h2>
 <p>We want to process data from Apache Kafka topics, which are hosted on Confluent cloud.
 In our example scenario, data is available in multiple different clusters, in different regions and owned by different organizations.
-Each organization uses the <a href="https://docs.confluent.io/cloud/current/stream-sharing/index.html" target="_blank" rel="noopener noreferrer">&quot;stream sharing&quot; feature</a> provided by Confluent cloud.</p>
+Each organization uses the <a href="https://docs.confluent.io/cloud/current/stream-sharing/index.html" target="_blank" rel="noopener noreferrer" class="">&quot;stream sharing&quot; feature</a> provided by Confluent cloud.</p>
 <p>This way, the operator of our central processing job has been granted appropriate permissions. The plaftorm provided the necessary configuration properties, including access coordinates and credentials in the name of the topic owner to us.</p>
 <p>The following illustration has already been introduced in part one of the blog series, but for clarity we repeat it here.</p>
 <p><img decoding="async" loading="lazy" alt="images/image-1.png" src="/assets/images/image-1-9cc35d5aea2b867d7e5759a96bd02334.png" width="904" height="550" class="img_ev3q"></p>
@@ -25,11 +28,11 @@ Each source allows us to read the data from that particular topic so that we can
 In this example it is a public processing context, in which data from multiple private processing contexts are used together.</p>
 <p>This use case is already prepared for high processing loads We can utilize the scalability capabilities of Apache Spark or simply use a Java program for initial tests of the solution. Switching between both is done in one line of code in Apache Wayang.</p>
 <p>Again, we start with a <strong>WayangContext</strong>, as shown by examples in the Wayang code repository.</p>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">WayangContext wayangContext = new WayangContext().with(Spark.basicPlugin());</span><br></span></code></pr [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">WayangContext wayangContext = new WayangContext().with(Spark.basicPlugin());</span><br></div [...]
 <p>We simply switched the backend system towards Apache Spark by using the <em>WayangContext</em> with <em>Spark.basicPlugin()</em>.
 The <strong>JavaPlanBuilder</strong> and all other logic of our example job won&#x27;t be touched.</p>
 <p>In order to make this working we will now implement the Mappings and the Operators for the Apache Spark platform module.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="implementation-of-input--and-output-operators">Implementation of Input- and Output Operators<a href="#implementation-of-input--and-output-operators" class="hash-link" aria-label="Direct link to Implementation of Input- and Output Operators" title="Direct link to Implementation of Input- and Output Operators">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="implementation-of-input--and-output-operators">Implementation of Input- and Output Operators<a href="#implementation-of-input--and-output-operators" class="hash-link" aria-label="Direct link to Implementation of Input- and Output Operators" title="Direct link to Implementation of Input- and Output Operators" translate="no">​</a></h2>
 <p>We reuse the Kafka Source and Kafka Sink components which have been created for the JavaKafkaSource and JavaKafkaSink.
 Hence we work with Wayang&#x27;s Java API.</p>
 <p><strong>Level 1 – Wayang execution plan with abstract operators</strong></p>
@@ -68,34 +71,34 @@ Those were made specifically for a simple non parallel Java program, using one C
 <p>The selected approach does not yet fully take advantage from Spark&#x27;s parallelism at load time.
 For higher loads and especially for streaming processing we would have to investigate another approache, using a <em>SparkStreamingContext</em>, but this is out of scope for now.</p>
 <p>Since we can&#x27;t reuse the <em>JavaKafkaTopicSource</em> and <em>JavaKafkaTopicSink</em> we rather implement <em>SparkKafkaTopicSource</em> and <em>SparkKafkaTopicSink</em> based on given <em>SparkTextFileSource</em> and <em>SparkTextFileSink</em> which both cary all needed RDD specific logic.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="summary">Summary<a href="#summary" class="hash-link" aria-label="Direct link to Summary" title="Direct link to Summary">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="summary">Summary<a href="#summary" class="hash-link" aria-label="Direct link to Summary" title="Direct link to Summary" translate="no">​</a></h2>
 <p>As expected, the integration of Apache Spark with Apache Wayang was no magic, thanks to a fluent API design and a well structured architecture of Apache Wayang.
 We could easily follow the pattern we have worked out in the previous exercise.</p>
 <p>But a bunch of much more interesting work will follow next.
 More testing, more serialization schemes, and Kafka Schema Registry support should follow, and full parallelization as well.</p>
 <p>The code has been submitted to the Apache Wayang repository.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="outlook">Outlook<a href="#outlook" class="hash-link" aria-label="Direct link to Outlook" title="Direct link to Outlook">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="outlook">Outlook<a href="#outlook" class="hash-link" aria-label="Direct link to Outlook" title="Direct link to Outlook" translate="no">​</a></h2>
 <p>The next part of the article series will cover the real world example as described in image 1.
 We will show how analysts and developers can use the Apache Kafka integration for Apache Wayang to solve cross organizational collaboration issues.
-Therefore, we will bring all puzzles together, and show the full implementation of the multi organizational data collaboration use case.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/kafka">kafka</a></li><li class="tag_QGVx"><a class="tag_z [...]
+Therefore, we will bring all puzzles together, and show the full implementation of the multi organizational data collaboration use case.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/kafka">kafka</a></li><li class="tag_Q [...]
 We look into the “Read- and Write-Path” for our data items, called <em>DataQuanta</em>.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="apache-wayangs-read--write-path-for-kafka-topics">Apache Wayang’s Read &amp; Write Path for Kafka topics<a href="#apache-wayangs-read--write-path-for-kafka-topics" class="hash-link" aria-label="Direct link to Apache Wayang’s Read &amp; Write Path for Kafka topics" title="Direct link to Apache Wayang’s Read &amp; Write Path for Kafka topics">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="apache-wayangs-read--write-path-for-kafka-topics">Apache Wayang’s Read &amp; Write Path for Kafka topics<a href="#apache-wayangs-read--write-path-for-kafka-topics" class="hash-link" aria-label="Direct link to Apache Wayang’s Read &amp; Write Path for Kafka topics" title="Direct link to Apache Wayang’s Read &amp; Write Path for Kafka topics" translate="no">​</a></h2>
 <p>To describe the read and write paths for data in the context of the created Apache Wayang code snippet, the primary classes and interfaces we need to understand are as follows:</p>
 <p><strong>WayangContext:</strong> This class is essential for initializing the Wayang processing environment.
 It allows you to configure the execution environment and register plugins that define which platforms Wayang can use for data processing tasks, such as <em>Java.basicPlugin()</em> for local Java execution.</p>
 <p><strong>JavaPlanBuilder:</strong> This class is used to build and define the data processing pipeline (or plan) in Wayang.
 It provides a fluent API to specify the operations to be performed on the data, from reading the input to processing it and writing the output.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="read-path">Read Path<a href="#read-path" class="hash-link" aria-label="Direct link to Read Path" title="Direct link to Read Path">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="read-path">Read Path<a href="#read-path" class="hash-link" aria-label="Direct link to Read Path" title="Direct link to Read Path" translate="no">​</a></h3>
 <p>The read path describes how data is ingested from a source into the Wayang processing pipeline:</p>
 <p><em>Reading from Kafka Topic:</em> The method <em>readKafkaTopic(topicName)</em> is used to ingest data from a specified Kafka topic.
 This is the starting point of the data processing pipeline, where topicName represents the name of the Kafka topic from which data is read.</p>
 <p><em>Data Tokenization and Preparation:</em> Once the data is read from Kafka, it undergoes several transformations such as Splitting, Filtering, and Mapping.
 What follows are the procedures known as Reducing, Grouping, Co-Grouping, and Counting.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="write-path">Write Path<a href="#write-path" class="hash-link" aria-label="Direct link to Write Path" title="Direct link to Write Path">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="write-path">Write Path<a href="#write-path" class="hash-link" aria-label="Direct link to Write Path" title="Direct link to Write Path" translate="no">​</a></h3>
 <p><em>Writing to Kafka Topic:</em> The final step in the pipeline involves writing the processed data back to a Kafka topic using <em>.writeKafkaTopic(...)</em>.
 This method takes parameters that specify the target Kafka topic, a serialization function to format the data as strings, and additional configuration for load profile estimation, which optimizes the writing process.</p>
 <p>This read-write path provides a comprehensive flow of data from ingestion from Kafka, through various processing steps, and finally back to Kafka, showcasing a full cycle of data processing within Apache Wayang&#x27;s abstracted environment and is implemented in our example program shown in <em>listing 1</em>.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="implementation-of-input--and-output-operators">Implementation of Input- and Output Operators<a href="#implementation-of-input--and-output-operators" class="hash-link" aria-label="Direct link to Implementation of Input- and Output Operators" title="Direct link to Implementation of Input- and Output Operators">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="implementation-of-input--and-output-operators">Implementation of Input- and Output Operators<a href="#implementation-of-input--and-output-operators" class="hash-link" aria-label="Direct link to Implementation of Input- and Output Operators" title="Direct link to Implementation of Input- and Output Operators" translate="no">​</a></h2>
 <p>The next section shows how a new pair of operators can be implemented to extend Apache Wayang’s capabilities on the input and output side.
 We created the Kafka Source and Kafka Sink components so that our cross organizational data collaboration scenario can be implemented using data streaming infrastructure.</p>
 <p><strong>Level 1 – Wayang execution plan with abstract operators</strong></p>
@@ -128,13 +131,13 @@ All this is done in the project <em>wayang-plarforms/wayang-java</em>.</p>
 Both are implemented in Java programming language.
 In this layer, the real Kafka-Client logic is defined.
 Details about consumer and producers, client configuration, and schema handling have to be handled here.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="summary">Summary<a href="#summary" class="hash-link" aria-label="Direct link to Summary" title="Direct link to Summary">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="summary">Summary<a href="#summary" class="hash-link" aria-label="Direct link to Summary" title="Direct link to Summary" translate="no">​</a></h2>
 <p>Both classes in the third layer implement the Kafka client logic which is needed by the Wayang-execution plan when external data flows should be established.
 The layer above handles the mapping of the components at startup time.
 All this wiring is needed to keep Wayang open and flexible so that multiple external systems can be used in a variety of combinations and using multiple target platforms in combinations.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="outlook">Outlook<a href="#outlook" class="hash-link" aria-label="Direct link to Outlook" title="Direct link to Outlook">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="outlook">Outlook<a href="#outlook" class="hash-link" aria-label="Direct link to Outlook" title="Direct link to Outlook" translate="no">​</a></h2>
 <p>The next part of the article series will cover the creation of an Kafka Source and Sink component for the Apache Spark platform, which allows our use case to scale.
-Finally, in part four we bring all puzzles together, and show the full implementation of the multi organizational data collaboration use case.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/kafka">kafka</a></li><li class="tag_QGVx"><a class= [...]
+Finally, in part four we bring all puzzles together, and show the full implementation of the multi organizational data collaboration use case.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/kafka">kafka</a></li><li class= [...]
 <p>This article is the first of a four part series about federated data analysis using Apache Wayang.
 The first article starts with an introduction of a typical data colaboration scenario which will emerge in our digital future.</p>
 <p>In part two and three we will share a summary of our Apache Kafka client implementation for Apache Wayang.
@@ -147,7 +150,7 @@ This reduces complexity of data management and cost dramatically.</p>
 <p>For this purpose, we illustrate a cross organizational data sharing scenario from the finance sector soon.
 This analysis pattern will also be relevant in the context of data analysis along supply chains, another typical example where data from many stakeholder together is needed but never managed in one place, for good reasons.</p>
 <p>Data federation can help us to unlock the hidden value of all those isolated data lakes.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="a-cross-organizational-data-sharing-scenario">A cross organizational data sharing scenario<a href="#a-cross-organizational-data-sharing-scenario" class="hash-link" aria-label="Direct link to A cross organizational data sharing scenario" title="Direct link to A cross organizational data sharing scenario">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="a-cross-organizational-data-sharing-scenario">A cross organizational data sharing scenario<a href="#a-cross-organizational-data-sharing-scenario" class="hash-link" aria-label="Direct link to A cross organizational data sharing scenario" title="Direct link to A cross organizational data sharing scenario" translate="no">​</a></h2>
 <p>Our goal is the implementation of a cross organization decentralized data processing scenario, in which protected local data should be processed in combination with public data from public sources in a collaborative manner.
 Instead of copying all data into a central data lake or a central data platform we decided to use federated analytics.
 Apache Wayang is the tool we work with.
@@ -177,7 +180,7 @@ Since as of today, there is now <em>KafkaSource</em> and <em>KafkaSink</em> avai
 Our assumption is, that in the beginning, there won’t be much data.</p>
 <p>Apache Spark is not required to cope with the load, but we expect, that in the future, a single Java application would not be able to handle our workload.
 Hence, we want to utilize the Apache Wayang abstraction over multiple processing platforms, starting with Java.
-Later, we want to switch to Apache Spark.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/kafka">kafka</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/cross-organization-data-collaboration">cross organization [...]
+Later, we want to switch to Apache Spark.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/kafka">kafka</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/cross-organization-data-col [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/blog/tags/ml/index.html b/blog/tags/ml/index.html
index e36e32cf..2368bab7 100644
--- a/blog/tags/ml/index.html
+++ b/blog/tags/ml/index.html
@@ -2,46 +2,49 @@
 <html lang="en" dir="ltr" class="blog-wrapper blog-tags-post-list-page plugin-blog plugin-id-default" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
+<meta name="generator" content="Docusaurus v3.10.1">
 <title data-rh="true">One post tagged with &quot;ML&quot; | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/blog/tags/ml"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content= [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
 Thanks to the extensible nature of Wayang, the only core changes we had to do were introducing the concept of a <code>Model</code> and implement a new driver for the newly added platform.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="step-1-introducing-a-model">Step 1: Introducing a Model<a href="#step-1-introducing-a-model" class="hash-link" aria-label="Direct link to Step 1: Introducing a Model" title="Direct link to Step 1: Introducing a Model">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="step-1-introducing-a-model">Step 1: Introducing a Model<a href="#step-1-introducing-a-model" class="hash-link" aria-label="Direct link to Step 1: Introducing a Model" title="Direct link to Step 1: Introducing a Model" translate="no">​</a></h2>
 <p>With respect to the model, we followed Wayang’s abstraction philosophy: We created a <code>Model</code> interface to be used as input or output by Wayang operators and then extended it for the platform-specific operators. Different model interfaces can be found here:</p>
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model</a></p>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model</a></p>
 <p>A platform-specific model needs to be instantiated to be used as the output of a training operator and as input for an inference operator. You can see an example of the <code>SparkMLModel</code> here:</p>
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/model/SparkMLModel.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/model/SparkMLModel.java</a></p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="step-2-introducing-training-operators">Step 2: Introducing Training Operators<a href="#step-2-introducing-training-operators" class="hash-link" aria-label="Direct link to Step 2: Introducing Training Operators" title="Direct link to Step 2: Introducing Training Operators">​</a></h2>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/model/SparkMLModel.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/model/SparkMLModel.java</a></p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="step-2-introducing-training-operators">Step 2: Introducing Training Operators<a href="#step-2-introducing-training-operators" class="hash-link" aria-label="Direct link to Step 2: Introducing Training Operators" title="Direct link to Step 2: Introducing Training Operators" translate="no">​</a></h2>
 <p>We added the desired Wayang (platform-agnostic) training operators which are binary to unary operators, taking as input the X and y values and outputting a Model. You can find an example of a LinearRegressionOperator here:</p>
-<p><a href="https://github.com/apache/incubator-wayang/blob/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/LinearRegressionOperator.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/blob/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/LinearRegressionOperator.java</a></p>
+<p><a href="https://github.com/apache/incubator-wayang/blob/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/LinearRegressionOperator.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/blob/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/LinearRegressionOperator.java</a></p>
 <p>Platform-specific execution operators, such as SparkLinearRegressionOperator, can be easily added as any other execution operator: extending the corresponding Wayang operator and providing the mappings from the Wayang to the execution operator. See, for example, the <code>SparkLinearRegressionOperator</code>:</p>
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkLinearRegressionOperator.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkLinearRegressionOperator.java</a></p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="step-3-introducing-prediction-operators">Step 3: Introducing Prediction Operators<a href="#step-3-introducing-prediction-operators" class="hash-link" aria-label="Direct link to Step 3: Introducing Prediction Operators" title="Direct link to Step 3: Introducing Prediction Operators">​</a></h2>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkLinearRegressionOperator.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkLinearRegressionOperator.java</a></p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="step-3-introducing-prediction-operators">Step 3: Introducing Prediction Operators<a href="#step-3-introducing-prediction-operators" class="hash-link" aria-label="Direct link to Step 3: Introducing Prediction Operators" title="Direct link to Step 3: Introducing Prediction Operators" translate="no">​</a></h2>
 <p>Additionally, we created a <code>PredictOperator</code>, a BinaryToUnary Wayang (platform-agnostic) operator which takes as input the data quanta and a model and outputs the data quanta with the predictions output by the model.</p>
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/PredictOperator.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/PredictOperator.java</a></p>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/PredictOperator.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/PredictOperator.java</a></p>
 <p>Then, a concrete platform-specific operator extends from the abstract one. See the <code>SparkPredictOperator</code> for an example:</p>
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkPredictOperator.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkPredictOperator.java</a></p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="deep-learning-models">Deep Learning Models<a href="#deep-learning-models" class="hash-link" aria-label="Direct link to Deep Learning Models" title="Direct link to Deep Learning Models">​</a></h2>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkPredictOperator.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkPredictOperator.java</a></p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="deep-learning-models">Deep Learning Models<a href="#deep-learning-models" class="hash-link" aria-label="Direct link to Deep Learning Models" title="Direct link to Deep Learning Models" translate="no">​</a></h2>
 <p>Unlike traditional machine learning models, the definition of deep learning models is more flexible. Users can combine different blocks (e.g., fully connected blocks, convolutional blocks) to build their desired models. The whole model can be represented as a graph on which the vertices represent blocks and the edges represent connections between blocks. In this case, we built a <code>DLModel</code> class that implements the <code>Model</code> interface, which contains a user-defined, [...]
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model/DLModel.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model/DLModel.java</a></p>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model/DLModel.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model/DLModel.java</a></p>
 <p>For training, we implemented the platform-agnostic <code>DLModelTrainingOperator</code> Wayang operator:</p>
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/DLTrainingOperator.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/DLTrainingOperator.java</a></p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="new-ml-platform----tensorflow-integration">New ML platform -- Tensorflow Integration<a href="#new-ml-platform----tensorflow-integration" class="hash-link" aria-label="Direct link to New ML platform -- Tensorflow Integration" title="Direct link to New ML platform -- Tensorflow Integration">​</a></h2>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/DLTrainingOperator.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/DLTrainingOperator.java</a></p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="new-ml-platform----tensorflow-integration">New ML platform -- Tensorflow Integration<a href="#new-ml-platform----tensorflow-integration" class="hash-link" aria-label="Direct link to New ML platform -- Tensorflow Integration" title="Direct link to New ML platform -- Tensorflow Integration" translate="no">​</a></h2>
 <p>We have added Tensorflow as a new platform by creating a new module (<code>wayang-tensorflow</code>) inside the <code>wayang-platforms</code> parent module and implementing a Tensorflow driver. The TensorflowExecutor driver is responsible for creating and destroying Tensorflow resources, such as a model graph and a model parameter context. When a training task scheduled on Tensorflow, it will be mapped to TensorflowDLModelTrainingOperator. In this process, the <code>DLModel</code> wil [...]
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-tensorflow/src/main/java/org/apache/wayang/tensorflow" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-tensorflow/src/main/java/org/apache/wayang/tensorflow</a></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="acknowledgement">Acknowledgement<a href="#acknowledgement" class="hash-link" aria-label="Direct link to Acknowledgement" title="Direct link to Acknowledgement">​</a></h3>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-tensorflow/src/main/java/org/apache/wayang/tensorflow" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-tensorflow/src/main/java/org/apache/wayang/tensorflow</a></p>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="acknowledgement">Acknowledgement<a href="#acknowledgement" class="hash-link" aria-label="Direct link to Acknowledgement" title="Direct link to Acknowledgement" translate="no">​</a></h3>
 <p>The source code for the support of ML operators and the Tensorflow integration has been contributed by Mingxi Liu.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="follow-wayang">Follow Wayang<a href="#follow-wayang" class="hash-link" aria-label="Direct link to Follow Wayang" title="Direct link to Follow Wayang">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="follow-wayang">Follow Wayang<a href="#follow-wayang" class="hash-link" aria-label="Direct link to Follow Wayang" title="Direct link to Follow Wayang" translate="no">​</a></h3>
 <p>Apache Wayang is in incubation phase and has a potential roadmap of implementations
 coming soon (including the federated learning aspect as well as an SQL interface and a novel
 data debugging functionality). If you want to hear or join the community, consult the link
-<a href="https://wayang.apache.org/community/" target="_blank" rel="noopener noreferrer">https://wayang.apache.org/community/</a> , join the mailing lists, contribute with new ideas,
-write documentation, or fix bugs.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/ml">ML</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/tensorflow">tensorflow</a></li></ul></div></footer></article><nav class [...]
+<a href="https://wayang.apache.org/community/" target="_blank" rel="noopener noreferrer" class="">https://wayang.apache.org/community/</a> , join the mailing lists, contribute with new ideas,
+write documentation, or fix bugs.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/ml">ML</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/tensorflow">tensorflow</a></li></ul></div [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/blog/tags/presto/index.html b/blog/tags/presto/index.html
index fcbf3e07..543f858e 100644
--- a/blog/tags/presto/index.html
+++ b/blog/tags/presto/index.html
@@ -2,14 +2,17 @@
 <html lang="en" dir="ltr" class="blog-wrapper blog-tags-post-list-page plugin-blog plugin-id-default" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
+<meta name="generator" content="Docusaurus v3.10.1">
 <title data-rh="true">One post tagged with &quot;presto&quot; | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/blog/tags/presto"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language"  [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/blog/tags/python/index.html b/blog/tags/python/index.html
index 669cf140..c35ddbf3 100644
--- a/blog/tags/python/index.html
+++ b/blog/tags/python/index.html
@@ -2,20 +2,23 @@
 <html lang="en" dir="ltr" class="blog-wrapper blog-tags-post-list-page plugin-blog plugin-id-default" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
+<meta name="generator" content="Docusaurus v3.10.1">
 <title data-rh="true">One post tagged with &quot;python&quot; | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/blog/tags/python"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language"  [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
 important. However, navigating through a multitude of tools and
 languages often is a major inconvenience.
 Apache Wayang&#x27;s upcoming Python API will allow you to seamlessly
 orchestrate data processing tasks without ever leaving the comfort
 of Python, irrespective of the underlying framework written in Java.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="expanding-apache-wayangs-apis">Expanding Apache Wayang&#x27;s APIs<a href="#expanding-apache-wayangs-apis" class="hash-link" aria-label="Direct link to Expanding Apache Wayang&#x27;s APIs" title="Direct link to Expanding Apache Wayang&#x27;s APIs">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="expanding-apache-wayangs-apis">Expanding Apache Wayang&#x27;s APIs<a href="#expanding-apache-wayangs-apis" class="hash-link" aria-label="Direct link to Expanding Apache Wayang&#x27;s APIs" title="Direct link to Expanding Apache Wayang&#x27;s APIs" translate="no">​</a></h2>
 <p>Apache Wayang&#x27;s architecture decouples the process of planning from the
 resulting execution, allowing users to specify platform agnostic plans
 through the provided APIs.</p>
@@ -45,7 +48,7 @@ When receiving a valid JSON plan, the JSON API uses the optimizer to
 construct an execution plan. However, since UDFs are defined in Python
 and thus need to be executed in Python as well, an operators function needs to be
 wrapped into a <code>WrappedPythonFunction</code>:</p>
-<div class="language-scala codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scala codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">val</span><span class="token plain"> mapOperator </span><span cla [...]
+<div class="language-scala codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-scala codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">val</span><span class="token plain"> mapOperator </span><span clas [...]
 <p>This wrapped functional descriptor allows to handle execution of
 UDFs in Python through a socket connection with the <code>pywayang</code> worker.
 Input data is sourced from the platform chosen by the optimizer and Apache
@@ -54,15 +57,15 @@ Wayang handles routing the output data to the next operator.</p>
 <p>A new API in any programming languages would have
 to specify two things:</p>
 <ul>
-<li>A way to create plans that conform to a JSON format specified in the
+<li class="">A way to create plans that conform to a JSON format specified in the
 Wayang JSON API.</li>
-<li>A <code>worker</code> that handles encoding and decoding of user defined
+<li class="">A <code>worker</code> that handles encoding and decoding of user defined
 functions (UDFs), as they need to
 be executed on iterables in their respective language.
 After that, the API can be added as a module in Wayang, so that
 operators will be wrapped and UDFs can be executed in the desired
 programming language.</li>
-</ul></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/python">python</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Pywayang - Apache Wayang&#x27;s Python API" href="/blog/wayang-python-api"><b>Read M [...]
+</ul></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/python">python</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Pywayang - Apache Wayang&#x27;s Python API" href="/blog/wayang-p [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/blog/tags/release/index.html b/blog/tags/release/index.html
index 5e17ecb2..55d768cc 100644
--- a/blog/tags/release/index.html
+++ b/blog/tags/release/index.html
@@ -2,134 +2,137 @@
 <html lang="en" dir="ltr" class="blog-wrapper blog-tags-post-list-page plugin-blog plugin-id-default" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
+<meta name="generator" content="Docusaurus v3.10.1">
 <title data-rh="true">One post tagged with &quot;release&quot; | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/blog/tags/release"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
 <p>The ASF provides a robust infrastructure for open communities of software developers. We can share ideas, combine forces, contribute code, docs, review-energy, art work, and from time to time we can nail it down. A release defines an intermediate result of the continuous community work.</p>
 <p>How we do such a release in the Apache Wayang team is an essential aspect towards graduation. First of all, there are some references to take into account, such as:</p>
 <ul>
-<li><a href="https://www.apache.org/legal/release-policy.html" target="_blank" rel="noopener noreferrer">https://www.apache.org/legal/release-policy.html</a></li>
-<li><a href="https://maven.apache.org/maven-release/maven-release-plugin/" target="_blank" rel="noopener noreferrer">https://maven.apache.org/maven-release/maven-release-plugin/</a></li>
+<li class=""><a href="https://www.apache.org/legal/release-policy.html" target="_blank" rel="noopener noreferrer" class="">https://www.apache.org/legal/release-policy.html</a></li>
+<li class=""><a href="https://maven.apache.org/maven-release/maven-release-plugin/" target="_blank" rel="noopener noreferrer" class="">https://maven.apache.org/maven-release/maven-release-plugin/</a></li>
 </ul>
 <p>Assuming you are (P)PMC, and assuming that you have the right permissions for such a release, you can follow the path as described in this guide:</p>
 <ul>
-<li><a href="https://plc4x.apache.org/plc4x/latest/developers/release/release.html" target="_blank" rel="noopener noreferrer">https://plc4x.apache.org/developers/release/release.html</a></li>
+<li class=""><a href="https://plc4x.apache.org/plc4x/latest/developers/release/release.html" target="_blank" rel="noopener noreferrer" class="">https://plc4x.apache.org/developers/release/release.html</a></li>
 </ul>
 <p>I tried to follow exactly this procedure, several times. I failed. Here I share the current status of my <strong>release attempts</strong>.</p>
 <p>I plan a longer tour, and do not want to block the project for a long time.
 Hence I create this draft, and I hope we can unblock this project as soon as possible.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="status">Status:<a href="#status" class="hash-link" aria-label="Direct link to Status:" title="Direct link to Status:">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="status">Status:<a href="#status" class="hash-link" aria-label="Direct link to Status:" title="Direct link to Status:" translate="no">​</a></h2>
 <p>I am not able to conduct the <em>mvn release:perform</em> step.
 Anything before worked, sometimes only after some digging, but it worked.</p>
 <ul>
-<li>
+<li class="">
 <p>We assume, that due to my membership in two ASF incubator projects I am not able to upload the artefacts to the Nexus repository (H1).</p>
 </li>
-<li>
+<li class="">
 <p>It can be, that I have not the correct user and password in my <em>settings.xml</em> file (H2).</p>
 </li>
 </ul>
-<p>But I tested a manual login to the nexus server <a href="https://repository.apache.org/service/local/staging/deploy/maven2" target="_blank" rel="noopener noreferrer">https://repository.apache.org/service/local/staging/deploy/maven2</a> with success. And beyond that I have no idea how I can verify this detail alone.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="idea--proposal">Idea / Proposal<a href="#idea--proposal" class="hash-link" aria-label="Direct link to Idea / Proposal" title="Direct link to Idea / Proposal">​</a></h2>
+<p>But I tested a manual login to the nexus server <a href="https://repository.apache.org/service/local/staging/deploy/maven2" target="_blank" rel="noopener noreferrer" class="">https://repository.apache.org/service/local/staging/deploy/maven2</a> with success. And beyond that I have no idea how I can verify this detail alone.</p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="idea--proposal">Idea / Proposal<a href="#idea--proposal" class="hash-link" aria-label="Direct link to Idea / Proposal" title="Direct link to Idea / Proposal" translate="no">​</a></h2>
 <p>(1) It would be great, if someone - who has done a release in any other ASF project or in Apache Wayang - could follow the steps I share, so that we can check where the problem hides itself.</p>
 <p>(2) As a follow-up task, I suggest to add a <strong>Release Guide</strong> to the Apache Wayang project, including release manager onboarding steps, and checklists for the particular project, derived from the referenced sources which are listed above.</p>
 <p>But for now it is all about sharing the status (as I did serveral times on multiple chanels, including JIRA, Slack, Mailing lists) and finding a solution for Apache Wayang release 1.0.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="latest-error">Latest Error:<a href="#latest-error" class="hash-link" aria-label="Direct link to Latest Error:" title="Direct link to Latest Error:">​</a></h2>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:perform -X -DskipTests</span><br></span></code></pre><div class="buttonGroup__atx"><button ty [...]
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[INFO] Caused by: org.eclipse.aether.deployment.DeploymentException: Failed to deploy artifacts: Could no [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="activity-log">Activity Log<a href="#activity-log" class="hash-link" aria-label="Direct link to Activity Log" title="Direct link to Activity Log">​</a></h2>
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:clean</span><br></span><span class="token-line" style="color:#393A34"><span cla [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Da [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">ERROR</span><span class="toke [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn versions:commit</span><br></span><span class="token-line" style="color:#393A34"><span c [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Da [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">ERROR</span><span class="toke [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">git</span><span class="token plain"> status</span><br></span><span [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Da [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">Caused by: org.eclipse.aether.transfer.NoRepositoryConnectorException: Blocked mirror </spa [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="dependency-on-jdk-11-during-release">Dependency on JDK-11 during release<a href="#dependency-on-jdk-11-during-release" class="hash-link" aria-label="Direct link to Dependency on JDK-11 during release" title="Direct link to Dependency on JDK-11 during release">​</a></h3>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="latest-error">Latest Error:<a href="#latest-error" class="hash-link" aria-label="Direct link to Latest Error:" title="Direct link to Latest Error:" translate="no">​</a></h2>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:perform -X -DskipTests</span><br></div></code></pre></div></div>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[INFO] Caused by: org.eclipse.aether.deployment.DeploymentException: Failed to deploy artifa [...]
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="activity-log">Activity Log<a href="#activity-log" class="hash-link" aria-label="Direct link to Activity Log" title="Direct link to Activity Log" translate="no">​</a></h2>
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:clean</span><br></div><div class="token-line" style="color:#393A34"><span class= [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Dar [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">ERROR</span><span class="token [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn versions:commit</span><br></div><div class="token-line" style="color:#393A34"><span clas [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Dar [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">ERROR</span><span class="token [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">git</span><span class="token plain"> status</span><br></div><div cl [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Dar [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">Caused by: org.eclipse.aether.transfer.NoRepositoryConnectorException: Blocked mirror </span [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="dependency-on-jdk-11-during-release">Dependency on JDK-11 during release<a href="#dependency-on-jdk-11-during-release" class="hash-link" aria-label="Direct link to Dependency on JDK-11 during release" title="Direct link to Dependency on JDK-11 during release" translate="no">​</a></h3>
 <blockquote>
 <p>FIXED with local JDK11 Setup</p>
 </blockquote>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">brew install openjdk@11</span><br></span><span class="token-line" style="color:#393A34"><span class="toke [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="manual-update-of-release-version">Manual update of release-version<a href="#manual-update-of-release-version" class="hash-link" aria-label="Direct link to Manual update of release-version" title="Direct link to Manual update of release-version">​</a></h3>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">brew install openjdk@11</span><br></div><div class="token-line" style="color:#393A34"><span  [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="manual-update-of-release-version">Manual update of release-version<a href="#manual-update-of-release-version" class="hash-link" aria-label="Direct link to Manual update of release-version" title="Direct link to Manual update of release-version" translate="no">​</a></h3>
 <p>During the release procedure, do I have to set the version here in this configuration section manually?</p>
-<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">plug [...]
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">plugi [...]
 <blockquote>
 <p>It seems that these properties must be updated manually.</p>
 </blockquote>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="warning-regarding-illegal-reflective-access-operation">Warning regarding &quot;illegal reflective access operation&quot;<a href="#warning-regarding-illegal-reflective-access-operation" class="hash-link" aria-label="Direct link to Warning regarding &quot;illegal reflective access operation&quot;" title="Direct link to Warning regarding &quot;illegal reflective access operation&quot;">​</a></h3>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[ERROR] WARNING: An illegal reflective access operation has occurred</span><br></span><span class="token- [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="warning-regarding-illegal-reflective-access-operation">Warning regarding &quot;illegal reflective access operation&quot;<a href="#warning-regarding-illegal-reflective-access-operation" class="hash-link" aria-label="Direct link to Warning regarding &quot;illegal reflective access operation&quot;" title="Direct link to Warning regarding &quot;illegal reflective access operation&quot;" translate="no">​</a></h3>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[ERROR] WARNING: An illegal reflective access operation has occurred</span><br></div><div cl [...]
 <blockquote>
 <p><strong>This is still an OPEN ISSUE !</strong></p>
 </blockquote>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="rat-check-fails">RAT Check fails<a href="#rat-check-fails" class="hash-link" aria-label="Direct link to RAT Check fails" title="Direct link to RAT Check fails">​</a></h3>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[INFO] [ERROR] Failed to execute goal org.apache.rat:apache-rat-plugin:0.13:check (license-check) on proj [...]
-<div class="language-cat codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-cat codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34" [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="rat-check-fails">RAT Check fails<a href="#rat-check-fails" class="hash-link" aria-label="Direct link to RAT Check fails" title="Direct link to RAT Check fails" translate="no">​</a></h3>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[INFO] [ERROR] Failed to execute goal org.apache.rat:apache-rat-plugin:0.13:check (license-c [...]
+<div class="language-cat codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-cat codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><s [...]
 <blockquote>
 <p><em>FIXED by adding .java-versions to .gitignore</em></p>
 </blockquote>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="tag-could-not-be-created-in-scm">Tag could not be created in SCM.<a href="#tag-could-not-be-created-in-scm" class="hash-link" aria-label="Direct link to Tag could not be created in SCM." title="Direct link to Tag could not be created in SCM.">​</a></h3>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:3.0.1:prepare (default-cli)  [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="tag-could-not-be-created-in-scm">Tag could not be created in SCM.<a href="#tag-could-not-be-created-in-scm" class="hash-link" aria-label="Direct link to Tag could not be created in SCM." title="Direct link to Tag could not be created in SCM." translate="no">​</a></h3>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:3.0.1:prepare ( [...]
 <blockquote>
 <p>FIXED by manual changes in pom.xml.</p>
 </blockquote>
-<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34" [...]
-<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">conf [...]
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare -Darguments=&#x27;-DskipTests=True -Dresume=True&#x27;</span><br></span></code></pre> [...]
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn clean package</span><br></span><span class="token-line" style="color:#393A34"><span class="token plai [...]
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><s [...]
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">confi [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare -Darguments=&#x27;-DskipTests=True -Dresume=True&#x27;</span><br></div>< [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn clean package</span><br></div><div class="token-line" style="color:#393A34"><span class= [...]
 <blockquote>
 <p>So far so good. But now the sun went down.</p>
 </blockquote>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[INFO] [ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:3.0.0-M1:deploy (defau [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[INFO] [ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:3.0.0-M1: [...]
 <p>The null pointer exception indicates problems in <em>settings.xml</em>. This could be fixed.
 But now, the error changes with and I am still not able to stage the build results.</p>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:perform -X -DskipTests</span><br></span></code></pre><div class="buttonGroup__atx"><button ty [...]
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[INFO] Caused by: org.eclipse.aether.deployment.DeploymentException: Failed to deploy artifacts: Could no [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="checklist-for-next-iteration">Checklist for next iteration:<a href="#checklist-for-next-iteration" class="hash-link" aria-label="Direct link to Checklist for next iteration:" title="Direct link to Checklist for next iteration:">​</a></h2>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:perform -X -DskipTests</span><br></div></code></pre></div></div>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[INFO] Caused by: org.eclipse.aether.deployment.DeploymentException: Failed to deploy artifa [...]
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="checklist-for-next-iteration">Checklist for next iteration:<a href="#checklist-for-next-iteration" class="hash-link" aria-label="Direct link to Checklist for next iteration:" title="Direct link to Checklist for next iteration:" translate="no">​</a></h2>
 <p>The error you&#x27;re encountering indicates that there is a problem with deploying the artifacts using the <code>maven-deploy-plugin</code>. The root cause of the error is a <code>NullPointerException</code> during the deployment process, specifically related to the <code>org.eclipse.aether.transfer.ArtifactTransferException</code>.</p>
 <p>Here&#x27;s a step-by-step guide to troubleshoot and resolve this issue:</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="1-check-maven-settings">1. Check Maven Settings<a href="#1-check-maven-settings" class="hash-link" aria-label="Direct link to 1. Check Maven Settings" title="Direct link to 1. Check Maven Settings">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="1-check-maven-settings">1. Check Maven Settings<a href="#1-check-maven-settings" class="hash-link" aria-label="Direct link to 1. Check Maven Settings" title="Direct link to 1. Check Maven Settings" translate="no">​</a></h3>
 <p>Ensure that your Maven settings (<code>settings.xml</code>) are correctly configured for deployment. Verify that the repository settings and credentials are correctly specified.</p>
 <p><strong>[DONE]</strong></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="2-verify-repository-url">2. Verify Repository URL<a href="#2-verify-repository-url" class="hash-link" aria-label="Direct link to 2. Verify Repository URL" title="Direct link to 2. Verify Repository URL">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="2-verify-repository-url">2. Verify Repository URL<a href="#2-verify-repository-url" class="hash-link" aria-label="Direct link to 2. Verify Repository URL" title="Direct link to 2. Verify Repository URL" translate="no">​</a></h3>
 <p>Make sure the repository URL in your <code>pom.xml</code> or <code>settings.xml</code> is correct and reachable. The URL should point to the correct staging repository for deployment.</p>
 <p><em>[OPEN]</em> - I did not touch it, so I guess it is correct in the <em>pom.xml</em>.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="3-maven-version-compatibility">3. Maven Version Compatibility<a href="#3-maven-version-compatibility" class="hash-link" aria-label="Direct link to 3. Maven Version Compatibility" title="Direct link to 3. Maven Version Compatibility">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="3-maven-version-compatibility">3. Maven Version Compatibility<a href="#3-maven-version-compatibility" class="hash-link" aria-label="Direct link to 3. Maven Version Compatibility" title="Direct link to 3. Maven Version Compatibility" translate="no">​</a></h3>
 <p>Verify that you are using a compatible version of Maven. Sometimes, upgrading or downgrading Maven can resolve such issues.</p>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">Apache Maven 3.9.6 (bc0240f3c744dd6b6ec2920b3cd08dcc295161ae)</span><br></span><span class="token-line" s [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">Apache Maven 3.9.6 (bc0240f3c744dd6b6ec2920b3cd08dcc295161ae)</span><br></div><div class="to [...]
 <p><strong>[DONE]</strong></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="4-check-for-network-issues">4. Check for Network Issues<a href="#4-check-for-network-issues" class="hash-link" aria-label="Direct link to 4. Check for Network Issues" title="Direct link to 4. Check for Network Issues">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="4-check-for-network-issues">4. Check for Network Issues<a href="#4-check-for-network-issues" class="hash-link" aria-label="Direct link to 4. Check for Network Issues" title="Direct link to 4. Check for Network Issues" translate="no">​</a></h3>
 <p>Ensure there are no network issues that might be causing problems in connecting to the repository. Sometimes, network configurations, firewalls, or proxy settings can interfere with the deployment process.</p>
 <p><strong>[DONE]</strong></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="5-update-maven-plugins">5. Update Maven Plugins<a href="#5-update-maven-plugins" class="hash-link" aria-label="Direct link to 5. Update Maven Plugins" title="Direct link to 5. Update Maven Plugins">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="5-update-maven-plugins">5. Update Maven Plugins<a href="#5-update-maven-plugins" class="hash-link" aria-label="Direct link to 5. Update Maven Plugins" title="Direct link to 5. Update Maven Plugins" translate="no">​</a></h3>
 <p>Ensure that you are using the latest versions of the Maven plugins. Sometimes, bugs in older versions can cause unexpected issues.</p>
 <p><em>[OPEN]</em></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="6-configure-the-maven-deploy-plugin-in-pomxml">6. Configure the <code>maven-deploy-plugin</code> in <code>pom.xml</code><a href="#6-configure-the-maven-deploy-plugin-in-pomxml" class="hash-link" aria-label="Direct link to 6-configure-the-maven-deploy-plugin-in-pomxml" title="Direct link to 6-configure-the-maven-deploy-plugin-in-pomxml">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="6-configure-the-maven-deploy-plugin-in-pomxml">6. Configure the <code>maven-deploy-plugin</code> in <code>pom.xml</code><a href="#6-configure-the-maven-deploy-plugin-in-pomxml" class="hash-link" aria-label="Direct link to 6-configure-the-maven-deploy-plugin-in-pomxml" title="Direct link to 6-configure-the-maven-deploy-plugin-in-pomxml" translate="no">​</a></h3>
 <p>Make sure the <code>maven-deploy-plugin</code> is correctly configured in your <code>pom.xml</code>. Here&#x27;s an example configuration:</p>
-<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">plug [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="7-increase-verbose-logging">7. Increase Verbose Logging<a href="#7-increase-verbose-logging" class="hash-link" aria-label="Direct link to 7. Increase Verbose Logging" title="Direct link to 7. Increase Verbose Logging">​</a></h3>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">plugi [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="7-increase-verbose-logging">7. Increase Verbose Logging<a href="#7-increase-verbose-logging" class="hash-link" aria-label="Direct link to 7. Increase Verbose Logging" title="Direct link to 7. Increase Verbose Logging" translate="no">​</a></h3>
 <p>Enable verbose logging to get more details about the error. You can do this by adding the <code>-X</code> flag when running the Maven command:</p>
-<div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn clean deploy </span><span class="token parameter variable" style="color:#36acaa">-X</span>< [...]
+<div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn clean deploy </span><span class="token parameter variable" style="color:#36acaa">-X</span><b [...]
 <p><strong>[DONE]</strong></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="8-retry-with-a-clean-local-repository">8. Retry with a Clean Local Repository<a href="#8-retry-with-a-clean-local-repository" class="hash-link" aria-label="Direct link to 8. Retry with a Clean Local Repository" title="Direct link to 8. Retry with a Clean Local Repository">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="8-retry-with-a-clean-local-repository">8. Retry with a Clean Local Repository<a href="#8-retry-with-a-clean-local-repository" class="hash-link" aria-label="Direct link to 8. Retry with a Clean Local Repository" title="Direct link to 8. Retry with a Clean Local Repository" translate="no">​</a></h3>
 <p>Sometimes, a corrupt local repository can cause issues. Try cleaning your local Maven repository and re-running the deployment:</p>
-<div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn clean </span><span class="token function" style="color:#d73a49">install</span><span class=" [...]
+<div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn clean </span><span class="token function" style="color:#d73a49">install</span><span class="t [...]
 <p><em>[OPEN]</em> - Does not match to an authentication issue.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="9-check-for-missing-credentials">9. Check for Missing Credentials<a href="#9-check-for-missing-credentials" class="hash-link" aria-label="Direct link to 9. Check for Missing Credentials" title="Direct link to 9. Check for Missing Credentials">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="9-check-for-missing-credentials">9. Check for Missing Credentials<a href="#9-check-for-missing-credentials" class="hash-link" aria-label="Direct link to 9. Check for Missing Credentials" title="Direct link to 9. Check for Missing Credentials" translate="no">​</a></h3>
 <p>Ensure that the credentials for the repository are correctly set up in your <code>settings.xml</code>:</p>
-<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">serv [...]
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">serve [...]
 <p><strong>[DONE]</strong></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="10-review-the-full-stack-trace">10. Review the Full Stack Trace<a href="#10-review-the-full-stack-trace" class="hash-link" aria-label="Direct link to 10. Review the Full Stack Trace" title="Direct link to 10. Review the Full Stack Trace">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="10-review-the-full-stack-trace">10. Review the Full Stack Trace<a href="#10-review-the-full-stack-trace" class="hash-link" aria-label="Direct link to 10. Review the Full Stack Trace" title="Direct link to 10. Review the Full Stack Trace" translate="no">​</a></h3>
 <p>The full stack trace indicates a <code>NullPointerException</code>:</p>
-<div class="language-plaintext codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-plaintext codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">Caused by: java.lang.NullPointerException</span><br></span><span class="token-lin [...]
+<div class="language-plaintext codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-plaintext codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">Caused by: java.lang.NullPointerException</span><br></div><div class="token-line"  [...]
 <p>This suggests that there might be an issue with how credentials are being handled. Double-check that the credentials are being correctly passed and processed.</p>
-<p><strong>[DONE]</strong></p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/asf">ASF</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/release">release</a></li></ul></div></footer></article><nav class="paginatio [...]
+<p><strong>[DONE]</strong></p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/asf">ASF</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/release">release</a></li></ul></div></footer>< [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/blog/tags/spark/index.html b/blog/tags/spark/index.html
index b8d1b99c..479fd211 100644
--- a/blog/tags/spark/index.html
+++ b/blog/tags/spark/index.html
@@ -2,21 +2,24 @@
 <html lang="en" dir="ltr" class="blog-wrapper blog-tags-post-list-page plugin-blog plugin-id-default" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
+<meta name="generator" content="Docusaurus v3.10.1">
 <title data-rh="true">One post tagged with &quot;spark&quot; | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/blog/tags/spark"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" co [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
 Motivated by the learnings from last time, I stated implementing a Kafka Source component and a Kafka Sink component for the Apache Spark platform in Apache Wayang.
 In our previous article we shared the results of the work on the frist Apache Kafka integration using the Java Platform.</p>
 <p>Let&#x27;s see how it goes this time with Apache Spark.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="the-goal-of-this-implementation">The goal of this implementation<a href="#the-goal-of-this-implementation" class="hash-link" aria-label="Direct link to The goal of this implementation" title="Direct link to The goal of this implementation">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-goal-of-this-implementation">The goal of this implementation<a href="#the-goal-of-this-implementation" class="hash-link" aria-label="Direct link to The goal of this implementation" title="Direct link to The goal of this implementation" translate="no">​</a></h2>
 <p>We want to process data from Apache Kafka topics, which are hosted on Confluent cloud.
 In our example scenario, data is available in multiple different clusters, in different regions and owned by different organizations.
-Each organization uses the <a href="https://docs.confluent.io/cloud/current/stream-sharing/index.html" target="_blank" rel="noopener noreferrer">&quot;stream sharing&quot; feature</a> provided by Confluent cloud.</p>
+Each organization uses the <a href="https://docs.confluent.io/cloud/current/stream-sharing/index.html" target="_blank" rel="noopener noreferrer" class="">&quot;stream sharing&quot; feature</a> provided by Confluent cloud.</p>
 <p>This way, the operator of our central processing job has been granted appropriate permissions. The plaftorm provided the necessary configuration properties, including access coordinates and credentials in the name of the topic owner to us.</p>
 <p>The following illustration has already been introduced in part one of the blog series, but for clarity we repeat it here.</p>
 <p><img decoding="async" loading="lazy" alt="images/image-1.png" src="/assets/images/image-1-9cc35d5aea2b867d7e5759a96bd02334.png" width="904" height="550" class="img_ev3q"></p>
@@ -25,11 +28,11 @@ Each source allows us to read the data from that particular topic so that we can
 In this example it is a public processing context, in which data from multiple private processing contexts are used together.</p>
 <p>This use case is already prepared for high processing loads We can utilize the scalability capabilities of Apache Spark or simply use a Java program for initial tests of the solution. Switching between both is done in one line of code in Apache Wayang.</p>
 <p>Again, we start with a <strong>WayangContext</strong>, as shown by examples in the Wayang code repository.</p>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">WayangContext wayangContext = new WayangContext().with(Spark.basicPlugin());</span><br></span></code></pr [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">WayangContext wayangContext = new WayangContext().with(Spark.basicPlugin());</span><br></div [...]
 <p>We simply switched the backend system towards Apache Spark by using the <em>WayangContext</em> with <em>Spark.basicPlugin()</em>.
 The <strong>JavaPlanBuilder</strong> and all other logic of our example job won&#x27;t be touched.</p>
 <p>In order to make this working we will now implement the Mappings and the Operators for the Apache Spark platform module.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="implementation-of-input--and-output-operators">Implementation of Input- and Output Operators<a href="#implementation-of-input--and-output-operators" class="hash-link" aria-label="Direct link to Implementation of Input- and Output Operators" title="Direct link to Implementation of Input- and Output Operators">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="implementation-of-input--and-output-operators">Implementation of Input- and Output Operators<a href="#implementation-of-input--and-output-operators" class="hash-link" aria-label="Direct link to Implementation of Input- and Output Operators" title="Direct link to Implementation of Input- and Output Operators" translate="no">​</a></h2>
 <p>We reuse the Kafka Source and Kafka Sink components which have been created for the JavaKafkaSource and JavaKafkaSink.
 Hence we work with Wayang&#x27;s Java API.</p>
 <p><strong>Level 1 – Wayang execution plan with abstract operators</strong></p>
@@ -68,16 +71,16 @@ Those were made specifically for a simple non parallel Java program, using one C
 <p>The selected approach does not yet fully take advantage from Spark&#x27;s parallelism at load time.
 For higher loads and especially for streaming processing we would have to investigate another approache, using a <em>SparkStreamingContext</em>, but this is out of scope for now.</p>
 <p>Since we can&#x27;t reuse the <em>JavaKafkaTopicSource</em> and <em>JavaKafkaTopicSink</em> we rather implement <em>SparkKafkaTopicSource</em> and <em>SparkKafkaTopicSink</em> based on given <em>SparkTextFileSource</em> and <em>SparkTextFileSink</em> which both cary all needed RDD specific logic.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="summary">Summary<a href="#summary" class="hash-link" aria-label="Direct link to Summary" title="Direct link to Summary">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="summary">Summary<a href="#summary" class="hash-link" aria-label="Direct link to Summary" title="Direct link to Summary" translate="no">​</a></h2>
 <p>As expected, the integration of Apache Spark with Apache Wayang was no magic, thanks to a fluent API design and a well structured architecture of Apache Wayang.
 We could easily follow the pattern we have worked out in the previous exercise.</p>
 <p>But a bunch of much more interesting work will follow next.
 More testing, more serialization schemes, and Kafka Schema Registry support should follow, and full parallelization as well.</p>
 <p>The code has been submitted to the Apache Wayang repository.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="outlook">Outlook<a href="#outlook" class="hash-link" aria-label="Direct link to Outlook" title="Direct link to Outlook">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="outlook">Outlook<a href="#outlook" class="hash-link" aria-label="Direct link to Outlook" title="Direct link to Outlook" translate="no">​</a></h2>
 <p>The next part of the article series will cover the real world example as described in image 1.
 We will show how analysts and developers can use the Apache Kafka integration for Apache Wayang to solve cross organizational collaboration issues.
-Therefore, we will bring all puzzles together, and show the full implementation of the multi organizational data collaboration use case.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/kafka">kafka</a></li><li class="tag_QGVx"><a class="tag_z [...]
+Therefore, we will bring all puzzles together, and show the full implementation of the multi organizational data collaboration use case.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/kafka">kafka</a></li><li class="tag_Q [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/blog/tags/spatial/index.html b/blog/tags/spatial/index.html
index 0d722af5..3bb891e8 100644
--- a/blog/tags/spatial/index.html
+++ b/blog/tags/spatial/index.html
@@ -2,58 +2,61 @@
 <html lang="en" dir="ltr" class="blog-wrapper blog-tags-post-list-page plugin-blog plugin-id-default" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
+<meta name="generator" content="Docusaurus v3.10.1">
 <title data-rh="true">One post tagged with &quot;spatial&quot; | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/blog/tags/spatial"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="implementation">Implementation<a href="#implementation" class="hash-link" aria-label="Direct link to Implementation" title="Direct link to Implementation">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="implementation">Implementation<a href="#implementation" class="hash-link" aria-label="Direct link to Implementation" title="Direct link to Implementation" translate="no">​</a></h2>
 <p>Workflows including spatial operators are not the main task in Apache Wayang. Therefore, we chose to add spatial support as a plugin that can be enabled separately.</p>
 <p>The two new operators we added are SpatialFilter and SpatialJoin, since many spatial workflows primarily rely on these two operations.</p>
 <p>To support multiple data sources and geometry formats, we introduced an internal geometry representation, SpatialGeometry, that enables translation between formats. This allows geometries stored as WKT, WKB, and GeoJSON to be read and, if necessary, converted to the type expected by the consuming operator.</p>
 <p>For the execution of spatial jobs, we currently support Java, PostgreSQL, and Spark as backends. The Spark implementation uses Apache Sedona, a well-established library for distributed processing of spatial data. The Java implementation is based on JTS, and the PostgreSQL platform uses PostGIS for spatial operations.</p>
-<div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token class-name">WayangContext</span><span class="token plain"> wayangContext </span><span class="token [...]
+<div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token class-name">WayangContext</span><span class="token plain"> wayangContext </span><span class="token  [...]
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="why-spatial-is-a-plugin-not-a-platform">Why Spatial Is a Plugin, Not a Platform<a href="#why-spatial-is-a-plugin-not-a-platform" class="hash-link" aria-label="Direct link to Why Spatial Is a Plugin, Not a Platform" title="Direct link to Why Spatial Is a Plugin, Not a Platform">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="why-spatial-is-a-plugin-not-a-platform">Why Spatial Is a Plugin, Not a Platform<a href="#why-spatial-is-a-plugin-not-a-platform" class="hash-link" aria-label="Direct link to Why Spatial Is a Plugin, Not a Platform" title="Direct link to Why Spatial Is a Plugin, Not a Platform" translate="no">​</a></h2>
 <p>In the current Wayang architecture, a platform is responsible for runtime ownership: it defines a Platform implementation, provides an executor factory, defines channel conversions, and integrates cost models. This can be seen clearly in modules such as Java (JavaPlatform + JavaExecutor) and PostgreSQL (PostgresPlatform via JdbcPlatformTemplate + JdbcExecutor).</p>
 <p>The spatial extension is intentionally different. It does not introduce a new Platform subclass and does not provide its own executor. Instead, wayang-spatial is implemented as a plugin (Spatial.java) that contributes operators, mappings for those operators, and specifies required platforms.</p>
 <p>The logical spatial operators (<code>SpatialFilterOperator</code>, <code>SpatialJoinOperator</code>, <code>GeoJsonFileSource</code>) still live in <code>wayang-basic</code> and are included in the Java-Scala API. The spatial plugin extends the system by adding platform-specific execution operators and transformation rules that map Wayang operators to their platform implementations.</p>
 <p>At registration time, <code>WayangContext.withPlugin(...)</code> calls <code>plugin.configure(configuration)</code>. This whitelists the required platforms and spatial mappings. During optimization, mappings such as <code>SpatialFilterMapping</code> and <code>SpatialJoinMapping</code> rewrite logical operators into execution operators such as:</p>
 <ul>
-<li><code>JavaSpatialFilterOperator</code> / <code>JavaSpatialJoinOperator</code></li>
-<li><code>SparkSpatialFilterOperator</code> / <code>SparkSpatialJoinOperator</code></li>
-<li><code>PostgresSpatialFilterOperator</code> / <code>PostgresSpatialJoinOperator</code></li>
+<li class=""><code>JavaSpatialFilterOperator</code> / <code>JavaSpatialJoinOperator</code></li>
+<li class=""><code>SparkSpatialFilterOperator</code> / <code>SparkSpatialJoinOperator</code></li>
+<li class=""><code>PostgresSpatialFilterOperator</code> / <code>PostgresSpatialJoinOperator</code></li>
 </ul>
 <p>Execution is then handled by the existing platform runtimes:</p>
 <ul>
-<li>Java operators are executed by <code>JavaExecutor</code></li>
-<li>Spark operators are executed by <code>SparkExecutor</code></li>
-<li>PostgreSQL operators are executed through the JDBC runtime (<code>JdbcExecutor</code>)</li>
+<li class="">Java operators are executed by <code>JavaExecutor</code></li>
+<li class="">Spark operators are executed by <code>SparkExecutor</code></li>
+<li class="">PostgreSQL operators are executed through the JDBC runtime (<code>JdbcExecutor</code>)</li>
 </ul>
 <p>In practice, this is why applications have to register both a platform plugin (for general operators and channels) and a spatial plugin (for spatial mappings), for example <code>Java.basicPlugin()</code> + <code>Spatial.javaPlugin()</code> or <code>Spark.basicPlugin()</code> + <code>Spatial.sparkPlugin()</code>.</p>
 <p>This design provides three concrete advantages:</p>
 <ul>
-<li>No duplicate runtime stack, since executors, channels, and cost models remain centralized in the platforms</li>
-<li>Clean multi-platform support for the same spatial semantics</li>
-<li>Lower maintenance overhead, because spatial development efforts can focus on operator logic and mappings rather than recreating infrastructure</li>
+<li class="">No duplicate runtime stack, since executors, channels, and cost models remain centralized in the platforms</li>
+<li class="">Clean multi-platform support for the same spatial semantics</li>
+<li class="">Lower maintenance overhead, because spatial development efforts can focus on operator logic and mappings rather than recreating infrastructure</li>
 </ul>
 <p>Spatial support in Wayang is therefore best understood as a cross-platform capability extension: it contributes spatial semantics and translation, while execution remains fully owned by the underlying platforms.</p>
 <div style="text-align:center"><img width="90%" alt="wayang-spatial architecture" src="/img/architecture/wayang-spatial-architecture.png"></div>
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="benchmarks">Benchmarks<a href="#benchmarks" class="hash-link" aria-label="Direct link to Benchmarks" title="Direct link to Benchmarks">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="benchmarks">Benchmarks<a href="#benchmarks" class="hash-link" aria-label="Direct link to Benchmarks" title="Direct link to Benchmarks" translate="no">​</a></h2>
 <p>Below we show scenarios where it is advantageous to be able to freely choose the execution depending on the use case. The following benchmarks are not intended to be exhaustive tests of our new operators but rather to highlight how using the platform independence of Apache Wayang can speed up spatial jobs. We executed the benchmarks on an HPC cluster with reproducible Spark cluster configurations.</p>
 <div style="text-align:center"><img width="75%" alt="Spatial benchmark 1" src="/img/benchmarks/spatial-bench1.png"></div>
 <ul>
-<li><strong>Job 1:</strong> Spatial Join of parks (~44k) and lakes (~140k) in Germany with spatial predicate CONTAINS, no index on Postgres tables, Spark cluster with 4 nodes</li>
-<li><strong>Job 2:</strong> Spatial Join of parks (~44k) and lakes (~140k) in Germany with spatial predicate CONTAINS, spatial index on Postgres tables, Spark cluster with 4 nodes</li>
-<li><strong>Job 3:</strong> Spatial Join of two synthetic datasets containing boxes (100k and 1M) with spatial predicate INTERSECTS, spatial index on Postgres tables, Spark cluster with 8 nodes</li>
+<li class=""><strong>Job 1:</strong> Spatial Join of parks (~44k) and lakes (~140k) in Germany with spatial predicate CONTAINS, no index on Postgres tables, Spark cluster with 4 nodes</li>
+<li class=""><strong>Job 2:</strong> Spatial Join of parks (~44k) and lakes (~140k) in Germany with spatial predicate CONTAINS, spatial index on Postgres tables, Spark cluster with 4 nodes</li>
+<li class=""><strong>Job 3:</strong> Spatial Join of two synthetic datasets containing boxes (100k and 1M) with spatial predicate INTERSECTS, spatial index on Postgres tables, Spark cluster with 8 nodes</li>
 </ul>
 <p>The above figure shows that there are use cases in which each of the currently supported platforms performs best. For small datasets, Java performs best if there is no spatial index available for Postgres; otherwise, Postgres outperforms Java. Due to the Spark overhead, Sedona running on a Spark cluster only gains an advantage in jobs with large datasets, as seen in Job 3.</p>
-<p>This is also evident in the following figure. While Java and Postgres perform better than Sedona on a Spark cluster for joins on small datasets, this trend reverses for joins of larger datasets. Especially for the join of 100k and 10M boxes (generated using <a href="https://star.cs.ucr.edu" target="_blank" rel="noopener noreferrer">star.cs.ucr.edu</a>), the Spark cluster outperforms the single node execution of Java and Postgres. The poor performance of Sedona/Spark on a cluster with  [...]
+<p>This is also evident in the following figure. While Java and Postgres perform better than Sedona on a Spark cluster for joins on small datasets, this trend reverses for joins of larger datasets. Especially for the join of 100k and 10M boxes (generated using <a href="https://star.cs.ucr.edu" target="_blank" rel="noopener noreferrer" class="">star.cs.ucr.edu</a>), the Spark cluster outperforms the single node execution of Java and Postgres. The poor performance of Sedona/Spark on a clus [...]
 <div style="text-align:center"><img width="75%" alt="Spatial benchmark 2" src="/img/benchmarks/spatial-bench2.png"></div>
 <p>The performance gained by using larger cluster configurations can also be seen in the following visualization of runtime results of box joins with datasets of various sizes.</p>
 <div style="text-align:center"><img width="75%" alt="Spatial benchmark 3" src="/img/benchmarks/spatial-bench3.png"></div>
@@ -61,10 +64,10 @@
 <div style="text-align:center"><img width="75%" alt="Spatial benchmark 4" src="/img/benchmarks/spatial-bench4.png"></div>
 <p>The benchmark results show multiple scenarios in which platform choice has a significant impact on runtime. Spatial data processing can therefore benefit greatly from using the new spatial operators in Apache Wayang.</p>
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="future-work">Future Work<a href="#future-work" class="hash-link" aria-label="Direct link to Future Work" title="Direct link to Future Work">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="future-work">Future Work<a href="#future-work" class="hash-link" aria-label="Direct link to Future Work" title="Direct link to Future Work" translate="no">​</a></h2>
 <p>Our spatial extension enables basic spatial workloads using filter and join operations on the Java, Spark, and Postgres platforms. However, additional operators like nearest neighbor or within-distance operations could enable even more complex scenarios.</p>
 <p>Adding platforms specifically designed for spatial data processing could improve performance even further. An interesting candidate for this could be the relatively recently introduced Apache SedonaDB database engine.</p>
-<p>Currently, the execution platform has to be chosen manually. Part of potential future work should therefore be the implementation of heuristics for platform selection.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/spatial">spatial</a></l [...]
+<p>Currently, the execution platform has to be chosen manually. Part of potential future work should therefore be the implementation of heuristics for platform selection.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/spa [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/blog/tags/tensorflow/index.html b/blog/tags/tensorflow/index.html
index 4ca9f7a2..4bfbf6f4 100644
--- a/blog/tags/tensorflow/index.html
+++ b/blog/tags/tensorflow/index.html
@@ -2,46 +2,49 @@
 <html lang="en" dir="ltr" class="blog-wrapper blog-tags-post-list-page plugin-blog plugin-id-default" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
+<meta name="generator" content="Docusaurus v3.10.1">
 <title data-rh="true">One post tagged with &quot;tensorflow&quot; | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/blog/tags/tensorflow"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:la [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
 Thanks to the extensible nature of Wayang, the only core changes we had to do were introducing the concept of a <code>Model</code> and implement a new driver for the newly added platform.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="step-1-introducing-a-model">Step 1: Introducing a Model<a href="#step-1-introducing-a-model" class="hash-link" aria-label="Direct link to Step 1: Introducing a Model" title="Direct link to Step 1: Introducing a Model">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="step-1-introducing-a-model">Step 1: Introducing a Model<a href="#step-1-introducing-a-model" class="hash-link" aria-label="Direct link to Step 1: Introducing a Model" title="Direct link to Step 1: Introducing a Model" translate="no">​</a></h2>
 <p>With respect to the model, we followed Wayang’s abstraction philosophy: We created a <code>Model</code> interface to be used as input or output by Wayang operators and then extended it for the platform-specific operators. Different model interfaces can be found here:</p>
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model</a></p>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model</a></p>
 <p>A platform-specific model needs to be instantiated to be used as the output of a training operator and as input for an inference operator. You can see an example of the <code>SparkMLModel</code> here:</p>
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/model/SparkMLModel.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/model/SparkMLModel.java</a></p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="step-2-introducing-training-operators">Step 2: Introducing Training Operators<a href="#step-2-introducing-training-operators" class="hash-link" aria-label="Direct link to Step 2: Introducing Training Operators" title="Direct link to Step 2: Introducing Training Operators">​</a></h2>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/model/SparkMLModel.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/model/SparkMLModel.java</a></p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="step-2-introducing-training-operators">Step 2: Introducing Training Operators<a href="#step-2-introducing-training-operators" class="hash-link" aria-label="Direct link to Step 2: Introducing Training Operators" title="Direct link to Step 2: Introducing Training Operators" translate="no">​</a></h2>
 <p>We added the desired Wayang (platform-agnostic) training operators which are binary to unary operators, taking as input the X and y values and outputting a Model. You can find an example of a LinearRegressionOperator here:</p>
-<p><a href="https://github.com/apache/incubator-wayang/blob/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/LinearRegressionOperator.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/blob/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/LinearRegressionOperator.java</a></p>
+<p><a href="https://github.com/apache/incubator-wayang/blob/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/LinearRegressionOperator.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/blob/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/LinearRegressionOperator.java</a></p>
 <p>Platform-specific execution operators, such as SparkLinearRegressionOperator, can be easily added as any other execution operator: extending the corresponding Wayang operator and providing the mappings from the Wayang to the execution operator. See, for example, the <code>SparkLinearRegressionOperator</code>:</p>
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkLinearRegressionOperator.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkLinearRegressionOperator.java</a></p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="step-3-introducing-prediction-operators">Step 3: Introducing Prediction Operators<a href="#step-3-introducing-prediction-operators" class="hash-link" aria-label="Direct link to Step 3: Introducing Prediction Operators" title="Direct link to Step 3: Introducing Prediction Operators">​</a></h2>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkLinearRegressionOperator.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkLinearRegressionOperator.java</a></p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="step-3-introducing-prediction-operators">Step 3: Introducing Prediction Operators<a href="#step-3-introducing-prediction-operators" class="hash-link" aria-label="Direct link to Step 3: Introducing Prediction Operators" title="Direct link to Step 3: Introducing Prediction Operators" translate="no">​</a></h2>
 <p>Additionally, we created a <code>PredictOperator</code>, a BinaryToUnary Wayang (platform-agnostic) operator which takes as input the data quanta and a model and outputs the data quanta with the predictions output by the model.</p>
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/PredictOperator.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/PredictOperator.java</a></p>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/PredictOperator.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/PredictOperator.java</a></p>
 <p>Then, a concrete platform-specific operator extends from the abstract one. See the <code>SparkPredictOperator</code> for an example:</p>
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkPredictOperator.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkPredictOperator.java</a></p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="deep-learning-models">Deep Learning Models<a href="#deep-learning-models" class="hash-link" aria-label="Direct link to Deep Learning Models" title="Direct link to Deep Learning Models">​</a></h2>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkPredictOperator.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkPredictOperator.java</a></p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="deep-learning-models">Deep Learning Models<a href="#deep-learning-models" class="hash-link" aria-label="Direct link to Deep Learning Models" title="Direct link to Deep Learning Models" translate="no">​</a></h2>
 <p>Unlike traditional machine learning models, the definition of deep learning models is more flexible. Users can combine different blocks (e.g., fully connected blocks, convolutional blocks) to build their desired models. The whole model can be represented as a graph on which the vertices represent blocks and the edges represent connections between blocks. In this case, we built a <code>DLModel</code> class that implements the <code>Model</code> interface, which contains a user-defined, [...]
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model/DLModel.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model/DLModel.java</a></p>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model/DLModel.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model/DLModel.java</a></p>
 <p>For training, we implemented the platform-agnostic <code>DLModelTrainingOperator</code> Wayang operator:</p>
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/DLTrainingOperator.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/DLTrainingOperator.java</a></p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="new-ml-platform----tensorflow-integration">New ML platform -- Tensorflow Integration<a href="#new-ml-platform----tensorflow-integration" class="hash-link" aria-label="Direct link to New ML platform -- Tensorflow Integration" title="Direct link to New ML platform -- Tensorflow Integration">​</a></h2>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/DLTrainingOperator.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/DLTrainingOperator.java</a></p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="new-ml-platform----tensorflow-integration">New ML platform -- Tensorflow Integration<a href="#new-ml-platform----tensorflow-integration" class="hash-link" aria-label="Direct link to New ML platform -- Tensorflow Integration" title="Direct link to New ML platform -- Tensorflow Integration" translate="no">​</a></h2>
 <p>We have added Tensorflow as a new platform by creating a new module (<code>wayang-tensorflow</code>) inside the <code>wayang-platforms</code> parent module and implementing a Tensorflow driver. The TensorflowExecutor driver is responsible for creating and destroying Tensorflow resources, such as a model graph and a model parameter context. When a training task scheduled on Tensorflow, it will be mapped to TensorflowDLModelTrainingOperator. In this process, the <code>DLModel</code> wil [...]
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-tensorflow/src/main/java/org/apache/wayang/tensorflow" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-tensorflow/src/main/java/org/apache/wayang/tensorflow</a></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="acknowledgement">Acknowledgement<a href="#acknowledgement" class="hash-link" aria-label="Direct link to Acknowledgement" title="Direct link to Acknowledgement">​</a></h3>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-tensorflow/src/main/java/org/apache/wayang/tensorflow" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-tensorflow/src/main/java/org/apache/wayang/tensorflow</a></p>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="acknowledgement">Acknowledgement<a href="#acknowledgement" class="hash-link" aria-label="Direct link to Acknowledgement" title="Direct link to Acknowledgement" translate="no">​</a></h3>
 <p>The source code for the support of ML operators and the Tensorflow integration has been contributed by Mingxi Liu.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="follow-wayang">Follow Wayang<a href="#follow-wayang" class="hash-link" aria-label="Direct link to Follow Wayang" title="Direct link to Follow Wayang">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="follow-wayang">Follow Wayang<a href="#follow-wayang" class="hash-link" aria-label="Direct link to Follow Wayang" title="Direct link to Follow Wayang" translate="no">​</a></h3>
 <p>Apache Wayang is in incubation phase and has a potential roadmap of implementations
 coming soon (including the federated learning aspect as well as an SQL interface and a novel
 data debugging functionality). If you want to hear or join the community, consult the link
-<a href="https://wayang.apache.org/community/" target="_blank" rel="noopener noreferrer">https://wayang.apache.org/community/</a> , join the mailing lists, contribute with new ideas,
-write documentation, or fix bugs.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/ml">ML</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/tensorflow">tensorflow</a></li></ul></div></footer></article><nav class [...]
+<a href="https://wayang.apache.org/community/" target="_blank" rel="noopener noreferrer" class="">https://wayang.apache.org/community/</a> , join the mailing lists, contribute with new ideas,
+write documentation, or fix bugs.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/ml">ML</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/tensorflow">tensorflow</a></li></ul></div [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/blog/tags/tlp/index.html b/blog/tags/tlp/index.html
index c5ff2488..ec832ed5 100644
--- a/blog/tags/tlp/index.html
+++ b/blog/tags/tlp/index.html
@@ -2,41 +2,44 @@
 <html lang="en" dir="ltr" class="blog-wrapper blog-tags-post-list-page plugin-blog plugin-id-default" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
+<meta name="generator" content="Docusaurus v3.10.1">
 <title data-rh="true">One post tagged with &quot;TLP&quot; | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/blog/tags/tlp"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" conten [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
 <p>This graduation rewards the community-driven effort, research, innovation, and collaboration of many years. It reflects our shared commitment to open-source development and the growing importance of cross-platform data processing in the broader data ecosystem nowadays.
 Graduating as an Apache Top-Level Project is an important recognition of the project’s maturity and ensures that Apache Wayang is backed by the full support and oversight of the ASF, guaranteeing openness, meritocracy, and a sustainable development model for years to come.</p>
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="what-is-apache-wayang">What Is Apache Wayang?<a href="#what-is-apache-wayang" class="hash-link" aria-label="Direct link to What Is Apache Wayang?" title="Direct link to What Is Apache Wayang?">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-is-apache-wayang">What Is Apache Wayang?<a href="#what-is-apache-wayang" class="hash-link" aria-label="Direct link to What Is Apache Wayang?" title="Direct link to What Is Apache Wayang?" translate="no">​</a></h2>
 <p>Apache Wayang (formerly known as Rheem) is a <strong>cross-platform data processing system</strong> designed to give developers and organizations a unified way to execute pipelines over multiple data processing engines—such as Apache Spark, Apache Flink, PostgreSQL, and more.</p>
 <p>Instead of forcing users to choose a single execution backend, Wayang:</p>
 <ul>
-<li><strong>Abstracts data processing engines</strong> through a unified API</li>
-<li><strong>Can automatically choose the best execution platform</strong> based on workload characteristics</li>
-<li><strong>Optimizes performance</strong> by distributing tasks across engines if necessary</li>
-<li><strong>Provides a flexible plugin architecture</strong> for integrating new platforms and optimizers</li>
+<li class=""><strong>Abstracts data processing engines</strong> through a unified API</li>
+<li class=""><strong>Can automatically choose the best execution platform</strong> based on workload characteristics</li>
+<li class=""><strong>Optimizes performance</strong> by distributing tasks across engines if necessary</li>
+<li class=""><strong>Provides a flexible plugin architecture</strong> for integrating new platforms and optimizers</li>
 </ul>
 <p>In other words, Wayang enables interoperability across the diverse data landscape and empowers teams to focus on application logic and not infrastructure decisions.</p>
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="thank-you-to-our-community">Thank You to Our Community<a href="#thank-you-to-our-community" class="hash-link" aria-label="Direct link to Thank You to Our Community" title="Direct link to Thank You to Our Community">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="thank-you-to-our-community">Thank You to Our Community<a href="#thank-you-to-our-community" class="hash-link" aria-label="Direct link to Thank You to Our Community" title="Direct link to Thank You to Our Community" translate="no">​</a></h2>
 <p>Apache Wayang wouldn’t exist without its community of developers, users, mentors, and advocates who contributed code, documentation, feedback, and support. A special thanks goes to our Incubator mentors, who helped guide the project through the Apache processes and best practices.
 Your contributions made this milestone possible, and we’re just getting started.</p>
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="get-involved">Get Involved!<a href="#get-involved" class="hash-link" aria-label="Direct link to Get Involved!" title="Direct link to Get Involved!">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="get-involved">Get Involved!<a href="#get-involved" class="hash-link" aria-label="Direct link to Get Involved!" title="Direct link to Get Involved!" translate="no">​</a></h2>
 <p>Whether you want to try Wayang for your next project, contribute code, write documentation, or share your ideas, your participation is welcome. Here’s how to get started:</p>
 <ul>
-<li>Explore the documentation</li>
-<li>Join our community mailing lists</li>
-<li>Contribute to discussions and development</li>
-<li>Try Wayang on your data workloads</li>
+<li class="">Explore the documentation</li>
+<li class="">Join our community mailing lists</li>
+<li class="">Contribute to discussions and development</li>
+<li class="">Try Wayang on your data workloads</li>
 </ul>
-<p>Welcome to Apache Wayang — where data platforms work together!</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/asf">ASF</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/graduation">graduation</a></li><li cl [...]
+<p>Welcome to Apache Wayang — where data platforms work together!</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/asf">ASF</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/graduat [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/blog/tags/trino/index.html b/blog/tags/trino/index.html
index b5f460dd..17d0f7e5 100644
--- a/blog/tags/trino/index.html
+++ b/blog/tags/trino/index.html
@@ -2,14 +2,17 @@
 <html lang="en" dir="ltr" class="blog-wrapper blog-tags-post-list-page plugin-blog plugin-id-default" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
+<meta name="generator" content="Docusaurus v3.10.1">
 <title data-rh="true">One post tagged with &quot;trino&quot; | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/blog/tags/trino"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" co [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/blog/tags/wayang/index.html b/blog/tags/wayang/index.html
index e62d20ba..f099f7f2 100644
--- a/blog/tags/wayang/index.html
+++ b/blog/tags/wayang/index.html
@@ -2,58 +2,61 @@
 <html lang="en" dir="ltr" class="blog-wrapper blog-tags-post-list-page plugin-blog plugin-id-default" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
+<meta name="generator" content="Docusaurus v3.10.1">
 <title data-rh="true">11 posts tagged with &quot;wayang&quot; | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/blog/tags/wayang"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language"  [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="implementation">Implementation<a href="#implementation" class="hash-link" aria-label="Direct link to Implementation" title="Direct link to Implementation">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="implementation">Implementation<a href="#implementation" class="hash-link" aria-label="Direct link to Implementation" title="Direct link to Implementation" translate="no">​</a></h2>
 <p>Workflows including spatial operators are not the main task in Apache Wayang. Therefore, we chose to add spatial support as a plugin that can be enabled separately.</p>
 <p>The two new operators we added are SpatialFilter and SpatialJoin, since many spatial workflows primarily rely on these two operations.</p>
 <p>To support multiple data sources and geometry formats, we introduced an internal geometry representation, SpatialGeometry, that enables translation between formats. This allows geometries stored as WKT, WKB, and GeoJSON to be read and, if necessary, converted to the type expected by the consuming operator.</p>
 <p>For the execution of spatial jobs, we currently support Java, PostgreSQL, and Spark as backends. The Spark implementation uses Apache Sedona, a well-established library for distributed processing of spatial data. The Java implementation is based on JTS, and the PostgreSQL platform uses PostGIS for spatial operations.</p>
-<div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token class-name">WayangContext</span><span class="token plain"> wayangContext </span><span class="token [...]
+<div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token class-name">WayangContext</span><span class="token plain"> wayangContext </span><span class="token  [...]
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="why-spatial-is-a-plugin-not-a-platform">Why Spatial Is a Plugin, Not a Platform<a href="#why-spatial-is-a-plugin-not-a-platform" class="hash-link" aria-label="Direct link to Why Spatial Is a Plugin, Not a Platform" title="Direct link to Why Spatial Is a Plugin, Not a Platform">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="why-spatial-is-a-plugin-not-a-platform">Why Spatial Is a Plugin, Not a Platform<a href="#why-spatial-is-a-plugin-not-a-platform" class="hash-link" aria-label="Direct link to Why Spatial Is a Plugin, Not a Platform" title="Direct link to Why Spatial Is a Plugin, Not a Platform" translate="no">​</a></h2>
 <p>In the current Wayang architecture, a platform is responsible for runtime ownership: it defines a Platform implementation, provides an executor factory, defines channel conversions, and integrates cost models. This can be seen clearly in modules such as Java (JavaPlatform + JavaExecutor) and PostgreSQL (PostgresPlatform via JdbcPlatformTemplate + JdbcExecutor).</p>
 <p>The spatial extension is intentionally different. It does not introduce a new Platform subclass and does not provide its own executor. Instead, wayang-spatial is implemented as a plugin (Spatial.java) that contributes operators, mappings for those operators, and specifies required platforms.</p>
 <p>The logical spatial operators (<code>SpatialFilterOperator</code>, <code>SpatialJoinOperator</code>, <code>GeoJsonFileSource</code>) still live in <code>wayang-basic</code> and are included in the Java-Scala API. The spatial plugin extends the system by adding platform-specific execution operators and transformation rules that map Wayang operators to their platform implementations.</p>
 <p>At registration time, <code>WayangContext.withPlugin(...)</code> calls <code>plugin.configure(configuration)</code>. This whitelists the required platforms and spatial mappings. During optimization, mappings such as <code>SpatialFilterMapping</code> and <code>SpatialJoinMapping</code> rewrite logical operators into execution operators such as:</p>
 <ul>
-<li><code>JavaSpatialFilterOperator</code> / <code>JavaSpatialJoinOperator</code></li>
-<li><code>SparkSpatialFilterOperator</code> / <code>SparkSpatialJoinOperator</code></li>
-<li><code>PostgresSpatialFilterOperator</code> / <code>PostgresSpatialJoinOperator</code></li>
+<li class=""><code>JavaSpatialFilterOperator</code> / <code>JavaSpatialJoinOperator</code></li>
+<li class=""><code>SparkSpatialFilterOperator</code> / <code>SparkSpatialJoinOperator</code></li>
+<li class=""><code>PostgresSpatialFilterOperator</code> / <code>PostgresSpatialJoinOperator</code></li>
 </ul>
 <p>Execution is then handled by the existing platform runtimes:</p>
 <ul>
-<li>Java operators are executed by <code>JavaExecutor</code></li>
-<li>Spark operators are executed by <code>SparkExecutor</code></li>
-<li>PostgreSQL operators are executed through the JDBC runtime (<code>JdbcExecutor</code>)</li>
+<li class="">Java operators are executed by <code>JavaExecutor</code></li>
+<li class="">Spark operators are executed by <code>SparkExecutor</code></li>
+<li class="">PostgreSQL operators are executed through the JDBC runtime (<code>JdbcExecutor</code>)</li>
 </ul>
 <p>In practice, this is why applications have to register both a platform plugin (for general operators and channels) and a spatial plugin (for spatial mappings), for example <code>Java.basicPlugin()</code> + <code>Spatial.javaPlugin()</code> or <code>Spark.basicPlugin()</code> + <code>Spatial.sparkPlugin()</code>.</p>
 <p>This design provides three concrete advantages:</p>
 <ul>
-<li>No duplicate runtime stack, since executors, channels, and cost models remain centralized in the platforms</li>
-<li>Clean multi-platform support for the same spatial semantics</li>
-<li>Lower maintenance overhead, because spatial development efforts can focus on operator logic and mappings rather than recreating infrastructure</li>
+<li class="">No duplicate runtime stack, since executors, channels, and cost models remain centralized in the platforms</li>
+<li class="">Clean multi-platform support for the same spatial semantics</li>
+<li class="">Lower maintenance overhead, because spatial development efforts can focus on operator logic and mappings rather than recreating infrastructure</li>
 </ul>
 <p>Spatial support in Wayang is therefore best understood as a cross-platform capability extension: it contributes spatial semantics and translation, while execution remains fully owned by the underlying platforms.</p>
 <div style="text-align:center"><img width="90%" alt="wayang-spatial architecture" src="/img/architecture/wayang-spatial-architecture.png"></div>
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="benchmarks">Benchmarks<a href="#benchmarks" class="hash-link" aria-label="Direct link to Benchmarks" title="Direct link to Benchmarks">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="benchmarks">Benchmarks<a href="#benchmarks" class="hash-link" aria-label="Direct link to Benchmarks" title="Direct link to Benchmarks" translate="no">​</a></h2>
 <p>Below we show scenarios where it is advantageous to be able to freely choose the execution depending on the use case. The following benchmarks are not intended to be exhaustive tests of our new operators but rather to highlight how using the platform independence of Apache Wayang can speed up spatial jobs. We executed the benchmarks on an HPC cluster with reproducible Spark cluster configurations.</p>
 <div style="text-align:center"><img width="75%" alt="Spatial benchmark 1" src="/img/benchmarks/spatial-bench1.png"></div>
 <ul>
-<li><strong>Job 1:</strong> Spatial Join of parks (~44k) and lakes (~140k) in Germany with spatial predicate CONTAINS, no index on Postgres tables, Spark cluster with 4 nodes</li>
-<li><strong>Job 2:</strong> Spatial Join of parks (~44k) and lakes (~140k) in Germany with spatial predicate CONTAINS, spatial index on Postgres tables, Spark cluster with 4 nodes</li>
-<li><strong>Job 3:</strong> Spatial Join of two synthetic datasets containing boxes (100k and 1M) with spatial predicate INTERSECTS, spatial index on Postgres tables, Spark cluster with 8 nodes</li>
+<li class=""><strong>Job 1:</strong> Spatial Join of parks (~44k) and lakes (~140k) in Germany with spatial predicate CONTAINS, no index on Postgres tables, Spark cluster with 4 nodes</li>
+<li class=""><strong>Job 2:</strong> Spatial Join of parks (~44k) and lakes (~140k) in Germany with spatial predicate CONTAINS, spatial index on Postgres tables, Spark cluster with 4 nodes</li>
+<li class=""><strong>Job 3:</strong> Spatial Join of two synthetic datasets containing boxes (100k and 1M) with spatial predicate INTERSECTS, spatial index on Postgres tables, Spark cluster with 8 nodes</li>
 </ul>
 <p>The above figure shows that there are use cases in which each of the currently supported platforms performs best. For small datasets, Java performs best if there is no spatial index available for Postgres; otherwise, Postgres outperforms Java. Due to the Spark overhead, Sedona running on a Spark cluster only gains an advantage in jobs with large datasets, as seen in Job 3.</p>
-<p>This is also evident in the following figure. While Java and Postgres perform better than Sedona on a Spark cluster for joins on small datasets, this trend reverses for joins of larger datasets. Especially for the join of 100k and 10M boxes (generated using <a href="https://star.cs.ucr.edu" target="_blank" rel="noopener noreferrer">star.cs.ucr.edu</a>), the Spark cluster outperforms the single node execution of Java and Postgres. The poor performance of Sedona/Spark on a cluster with  [...]
+<p>This is also evident in the following figure. While Java and Postgres perform better than Sedona on a Spark cluster for joins on small datasets, this trend reverses for joins of larger datasets. Especially for the join of 100k and 10M boxes (generated using <a href="https://star.cs.ucr.edu" target="_blank" rel="noopener noreferrer" class="">star.cs.ucr.edu</a>), the Spark cluster outperforms the single node execution of Java and Postgres. The poor performance of Sedona/Spark on a clus [...]
 <div style="text-align:center"><img width="75%" alt="Spatial benchmark 2" src="/img/benchmarks/spatial-bench2.png"></div>
 <p>The performance gained by using larger cluster configurations can also be seen in the following visualization of runtime results of box joins with datasets of various sizes.</p>
 <div style="text-align:center"><img width="75%" alt="Spatial benchmark 3" src="/img/benchmarks/spatial-bench3.png"></div>
@@ -61,189 +64,189 @@
 <div style="text-align:center"><img width="75%" alt="Spatial benchmark 4" src="/img/benchmarks/spatial-bench4.png"></div>
 <p>The benchmark results show multiple scenarios in which platform choice has a significant impact on runtime. Spatial data processing can therefore benefit greatly from using the new spatial operators in Apache Wayang.</p>
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="future-work">Future Work<a href="#future-work" class="hash-link" aria-label="Direct link to Future Work" title="Direct link to Future Work">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="future-work">Future Work<a href="#future-work" class="hash-link" aria-label="Direct link to Future Work" title="Direct link to Future Work" translate="no">​</a></h2>
 <p>Our spatial extension enables basic spatial workloads using filter and join operations on the Java, Spark, and Postgres platforms. However, additional operators like nearest neighbor or within-distance operations could enable even more complex scenarios.</p>
 <p>Adding platforms specifically designed for spatial data processing could improve performance even further. An interesting candidate for this could be the relatively recently introduced Apache SedonaDB database engine.</p>
-<p>Currently, the execution platform has to be chosen manually. Part of potential future work should therefore be the implementation of heuristics for platform selection.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/spatial">spatial</a></l [...]
+<p>Currently, the execution platform has to be chosen manually. Part of potential future work should therefore be the implementation of heuristics for platform selection.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/spa [...]
 <p>This graduation rewards the community-driven effort, research, innovation, and collaboration of many years. It reflects our shared commitment to open-source development and the growing importance of cross-platform data processing in the broader data ecosystem nowadays.
 Graduating as an Apache Top-Level Project is an important recognition of the project’s maturity and ensures that Apache Wayang is backed by the full support and oversight of the ASF, guaranteeing openness, meritocracy, and a sustainable development model for years to come.</p>
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="what-is-apache-wayang">What Is Apache Wayang?<a href="#what-is-apache-wayang" class="hash-link" aria-label="Direct link to What Is Apache Wayang?" title="Direct link to What Is Apache Wayang?">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-is-apache-wayang">What Is Apache Wayang?<a href="#what-is-apache-wayang" class="hash-link" aria-label="Direct link to What Is Apache Wayang?" title="Direct link to What Is Apache Wayang?" translate="no">​</a></h2>
 <p>Apache Wayang (formerly known as Rheem) is a <strong>cross-platform data processing system</strong> designed to give developers and organizations a unified way to execute pipelines over multiple data processing engines—such as Apache Spark, Apache Flink, PostgreSQL, and more.</p>
 <p>Instead of forcing users to choose a single execution backend, Wayang:</p>
 <ul>
-<li><strong>Abstracts data processing engines</strong> through a unified API</li>
-<li><strong>Can automatically choose the best execution platform</strong> based on workload characteristics</li>
-<li><strong>Optimizes performance</strong> by distributing tasks across engines if necessary</li>
-<li><strong>Provides a flexible plugin architecture</strong> for integrating new platforms and optimizers</li>
+<li class=""><strong>Abstracts data processing engines</strong> through a unified API</li>
+<li class=""><strong>Can automatically choose the best execution platform</strong> based on workload characteristics</li>
+<li class=""><strong>Optimizes performance</strong> by distributing tasks across engines if necessary</li>
+<li class=""><strong>Provides a flexible plugin architecture</strong> for integrating new platforms and optimizers</li>
 </ul>
 <p>In other words, Wayang enables interoperability across the diverse data landscape and empowers teams to focus on application logic and not infrastructure decisions.</p>
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="thank-you-to-our-community">Thank You to Our Community<a href="#thank-you-to-our-community" class="hash-link" aria-label="Direct link to Thank You to Our Community" title="Direct link to Thank You to Our Community">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="thank-you-to-our-community">Thank You to Our Community<a href="#thank-you-to-our-community" class="hash-link" aria-label="Direct link to Thank You to Our Community" title="Direct link to Thank You to Our Community" translate="no">​</a></h2>
 <p>Apache Wayang wouldn’t exist without its community of developers, users, mentors, and advocates who contributed code, documentation, feedback, and support. A special thanks goes to our Incubator mentors, who helped guide the project through the Apache processes and best practices.
 Your contributions made this milestone possible, and we’re just getting started.</p>
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="get-involved">Get Involved!<a href="#get-involved" class="hash-link" aria-label="Direct link to Get Involved!" title="Direct link to Get Involved!">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="get-involved">Get Involved!<a href="#get-involved" class="hash-link" aria-label="Direct link to Get Involved!" title="Direct link to Get Involved!" translate="no">​</a></h2>
 <p>Whether you want to try Wayang for your next project, contribute code, write documentation, or share your ideas, your participation is welcome. Here’s how to get started:</p>
 <ul>
-<li>Explore the documentation</li>
-<li>Join our community mailing lists</li>
-<li>Contribute to discussions and development</li>
-<li>Try Wayang on your data workloads</li>
+<li class="">Explore the documentation</li>
+<li class="">Join our community mailing lists</li>
+<li class="">Contribute to discussions and development</li>
+<li class="">Try Wayang on your data workloads</li>
 </ul>
-<p>Welcome to Apache Wayang — where data platforms work together!</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/asf">ASF</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/graduation">graduation</a></li><li cl [...]
+<p>Welcome to Apache Wayang — where data platforms work together!</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/asf">ASF</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/graduat [...]
 <p>The ASF provides a robust infrastructure for open communities of software developers. We can share ideas, combine forces, contribute code, docs, review-energy, art work, and from time to time we can nail it down. A release defines an intermediate result of the continuous community work.</p>
 <p>How we do such a release in the Apache Wayang team is an essential aspect towards graduation. First of all, there are some references to take into account, such as:</p>
 <ul>
-<li><a href="https://www.apache.org/legal/release-policy.html" target="_blank" rel="noopener noreferrer">https://www.apache.org/legal/release-policy.html</a></li>
-<li><a href="https://maven.apache.org/maven-release/maven-release-plugin/" target="_blank" rel="noopener noreferrer">https://maven.apache.org/maven-release/maven-release-plugin/</a></li>
+<li class=""><a href="https://www.apache.org/legal/release-policy.html" target="_blank" rel="noopener noreferrer" class="">https://www.apache.org/legal/release-policy.html</a></li>
+<li class=""><a href="https://maven.apache.org/maven-release/maven-release-plugin/" target="_blank" rel="noopener noreferrer" class="">https://maven.apache.org/maven-release/maven-release-plugin/</a></li>
 </ul>
 <p>Assuming you are (P)PMC, and assuming that you have the right permissions for such a release, you can follow the path as described in this guide:</p>
 <ul>
-<li><a href="https://plc4x.apache.org/plc4x/latest/developers/release/release.html" target="_blank" rel="noopener noreferrer">https://plc4x.apache.org/developers/release/release.html</a></li>
+<li class=""><a href="https://plc4x.apache.org/plc4x/latest/developers/release/release.html" target="_blank" rel="noopener noreferrer" class="">https://plc4x.apache.org/developers/release/release.html</a></li>
 </ul>
 <p>I tried to follow exactly this procedure, several times. I failed. Here I share the current status of my <strong>release attempts</strong>.</p>
 <p>I plan a longer tour, and do not want to block the project for a long time.
 Hence I create this draft, and I hope we can unblock this project as soon as possible.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="status">Status:<a href="#status" class="hash-link" aria-label="Direct link to Status:" title="Direct link to Status:">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="status">Status:<a href="#status" class="hash-link" aria-label="Direct link to Status:" title="Direct link to Status:" translate="no">​</a></h2>
 <p>I am not able to conduct the <em>mvn release:perform</em> step.
 Anything before worked, sometimes only after some digging, but it worked.</p>
 <ul>
-<li>
+<li class="">
 <p>We assume, that due to my membership in two ASF incubator projects I am not able to upload the artefacts to the Nexus repository (H1).</p>
 </li>
-<li>
+<li class="">
 <p>It can be, that I have not the correct user and password in my <em>settings.xml</em> file (H2).</p>
 </li>
 </ul>
-<p>But I tested a manual login to the nexus server <a href="https://repository.apache.org/service/local/staging/deploy/maven2" target="_blank" rel="noopener noreferrer">https://repository.apache.org/service/local/staging/deploy/maven2</a> with success. And beyond that I have no idea how I can verify this detail alone.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="idea--proposal">Idea / Proposal<a href="#idea--proposal" class="hash-link" aria-label="Direct link to Idea / Proposal" title="Direct link to Idea / Proposal">​</a></h2>
+<p>But I tested a manual login to the nexus server <a href="https://repository.apache.org/service/local/staging/deploy/maven2" target="_blank" rel="noopener noreferrer" class="">https://repository.apache.org/service/local/staging/deploy/maven2</a> with success. And beyond that I have no idea how I can verify this detail alone.</p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="idea--proposal">Idea / Proposal<a href="#idea--proposal" class="hash-link" aria-label="Direct link to Idea / Proposal" title="Direct link to Idea / Proposal" translate="no">​</a></h2>
 <p>(1) It would be great, if someone - who has done a release in any other ASF project or in Apache Wayang - could follow the steps I share, so that we can check where the problem hides itself.</p>
 <p>(2) As a follow-up task, I suggest to add a <strong>Release Guide</strong> to the Apache Wayang project, including release manager onboarding steps, and checklists for the particular project, derived from the referenced sources which are listed above.</p>
 <p>But for now it is all about sharing the status (as I did serveral times on multiple chanels, including JIRA, Slack, Mailing lists) and finding a solution for Apache Wayang release 1.0.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="latest-error">Latest Error:<a href="#latest-error" class="hash-link" aria-label="Direct link to Latest Error:" title="Direct link to Latest Error:">​</a></h2>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:perform -X -DskipTests</span><br></span></code></pre><div class="buttonGroup__atx"><button ty [...]
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[INFO] Caused by: org.eclipse.aether.deployment.DeploymentException: Failed to deploy artifacts: Could no [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="activity-log">Activity Log<a href="#activity-log" class="hash-link" aria-label="Direct link to Activity Log" title="Direct link to Activity Log">​</a></h2>
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:clean</span><br></span><span class="token-line" style="color:#393A34"><span cla [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Da [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">ERROR</span><span class="toke [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn versions:commit</span><br></span><span class="token-line" style="color:#393A34"><span c [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Da [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">ERROR</span><span class="toke [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">git</span><span class="token plain"> status</span><br></span><span [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Da [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">Caused by: org.eclipse.aether.transfer.NoRepositoryConnectorException: Blocked mirror </spa [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="dependency-on-jdk-11-during-release">Dependency on JDK-11 during release<a href="#dependency-on-jdk-11-during-release" class="hash-link" aria-label="Direct link to Dependency on JDK-11 during release" title="Direct link to Dependency on JDK-11 during release">​</a></h3>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="latest-error">Latest Error:<a href="#latest-error" class="hash-link" aria-label="Direct link to Latest Error:" title="Direct link to Latest Error:" translate="no">​</a></h2>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:perform -X -DskipTests</span><br></div></code></pre></div></div>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[INFO] Caused by: org.eclipse.aether.deployment.DeploymentException: Failed to deploy artifa [...]
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="activity-log">Activity Log<a href="#activity-log" class="hash-link" aria-label="Direct link to Activity Log" title="Direct link to Activity Log" translate="no">​</a></h2>
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:clean</span><br></div><div class="token-line" style="color:#393A34"><span class= [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Dar [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">ERROR</span><span class="token [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn versions:commit</span><br></div><div class="token-line" style="color:#393A34"><span clas [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Dar [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">ERROR</span><span class="token [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">git</span><span class="token plain"> status</span><br></div><div cl [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Dar [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">Caused by: org.eclipse.aether.transfer.NoRepositoryConnectorException: Blocked mirror </span [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="dependency-on-jdk-11-during-release">Dependency on JDK-11 during release<a href="#dependency-on-jdk-11-during-release" class="hash-link" aria-label="Direct link to Dependency on JDK-11 during release" title="Direct link to Dependency on JDK-11 during release" translate="no">​</a></h3>
 <blockquote>
 <p>FIXED with local JDK11 Setup</p>
 </blockquote>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">brew install openjdk@11</span><br></span><span class="token-line" style="color:#393A34"><span class="toke [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="manual-update-of-release-version">Manual update of release-version<a href="#manual-update-of-release-version" class="hash-link" aria-label="Direct link to Manual update of release-version" title="Direct link to Manual update of release-version">​</a></h3>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">brew install openjdk@11</span><br></div><div class="token-line" style="color:#393A34"><span  [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="manual-update-of-release-version">Manual update of release-version<a href="#manual-update-of-release-version" class="hash-link" aria-label="Direct link to Manual update of release-version" title="Direct link to Manual update of release-version" translate="no">​</a></h3>
 <p>During the release procedure, do I have to set the version here in this configuration section manually?</p>
-<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">plug [...]
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">plugi [...]
 <blockquote>
 <p>It seems that these properties must be updated manually.</p>
 </blockquote>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="warning-regarding-illegal-reflective-access-operation">Warning regarding &quot;illegal reflective access operation&quot;<a href="#warning-regarding-illegal-reflective-access-operation" class="hash-link" aria-label="Direct link to Warning regarding &quot;illegal reflective access operation&quot;" title="Direct link to Warning regarding &quot;illegal reflective access operation&quot;">​</a></h3>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[ERROR] WARNING: An illegal reflective access operation has occurred</span><br></span><span class="token- [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="warning-regarding-illegal-reflective-access-operation">Warning regarding &quot;illegal reflective access operation&quot;<a href="#warning-regarding-illegal-reflective-access-operation" class="hash-link" aria-label="Direct link to Warning regarding &quot;illegal reflective access operation&quot;" title="Direct link to Warning regarding &quot;illegal reflective access operation&quot;" translate="no">​</a></h3>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[ERROR] WARNING: An illegal reflective access operation has occurred</span><br></div><div cl [...]
 <blockquote>
 <p><strong>This is still an OPEN ISSUE !</strong></p>
 </blockquote>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="rat-check-fails">RAT Check fails<a href="#rat-check-fails" class="hash-link" aria-label="Direct link to RAT Check fails" title="Direct link to RAT Check fails">​</a></h3>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[INFO] [ERROR] Failed to execute goal org.apache.rat:apache-rat-plugin:0.13:check (license-check) on proj [...]
-<div class="language-cat codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-cat codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34" [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="rat-check-fails">RAT Check fails<a href="#rat-check-fails" class="hash-link" aria-label="Direct link to RAT Check fails" title="Direct link to RAT Check fails" translate="no">​</a></h3>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[INFO] [ERROR] Failed to execute goal org.apache.rat:apache-rat-plugin:0.13:check (license-c [...]
+<div class="language-cat codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-cat codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><s [...]
 <blockquote>
 <p><em>FIXED by adding .java-versions to .gitignore</em></p>
 </blockquote>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="tag-could-not-be-created-in-scm">Tag could not be created in SCM.<a href="#tag-could-not-be-created-in-scm" class="hash-link" aria-label="Direct link to Tag could not be created in SCM." title="Direct link to Tag could not be created in SCM.">​</a></h3>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:3.0.1:prepare (default-cli)  [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="tag-could-not-be-created-in-scm">Tag could not be created in SCM.<a href="#tag-could-not-be-created-in-scm" class="hash-link" aria-label="Direct link to Tag could not be created in SCM." title="Direct link to Tag could not be created in SCM." translate="no">​</a></h3>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:3.0.1:prepare ( [...]
 <blockquote>
 <p>FIXED by manual changes in pom.xml.</p>
 </blockquote>
-<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34" [...]
-<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">conf [...]
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare -Darguments=&#x27;-DskipTests=True -Dresume=True&#x27;</span><br></span></code></pre> [...]
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn clean package</span><br></span><span class="token-line" style="color:#393A34"><span class="token plai [...]
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><s [...]
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">confi [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare -Darguments=&#x27;-DskipTests=True -Dresume=True&#x27;</span><br></div>< [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn clean package</span><br></div><div class="token-line" style="color:#393A34"><span class= [...]
 <blockquote>
 <p>So far so good. But now the sun went down.</p>
 </blockquote>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[INFO] [ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:3.0.0-M1:deploy (defau [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[INFO] [ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:3.0.0-M1: [...]
 <p>The null pointer exception indicates problems in <em>settings.xml</em>. This could be fixed.
 But now, the error changes with and I am still not able to stage the build results.</p>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:perform -X -DskipTests</span><br></span></code></pre><div class="buttonGroup__atx"><button ty [...]
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[INFO] Caused by: org.eclipse.aether.deployment.DeploymentException: Failed to deploy artifacts: Could no [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="checklist-for-next-iteration">Checklist for next iteration:<a href="#checklist-for-next-iteration" class="hash-link" aria-label="Direct link to Checklist for next iteration:" title="Direct link to Checklist for next iteration:">​</a></h2>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:perform -X -DskipTests</span><br></div></code></pre></div></div>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[INFO] Caused by: org.eclipse.aether.deployment.DeploymentException: Failed to deploy artifa [...]
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="checklist-for-next-iteration">Checklist for next iteration:<a href="#checklist-for-next-iteration" class="hash-link" aria-label="Direct link to Checklist for next iteration:" title="Direct link to Checklist for next iteration:" translate="no">​</a></h2>
 <p>The error you&#x27;re encountering indicates that there is a problem with deploying the artifacts using the <code>maven-deploy-plugin</code>. The root cause of the error is a <code>NullPointerException</code> during the deployment process, specifically related to the <code>org.eclipse.aether.transfer.ArtifactTransferException</code>.</p>
 <p>Here&#x27;s a step-by-step guide to troubleshoot and resolve this issue:</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="1-check-maven-settings">1. Check Maven Settings<a href="#1-check-maven-settings" class="hash-link" aria-label="Direct link to 1. Check Maven Settings" title="Direct link to 1. Check Maven Settings">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="1-check-maven-settings">1. Check Maven Settings<a href="#1-check-maven-settings" class="hash-link" aria-label="Direct link to 1. Check Maven Settings" title="Direct link to 1. Check Maven Settings" translate="no">​</a></h3>
 <p>Ensure that your Maven settings (<code>settings.xml</code>) are correctly configured for deployment. Verify that the repository settings and credentials are correctly specified.</p>
 <p><strong>[DONE]</strong></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="2-verify-repository-url">2. Verify Repository URL<a href="#2-verify-repository-url" class="hash-link" aria-label="Direct link to 2. Verify Repository URL" title="Direct link to 2. Verify Repository URL">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="2-verify-repository-url">2. Verify Repository URL<a href="#2-verify-repository-url" class="hash-link" aria-label="Direct link to 2. Verify Repository URL" title="Direct link to 2. Verify Repository URL" translate="no">​</a></h3>
 <p>Make sure the repository URL in your <code>pom.xml</code> or <code>settings.xml</code> is correct and reachable. The URL should point to the correct staging repository for deployment.</p>
 <p><em>[OPEN]</em> - I did not touch it, so I guess it is correct in the <em>pom.xml</em>.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="3-maven-version-compatibility">3. Maven Version Compatibility<a href="#3-maven-version-compatibility" class="hash-link" aria-label="Direct link to 3. Maven Version Compatibility" title="Direct link to 3. Maven Version Compatibility">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="3-maven-version-compatibility">3. Maven Version Compatibility<a href="#3-maven-version-compatibility" class="hash-link" aria-label="Direct link to 3. Maven Version Compatibility" title="Direct link to 3. Maven Version Compatibility" translate="no">​</a></h3>
 <p>Verify that you are using a compatible version of Maven. Sometimes, upgrading or downgrading Maven can resolve such issues.</p>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">Apache Maven 3.9.6 (bc0240f3c744dd6b6ec2920b3cd08dcc295161ae)</span><br></span><span class="token-line" s [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">Apache Maven 3.9.6 (bc0240f3c744dd6b6ec2920b3cd08dcc295161ae)</span><br></div><div class="to [...]
 <p><strong>[DONE]</strong></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="4-check-for-network-issues">4. Check for Network Issues<a href="#4-check-for-network-issues" class="hash-link" aria-label="Direct link to 4. Check for Network Issues" title="Direct link to 4. Check for Network Issues">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="4-check-for-network-issues">4. Check for Network Issues<a href="#4-check-for-network-issues" class="hash-link" aria-label="Direct link to 4. Check for Network Issues" title="Direct link to 4. Check for Network Issues" translate="no">​</a></h3>
 <p>Ensure there are no network issues that might be causing problems in connecting to the repository. Sometimes, network configurations, firewalls, or proxy settings can interfere with the deployment process.</p>
 <p><strong>[DONE]</strong></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="5-update-maven-plugins">5. Update Maven Plugins<a href="#5-update-maven-plugins" class="hash-link" aria-label="Direct link to 5. Update Maven Plugins" title="Direct link to 5. Update Maven Plugins">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="5-update-maven-plugins">5. Update Maven Plugins<a href="#5-update-maven-plugins" class="hash-link" aria-label="Direct link to 5. Update Maven Plugins" title="Direct link to 5. Update Maven Plugins" translate="no">​</a></h3>
 <p>Ensure that you are using the latest versions of the Maven plugins. Sometimes, bugs in older versions can cause unexpected issues.</p>
 <p><em>[OPEN]</em></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="6-configure-the-maven-deploy-plugin-in-pomxml">6. Configure the <code>maven-deploy-plugin</code> in <code>pom.xml</code><a href="#6-configure-the-maven-deploy-plugin-in-pomxml" class="hash-link" aria-label="Direct link to 6-configure-the-maven-deploy-plugin-in-pomxml" title="Direct link to 6-configure-the-maven-deploy-plugin-in-pomxml">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="6-configure-the-maven-deploy-plugin-in-pomxml">6. Configure the <code>maven-deploy-plugin</code> in <code>pom.xml</code><a href="#6-configure-the-maven-deploy-plugin-in-pomxml" class="hash-link" aria-label="Direct link to 6-configure-the-maven-deploy-plugin-in-pomxml" title="Direct link to 6-configure-the-maven-deploy-plugin-in-pomxml" translate="no">​</a></h3>
 <p>Make sure the <code>maven-deploy-plugin</code> is correctly configured in your <code>pom.xml</code>. Here&#x27;s an example configuration:</p>
-<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">plug [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="7-increase-verbose-logging">7. Increase Verbose Logging<a href="#7-increase-verbose-logging" class="hash-link" aria-label="Direct link to 7. Increase Verbose Logging" title="Direct link to 7. Increase Verbose Logging">​</a></h3>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">plugi [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="7-increase-verbose-logging">7. Increase Verbose Logging<a href="#7-increase-verbose-logging" class="hash-link" aria-label="Direct link to 7. Increase Verbose Logging" title="Direct link to 7. Increase Verbose Logging" translate="no">​</a></h3>
 <p>Enable verbose logging to get more details about the error. You can do this by adding the <code>-X</code> flag when running the Maven command:</p>
-<div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn clean deploy </span><span class="token parameter variable" style="color:#36acaa">-X</span>< [...]
+<div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn clean deploy </span><span class="token parameter variable" style="color:#36acaa">-X</span><b [...]
 <p><strong>[DONE]</strong></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="8-retry-with-a-clean-local-repository">8. Retry with a Clean Local Repository<a href="#8-retry-with-a-clean-local-repository" class="hash-link" aria-label="Direct link to 8. Retry with a Clean Local Repository" title="Direct link to 8. Retry with a Clean Local Repository">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="8-retry-with-a-clean-local-repository">8. Retry with a Clean Local Repository<a href="#8-retry-with-a-clean-local-repository" class="hash-link" aria-label="Direct link to 8. Retry with a Clean Local Repository" title="Direct link to 8. Retry with a Clean Local Repository" translate="no">​</a></h3>
 <p>Sometimes, a corrupt local repository can cause issues. Try cleaning your local Maven repository and re-running the deployment:</p>
-<div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn clean </span><span class="token function" style="color:#d73a49">install</span><span class=" [...]
+<div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn clean </span><span class="token function" style="color:#d73a49">install</span><span class="t [...]
 <p><em>[OPEN]</em> - Does not match to an authentication issue.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="9-check-for-missing-credentials">9. Check for Missing Credentials<a href="#9-check-for-missing-credentials" class="hash-link" aria-label="Direct link to 9. Check for Missing Credentials" title="Direct link to 9. Check for Missing Credentials">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="9-check-for-missing-credentials">9. Check for Missing Credentials<a href="#9-check-for-missing-credentials" class="hash-link" aria-label="Direct link to 9. Check for Missing Credentials" title="Direct link to 9. Check for Missing Credentials" translate="no">​</a></h3>
 <p>Ensure that the credentials for the repository are correctly set up in your <code>settings.xml</code>:</p>
-<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">serv [...]
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">serve [...]
 <p><strong>[DONE]</strong></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="10-review-the-full-stack-trace">10. Review the Full Stack Trace<a href="#10-review-the-full-stack-trace" class="hash-link" aria-label="Direct link to 10. Review the Full Stack Trace" title="Direct link to 10. Review the Full Stack Trace">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="10-review-the-full-stack-trace">10. Review the Full Stack Trace<a href="#10-review-the-full-stack-trace" class="hash-link" aria-label="Direct link to 10. Review the Full Stack Trace" title="Direct link to 10. Review the Full Stack Trace" translate="no">​</a></h3>
 <p>The full stack trace indicates a <code>NullPointerException</code>:</p>
-<div class="language-plaintext codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-plaintext codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">Caused by: java.lang.NullPointerException</span><br></span><span class="token-lin [...]
+<div class="language-plaintext codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-plaintext codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">Caused by: java.lang.NullPointerException</span><br></div><div class="token-line"  [...]
 <p>This suggests that there might be an issue with how credentials are being handled. Double-check that the credentials are being correctly passed and processed.</p>
-<p><strong>[DONE]</strong></p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/asf">ASF</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/release">release</a></li></ul></div></footer></article><article class="margi [...]
+<p><strong>[DONE]</strong></p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/asf">ASF</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/release">release</a></li></ul></div></footer>< [...]
 Thanks to the extensible nature of Wayang, the only core changes we had to do were introducing the concept of a <code>Model</code> and implement a new driver for the newly added platform.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="step-1-introducing-a-model">Step 1: Introducing a Model<a href="#step-1-introducing-a-model" class="hash-link" aria-label="Direct link to Step 1: Introducing a Model" title="Direct link to Step 1: Introducing a Model">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="step-1-introducing-a-model">Step 1: Introducing a Model<a href="#step-1-introducing-a-model" class="hash-link" aria-label="Direct link to Step 1: Introducing a Model" title="Direct link to Step 1: Introducing a Model" translate="no">​</a></h2>
 <p>With respect to the model, we followed Wayang’s abstraction philosophy: We created a <code>Model</code> interface to be used as input or output by Wayang operators and then extended it for the platform-specific operators. Different model interfaces can be found here:</p>
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model</a></p>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model</a></p>
 <p>A platform-specific model needs to be instantiated to be used as the output of a training operator and as input for an inference operator. You can see an example of the <code>SparkMLModel</code> here:</p>
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/model/SparkMLModel.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/model/SparkMLModel.java</a></p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="step-2-introducing-training-operators">Step 2: Introducing Training Operators<a href="#step-2-introducing-training-operators" class="hash-link" aria-label="Direct link to Step 2: Introducing Training Operators" title="Direct link to Step 2: Introducing Training Operators">​</a></h2>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/model/SparkMLModel.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/model/SparkMLModel.java</a></p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="step-2-introducing-training-operators">Step 2: Introducing Training Operators<a href="#step-2-introducing-training-operators" class="hash-link" aria-label="Direct link to Step 2: Introducing Training Operators" title="Direct link to Step 2: Introducing Training Operators" translate="no">​</a></h2>
 <p>We added the desired Wayang (platform-agnostic) training operators which are binary to unary operators, taking as input the X and y values and outputting a Model. You can find an example of a LinearRegressionOperator here:</p>
-<p><a href="https://github.com/apache/incubator-wayang/blob/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/LinearRegressionOperator.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/blob/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/LinearRegressionOperator.java</a></p>
+<p><a href="https://github.com/apache/incubator-wayang/blob/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/LinearRegressionOperator.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/blob/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/LinearRegressionOperator.java</a></p>
 <p>Platform-specific execution operators, such as SparkLinearRegressionOperator, can be easily added as any other execution operator: extending the corresponding Wayang operator and providing the mappings from the Wayang to the execution operator. See, for example, the <code>SparkLinearRegressionOperator</code>:</p>
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkLinearRegressionOperator.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkLinearRegressionOperator.java</a></p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="step-3-introducing-prediction-operators">Step 3: Introducing Prediction Operators<a href="#step-3-introducing-prediction-operators" class="hash-link" aria-label="Direct link to Step 3: Introducing Prediction Operators" title="Direct link to Step 3: Introducing Prediction Operators">​</a></h2>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkLinearRegressionOperator.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkLinearRegressionOperator.java</a></p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="step-3-introducing-prediction-operators">Step 3: Introducing Prediction Operators<a href="#step-3-introducing-prediction-operators" class="hash-link" aria-label="Direct link to Step 3: Introducing Prediction Operators" title="Direct link to Step 3: Introducing Prediction Operators" translate="no">​</a></h2>
 <p>Additionally, we created a <code>PredictOperator</code>, a BinaryToUnary Wayang (platform-agnostic) operator which takes as input the data quanta and a model and outputs the data quanta with the predictions output by the model.</p>
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/PredictOperator.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/PredictOperator.java</a></p>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/PredictOperator.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/PredictOperator.java</a></p>
 <p>Then, a concrete platform-specific operator extends from the abstract one. See the <code>SparkPredictOperator</code> for an example:</p>
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkPredictOperator.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkPredictOperator.java</a></p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="deep-learning-models">Deep Learning Models<a href="#deep-learning-models" class="hash-link" aria-label="Direct link to Deep Learning Models" title="Direct link to Deep Learning Models">​</a></h2>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkPredictOperator.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkPredictOperator.java</a></p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="deep-learning-models">Deep Learning Models<a href="#deep-learning-models" class="hash-link" aria-label="Direct link to Deep Learning Models" title="Direct link to Deep Learning Models" translate="no">​</a></h2>
 <p>Unlike traditional machine learning models, the definition of deep learning models is more flexible. Users can combine different blocks (e.g., fully connected blocks, convolutional blocks) to build their desired models. The whole model can be represented as a graph on which the vertices represent blocks and the edges represent connections between blocks. In this case, we built a <code>DLModel</code> class that implements the <code>Model</code> interface, which contains a user-defined, [...]
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model/DLModel.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model/DLModel.java</a></p>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model/DLModel.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model/DLModel.java</a></p>
 <p>For training, we implemented the platform-agnostic <code>DLModelTrainingOperator</code> Wayang operator:</p>
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/DLTrainingOperator.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/DLTrainingOperator.java</a></p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="new-ml-platform----tensorflow-integration">New ML platform -- Tensorflow Integration<a href="#new-ml-platform----tensorflow-integration" class="hash-link" aria-label="Direct link to New ML platform -- Tensorflow Integration" title="Direct link to New ML platform -- Tensorflow Integration">​</a></h2>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/DLTrainingOperator.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/DLTrainingOperator.java</a></p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="new-ml-platform----tensorflow-integration">New ML platform -- Tensorflow Integration<a href="#new-ml-platform----tensorflow-integration" class="hash-link" aria-label="Direct link to New ML platform -- Tensorflow Integration" title="Direct link to New ML platform -- Tensorflow Integration" translate="no">​</a></h2>
 <p>We have added Tensorflow as a new platform by creating a new module (<code>wayang-tensorflow</code>) inside the <code>wayang-platforms</code> parent module and implementing a Tensorflow driver. The TensorflowExecutor driver is responsible for creating and destroying Tensorflow resources, such as a model graph and a model parameter context. When a training task scheduled on Tensorflow, it will be mapped to TensorflowDLModelTrainingOperator. In this process, the <code>DLModel</code> wil [...]
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-tensorflow/src/main/java/org/apache/wayang/tensorflow" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-tensorflow/src/main/java/org/apache/wayang/tensorflow</a></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="acknowledgement">Acknowledgement<a href="#acknowledgement" class="hash-link" aria-label="Direct link to Acknowledgement" title="Direct link to Acknowledgement">​</a></h3>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-tensorflow/src/main/java/org/apache/wayang/tensorflow" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-tensorflow/src/main/java/org/apache/wayang/tensorflow</a></p>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="acknowledgement">Acknowledgement<a href="#acknowledgement" class="hash-link" aria-label="Direct link to Acknowledgement" title="Direct link to Acknowledgement" translate="no">​</a></h3>
 <p>The source code for the support of ML operators and the Tensorflow integration has been contributed by Mingxi Liu.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="follow-wayang">Follow Wayang<a href="#follow-wayang" class="hash-link" aria-label="Direct link to Follow Wayang" title="Direct link to Follow Wayang">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="follow-wayang">Follow Wayang<a href="#follow-wayang" class="hash-link" aria-label="Direct link to Follow Wayang" title="Direct link to Follow Wayang" translate="no">​</a></h3>
 <p>Apache Wayang is in incubation phase and has a potential roadmap of implementations
 coming soon (including the federated learning aspect as well as an SQL interface and a novel
 data debugging functionality). If you want to hear or join the community, consult the link
-<a href="https://wayang.apache.org/community/" target="_blank" rel="noopener noreferrer">https://wayang.apache.org/community/</a> , join the mailing lists, contribute with new ideas,
-write documentation, or fix bugs.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/ml">ML</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/tensorflow">tensorflow</a></li></ul></div></footer></article><article c [...]
+<a href="https://wayang.apache.org/community/" target="_blank" rel="noopener noreferrer" class="">https://wayang.apache.org/community/</a> , join the mailing lists, contribute with new ideas,
+write documentation, or fix bugs.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/ml">ML</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/tensorflow">tensorflow</a></li></ul></div [...]
 detecting early signs of cancer cells. Building an AI requires a lot of data and training to achieve
 the desired results, and federated learning is an approach to make AI training more viable.
 Federated learning (or collaborative learning) is a technique that trains AI models on data
@@ -253,7 +256,7 @@ personal data. One of the significant challenges in working with AI is the varie
 in the market or the open-source community. Each tool provides results in a different form;
 integrating them can be pretty challenging. Let&#x27;s talk about Apache Wayang and
 how it can help to solve this problem.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="apache-wayang-in-the-federated-ai-world">Apache Wayang in the Federated AI world<a href="#apache-wayang-in-the-federated-ai-world" class="hash-link" aria-label="Direct link to Apache Wayang in the Federated AI world" title="Direct link to Apache Wayang in the Federated AI world">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="apache-wayang-in-the-federated-ai-world">Apache Wayang in the Federated AI world<a href="#apache-wayang-in-the-federated-ai-world" class="hash-link" aria-label="Direct link to Apache Wayang in the Federated AI world" title="Direct link to Apache Wayang in the Federated AI world" translate="no">​</a></h2>
 <p>Apache Wayang (Wayang, for short), an Apache Software Foundation top-level project,
 integrates big data platforms and tools by removing the complexity of
 worrying about low-level details. Interestingly, even if it was not designed for, Wayang could
@@ -261,7 +264,7 @@ also serve as a scalable platform for federated learning: the Wayang community i
 work on integrating federated learning capabilities. In a federated learning approach, Wayang
 would allow different local models to be built and exchange its model results across other data
 centers to combine them into a single enhanced model.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="a-real-world-example">A real-world example<a href="#a-real-world-example" class="hash-link" aria-label="Direct link to A real-world example" title="Direct link to A real-world example">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="a-real-world-example">A real-world example<a href="#a-real-world-example" class="hash-link" aria-label="Direct link to A real-world example" title="Direct link to A real-world example" translate="no">​</a></h2>
 <p>Let&#x27;s consider a real-world scenario. Hospitals and health organizations have increased their
 investments in machine/deep learning initiatives to learn more and predict diagnostics.
 However, due to legal frameworks, sharing patients&#x27; information or diagnostics is impossible,
@@ -286,22 +289,22 @@ layer of complexity from the developers by integrating with diverse types of dat
 also brings fast development and reduces the need for a deep understanding of data
 infrastructure or integrations. Developers can focus on the logic and how to execute tasks
 instead of details about data processors.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="follow-wayang">Follow Wayang<a href="#follow-wayang" class="hash-link" aria-label="Direct link to Follow Wayang" title="Direct link to Follow Wayang">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="follow-wayang">Follow Wayang<a href="#follow-wayang" class="hash-link" aria-label="Direct link to Follow Wayang" title="Direct link to Follow Wayang" translate="no">​</a></h3>
 <p>Apache Wayang is a top-level ASF project with a potential roadmap of implementations
 coming soon (including the federated learning aspect as well as an SQL interface and a novel
 data debugging functionality). If you want to hear or join the community, consult the link
-<a href="https://wayang.apache.org/community/" target="_blank" rel="noopener noreferrer">https://wayang.apache.org/community/</a> , join the mailing lists, contribute with new ideas,
+<a href="https://wayang.apache.org/community/" target="_blank" rel="noopener noreferrer" class="">https://wayang.apache.org/community/</a> , join the mailing lists, contribute with new ideas,
 write documentation, or fix bugs.</p>
 <br>
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="thank-you">Thank you!<a href="#thank-you" class="hash-link" aria-label="Direct link to Thank you!" title="Direct link to Thank you!">​</a></h5>
+<h5 class="anchor anchorTargetStickyNavbar_Vzrq" id="thank-you">Thank you!<a href="#thank-you" class="hash-link" aria-label="Direct link to Thank you!" title="Direct link to Thank you!" translate="no">​</a></h5>
 <p>I (Gláucia) want to thank professor Jorge Quiané for the guidance to write this blog post.
-Thanks for incentivate me to join the project and for the knowledge shared. I will always remember you.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/federated">federated</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href [...]
+Thanks for incentivate me to join the project and for the knowledge shared. I will always remember you.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/federated">federated</a></li><li class="tag_QGVx"><a rel="tag" class=" [...]
 important. However, navigating through a multitude of tools and
 languages often is a major inconvenience.
 Apache Wayang&#x27;s upcoming Python API will allow you to seamlessly
 orchestrate data processing tasks without ever leaving the comfort
 of Python, irrespective of the underlying framework written in Java.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="expanding-apache-wayangs-apis">Expanding Apache Wayang&#x27;s APIs<a href="#expanding-apache-wayangs-apis" class="hash-link" aria-label="Direct link to Expanding Apache Wayang&#x27;s APIs" title="Direct link to Expanding Apache Wayang&#x27;s APIs">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="expanding-apache-wayangs-apis">Expanding Apache Wayang&#x27;s APIs<a href="#expanding-apache-wayangs-apis" class="hash-link" aria-label="Direct link to Expanding Apache Wayang&#x27;s APIs" title="Direct link to Expanding Apache Wayang&#x27;s APIs" translate="no">​</a></h2>
 <p>Apache Wayang&#x27;s architecture decouples the process of planning from the
 resulting execution, allowing users to specify platform agnostic plans
 through the provided APIs.</p>
@@ -331,7 +334,7 @@ When receiving a valid JSON plan, the JSON API uses the optimizer to
 construct an execution plan. However, since UDFs are defined in Python
 and thus need to be executed in Python as well, an operators function needs to be
 wrapped into a <code>WrappedPythonFunction</code>:</p>
-<div class="language-scala codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scala codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">val</span><span class="token plain"> mapOperator </span><span cla [...]
+<div class="language-scala codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-scala codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">val</span><span class="token plain"> mapOperator </span><span clas [...]
 <p>This wrapped functional descriptor allows to handle execution of
 UDFs in Python through a socket connection with the <code>pywayang</code> worker.
 Input data is sourced from the platform chosen by the optimizer and Apache
@@ -340,22 +343,22 @@ Wayang handles routing the output data to the next operator.</p>
 <p>A new API in any programming languages would have
 to specify two things:</p>
 <ul>
-<li>A way to create plans that conform to a JSON format specified in the
+<li class="">A way to create plans that conform to a JSON format specified in the
 Wayang JSON API.</li>
-<li>A <code>worker</code> that handles encoding and decoding of user defined
+<li class="">A <code>worker</code> that handles encoding and decoding of user defined
 functions (UDFs), as they need to
 be executed on iterables in their respective language.
 After that, the API can be added as a module in Wayang, so that
 operators will be wrapped and UDFs can be executed in the desired
 programming language.</li>
-</ul></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/python">python</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Pywayang - Apache Wayang&#x27;s Python API" href="/blog/wayang-python-api"><b>Read M [...]
+</ul></div><footer class="row docusaurus-mt-lg"><div class="col col--9"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/python">python</a></li></ul></div><div class="col text--right col--3"><a aria-label="Read more about Pywayang - Apache Wayang&#x27;s Python API" href="/blog/wayang-p [...]
 Motivated by the learnings from last time, I stated implementing a Kafka Source component and a Kafka Sink component for the Apache Spark platform in Apache Wayang.
 In our previous article we shared the results of the work on the frist Apache Kafka integration using the Java Platform.</p>
 <p>Let&#x27;s see how it goes this time with Apache Spark.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="the-goal-of-this-implementation">The goal of this implementation<a href="#the-goal-of-this-implementation" class="hash-link" aria-label="Direct link to The goal of this implementation" title="Direct link to The goal of this implementation">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-goal-of-this-implementation">The goal of this implementation<a href="#the-goal-of-this-implementation" class="hash-link" aria-label="Direct link to The goal of this implementation" title="Direct link to The goal of this implementation" translate="no">​</a></h2>
 <p>We want to process data from Apache Kafka topics, which are hosted on Confluent cloud.
 In our example scenario, data is available in multiple different clusters, in different regions and owned by different organizations.
-Each organization uses the <a href="https://docs.confluent.io/cloud/current/stream-sharing/index.html" target="_blank" rel="noopener noreferrer">&quot;stream sharing&quot; feature</a> provided by Confluent cloud.</p>
+Each organization uses the <a href="https://docs.confluent.io/cloud/current/stream-sharing/index.html" target="_blank" rel="noopener noreferrer" class="">&quot;stream sharing&quot; feature</a> provided by Confluent cloud.</p>
 <p>This way, the operator of our central processing job has been granted appropriate permissions. The plaftorm provided the necessary configuration properties, including access coordinates and credentials in the name of the topic owner to us.</p>
 <p>The following illustration has already been introduced in part one of the blog series, but for clarity we repeat it here.</p>
 <p><img decoding="async" loading="lazy" alt="images/image-1.png" src="/assets/images/image-1-9cc35d5aea2b867d7e5759a96bd02334.png" width="904" height="550" class="img_ev3q"></p>
@@ -364,11 +367,11 @@ Each source allows us to read the data from that particular topic so that we can
 In this example it is a public processing context, in which data from multiple private processing contexts are used together.</p>
 <p>This use case is already prepared for high processing loads We can utilize the scalability capabilities of Apache Spark or simply use a Java program for initial tests of the solution. Switching between both is done in one line of code in Apache Wayang.</p>
 <p>Again, we start with a <strong>WayangContext</strong>, as shown by examples in the Wayang code repository.</p>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">WayangContext wayangContext = new WayangContext().with(Spark.basicPlugin());</span><br></span></code></pr [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">WayangContext wayangContext = new WayangContext().with(Spark.basicPlugin());</span><br></div [...]
 <p>We simply switched the backend system towards Apache Spark by using the <em>WayangContext</em> with <em>Spark.basicPlugin()</em>.
 The <strong>JavaPlanBuilder</strong> and all other logic of our example job won&#x27;t be touched.</p>
 <p>In order to make this working we will now implement the Mappings and the Operators for the Apache Spark platform module.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="implementation-of-input--and-output-operators">Implementation of Input- and Output Operators<a href="#implementation-of-input--and-output-operators" class="hash-link" aria-label="Direct link to Implementation of Input- and Output Operators" title="Direct link to Implementation of Input- and Output Operators">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="implementation-of-input--and-output-operators">Implementation of Input- and Output Operators<a href="#implementation-of-input--and-output-operators" class="hash-link" aria-label="Direct link to Implementation of Input- and Output Operators" title="Direct link to Implementation of Input- and Output Operators" translate="no">​</a></h2>
 <p>We reuse the Kafka Source and Kafka Sink components which have been created for the JavaKafkaSource and JavaKafkaSink.
 Hence we work with Wayang&#x27;s Java API.</p>
 <p><strong>Level 1 – Wayang execution plan with abstract operators</strong></p>
@@ -407,34 +410,34 @@ Those were made specifically for a simple non parallel Java program, using one C
 <p>The selected approach does not yet fully take advantage from Spark&#x27;s parallelism at load time.
 For higher loads and especially for streaming processing we would have to investigate another approache, using a <em>SparkStreamingContext</em>, but this is out of scope for now.</p>
 <p>Since we can&#x27;t reuse the <em>JavaKafkaTopicSource</em> and <em>JavaKafkaTopicSink</em> we rather implement <em>SparkKafkaTopicSource</em> and <em>SparkKafkaTopicSink</em> based on given <em>SparkTextFileSource</em> and <em>SparkTextFileSink</em> which both cary all needed RDD specific logic.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="summary">Summary<a href="#summary" class="hash-link" aria-label="Direct link to Summary" title="Direct link to Summary">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="summary">Summary<a href="#summary" class="hash-link" aria-label="Direct link to Summary" title="Direct link to Summary" translate="no">​</a></h2>
 <p>As expected, the integration of Apache Spark with Apache Wayang was no magic, thanks to a fluent API design and a well structured architecture of Apache Wayang.
 We could easily follow the pattern we have worked out in the previous exercise.</p>
 <p>But a bunch of much more interesting work will follow next.
 More testing, more serialization schemes, and Kafka Schema Registry support should follow, and full parallelization as well.</p>
 <p>The code has been submitted to the Apache Wayang repository.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="outlook">Outlook<a href="#outlook" class="hash-link" aria-label="Direct link to Outlook" title="Direct link to Outlook">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="outlook">Outlook<a href="#outlook" class="hash-link" aria-label="Direct link to Outlook" title="Direct link to Outlook" translate="no">​</a></h2>
 <p>The next part of the article series will cover the real world example as described in image 1.
 We will show how analysts and developers can use the Apache Kafka integration for Apache Wayang to solve cross organizational collaboration issues.
-Therefore, we will bring all puzzles together, and show the full implementation of the multi organizational data collaboration use case.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/kafka">kafka</a></li><li class="tag_QGVx"><a class="tag_z [...]
+Therefore, we will bring all puzzles together, and show the full implementation of the multi organizational data collaboration use case.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/kafka">kafka</a></li><li class="tag_Q [...]
 We look into the “Read- and Write-Path” for our data items, called <em>DataQuanta</em>.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="apache-wayangs-read--write-path-for-kafka-topics">Apache Wayang’s Read &amp; Write Path for Kafka topics<a href="#apache-wayangs-read--write-path-for-kafka-topics" class="hash-link" aria-label="Direct link to Apache Wayang’s Read &amp; Write Path for Kafka topics" title="Direct link to Apache Wayang’s Read &amp; Write Path for Kafka topics">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="apache-wayangs-read--write-path-for-kafka-topics">Apache Wayang’s Read &amp; Write Path for Kafka topics<a href="#apache-wayangs-read--write-path-for-kafka-topics" class="hash-link" aria-label="Direct link to Apache Wayang’s Read &amp; Write Path for Kafka topics" title="Direct link to Apache Wayang’s Read &amp; Write Path for Kafka topics" translate="no">​</a></h2>
 <p>To describe the read and write paths for data in the context of the created Apache Wayang code snippet, the primary classes and interfaces we need to understand are as follows:</p>
 <p><strong>WayangContext:</strong> This class is essential for initializing the Wayang processing environment.
 It allows you to configure the execution environment and register plugins that define which platforms Wayang can use for data processing tasks, such as <em>Java.basicPlugin()</em> for local Java execution.</p>
 <p><strong>JavaPlanBuilder:</strong> This class is used to build and define the data processing pipeline (or plan) in Wayang.
 It provides a fluent API to specify the operations to be performed on the data, from reading the input to processing it and writing the output.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="read-path">Read Path<a href="#read-path" class="hash-link" aria-label="Direct link to Read Path" title="Direct link to Read Path">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="read-path">Read Path<a href="#read-path" class="hash-link" aria-label="Direct link to Read Path" title="Direct link to Read Path" translate="no">​</a></h3>
 <p>The read path describes how data is ingested from a source into the Wayang processing pipeline:</p>
 <p><em>Reading from Kafka Topic:</em> The method <em>readKafkaTopic(topicName)</em> is used to ingest data from a specified Kafka topic.
 This is the starting point of the data processing pipeline, where topicName represents the name of the Kafka topic from which data is read.</p>
 <p><em>Data Tokenization and Preparation:</em> Once the data is read from Kafka, it undergoes several transformations such as Splitting, Filtering, and Mapping.
 What follows are the procedures known as Reducing, Grouping, Co-Grouping, and Counting.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="write-path">Write Path<a href="#write-path" class="hash-link" aria-label="Direct link to Write Path" title="Direct link to Write Path">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="write-path">Write Path<a href="#write-path" class="hash-link" aria-label="Direct link to Write Path" title="Direct link to Write Path" translate="no">​</a></h3>
 <p><em>Writing to Kafka Topic:</em> The final step in the pipeline involves writing the processed data back to a Kafka topic using <em>.writeKafkaTopic(...)</em>.
 This method takes parameters that specify the target Kafka topic, a serialization function to format the data as strings, and additional configuration for load profile estimation, which optimizes the writing process.</p>
 <p>This read-write path provides a comprehensive flow of data from ingestion from Kafka, through various processing steps, and finally back to Kafka, showcasing a full cycle of data processing within Apache Wayang&#x27;s abstracted environment and is implemented in our example program shown in <em>listing 1</em>.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="implementation-of-input--and-output-operators">Implementation of Input- and Output Operators<a href="#implementation-of-input--and-output-operators" class="hash-link" aria-label="Direct link to Implementation of Input- and Output Operators" title="Direct link to Implementation of Input- and Output Operators">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="implementation-of-input--and-output-operators">Implementation of Input- and Output Operators<a href="#implementation-of-input--and-output-operators" class="hash-link" aria-label="Direct link to Implementation of Input- and Output Operators" title="Direct link to Implementation of Input- and Output Operators" translate="no">​</a></h2>
 <p>The next section shows how a new pair of operators can be implemented to extend Apache Wayang’s capabilities on the input and output side.
 We created the Kafka Source and Kafka Sink components so that our cross organizational data collaboration scenario can be implemented using data streaming infrastructure.</p>
 <p><strong>Level 1 – Wayang execution plan with abstract operators</strong></p>
@@ -467,13 +470,13 @@ All this is done in the project <em>wayang-plarforms/wayang-java</em>.</p>
 Both are implemented in Java programming language.
 In this layer, the real Kafka-Client logic is defined.
 Details about consumer and producers, client configuration, and schema handling have to be handled here.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="summary">Summary<a href="#summary" class="hash-link" aria-label="Direct link to Summary" title="Direct link to Summary">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="summary">Summary<a href="#summary" class="hash-link" aria-label="Direct link to Summary" title="Direct link to Summary" translate="no">​</a></h2>
 <p>Both classes in the third layer implement the Kafka client logic which is needed by the Wayang-execution plan when external data flows should be established.
 The layer above handles the mapping of the components at startup time.
 All this wiring is needed to keep Wayang open and flexible so that multiple external systems can be used in a variety of combinations and using multiple target platforms in combinations.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="outlook">Outlook<a href="#outlook" class="hash-link" aria-label="Direct link to Outlook" title="Direct link to Outlook">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="outlook">Outlook<a href="#outlook" class="hash-link" aria-label="Direct link to Outlook" title="Direct link to Outlook" translate="no">​</a></h2>
 <p>The next part of the article series will cover the creation of an Kafka Source and Sink component for the Apache Spark platform, which allows our use case to scale.
-Finally, in part four we bring all puzzles together, and show the full implementation of the multi organizational data collaboration use case.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/kafka">kafka</a></li><li class="tag_QGVx"><a class= [...]
+Finally, in part four we bring all puzzles together, and show the full implementation of the multi organizational data collaboration use case.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/kafka">kafka</a></li><li class= [...]
 <p>This article is the first of a four part series about federated data analysis using Apache Wayang.
 The first article starts with an introduction of a typical data colaboration scenario which will emerge in our digital future.</p>
 <p>In part two and three we will share a summary of our Apache Kafka client implementation for Apache Wayang.
@@ -486,7 +489,7 @@ This reduces complexity of data management and cost dramatically.</p>
 <p>For this purpose, we illustrate a cross organizational data sharing scenario from the finance sector soon.
 This analysis pattern will also be relevant in the context of data analysis along supply chains, another typical example where data from many stakeholder together is needed but never managed in one place, for good reasons.</p>
 <p>Data federation can help us to unlock the hidden value of all those isolated data lakes.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="a-cross-organizational-data-sharing-scenario">A cross organizational data sharing scenario<a href="#a-cross-organizational-data-sharing-scenario" class="hash-link" aria-label="Direct link to A cross organizational data sharing scenario" title="Direct link to A cross organizational data sharing scenario">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="a-cross-organizational-data-sharing-scenario">A cross organizational data sharing scenario<a href="#a-cross-organizational-data-sharing-scenario" class="hash-link" aria-label="Direct link to A cross organizational data sharing scenario" title="Direct link to A cross organizational data sharing scenario" translate="no">​</a></h2>
 <p>Our goal is the implementation of a cross organization decentralized data processing scenario, in which protected local data should be processed in combination with public data from public sources in a collaborative manner.
 Instead of copying all data into a central data lake or a central data platform we decided to use federated analytics.
 Apache Wayang is the tool we work with.
@@ -516,7 +519,7 @@ Since as of today, there is now <em>KafkaSource</em> and <em>KafkaSink</em> avai
 Our assumption is, that in the beginning, there won’t be much data.</p>
 <p>Apache Spark is not required to cope with the load, but we expect, that in the future, a single Java application would not be able to handle our workload.
 Hence, we want to utilize the Apache Wayang abstraction over multiple processing platforms, starting with Java.
-Later, we want to switch to Apache Spark.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/kafka">kafka</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/cross-organization-data-collaboration">cross organization [...]
+Later, we want to switch to Apache Spark.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/kafka">kafka</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/cross-organization-data-col [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/blog/tags/wayang/page/2/index.html b/blog/tags/wayang/page/2/index.html
index 8b12143e..7228c028 100644
--- a/blog/tags/wayang/page/2/index.html
+++ b/blog/tags/wayang/page/2/index.html
@@ -2,14 +2,17 @@
 <html lang="en" dir="ltr" class="blog-wrapper blog-tags-post-list-page plugin-blog plugin-id-default" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
+<meta name="generator" content="Docusaurus v3.10.1">
 <title data-rh="true">11 posts tagged with &quot;wayang&quot; | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/blog/tags/wayang/page/2"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:lan [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/blog/wayang-federated-ai/index.html b/blog/wayang-federated-ai/index.html
index e53d9a43..41c210a3 100644
--- a/blog/wayang-federated-ai/index.html
+++ b/blog/wayang-federated-ai/index.html
@@ -2,14 +2,17 @@
 <html lang="en" dir="ltr" class="blog-wrapper blog-post-page plugin-blog plugin-id-default" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
-<title data-rh="true">Wayang and the Federated AI | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/blog/wayang-federated-ai"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content= [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<meta name="generator" content="Docusaurus v3.10.1">
+<title data-rh="true">Wayang and the Federated AI | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/blog/wayang-federated-ai"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content= [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
 detecting early signs of cancer cells. Building an AI requires a lot of data and training to achieve
 the desired results, and federated learning is an approach to make AI training more viable.
 Federated learning (or collaborative learning) is a technique that trains AI models on data
@@ -19,7 +22,7 @@ personal data. One of the significant challenges in working with AI is the varie
 in the market or the open-source community. Each tool provides results in a different form;
 integrating them can be pretty challenging. Let&#x27;s talk about Apache Wayang and
 how it can help to solve this problem.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="apache-wayang-in-the-federated-ai-world">Apache Wayang in the Federated AI world<a href="#apache-wayang-in-the-federated-ai-world" class="hash-link" aria-label="Direct link to Apache Wayang in the Federated AI world" title="Direct link to Apache Wayang in the Federated AI world">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="apache-wayang-in-the-federated-ai-world">Apache Wayang in the Federated AI world<a href="#apache-wayang-in-the-federated-ai-world" class="hash-link" aria-label="Direct link to Apache Wayang in the Federated AI world" title="Direct link to Apache Wayang in the Federated AI world" translate="no">​</a></h2>
 <p>Apache Wayang (Wayang, for short), an Apache Software Foundation top-level project,
 integrates big data platforms and tools by removing the complexity of
 worrying about low-level details. Interestingly, even if it was not designed for, Wayang could
@@ -27,7 +30,7 @@ also serve as a scalable platform for federated learning: the Wayang community i
 work on integrating federated learning capabilities. In a federated learning approach, Wayang
 would allow different local models to be built and exchange its model results across other data
 centers to combine them into a single enhanced model.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="a-real-world-example">A real-world example<a href="#a-real-world-example" class="hash-link" aria-label="Direct link to A real-world example" title="Direct link to A real-world example">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="a-real-world-example">A real-world example<a href="#a-real-world-example" class="hash-link" aria-label="Direct link to A real-world example" title="Direct link to A real-world example" translate="no">​</a></h2>
 <p>Let&#x27;s consider a real-world scenario. Hospitals and health organizations have increased their
 investments in machine/deep learning initiatives to learn more and predict diagnostics.
 However, due to legal frameworks, sharing patients&#x27; information or diagnostics is impossible,
@@ -52,16 +55,16 @@ layer of complexity from the developers by integrating with diverse types of dat
 also brings fast development and reduces the need for a deep understanding of data
 infrastructure or integrations. Developers can focus on the logic and how to execute tasks
 instead of details about data processors.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="follow-wayang">Follow Wayang<a href="#follow-wayang" class="hash-link" aria-label="Direct link to Follow Wayang" title="Direct link to Follow Wayang">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="follow-wayang">Follow Wayang<a href="#follow-wayang" class="hash-link" aria-label="Direct link to Follow Wayang" title="Direct link to Follow Wayang" translate="no">​</a></h3>
 <p>Apache Wayang is a top-level ASF project with a potential roadmap of implementations
 coming soon (including the federated learning aspect as well as an SQL interface and a novel
 data debugging functionality). If you want to hear or join the community, consult the link
-<a href="https://wayang.apache.org/community/" target="_blank" rel="noopener noreferrer">https://wayang.apache.org/community/</a> , join the mailing lists, contribute with new ideas,
+<a href="https://wayang.apache.org/community/" target="_blank" rel="noopener noreferrer" class="">https://wayang.apache.org/community/</a> , join the mailing lists, contribute with new ideas,
 write documentation, or fix bugs.</p>
 <br>
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="thank-you">Thank you!<a href="#thank-you" class="hash-link" aria-label="Direct link to Thank you!" title="Direct link to Thank you!">​</a></h5>
+<h5 class="anchor anchorTargetStickyNavbar_Vzrq" id="thank-you">Thank you!<a href="#thank-you" class="hash-link" aria-label="Direct link to Thank you!" title="Direct link to Thank you!" translate="no">​</a></h5>
 <p>I (Gláucia) want to thank professor Jorge Quiané for the guidance to write this blog post.
-Thanks for incentivate me to join the project and for the knowledge shared. I will always remember you.</p></div><footer class="row docusaurus-mt-lg blogPostFooterDetailsFull_mRVl"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/federated">federated</a></li><li class="tag_QGVx"><a class= [...]
+Thanks for incentivate me to join the project and for the knowledge shared. I will always remember you.</p></div><footer class="docusaurus-mt-lg"><div class="row margin-top--sm theme-blog-footer-edit-meta-row"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/federated" [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/blog/wayang-graduation/index.html b/blog/wayang-graduation/index.html
index 0b74f52b..26c94c33 100644
--- a/blog/wayang-graduation/index.html
+++ b/blog/wayang-graduation/index.html
@@ -2,41 +2,44 @@
 <html lang="en" dir="ltr" class="blog-wrapper blog-post-page plugin-blog plugin-id-default" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
-<title data-rh="true">Apache Wayang Graduation | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/blog/wayang-graduation"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="defa [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<meta name="generator" content="Docusaurus v3.10.1">
+<title data-rh="true">Apache Wayang Graduation | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/blog/wayang-graduation"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="defa [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
 <p>This graduation rewards the community-driven effort, research, innovation, and collaboration of many years. It reflects our shared commitment to open-source development and the growing importance of cross-platform data processing in the broader data ecosystem nowadays.
 Graduating as an Apache Top-Level Project is an important recognition of the project’s maturity and ensures that Apache Wayang is backed by the full support and oversight of the ASF, guaranteeing openness, meritocracy, and a sustainable development model for years to come.</p>
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="what-is-apache-wayang">What Is Apache Wayang?<a href="#what-is-apache-wayang" class="hash-link" aria-label="Direct link to What Is Apache Wayang?" title="Direct link to What Is Apache Wayang?">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-is-apache-wayang">What Is Apache Wayang?<a href="#what-is-apache-wayang" class="hash-link" aria-label="Direct link to What Is Apache Wayang?" title="Direct link to What Is Apache Wayang?" translate="no">​</a></h2>
 <p>Apache Wayang (formerly known as Rheem) is a <strong>cross-platform data processing system</strong> designed to give developers and organizations a unified way to execute pipelines over multiple data processing engines—such as Apache Spark, Apache Flink, PostgreSQL, and more.</p>
 <p>Instead of forcing users to choose a single execution backend, Wayang:</p>
 <ul>
-<li><strong>Abstracts data processing engines</strong> through a unified API</li>
-<li><strong>Can automatically choose the best execution platform</strong> based on workload characteristics</li>
-<li><strong>Optimizes performance</strong> by distributing tasks across engines if necessary</li>
-<li><strong>Provides a flexible plugin architecture</strong> for integrating new platforms and optimizers</li>
+<li class=""><strong>Abstracts data processing engines</strong> through a unified API</li>
+<li class=""><strong>Can automatically choose the best execution platform</strong> based on workload characteristics</li>
+<li class=""><strong>Optimizes performance</strong> by distributing tasks across engines if necessary</li>
+<li class=""><strong>Provides a flexible plugin architecture</strong> for integrating new platforms and optimizers</li>
 </ul>
 <p>In other words, Wayang enables interoperability across the diverse data landscape and empowers teams to focus on application logic and not infrastructure decisions.</p>
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="thank-you-to-our-community">Thank You to Our Community<a href="#thank-you-to-our-community" class="hash-link" aria-label="Direct link to Thank You to Our Community" title="Direct link to Thank You to Our Community">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="thank-you-to-our-community">Thank You to Our Community<a href="#thank-you-to-our-community" class="hash-link" aria-label="Direct link to Thank You to Our Community" title="Direct link to Thank You to Our Community" translate="no">​</a></h2>
 <p>Apache Wayang wouldn’t exist without its community of developers, users, mentors, and advocates who contributed code, documentation, feedback, and support. A special thanks goes to our Incubator mentors, who helped guide the project through the Apache processes and best practices.
 Your contributions made this milestone possible, and we’re just getting started.</p>
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="get-involved">Get Involved!<a href="#get-involved" class="hash-link" aria-label="Direct link to Get Involved!" title="Direct link to Get Involved!">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="get-involved">Get Involved!<a href="#get-involved" class="hash-link" aria-label="Direct link to Get Involved!" title="Direct link to Get Involved!" translate="no">​</a></h2>
 <p>Whether you want to try Wayang for your next project, contribute code, write documentation, or share your ideas, your participation is welcome. Here’s how to get started:</p>
 <ul>
-<li>Explore the documentation</li>
-<li>Join our community mailing lists</li>
-<li>Contribute to discussions and development</li>
-<li>Try Wayang on your data workloads</li>
+<li class="">Explore the documentation</li>
+<li class="">Join our community mailing lists</li>
+<li class="">Contribute to discussions and development</li>
+<li class="">Try Wayang on your data workloads</li>
 </ul>
-<p>Welcome to Apache Wayang — where data platforms work together!</p></div><footer class="row docusaurus-mt-lg blogPostFooterDetailsFull_mRVl"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/asf">ASF</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/gradua [...]
+<p>Welcome to Apache Wayang — where data platforms work together!</p></div><footer class="docusaurus-mt-lg"><div class="row margin-top--sm theme-blog-footer-edit-meta-row"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/asf">ASF</a></li><li class="tag_QGVx"><a rel="ta [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/blog/wayang-python-api/index.html b/blog/wayang-python-api/index.html
index 617fcdd6..89350d60 100644
--- a/blog/wayang-python-api/index.html
+++ b/blog/wayang-python-api/index.html
@@ -2,20 +2,23 @@
 <html lang="en" dir="ltr" class="blog-wrapper blog-post-page plugin-blog plugin-id-default" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
-<title data-rh="true">Pywayang - Apache Wayang&#x27;s Python API | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/blog/wayang-python-api"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_ [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<meta name="generator" content="Docusaurus v3.10.1">
+<title data-rh="true">Pywayang - Apache Wayang&#x27;s Python API | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/blog/wayang-python-api"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_ [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
 important. However, navigating through a multitude of tools and
 languages often is a major inconvenience.
 Apache Wayang&#x27;s upcoming Python API will allow you to seamlessly
 orchestrate data processing tasks without ever leaving the comfort
 of Python, irrespective of the underlying framework written in Java.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="expanding-apache-wayangs-apis">Expanding Apache Wayang&#x27;s APIs<a href="#expanding-apache-wayangs-apis" class="hash-link" aria-label="Direct link to Expanding Apache Wayang&#x27;s APIs" title="Direct link to Expanding Apache Wayang&#x27;s APIs">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="expanding-apache-wayangs-apis">Expanding Apache Wayang&#x27;s APIs<a href="#expanding-apache-wayangs-apis" class="hash-link" aria-label="Direct link to Expanding Apache Wayang&#x27;s APIs" title="Direct link to Expanding Apache Wayang&#x27;s APIs" translate="no">​</a></h2>
 <p>Apache Wayang&#x27;s architecture decouples the process of planning from the
 resulting execution, allowing users to specify platform agnostic plans
 through the provided APIs.</p>
@@ -45,7 +48,7 @@ When receiving a valid JSON plan, the JSON API uses the optimizer to
 construct an execution plan. However, since UDFs are defined in Python
 and thus need to be executed in Python as well, an operators function needs to be
 wrapped into a <code>WrappedPythonFunction</code>:</p>
-<div class="language-scala codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scala codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">val</span><span class="token plain"> mapOperator </span><span cla [...]
+<div class="language-scala codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-scala codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">val</span><span class="token plain"> mapOperator </span><span clas [...]
 <p>This wrapped functional descriptor allows to handle execution of
 UDFs in Python through a socket connection with the <code>pywayang</code> worker.
 Input data is sourced from the platform chosen by the optimizer and Apache
@@ -54,31 +57,31 @@ Wayang handles routing the output data to the next operator.</p>
 <p>A new API in any programming languages would have
 to specify two things:</p>
 <ul>
-<li>A way to create plans that conform to a JSON format specified in the
+<li class="">A way to create plans that conform to a JSON format specified in the
 Wayang JSON API.</li>
-<li>A <code>worker</code> that handles encoding and decoding of user defined
+<li class="">A <code>worker</code> that handles encoding and decoding of user defined
 functions (UDFs), as they need to
 be executed on iterables in their respective language.
 After that, the API can be added as a module in Wayang, so that
 operators will be wrapped and UDFs can be executed in the desired
 programming language.</li>
 </ul>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="defining-wayangplans-in-python">Defining WayangPlans in Python<a href="#defining-wayangplans-in-python" class="hash-link" aria-label="Direct link to Defining WayangPlans in Python" title="Direct link to Defining WayangPlans in Python">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="defining-wayangplans-in-python">Defining WayangPlans in Python<a href="#defining-wayangplans-in-python" class="hash-link" aria-label="Direct link to Defining WayangPlans in Python" title="Direct link to Defining WayangPlans in Python" translate="no">​</a></h2>
 <p>As the &quot;Hello World!&quot; of data processing systems, wordcount will pose as
 our primary example to display how users can interact with Apache Wayang
 through the python package <code>pywayang</code>.</p>
-<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">from</span><span class="token plain"> pywy</span><span class="t [...]
+<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">from</span><span class="token plain"> pywy</span><span class="to [...]
 <p>The example displays a mode of operation that resembles the Scala
 <code>PlanBuilder</code> and the <code>JavaPlanBuilder</code>. Plans are specified in a
 functional way, chaining operations until a terminal operation results
 in execution of the plan.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="wayang-api-json">Wayang-API-JSON<a href="#wayang-api-json" class="hash-link" aria-label="Direct link to Wayang-API-JSON" title="Direct link to Wayang-API-JSON">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="wayang-api-json">Wayang-API-JSON<a href="#wayang-api-json" class="hash-link" aria-label="Direct link to Wayang-API-JSON" title="Direct link to Wayang-API-JSON" translate="no">​</a></h2>
 <p>The <code>wayang-api-json</code> module provides an executable that starts a REST
 server. This server accepts a <code>WayangPlan</code> in JSON format.
 Starting the REST API as a background process can be done by executing
 the following:</p>
-<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn clean package </span><span class="token parameter variable" style="color:#36acaa">-pl [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="wrapping-pipelines-in-mappartition-operators">Wrapping pipelines in MapPartition operators<a href="#wrapping-pipelines-in-mappartition-operators" class="hash-link" aria-label="Direct link to Wrapping pipelines in MapPartition operators" title="Direct link to Wrapping pipelines in MapPartition operators">​</a></h2>
+<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn clean package </span><span class="token parameter variable" style="color:#36acaa">-pl< [...]
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="wrapping-pipelines-in-mappartition-operators">Wrapping pipelines in MapPartition operators<a href="#wrapping-pipelines-in-mappartition-operators" class="hash-link" aria-label="Direct link to Wrapping pipelines in MapPartition operators" title="Direct link to Wrapping pipelines in MapPartition operators" translate="no">​</a></h2>
 <p>With this architecture, the execution of an operator comes with an
 additional overhead, because the UDFs will have to be executed in
 python. Python operators receive iterators through a socket and also
@@ -88,11 +91,11 @@ pipelines. One pipeline of operators will be submitted to the Wayang
 JSON API as a single <code>MapPartition</code> operator. This means that the UDFs
 specified in this pipeline can be chained and only on call from Wayang
 to the Python worker will have to be made for a given pipeline.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="coming-soon">Coming soon<a href="#coming-soon" class="hash-link" aria-label="Direct link to Coming soon" title="Direct link to Coming soon">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="coming-soon">Coming soon<a href="#coming-soon" class="hash-link" aria-label="Direct link to Coming soon" title="Direct link to Coming soon" translate="no">​</a></h2>
 <p>As the Python API is currently in development and we are applying
 finishing touches, this article serves as an outlook for what users can
 expect to see soon.</p>
-<p>Author: <a href="https://github.com/juripetersen" target="_blank" rel="noopener noreferrer">juripetersen</a></p></div><footer class="row docusaurus-mt-lg blogPostFooterDetailsFull_mRVl"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/python">python</a></li></ul></div></footer></articl [...]
+<p>Author: <a href="https://github.com/juripetersen" target="_blank" rel="noopener noreferrer" class="">juripetersen</a></p></div><footer class="docusaurus-mt-lg"><div class="row margin-top--sm theme-blog-footer-edit-meta-row"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blo [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/blog/wayang-release-odysse/index.html b/blog/wayang-release-odysse/index.html
index cf41b0a0..d885f3da 100644
--- a/blog/wayang-release-odysse/index.html
+++ b/blog/wayang-release-odysse/index.html
@@ -2,134 +2,137 @@
 <html lang="en" dir="ltr" class="blog-wrapper blog-post-page plugin-blog plugin-id-default" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
-<title data-rh="true">Apache Wayang Release Odysse | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/blog/wayang-release-odysse"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" conte [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<meta name="generator" content="Docusaurus v3.10.1">
+<title data-rh="true">Apache Wayang Release Odysse | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/blog/wayang-release-odysse"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" conte [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
 <p>The ASF provides a robust infrastructure for open communities of software developers. We can share ideas, combine forces, contribute code, docs, review-energy, art work, and from time to time we can nail it down. A release defines an intermediate result of the continuous community work.</p>
 <p>How we do such a release in the Apache Wayang team is an essential aspect towards graduation. First of all, there are some references to take into account, such as:</p>
 <ul>
-<li><a href="https://www.apache.org/legal/release-policy.html" target="_blank" rel="noopener noreferrer">https://www.apache.org/legal/release-policy.html</a></li>
-<li><a href="https://maven.apache.org/maven-release/maven-release-plugin/" target="_blank" rel="noopener noreferrer">https://maven.apache.org/maven-release/maven-release-plugin/</a></li>
+<li class=""><a href="https://www.apache.org/legal/release-policy.html" target="_blank" rel="noopener noreferrer" class="">https://www.apache.org/legal/release-policy.html</a></li>
+<li class=""><a href="https://maven.apache.org/maven-release/maven-release-plugin/" target="_blank" rel="noopener noreferrer" class="">https://maven.apache.org/maven-release/maven-release-plugin/</a></li>
 </ul>
 <p>Assuming you are (P)PMC, and assuming that you have the right permissions for such a release, you can follow the path as described in this guide:</p>
 <ul>
-<li><a href="https://plc4x.apache.org/plc4x/latest/developers/release/release.html" target="_blank" rel="noopener noreferrer">https://plc4x.apache.org/developers/release/release.html</a></li>
+<li class=""><a href="https://plc4x.apache.org/plc4x/latest/developers/release/release.html" target="_blank" rel="noopener noreferrer" class="">https://plc4x.apache.org/developers/release/release.html</a></li>
 </ul>
 <p>I tried to follow exactly this procedure, several times. I failed. Here I share the current status of my <strong>release attempts</strong>.</p>
 <p>I plan a longer tour, and do not want to block the project for a long time.
 Hence I create this draft, and I hope we can unblock this project as soon as possible.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="status">Status:<a href="#status" class="hash-link" aria-label="Direct link to Status:" title="Direct link to Status:">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="status">Status:<a href="#status" class="hash-link" aria-label="Direct link to Status:" title="Direct link to Status:" translate="no">​</a></h2>
 <p>I am not able to conduct the <em>mvn release:perform</em> step.
 Anything before worked, sometimes only after some digging, but it worked.</p>
 <ul>
-<li>
+<li class="">
 <p>We assume, that due to my membership in two ASF incubator projects I am not able to upload the artefacts to the Nexus repository (H1).</p>
 </li>
-<li>
+<li class="">
 <p>It can be, that I have not the correct user and password in my <em>settings.xml</em> file (H2).</p>
 </li>
 </ul>
-<p>But I tested a manual login to the nexus server <a href="https://repository.apache.org/service/local/staging/deploy/maven2" target="_blank" rel="noopener noreferrer">https://repository.apache.org/service/local/staging/deploy/maven2</a> with success. And beyond that I have no idea how I can verify this detail alone.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="idea--proposal">Idea / Proposal<a href="#idea--proposal" class="hash-link" aria-label="Direct link to Idea / Proposal" title="Direct link to Idea / Proposal">​</a></h2>
+<p>But I tested a manual login to the nexus server <a href="https://repository.apache.org/service/local/staging/deploy/maven2" target="_blank" rel="noopener noreferrer" class="">https://repository.apache.org/service/local/staging/deploy/maven2</a> with success. And beyond that I have no idea how I can verify this detail alone.</p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="idea--proposal">Idea / Proposal<a href="#idea--proposal" class="hash-link" aria-label="Direct link to Idea / Proposal" title="Direct link to Idea / Proposal" translate="no">​</a></h2>
 <p>(1) It would be great, if someone - who has done a release in any other ASF project or in Apache Wayang - could follow the steps I share, so that we can check where the problem hides itself.</p>
 <p>(2) As a follow-up task, I suggest to add a <strong>Release Guide</strong> to the Apache Wayang project, including release manager onboarding steps, and checklists for the particular project, derived from the referenced sources which are listed above.</p>
 <p>But for now it is all about sharing the status (as I did serveral times on multiple chanels, including JIRA, Slack, Mailing lists) and finding a solution for Apache Wayang release 1.0.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="latest-error">Latest Error:<a href="#latest-error" class="hash-link" aria-label="Direct link to Latest Error:" title="Direct link to Latest Error:">​</a></h2>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:perform -X -DskipTests</span><br></span></code></pre><div class="buttonGroup__atx"><button ty [...]
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[INFO] Caused by: org.eclipse.aether.deployment.DeploymentException: Failed to deploy artifacts: Could no [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="activity-log">Activity Log<a href="#activity-log" class="hash-link" aria-label="Direct link to Activity Log" title="Direct link to Activity Log">​</a></h2>
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:clean</span><br></span><span class="token-line" style="color:#393A34"><span cla [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Da [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">ERROR</span><span class="toke [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn versions:commit</span><br></span><span class="token-line" style="color:#393A34"><span c [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Da [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">ERROR</span><span class="toke [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">git</span><span class="token plain"> status</span><br></span><span [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Da [...]
-<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">Caused by: org.eclipse.aether.transfer.NoRepositoryConnectorException: Blocked mirror </spa [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="dependency-on-jdk-11-during-release">Dependency on JDK-11 during release<a href="#dependency-on-jdk-11-during-release" class="hash-link" aria-label="Direct link to Dependency on JDK-11 during release" title="Direct link to Dependency on JDK-11 during release">​</a></h3>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="latest-error">Latest Error:<a href="#latest-error" class="hash-link" aria-label="Direct link to Latest Error:" title="Direct link to Latest Error:" translate="no">​</a></h2>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:perform -X -DskipTests</span><br></div></code></pre></div></div>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[INFO] Caused by: org.eclipse.aether.deployment.DeploymentException: Failed to deploy artifa [...]
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="activity-log">Activity Log<a href="#activity-log" class="hash-link" aria-label="Direct link to Activity Log" title="Direct link to Activity Log" translate="no">​</a></h2>
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:clean</span><br></div><div class="token-line" style="color:#393A34"><span class= [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Dar [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">ERROR</span><span class="token [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn versions:commit</span><br></div><div class="token-line" style="color:#393A34"><span clas [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Dar [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">ERROR</span><span class="token [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">git</span><span class="token plain"> status</span><br></div><div cl [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare </span><span class="token parameter variable" style="color:#36acaa">-Dar [...]
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">Caused by: org.eclipse.aether.transfer.NoRepositoryConnectorException: Blocked mirror </span [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="dependency-on-jdk-11-during-release">Dependency on JDK-11 during release<a href="#dependency-on-jdk-11-during-release" class="hash-link" aria-label="Direct link to Dependency on JDK-11 during release" title="Direct link to Dependency on JDK-11 during release" translate="no">​</a></h3>
 <blockquote>
 <p>FIXED with local JDK11 Setup</p>
 </blockquote>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">brew install openjdk@11</span><br></span><span class="token-line" style="color:#393A34"><span class="toke [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="manual-update-of-release-version">Manual update of release-version<a href="#manual-update-of-release-version" class="hash-link" aria-label="Direct link to Manual update of release-version" title="Direct link to Manual update of release-version">​</a></h3>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">brew install openjdk@11</span><br></div><div class="token-line" style="color:#393A34"><span  [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="manual-update-of-release-version">Manual update of release-version<a href="#manual-update-of-release-version" class="hash-link" aria-label="Direct link to Manual update of release-version" title="Direct link to Manual update of release-version" translate="no">​</a></h3>
 <p>During the release procedure, do I have to set the version here in this configuration section manually?</p>
-<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">plug [...]
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">plugi [...]
 <blockquote>
 <p>It seems that these properties must be updated manually.</p>
 </blockquote>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="warning-regarding-illegal-reflective-access-operation">Warning regarding &quot;illegal reflective access operation&quot;<a href="#warning-regarding-illegal-reflective-access-operation" class="hash-link" aria-label="Direct link to Warning regarding &quot;illegal reflective access operation&quot;" title="Direct link to Warning regarding &quot;illegal reflective access operation&quot;">​</a></h3>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[ERROR] WARNING: An illegal reflective access operation has occurred</span><br></span><span class="token- [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="warning-regarding-illegal-reflective-access-operation">Warning regarding &quot;illegal reflective access operation&quot;<a href="#warning-regarding-illegal-reflective-access-operation" class="hash-link" aria-label="Direct link to Warning regarding &quot;illegal reflective access operation&quot;" title="Direct link to Warning regarding &quot;illegal reflective access operation&quot;" translate="no">​</a></h3>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[ERROR] WARNING: An illegal reflective access operation has occurred</span><br></div><div cl [...]
 <blockquote>
 <p><strong>This is still an OPEN ISSUE !</strong></p>
 </blockquote>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="rat-check-fails">RAT Check fails<a href="#rat-check-fails" class="hash-link" aria-label="Direct link to RAT Check fails" title="Direct link to RAT Check fails">​</a></h3>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[INFO] [ERROR] Failed to execute goal org.apache.rat:apache-rat-plugin:0.13:check (license-check) on proj [...]
-<div class="language-cat codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-cat codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34" [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="rat-check-fails">RAT Check fails<a href="#rat-check-fails" class="hash-link" aria-label="Direct link to RAT Check fails" title="Direct link to RAT Check fails" translate="no">​</a></h3>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[INFO] [ERROR] Failed to execute goal org.apache.rat:apache-rat-plugin:0.13:check (license-c [...]
+<div class="language-cat codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-cat codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><s [...]
 <blockquote>
 <p><em>FIXED by adding .java-versions to .gitignore</em></p>
 </blockquote>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="tag-could-not-be-created-in-scm">Tag could not be created in SCM.<a href="#tag-could-not-be-created-in-scm" class="hash-link" aria-label="Direct link to Tag could not be created in SCM." title="Direct link to Tag could not be created in SCM.">​</a></h3>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:3.0.1:prepare (default-cli)  [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="tag-could-not-be-created-in-scm">Tag could not be created in SCM.<a href="#tag-could-not-be-created-in-scm" class="hash-link" aria-label="Direct link to Tag could not be created in SCM." title="Direct link to Tag could not be created in SCM." translate="no">​</a></h3>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:3.0.1:prepare ( [...]
 <blockquote>
 <p>FIXED by manual changes in pom.xml.</p>
 </blockquote>
-<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34" [...]
-<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">conf [...]
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare -Darguments=&#x27;-DskipTests=True -Dresume=True&#x27;</span><br></span></code></pre> [...]
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn clean package</span><br></span><span class="token-line" style="color:#393A34"><span class="token plai [...]
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><s [...]
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">confi [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:prepare -Darguments=&#x27;-DskipTests=True -Dresume=True&#x27;</span><br></div>< [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn clean package</span><br></div><div class="token-line" style="color:#393A34"><span class= [...]
 <blockquote>
 <p>So far so good. But now the sun went down.</p>
 </blockquote>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[INFO] [ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:3.0.0-M1:deploy (defau [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[INFO] [ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:3.0.0-M1: [...]
 <p>The null pointer exception indicates problems in <em>settings.xml</em>. This could be fixed.
 But now, the error changes with and I am still not able to stage the build results.</p>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:perform -X -DskipTests</span><br></span></code></pre><div class="buttonGroup__atx"><button ty [...]
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[INFO] Caused by: org.eclipse.aether.deployment.DeploymentException: Failed to deploy artifacts: Could no [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="checklist-for-next-iteration">Checklist for next iteration:<a href="#checklist-for-next-iteration" class="hash-link" aria-label="Direct link to Checklist for next iteration:" title="Direct link to Checklist for next iteration:">​</a></h2>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn release:perform -X -DskipTests</span><br></div></code></pre></div></div>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">[INFO] Caused by: org.eclipse.aether.deployment.DeploymentException: Failed to deploy artifa [...]
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="checklist-for-next-iteration">Checklist for next iteration:<a href="#checklist-for-next-iteration" class="hash-link" aria-label="Direct link to Checklist for next iteration:" title="Direct link to Checklist for next iteration:" translate="no">​</a></h2>
 <p>The error you&#x27;re encountering indicates that there is a problem with deploying the artifacts using the <code>maven-deploy-plugin</code>. The root cause of the error is a <code>NullPointerException</code> during the deployment process, specifically related to the <code>org.eclipse.aether.transfer.ArtifactTransferException</code>.</p>
 <p>Here&#x27;s a step-by-step guide to troubleshoot and resolve this issue:</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="1-check-maven-settings">1. Check Maven Settings<a href="#1-check-maven-settings" class="hash-link" aria-label="Direct link to 1. Check Maven Settings" title="Direct link to 1. Check Maven Settings">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="1-check-maven-settings">1. Check Maven Settings<a href="#1-check-maven-settings" class="hash-link" aria-label="Direct link to 1. Check Maven Settings" title="Direct link to 1. Check Maven Settings" translate="no">​</a></h3>
 <p>Ensure that your Maven settings (<code>settings.xml</code>) are correctly configured for deployment. Verify that the repository settings and credentials are correctly specified.</p>
 <p><strong>[DONE]</strong></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="2-verify-repository-url">2. Verify Repository URL<a href="#2-verify-repository-url" class="hash-link" aria-label="Direct link to 2. Verify Repository URL" title="Direct link to 2. Verify Repository URL">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="2-verify-repository-url">2. Verify Repository URL<a href="#2-verify-repository-url" class="hash-link" aria-label="Direct link to 2. Verify Repository URL" title="Direct link to 2. Verify Repository URL" translate="no">​</a></h3>
 <p>Make sure the repository URL in your <code>pom.xml</code> or <code>settings.xml</code> is correct and reachable. The URL should point to the correct staging repository for deployment.</p>
 <p><em>[OPEN]</em> - I did not touch it, so I guess it is correct in the <em>pom.xml</em>.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="3-maven-version-compatibility">3. Maven Version Compatibility<a href="#3-maven-version-compatibility" class="hash-link" aria-label="Direct link to 3. Maven Version Compatibility" title="Direct link to 3. Maven Version Compatibility">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="3-maven-version-compatibility">3. Maven Version Compatibility<a href="#3-maven-version-compatibility" class="hash-link" aria-label="Direct link to 3. Maven Version Compatibility" title="Direct link to 3. Maven Version Compatibility" translate="no">​</a></h3>
 <p>Verify that you are using a compatible version of Maven. Sometimes, upgrading or downgrading Maven can resolve such issues.</p>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">Apache Maven 3.9.6 (bc0240f3c744dd6b6ec2920b3cd08dcc295161ae)</span><br></span><span class="token-line" s [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">Apache Maven 3.9.6 (bc0240f3c744dd6b6ec2920b3cd08dcc295161ae)</span><br></div><div class="to [...]
 <p><strong>[DONE]</strong></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="4-check-for-network-issues">4. Check for Network Issues<a href="#4-check-for-network-issues" class="hash-link" aria-label="Direct link to 4. Check for Network Issues" title="Direct link to 4. Check for Network Issues">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="4-check-for-network-issues">4. Check for Network Issues<a href="#4-check-for-network-issues" class="hash-link" aria-label="Direct link to 4. Check for Network Issues" title="Direct link to 4. Check for Network Issues" translate="no">​</a></h3>
 <p>Ensure there are no network issues that might be causing problems in connecting to the repository. Sometimes, network configurations, firewalls, or proxy settings can interfere with the deployment process.</p>
 <p><strong>[DONE]</strong></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="5-update-maven-plugins">5. Update Maven Plugins<a href="#5-update-maven-plugins" class="hash-link" aria-label="Direct link to 5. Update Maven Plugins" title="Direct link to 5. Update Maven Plugins">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="5-update-maven-plugins">5. Update Maven Plugins<a href="#5-update-maven-plugins" class="hash-link" aria-label="Direct link to 5. Update Maven Plugins" title="Direct link to 5. Update Maven Plugins" translate="no">​</a></h3>
 <p>Ensure that you are using the latest versions of the Maven plugins. Sometimes, bugs in older versions can cause unexpected issues.</p>
 <p><em>[OPEN]</em></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="6-configure-the-maven-deploy-plugin-in-pomxml">6. Configure the <code>maven-deploy-plugin</code> in <code>pom.xml</code><a href="#6-configure-the-maven-deploy-plugin-in-pomxml" class="hash-link" aria-label="Direct link to 6-configure-the-maven-deploy-plugin-in-pomxml" title="Direct link to 6-configure-the-maven-deploy-plugin-in-pomxml">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="6-configure-the-maven-deploy-plugin-in-pomxml">6. Configure the <code>maven-deploy-plugin</code> in <code>pom.xml</code><a href="#6-configure-the-maven-deploy-plugin-in-pomxml" class="hash-link" aria-label="Direct link to 6-configure-the-maven-deploy-plugin-in-pomxml" title="Direct link to 6-configure-the-maven-deploy-plugin-in-pomxml" translate="no">​</a></h3>
 <p>Make sure the <code>maven-deploy-plugin</code> is correctly configured in your <code>pom.xml</code>. Here&#x27;s an example configuration:</p>
-<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">plug [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="7-increase-verbose-logging">7. Increase Verbose Logging<a href="#7-increase-verbose-logging" class="hash-link" aria-label="Direct link to 7. Increase Verbose Logging" title="Direct link to 7. Increase Verbose Logging">​</a></h3>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">plugi [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="7-increase-verbose-logging">7. Increase Verbose Logging<a href="#7-increase-verbose-logging" class="hash-link" aria-label="Direct link to 7. Increase Verbose Logging" title="Direct link to 7. Increase Verbose Logging" translate="no">​</a></h3>
 <p>Enable verbose logging to get more details about the error. You can do this by adding the <code>-X</code> flag when running the Maven command:</p>
-<div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn clean deploy </span><span class="token parameter variable" style="color:#36acaa">-X</span>< [...]
+<div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn clean deploy </span><span class="token parameter variable" style="color:#36acaa">-X</span><b [...]
 <p><strong>[DONE]</strong></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="8-retry-with-a-clean-local-repository">8. Retry with a Clean Local Repository<a href="#8-retry-with-a-clean-local-repository" class="hash-link" aria-label="Direct link to 8. Retry with a Clean Local Repository" title="Direct link to 8. Retry with a Clean Local Repository">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="8-retry-with-a-clean-local-repository">8. Retry with a Clean Local Repository<a href="#8-retry-with-a-clean-local-repository" class="hash-link" aria-label="Direct link to 8. Retry with a Clean Local Repository" title="Direct link to 8. Retry with a Clean Local Repository" translate="no">​</a></h3>
 <p>Sometimes, a corrupt local repository can cause issues. Try cleaning your local Maven repository and re-running the deployment:</p>
-<div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn clean </span><span class="token function" style="color:#d73a49">install</span><span class=" [...]
+<div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn clean </span><span class="token function" style="color:#d73a49">install</span><span class="t [...]
 <p><em>[OPEN]</em> - Does not match to an authentication issue.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="9-check-for-missing-credentials">9. Check for Missing Credentials<a href="#9-check-for-missing-credentials" class="hash-link" aria-label="Direct link to 9. Check for Missing Credentials" title="Direct link to 9. Check for Missing Credentials">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="9-check-for-missing-credentials">9. Check for Missing Credentials<a href="#9-check-for-missing-credentials" class="hash-link" aria-label="Direct link to 9. Check for Missing Credentials" title="Direct link to 9. Check for Missing Credentials" translate="no">​</a></h3>
 <p>Ensure that the credentials for the repository are correctly set up in your <code>settings.xml</code>:</p>
-<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">serv [...]
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">serve [...]
 <p><strong>[DONE]</strong></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="10-review-the-full-stack-trace">10. Review the Full Stack Trace<a href="#10-review-the-full-stack-trace" class="hash-link" aria-label="Direct link to 10. Review the Full Stack Trace" title="Direct link to 10. Review the Full Stack Trace">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="10-review-the-full-stack-trace">10. Review the Full Stack Trace<a href="#10-review-the-full-stack-trace" class="hash-link" aria-label="Direct link to 10. Review the Full Stack Trace" title="Direct link to 10. Review the Full Stack Trace" translate="no">​</a></h3>
 <p>The full stack trace indicates a <code>NullPointerException</code>:</p>
-<div class="language-plaintext codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-plaintext codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">Caused by: java.lang.NullPointerException</span><br></span><span class="token-lin [...]
+<div class="language-plaintext codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-plaintext codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">Caused by: java.lang.NullPointerException</span><br></div><div class="token-line"  [...]
 <p>This suggests that there might be an issue with how credentials are being handled. Double-check that the credentials are being correctly passed and processed.</p>
-<p><strong>[DONE]</strong></p></div><footer class="row docusaurus-mt-lg blogPostFooterDetailsFull_mRVl"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/asf">ASF</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/release">release</a></li></ul></div></footer> [...]
+<p><strong>[DONE]</strong></p></div><footer class="docusaurus-mt-lg"><div class="row margin-top--sm theme-blog-footer-edit-meta-row"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/asf">ASF</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" hre [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/blog/wayang-tensorflow/index.html b/blog/wayang-tensorflow/index.html
index 3a84cc66..eab92a87 100644
--- a/blog/wayang-tensorflow/index.html
+++ b/blog/wayang-tensorflow/index.html
@@ -2,46 +2,49 @@
 <html lang="en" dir="ltr" class="blog-wrapper blog-post-page plugin-blog plugin-id-default" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
-<title data-rh="true">Integrating ML platforms in Wayang | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/blog/wayang-tensorflow"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" con [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<meta name="generator" content="Docusaurus v3.10.1">
+<title data-rh="true">Integrating ML platforms in Wayang | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/blog/wayang-tensorflow"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" con [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
 Thanks to the extensible nature of Wayang, the only core changes we had to do were introducing the concept of a <code>Model</code> and implement a new driver for the newly added platform.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="step-1-introducing-a-model">Step 1: Introducing a Model<a href="#step-1-introducing-a-model" class="hash-link" aria-label="Direct link to Step 1: Introducing a Model" title="Direct link to Step 1: Introducing a Model">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="step-1-introducing-a-model">Step 1: Introducing a Model<a href="#step-1-introducing-a-model" class="hash-link" aria-label="Direct link to Step 1: Introducing a Model" title="Direct link to Step 1: Introducing a Model" translate="no">​</a></h2>
 <p>With respect to the model, we followed Wayang’s abstraction philosophy: We created a <code>Model</code> interface to be used as input or output by Wayang operators and then extended it for the platform-specific operators. Different model interfaces can be found here:</p>
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model</a></p>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model</a></p>
 <p>A platform-specific model needs to be instantiated to be used as the output of a training operator and as input for an inference operator. You can see an example of the <code>SparkMLModel</code> here:</p>
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/model/SparkMLModel.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/model/SparkMLModel.java</a></p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="step-2-introducing-training-operators">Step 2: Introducing Training Operators<a href="#step-2-introducing-training-operators" class="hash-link" aria-label="Direct link to Step 2: Introducing Training Operators" title="Direct link to Step 2: Introducing Training Operators">​</a></h2>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/model/SparkMLModel.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/model/SparkMLModel.java</a></p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="step-2-introducing-training-operators">Step 2: Introducing Training Operators<a href="#step-2-introducing-training-operators" class="hash-link" aria-label="Direct link to Step 2: Introducing Training Operators" title="Direct link to Step 2: Introducing Training Operators" translate="no">​</a></h2>
 <p>We added the desired Wayang (platform-agnostic) training operators which are binary to unary operators, taking as input the X and y values and outputting a Model. You can find an example of a LinearRegressionOperator here:</p>
-<p><a href="https://github.com/apache/incubator-wayang/blob/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/LinearRegressionOperator.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/blob/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/LinearRegressionOperator.java</a></p>
+<p><a href="https://github.com/apache/incubator-wayang/blob/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/LinearRegressionOperator.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/blob/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/LinearRegressionOperator.java</a></p>
 <p>Platform-specific execution operators, such as SparkLinearRegressionOperator, can be easily added as any other execution operator: extending the corresponding Wayang operator and providing the mappings from the Wayang to the execution operator. See, for example, the <code>SparkLinearRegressionOperator</code>:</p>
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkLinearRegressionOperator.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkLinearRegressionOperator.java</a></p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="step-3-introducing-prediction-operators">Step 3: Introducing Prediction Operators<a href="#step-3-introducing-prediction-operators" class="hash-link" aria-label="Direct link to Step 3: Introducing Prediction Operators" title="Direct link to Step 3: Introducing Prediction Operators">​</a></h2>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkLinearRegressionOperator.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkLinearRegressionOperator.java</a></p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="step-3-introducing-prediction-operators">Step 3: Introducing Prediction Operators<a href="#step-3-introducing-prediction-operators" class="hash-link" aria-label="Direct link to Step 3: Introducing Prediction Operators" title="Direct link to Step 3: Introducing Prediction Operators" translate="no">​</a></h2>
 <p>Additionally, we created a <code>PredictOperator</code>, a BinaryToUnary Wayang (platform-agnostic) operator which takes as input the data quanta and a model and outputs the data quanta with the predictions output by the model.</p>
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/PredictOperator.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/PredictOperator.java</a></p>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/PredictOperator.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/PredictOperator.java</a></p>
 <p>Then, a concrete platform-specific operator extends from the abstract one. See the <code>SparkPredictOperator</code> for an example:</p>
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkPredictOperator.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkPredictOperator.java</a></p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="deep-learning-models">Deep Learning Models<a href="#deep-learning-models" class="hash-link" aria-label="Direct link to Deep Learning Models" title="Direct link to Deep Learning Models">​</a></h2>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkPredictOperator.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-spark/src/main/java/org/apache/wayang/spark/operators/ml/SparkPredictOperator.java</a></p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="deep-learning-models">Deep Learning Models<a href="#deep-learning-models" class="hash-link" aria-label="Direct link to Deep Learning Models" title="Direct link to Deep Learning Models" translate="no">​</a></h2>
 <p>Unlike traditional machine learning models, the definition of deep learning models is more flexible. Users can combine different blocks (e.g., fully connected blocks, convolutional blocks) to build their desired models. The whole model can be represented as a graph on which the vertices represent blocks and the edges represent connections between blocks. In this case, we built a <code>DLModel</code> class that implements the <code>Model</code> interface, which contains a user-defined, [...]
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model/DLModel.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model/DLModel.java</a></p>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model/DLModel.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/model/DLModel.java</a></p>
 <p>For training, we implemented the platform-agnostic <code>DLModelTrainingOperator</code> Wayang operator:</p>
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/DLTrainingOperator.java" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/DLTrainingOperator.java</a></p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="new-ml-platform----tensorflow-integration">New ML platform -- Tensorflow Integration<a href="#new-ml-platform----tensorflow-integration" class="hash-link" aria-label="Direct link to New ML platform -- Tensorflow Integration" title="Direct link to New ML platform -- Tensorflow Integration">​</a></h2>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/DLTrainingOperator.java" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/DLTrainingOperator.java</a></p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="new-ml-platform----tensorflow-integration">New ML platform -- Tensorflow Integration<a href="#new-ml-platform----tensorflow-integration" class="hash-link" aria-label="Direct link to New ML platform -- Tensorflow Integration" title="Direct link to New ML platform -- Tensorflow Integration" translate="no">​</a></h2>
 <p>We have added Tensorflow as a new platform by creating a new module (<code>wayang-tensorflow</code>) inside the <code>wayang-platforms</code> parent module and implementing a Tensorflow driver. The TensorflowExecutor driver is responsible for creating and destroying Tensorflow resources, such as a model graph and a model parameter context. When a training task scheduled on Tensorflow, it will be mapped to TensorflowDLModelTrainingOperator. In this process, the <code>DLModel</code> wil [...]
-<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-tensorflow/src/main/java/org/apache/wayang/tensorflow" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-tensorflow/src/main/java/org/apache/wayang/tensorflow</a></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="acknowledgement">Acknowledgement<a href="#acknowledgement" class="hash-link" aria-label="Direct link to Acknowledgement" title="Direct link to Acknowledgement">​</a></h3>
+<p><a href="https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-tensorflow/src/main/java/org/apache/wayang/tensorflow" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang/tree/main/wayang-platforms/wayang-tensorflow/src/main/java/org/apache/wayang/tensorflow</a></p>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="acknowledgement">Acknowledgement<a href="#acknowledgement" class="hash-link" aria-label="Direct link to Acknowledgement" title="Direct link to Acknowledgement" translate="no">​</a></h3>
 <p>The source code for the support of ML operators and the Tensorflow integration has been contributed by Mingxi Liu.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="follow-wayang">Follow Wayang<a href="#follow-wayang" class="hash-link" aria-label="Direct link to Follow Wayang" title="Direct link to Follow Wayang">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="follow-wayang">Follow Wayang<a href="#follow-wayang" class="hash-link" aria-label="Direct link to Follow Wayang" title="Direct link to Follow Wayang" translate="no">​</a></h3>
 <p>Apache Wayang is in incubation phase and has a potential roadmap of implementations
 coming soon (including the federated learning aspect as well as an SQL interface and a novel
 data debugging functionality). If you want to hear or join the community, consult the link
-<a href="https://wayang.apache.org/community/" target="_blank" rel="noopener noreferrer">https://wayang.apache.org/community/</a> , join the mailing lists, contribute with new ideas,
-write documentation, or fix bugs.</p></div><footer class="row docusaurus-mt-lg blogPostFooterDetailsFull_mRVl"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/ml">ML</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/tensorflow">tensorflow</a></li></ul></di [...]
+<a href="https://wayang.apache.org/community/" target="_blank" rel="noopener noreferrer" class="">https://wayang.apache.org/community/</a> , join the mailing lists, contribute with new ideas,
+write documentation, or fix bugs.</p></div><footer class="docusaurus-mt-lg"><div class="row margin-top--sm theme-blog-footer-edit-meta-row"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/ml">ML</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0 [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/blog/wayang-vs-trino/index.html b/blog/wayang-vs-trino/index.html
index ba77606b..46f28649 100644
--- a/blog/wayang-vs-trino/index.html
+++ b/blog/wayang-vs-trino/index.html
@@ -2,16 +2,19 @@
 <html lang="en" dir="ltr" class="blog-wrapper blog-post-page plugin-blog plugin-id-default" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
-<title data-rh="true">Apache Wayang vs. Presto/Trino | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/blog/wayang-vs-trino"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content=" [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<meta name="generator" content="Docusaurus v3.10.1">
+<title data-rh="true">Apache Wayang vs. Presto/Trino | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/blog/wayang-vs-trino"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content=" [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="key-distinctions">Key Distinctions<a href="#key-distinctions" class="hash-link" aria-label="Direct link to Key Distinctions" title="Direct link to Key Distinctions">​</a></h2>
-<p>Trino/Presto is a <strong>query engine</strong> for <strong>distributed SQL query processing</strong>. It is composed of a coordinator and multiple workers. The coordinator consists of a query optimizer and a scheduler, while the workers are responsible for performing the necessary query processing. Data is fetched from external systems via a Connector API, i.e., Trino/Presto supports <a href="https://trino.io/ecosystem/data-source" target="_blank" rel="noopener noreferrer">multiple d [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="key-distinctions">Key Distinctions<a href="#key-distinctions" class="hash-link" aria-label="Direct link to Key Distinctions" title="Direct link to Key Distinctions" translate="no">​</a></h2>
+<p>Trino/Presto is a <strong>query engine</strong> for <strong>distributed SQL query processing</strong>. It is composed of a coordinator and multiple workers. The coordinator consists of a query optimizer and a scheduler, while the workers are responsible for performing the necessary query processing. Data is fetched from external systems via a Connector API, i.e., Trino/Presto supports <a href="https://trino.io/ecosystem/data-source" target="_blank" rel="noopener noreferrer" class="">m [...]
 <p>In contrast, Wayang is a <strong>middleware</strong> for <strong>integrating diverse data platforms</strong>, including but not limited to query engines. This means that Wayang leverages the processing capabilities of the underlying data platforms to complete a given job, with no actual query processing taking place within Wayang itself.</p>
 <p>Below you can graphically see the difference between the two systems. Note that not all available data sources or data platforms are illustrated for simplicity reasons.</p>
 <p>Below you can see how Wayang integrates data platforms and utilizes them for any data processing required.</p>
@@ -26,25 +29,25 @@
 <p>I hope this makes it clear now. <br>
 In fact, Trino can be easily plugged to Wayang as a platform and be seamlessly integrated with other data platforms, as shown below.</p>
 <img width="75%" alt="Trino" src="/img/blog/wayang-with-trino.png">
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="what-are-the-advantages-of-using-wayang">What are the advantages of using Wayang?<a href="#what-are-the-advantages-of-using-wayang" class="hash-link" aria-label="Direct link to What are the advantages of using Wayang?" title="Direct link to What are the advantages of using Wayang?">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-are-the-advantages-of-using-wayang">What are the advantages of using Wayang?<a href="#what-are-the-advantages-of-using-wayang" class="hash-link" aria-label="Direct link to What are the advantages of using Wayang?" title="Direct link to What are the advantages of using Wayang?" translate="no">​</a></h2>
 <p>Wayang brings several benefits thanks to its integration layer:</p>
 <ul>
-<li>
+<li class="">
 <p>Seamless integration of SQL query engines with ML and other data analysis systems within a single job, eliminating the need to materialize intermediate results.</p>
 </li>
-<li>
+<li class="">
 <p>Users are freed from the task of specifying the query engines for an application if they desire. By submitting their Wayang job, the cross-platform optimizer can automatically determine the best data platform to use for improved performance or cost savings.</p>
 </li>
-<li>
+<li class="">
 <p>Wayang facilitates cross-platform data processing by utilizing multiple data platforms to execute a query for a single job, optimizing performance and cost efficiency.</p>
 </li>
-<li>
+<li class="">
 <p>Data does not have to be transferred outside their original location.</p>
 </li>
 </ul>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="conclusion">Conclusion<a href="#conclusion" class="hash-link" aria-label="Direct link to Conclusion" title="Direct link to Conclusion">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="conclusion">Conclusion<a href="#conclusion" class="hash-link" aria-label="Direct link to Conclusion" title="Direct link to Conclusion" translate="no">​</a></h2>
 <p>Trino is a distributed SQL query engine which performs all the query processing of an input SQL query in a distributed manner. Wayang, on the other hand, is a data platform integrator which can automatically determine which data platform(s) is best suited for an application.</p>
-<p>Author: <a href="https://github.com/zkaoudi" target="_blank" rel="noopener noreferrer">zkaoudi</a></p></div><footer class="row docusaurus-mt-lg blogPostFooterDetailsFull_mRVl"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/presto">presto</a></li><li class="tag_QGVx"><a class="tag_zVe [...]
+<p>Author: <a href="https://github.com/zkaoudi" target="_blank" rel="noopener noreferrer" class="">zkaoudi</a></p></div><footer class="docusaurus-mt-lg"><div class="row margin-top--sm theme-blog-footer-edit-meta-row"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/pre [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/blog/website_update/index.html b/blog/website_update/index.html
index 07715540..7c7fbcbf 100644
--- a/blog/website_update/index.html
+++ b/blog/website_update/index.html
@@ -2,44 +2,47 @@
 <html lang="en" dir="ltr" class="blog-wrapper blog-post-page plugin-blog plugin-id-default" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
-<title data-rh="true">Website updated | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/blog/website_update"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta d [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<meta name="generator" content="Docusaurus v3.10.1">
+<title data-rh="true">Website updated | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/blog/website_update"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta d [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
-<p>Author: <a href="https://github.com/2pk03" target="_blank" rel="noopener noreferrer">2pk03</a></p>
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
+<p>Author: <a href="https://github.com/2pk03" target="_blank" rel="noopener noreferrer" class="">2pk03</a></p>
 <p>We switched to a new CMS. That&#x27;s all.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="cheatsheet">Cheatsheet<a href="#cheatsheet" class="hash-link" aria-label="Direct link to Cheatsheet" title="Direct link to Cheatsheet">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="cheatsheet">Cheatsheet<a href="#cheatsheet" class="hash-link" aria-label="Direct link to Cheatsheet" title="Direct link to Cheatsheet" translate="no">​</a></h2>
 <p>List:</p>
 <ul>
-<li>Line one<!-- -->
+<li class="">Line one<!-- -->
 <ul>
-<li>Line one.one</li>
-<li>Line one.two</li>
+<li class="">Line one.one</li>
+<li class="">Line one.two</li>
 </ul>
 </li>
-<li>Line two<!-- -->
+<li class="">Line two<!-- -->
 <ul>
-<li>Line two.one</li>
-<li>Line two.two</li>
+<li class="">Line two.one</li>
+<li class="">Line two.two</li>
 </ul>
 </li>
-<li>Line three<!-- -->
+<li class="">Line three<!-- -->
 <ul>
-<li>...</li>
-<li>...</li>
+<li class="">...</li>
+<li class="">...</li>
 </ul>
 </li>
 </ul>
 <p>Another style for a list:</p>
 <ul>
-<li>Line one</li>
-<li>Line two</li>
-<li>Line three</li>
-</ul></div><footer class="row docusaurus-mt-lg blogPostFooterDetailsFull_mRVl"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li></ul></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Blog post page navigation"><a class="pagination-nav__link pagination-nav__link--prev" href="/blog/kafka-meets-wayang-1"><div class="pagination-nav__ [...]
+<li class="">Line one</li>
+<li class="">Line two</li>
+<li class="">Line three</li>
+</ul></div><footer class="docusaurus-mt-lg"><div class="row margin-top--sm theme-blog-footer-edit-meta-row"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a rel="tag" class="tag_zVej tagRegular_sFm0" href="/blog/tags/wayang">wayang</a></li></ul></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Blog post page navigation"><a class="pagination-nav__link pagination-nav__link--prev" href="/blog/kafka [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/docs/community/ai-tooling-policy/index.html b/docs/community/ai-tooling-policy/index.html
index b9436dcb..696ddf90 100644
--- a/docs/community/ai-tooling-policy/index.html
+++ b/docs/community/ai-tooling-policy/index.html
@@ -2,34 +2,37 @@
 <html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-community/ai-tooling-policy" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
-<title data-rh="true">Guidelines for AI-assisted Contributions | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/docs/community/ai-tooling-policy"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="doc [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<meta name="generator" content="Docusaurus v3.10.1">
+<title data-rh="true">Guidelines for AI-assisted Contributions | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/docs/community/ai-tooling-policy"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="doc [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
-<p>The Apache Wayang community welcomes the use of AI and generative tooling as part of the contribution process, provided contributors follow the guidelines below. These guidelines align with the <a href="https://www.apache.org/legal/generative-tooling.html" target="_blank" rel="noopener noreferrer">ASF Generative Tooling Guidance</a>.</p>
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
+<p>The Apache Wayang community welcomes the use of AI and generative tooling as part of the contribution process, provided contributors follow the guidelines below. These guidelines align with the <a href="https://www.apache.org/legal/generative-tooling.html" target="_blank" rel="noopener noreferrer" class="">ASF Generative Tooling Guidance</a>.</p>
 <ol>
-<li>
-<p><strong>Verify licensing compliance.</strong> AI-generated code may inadvertently reproduce copyrighted material. Before submitting, ensure the output does not include content that conflicts with the <a href="https://www.apache.org/licenses/LICENSE-2.0" target="_blank" rel="noopener noreferrer">Apache 2.0 License</a> or the <a href="https://www.apache.org/legal/resolved.html" target="_blank" rel="noopener noreferrer">ASF 3rd Party Licensing Policy</a>.</p>
+<li class="">
+<p><strong>Verify licensing compliance.</strong> AI-generated code may inadvertently reproduce copyrighted material. Before submitting, ensure the output does not include content that conflicts with the <a href="https://www.apache.org/licenses/LICENSE-2.0" target="_blank" rel="noopener noreferrer" class="">Apache 2.0 License</a> or the <a href="https://www.apache.org/legal/resolved.html" target="_blank" rel="noopener noreferrer" class="">ASF 3rd Party Licensing Policy</a>.</p>
 </li>
-<li>
+<li class="">
 <p><strong>Own the code. Understand what you submit</strong> If you cannot explain why the code works, do not submit it. You are accountable for bugs, security issues, and license violations in your contribution.</p>
 </li>
-<li>
+<li class="">
 <p><strong>Disclose AI tool usage in commits.</strong> When any part of a contribution was generated or significantly assisted by an AI tool, include a <code>Generated-by:</code> token in the commit message. For example:</p>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">Fix null pointer in JdbcExecutor</span><br></span><span class="token-line" style="color:#393A34"><span cl [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">Fix null pointer in JdbcExecutor</span><br></div><div class="token-line" style="color:#393A3 [...]
 </li>
-<li>
+<li class="">
 <p><strong>Keep PR discussions human.</strong> When participating in PR discussions, e.g., code review comments, questions, clarifications, and responses, the content must be written by a human, not generated by an AI tool. If an AI tool (such as GitHub Copilot) posts a comment, it must be clearly attributed as such and not presented as the contributor&#x27;s own words. This ensures that code review remains a genuine exchange between people, preserving the quality, accountability, and co [...]
 </li>
-<li>
+<li class="">
 <p><strong>Use different tools for test generation</strong>. Avoid using the same tool you used for adding functionality with adding test units. This potentially avoids cases where the code generated is just to make the test pass.</p>
 </li>
 </ol>
-<p><em>These guidelines will be updated as AI tooling and the legal landscape around it continue to evolve. Questions or suggestions can be raised on the <a href="https://wayang.apache.org/docs/community/mailinglist" target="_blank" rel="noopener noreferrer">dev mailing list</a>.</em></p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/community/resources"><div class="pagination-nav [...]
+<p><em>These guidelines will be updated as AI tooling and the legal landscape around it continue to evolve. Questions or suggestions can be raised on the <a href="https://wayang.apache.org/docs/community/mailinglist" target="_blank" rel="noopener noreferrer" class="">dev mailing list</a>.</em></p></div></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/community/resources"><div class="pagin [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/docs/community/committer/index.html b/docs/community/committer/index.html
index 292f0a7d..97bcf239 100644
--- a/docs/community/committer/index.html
+++ b/docs/community/committer/index.html
@@ -2,24 +2,27 @@
 <html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-community/committer" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
-<title data-rh="true">Becoming a committer | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/docs/community/committer"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<meta name="generator" content="Docusaurus v3.10.1">
+<title data-rh="true">Becoming a committer | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/docs/community/committer"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
 <p>The (P)PMC regularly adds new committers from the active contributors, based on their contributions to Wayang. The qualifications for new committers include:</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="sustained-contributions-to-wayang">Sustained contributions to Wayang:<a href="#sustained-contributions-to-wayang" class="hash-link" aria-label="Direct link to Sustained contributions to Wayang:" title="Direct link to Sustained contributions to Wayang:">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="sustained-contributions-to-wayang">Sustained contributions to Wayang:<a href="#sustained-contributions-to-wayang" class="hash-link" aria-label="Direct link to Sustained contributions to Wayang:" title="Direct link to Sustained contributions to Wayang:" translate="no">​</a></h3>
 <p>Committers should have a history of major contributions to Wayang. An ideal committer will have contributed broadly throughout the project, and have contributed at least one major component where they have taken an “ownership” role. An ownership role means that existing contributors feel that they should run patches for this component by this person.</p>
 <p><strong>Quality of contributions</strong>: Committers more than any other community member should submit simple, well-tested, and well-designed patches. In addition, they should show sufficient expertise to be able to review patches, including making sure they fit within Wayang&#x27;s engineering practices (testability, documentation, API stability, code style, etc). The committership is collectively responsible for the software quality and maintainability of Spark. Note that contribu [...]
 <p><strong>Community involvement</strong>: Committers should have a constructive and friendly attitude in all community interactions. They should also be active on the dev and user list and help mentor newer contributors and users. In design discussions, committers should maintain a professional and diplomatic approach, even in the face of disagreement.
 The type and level of contributions considered may vary by project area – for example, we greatly encourage contributors who want to work on mainly the documentation, or mainly on platform support for specific OSes, storage systems, etc.</p>
-<p>The (P)PMC also adds new (P)PMC members. (P)PMC members are expected to carry out (P)PMC responsibilities as described in <a href="https://www.apache.org/dev/pmc.html#policy" target="_blank" rel="noopener noreferrer">Apache Guidance</a>, including helping vote on releases, enforce Apache project trademarks, take responsibility for legal and license issues, and ensure the project follows Apache project mechanics. The PMC periodically adds committers to the PMC who have shown they under [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="review-process">Review process<a href="#review-process" class="hash-link" aria-label="Direct link to Review process" title="Direct link to Review process">​</a></h3>
+<p>The (P)PMC also adds new (P)PMC members. (P)PMC members are expected to carry out (P)PMC responsibilities as described in <a href="https://www.apache.org/dev/pmc.html#policy" target="_blank" rel="noopener noreferrer" class="">Apache Guidance</a>, including helping vote on releases, enforce Apache project trademarks, take responsibility for legal and license issues, and ensure the project follows Apache project mechanics. The PMC periodically adds committers to the PMC who have shown t [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="review-process">Review process<a href="#review-process" class="hash-link" aria-label="Direct link to Review process" title="Direct link to Review process" translate="no">​</a></h3>
 <p>All contributions should be reviewed before merging as described in Contributing to Wayang. In particular, if you are working on an area of the codebase you are unfamiliar with, look at the Git history for that code to see who reviewed patches before. You can do this using git log <code>--format=full &lt;filename&gt;</code>, by examining the “Commit” field to see who committed each patch.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="when-to-commitmerge-a-pull-request">When to commit/merge a pull request<a href="#when-to-commitmerge-a-pull-request" class="hash-link" aria-label="Direct link to When to commit/merge a pull request" title="Direct link to When to commit/merge a pull request">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="when-to-commitmerge-a-pull-request">When to commit/merge a pull request<a href="#when-to-commitmerge-a-pull-request" class="hash-link" aria-label="Direct link to When to commit/merge a pull request" title="Direct link to When to commit/merge a pull request" translate="no">​</a></h2>
 <p>PRs shall not be merged during active, on-topic discussion unless they address issues such as critical security fixes of a public vulnerability. Under extenuating circumstances, PRs may be merged during active, off-topic discussion and the discussion directed to a more appropriate venue. Time should be given prior to merging for those involved with the conversation to explain if they believe they are on-topic.</p>
 <p>Lazy consensus requires giving time for discussion to settle while understanding that people may not be working on Wayang as their full-time job and may take holidays. It is believed that by doing this, we can limit how often people feel the need to exercise their veto.</p>
 <p>All -1s with justification merit discussion. A -1 from a non-committer can be overridden only with input from multiple committers, and suitable time must be offered for any committer to raise concerns. A -1 from a committer who cannot be reached requires a consensus vote of the (P)PMC under ASF voting rules to determine the next steps within the ASF guidelines for code vetoes. The Wayang project typically uses a 72h time window to conclude votes.</p>
@@ -27,27 +30,27 @@ The type and level of contributions considered may vary by project area – for
 <p>It is the (P)PMC’s hope that vetoes continue to be infrequent, and when they occur, that all parties will take the time to build consensus prior to additional feature work.</p>
 <p>Being a committer means exercising your judgement while working in a community of people with diverse views. There is nothing wrong in getting a second (or third or fourth) opinion when you are uncertain. Thank you for your dedication to the Wayang project; it is appreciated by the developers and users of Wayang.</p>
 <p>It is hoped that these guidelines do not slow down development; rather, by removing some of the uncertainty, the goal is to make it easier for us to reach consensus. If you have ideas on how to improve these guidelines or other Wayang project operating procedures, you should reach out on the dev@ list to start the discussion.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="how-we-merge-a-pull-request">How we merge a pull request<a href="#how-we-merge-a-pull-request" class="hash-link" aria-label="Direct link to How we merge a pull request" title="Direct link to How we merge a pull request">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="how-we-merge-a-pull-request">How we merge a pull request<a href="#how-we-merge-a-pull-request" class="hash-link" aria-label="Direct link to How we merge a pull request" title="Direct link to How we merge a pull request" translate="no">​</a></h2>
 <p>Changes pushed to the master branch on Apache cannot be removed; that is, we can’t force-push to it. So please don’t add any test commits or anything like that, only real patches. We typically enforce a review from minimum two committers, who are ideally owners of submodules, like ML4ALL or JDBC. They investigate the PR, add remarks and request changes. Please be not insultet in any way, the team needs to make sure that all code committed to <code>main</code> has a igh quality and doe [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="policy-on-backporting-bug-fixes">Policy on backporting bug fixes<a href="#policy-on-backporting-bug-fixes" class="hash-link" aria-label="Direct link to Policy on backporting bug fixes" title="Direct link to Policy on backporting bug fixes">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="policy-on-backporting-bug-fixes">Policy on backporting bug fixes<a href="#policy-on-backporting-bug-fixes" class="hash-link" aria-label="Direct link to Policy on backporting bug fixes" title="Direct link to Policy on backporting bug fixes" translate="no">​</a></h3>
 <p>We go in line with pwendell (Apache Spark PMC):</p>
 <p>The trade off when backporting is you get to deliver the fix to people running older versions (great!), but you risk introducing new or even worse bugs in maintenance releases (bad!). The decision point is when you have a bug fix and it’s not clear whether it is worth backporting.</p>
 <p>I think the following facets are important to consider:</p>
 <ul>
-<li>Backports are an extremely valuable service to the community and should be considered for any bug fix.</li>
-<li>Introducing a new bug in a maintenance release must be avoided at all costs. It over time would erode confidence in our release process.</li>
-<li>Distributions or advanced users can always backport risky patches on their own, if they see fit.</li>
-<li>For me, the consequence of these is that we should backport in the following situations:</li>
+<li class="">Backports are an extremely valuable service to the community and should be considered for any bug fix.</li>
+<li class="">Introducing a new bug in a maintenance release must be avoided at all costs. It over time would erode confidence in our release process.</li>
+<li class="">Distributions or advanced users can always backport risky patches on their own, if they see fit.</li>
+<li class="">For me, the consequence of these is that we should backport in the following situations:</li>
 </ul>
 <ol>
-<li>Both the bug and the fix are well understood and isolated. Code being modified is well tested.</li>
-<li>The bug being addressed is high priority to the community.</li>
-<li>The backported fix does not vary widely from the master branch fix.</li>
-<li>We tend to avoid backports in the converse situations:</li>
+<li class="">Both the bug and the fix are well understood and isolated. Code being modified is well tested.</li>
+<li class="">The bug being addressed is high priority to the community.</li>
+<li class="">The backported fix does not vary widely from the master branch fix.</li>
+<li class="">We tend to avoid backports in the converse situations:</li>
 </ol>
 <p>The bug or fix are not well understood. For instance, it relates to interactions between complex components or third party libraries (e.g. Hadoop libraries). The code is not well tested outside of the immediate bug being fixed.
 The bug is not clearly a high priority for the community.
-The backported fix is widely different from the master branch fix.</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/community/team"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Team</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/community/contribute"><div class="pagination-nav__sublabel">Next</div><div cla [...]
+The backported fix is widely different from the master branch fix.</p></div></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/community/team"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Team</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/community/contribute"><div class="pagination-nav__sublabel">Next</div><div cla [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/docs/community/contribute/index.html b/docs/community/contribute/index.html
index 6f0bf375..c05e9c6e 100644
--- a/docs/community/contribute/index.html
+++ b/docs/community/contribute/index.html
@@ -2,256 +2,259 @@
 <html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-community/contribute" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
-<title data-rh="true">How to contribute | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/docs/community/contribute"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"> [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<meta name="generator" content="Docusaurus v3.10.1">
+<title data-rh="true">How to contribute | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/docs/community/contribute"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"> [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
 <p>Contributing to Wayang doesn’t just mean writing code. Helping new users on the mailing list, testing releases, and improving documentation are also welcome. In fact, proposing significant code changes usually requires first gaining experience and credibility within the community by helping in other ways. This is also a guide to becoming an effective contributor.</p>
 <p>So, this guide organizes contributions in order that they should probably be considered by new contributors who intend to get involved long-term. Build some track record of helping others, rather than just open pull requests.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="contributing-by-helping-other-users">Contributing by helping other users<a href="#contributing-by-helping-other-users" class="hash-link" aria-label="Direct link to Contributing by helping other users" title="Direct link to Contributing by helping other users">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="contributing-by-helping-other-users">Contributing by helping other users<a href="#contributing-by-helping-other-users" class="hash-link" aria-label="Direct link to Contributing by helping other users" title="Direct link to Contributing by helping other users" translate="no">​</a></h3>
 <p>A great way to contribute to Wayang is to help answer user questions on the user@ mailing list or on StackOverflow. There are always many new Wayang users; taking a few minutes to help answer a question is a very valuable community service.</p>
 <p>Contributors should subscribe to this list and follow it in order to keep up to date on what’s happening in Wayang. Answering questions is an excellent and visible way to help the community, which also demonstrates your expertise.</p>
-<p>See the <a href="/docs/community/mailinglist">Mailing Lists</a> guide for guidelines about how to effectively participate in discussions on the mailing list, as well as forums like StackOverflow.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="contributing-by-testing-releases">Contributing by testing releases<a href="#contributing-by-testing-releases" class="hash-link" aria-label="Direct link to Contributing by testing releases" title="Direct link to Contributing by testing releases">​</a></h3>
+<p>See the <a class="" href="/docs/community/mailinglist">Mailing Lists</a> guide for guidelines about how to effectively participate in discussions on the mailing list, as well as forums like StackOverflow.</p>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="contributing-by-testing-releases">Contributing by testing releases<a href="#contributing-by-testing-releases" class="hash-link" aria-label="Direct link to Contributing by testing releases" title="Direct link to Contributing by testing releases" translate="no">​</a></h3>
 <p>Wayang’s release process is community-oriented, and members of the community can vote on new releases on the dev@ mailing list. Wayang users are invited to subscribe to this list to receive announcements, and test their workloads on newer release and provide feedback on any performance or correctness issues found in the newer release.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="contributing-by-reviewing-changes">Contributing by reviewing changes<a href="#contributing-by-reviewing-changes" class="hash-link" aria-label="Direct link to Contributing by reviewing changes" title="Direct link to Contributing by reviewing changes">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="contributing-by-reviewing-changes">Contributing by reviewing changes<a href="#contributing-by-reviewing-changes" class="hash-link" aria-label="Direct link to Contributing by reviewing changes" title="Direct link to Contributing by reviewing changes" translate="no">​</a></h2>
 <p>Changes to Wayang source code are proposed, reviewed and committed via GitHub pull requests (described later). Anyone can view and comment on active changes here. Reviewing others’ changes is a good way to learn how the change process works and gain exposure to activity in various parts of the code. You can help by reviewing the changes and asking questions or pointing out issues – as simple as typos or small issues of style.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="contributing-documentation-changes">Contributing documentation changes<a href="#contributing-documentation-changes" class="hash-link" aria-label="Direct link to Contributing documentation changes" title="Direct link to Contributing documentation changes">​</a></h2>
-<p>To propose a change to release documentation (that is, docs that appear under <a href="/docs/guide/getting-started">Developer</a> section), fork the website repo and edit the Markdown source files in Wayang’s docs/ directory, the README file shows how to build the documentation locally to test your changes. The process to propose a doc change is otherwise the same as the process for proposing code changes below.</p>
-<p>To propose a change to the rest of the documentation (that is, docs that do <strong>not</strong> appear under <a href="/docs/guide/getting-started">Developer</a> section), similarly, edit the Markdown in the wayang-website repository and open a pull request.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="contributing-user-libraries-to-wayang">Contributing user libraries to Wayang<a href="#contributing-user-libraries-to-wayang" class="hash-link" aria-label="Direct link to Contributing user libraries to Wayang" title="Direct link to Contributing user libraries to Wayang">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="contributing-documentation-changes">Contributing documentation changes<a href="#contributing-documentation-changes" class="hash-link" aria-label="Direct link to Contributing documentation changes" title="Direct link to Contributing documentation changes" translate="no">​</a></h2>
+<p>To propose a change to release documentation (that is, docs that appear under <a class="" href="/docs/guide/getting-started">Developer</a> section), fork the website repo and edit the Markdown source files in Wayang’s docs/ directory, the README file shows how to build the documentation locally to test your changes. The process to propose a doc change is otherwise the same as the process for proposing code changes below.</p>
+<p>To propose a change to the rest of the documentation (that is, docs that do <strong>not</strong> appear under <a class="" href="/docs/guide/getting-started">Developer</a> section), similarly, edit the Markdown in the wayang-website repository and open a pull request.</p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="contributing-user-libraries-to-wayang">Contributing user libraries to Wayang<a href="#contributing-user-libraries-to-wayang" class="hash-link" aria-label="Direct link to Contributing user libraries to Wayang" title="Direct link to Contributing user libraries to Wayang" translate="no">​</a></h2>
 <p>Just as Java and Scala applications can access a huge selection of libraries and utilities, none of which are part of Java or Scala themselves, Wayang aims to support a rich ecosystem of libraries. Many new useful utilities or features belong outside of Spark rather than in the core. For example: query optimizer code and language support probably has to be a part of core Wayang, but, useful machine learning algorithms can happily exist outside of Wayang.</p>
 <p>To that end, large and independent new functionality is often rejected for inclusion in Wayang itself, but, can and should be hosted as a separate project and repository, and included in the wayang-packages.org collection.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="contributing-bug-reports">Contributing bug reports<a href="#contributing-bug-reports" class="hash-link" aria-label="Direct link to Contributing bug reports" title="Direct link to Contributing bug reports">​</a></h2>
-<p>Ideally, bug reports are accompanied by a proposed code change to fix the bug. This isn’t always possible, as those who discover a bug may not have the experience to fix it. A bug may be reported by creating a <a href="https://issues.apache.org/jira/projects/WAYANG/issues/WAYANG-16?filter=allopenissues" target="_blank" rel="noopener noreferrer">JIRA</a> or a <a href="https://github.com/apache/incubator-wayang/issues" target="_blank" rel="noopener noreferrer">GitHub Issue</a> but witho [...]
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="contributing-bug-reports">Contributing bug reports<a href="#contributing-bug-reports" class="hash-link" aria-label="Direct link to Contributing bug reports" title="Direct link to Contributing bug reports" translate="no">​</a></h2>
+<p>Ideally, bug reports are accompanied by a proposed code change to fix the bug. This isn’t always possible, as those who discover a bug may not have the experience to fix it. A bug may be reported by creating a <a href="https://issues.apache.org/jira/projects/WAYANG/issues/WAYANG-16?filter=allopenissues" target="_blank" rel="noopener noreferrer" class="">JIRA</a> or a <a href="https://github.com/apache/incubator-wayang/issues" target="_blank" rel="noopener noreferrer" class="">GitHub I [...]
 <p>Bug reports are only useful however if they include enough information to understand, isolate and ideally reproduce the bug. Simply encountering an error does not mean a bug should be reported; as below, search JIRA and search and inquire on the Wayang user / dev mailing lists first. Unreproducible bugs, or simple error reports, may be closed.</p>
 <p>It’s very helpful if the bug report has a description about how the bug was introduced, by which commit, so that reviewers can easily understand the bug. It also helps committers to decide how far the bug fix should be backported, when the pull request is merged. The pull request to fix the bug should narrow down the problem to the root cause.</p>
 <p>Performance regression is also one kind of bug. The pull request to fix a performance regression must provide a benchmark to prove the problem is indeed fixed.</p>
 <p>Note that, data correctness/data loss bugs are very serious. Make sure the corresponding bug report JIRA ticket is labeled as correctness or data-loss. If the bug report doesn’t get enough attention, please send an email to dev@, to draw more attentions.</p>
 <p>It is possible to propose new features as well. These are generally not helpful unless accompanied by detail, such as a design document and/or code change. Large new contributions should consider wayang-packages.org first (see above), or be discussed on the mailing list first. Feature requests may be rejected, or closed after a long period of inactivity.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="contributing-to-jira-maintenance">Contributing to JIRA maintenance<a href="#contributing-to-jira-maintenance" class="hash-link" aria-label="Direct link to Contributing to JIRA maintenance" title="Direct link to Contributing to JIRA maintenance">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="contributing-to-jira-maintenance">Contributing to JIRA maintenance<a href="#contributing-to-jira-maintenance" class="hash-link" aria-label="Direct link to Contributing to JIRA maintenance" title="Direct link to Contributing to JIRA maintenance" translate="no">​</a></h3>
 <p>Given the volume of issues raised in the Apache Wayang JIRA, inevitably some issues are duplicates, or become obsolete and eventually fixed otherwise, or can’t be reproduced, or could benefit from more detail, and so on. It’s useful to help identify these issues and resolve them, either by advancing the discussion or even resolving the JIRA. Most contributors are able to directly resolve JIRAs. Use judgment in determining whether you are quite confident the issue should be resolved, a [...]
 <p>When resolving JIRAs, observe a few useful conventions:</p>
 <ul>
-<li>
+<li class="">
 <p>Resolve as Fixed if there’s a change you can point to that resolved the issue</p>
 <ul>
-<li>Set Fix Version(s), if and only if the resolution is Fixed</li>
-<li>Set Assignee to the person who most contributed to the resolution, which is usually the person who opened the PR that resolved the issue.</li>
-<li>In case several people contributed, prefer to assign to the more ‘junior’, non-committer contributor</li>
+<li class="">Set Fix Version(s), if and only if the resolution is Fixed</li>
+<li class="">Set Assignee to the person who most contributed to the resolution, which is usually the person who opened the PR that resolved the issue.</li>
+<li class="">In case several people contributed, prefer to assign to the more ‘junior’, non-committer contributor</li>
 </ul>
 </li>
-<li>
+<li class="">
 <p>For issues that can’t be reproduced against master as reported, resolve as Cannot Reproduce</p>
 <ul>
-<li>Fixed is reasonable too, if it’s clear what other previous pull request resolved it. Link to it.</li>
-<li>If the issue is the same as or a subset of another issue, resolved as Duplicate</li>
-<li>Make sure to link to the JIRA it duplicates</li>
-<li>Prefer to resolve the issue that has less activity or discussion as the duplicate</li>
+<li class="">Fixed is reasonable too, if it’s clear what other previous pull request resolved it. Link to it.</li>
+<li class="">If the issue is the same as or a subset of another issue, resolved as Duplicate</li>
+<li class="">Make sure to link to the JIRA it duplicates</li>
+<li class="">Prefer to resolve the issue that has less activity or discussion as the duplicate</li>
 </ul>
 </li>
-<li>
+<li class="">
 <p>If the issue seems clearly obsolete and applies to issues or components that have changed radically since it was opened, resolve as Not a Problem</p>
 </li>
-<li>
+<li class="">
 <p>If the issue doesn’t make sense – not actionable, for example, a non-Spark issue, resolve as Invalid</p>
 </li>
-<li>
+<li class="">
 <p>If it’s a coherent issue, but there is a clear indication that there is not support or interest in acting on it, then resolve as Won’t Fix</p>
 </li>
 </ul>
 <p>Sometimes, a contributor will already have a particular new change or bug in mind. If seeking ideas, consult the list of starter tasks in JIRA, or ask the user@ mailing list.</p>
 <p>Before proceeding, contributors should evaluate if the proposed change is likely to be relevant, new and actionable:</p>
 <ol>
-<li>Is it clear that code must change? Proposing a JIRA and pull request is appropriate only when a clear problem or change has been identified. If simply having trouble using Spark, use the mailing lists first, rather than consider filing a JIRA or proposing a change. When in doubt, email user@ first about the possible change</li>
-<li>Search the user@ and dev@ mailing list archives for related discussions. Often, the problem has been discussed before, with a resolution that doesn’t require a code change, or recording what kinds of changes will not be accepted as a resolution.</li>
-<li>Search JIRA for existing issues: <a href="https://issues.apache.org/jira/browse/WAYANG" target="_blank" rel="noopener noreferrer">https://issues.apache.org/jira/browse/WAYANG</a></li>
-<li>Is the scope of the change matched to the contributor’s level of experience? Anyone is qualified to suggest a typo fix, but refactoring core scheduling logic requires much more understanding of Wayang. Some changes require building up experience first (see above).</li>
-<li>It’s worth reemphasizing that changes to the core of Wayang, or to highly complex and important modules like SQL and Catalyst, are more difficult to make correctly. They will be subjected to more scrutiny, and held to a higher standard of review than changes to less critical code.</li>
+<li class="">Is it clear that code must change? Proposing a JIRA and pull request is appropriate only when a clear problem or change has been identified. If simply having trouble using Spark, use the mailing lists first, rather than consider filing a JIRA or proposing a change. When in doubt, email user@ first about the possible change</li>
+<li class="">Search the user@ and dev@ mailing list archives for related discussions. Often, the problem has been discussed before, with a resolution that doesn’t require a code change, or recording what kinds of changes will not be accepted as a resolution.</li>
+<li class="">Search JIRA for existing issues: <a href="https://issues.apache.org/jira/browse/WAYANG" target="_blank" rel="noopener noreferrer" class="">https://issues.apache.org/jira/browse/WAYANG</a></li>
+<li class="">Is the scope of the change matched to the contributor’s level of experience? Anyone is qualified to suggest a typo fix, but refactoring core scheduling logic requires much more understanding of Wayang. Some changes require building up experience first (see above).</li>
+<li class="">It’s worth reemphasizing that changes to the core of Wayang, or to highly complex and important modules like SQL and Catalyst, are more difficult to make correctly. They will be subjected to more scrutiny, and held to a higher standard of review than changes to less critical code.</li>
 </ol>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="ml4all-and-optimizer-specific-contribution-guidelines">ML4ALL and optimizer-specific contribution guidelines<a href="#ml4all-and-optimizer-specific-contribution-guidelines" class="hash-link" aria-label="Direct link to ML4ALL and optimizer-specific contribution guidelines" title="Direct link to ML4ALL and optimizer-specific contribution guidelines">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="ml4all-and-optimizer-specific-contribution-guidelines">ML4ALL and optimizer-specific contribution guidelines<a href="#ml4all-and-optimizer-specific-contribution-guidelines" class="hash-link" aria-label="Direct link to ML4ALL and optimizer-specific contribution guidelines" title="Direct link to ML4ALL and optimizer-specific contribution guidelines" translate="no">​</a></h3>
 <p>While a rich set of algorithms is an important goal for Wayang, scaling the project requires that maintainability, consistency, and code quality come first. New algorithms should:</p>
 <ol>
-<li>Be used and accepted (academic citations and concrete use cases can help justify this)</li>
-<li>Be well documented</li>
-<li>Have APIs consistent with other algorithms in Wayang</li>
-<li>Come with a reasonable expectation of developer support</li>
-<li>Error message guidelines</li>
-<li>Exceptions thrown in Wayang should be associated with standardized and actionable error messages</li>
+<li class="">Be used and accepted (academic citations and concrete use cases can help justify this)</li>
+<li class="">Be well documented</li>
+<li class="">Have APIs consistent with other algorithms in Wayang</li>
+<li class="">Come with a reasonable expectation of developer support</li>
+<li class="">Error message guidelines</li>
+<li class="">Exceptions thrown in Wayang should be associated with standardized and actionable error messages</li>
 </ol>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="error-messages-should-answer-the-following-questions">Error messages should answer the following questions:<a href="#error-messages-should-answer-the-following-questions" class="hash-link" aria-label="Direct link to Error messages should answer the following questions:" title="Direct link to Error messages should answer the following questions:">​</a></h4>
+<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="error-messages-should-answer-the-following-questions">Error messages should answer the following questions:<a href="#error-messages-should-answer-the-following-questions" class="hash-link" aria-label="Direct link to Error messages should answer the following questions:" title="Direct link to Error messages should answer the following questions:" translate="no">​</a></h4>
 <ul>
-<li>What was the problem?</li>
-<li>Why did the problem happen?</li>
-<li>How can the problem be solved?</li>
+<li class="">What was the problem?</li>
+<li class="">Why did the problem happen?</li>
+<li class="">How can the problem be solved?</li>
 </ul>
 <p><strong>When writing error messages, you should</strong>:</p>
 <ol>
-<li>Use active voice</li>
-<li>Avoid time-based statements, such as promises of future support</li>
-<li>Use the present tense to describe the error and provide suggestions</li>
-<li>Provide concrete examples if the resolution is unclear</li>
-<li>Avoid sounding accusatory, judgmental, or insulting</li>
-<li>Be direct</li>
-<li>Do not use programming jargon in user-facing errors
+<li class="">Use active voice</li>
+<li class="">Avoid time-based statements, such as promises of future support</li>
+<li class="">Use the present tense to describe the error and provide suggestions</li>
+<li class="">Provide concrete examples if the resolution is unclear</li>
+<li class="">Avoid sounding accusatory, judgmental, or insulting</li>
+<li class="">Be direct</li>
+<li class="">Do not use programming jargon in user-facing errors
 8 See the error message guidelines for more details.</li>
 </ol>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="code-review-criteria">Code review criteria<a href="#code-review-criteria" class="hash-link" aria-label="Direct link to Code review criteria" title="Direct link to Code review criteria">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="code-review-criteria">Code review criteria<a href="#code-review-criteria" class="hash-link" aria-label="Direct link to Code review criteria" title="Direct link to Code review criteria" translate="no">​</a></h3>
 <p>Before considering how to contribute code, it’s useful to understand how code is reviewed, and why changes may be rejected. See the detailed guide for code reviewers from Google’s Engineering Practices documentation. Simply put, changes that have many or large positives, and few negative effects or risks, are much more likely to be merged, and merged quickly. Risky and less valuable changes are very unlikely to be merged, and may be rejected outright rather than receive iterations of  [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="positives">Positives<a href="#positives" class="hash-link" aria-label="Direct link to Positives" title="Direct link to Positives">​</a></h4>
+<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="positives">Positives<a href="#positives" class="hash-link" aria-label="Direct link to Positives" title="Direct link to Positives" translate="no">​</a></h4>
 <ul>
-<li>Fixes the root cause of a bug in existing functionality</li>
-<li>Adds functionality or fixes a problem needed by a large number of users</li>
-<li>Simple, targeted</li>
-<li>Maintains or improves consistency across Python, Java, Scala</li>
-<li>Easily tested; has tests</li>
-<li>Reduces complexity and lines of code</li>
-<li>Change has already been discussed and is known to committers</li>
+<li class="">Fixes the root cause of a bug in existing functionality</li>
+<li class="">Adds functionality or fixes a problem needed by a large number of users</li>
+<li class="">Simple, targeted</li>
+<li class="">Maintains or improves consistency across Python, Java, Scala</li>
+<li class="">Easily tested; has tests</li>
+<li class="">Reduces complexity and lines of code</li>
+<li class="">Change has already been discussed and is known to committers</li>
 </ul>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="negatives-risks">Negatives, risks<a href="#negatives-risks" class="hash-link" aria-label="Direct link to Negatives, risks" title="Direct link to Negatives, risks">​</a></h4>
+<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="negatives-risks">Negatives, risks<a href="#negatives-risks" class="hash-link" aria-label="Direct link to Negatives, risks" title="Direct link to Negatives, risks" translate="no">​</a></h4>
 <ul>
-<li>Band-aids a symptom of a bug only</li>
-<li>Introduces complex new functionality, especially an API that needs to be supported</li>
-<li>Adds complexity that only helps a niche use case</li>
-<li>Adds user-space functionality that does not need to be maintained in Wayang, but could be hosted externally and indexed by wayang-packages.org</li>
-<li>Changes a public API or semantics (rarely allowed)</li>
-<li>Adds large dependencies</li>
-<li>Changes versions of existing dependencies</li>
-<li>Adds a large amount of code</li>
-<li>Makes lots of modifications in one “big bang” change</li>
+<li class="">Band-aids a symptom of a bug only</li>
+<li class="">Introduces complex new functionality, especially an API that needs to be supported</li>
+<li class="">Adds complexity that only helps a niche use case</li>
+<li class="">Adds user-space functionality that does not need to be maintained in Wayang, but could be hosted externally and indexed by wayang-packages.org</li>
+<li class="">Changes a public API or semantics (rarely allowed)</li>
+<li class="">Adds large dependencies</li>
+<li class="">Changes versions of existing dependencies</li>
+<li class="">Adds a large amount of code</li>
+<li class="">Makes lots of modifications in one “big bang” change</li>
 </ul>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="contributing-code-changes">Contributing code changes<a href="#contributing-code-changes" class="hash-link" aria-label="Direct link to Contributing code changes" title="Direct link to Contributing code changes">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="contributing-code-changes">Contributing code changes<a href="#contributing-code-changes" class="hash-link" aria-label="Direct link to Contributing code changes" title="Direct link to Contributing code changes" translate="no">​</a></h3>
 <p>Please review the preceding section before proposing a code change. This section documents how to do so.</p>
 <p><strong>When you contribute code, you affirm that the contribution is your original work and that you license the work to the project under the project’s open source license. Whether or not you state this explicitly, by submitting any copyrighted material via pull request, email, or other means you agree to license the material under the project’s open source license and warrant that you have the legal authority to do so.</strong></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="cloning-the-apache-wayang-source-code">Cloning the Apache Wayang™ source code<a href="#cloning-the-apache-wayang-source-code" class="hash-link" aria-label="Direct link to Cloning the Apache Wayang™ source code" title="Direct link to Cloning the Apache Wayang™ source code">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="cloning-the-apache-wayang-source-code">Cloning the Apache Wayang™ source code<a href="#cloning-the-apache-wayang-source-code" class="hash-link" aria-label="Direct link to Cloning the Apache Wayang™ source code" title="Direct link to Cloning the Apache Wayang™ source code" translate="no">​</a></h3>
 <p>If you are interested in working with the newest under-development code or contributing to Apache Spark development, you can check out the master branch from Git:</p>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"># Master development branch</span><br></span><span class="token-line" style="color:#393A34"><span class=" [...]
-<p>Once you’ve downloaded Wayang, you can find instructions for installing and building it on the <a href="/docs/guide/installation">Compiling Apache Wayang</a> page.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="jira">JIRA<a href="#jira" class="hash-link" aria-label="Direct link to JIRA" title="Direct link to JIRA">​</a></h3>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain"># Master development branch</span><br></div><div class="token-line" style="color:#393A34"><s [...]
+<p>Once you’ve downloaded Wayang, you can find instructions for installing and building it on the <a class="" href="/docs/guide/installation">Compiling Apache Wayang</a> page.</p>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="jira">JIRA<a href="#jira" class="hash-link" aria-label="Direct link to JIRA" title="Direct link to JIRA" translate="no">​</a></h3>
 <p>Generally, Wayang uses JIRA to track logical issues, including bugs and improvements, and uses GitHub pull requests to manage the review and merge of specific code changes. That is, JIRAs are used to describe what should be fixed or changed, and high-level approaches, and pull requests describe how to implement that change in the project’s source code. For example, major design decisions are discussed in JIRA.</p>
 <ul>
-<li>Find the existing Spark JIRA that the change pertains to.<!-- -->
+<li class="">Find the existing Spark JIRA that the change pertains to.<!-- -->
 <ul>
-<li>Do not create a new JIRA if creating a change to address an existing issue in JIRA; add to the existing discussion and work instead</li>
-<li>Look for existing pull requests that are linked from the JIRA, to understand if someone is already working on the JIRA</li>
+<li class="">Do not create a new JIRA if creating a change to address an existing issue in JIRA; add to the existing discussion and work instead</li>
+<li class="">Look for existing pull requests that are linked from the JIRA, to understand if someone is already working on the JIRA</li>
 </ul>
 </li>
-<li>If the change is new, then it usually needs a new JIRA. However, trivial changes, where the what should change is virtually the same as the how it should change do not require a JIRA. Example: <code>Fix typos in Foo wayang doc</code></li>
-<li>If required, create a new JIRA:<!-- -->
+<li class="">If the change is new, then it usually needs a new JIRA. However, trivial changes, where the what should change is virtually the same as the how it should change do not require a JIRA. Example: <code>Fix typos in Foo wayang doc</code></li>
+<li class="">If required, create a new JIRA:<!-- -->
 <ul>
-<li>Provide a descriptive Title. “Update web UI” or “Problem in scheduler” is not sufficient. “Kafka Streaming support fails to handle empty queue in YARN cluster mode” is good.</li>
-<li>Write a detailed description. For bug reports, this should ideally include a short reproduction of the problem. For new features, it may include a design document.</li>
-<li>Set required fields:<!-- -->
+<li class="">Provide a descriptive Title. “Update web UI” or “Problem in scheduler” is not sufficient. “Kafka Streaming support fails to handle empty queue in YARN cluster mode” is good.</li>
+<li class="">Write a detailed description. For bug reports, this should ideally include a short reproduction of the problem. For new features, it may include a design document.</li>
+<li class="">Set required fields:<!-- -->
 <ul>
-<li>Issue Type. Generally, Bug, Improvement and New Feature are the only types used in Spark.</li>
-<li>Priority. Set to Major or below; higher priorities are generally reserved for committers to set. The main exception is correctness or data-loss issues, which can be flagged as Blockers. JIRA tends to unfortunately conflate “size” and “importance” in its Priority field values. Their meaning is roughly:<!-- -->
+<li class="">Issue Type. Generally, Bug, Improvement and New Feature are the only types used in Spark.</li>
+<li class="">Priority. Set to Major or below; higher priorities are generally reserved for committers to set. The main exception is correctness or data-loss issues, which can be flagged as Blockers. JIRA tends to unfortunately conflate “size” and “importance” in its Priority field values. Their meaning is roughly:<!-- -->
 <ul>
-<li><strong>Blocker</strong>: pointless to release without this change as the release would be unusable to a large minority of users. Correctness and data loss issues should be considered Blockers for their target versions.</li>
-<li><strong>Critical</strong>: a large minority of users are missing important functionality without this, and/or a workaround is difficult</li>
-<li><strong>Major</strong>: a small minority of users are missing important functionality without this, and there is a workaround</li>
-<li><strong>Minor</strong>: a niche use case is missing some support, but it does not affect usage or is easily worked around</li>
-<li><strong>Trivial</strong>: a nice-to-have change but unlikely to be any problem in practice otherwise</li>
+<li class=""><strong>Blocker</strong>: pointless to release without this change as the release would be unusable to a large minority of users. Correctness and data loss issues should be considered Blockers for their target versions.</li>
+<li class=""><strong>Critical</strong>: a large minority of users are missing important functionality without this, and/or a workaround is difficult</li>
+<li class=""><strong>Major</strong>: a small minority of users are missing important functionality without this, and there is a workaround</li>
+<li class=""><strong>Minor</strong>: a niche use case is missing some support, but it does not affect usage or is easily worked around</li>
+<li class=""><strong>Trivial</strong>: a nice-to-have change but unlikely to be any problem in practice otherwise</li>
 </ul>
 </li>
-<li>Component</li>
-<li>Affects Version. For Bugs, assign at least one version that is known to exhibit the problem or need the change</li>
-<li>Label. Not widely used, except for the following:<!-- -->
+<li class="">Component</li>
+<li class="">Affects Version. For Bugs, assign at least one version that is known to exhibit the problem or need the change</li>
+<li class="">Label. Not widely used, except for the following:<!-- -->
 <ul>
-<li><code>correctness</code>: a correctness issue</li>
-<li><code>data-loss</code>: a data loss issue</li>
-<li><code>release-notes</code>: the change’s effects need mention in release notes. The JIRA or pull request should include detail suitable for inclusion in release notes – see “Docs Text” below.</li>
-<li><code>starter</code>: small, simple change suitable for new contributors</li>
+<li class=""><code>correctness</code>: a correctness issue</li>
+<li class=""><code>data-loss</code>: a data loss issue</li>
+<li class=""><code>release-notes</code>: the change’s effects need mention in release notes. The JIRA or pull request should include detail suitable for inclusion in release notes – see “Docs Text” below.</li>
+<li class=""><code>starter</code>: small, simple change suitable for new contributors</li>
 </ul>
 </li>
-<li>Docs Text: For issues that require an entry in the release notes, this should contain the information that the release manager should include in Release Notes. This should include a short summary of what behavior is impacted, and detail on what behavior changed. It can be provisionally filled out when the JIRA is opened, but will likely need to be updated with final details when the issue is resolved.</li>
+<li class="">Docs Text: For issues that require an entry in the release notes, this should contain the information that the release manager should include in Release Notes. This should include a short summary of what behavior is impacted, and detail on what behavior changed. It can be provisionally filled out when the JIRA is opened, but will likely need to be updated with final details when the issue is resolved.</li>
 </ul>
 </li>
-<li>Do not set the following fields:<!-- -->
+<li class="">Do not set the following fields:<!-- -->
 <ul>
-<li><strong>Fix Version</strong> This is assigned by committers only when resolved.</li>
-<li><strong>Target Version</strong> This is assigned by committers to indicate a PR has been accepted for possible fix by the target version.</li>
+<li class=""><strong>Fix Version</strong> This is assigned by committers only when resolved.</li>
+<li class=""><strong>Target Version</strong> This is assigned by committers to indicate a PR has been accepted for possible fix by the target version.</li>
 </ul>
 </li>
-<li>Do not include a patch file; pull requests are used to propose the actual change.</li>
+<li class="">Do not include a patch file; pull requests are used to propose the actual change.</li>
 </ul>
 </li>
-<li>If the change is a large change, consider inviting discussion on the issue at dev@ first before proceeding to implement the change.</li>
+<li class="">If the change is a large change, consider inviting discussion on the issue at dev@ first before proceeding to implement the change.</li>
 </ul>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="pull-request">Pull request<a href="#pull-request" class="hash-link" aria-label="Direct link to Pull request" title="Direct link to Pull request">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="pull-request">Pull request<a href="#pull-request" class="hash-link" aria-label="Direct link to Pull request" title="Direct link to Pull request" translate="no">​</a></h3>
 <p>Before creating a pull request in Apache Wayang, it is important to check if tests can pass on your branch because our GitHub Actions workflows automatically run tests for your pull request/following commits and every run burdens the limited resources of GitHub Actions in Apache Wayang repository. Below steps will take your through the process.</p>
 <ol>
-<li>Fork the GitHub repository at <a href="https://github.com/apache/incubator-wayang" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang</a> if you haven’t already</li>
-<li>Go to “Actions” tab on your forked repository and enable “Build and test” and “Report test results” workflows</li>
-<li>Clone your fork and create a new branch</li>
-<li>Consider whether documentation or tests need to be added or updated as part of the change, and add them as needed.<!-- -->
+<li class="">Fork the GitHub repository at <a href="https://github.com/apache/incubator-wayang" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang</a> if you haven’t already</li>
+<li class="">Go to “Actions” tab on your forked repository and enable “Build and test” and “Report test results” workflows</li>
+<li class="">Clone your fork and create a new branch</li>
+<li class="">Consider whether documentation or tests need to be added or updated as part of the change, and add them as needed.<!-- -->
 <ol>
-<li>When you add tests, make sure the tests are self-descriptive.</li>
-<li>Also, you should consider writing a JIRA ID in the tests when your pull request targets to fix a specific issue. In practice, usually it is added when a JIRA type is a bug or a PR adds a couple of tests to an existing test class. See the examples below:</li>
+<li class="">When you add tests, make sure the tests are self-descriptive.</li>
+<li class="">Also, you should consider writing a JIRA ID in the tests when your pull request targets to fix a specific issue. In practice, usually it is added when a JIRA type is a bug or a PR adds a couple of tests to an existing test class. See the examples below:</li>
 </ol>
 </li>
 </ol>
-<div class="language-Java language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token annotation punctuation" style="color:#393A34">@Test</span><span class="token plain"> [...]
+<div class="language-Java language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token annotation punctuation" style="color:#393A34">@Test</span><span class="token plain">< [...]
 <ol start="5">
-<li>Consider whether benchmark results should be added or updated as part of the change, and add them as needed by Running benchmarks in your forked repository to generate benchmark results.</li>
-<li>Run all tests with in your build to verify that the code still compiles, passes tests, and passes style checks. If style checks fail, review the Code Style Guide below.</li>
-<li>Push commits to your branch. This will trigger “Build and test” and “Report test results” workflows on your forked repository and start testing and validating your changes.</li>
-<li>Open a <a href="https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests" target="_blank" rel="noopener noreferrer">pull request</a> against the master branch of apache/incubator-wayang. (Only in special cases would the PR be opened against other branches). This will trigger workflows “On pull request*” (on the Wayang repo) that will look/watch for successful workflow runs on “your” forked reposito [...]
+<li class="">Consider whether benchmark results should be added or updated as part of the change, and add them as needed by Running benchmarks in your forked repository to generate benchmark results.</li>
+<li class="">Run all tests with in your build to verify that the code still compiles, passes tests, and passes style checks. If style checks fail, review the Code Style Guide below.</li>
+<li class="">Push commits to your branch. This will trigger “Build and test” and “Report test results” workflows on your forked repository and start testing and validating your changes.</li>
+<li class="">Open a <a href="https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests" target="_blank" rel="noopener noreferrer" class="">pull request</a> against the master branch of apache/incubator-wayang. (Only in special cases would the PR be opened against other branches). This will trigger workflows “On pull request*” (on the Wayang repo) that will look/watch for successful workflow runs on “you [...]
 <ol>
-<li>The PR title should be of the form [WAYANG-xxxx][COMPONENT] Title, where WAYANG-xxxx is the relevant JIRA number, COMPONENT is one of the PR categories and Title may be the JIRA’s title or a more specific title describing the PR itself.</li>
-<li>If the pull request is still a work in progress, and so is not ready to be merged, but needs to be pushed to GitHub to facilitate review, then add [WIP] after the component.</li>
-<li>Consider identifying committers or other contributors who have worked on the code being changed. Find the file(s) in GitHub and click “Blame” to see a line-by-line annotation of who changed the code last. You can add @username in the PR description to ping them immediately.</li>
-<li>Please state that the contribution is your original work and that you license the work to the project under the project’s open source license.</li>
+<li class="">The PR title should be of the form [WAYANG-xxxx][COMPONENT] Title, where WAYANG-xxxx is the relevant JIRA number, COMPONENT is one of the PR categories and Title may be the JIRA’s title or a more specific title describing the PR itself.</li>
+<li class="">If the pull request is still a work in progress, and so is not ready to be merged, but needs to be pushed to GitHub to facilitate review, then add [WIP] after the component.</li>
+<li class="">Consider identifying committers or other contributors who have worked on the code being changed. Find the file(s) in GitHub and click “Blame” to see a line-by-line annotation of who changed the code last. You can add @username in the PR description to ping them immediately.</li>
+<li class="">Please state that the contribution is your original work and that you license the work to the project under the project’s open source license.</li>
 </ol>
 </li>
-<li>The related JIRA, if any, will be marked as “In Progress” and your pull request will automatically be linked to it. There is no need to be the Assignee of the JIRA to work on it, though you are welcome to comment that you have begun work.</li>
+<li class="">The related JIRA, if any, will be marked as “In Progress” and your pull request will automatically be linked to it. There is no need to be the Assignee of the JIRA to work on it, though you are welcome to comment that you have begun work.</li>
 </ol>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="the-review-process">The review process<a href="#the-review-process" class="hash-link" aria-label="Direct link to The review process" title="Direct link to The review process">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-review-process">The review process<a href="#the-review-process" class="hash-link" aria-label="Direct link to The review process" title="Direct link to The review process" translate="no">​</a></h3>
 <ul>
-<li>Other reviewers, including committers, may comment on the changes and suggest modifications. Changes can be added by simply pushing more commits to the same branch.</li>
-<li>Lively, polite, rapid technical debate is encouraged from everyone in the community. The outcome may be a rejection of the entire change.</li>
-<li>Keep in mind that changes to more critical parts of Spark, like its core and SQL components, will be subjected to more review, and may require more testing and proof of its correctness than other changes.</li>
-<li>Reviewers can indicate that a change looks suitable for merging with a comment such as: “I think this patch looks good”. Wayang uses the LGTM convention for indicating the strongest level of technical sign-off on a patch: simply comment with the word “LGTM”. It specifically means: “I’ve looked at this thoroughly and take as much ownership as if I wrote the patch myself”. If you comment LGTM you will be expected to help with bugs or follow-up issues on the patch. Consistent, judicious [...]
-<li>Sometimes, other changes will be merged which conflict with your pull request’s changes. The PR can’t be merged until the conflict is resolved. This can be resolved by, for example, adding a remote to keep up with upstream changes by git remote add upstream <a href="https://github.com/apache/incubator-wayang.git" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang.git</a>, running git fetch upstream followed by git rebase upstream/master and resolving [...]
-<li>Try to be responsive to the discussion rather than let days pass between replies</li>
+<li class="">Other reviewers, including committers, may comment on the changes and suggest modifications. Changes can be added by simply pushing more commits to the same branch.</li>
+<li class="">Lively, polite, rapid technical debate is encouraged from everyone in the community. The outcome may be a rejection of the entire change.</li>
+<li class="">Keep in mind that changes to more critical parts of Spark, like its core and SQL components, will be subjected to more review, and may require more testing and proof of its correctness than other changes.</li>
+<li class="">Reviewers can indicate that a change looks suitable for merging with a comment such as: “I think this patch looks good”. Wayang uses the LGTM convention for indicating the strongest level of technical sign-off on a patch: simply comment with the word “LGTM”. It specifically means: “I’ve looked at this thoroughly and take as much ownership as if I wrote the patch myself”. If you comment LGTM you will be expected to help with bugs or follow-up issues on the patch. Consistent,  [...]
+<li class="">Sometimes, other changes will be merged which conflict with your pull request’s changes. The PR can’t be merged until the conflict is resolved. This can be resolved by, for example, adding a remote to keep up with upstream changes by git remote add upstream <a href="https://github.com/apache/incubator-wayang.git" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang.git</a>, running git fetch upstream followed by git rebase upstream/ma [...]
+<li class="">Try to be responsive to the discussion rather than let days pass between replies</li>
 </ul>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="closing-your-pull-request--jira">Closing your pull request / JIRA<a href="#closing-your-pull-request--jira" class="hash-link" aria-label="Direct link to Closing your pull request / JIRA" title="Direct link to Closing your pull request / JIRA">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="closing-your-pull-request--jira">Closing your pull request / JIRA<a href="#closing-your-pull-request--jira" class="hash-link" aria-label="Direct link to Closing your pull request / JIRA" title="Direct link to Closing your pull request / JIRA" translate="no">​</a></h3>
 <ul>
-<li>If a change is accepted, it will be merged and the pull request will automatically be closed, along with the associated JIRA if any<!-- -->
+<li class="">If a change is accepted, it will be merged and the pull request will automatically be closed, along with the associated JIRA if any<!-- -->
 <ul>
-<li>Note that in the rare case you are asked to open a pull request against a branch besides master, that you will actually have to close the pull request manually</li>
-<li>The JIRA will be Assigned to the primary contributor to the change as a way of giving credit. If the JIRA isn’t closed and/or Assigned promptly, comment on the JIRA.</li>
+<li class="">Note that in the rare case you are asked to open a pull request against a branch besides master, that you will actually have to close the pull request manually</li>
+<li class="">The JIRA will be Assigned to the primary contributor to the change as a way of giving credit. If the JIRA isn’t closed and/or Assigned promptly, comment on the JIRA.</li>
 </ul>
 </li>
-<li>If your pull request is ultimately rejected, please close it promptly<!-- -->
+<li class="">If your pull request is ultimately rejected, please close it promptly<!-- -->
 <ul>
-<li>… because committers can’t close PRs directly</li>
-<li>Pull requests will be automatically closed by an automated process at Apache after about a week if a committer has made a comment like “mind closing this PR?” This means that the committer is specifically requesting that it be closed.</li>
+<li class="">… because committers can’t close PRs directly</li>
+<li class="">Pull requests will be automatically closed by an automated process at Apache after about a week if a committer has made a comment like “mind closing this PR?” This means that the committer is specifically requesting that it be closed.</li>
 </ul>
 </li>
-<li>If a pull request has gotten little or no attention, consider improving the description or the change itself and ping likely reviewers again after a few days. Consider proposing a change that’s easier to include, like a smaller and/or less invasive change.</li>
-<li>If it has been reviewed but not taken up after weeks, after soliciting review from the most relevant reviewers, or, has met with neutral reactions, the outcome may be considered a “soft no”. It is helpful to withdraw and close the PR in this case.</li>
-<li>If a pull request is closed because it is deemed not the right approach to resolve a JIRA, then leave the JIRA open. However if the review makes it clear that the issue identified in the JIRA is not going to be resolved by any pull request (not a problem, won’t fix) then also resolve the JIRA.</li>
+<li class="">If a pull request has gotten little or no attention, consider improving the description or the change itself and ping likely reviewers again after a few days. Consider proposing a change that’s easier to include, like a smaller and/or less invasive change.</li>
+<li class="">If it has been reviewed but not taken up after weeks, after soliciting review from the most relevant reviewers, or, has met with neutral reactions, the outcome may be considered a “soft no”. It is helpful to withdraw and close the PR in this case.</li>
+<li class="">If a pull request is closed because it is deemed not the right approach to resolve a JIRA, then leave the JIRA open. However if the review makes it clear that the issue identified in the JIRA is not going to be resolved by any pull request (not a problem, won’t fix) then also resolve the JIRA.</li>
 </ul>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="code-style-guide">Code style guide<a href="#code-style-guide" class="hash-link" aria-label="Direct link to Code style guide" title="Direct link to Code style guide">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="code-style-guide">Code style guide<a href="#code-style-guide" class="hash-link" aria-label="Direct link to Code style guide" title="Direct link to Code style guide" translate="no">​</a></h2>
 <p>Please follow the style of the existing codebase.</p>
 <ul>
-<li>For Python code, Apache Wayang follows <a href="http://legacy.python.org/dev/peps/pep-0008/" target="_blank" rel="noopener noreferrer">PEP 8</a> with one exception: lines can be up to 100 characters in length, not 79.</li>
-<li>For R code, Apache Wayang follows <a href="https://google.github.io/styleguide/Rguide.xml" target="_blank" rel="noopener noreferrer">Google’s R Style Guide</a> with three exceptions: lines can be up to 100 characters in length, not 80, there is no limit on function name but it has a initial lower case latter and S4 objects/methods are allowed.</li>
-<li>For Java code, Apache Wayang follows <a href="http://www.oracle.com/technetwork/java/codeconvtoc-136057.html" target="_blank" rel="noopener noreferrer">Oracle’s Java code conventions</a> and Scala guidelines below. The latter is preferred.</li>
-<li>For Scala code, Apache Wayang follows the official <a href="http://docs.scala-lang.org/style/" target="_blank" rel="noopener noreferrer">Scala style guide</a>.</li>
+<li class="">For Python code, Apache Wayang follows <a href="http://legacy.python.org/dev/peps/pep-0008/" target="_blank" rel="noopener noreferrer" class="">PEP 8</a> with one exception: lines can be up to 100 characters in length, not 79.</li>
+<li class="">For R code, Apache Wayang follows <a href="https://google.github.io/styleguide/Rguide.xml" target="_blank" rel="noopener noreferrer" class="">Google’s R Style Guide</a> with three exceptions: lines can be up to 100 characters in length, not 80, there is no limit on function name but it has a initial lower case latter and S4 objects/methods are allowed.</li>
+<li class="">For Java code, Apache Wayang follows <a href="http://www.oracle.com/technetwork/java/codeconvtoc-136057.html" target="_blank" rel="noopener noreferrer" class="">Oracle’s Java code conventions</a> and Scala guidelines below. The latter is preferred.</li>
+<li class="">For Scala code, Apache Wayang follows the official <a href="http://docs.scala-lang.org/style/" target="_blank" rel="noopener noreferrer" class="">Scala style guide</a>.</li>
 </ul>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="if-in-doubt">If in doubt<a href="#if-in-doubt" class="hash-link" aria-label="Direct link to If in doubt" title="Direct link to If in doubt">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="if-in-doubt">If in doubt<a href="#if-in-doubt" class="hash-link" aria-label="Direct link to If in doubt" title="Direct link to If in doubt" translate="no">​</a></h3>
 <p>If you’re not sure about the right style for something, try to follow the style of the existing codebase. Look at whether there are other examples in the code that use your feature. Feel free to ask on the dev@ list as well and/or ask committers.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="code-of-conduct">Code of conduct<a href="#code-of-conduct" class="hash-link" aria-label="Direct link to Code of conduct" title="Direct link to Code of conduct">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="code-of-conduct">Code of conduct<a href="#code-of-conduct" class="hash-link" aria-label="Direct link to Code of conduct" title="Direct link to Code of conduct" translate="no">​</a></h2>
 <p>The Apache Wayang project follows the Apache Software Foundation Code of Conduct. The code of conduct applies to all spaces managed by the Apache Software Foundation, including IRC, all public and private mailing lists, issue trackers, wikis, blogs, Twitter, and any other communication channel used by our communities. A code of conduct which is specific to in-person events (ie., conferences) is codified in the published ASF anti-harassment policy.</p>
 <p>We expect this code of conduct to be honored by everyone who participates in the Apache community formally or informally, or claims any affiliation with the Foundation, in any Foundation-related activities and especially when representing the ASF, in any role.</p>
 <p>This code is not exhaustive or complete. It serves to distill our common understanding of a collaborative, shared environment and goals. We expect it to be followed in spirit as much as in the letter, so that it can enrich all of us and the technical communities in which we participate.</p>
 <p>For more information and specific guidelines, refer to the Apache Software Foundation Code of Conduct.</p>
-<p>This guide was originally released by <a href="https://spark.apache.org/contributing.html" target="_blank" rel="noopener noreferrer">Apache Spark</a>, the Apache Wayang project adapted the guide.</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/community/committer"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Becoming a committer</div> [...]
+<p>This guide was originally released by <a href="https://spark.apache.org/contributing.html" target="_blank" rel="noopener noreferrer" class="">Apache Spark</a>, the Apache Wayang project adapted the guide.</p></div></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/community/committer"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Becoming a commit [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/docs/community/mailinglist/index.html b/docs/community/mailinglist/index.html
index c9243cc2..622e996c 100644
--- a/docs/community/mailinglist/index.html
+++ b/docs/community/mailinglist/index.html
@@ -2,45 +2,48 @@
 <html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-community/mailinglist" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
-<title data-rh="true">Mailinglists | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/docs/community/mailinglist"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><met [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<meta name="generator" content="Docusaurus v3.10.1">
+<title data-rh="true">Mailinglists | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/docs/community/mailinglist"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><met [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
-<h1>Mailing List</h1>
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
+<header><h1>Mailing List</h1></header>
 <p>Mailing list is where we discuss in public and keep everything tracked. You are welcomed to subscribe it if you wish:</p>
 <ul>
-<li>To be informed about bug reports or feature requests.</li>
-<li>To discuss developing plans or specific issues.</li>
-<li>To offer helps to those who ask questions by email.</li>
-<li>Give us ideas to make Wayang better for you and all the community.</li>
+<li class="">To be informed about bug reports or feature requests.</li>
+<li class="">To discuss developing plans or specific issues.</li>
+<li class="">To offer helps to those who ask questions by email.</li>
+<li class="">Give us ideas to make Wayang better for you and all the community.</li>
 </ul>
 <p>The emails where you can get subscribe are:</p>
 <ul>
-<li><a href="mailto:dev@wayang.apache.org" target="_blank" rel="noopener noreferrer">dev@wayang.apache.org</a> holds other general discussions.</li>
-<li><a href="mailto:commits@wayang.apache.org" target="_blank" rel="noopener noreferrer">commits@wayang.apache.org </a>focuses on the commit logs.</li>
+<li class=""><a href="mailto:dev@wayang.apache.org" target="_blank" rel="noopener noreferrer" class="">dev@wayang.apache.org</a> holds other general discussions.</li>
+<li class=""><a href="mailto:commits@wayang.apache.org" target="_blank" rel="noopener noreferrer" class="">commits@wayang.apache.org </a>focuses on the commit logs.</li>
 </ul>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="how-to-subscribe-to-a-mailing-list">How to subscribe to a mailing list<a href="#how-to-subscribe-to-a-mailing-list" class="hash-link" aria-label="Direct link to How to subscribe to a mailing list" title="Direct link to How to subscribe to a mailing list">​</a></h2>
-<p>Send an email without any contents or subject to <a href="mailto:LISTNAME-subscribe@wayang.apache.org" target="_blank" rel="noopener noreferrer">LISTNAME-subscribe@wayang.apache.org</a>. (replace LISTNAME with dev, commits, ..)
-Wait till you receive an email with the subject “confirm subscribe to <a href="mailto:LISTNAME@wayang.apache.org" target="_blank" rel="noopener noreferrer">LISTNAME@wayang.apache.org</a>”. Reply to that email, without editing the subject or including any contents
-Wait till you receive an email with the subject “WELCOME to <a href="mailto:LISTNAME@wayang.apache.org" target="_blank" rel="noopener noreferrer">LISTNAME@wayang.apache.org</a>”.</p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="how-to-subscribe-to-a-mailing-list">How to subscribe to a mailing list<a href="#how-to-subscribe-to-a-mailing-list" class="hash-link" aria-label="Direct link to How to subscribe to a mailing list" title="Direct link to How to subscribe to a mailing list" translate="no">​</a></h2>
+<p>Send an email without any contents or subject to <a href="mailto:LISTNAME-subscribe@wayang.apache.org" target="_blank" rel="noopener noreferrer" class="">LISTNAME-subscribe@wayang.apache.org</a>. (replace LISTNAME with dev, commits, ..)
+Wait till you receive an email with the subject “confirm subscribe to <a href="mailto:LISTNAME@wayang.apache.org" target="_blank" rel="noopener noreferrer" class="">LISTNAME@wayang.apache.org</a>”. Reply to that email, without editing the subject or including any contents
+Wait till you receive an email with the subject “WELCOME to <a href="mailto:LISTNAME@wayang.apache.org" target="_blank" rel="noopener noreferrer" class="">LISTNAME@wayang.apache.org</a>”.</p>
 <p>If you send us an email with a code snippet, make sure that:</p>
 <ul>
-<li>you do not link to files in external services as such files can change, get deleted, or the link might break and thus make an archived email thread useless</li>
-<li>you paste text instead of screenshots of text</li>
-<li>you keep formatting when pasting code in order to keep the code readable</li>
-<li>there are enough import statements to avoid ambiguities</li>
-<li>if you are using some platform, please specify the version</li>
+<li class="">you do not link to files in external services as such files can change, get deleted, or the link might break and thus make an archived email thread useless</li>
+<li class="">you paste text instead of screenshots of text</li>
+<li class="">you keep formatting when pasting code in order to keep the code readable</li>
+<li class="">there are enough import statements to avoid ambiguities</li>
+<li class="">if you are using some platform, please specify the version</li>
 </ul>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="watch-the-email-without-subscribe">Watch the email without subscribe<a href="#watch-the-email-without-subscribe" class="hash-link" aria-label="Direct link to Watch the email without subscribe" title="Direct link to Watch the email without subscribe">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="watch-the-email-without-subscribe">Watch the email without subscribe<a href="#watch-the-email-without-subscribe" class="hash-link" aria-label="Direct link to Watch the email without subscribe" title="Direct link to Watch the email without subscribe" translate="no">​</a></h2>
 <p>These two channels are public mailing list, and you can get access to them on Website without subscribing.</p>
 <ul>
-<li><a href="https://lists.apache.org/list.html?commits@wayang.apache.org" target="_blank" rel="noopener noreferrer">Emails of commits@wayang.apache.org</a></li>
-<li><a href="https://lists.apache.org/list.html?dev@wayang.apache.org" target="_blank" rel="noopener noreferrer">Emails of dev@wayang.apache.org</a></li>
-</ul></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--next" href="/docs/community/repositories"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Repositories</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#how-to-subscri [...]
+<li class=""><a href="https://lists.apache.org/list.html?commits@wayang.apache.org" target="_blank" rel="noopener noreferrer" class="">Emails of commits@wayang.apache.org</a></li>
+<li class=""><a href="https://lists.apache.org/list.html?dev@wayang.apache.org" target="_blank" rel="noopener noreferrer" class="">Emails of dev@wayang.apache.org</a></li>
+</ul></div></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--next" href="/docs/community/repositories"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Repositories</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#how-to-subscri [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/docs/community/maturity/index.html b/docs/community/maturity/index.html
index b2f8ae90..32736bc2 100644
--- a/docs/community/maturity/index.html
+++ b/docs/community/maturity/index.html
@@ -2,14 +2,17 @@
 <html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-community/maturity" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
-<title data-rh="true">Maturity Model | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/docs/community/maturity"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<meta name="generator" content="Docusaurus v3.10.1">
+<title data-rh="true">Maturity Model | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/docs/community/maturity"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/docs/community/release/index.html b/docs/community/release/index.html
index dddcbe05..9ba48ffb 100644
--- a/docs/community/release/index.html
+++ b/docs/community/release/index.html
@@ -2,81 +2,84 @@
 <html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-community/release" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
-<title data-rh="true">How to make a release | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/docs/community/release"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en" [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<meta name="generator" content="Docusaurus v3.10.1">
+<title data-rh="true">How to make a release | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/docs/community/release"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en" [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
-<p><strong>Disclaimer</strong>: Steps were taken mostly from <a href="https://plc4x.apache.org/plc4x/latest/developers/release/release.html" target="_blank" rel="noopener noreferrer">here</a> and thus sentences may have been copied.</p>
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
+<p><strong>Disclaimer</strong>: Steps were taken mostly from <a href="https://plc4x.apache.org/plc4x/latest/developers/release/release.html" target="_blank" rel="noopener noreferrer" class="">here</a> and thus sentences may have been copied.</p>
 <p><strong>NOTE</strong>: The repository <strong>must be in a snapshot version</strong>.  Ideally in a number for the next release. For instance, 1.1.1-SNAPSHOT means that the next release number should be 1.1.1.</p>
 <p>The process in general is as follows. The release manager creates the right artifacts (source files) using maven commands. This forms a release candidate. Then the release candidate, which should be uploaded in the &quot;development directory&quot; of the apache svn server, goes for voting in the dev list. It needs 3 or more positive binding votes (PMC members count as binding votes). Once accepted, the release can actually happen, where the artifacts are uploaded to the &quot;release [...]
 <p><strong>If any Maven step should fail</strong>:
 Please note that <code>mvn release</code> commands eagerly commit directly to your working branch, if your command fails you may have to revert the last commit.</p>
 <ol>
-<li>
+<li class="">
 <p>Clone the repo or pull latest changes:
 <code>git pull</code></p>
 </li>
-<li>
+<li class="">
 <p>Create release branch:</p>
 </li>
 </ol>
 <ul>
-<li>(This step is only neccessary if you don&#x27;t have write access to main branch)
+<li class="">(This step is only neccessary if you don&#x27;t have write access to main branch)
 <code>git checkout -b release-prep</code></li>
-<li><code>mvn release:branch -DbranchName=rel/1.0.0-rc5</code></li>
+<li class=""><code>mvn release:branch -DbranchName=rel/1.0.0-rc5</code></li>
 </ul>
 <ol start="3">
-<li>
+<li class="">
 <p>Switch to branch:
 <code>git checkout rel/1.0.0-rc5</code></p>
 </li>
-<li>
+<li class="">
 <p>Set upstream of branch:
 <code>git push -u &lt;remote_name&gt; &lt;branch_name&gt;</code>
-If you&#x27;ve previously used git clone on <a href="https://github.com/apache/wayang/" target="_blank" rel="noopener noreferrer">https://github.com/apache/wayang/</a> remote name should be origin.</p>
+If you&#x27;ve previously used git clone on <a href="https://github.com/apache/wayang/" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/wayang/</a> remote name should be origin.</p>
 </li>
-<li>
+<li class="">
 <p>Update RELEASE_NOTES and check NOTICE to have the correct year</p>
 </li>
-<li>
+<li class="">
 <p>Check if everything is working:
 <code>mvn clean install</code></p>
 </li>
-<li>
+<li class="">
 <p>Run <code>mvn release:clean</code></p>
 </li>
-<li>
+<li class="">
 <p>Modify the tag in the root pom.xml file to contain the right version with the rc number:
 <code> &lt;tag&gt;v1.0.0-rc5&lt;/tag&gt;</code> (2 places in the file)</p>
 </li>
 </ol>
 <p>Now depending if it&#x27;s the first time you do a release continue with the following steps, otherwise jump to step <strong>16</strong>.
 The following steps ensure you can sign the release with your Apache credentials.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="first-time-release">First time release<a href="#first-time-release" class="hash-link" aria-label="Direct link to First time release" title="Direct link to First time release">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="first-time-release">First time release<a href="#first-time-release" class="hash-link" aria-label="Direct link to First time release" title="Direct link to First time release" translate="no">​</a></h3>
 <p>=============================================</p>
 <ol start="10">
-<li>Add your Apache credentials in ~.m2/settings.xml</li>
+<li class="">Add your Apache credentials in ~.m2/settings.xml</li>
 </ol>
 <p>If you don’t have this directory or file, you should create a .m2 directory in your user home and inside that create a settings.xml file with at least this content:</p>
-<div class="language-javascript codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-javascript codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token operator" style="color:#393A34">&lt;</span><span class="token operator" style="color:# [...]
-<p>The following is about key management. Details are described <a href="https://pulsar.apache.org/contribute/create-gpg-keys/" target="_blank" rel="noopener noreferrer">here</a></p>
+<div class="language-javascript codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-javascript codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token operator" style="color:#393A34">&lt;</span><span class="token operator" style="color:#3 [...]
+<p>The following is about key management. Details are described <a href="https://pulsar.apache.org/contribute/create-gpg-keys/" target="_blank" rel="noopener noreferrer" class="">here</a></p>
 <ol start="11">
-<li>You need to generate a key with GnuPG</li>
+<li class="">You need to generate a key with GnuPG</li>
 </ol>
 <ul>
-<li>Install GnuPG (e.g., <code>brew install gnupg</code>)</li>
-<li>Run: <code>gpg --full-generate-key</code></li>
-<li>Export the public key: gpg --export --armor mygpgpublickey</li>
+<li class="">Install GnuPG (e.g., <code>brew install gnupg</code>)</li>
+<li class="">Run: <code>gpg --full-generate-key</code></li>
+<li class="">Export the public key: gpg --export --armor mygpgpublickey</li>
 </ul>
 <ol start="12">
-<li>
+<li class="">
 <p>Install pinentry (e.g., brew install pinentry-mac) so that you can be promted to enter your credentials via command line</p>
 </li>
-<li>
+<li class="">
 <p>Configuration</p>
 <p>A. Make Apache the default key:
 <code>APACHEID=your_asf_id</code></p>
@@ -85,23 +88,23 @@ The following steps ensure you can sign the release with your Apache credentials
 <p>B. <code>export GPG_TTY=$(tty)</code></p>
 <p><code>echo $GPG_TTY</code></p>
 <p>C. Configure gnupg to use standard DNS resolution</p>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"># resolves common &quot;gpg: keyserver receive failed: Network is unreachable&quot; and</span><br></span> [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain"># resolves common &quot;gpg: keyserver receive failed: Network is unreachable&quot; and</spa [...]
 <p>D. Set configuration to use SHA512 keys by default:</p>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">cat &lt;&lt;EOL &gt;&gt; ~/.gnupg/gpg.conf</span><br></span><span class="token-line" style="color:#393A34 [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">cat &lt;&lt;EOL &gt;&gt; ~/.gnupg/gpg.conf</span><br></div><div class="token-line" style="co [...]
 </li>
-<li>
+<li class="">
 <p>Upload the key to one of the key servers</p>
 <p><code>gpg --keyserver keyserver.ubuntu.com --send-key $KEY_ID</code></p>
 <p><code>gpg --keyserver keys.openpgp.org --send-key $KEY_ID</code></p>
 <p><code>gpg --keyserver pgp.mit.edu --send-key $KEY_ID</code></p>
 </li>
-<li>
-<p>Make sure your public key is appended in the KEYS file found in the release server <a href="https://dist.apache.org/repos/dist/release/wayang/" target="_blank" rel="noopener noreferrer">here</a></p>
+<li class="">
+<p>Make sure your public key is appended in the KEYS file found in the release server <a href="https://dist.apache.org/repos/dist/release/wayang/" target="_blank" rel="noopener noreferrer" class="">here</a></p>
 </li>
 </ol>
 <p>=============================================</p>
 <ol start="16">
-<li>Run <code>mvn release:prepare</code> (you can skip tests with -Darguments=&#x27;-DskipTests=True, if you have done this before)</li>
+<li class="">Run <code>mvn release:prepare</code> (you can skip tests with -Darguments=&#x27;-DskipTests=True, if you have done this before)</li>
 </ol>
 <p>If prompted:
 <code>What is the SCM release tag or label for &quot;Apache Wayang&quot;? (wayang) v1.0.1-SNAPSHOT: : wayang</code>
@@ -110,53 +113,53 @@ Add wayag-1.0.0</p>
 <code>What is the new development version for &quot;Apache Wayang&quot;? (wayang) 1.0.1-SNAPSHOT: :</code>
 Add the new development version <em>with SNAPSHOT</em>: eg., 1.0.1-SNAPSHOT</p>
 <ol start="17">
-<li>
+<li class="">
 <p>Run <code>mvn clean release:perform</code> (This step will ask for your apache credentials, if everything related to the keys is configured properly.)</p>
 </li>
-<li>
-<p>Go to: <a href="https://repository.apache.org" target="_blank" rel="noopener noreferrer">https://repository.apache.org</a>, login, go to Staging Repositories and find the <code>orgapachewayang-{somenumber}</code> and close it with description &quot;Apache Wayang 1.0.0-rc5&quot;</p>
+<li class="">
+<p>Go to: <a href="https://repository.apache.org" target="_blank" rel="noopener noreferrer" class="">https://repository.apache.org</a>, login, go to Staging Repositories and find the <code>orgapachewayang-{somenumber}</code> and close it with description &quot;Apache Wayang 1.0.0-rc5&quot;</p>
 </li>
-<li>
+<li class="">
 <p>Make a directory structure as described below and copy the corresponding source files from the directory target/checkout/target. The structure should be:</p>
 </li>
 </ol>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">./KEYS</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">./1.0.0/ [...]
-<p>Make sure the KEYS file contains your public key. The KEYS file can be found in <a href="https://dist.apache.org/repos/dist/release/wayang/" target="_blank" rel="noopener noreferrer">https://dist.apache.org/repos/dist/release/wayang/</a></p>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">./KEYS</span><br></div><div class="token-line" style="color:#393A34"><span class="token plai [...]
+<p>Make sure the KEYS file contains your public key. The KEYS file can be found in <a href="https://dist.apache.org/repos/dist/release/wayang/" target="_blank" rel="noopener noreferrer" class="">https://dist.apache.org/repos/dist/release/wayang/</a></p>
 <ol start="20">
-<li>
+<li class="">
 <p><code>cd 1.0.0</code></p>
 <p><code>svn import rc5 https://dist.apache.org/repos/dist/dev/wayang/1.0.0/rc5 -m &quot;Staging of rc5 of Wayang 1.0.0&quot;</code></p>
 </li>
-<li>
+<li class="">
 <p>Send the voting email to the dev list.</p>
 </li>
-<li>
+<li class="">
 <p>If the voting passes, the staged artifacts can be released. This is done by moving them inside the Apache SVN:</p>
 <p><code>svn move -m &quot;Release of Apache Wayang 1.0.0&quot; https://dist.apache.org/repos/dist/dev/wayang/1.0.0/rc5 https://dist.apache.org/repos/dist/release/wayang/1.0.0</code></p>
 </li>
-<li>
-<p>Then release the maven artifacts: In order to do this, the release manager logs into Nexus at <a href="https://repository.apache.org/" target="_blank" rel="noopener noreferrer">https://repository.apache.org/</a>, selects the staging repository and clicks on the Release button.</p>
+<li class="">
+<p>Then release the maven artifacts: In order to do this, the release manager logs into Nexus at <a href="https://repository.apache.org/" target="_blank" rel="noopener noreferrer" class="">https://repository.apache.org/</a>, selects the staging repository and clicks on the Release button.</p>
 </li>
-<li>
+<li class="">
 <p>Bring all changes of the release branch to the main.</p>
 </li>
-<li>
+<li class="">
 <p>You can also remove 1.0.0 from the dev directory of the svn now that the release is out.</p>
 </li>
-<li>
+<li class="">
 <p>Create and upload the javadocs:<br>
 <!-- -->Go to the source code directory and run <code>mvn compile javadoc:javadoc javadoc:aggregate</code><br>
 <!-- -->The javadocs can then be found in the <code>target</code> directory<br>
-<!-- -->Upload the javadocs in the website: <a href="https://github.com/apache/wayang-website/tree/main/static/docs/api/javadocs" target="_blank" rel="noopener noreferrer">https://github.com/apache/wayang-website/tree/main/static/docs/api/javadocs</a></p>
+<!-- -->Upload the javadocs in the website: <a href="https://github.com/apache/wayang-website/tree/main/static/docs/api/javadocs" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/wayang-website/tree/main/static/docs/api/javadocs</a></p>
 </li>
-<li>
-<p>Update the download page with the new release <a href="https://wayang.apache.org/docs/start/download" target="_blank" rel="noopener noreferrer">https://wayang.apache.org/docs/start/download</a></p>
+<li class="">
+<p>Update the download page with the new release <a href="https://wayang.apache.org/docs/start/download" target="_blank" rel="noopener noreferrer" class="">https://wayang.apache.org/docs/start/download</a></p>
 </li>
-<li>
+<li class="">
 <p>After waiting at least 24 hours to make sure the release is on the servers, announce the release to the world:</p>
 </li>
 </ol>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">From:</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">your apac [...]
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">From:</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/docs/community/repositories/index.html b/docs/community/repositories/index.html
index 26e5aef2..543b1cfe 100644
--- a/docs/community/repositories/index.html
+++ b/docs/community/repositories/index.html
@@ -2,23 +2,26 @@
 <html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-community/repositories" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
-<title data-rh="true">Repositories | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/docs/community/repositories"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><me [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<meta name="generator" content="Docusaurus v3.10.1">
+<title data-rh="true">Repositories | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/docs/community/repositories"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><me [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="source-code">Source Code<a href="#source-code" class="hash-link" aria-label="Direct link to Source Code" title="Direct link to Source Code">​</a></h3>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="apache-wayang">Apache Wayang<a href="#apache-wayang" class="hash-link" aria-label="Direct link to Apache Wayang" title="Direct link to Apache Wayang">​</a></h4>
-<p>ASF repository : <a href="https://gitbox.apache.org/repos/asf/incubator-wayang.git" target="_blank" rel="noopener noreferrer">https://gitbox.apache.org/repos/asf/incubator-wayang.git</a><br>
-GitHub mirror : <a href="https://github.com/apache/incubator-wayang.git" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang.git</a></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="wayang-web-page-repository">Wayang Web Page Repository<a href="#wayang-web-page-repository" class="hash-link" aria-label="Direct link to Wayang Web Page Repository" title="Direct link to Wayang Web Page Repository">​</a></h4>
-<p>ASF repository : <a href="https://gitbox.apache.org/repos/asf/incubator-wayang-website.git" target="_blank" rel="noopener noreferrer">https://gitbox.apache.org/repos/asf/incubator-wayang-website.git</a><br>
-GitHub mirror : <a href="https://github.com/apache/incubator-wayang-website.git" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-wayang-website.git</a></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="issues-bugs-and-features">Issues, Bugs and Features<a href="#issues-bugs-and-features" class="hash-link" aria-label="Direct link to Issues, Bugs and Features" title="Direct link to Issues, Bugs and Features">​</a></h3>
-<p>If you have a specific bug to report or feature request, we suggest opening an issue in <a href="https://issues.apache.org/jira/projects/WAYANG/issue" target="_blank" rel="noopener noreferrer">Jira</a>.</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/community/mailinglist"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Mailinglists</div [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="source-code">Source Code<a href="#source-code" class="hash-link" aria-label="Direct link to Source Code" title="Direct link to Source Code" translate="no">​</a></h3>
+<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="apache-wayang">Apache Wayang<a href="#apache-wayang" class="hash-link" aria-label="Direct link to Apache Wayang" title="Direct link to Apache Wayang" translate="no">​</a></h4>
+<p>ASF repository : <a href="https://gitbox.apache.org/repos/asf/incubator-wayang.git" target="_blank" rel="noopener noreferrer" class="">https://gitbox.apache.org/repos/asf/incubator-wayang.git</a><br>
+GitHub mirror : <a href="https://github.com/apache/incubator-wayang.git" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang.git</a></p>
+<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="wayang-web-page-repository">Wayang Web Page Repository<a href="#wayang-web-page-repository" class="hash-link" aria-label="Direct link to Wayang Web Page Repository" title="Direct link to Wayang Web Page Repository" translate="no">​</a></h4>
+<p>ASF repository : <a href="https://gitbox.apache.org/repos/asf/incubator-wayang-website.git" target="_blank" rel="noopener noreferrer" class="">https://gitbox.apache.org/repos/asf/incubator-wayang-website.git</a><br>
+GitHub mirror : <a href="https://github.com/apache/incubator-wayang-website.git" target="_blank" rel="noopener noreferrer" class="">https://github.com/apache/incubator-wayang-website.git</a></p>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="issues-bugs-and-features">Issues, Bugs and Features<a href="#issues-bugs-and-features" class="hash-link" aria-label="Direct link to Issues, Bugs and Features" title="Direct link to Issues, Bugs and Features" translate="no">​</a></h3>
+<p>If you have a specific bug to report or feature request, we suggest opening an issue in <a href="https://issues.apache.org/jira/projects/WAYANG/issue" target="_blank" rel="noopener noreferrer" class="">Jira</a>.</p></div></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/community/mailinglist"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Mailingl [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/docs/community/resources/index.html b/docs/community/resources/index.html
index b2b85838..65dc899b 100644
--- a/docs/community/resources/index.html
+++ b/docs/community/resources/index.html
@@ -2,27 +2,30 @@
 <html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-community/resources" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
-<title data-rh="true">Community Resources &amp; External Coverage | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/docs/community/resources"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearc [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<meta name="generator" content="Docusaurus v3.10.1">
+<title data-rh="true">Community Resources &amp; External Coverage | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/docs/community/resources"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearc [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
 <p>Use the curated resources below to discover third‑party perspectives, then jump back to the pillar page whenever you need the full technical scope.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="external-articles--mentions">External Articles &amp; Mentions<a href="#external-articles--mentions" class="hash-link" aria-label="Direct link to External Articles &amp; Mentions" title="Direct link to External Articles &amp; Mentions">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="external-articles--mentions">External Articles &amp; Mentions<a href="#external-articles--mentions" class="hash-link" aria-label="Direct link to External Articles &amp; Mentions" title="Direct link to External Articles &amp; Mentions" translate="no">​</a></h2>
 <ul>
-<li><a href="https://www.novatechflow.com/2025/06/what-are-performance-implications-of.html" target="_blank" rel="noopener noreferrer">What are the performance implications of multi-engine data processing?</a> — Novatech Flow (Jun 2025). A practitioner’s view on how Apache Wayang coordinates distributed engines without sacrificing performance, featuring federated compute patterns and tuning advice.</li>
+<li class=""><a href="https://www.novatechflow.com/2025/06/what-are-performance-implications-of.html" target="_blank" rel="noopener noreferrer" class="">What are the performance implications of multi-engine data processing?</a> — Novatech Flow (Jun 2025). A practitioner’s view on how Apache Wayang coordinates distributed engines without sacrificing performance, featuring federated compute patterns and tuning advice.</li>
 </ul>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="suggest-a-resource">Suggest a Resource<a href="#suggest-a-resource" class="hash-link" aria-label="Direct link to Suggest a Resource" title="Direct link to Suggest a Resource">​</a></h2>
-<p>Have you written or found a thoughtful deep dive about Apache Wayang? Open an issue or PR on <a href="https://github.com/apache/incubator-wayang-website" target="_blank" rel="noopener noreferrer">the website repo</a> with the link and a 1–2 sentence description. We prioritize pieces that:</p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="suggest-a-resource">Suggest a Resource<a href="#suggest-a-resource" class="hash-link" aria-label="Direct link to Suggest a Resource" title="Direct link to Suggest a Resource" translate="no">​</a></h2>
+<p>Have you written or found a thoughtful deep dive about Apache Wayang? Open an issue or PR on <a href="https://github.com/apache/incubator-wayang-website" target="_blank" rel="noopener noreferrer" class="">the website repo</a> with the link and a 1–2 sentence description. We prioritize pieces that:</p>
 <ul>
-<li>Explain cross-platform or federated computing scenarios powered by Wayang</li>
-<li>Include benchmark data, architectural diagrams, or lessons learned from production usage</li>
-<li>Link back to the pillar page or other official docs so readers can explore the project further</li>
+<li class="">Explain cross-platform or federated computing scenarios powered by Wayang</li>
+<li class="">Include benchmark data, architectural diagrams, or lessons learned from production usage</li>
+<li class="">Link back to the pillar page or other official docs so readers can explore the project further</li>
 </ul>
-<p>Including high-quality external references alongside the official documentation helps search engines and AI assistants understand how the community uses Apache Wayang in the broader distributed computing ecosystem.</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/community/maturity"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Maturity [...]
+<p>Including high-quality external references alongside the official documentation helps search engines and AI assistants understand how the community uses Apache Wayang in the broader distributed computing ecosystem.</p></div></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/community/maturity"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Maturity [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/docs/community/security/index.html b/docs/community/security/index.html
index 34390d66..e1793462 100644
--- a/docs/community/security/index.html
+++ b/docs/community/security/index.html
@@ -2,38 +2,41 @@
 <html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-community/security" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
-<title data-rh="true">Wayang Security | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/docs/community/security"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><met [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<meta name="generator" content="Docusaurus v3.10.1">
+<title data-rh="true">Wayang Security | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/docs/community/security"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><met [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
-<p>The Apache Software Foundation (ASF) and the Apache Wayang community take security very seriously. Apache Wayang specifically provides robust security features and actively addresses concerns around potential vulnerabilities. If you have discovered a vulnerability or have concerns regarding Apache Wayang security, please immediately contact the security team via email at <a href="mailto:security@wayang.apache.org" target="_blank" rel="noopener noreferrer">security@wayang.apache.org</a>.</p>
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
+<p>The Apache Software Foundation (ASF) and the Apache Wayang community take security very seriously. Apache Wayang specifically provides robust security features and actively addresses concerns around potential vulnerabilities. If you have discovered a vulnerability or have concerns regarding Apache Wayang security, please immediately contact the security team via email at <a href="mailto:security@wayang.apache.org" target="_blank" rel="noopener noreferrer" class="">security@wayang.apac [...]
 <p>In your email, please include:</p>
 <ul>
-<li>A detailed description of the security issue</li>
-<li>Steps to reproduce the vulnerability, if possible</li>
+<li class="">A detailed description of the security issue</li>
+<li class="">Steps to reproduce the vulnerability, if possible</li>
 </ul>
 <p>Upon receiving your report, our security team will review the provided information and respond accordingly.</p>
 <p>Please reserve the security address exclusively for reporting undisclosed vulnerabilities. For general security-related questions, usage of security features, or addressing known fixed issues, please utilize our user and developer mailing lists instead. Do not publicly disclose vulnerabilities without first reporting them to the Apache Wayang security team.</p>
-<p>The ASF Security team maintains detailed guidelines on managing and addressing vulnerabilities. For further information, please refer to the <a href="https://www.apache.org/security/" target="_blank" rel="noopener noreferrer">ASF Security Page</a>.</p>
-<p>For an updated list of security issues that have been addressed in released versions of Apache Wayang, please review our <a href="https://wayang.apache.org/security" target="_blank" rel="noopener noreferrer">CVE List</a>.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="advisories-for-dependencies">Advisories for Dependencies<a href="#advisories-for-dependencies" class="hash-link" aria-label="Direct link to Advisories for Dependencies" title="Direct link to Advisories for Dependencies">​</a></h2>
+<p>The ASF Security team maintains detailed guidelines on managing and addressing vulnerabilities. For further information, please refer to the <a href="https://www.apache.org/security/" target="_blank" rel="noopener noreferrer" class="">ASF Security Page</a>.</p>
+<p>For an updated list of security issues that have been addressed in released versions of Apache Wayang, please review our <a href="https://wayang.apache.org/security" target="_blank" rel="noopener noreferrer" class="">CVE List</a>.</p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="advisories-for-dependencies">Advisories for Dependencies<a href="#advisories-for-dependencies" class="hash-link" aria-label="Direct link to Advisories for Dependencies" title="Direct link to Advisories for Dependencies" translate="no">​</a></h2>
 <p>Many organizations employ security scanning tools to identify components with known security advisories. Although we strongly recommend these tools as they can alert users to potential risks, they often generate false positives. This occurs because a vulnerable dependency may not necessarily impact Apache Wayang if used in a non-exploitable manner.</p>
-<p>Therefore, advisories regarding Apache Wayang&#x27;s dependencies are not automatically considered critical. However, if additional analysis indicates that Apache Wayang might be affected by a dependency&#x27;s vulnerability, please report your findings privately to <a href="mailto:security@wayang.apache.org" target="_blank" rel="noopener noreferrer">security@wayang.apache.org</a>.</p>
+<p>Therefore, advisories regarding Apache Wayang&#x27;s dependencies are not automatically considered critical. However, if additional analysis indicates that Apache Wayang might be affected by a dependency&#x27;s vulnerability, please report your findings privately to <a href="mailto:security@wayang.apache.org" target="_blank" rel="noopener noreferrer" class="">security@wayang.apache.org</a>.</p>
 <p>If a dependency advisory is identified, please:</p>
 <ol>
-<li>Verify if our DependencyCheck suppressions contain relevant details.</li>
-<li>Check our issue tracker for discussions regarding this advisory.</li>
-<li>Conduct your own analysis to determine whether Apache Wayang is affected.<!-- -->
+<li class="">Verify if our DependencyCheck suppressions contain relevant details.</li>
+<li class="">Check our issue tracker for discussions regarding this advisory.</li>
+<li class="">Conduct your own analysis to determine whether Apache Wayang is affected.<!-- -->
 <ul>
-<li>If affected, report your findings privately through <a href="mailto:security@wayang.apache.org" target="_blank" rel="noopener noreferrer">security@wayang.apache.org</a>.</li>
-<li>If not affected, please contribute by updating the DependencyCheck suppression list, clearly documenting why Apache Wayang is not impacted.</li>
+<li class="">If affected, report your findings privately through <a href="mailto:security@wayang.apache.org" target="_blank" rel="noopener noreferrer" class="">security@wayang.apache.org</a>.</li>
+<li class="">If not affected, please contribute by updating the DependencyCheck suppression list, clearly documenting why Apache Wayang is not impacted.</li>
 </ul>
 </li>
-</ol></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/community/ai-tooling-policy"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Guidelines for AI-assisted Contributions</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left [...]
+</ol></div></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/community/ai-tooling-policy"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Guidelines for AI-assisted Contributions</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/docs/community/team/index.html b/docs/community/team/index.html
index 6c5bcfdf..df003589 100644
--- a/docs/community/team/index.html
+++ b/docs/community/team/index.html
@@ -2,21 +2,24 @@
 <html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-community/team" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
-<title data-rh="true">Team | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/docs/community/team"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<meta name="generator" content="Docusaurus v3.10.1">
+<title data-rh="true">Team | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/docs/community/team"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
 <table><thead><tr><th>Name</th><th style="text-align:center">Role</th><th>Apache ID</th><th>Organization</th></tr></thead><tbody><tr><td>Alexander Alten</td><td style="text-align:center">PMC, Committer</td><td>aloalt</td><td>Scalytics</td></tr><tr><td>Calvin Kirs</td><td style="text-align:center">PMC, Committer</td><td>kirs</td><td>SelectDB, ASF</td></tr><tr><td>Zoi Kaoudi</td><td style="text-align:center">PMC, Committer</td><td>zkaoudi</td><td>ITU Copenhagen, Scalytics</td></tr><tr><td> [...]
 <p>You can reach committers directly at &lt;apache-id&gt;@apache.org</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="mentors-during-the-incubation-process">Mentors during the incubation process<a href="#mentors-during-the-incubation-process" class="hash-link" aria-label="Direct link to Mentors during the incubation process" title="Direct link to Mentors during the incubation process">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="mentors-during-the-incubation-process">Mentors during the incubation process<a href="#mentors-during-the-incubation-process" class="hash-link" aria-label="Direct link to Mentors during the incubation process" title="Direct link to Mentors during the incubation process" translate="no">​</a></h2>
 <p>The following people were very kind to mentor the project while in incubation.</p>
 <table><thead><tr><th>Name</th><th>Apache ID</th></tr></thead><tbody><tr><td>Bernd Fondermann</td><td>berndf</td></tr><tr><td>Christofer Dutz</td><td>cdutz</td></tr><tr><td>Jean-Baptiste Onofré</td><td>jbonofre</td></tr><tr><td>Lars George</td><td>larsgeorge</td></tr></tbody></table>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="donations-to-wayang">Donations to Wayang<a href="#donations-to-wayang" class="hash-link" aria-label="Direct link to Donations to Wayang" title="Direct link to Donations to Wayang">​</a></h2>
-<p>The <a href="http://wayang.apache.org/assets/img/logo/Apache_Wayang/Apache_Wayang.pdf" target="_blank" rel="noopener noreferrer">Logo</a> was donated by <a href="https://www.linkedin.com/in/brian-vera-hablares-17a663b8/" target="_blank" rel="noopener noreferrer">Brian Vera</a></p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/community/repositories"><div class="pagination-nav__ [...]
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="donations-to-wayang">Donations to Wayang<a href="#donations-to-wayang" class="hash-link" aria-label="Direct link to Donations to Wayang" title="Direct link to Donations to Wayang" translate="no">​</a></h2>
+<p>The <a href="http://wayang.apache.org/assets/img/logo/Apache_Wayang/Apache_Wayang.pdf" target="_blank" rel="noopener noreferrer" class="">Logo</a> was donated by <a href="https://www.linkedin.com/in/brian-vera-hablares-17a663b8/" target="_blank" rel="noopener noreferrer" class="">Brian Vera</a></p></div></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/community/repositories"><div class [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/docs/guide/adding-operators/index.html b/docs/guide/adding-operators/index.html
index 174148f9..3452c7f0 100644
--- a/docs/guide/adding-operators/index.html
+++ b/docs/guide/adding-operators/index.html
@@ -2,35 +2,38 @@
 <html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-guide/adding-operators" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
-<title data-rh="true">Adding an operator in Wayang | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/docs/guide/adding-operators"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language"  [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<meta name="generator" content="Docusaurus v3.10.1">
+<title data-rh="true">Adding an operator in Wayang | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/docs/guide/adding-operators"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language"  [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
 <p>This guide shows the <em>3 steps</em> that developers need to follow if they want to add new operators in Wayang.
 We use the Map operator as an example.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="step-1-add-a-wayang-operator">Step 1: Add a Wayang operator<a href="#step-1-add-a-wayang-operator" class="hash-link" aria-label="Direct link to Step 1: Add a Wayang operator" title="Direct link to Step 1: Add a Wayang operator">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="step-1-add-a-wayang-operator">Step 1: Add a Wayang operator<a href="#step-1-add-a-wayang-operator" class="hash-link" aria-label="Direct link to Step 1: Add a Wayang operator" title="Direct link to Step 1: Add a Wayang operator" translate="no">​</a></h2>
 <p>Wayang operators are located under the <code>wayang-basic</code> in the <code>org.apache.wayang.basic.operators</code> package. <br>
 An operator needs to extend from one of the following abstract classes: <code>UnaryToUnaryOperator</code>, <code>BinaryToUnaryOperator</code>, <code>UnarySource</code>, <code>UnarySink</code>.<br>
-For a unary to unary operator, see for example <a href="https://github.com/apache/incubator-wayang/blob/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/MapOperator.java" target="_blank" rel="noopener noreferrer">here</a>.</p>
-<p>For enhanced performance in Wayang, consider adding a cardinality estimator by overriding the <code>createCardinalityEstimator()</code> function as <a href="https://github.com/apache/incubator-wayang/blob/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/MapOperator.java#L112C43-L112C70" target="_blank" rel="noopener noreferrer">here</a>.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="step-2-add-the-platform-specific-execution-operators">Step 2: Add the (platform-specific) execution operators<a href="#step-2-add-the-platform-specific-execution-operators" class="hash-link" aria-label="Direct link to Step 2: Add the (platform-specific) execution operators" title="Direct link to Step 2: Add the (platform-specific) execution operators">​</a></h2>
+For a unary to unary operator, see for example <a href="https://github.com/apache/incubator-wayang/blob/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/MapOperator.java" target="_blank" rel="noopener noreferrer" class="">here</a>.</p>
+<p>For enhanced performance in Wayang, consider adding a cardinality estimator by overriding the <code>createCardinalityEstimator()</code> function as <a href="https://github.com/apache/incubator-wayang/blob/main/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/MapOperator.java#L112C43-L112C70" target="_blank" rel="noopener noreferrer" class="">here</a>.</p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="step-2-add-the-platform-specific-execution-operators">Step 2: Add the (platform-specific) execution operators<a href="#step-2-add-the-platform-specific-execution-operators" class="hash-link" aria-label="Direct link to Step 2: Add the (platform-specific) execution operators" title="Direct link to Step 2: Add the (platform-specific) execution operators" translate="no">​</a></h2>
 <p>Execution operators are located under the corresponding module of <code>wayang-platforms</code>. For instance, Java execution operators are located in the <code>org.apache.wayang.java.operators</code> package of the <code>wayang-java</code> module.<br>
 An execution operator needs to extend from its corresponding Wayang operator and implement the corresponding platform operator interface.<br>
-For the above <code>MapOperator</code>, the following is the corresponding <a href="https://github.com/apache/incubator-wayang/blob/main/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/operators/JavaMapOperator.java" target="_blank" rel="noopener noreferrer"><code>JavaMapOperator</code></a>.</p>
+For the above <code>MapOperator</code>, the following is the corresponding <a href="https://github.com/apache/incubator-wayang/blob/main/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/operators/JavaMapOperator.java" target="_blank" rel="noopener noreferrer" class=""><code>JavaMapOperator</code></a>.</p>
 <p>For enhanced performance in Wayang, consider adding a load function as well:<br>
 For this you need to overwrite the <code>getLoadProfileEstimatorConfigurationKey()</code> function and provide the right key that will then be read from a properties file.
-For the JavaMapOperator it&#x27;s: wayang.java.map.load. Then add in the corresponding properties file (e.g., <a href="https://github.com/apache/incubator-wayang/blob/main/wayang-platforms/wayang-java/src/main/resources/wayang-java-defaults.properties" target="_blank" rel="noopener noreferrer">this</a> is for the java executor) the template which is the mathematical formula that represents the cost of this operator and an instantiation of it. See <a href="https://github.com/apache/incuba [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="step-3-add-mappings">Step 3: Add mappings<a href="#step-3-add-mappings" class="hash-link" aria-label="Direct link to Step 3: Add mappings" title="Direct link to Step 3: Add mappings">​</a></h2>
+For the JavaMapOperator it&#x27;s: wayang.java.map.load. Then add in the corresponding properties file (e.g., <a href="https://github.com/apache/incubator-wayang/blob/main/wayang-platforms/wayang-java/src/main/resources/wayang-java-defaults.properties" target="_blank" rel="noopener noreferrer" class="">this</a> is for the java executor) the template which is the mathematical formula that represents the cost of this operator and an instantiation of it. See <a href="https://github.com/apac [...]
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="step-3-add-mappings">Step 3: Add mappings<a href="#step-3-add-mappings" class="hash-link" aria-label="Direct link to Step 3: Add mappings" title="Direct link to Step 3: Add mappings" translate="no">​</a></h2>
 <p>Create mappings from the Wayang operator to the platform-specific execution operators. <br>
 The mappings are located in the corresponding execution module in the <code>org.apache.wayang.java.operators</code> package.<br>
-For the above <code>MapOperator</code> and <code>JavaMapOperator</code>, see <a href="https://github.com/apache/incubator-wayang/blob/main/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/MapMapping.java" target="_blank" rel="noopener noreferrer">here</a>.</p>
-<p>After that you need to declare this mapping in Wayang in the corresponding <a href="https://github.com/apache/incubator-wayang/blob/main/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/Mappings.java#L37" target="_blank" rel="noopener noreferrer"><code>Mappings</code></a> class.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="step-4-expand-the-java-scala-like-api">Step 4: Expand the Java scala-like API<a href="#step-4-expand-the-java-scala-like-api" class="hash-link" aria-label="Direct link to Step 4: Expand the Java scala-like API" title="Direct link to Step 4: Expand the Java scala-like API">​</a></h2>
-<p>Once you created a new operator you need to expose it to the API so that users can use it as a function in the dataflow job they create. For this, you need to go to the module <code>wayang-api/wayang-api-scala-java</code> and expand the <code>JavaPlanBuilder.scala</code> file to include a new source operator or the <code>DataQuantaBuilder</code> for non-source operators.</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__l [...]
+For the above <code>MapOperator</code> and <code>JavaMapOperator</code>, see <a href="https://github.com/apache/incubator-wayang/blob/main/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/MapMapping.java" target="_blank" rel="noopener noreferrer" class="">here</a>.</p>
+<p>After that you need to declare this mapping in Wayang in the corresponding <a href="https://github.com/apache/incubator-wayang/blob/main/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/Mappings.java#L37" target="_blank" rel="noopener noreferrer" class=""><code>Mappings</code></a> class.</p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="step-4-expand-the-java-scala-like-api">Step 4: Expand the Java scala-like API<a href="#step-4-expand-the-java-scala-like-api" class="hash-link" aria-label="Direct link to Step 4: Expand the Java scala-like API" title="Direct link to Step 4: Expand the Java scala-like API" translate="no">​</a></h2>
+<p>Once you created a new operator you need to expose it to the API so that users can use it as a function in the dataflow job they create. For this, you need to go to the module <code>wayang-api/wayang-api-scala-java</code> and expand the <code>JavaPlanBuilder.scala</code> file to include a new source operator or the <code>DataQuantaBuilder</code> for non-source operators.</p></div></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="Docs pages"><a class="pagination-nav__l [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/docs/guide/api-documentation/index.html b/docs/guide/api-documentation/index.html
index a3803056..b45c325d 100644
--- a/docs/guide/api-documentation/index.html
+++ b/docs/guide/api-documentation/index.html
@@ -2,15 +2,18 @@
 <html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-guide/api-documentation" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
-<title data-rh="true">API documentation | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/docs/guide/api-documentation"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="e [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<meta name="generator" content="Docusaurus v3.10.1">
+<title data-rh="true">API documentation | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/docs/guide/api-documentation"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="e [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
-<p>The latest Javadocs can be found <a href="https://wayang.apache.org/docs/api/javadocs/1.1.0/index.html" target="_blank" rel="noopener noreferrer">here</a>.</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/guide/ml4all"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Scalable Machine Learning</div></a><a class="pagination-nav__link paginat [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
+<p>The latest Javadocs can be found <a href="https://wayang.apache.org/docs/api/javadocs/1.1.0/index.html" target="_blank" rel="noopener noreferrer" class="">here</a>.</p></div></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/guide/ml4all"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Scalable Machine Learning</div></a><a class="pagination-nav__lin [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/docs/guide/developing-in-wayang/index.html b/docs/guide/developing-in-wayang/index.html
index 68ea3b6c..df17598d 100644
--- a/docs/guide/developing-in-wayang/index.html
+++ b/docs/guide/developing-in-wayang/index.html
@@ -2,26 +2,29 @@
 <html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-guide/developing-in-wayang" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
-<title data-rh="true">Developing in Wayang | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/docs/guide/developing-in-wayang"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" cont [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<meta name="generator" content="Docusaurus v3.10.1">
+<title data-rh="true">Developing in Wayang | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/docs/guide/developing-in-wayang"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" cont [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="compile-the-module-you-modified">Compile the module you modified<a href="#compile-the-module-you-modified" class="hash-link" aria-label="Direct link to Compile the module you modified" title="Direct link to Compile the module you modified">​</a></h2>
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="compile-the-module-you-modified">Compile the module you modified<a href="#compile-the-module-you-modified" class="hash-link" aria-label="Direct link to Compile the module you modified" title="Direct link to Compile the module you modified" translate="no">​</a></h2>
 <p>Within the root directory of Wayang, compile only the module you modified for faster compilation:</p>
-<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn clean </span><span class="token function" style="color:#d73a49">install</span><span c [...]
+<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn clean </span><span class="token function" style="color:#d73a49">install</span><span cl [...]
 <p>or change the directory to your module and compile there:</p>
-<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token builtin class-name">cd</span><span class="token plain"> </span><span class="token operator" styl [...]
+<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token builtin class-name">cd</span><span class="token plain"> </span><span class="token operator" style [...]
 <p>Important: before making a Pull Request make sure all modules compile and all tests are passing:</p>
-<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn clean </span><span class="token function" style="color:#d73a49">install</span><br></s [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="package-the-project">Package the project<a href="#package-the-project" class="hash-link" aria-label="Direct link to Package the project" title="Direct link to Package the project">​</a></h2>
-<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn clean package </span><span class="token parameter variable" style="color:#36acaa">-pl [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="execute-your-code">Execute your code<a href="#execute-your-code" class="hash-link" aria-label="Direct link to Execute your code" title="Direct link to Execute your code">​</a></h2>
+<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn clean </span><span class="token function" style="color:#d73a49">install</span><br></di [...]
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="package-the-project">Package the project<a href="#package-the-project" class="hash-link" aria-label="Direct link to Package the project" title="Direct link to Package the project" translate="no">​</a></h2>
+<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn clean package </span><span class="token parameter variable" style="color:#36acaa">-pl< [...]
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="execute-your-code">Execute your code<a href="#execute-your-code" class="hash-link" aria-label="Direct link to Execute your code" title="Direct link to Execute your code" translate="no">​</a></h2>
 <p>Before executing your code, make sure the required environment variables are set correctly.</p>
-<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token builtin class-name">cd</span><span class="token plain"> wayang-assembly/target/</span><br></span [...]
+<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token builtin class-name">cd</span><span class="token plain"> wayang-assembly/target/</span><br></div>< [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/docs/guide/examples/index.html b/docs/guide/examples/index.html
index 877ef5ab..95b10497 100644
--- a/docs/guide/examples/index.html
+++ b/docs/guide/examples/index.html
@@ -2,130 +2,133 @@
 <html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-guide/examples" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
-<title data-rh="true">Installation and Examples | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/docs/guide/examples"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<meta name="generator" content="Docusaurus v3.10.1">
+<title data-rh="true">Installation and Examples | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/docs/guide/examples"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
 <p>Apache Wayang is built upon the foundations of Java 11 and Scala 2.12, providing a robust and versatile platform for data processing applications. If you intend to build Wayang from source, you wi[...]</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-wayang">Get Wayang<a href="#get-wayang" class="hash-link" aria-label="Direct link to Get Wayang" title="Direct link to Get Wayang">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="get-wayang">Get Wayang<a href="#get-wayang" class="hash-link" aria-label="Direct link to Get Wayang" title="Direct link to Get Wayang" translate="no">​</a></h3>
 <p>Apache Wayang is readily available through Maven Central, facilitating seamless integration into your development workflow. For instance, to utilize Wayang in your Maven-based project, simply add [...]</p>
-<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">depe [...]
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">depen [...]
 <p>Note the <code>***</code>: Wayang ships with multiple modules that can be included in your app, depending on how you want to use it:</p>
 <ul>
-<li><code>wayang-core</code>: provides core data structures and the optimizer (required)</li>
-<li><code>wayang-basic</code>: provides common operators and data types for your apps (recommended)</li>
-<li><code>wayang-api</code>: provides an easy-to-use Scala and Java API to assemble Wayang plans (recommended)</li>
-<li><code>wayang-java</code>, <code>wayang-spark</code>, <code>wayang-graphchi</code>, <code>wayang-sqlite3</code>, <code>wayang-postgres</code>: adapters for the various supported processing platforms</li>
-<li><code>wayang-profiler</code>: provides functionality to learn operator and UDF cost functions from historical execution data</li>
+<li class=""><code>wayang-core</code>: provides core data structures and the optimizer (required)</li>
+<li class=""><code>wayang-basic</code>: provides common operators and data types for your apps (recommended)</li>
+<li class=""><code>wayang-api</code>: provides an easy-to-use Scala and Java API to assemble Wayang plans (recommended)</li>
+<li class=""><code>wayang-java</code>, <code>wayang-spark</code>, <code>wayang-graphchi</code>, <code>wayang-sqlite3</code>, <code>wayang-postgres</code>: adapters for the various supported processing platforms</li>
+<li class=""><code>wayang-profiler</code>: provides functionality to learn operator and UDF cost functions from historical execution data</li>
 </ul>
 <p>For the sake of version flexibility, you still have to include your Hadoop (<code>hadoop-hdfs</code> and <code>hadoop-common</code>) and Spark (<code>spark-core</code> and <code>spark-graphx</code>) version of choice.</p>
 <p>In addition, you can obtain the most recent snapshot version of Wayang via Sonatype&#x27;s snapshot repository. Just included</p>
-<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">repo [...]
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">repos [...]
 <p>If you need to rebuild Wayang, e.g., to use a different Scala version, you can simply do so via Maven:</p>
 <ol>
-<li>Adapt the version variables (e.g., <code>spark.version</code>) in the main <code>pom.xml</code> file.</li>
-<li>Build Wayang with the adapted versions.<!-- -->
-<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">$ mvn clean </span><span class="token function" style="color:#d73a49">install</span><br>< [...]
+<li class="">Adapt the version variables (e.g., <code>spark.version</code>) in the main <code>pom.xml</code> file.</li>
+<li class="">Build Wayang with the adapted versions.<!-- -->
+<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">$ mvn clean </span><span class="token function" style="color:#d73a49">install</span><br></ [...]
 <!-- -->Note the <code>standalone</code> profile to fix Hadoop and Spark versions, so that Wayang apps do not explicitly need to declare the corresponding dependencies.
 Also, note the <code>distro</code> profile, which assembles a binary Wayang distribution.
 To activate these profiles, you need to specify them when running maven, i.e.,<!-- -->
-<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn clean </span><span class="token function" style="color:#d73a49">install</span><span c [...]
+<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn clean </span><span class="token function" style="color:#d73a49">install</span><span cl [...]
 </li>
 </ol>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="configure-wayang">Configure Wayang<a href="#configure-wayang" class="hash-link" aria-label="Direct link to Configure Wayang" title="Direct link to Configure Wayang">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="configure-wayang">Configure Wayang<a href="#configure-wayang" class="hash-link" aria-label="Direct link to Configure Wayang" title="Direct link to Configure Wayang" translate="no">​</a></h3>
 <p>To enable Apache Wayang&#x27;s smooth operation, you need to equip it with details about your processing platforms&#x27; capabilities and how to interact with them. A default configuration is available for [...]</p>
-<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">java</span><span class="token [...]
+<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">java</span><span class="token  [...]
 <p>Essential configuration settings:</p>
 <ul>
-<li>General settings<!-- -->
+<li class="">General settings<!-- -->
 <ul>
-<li><code>wayang.core.log.enabled (= true)</code>: whether to log execution statistics to allow learning better cardinality and cost estimators for the optimizer</li>
-<li><code>wayang.core.log.executions (= ~/.wayang/executions.json)</code> where to log execution times of operator groups</li>
-<li><code>wayang.core.log.cardinalities (= ~/.wayang/cardinalities.json)</code> where to log cardinality measurements</li>
-<li><code>wayang.core.optimizer.instrumentation (= org.apache.wayang.core.profiling.OutboundInstrumentationStrategy)</code>: where to measure cardinalities in Wayang plans; other options are `org.apache.wa[...]</li>
-<li><code>wayang.core.optimizer.reoptimize (= false)</code>: whether to progressively optimize Wayang plans</li>
-<li><code>wayang.basic.tempdir (= file:///tmp)</code>: where to store temporary files, in particular for inter-platform communication</li>
+<li class=""><code>wayang.core.log.enabled (= true)</code>: whether to log execution statistics to allow learning better cardinality and cost estimators for the optimizer</li>
+<li class=""><code>wayang.core.log.executions (= ~/.wayang/executions.json)</code> where to log execution times of operator groups</li>
+<li class=""><code>wayang.core.log.cardinalities (= ~/.wayang/cardinalities.json)</code> where to log cardinality measurements</li>
+<li class=""><code>wayang.core.optimizer.instrumentation (= org.apache.wayang.core.profiling.OutboundInstrumentationStrategy)</code>: where to measure cardinalities in Wayang plans; other options are `org.apache.wa[...]</li>
+<li class=""><code>wayang.core.optimizer.reoptimize (= false)</code>: whether to progressively optimize Wayang plans</li>
+<li class=""><code>wayang.basic.tempdir (= file:///tmp)</code>: where to store temporary files, in particular for inter-platform communication</li>
 </ul>
 </li>
-<li>Java Streams<!-- -->
+<li class="">Java Streams<!-- -->
 <ul>
-<li><code>wayang.java.cpu.mhz (= 2700)</code>: clock frequency of processor the JVM runs on in MHz</li>
-<li><code>wayang.java.hdfs.ms-per-mb (= 2.7)</code>: average throughput from HDFS to JVM in ms/MB</li>
+<li class=""><code>wayang.java.cpu.mhz (= 2700)</code>: clock frequency of processor the JVM runs on in MHz</li>
+<li class=""><code>wayang.java.hdfs.ms-per-mb (= 2.7)</code>: average throughput from HDFS to JVM in ms/MB</li>
 </ul>
 </li>
-<li>Apache Spark<!-- -->
+<li class="">Apache Spark<!-- -->
 <ul>
-<li><code>spark.master (= local)</code>: Spark master<!-- -->
+<li class=""><code>spark.master (= local)</code>: Spark master<!-- -->
 <ul>
-<li>various other Spark settings are supported, e.g., <code>spark.executor.memory</code>, <code>spark.serializer</code>, ...</li>
+<li class="">various other Spark settings are supported, e.g., <code>spark.executor.memory</code>, <code>spark.serializer</code>, ...</li>
 </ul>
 </li>
-<li><code>wayang.spark.cpu.mhz (= 2700)</code>: clock frequency of processor the Spark workers run on in MHz</li>
-<li><code>wayang.spark.hdfs.ms-per-mb (= 2.7)</code>: average throughput from HDFS to the Spark workers in ms/MB</li>
-<li><code>wayang.spark.network.ms-per-mb (= 8.6)</code>: average network throughput of the Spark workers in ms/MB</li>
-<li><code>wayang.spark.init.ms (= 4500)</code>: time it takes Spark to initialize in ms</li>
+<li class=""><code>wayang.spark.cpu.mhz (= 2700)</code>: clock frequency of processor the Spark workers run on in MHz</li>
+<li class=""><code>wayang.spark.hdfs.ms-per-mb (= 2.7)</code>: average throughput from HDFS to the Spark workers in ms/MB</li>
+<li class=""><code>wayang.spark.network.ms-per-mb (= 8.6)</code>: average network throughput of the Spark workers in ms/MB</li>
+<li class=""><code>wayang.spark.init.ms (= 4500)</code>: time it takes Spark to initialize in ms</li>
 </ul>
 </li>
-<li>GraphChi<!-- -->
+<li class="">GraphChi<!-- -->
 <ul>
-<li><code>wayang.graphchi.cpu.mhz (= 2700)</code>: clock frequency of processor GraphChi runs on in MHz</li>
-<li><code>wayang.graphchi.cpu.cores (= 2)</code>: number of cores GraphChi runs on</li>
-<li><code>wayang.graphchi.hdfs.ms-per-mb (= 2.7)</code>: average throughput from HDFS to GraphChi in ms/MB</li>
+<li class=""><code>wayang.graphchi.cpu.mhz (= 2700)</code>: clock frequency of processor GraphChi runs on in MHz</li>
+<li class=""><code>wayang.graphchi.cpu.cores (= 2)</code>: number of cores GraphChi runs on</li>
+<li class=""><code>wayang.graphchi.hdfs.ms-per-mb (= 2.7)</code>: average throughput from HDFS to GraphChi in ms/MB</li>
 </ul>
 </li>
-<li>SQLite<!-- -->
+<li class="">SQLite<!-- -->
 <ul>
-<li><code>wayang.sqlite3.jdbc.url</code>: JDBC URL to use SQLite</li>
-<li><code>wayang.sqlite3.jdbc.user</code>: optional user name</li>
-<li><code>wayang.sqlite3.jdbc.password</code>: optional password</li>
-<li><code>wayang.sqlite3.cpu.mhz (= 2700)</code>: clock frequency of processor SQLite runs on in MHz</li>
-<li><code>wayang.sqlite3.cpu.cores (= 2)</code>: number of cores SQLite runs on</li>
+<li class=""><code>wayang.sqlite3.jdbc.url</code>: JDBC URL to use SQLite</li>
+<li class=""><code>wayang.sqlite3.jdbc.user</code>: optional user name</li>
+<li class=""><code>wayang.sqlite3.jdbc.password</code>: optional password</li>
+<li class=""><code>wayang.sqlite3.cpu.mhz (= 2700)</code>: clock frequency of processor SQLite runs on in MHz</li>
+<li class=""><code>wayang.sqlite3.cpu.cores (= 2)</code>: number of cores SQLite runs on</li>
 </ul>
 </li>
-<li>PostgreSQL<!-- -->
+<li class="">PostgreSQL<!-- -->
 <ul>
-<li><code>wayang.postgres.jdbc.url</code>: JDBC URL to use PostgreSQL</li>
-<li><code>wayang.postgres.jdbc.user</code>: optional user name</li>
-<li><code>wayang.postgres.jdbc.password</code>: optional password</li>
-<li><code>wayang.postgres.cpu.mhz (= 2700)</code>: clock frequency of processor PostgreSQL runs on in MHz</li>
-<li><code>wayang.postgres.cpu.cores (= 2)</code>: number of cores PostgreSQL runs on</li>
+<li class=""><code>wayang.postgres.jdbc.url</code>: JDBC URL to use PostgreSQL</li>
+<li class=""><code>wayang.postgres.jdbc.user</code>: optional user name</li>
+<li class=""><code>wayang.postgres.jdbc.password</code>: optional password</li>
+<li class=""><code>wayang.postgres.cpu.mhz (= 2700)</code>: clock frequency of processor PostgreSQL runs on in MHz</li>
+<li class=""><code>wayang.postgres.cpu.cores (= 2)</code>: number of cores PostgreSQL runs on</li>
 </ul>
 </li>
 </ul>
 <p>To effectively define your applications with Apache Wayang, utilize its Scala or Java API, conveniently found within the <code>wayang-api</code> module. For clear illustrations, refer to the provided exampl[...]</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="cost-functions">Cost Functions<a href="#cost-functions" class="hash-link" aria-label="Direct link to Cost Functions" title="Direct link to Cost Functions">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="cost-functions">Cost Functions<a href="#cost-functions" class="hash-link" aria-label="Direct link to Cost Functions" title="Direct link to Cost Functions" translate="no">​</a></h2>
 <p>Wayang provides a utility to learn cost functions from historical execution data. Specifically, Wayang can learn configurations for load profile estimators (that estimate CPU load, disk load etc.[...]</p>
 <p>As an example, the <code>JavaMapOperator</code> draws its load profile estimator configuration via the configuration key <code>wayang.java.map.load</code>.
 Now, it is possible to specify a load profile estimator template in the configuration under the key <code>&lt;original key&gt;.template</code>, e.g.:</p>
-<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">wayang.java.map.load.template = {\</span><br></span><span class="token-line" style="color:#39 [...]
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">wayang.java.map.load.template = {\</span><br></div><div class="token-line" style="color:#393A3 [...]
 <p>This template encapsulates a load profile estimator that requires at minimum one input cardinality and one output cardinality. Furthermore, it simulates CPU load by assuming a direct relationship[...]</p>
 <p>In particular, you can use</p>
 <ul>
-<li>the variables <code>in0</code>, <code>in1</code>, ... and <code>out0</code>, <code>out1</code>, ... to incorporate the input and output cardinalities, respectively;</li>
-<li>operator properties, such as <code>numIterations</code> for the <code>PageRankOperator</code> implementations;</li>
-<li>the operators <code>+</code>, <code>-</code>, <code>*</code>, <code>/</code>, <code>%</code>, <code>^</code>, and parantheses;</li>
-<li>the functions <code>min(x0, x1, ...))</code>, <code>max(x0, x1, ...)</code>, <code>abs(x)</code>, <code>log(x, base)</code>, <code>ln(x)</code>, <code>ld(x)</code>;</li>
-<li>and the constants <code>e</code> and <code>pi</code>.</li>
+<li class="">the variables <code>in0</code>, <code>in1</code>, ... and <code>out0</code>, <code>out1</code>, ... to incorporate the input and output cardinalities, respectively;</li>
+<li class="">operator properties, such as <code>numIterations</code> for the <code>PageRankOperator</code> implementations;</li>
+<li class="">the operators <code>+</code>, <code>-</code>, <code>*</code>, <code>/</code>, <code>%</code>, <code>^</code>, and parantheses;</li>
+<li class="">the functions <code>min(x0, x1, ...))</code>, <code>max(x0, x1, ...)</code>, <code>abs(x)</code>, <code>log(x, base)</code>, <code>ln(x)</code>, <code>ld(x)</code>;</li>
+<li class="">and the constants <code>e</code> and <code>pi</code>.</li>
 </ul>
 <p>While Apache Wayang provides templates for all execution operators, you will need to explicitly define your user-defined functions (UDFs) by specifying their cost functions, which are based on co[...]
 As soon as execution data has been collected, you can initiate:</p>
-<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">java</span><span class="token plain"> </span><span class="token  [...]
+<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">java</span><span class="token plain"> </span><span class="token p [...]
 <p>This tool will attempt to determine suitable values for the question marks (<code>?</code>) within the load profile estimator templates, aligning them with the collected execution data and pre-defined confi[...]</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="examples">Examples<a href="#examples" class="hash-link" aria-label="Direct link to Examples" title="Direct link to Examples">​</a></h2>
-<p>For some executable examples, have a look at <a href="https://github.com/sekruse/rheem-examples" target="_blank" rel="noopener noreferrer">this repository</a>.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="wordcount">WordCount<a href="#wordcount" class="hash-link" aria-label="Direct link to WordCount" title="Direct link to WordCount">​</a></h3>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="java-api">Java API<a href="#java-api" class="hash-link" aria-label="Direct link to Java API" title="Direct link to Java API">​</a></h4>
-<div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> </span><span class="token i [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="scala-api">Scala API<a href="#scala-api" class="hash-link" aria-label="Direct link to Scala API" title="Direct link to Scala API">​</a></h4>
-<div class="language-scala codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scala codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> </span><span class="token [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="k-means">k-means<a href="#k-means" class="hash-link" aria-label="Direct link to k-means" title="Direct link to k-means">​</a></h3>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="examples">Examples<a href="#examples" class="hash-link" aria-label="Direct link to Examples" title="Direct link to Examples" translate="no">​</a></h2>
+<p>For some executable examples, have a look at <a href="https://github.com/sekruse/rheem-examples" target="_blank" rel="noopener noreferrer" class="">this repository</a>.</p>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="wordcount">WordCount<a href="#wordcount" class="hash-link" aria-label="Direct link to WordCount" title="Direct link to WordCount" translate="no">​</a></h3>
+<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="java-api">Java API<a href="#java-api" class="hash-link" aria-label="Direct link to Java API" title="Direct link to Java API" translate="no">​</a></h4>
+<div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> </span><span class="token im [...]
+<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="scala-api">Scala API<a href="#scala-api" class="hash-link" aria-label="Direct link to Scala API" title="Direct link to Scala API" translate="no">​</a></h4>
+<div class="language-scala codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-scala codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> </span><span class="token  [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="k-means">k-means<a href="#k-means" class="hash-link" aria-label="Direct link to k-means" title="Direct link to k-means" translate="no">​</a></h3>
 <p>Wayang is also capable of iterative processing, which is, e.g., very important for machine learning algorithms, such as k-means.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="scala-api-1">Scala API<a href="#scala-api-1" class="hash-link" aria-label="Direct link to Scala API" title="Direct link to Scala API">​</a></h4>
-<div class="language-scala codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-scala codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> </span><span class="token [...]
+<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="scala-api-1">Scala API<a href="#scala-api-1" class="hash-link" aria-label="Direct link to Scala API" title="Direct link to Scala API" translate="no">​</a></h4>
+<div class="language-scala codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-scala codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> </span><span class="token  [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/docs/guide/getting-started/index.html b/docs/guide/getting-started/index.html
index 16838b0f..e3802601 100644
--- a/docs/guide/getting-started/index.html
+++ b/docs/guide/getting-started/index.html
@@ -2,14 +2,17 @@
 <html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-guide/getting-started" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
-<title data-rh="true">Getting started | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/docs/guide/getting-started"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en">< [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<meta name="generator" content="Docusaurus v3.10.1">
+<title data-rh="true">Getting started | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/docs/guide/getting-started"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en">< [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
 <p><strong>Write your data pipeline once. Run it anywhere.</strong></p>
 <p>You write your pipeline against a single API, then decide how it runs. Point it at one
 engine and it runs there — or hand Wayang&#x27;s cost-based optimizer the choice and let it pick
@@ -18,7 +21,7 @@ database, even splitting a single job across several. Either way, when your data
 one machine you don&#x27;t rewrite anything — you just make another engine available.</p>
 <p>This page gets you from zero to a running cross-platform pipeline in a few minutes.</p>
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="how-it-works">How it works<a href="#how-it-works" class="hash-link" aria-label="Direct link to How it works" title="Direct link to How it works">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="how-it-works">How it works<a href="#how-it-works" class="hash-link" aria-label="Direct link to How it works" title="Direct link to How it works" translate="no">​</a></h2>
 <p>Most data tools lock you into one engine. Pick Spark, and your code is Spark code forever.
 Outgrow it, or need a database in the mix, and you rewrite.</p>
 <p>Wayang sits one level up. You write a pipeline against Wayang&#x27;s API and register the engines
@@ -28,26 +31,26 @@ step:</p>
 <p><img decoding="async" loading="lazy" alt="A single pipeline, written once, feeds the Wayang optimizer, which routes each step to the best available engine — Local, Spark, Flink, Postgres, and others." src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA3NjAgMzYwIiByb2xlPSJpbWciCiAgICAgYXJpYS1sYWJlbD0iQSBzaW5nbGUgcGlwZWxpbmUsIHdyaXR0ZW4gb25jZSwgZmVlZHMgdGhlIFdheWFuZyBvcHRpbWl6ZXIsIHdoaWNoIHJvdXRlcyB3b3JrIHRvIHRoZSBiZXN0IGF2YWlsYWJsZSBlb [...]
 <p>Same code on your laptop and on a 100-node cluster.</p>
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="quickstart">Quickstart<a href="#quickstart" class="hash-link" aria-label="Direct link to Quickstart" title="Direct link to Quickstart">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="quickstart">Quickstart<a href="#quickstart" class="hash-link" aria-label="Direct link to Quickstart" title="Direct link to Quickstart" translate="no">​</a></h2>
 <p>We&#x27;ll run a word count locally first — no cluster, nothing to install on a server — then
 make Spark available with a one-line change. The pipeline itself never changes; only the
 set of engines you register does.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="1-run-locally">1. Run locally<a href="#1-run-locally" class="hash-link" aria-label="Direct link to 1. Run locally" title="Direct link to 1. Run locally">​</a></h3>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Java</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Scala</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Python</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="langua [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="1-run-locally">1. Run locally<a href="#1-run-locally" class="hash-link" aria-label="Direct link to 1. Run locally" title="Direct link to 1. Run locally" translate="no">​</a></h3>
+<div class="theme-tabs-container tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Java</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Scala</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Python</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn [...]
 <p>It executes locally. Good for development, tests, and small data.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="2-run-it-on-spark">2. Run it on Spark<a href="#2-run-it-on-spark" class="hash-link" aria-label="Direct link to 2. Run it on Spark" title="Direct link to 2. Run it on Spark">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="2-run-it-on-spark">2. Run it on Spark<a href="#2-run-it-on-spark" class="hash-link" aria-label="Direct link to 2. Run it on Spark" title="Direct link to 2. Run it on Spark" translate="no">​</a></h3>
 <p>Now run the <em>exact same pipeline</em> on Spark instead of locally. You don&#x27;t touch the pipeline —
 you change which platform you register: comment out Java and register Spark.</p>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Java</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Scala</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Python</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="langua [...]
+<div class="theme-tabs-container tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Java</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Scala</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Python</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn [...]
 <p>Run it again. The same pipeline now executes on Spark — you changed <em>where</em> it runs without
 changing <em>what</em> it does. Switch to Flink or any other supported platform the same way: swap
 the import and the registered plugin.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="3-register-both-and-let-the-optimizer-choose">3. Register both and let the optimizer choose<a href="#3-register-both-and-let-the-optimizer-choose" class="hash-link" aria-label="Direct link to 3. Register both and let the optimizer choose" title="Direct link to 3. Register both and let the optimizer choose">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="3-register-both-and-let-the-optimizer-choose">3. Register both and let the optimizer choose<a href="#3-register-both-and-let-the-optimizer-choose" class="hash-link" aria-label="Direct link to 3. Register both and let the optimizer choose" title="Direct link to 3. Register both and let the optimizer choose" translate="no">​</a></h3>
 <p>This is the point of Wayang. In practice you don&#x27;t have to pick a platform at all: you register every
 engine you have and let the optimizer choose the best one for each step — even
 splitting a single job across engines. The pipeline is still the same; you just stop deciding
 where it runs.</p>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Java</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Scala</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Python</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="langua [...]
+<div class="theme-tabs-container tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Java</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Scala</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Python</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn [...]
 <p>Now Wayang owns the placement decision. For each operator it estimates the cost on every
 registered platform and picks the cheapest — keeping a small job entirely local, pushing a
 large one onto Spark, or mixing both within the same job as the data demands. You wrote the
@@ -55,24 +58,24 @@ pipeline once in step 1; steps 2 and 3 only changed which engines were on the ta
 <blockquote>
 <p>On a tiny input you&#x27;ll see it keep everything local (that&#x27;s the optimizer working
 correctly, not ignoring Spark). The cross-platform decisions show up once the data is big
-enough for them to pay off. Read <a href="https://wayang.apache.org/docs/introduction/about" target="_blank" rel="noopener noreferrer">How Wayang chooses a platform</a> for what
+enough for them to pay off. Read <a href="https://wayang.apache.org/docs/introduction/about" target="_blank" rel="noopener noreferrer" class="">How Wayang chooses a platform</a> for what
 drives those choices.</p>
 </blockquote>
 <hr>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="install">Install<a href="#install" class="hash-link" aria-label="Direct link to Install" title="Direct link to Install">​</a></h2>
-<p>Replace WAYANG_VERSION below with <a href="https://mvnrepository.com/artifact/org.apache.wayang" target="_blank" rel="noopener noreferrer">latest maven release</a>.</p>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Java/Scala</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Python</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p>Maven:</p><div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393 [...]
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="install">Install<a href="#install" class="hash-link" aria-label="Direct link to Install" title="Direct link to Install" translate="no">​</a></h2>
+<p>Replace WAYANG_VERSION below with <a href="https://mvnrepository.com/artifact/org.apache.wayang" target="_blank" rel="noopener noreferrer" class="">latest maven release</a>.</p>
+<div class="theme-tabs-container tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Java/Scala</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Python</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p>Maven:</p><div class="language-xml codeBlockContainer_Ckt0 theme-code-block" styl [...]
 package and the Wayang backend from source and start a local server before any pipeline
 runs. A simpler one-command path (a prebuilt Docker image) is something the project wants to
 offer, and help is welcome.</p></div></div><p>pywayang has no PyPI release yet, and it&#x27;s a client that talks to a running Wayang REST
-API — so setup is two parts: install the Python package, then start the Wayang backend.</p><p><strong>1. Build and install the Python package</strong> (from the repo root):</p><div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlock [...]
+API — so setup is two parts: install the Python package, then start the Wayang backend.</p><p><strong>1. Build and install the Python package</strong> (from the repo root):</p><div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlock [...]
 <code>wayang-api/wayang-api-python/src/main/resources/wayang-api-python-defaults.properties</code>
 — the location of <code>python/src/pywy/execution/worker.py</code>, your <code>python3</code> command, and your
 site-packages directory. You&#x27;ll also need a Java 11+ runtime available.</p><p>With the REST API running, the Python examples above will execute. See the
-<a href="https://github.com/apache/wayang/tree/main/python" target="_blank" rel="noopener noreferrer">pywayang README</a> for full details.</p></div></div></div>
+<a href="https://github.com/apache/wayang/tree/main/python" target="_blank" rel="noopener noreferrer" class="">pywayang README</a> for full details.</p></div></div></div>
 <hr>
 <p><em>Stuck on the first run? That&#x27;s a documentation bug, and we want to know.
-Ask on the <a href="https://wayang.apache.org/docs/community/mailinglist" target="_blank" rel="noopener noreferrer">user mailing list</a>.</em></p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--next" href="/docs/guide/installation"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">How to build Wayang</div></a></nav></div></div><div class="col col--3"><div class="tab [...]
+Ask on the <a href="https://wayang.apache.org/docs/community/mailinglist" target="_blank" rel="noopener noreferrer" class="">user mailing list</a>.</em></p></div></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--next" href="/docs/guide/installation"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">How to build Wayang</div></a></nav></div></div><div class="col col--3"><div c [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/docs/guide/installation/index.html b/docs/guide/installation/index.html
index 0c057472..e74d55c4 100644
--- a/docs/guide/installation/index.html
+++ b/docs/guide/installation/index.html
@@ -2,53 +2,56 @@
 <html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-guide/installation" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
-<title data-rh="true">How to build Wayang | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/docs/guide/installation"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"> [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<meta name="generator" content="Docusaurus v3.10.1">
+<title data-rh="true">How to build Wayang | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/docs/guide/installation"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"> [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="clone-repository">Clone repository<a href="#clone-repository" class="hash-link" aria-label="Direct link to Clone repository" title="Direct link to Clone repository">​</a></h2>
-<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">git</span><span class="token plain"> clone https://github.com/ap [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="create-binaries">Create binaries<a href="#create-binaries" class="hash-link" aria-label="Direct link to Create binaries" title="Direct link to Create binaries">​</a></h2>
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="clone-repository">Clone repository<a href="#clone-repository" class="hash-link" aria-label="Direct link to Clone repository" title="Direct link to Clone repository" translate="no">​</a></h2>
+<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">git</span><span class="token plain"> clone https://github.com/apa [...]
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="create-binaries">Create binaries<a href="#create-binaries" class="hash-link" aria-label="Direct link to Create binaries" title="Direct link to Create binaries" translate="no">​</a></h2>
 <p>Running following commands to build Wayang and generate the tar.gz</p>
-<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token builtin class-name">cd</span><span class="token plain"> incubator-wayang</span><br></span><span  [...]
+<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token builtin class-name">cd</span><span class="token plain"> incubator-wayang</span><br></div><div cla [...]
 <p>Then you can find the <code>wayang-assembly-0.7.1-SNAPSHOT-dist.tar.gz</code> under <code>wayang-assembly/target</code> directory.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="prepare-the-environment">Prepare the environment<a href="#prepare-the-environment" class="hash-link" aria-label="Direct link to Prepare the environment" title="Direct link to Prepare the environment">​</a></h2>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="wayang">Wayang<a href="#wayang" class="hash-link" aria-label="Direct link to Wayang" title="Direct link to Wayang">​</a></h3>
-<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">tar</span><span class="token plain"> </span><span class="token p [...]
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="prepare-the-environment">Prepare the environment<a href="#prepare-the-environment" class="hash-link" aria-label="Direct link to Prepare the environment" title="Direct link to Prepare the environment" translate="no">​</a></h2>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="wayang">Wayang<a href="#wayang" class="hash-link" aria-label="Direct link to Wayang" title="Direct link to Wayang" translate="no">​</a></h3>
+<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">tar</span><span class="token plain"> </span><span class="token pa [...]
 <p>In linux</p>
-<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token builtin class-name">echo</span><span class="token plain"> </span><span class="token string" styl [...]
+<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token builtin class-name">echo</span><span class="token plain"> </span><span class="token string" style [...]
 <p>In MacOS</p>
-<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token builtin class-name">echo</span><span class="token plain"> </span><span class="token string" styl [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="others">Others<a href="#others" class="hash-link" aria-label="Direct link to Others" title="Direct link to Others">​</a></h3>
+<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token builtin class-name">echo</span><span class="token plain"> </span><span class="token string" style [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="others">Others<a href="#others" class="hash-link" aria-label="Direct link to Others" title="Direct link to Others" translate="no">​</a></h3>
 <ul>
-<li>You need to install Apache Spark version 3 or higher. Don&#x27;t forget to set the <code>SPARK_HOME</code> environment variable.</li>
-<li>You need to install Apache Hadoop version 3 or higher. Don&#x27;t forget to set the <code>HADOOP_HOME</code> environment variable.</li>
+<li class="">You need to install Apache Spark version 3 or higher. Don&#x27;t forget to set the <code>SPARK_HOME</code> environment variable.</li>
+<li class="">You need to install Apache Hadoop version 3 or higher. Don&#x27;t forget to set the <code>HADOOP_HOME</code> environment variable.</li>
 </ul>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="run-the-program">Run the program<a href="#run-the-program" class="hash-link" aria-label="Direct link to Run the program" title="Direct link to Run the program">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="run-the-program">Run the program<a href="#run-the-program" class="hash-link" aria-label="Direct link to Run the program" title="Direct link to Run the program" translate="no">​</a></h2>
 <p>To execute the WordCount example with Apache Wayang, you need to execute your program with the &#x27;wayang-submit&#x27; command:</p>
-<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token builtin class-name">cd</span><span class="token plain"> wayang-0.7.1-SNAPSHOT</span><br></span>< [...]
+<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token builtin class-name">cd</span><span class="token plain"> wayang-0.7.1-SNAPSHOT</span><br></div><di [...]
 <p>Then you should be able to see the output of the Wordcount example.</p>
 <h1>Compiling Apache Wayang</h1>
 <p>Apache Wayang has different dependencies, for compiling, it needs to add some profile in the compilation to enable maven works properly.</p>
-<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn clean compile</span><br></span></code></pre><div class="buttonGroup__atx"><button typ [...]
+<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn clean compile</span><br></div></code></pre></div></div>
 <p>The line before is because the plugin the Antlr is not needed in all the modules, as well it has happened with Scala language.</p>
 <p>When maven compiles one or more modules using those plugins in the compilation time, it needs to add.</p>
 <p>The modules are:</p>
 <ul>
-<li>wayang-api-scala-java</li>
-<li>wayang-core (Antlr)</li>
-<li>wayang-iejoin</li>
-<li>wayang-spark</li>
-<li>wayang-profiler</li>
-<li>wayang-tests-integration</li>
+<li class="">wayang-api-scala-java</li>
+<li class="">wayang-core (Antlr)</li>
+<li class="">wayang-iejoin</li>
+<li class="">wayang-spark</li>
+<li class="">wayang-profiler</li>
+<li class="">wayang-tests-integration</li>
 </ul>
 <h1>Executing Coverage</h1>
-<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn clean verify jacoco:report</span><br></span></code></pre><div class="buttonGroup__atx [...]
-<p>the final report is placed on <code>./target/aggregate.exec/aggregate.exec</code></p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/guide/getting-started"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Getting started</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/guide/ml4all"><div class="pagination-nav__ [...]
+<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn clean verify jacoco:report</span><br></div></code></pre></div></div>
+<p>the final report is placed on <code>./target/aggregate.exec/aggregate.exec</code></p></div></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/guide/getting-started"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Getting started</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/guide/ml4all"><div class="pagination-nav__ [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/docs/guide/json-wayang-plan-guide/index.html b/docs/guide/json-wayang-plan-guide/index.html
index 341b9379..9728659f 100644
--- a/docs/guide/json-wayang-plan-guide/index.html
+++ b/docs/guide/json-wayang-plan-guide/index.html
@@ -2,59 +2,62 @@
 <html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-guide/json-wayang-plan-guide" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
-<title data-rh="true">Documentation of Supported Operators in JSON-REST API | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/docs/guide/json-wayang-plan-guide"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="t [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<meta name="generator" content="Docusaurus v3.10.1">
+<title data-rh="true">Documentation of Supported Operators in JSON-REST API | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/docs/guide/json-wayang-plan-guide"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="t [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
 <p>This is not a full coverage of supported operators and plan parameters in the API. These are only the ones that we were able to verify ourselves working through testing, and that we allow in the agentic systems.</p>
-<p>For a Wayang plan in JSON to be executable, it must at least contain two main properties in its outer object: “context” and “operators”.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="overall-wayang-plan-structure">Overall Wayang Plan structure<a href="#overall-wayang-plan-structure" class="hash-link" aria-label="Direct link to Overall Wayang Plan structure" title="Direct link to Overall Wayang Plan structure">​</a></h2>
-<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">{</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="context-property">Context Property<a href="#context-property" class="hash-link" aria-label="Direct link to Context Property" title="Direct link to Context Property">​</a></h2>
+<p>For a Wayang plan in JSON to be executable, it must at least contain two main properties in its outer object: “context” and “operators”.</p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="overall-wayang-plan-structure">Overall Wayang Plan structure<a href="#overall-wayang-plan-structure" class="hash-link" aria-label="Direct link to Overall Wayang Plan structure" title="Direct link to Overall Wayang Plan structure" translate="no">​</a></h2>
+<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="t [...]
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="context-property">Context Property<a href="#context-property" class="hash-link" aria-label="Direct link to Context Property" title="Direct link to Context Property" translate="no">​</a></h2>
 <p>The “context” property is an object with at least two fields: “platforms” and “configurations”. Platform is a list of strings with platforms available for the plan, like “Java” or “Spark”. At least one platform must be provided. Configurations contain optional settings provided to Wayang. The field is required, but it is possible to provide an empty object to it for the plan to work. In that case, we believe that Wayang uses the default configuration settings. An example of “context”  [...]
-<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">{</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="operator-property">Operator Property<a href="#operator-property" class="hash-link" aria-label="Direct link to Operator Property" title="Direct link to Operator Property">​</a></h2>
+<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="t [...]
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="operator-property">Operator Property<a href="#operator-property" class="hash-link" aria-label="Direct link to Operator Property" title="Direct link to Operator Property" translate="no">​</a></h2>
 <p>The “operator” property consists of a list of objects. Each object is an operator specification, and the list contains the available operators to be used in a plan. An operator has a set of required fields that it must contain to work. Some fields are common across all operators, where others are unique for the specific operator.</p>
 <p>Table 1 describes the required fields for most operators. Some operators require additional properties inside the “data” object, but these are listed in the operator schema in Table 2</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="operator-properties-in-apache-wayang-plans-table-1">Operator Properties in Apache Wayang Plans (Table 1)<a href="#operator-properties-in-apache-wayang-plans-table-1" class="hash-link" aria-label="Direct link to Operator Properties in Apache Wayang Plans (Table 1)" title="Direct link to Operator Properties in Apache Wayang Plans (Table 1)">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="operator-properties-in-apache-wayang-plans-table-1">Operator Properties in Apache Wayang Plans (Table 1)<a href="#operator-properties-in-apache-wayang-plans-table-1" class="hash-link" aria-label="Direct link to Operator Properties in Apache Wayang Plans (Table 1)" title="Direct link to Operator Properties in Apache Wayang Plans (Table 1)" translate="no">​</a></h3>
 <table><thead><tr><th>Property</th><th>Value</th><th>Required in all operators</th><th>Description</th></tr></thead><tbody><tr><td>id</td><td><code>Int</code></td><td>Yes</td><td>The unique ID for an operator in a plan.</td></tr><tr><td>cat</td><td><code>String</code></td><td>Yes</td><td>The operator&#x27;s category or group, for example <em>input</em> or <em>unary</em>.</td></tr><tr><td>input</td><td><code>List[Int]</code></td><td>Yes</td><td>Unique IDs of operators that send data to th [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="operator-schema">Operator Schema<a href="#operator-schema" class="hash-link" aria-label="Direct link to Operator Schema" title="Direct link to Operator Schema">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="operator-schema">Operator Schema<a href="#operator-schema" class="hash-link" aria-label="Direct link to Operator Schema" title="Direct link to Operator Schema" translate="no">​</a></h2>
 <p>The following Table 2 is a schema of all tested operators. Every operator requires the properties listed in Table 1. Data properties are operator-specific properties required. The schema is not a full coverage of the JSON-REST API. Additional operator and parameters are supported as well. These are the operators that we allow in the agentic systems.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="supported-apache-wayang-operators-and-their-required-data-properties-table-2">Supported Apache Wayang Operators and their Required Data Properties (Table 2)<a href="#supported-apache-wayang-operators-and-their-required-data-properties-table-2" class="hash-link" aria-label="Direct link to Supported Apache Wayang Operators and their Required Data Properties (Table 2)" title="Direct link to Supported Apache Wayang Operators and their Requir [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="supported-apache-wayang-operators-and-their-required-data-properties-table-2">Supported Apache Wayang Operators and their Required Data Properties (Table 2)<a href="#supported-apache-wayang-operators-and-their-required-data-properties-table-2" class="hash-link" aria-label="Direct link to Supported Apache Wayang Operators and their Required Data Properties (Table 2)" title="Direct link to Supported Apache Wayang Operators and their Requ [...]
 <table><thead><tr><th>Category</th><th>Operator</th><th>Description</th><th>Required data properties</th><th>Example</th></tr></thead><tbody><tr><td>Input</td><td>jdbcRemoteInput</td><td>Reads data from a database using a JDBC connection.</td><td>uri, username, password, table, columnNames</td><td>jdbc_input</td></tr><tr><td>Input</td><td>textFileInput</td><td>Reads data from a text file line by line.</td><td>filename</td><td>textfile_input</td></tr><tr><td>Unary</td><td>map</td><td>Appl [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="operator-examples">Operator Examples<a href="#operator-examples" class="hash-link" aria-label="Direct link to Operator Examples" title="Direct link to Operator Examples">​</a></h2>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="jdbcremoteinput">jdbcRemoteInput<a href="#jdbcremoteinput" class="hash-link" aria-label="Direct link to jdbcRemoteInput" title="Direct link to jdbcRemoteInput">​</a></h3>
-<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">{</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="textfileinput">textFileInput<a href="#textfileinput" class="hash-link" aria-label="Direct link to textFileInput" title="Direct link to textFileInput">​</a></h3>
-<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">{</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="map">map<a href="#map" class="hash-link" aria-label="Direct link to map" title="Direct link to map">​</a></h3>
-<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">{</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="flatmap">flatMap<a href="#flatmap" class="hash-link" aria-label="Direct link to flatMap" title="Direct link to flatMap">​</a></h3>
-<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">{</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="filter">filter<a href="#filter" class="hash-link" aria-label="Direct link to filter" title="Direct link to filter">​</a></h3>
-<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">{</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="distinct">distinct<a href="#distinct" class="hash-link" aria-label="Direct link to distinct" title="Direct link to distinct">​</a></h3>
-<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">{</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="sort">sort<a href="#sort" class="hash-link" aria-label="Direct link to sort" title="Direct link to sort">​</a></h3>
-<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">{</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="sample">sample<a href="#sample" class="hash-link" aria-label="Direct link to sample" title="Direct link to sample">​</a></h3>
-<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">{</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="reduce">reduce<a href="#reduce" class="hash-link" aria-label="Direct link to reduce" title="Direct link to reduce">​</a></h3>
-<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">{</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="reduceby">reduceBy<a href="#reduceby" class="hash-link" aria-label="Direct link to reduceBy" title="Direct link to reduceBy">​</a></h3>
-<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">{</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="groupby">groupBy<a href="#groupby" class="hash-link" aria-label="Direct link to groupBy" title="Direct link to groupBy">​</a></h3>
-<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">{</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="count">count<a href="#count" class="hash-link" aria-label="Direct link to count" title="Direct link to count">​</a></h3>
-<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">{</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="join">join<a href="#join" class="hash-link" aria-label="Direct link to join" title="Direct link to join">​</a></h3>
-<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">{</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="textfileoutput">textFileOutput<a href="#textfileoutput" class="hash-link" aria-label="Direct link to textFileOutput" title="Direct link to textFileOutput">​</a></h3>
-<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">{</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" [...]
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="operator-examples">Operator Examples<a href="#operator-examples" class="hash-link" aria-label="Direct link to Operator Examples" title="Direct link to Operator Examples" translate="no">​</a></h2>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="jdbcremoteinput">jdbcRemoteInput<a href="#jdbcremoteinput" class="hash-link" aria-label="Direct link to jdbcRemoteInput" title="Direct link to jdbcRemoteInput" translate="no">​</a></h3>
+<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="t [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="textfileinput">textFileInput<a href="#textfileinput" class="hash-link" aria-label="Direct link to textFileInput" title="Direct link to textFileInput" translate="no">​</a></h3>
+<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="t [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="map">map<a href="#map" class="hash-link" aria-label="Direct link to map" title="Direct link to map" translate="no">​</a></h3>
+<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="t [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="flatmap">flatMap<a href="#flatmap" class="hash-link" aria-label="Direct link to flatMap" title="Direct link to flatMap" translate="no">​</a></h3>
+<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="t [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="filter">filter<a href="#filter" class="hash-link" aria-label="Direct link to filter" title="Direct link to filter" translate="no">​</a></h3>
+<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="t [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="distinct">distinct<a href="#distinct" class="hash-link" aria-label="Direct link to distinct" title="Direct link to distinct" translate="no">​</a></h3>
+<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="t [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="sort">sort<a href="#sort" class="hash-link" aria-label="Direct link to sort" title="Direct link to sort" translate="no">​</a></h3>
+<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="t [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="sample">sample<a href="#sample" class="hash-link" aria-label="Direct link to sample" title="Direct link to sample" translate="no">​</a></h3>
+<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="t [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="reduce">reduce<a href="#reduce" class="hash-link" aria-label="Direct link to reduce" title="Direct link to reduce" translate="no">​</a></h3>
+<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="t [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="reduceby">reduceBy<a href="#reduceby" class="hash-link" aria-label="Direct link to reduceBy" title="Direct link to reduceBy" translate="no">​</a></h3>
+<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="t [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="groupby">groupBy<a href="#groupby" class="hash-link" aria-label="Direct link to groupBy" title="Direct link to groupBy" translate="no">​</a></h3>
+<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="t [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="count">count<a href="#count" class="hash-link" aria-label="Direct link to count" title="Direct link to count" translate="no">​</a></h3>
+<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="t [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="join">join<a href="#join" class="hash-link" aria-label="Direct link to join" title="Direct link to join" translate="no">​</a></h3>
+<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="t [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="textfileoutput">textFileOutput<a href="#textfileoutput" class="hash-link" aria-label="Direct link to textFileOutput" title="Direct link to textFileOutput" translate="no">​</a></h3>
+<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="t [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/docs/guide/ml4all/index.html b/docs/guide/ml4all/index.html
index 72a3d15f..94dd0f42 100644
--- a/docs/guide/ml4all/index.html
+++ b/docs/guide/ml4all/index.html
@@ -2,53 +2,56 @@
 <html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-guide/ml4all" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
-<title data-rh="true">Scalable Machine Learning | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/docs/guide/ml4all"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"> [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<meta name="generator" content="Docusaurus v3.10.1">
+<title data-rh="true">Scalable Machine Learning | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/docs/guide/ml4all"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"> [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
 <p>ML4all is a system that frees users from the burden of machine learning algorithm selection and low-level implementation details.
 It uses a new abstraction that is capable of solving most ML tasks and provides a cost-based optimizer on top of the proposed abstraction for choosing the best gradient descent algorithm in a given setting.
 Our results show that ML4all is more than two orders of magnitude faster than state-of-the-art systems and can process large datasets that were not possible before.</p>
-<p>More details can be found in our dedicated <a href="https://dl.acm.org/citation.cfm?id=3064042" target="_blank" rel="noopener noreferrer">SIGMOD publication</a> and
-in Wayang&#x27;s core <a href="https://sigmodrecord.org/publications/sigmodRecord/2309/pdfs/05_Systems_Beedkar.pdf" target="_blank" rel="noopener noreferrer">system paper</a>.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="abstraction">Abstraction<a href="#abstraction" class="hash-link" aria-label="Direct link to Abstraction" title="Direct link to Abstraction">​</a></h2>
+<p>More details can be found in our dedicated <a href="https://dl.acm.org/citation.cfm?id=3064042" target="_blank" rel="noopener noreferrer" class="">SIGMOD publication</a> and
+in Wayang&#x27;s core <a href="https://sigmodrecord.org/publications/sigmodRecord/2309/pdfs/05_Systems_Beedkar.pdf" target="_blank" rel="noopener noreferrer" class="">system paper</a>.</p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="abstraction">Abstraction<a href="#abstraction" class="hash-link" aria-label="Direct link to Abstraction" title="Direct link to Abstraction" translate="no">​</a></h2>
 <p>ML4all abstracts most ML algorithms with seven operators:</p>
 <ul>
-<li>
+<li class="">
 <p>(1) <code>Transform</code> receives a data point to transform
 (e.g., normalize it) and outputs a new data point.</p>
 </li>
-<li>
+<li class="">
 <p>(2) <code>Stage</code> initializes all the required global param-
 eters (e.g., centroids for the k-means algorithm).</p>
 </li>
-<li>
+<li class="">
 <p>(3) <code>Compute</code> performs user-defined computations
 on the input data point and returns a new data
 point. For example, it can compute the nearest cen-
 troid for each input data point.</p>
 </li>
-<li>
+<li class="">
 <p>(4) <code>Update</code> updates the global parameters based on
 a user-defined formula. For example, it can update
 the new centroids based on the output computed by
 the Compute operator.</p>
 </li>
-<li>
+<li class="">
 <p>(5) <code>Sample</code> takes as input the size of the desired
 sample and the data points to sample from and re-
 turns a reduced set of sampled data points.</p>
 </li>
-<li>
+<li class="">
 <p>(6) <code>Converge</code> specifies a function that outputs
 a convergence dataset required for determining
 whether the iterations should continue or stop.</p>
 </li>
-<li>
+<li class="">
 <p>(7) <code>Loop</code> specifies the stopping condition on the
 convergence dataset.</p>
 </li>
@@ -56,15 +59,15 @@ convergence dataset.</p>
 <p>Similar to MapReduce, where users need to implement a map and reduce function, users of ML4all wishing to develop their own algorithm should implement the above interfaces.
 The interfaces can be found in <code>org.apache.wayang.ml4all.abstraction.api</code>.</p>
 <p>Examples for KMeans clustering and stochastic gradient descent can be found in <code>org.apache.wayang.ml4all.algorithms</code>.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="example-runs">Example runs<a href="#example-runs" class="hash-link" aria-label="Direct link to Example runs" title="Direct link to Example runs">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="example-runs">Example runs<a href="#example-runs" class="hash-link" aria-label="Direct link to Example runs" title="Direct link to Example runs" translate="no">​</a></h2>
 <ul>
-<li>Kmeans:</li>
+<li class="">Kmeans:</li>
 </ul>
-<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">./bin/wayang-submit org.apache.wayang.ml4all.examples.RunKMeans java,spark </span><span c [...]
+<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">./bin/wayang-submit org.apache.wayang.ml4all.examples.RunKMeans java,spark </span><span cl [...]
 <ul>
-<li>SGD:</li>
+<li class="">SGD:</li>
 </ul>
-<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">./bin/wayang-submit org.apache.wayang.ml4all.examples.RunSGD spark </span><span class="to [...]
+<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">./bin/wayang-submit org.apache.wayang.ml4all.examples.RunSGD spark </span><span class="tok [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/docs/guide/optimizer/index.html b/docs/guide/optimizer/index.html
index af1a24d7..215bebca 100644
--- a/docs/guide/optimizer/index.html
+++ b/docs/guide/optimizer/index.html
@@ -2,27 +2,30 @@
 <html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-guide/optimizer" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
-<title data-rh="true">Data processing optimizer | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/docs/guide/optimizer"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="e [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<meta name="generator" content="Docusaurus v3.10.1">
+<title data-rh="true">Data processing optimizer | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/docs/guide/optimizer"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="e [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
 <p>This guide covers the configuration settings available in Apache Wayang and tips on tuning performance.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="configuration-files">Configuration Files<a href="#configuration-files" class="hash-link" aria-label="Direct link to Configuration Files" title="Direct link to Configuration Files">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="configuration-files">Configuration Files<a href="#configuration-files" class="hash-link" aria-label="Direct link to Configuration Files" title="Direct link to Configuration Files" translate="no">​</a></h2>
 <ul>
-<li>Description of configuration files and how to edit them</li>
+<li class="">Description of configuration files and how to edit them</li>
 </ul>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="key-configuration-parameters">Key Configuration Parameters<a href="#key-configuration-parameters" class="hash-link" aria-label="Direct link to Key Configuration Parameters" title="Direct link to Key Configuration Parameters">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="key-configuration-parameters">Key Configuration Parameters<a href="#key-configuration-parameters" class="hash-link" aria-label="Direct link to Key Configuration Parameters" title="Direct link to Key Configuration Parameters" translate="no">​</a></h2>
 <ul>
-<li>List of key parameters and how they affect performance</li>
+<li class="">List of key parameters and how they affect performance</li>
 </ul>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="tuning-tips">Tuning Tips<a href="#tuning-tips" class="hash-link" aria-label="Direct link to Tuning Tips" title="Direct link to Tuning Tips">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="tuning-tips">Tuning Tips<a href="#tuning-tips" class="hash-link" aria-label="Direct link to Tuning Tips" title="Direct link to Tuning Tips" translate="no">​</a></h2>
 <ul>
-<li>Tips on tuning Apache Wayang for different scenarios</li>
-</ul></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/guide/adding-operators"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Adding an operator in Wayang</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/guide/wayang-docker"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Using W [...]
+<li class="">Tips on tuning Apache Wayang for different scenarios</li>
+</ul></div></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/guide/adding-operators"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Adding an operator in Wayang</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/guide/wayang-docker"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Using W [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/docs/guide/usage-examples/index.html b/docs/guide/usage-examples/index.html
index a3862b19..cc8dd36b 100644
--- a/docs/guide/usage-examples/index.html
+++ b/docs/guide/usage-examples/index.html
@@ -2,28 +2,31 @@
 <html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-guide/usage-examples" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
-<title data-rh="true">Usage Examples | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/docs/guide/usage-examples"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><me [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<meta name="generator" content="Docusaurus v3.10.1">
+<title data-rh="true">Usage Examples | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/docs/guide/usage-examples"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><me [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
 <p>This section provides a set of examples to illustrate how to use Apache Wayang for different tasks.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="example-1-machine-learning-for-query-optimization-in-apache-wayang">Example 1: Machine Learning for query optimization in Apache Wayang<a href="#example-1-machine-learning-for-query-optimization-in-apache-wayang" class="hash-link" aria-label="Direct link to Example 1: Machine Learning for query optimization in Apache Wayang" title="Direct link to Example 1: Machine Learning for query optimization in Apache Wayang">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="example-1-machine-learning-for-query-optimization-in-apache-wayang">Example 1: Machine Learning for query optimization in Apache Wayang<a href="#example-1-machine-learning-for-query-optimization-in-apache-wayang" class="hash-link" aria-label="Direct link to Example 1: Machine Learning for query optimization in Apache Wayang" title="Direct link to Example 1: Machine Learning for query optimization in Apache Wayang" translate="no">​</a></h2>
 <p>Apache Wayang can be customized with concrete
 implementations of the <code>EstimatableCost</code> interface in order to optimize
 for a desired metric.  The implementation can be enabled by providing it
 to a <code>Configuration</code>.</p>
-<div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">public</span><span class="token plain"> </span><span class="token k [...]
+<div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">public</span><span class="token plain"> </span><span class="token ke [...]
 <p>In combination with an encoding scheme and a third party package to load
 ML models, the following example shows how to predict runtimes of query
 execution plans runtimes in Apache Wayang:</p>
-<div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">public</span><span class="token plain"> </span><span class="token k [...]
+<div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">public</span><span class="token plain"> </span><span class="token ke [...]
 <p>Third-party packages such as <code>OnnxRuntime</code> can be used to load
 pre-trained <code>.onnx</code> files that contain desired ML models.</p>
-<div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">public</span><span class="token plain"> </span><span class="token k [...]
+<div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">public</span><span class="token plain"> </span><span class="token ke [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/docs/guide/wayang-docker/index.html b/docs/guide/wayang-docker/index.html
index b048d723..3a3c1830 100644
--- a/docs/guide/wayang-docker/index.html
+++ b/docs/guide/wayang-docker/index.html
@@ -2,49 +2,52 @@
 <html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-guide/wayang-docker" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
-<title data-rh="true">Using Wayang&#x27;s docker image | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/docs/guide/wayang-docker"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<meta name="generator" content="Docusaurus v3.10.1">
+<title data-rh="true">Using Wayang&#x27;s docker image | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/docs/guide/wayang-docker"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
 <p>This guide provides a brief example for developers that want to utilize
 docker in order to develop with Wayang.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="step-1-creating-a-docker-compose-file">Step 1: Creating a docker-compose file<a href="#step-1-creating-a-docker-compose-file" class="hash-link" aria-label="Direct link to Step 1: Creating a docker-compose file" title="Direct link to Step 1: Creating a docker-compose file">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="step-1-creating-a-docker-compose-file">Step 1: Creating a docker-compose file<a href="#step-1-creating-a-docker-compose-file" class="hash-link" aria-label="Direct link to Step 1: Creating a docker-compose file" title="Direct link to Step 1: Creating a docker-compose file" translate="no">​</a></h2>
 <p>This guide assumes knowledge about
-<a href="https://docs.docker.com/engine/install/" target="_blank" rel="noopener noreferrer">docker</a> and
-<a href="https://docs.docker.com/compose/install/" target="_blank" rel="noopener noreferrer">docker compose</a>.
-We provide a <a href="https://hub.docker.com/r/apache/incubator-wayang" target="_blank" rel="noopener noreferrer">pre-built docker image</a>
+<a href="https://docs.docker.com/engine/install/" target="_blank" rel="noopener noreferrer" class="">docker</a> and
+<a href="https://docs.docker.com/compose/install/" target="_blank" rel="noopener noreferrer" class="">docker compose</a>.
+We provide a <a href="https://hub.docker.com/r/apache/incubator-wayang" target="_blank" rel="noopener noreferrer" class="">pre-built docker image</a>
 that contains the necessary tooling in order to run or develop Apache Wayang.
 The tools necessary for this are:</p>
 <ul>
-<li>Java 11</li>
-<li>Apache Spark</li>
-<li>Hadoop</li>
-<li>Maven</li>
+<li class="">Java 11</li>
+<li class="">Apache Spark</li>
+<li class="">Hadoop</li>
+<li class="">Maven</li>
 </ul>
 <p>A <code>docker-compose.yml</code> containing the following services will suffice to
-run <a href="https://www.tpc.org/tpch/" target="_blank" rel="noopener noreferrer">TPC-H</a> benchmarks:</p>
-<div class="language-yml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-yml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">name</span><span class="token punctuation" style="color:#393A34">: [...]
+run <a href="https://www.tpc.org/tpch/" target="_blank" rel="noopener noreferrer" class="">TPC-H</a> benchmarks:</p>
+<div class="language-yml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-yml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">name</span><span class="token punctuation" style="color:#393A34">:< [...]
 <p>Placing this file in the root directory of Wayang&#x27;s source will mount
 volumes containing the application and its dependencies after
 installation into the app container.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="step-2-connecting-to-the-app-container">Step 2: Connecting to the app container<a href="#step-2-connecting-to-the-app-container" class="hash-link" aria-label="Direct link to Step 2: Connecting to the app container" title="Direct link to Step 2: Connecting to the app container">​</a></h2>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="step-2-connecting-to-the-app-container">Step 2: Connecting to the app container<a href="#step-2-connecting-to-the-app-container" class="hash-link" aria-label="Direct link to Step 2: Connecting to the app container" title="Direct link to Step 2: Connecting to the app container" translate="no">​</a></h2>
 <p>In order to get a interactive bash session that allows running commands
 inside of the app container, run the following:</p>
-<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">docker</span><span class="token plain"> </span><span class="toke [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="step-3-compiling-wayang-and-running-benchmarks">Step 3: Compiling Wayang and running benchmarks<a href="#step-3-compiling-wayang-and-running-benchmarks" class="hash-link" aria-label="Direct link to Step 3: Compiling Wayang and running benchmarks" title="Direct link to Step 3: Compiling Wayang and running benchmarks">​</a></h2>
+<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">docker</span><span class="token plain"> </span><span class="token [...]
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="step-3-compiling-wayang-and-running-benchmarks">Step 3: Compiling Wayang and running benchmarks<a href="#step-3-compiling-wayang-and-running-benchmarks" class="hash-link" aria-label="Direct link to Step 3: Compiling Wayang and running benchmarks" title="Direct link to Step 3: Compiling Wayang and running benchmarks" translate="no">​</a></h2>
 <p>Within the root directory of Wayang (/var/www/html in our container),
 run the following command to install all packages in Wayang:</p>
-<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn clean </span><span class="token function" style="color:#d73a49">install</span><span c [...]
+<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn clean </span><span class="token function" style="color:#d73a49">install</span><span cl [...]
 <p>Packaging the project to build the executable:</p>
-<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn clean package </span><span class="token parameter variable" style="color:#36acaa">-pl [...]
+<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">mvn clean package </span><span class="token parameter variable" style="color:#36acaa">-pl< [...]
 <p>Execute your code:</p>
-<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token builtin class-name">cd</span><span class="token plain"> wayang-assembly/target/</span><br></span [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="optional-add-clusters-for-additional-platforms-to-your-docker-setup">Optional: Add clusters for additional platforms to your docker setup<a href="#optional-add-clusters-for-additional-platforms-to-your-docker-setup" class="hash-link" aria-label="Direct link to Optional: Add clusters for additional platforms to your docker setup" title="Direct link to Optional: Add clusters for additional platforms to your docker setup">​</a></h2>
-<div class="language-yml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-yml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">name</span><span class="token punctuation" style="color:#393A34">: [...]
+<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token builtin class-name">cd</span><span class="token plain"> wayang-assembly/target/</span><br></div>< [...]
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="optional-add-clusters-for-additional-platforms-to-your-docker-setup">Optional: Add clusters for additional platforms to your docker setup<a href="#optional-add-clusters-for-additional-platforms-to-your-docker-setup" class="hash-link" aria-label="Direct link to Optional: Add clusters for additional platforms to your docker setup" title="Direct link to Optional: Add clusters for additional platforms to your docker setup" translate="no">​ [...]
+<div class="language-yml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-yml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">name</span><span class="token punctuation" style="color:#393A34">:< [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/docs/introduction/about/index.html b/docs/introduction/about/index.html
index c8169636..3a0dc36e 100644
--- a/docs/introduction/about/index.html
+++ b/docs/introduction/about/index.html
@@ -2,14 +2,17 @@
 <html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-introduction/about" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
-<title data-rh="true">What is Apache Wayang™? | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/docs/introduction/about"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content=" [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<meta name="generator" content="Docusaurus v3.10.1">
+<title data-rh="true">What is Apache Wayang™? | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/docs/introduction/about"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content=" [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
 <p>Apache Wayang&#x27;s three-layer architecture provides a strategic <em>abstraction</em> between user applications and underlying data processing platforms, ensuring seamless integration among heterogeneous systems. The application layer encapsulates application-specific logic, while the core layer acts as an intermediary, translating application logic into an intermediate representation (Wayang plan). The Wayang plan is then transformed into an execution plan in the platform layer, wh [...]
 <p>One of Wayang’s key innovations is its <em>cross-platform optimizer</em>, which automates data system selection and spares users from making complex platform choices.
 This optimization process ensures that the resulted execution plan is tailored to the specific strengths and capabilities of each data engine, maximizing performance and efficiency.</p>
@@ -17,7 +20,7 @@ This optimization process ensures that the resulted execution plan is tailored t
 Designed with flexibility as a priority, Apache Wayang enables easy <em>extensibility</em> to accommodate new operators and data systems.
 The platform&#x27;s extensibility and ease of use makes it a compelling choice for data engineers and developers seeking a unifying and versatile data processing solution.</p>
 <br>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="architecture-and-software-stack">Architecture and Software stack<a href="#architecture-and-software-stack" class="hash-link" aria-label="Direct link to Architecture and Software stack" title="Direct link to Architecture and Software stack">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="architecture-and-software-stack">Architecture and Software stack<a href="#architecture-and-software-stack" class="hash-link" aria-label="Direct link to Architecture and Software stack" title="Direct link to Architecture and Software stack" translate="no">​</a></h3>
 <p>Apache Wayang&#x27;s unique architecture, unlike traditional DBMSs, decouples the physical planning and execution layers, empowering developers to express their data processing logic in a platform-agnostic fashion. This separation of concerns allows developers to focus on the algorithmic aspects of their applications without being constrained by the intricacies of specific processing platforms.</p>
 <br>
 <img width="75%" alt="wayang stack" src="/img/architecture/wayang-stack.png">
@@ -29,7 +32,7 @@ The platform&#x27;s extensibility and ease of use makes it a compelling choice f
 <br>
 <img width="75%" alt="wayang plan" src="/img/architecture/wayang-plan.png">
 <br>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="query-optimizer">Query Optimizer<a href="#query-optimizer" class="hash-link" aria-label="Direct link to Query Optimizer" title="Direct link to Query Optimizer">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="query-optimizer">Query Optimizer<a href="#query-optimizer" class="hash-link" aria-label="Direct link to Query Optimizer" title="Direct link to Query Optimizer" translate="no">​</a></h3>
 <p>Wayang&#x27;s query optimizer is the principal component of the core. It receives as input a Wayang plan and outputs an execution (platform-specific) plan (see example plan above) with the goal of minimizing the total cost. The metric for the cost can be anything, from execution runtime to monetary cost or energy consumption.
 To achieve this, the optimizer first “inflates” the plan: For each node that corresponds to a Wayang operator, it adds all the corresponding execution (platform-specific) operators. Once the inflated plan is created, the optimizer attaches not only the operator’s costs but also the costs for moving intermediate data from one platform to another. By default, Wayang uses linear cost formulas to estimate these costs but one can plug their own optimizer, e.g., an ML-based one. At the last st [...]
 <br>
@@ -37,25 +40,25 @@ To achieve this, the optimizer first “inflates” the plan: For each node that
 <br>
 <p>Note that users can control the optimizer by specifying in their code where an operator has to be executed via the <code>withTargetPlatform(plat)</code> call on the desired operator. Then, the optimizer takes into consideration the decisions of the user and outputs an execution plan by navigating a reduced search space during the plan enumeration.</p>
 <br>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="history">History<a href="#history" class="hash-link" aria-label="Direct link to History" title="Direct link to History">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="history">History<a href="#history" class="hash-link" aria-label="Direct link to History" title="Direct link to History" translate="no">​</a></h3>
 <p>Wayang (formely called Rheem) is the product of many years of top quality research. Below you can find the main publications:</p>
 <ul>
-<li>
-<p>Apache Wayang: A Unified Data Analytics Framework. SIGMOD Rec. 52(3): 30-35 (2023) <a href="https://sigmodrecord.org/publications/sigmodRecord/2309/pdfs/05_Systems_Beedkar.pdf" target="_blank" rel="noopener noreferrer">pdf</a></p>
+<li class="">
+<p>Apache Wayang: A Unified Data Analytics Framework. SIGMOD Rec. 52(3): 30-35 (2023) <a href="https://sigmodrecord.org/publications/sigmodRecord/2309/pdfs/05_Systems_Beedkar.pdf" target="_blank" rel="noopener noreferrer" class="">pdf</a></p>
 </li>
-<li>
-<p>Apache Wayang in Action: Enabling Data Systems Integration via a Unified Data Analytics Framework. SIGMOD Conference Companion 2025: 35-38 <a href="https://dl.acm.org/doi/pdf/10.1145/3722212.3725081" target="_blank" rel="noopener noreferrer">pdf</a></p>
+<li class="">
+<p>Apache Wayang in Action: Enabling Data Systems Integration via a Unified Data Analytics Framework. SIGMOD Conference Companion 2025: 35-38 <a href="https://dl.acm.org/doi/pdf/10.1145/3722212.3725081" target="_blank" rel="noopener noreferrer" class="">pdf</a></p>
 </li>
-<li>
-<p>ML-based Cross-Platform Query Optimization. ICDE 2020: 1489-1500 <a href="https://itu.dk/~joqu/assets/publications/icde20.pdf" target="_blank" rel="noopener noreferrer">pdf</a></p>
+<li class="">
+<p>ML-based Cross-Platform Query Optimization. ICDE 2020: 1489-1500 <a href="https://itu.dk/~joqu/assets/publications/icde20.pdf" target="_blank" rel="noopener noreferrer" class="">pdf</a></p>
 </li>
-<li>
-<p>RHEEMix in the data jungle: a cost-based optimizer for cross-platform systems. VLDB J. 29(6): 1287-1310 (2020) <a href="https://link.springer.com/article/10.1007/s00778-020-00612-x" target="_blank" rel="noopener noreferrer">pdf</a></p>
+<li class="">
+<p>RHEEMix in the data jungle: a cost-based optimizer for cross-platform systems. VLDB J. 29(6): 1287-1310 (2020) <a href="https://link.springer.com/article/10.1007/s00778-020-00612-x" target="_blank" rel="noopener noreferrer" class="">pdf</a></p>
 </li>
-<li>
-<p>RHEEM: Enabling Cross-Platform Data Processing - May The Big Data Be With You! -. Proc. VLDB Endow. 11(11): 1414-1427 (2018) <a href="http://www.vldb.org/pvldb/vol11/p1414-agrawal.pdf" target="_blank" rel="noopener noreferrer">pdf</a></p>
+<li class="">
+<p>RHEEM: Enabling Cross-Platform Data Processing - May The Big Data Be With You! -. Proc. VLDB Endow. 11(11): 1414-1427 (2018) <a href="http://www.vldb.org/pvldb/vol11/p1414-agrawal.pdf" target="_blank" rel="noopener noreferrer" class="">pdf</a></p>
 </li>
-</ul></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--next" href="/docs/introduction/benchmark"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Benchmarking Wayang</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#archite [...]
+</ul></div></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--next" href="/docs/introduction/benchmark"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Benchmarking Wayang</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#archite [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/docs/introduction/benchmark/index.html b/docs/introduction/benchmark/index.html
index 283752d0..1ad53bf0 100644
--- a/docs/introduction/benchmark/index.html
+++ b/docs/introduction/benchmark/index.html
@@ -2,26 +2,29 @@
 <html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-introduction/benchmark" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
-<title data-rh="true">Benchmarking Wayang | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/docs/introduction/benchmark"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content=" [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<meta name="generator" content="Docusaurus v3.10.1">
+<title data-rh="true">Benchmarking Wayang | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/docs/introduction/benchmark"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content=" [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
 <p>Apache Wayang has the goal of providing a platform to enable data-agnostic applications and decentralized data processing, the fundamentals of federated learning.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="running-a-relational-query-across-multiple-independent-databases-federation">Running a Relational Query Across Multiple Independent Databases (Federation)<a href="#running-a-relational-query-across-multiple-independent-databases-federation" class="hash-link" aria-label="Direct link to Running a Relational Query Across Multiple Independent Databases (Federation)" title="Direct link to Running a Relational Query Across Multiple Independent [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="running-a-relational-query-across-multiple-independent-databases-federation">Running a Relational Query Across Multiple Independent Databases (Federation)<a href="#running-a-relational-query-across-multiple-independent-databases-federation" class="hash-link" aria-label="Direct link to Running a Relational Query Across Multiple Independent Databases (Federation)" title="Direct link to Running a Relational Query Across Multiple Independe [...]
 <p>In this use case, we showcase how Apache Wayang addresses the common challenge of analyzing data scattered across diverse systems, a prevalent issue in many data-driven projects. Through Wayang, developers can seamlessly perform analytics on relational data residing in multiple systems. The in-situ data processing approach employed by Wayang introduces data privacy-preserving mechanisms into distributed data analytics tasks.</p>
-<p><strong>Datasets</strong>: To test the capabilities of Wayang, we utilized the <a href="https://www.tpc.org/tpch/default5.asp" target="_blank" rel="noopener noreferrer">TPC-H benchmark</a>, which comprises five datasets/relations. The lineitem and orders relations are stored in HDFS, while customer, supplier, and region are in Postgres, and nation is in S3 or the local file system. Our testing covered a range of dataset sizes, from 1GB to 100GB, to ensure our product&#x27;s scalabilit [...]
+<p><strong>Datasets</strong>: To test the capabilities of Wayang, we utilized the <a href="https://www.tpc.org/tpch/default5.asp" target="_blank" rel="noopener noreferrer" class="">TPC-H benchmark</a>, which comprises five datasets/relations. The lineitem and orders relations are stored in HDFS, while customer, supplier, and region are in Postgres, and nation is in S3 or the local file system. Our testing covered a range of dataset sizes, from 1GB to 100GB, to ensure our product&#x27;s s [...]
 <p><strong>Query/task</strong>: We evaluate the performance of the complex SQL TPC-H query 5:</p>
-<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">SELECT</span><span class="token plain"> N_NAME</span><span class="tok [...]
+<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">SELECT</span><span class="token plain"> N_NAME</span><span class="toke [...]
 <p><strong>Baselines</strong>: We compared Wayang with two widely-used systems for storing and querying relational data: Spark and Postgres. To conduct a fair comparison, we first moved all datasets to the system being tested (Spark or Postgres).</p>
 <p><strong>Results</strong>: The results of our tests, presented in Figure 1, show the execution time in seconds of the SQL query 5. Note that the time required to transfer data to Spark or Postgres was excluded from the results. As seen in Figure 1, Wayang significantly outperformed Postgres while retaining a runtime very close to Spark. It&#x27;s important to note that for Spark to function, we needed twice the time to extract datasets from Postgres and transfer them to Spark.
 Wayang achieved such impressive performance by seamlessly combining Postgres with Spark: Wayang&#x27;s query optimizer chose to perform all selections and projections on the data stored in Postgres before extracting data to join with the relations in HDFS. Additionally, the optimizer determined that executing the join between lineitem and supplier in Spark would be beneficial, as it could distribute the computational load of joining to multiple workers. All of this was done without the n [...]
 <br>
 <img width="75%" alt="" src="/img/benchmarks/disperse_data.png">
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="reducing-execution-costs-for-machine-learning-tasks-using-multiple-systems">Reducing Execution Costs for Machine Learning Tasks Using Multiple Systems<a href="#reducing-execution-costs-for-machine-learning-tasks-using-multiple-systems" class="hash-link" aria-label="Direct link to Reducing Execution Costs for Machine Learning Tasks Using Multiple Systems" title="Direct link to Reducing Execution Costs for Machine Learning Tasks Using Mult [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="reducing-execution-costs-for-machine-learning-tasks-using-multiple-systems">Reducing Execution Costs for Machine Learning Tasks Using Multiple Systems<a href="#reducing-execution-costs-for-machine-learning-tasks-using-multiple-systems" class="hash-link" aria-label="Direct link to Reducing Execution Costs for Machine Learning Tasks Using Multiple Systems" title="Direct link to Reducing Execution Costs for Machine Learning Tasks Using Mu [...]
 <p>To evaluate Apache Wayang&#x27;s ability to accelerate machine learning tasks while optimizing costs by leveraging multiple systems, we conducted a comprehensive benchmark. The benchmark involved storing all data within a single repository, a scenario where selectively offloading data to more powerful engines can significantly enhance performance. To assess this feature, we employed a widely used machine learning algorithm, stochastic gradient descent, to perform classification tasks. [...]
 <p><strong>Datasets</strong>: We use two real-world datasets that we downloaded from the UCI machine learning repository, namely higgs and rcv1. higgs consists of ~11 million data points with 28 features each and rcv1 contains ~677 thousand data points with ~47 thousand features each. In addition, we construct a synthetic dataset so that we can stress our product with even larger datasets, specifically with 88 million data points of 100 features each.</p>
 <p><strong>Query/task</strong>: We test the performance of training classification models for higgs and the synthetic dataset and a regression model rcv1. All three training models use stochastic gradient descent but with a different loss function. We use Hinge loss to simulate support vector machines for the classification tasks and the logistic loss for the regression task.</p>
@@ -30,7 +33,7 @@ Wayang achieved such impressive performance by seamlessly combining Postgres wit
 <br>
 <img width="75%" alt="" src="/img/benchmarks/bench2.png">
 <p>Apache Wayang&#x27;s intelligent optimizer dynamically utilizes a hybrid approach, seamlessly blending Spark and local Java execution, to significantly improve the performance of the stochastic gradient descent algorithm. This optimization strategy involves leveraging Spark for efficient preprocessing and data preparation, while transitioning to local Java execution for the subsequent gradient computation phase. During this phase, the dataset shrinks considerably, making it more effic [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="optimizing-big-data-analytics-by-adapting-platforms-to-data-and-task-characteristics">Optimizing Big Data Analytics by Adapting Platforms to Data and Task Characteristics<a href="#optimizing-big-data-analytics-by-adapting-platforms-to-data-and-task-characteristics" class="hash-link" aria-label="Direct link to Optimizing Big Data Analytics by Adapting Platforms to Data and Task Characteristics" title="Direct link to Optimizing Big Data An [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="optimizing-big-data-analytics-by-adapting-platforms-to-data-and-task-characteristics">Optimizing Big Data Analytics by Adapting Platforms to Data and Task Characteristics<a href="#optimizing-big-data-analytics-by-adapting-platforms-to-data-and-task-characteristics" class="hash-link" aria-label="Direct link to Optimizing Big Data Analytics by Adapting Platforms to Data and Task Characteristics" title="Direct link to Optimizing Big Data  [...]
 <p>We demonstrate the platform adaptation capabilities of Apache Wayang, showcasing how it optimizes analytical tasks by tailoring execution to the specific data and task characteristics. Our approach involves dynamically selecting the optimal processing engine based on the nature of the data and the complexity of the analytical operation. This flexibility allows Wayang to deliver enhanced performance and efficiency, particularly for complex analytical workflows that demand the strengths [...]
 <p><strong>Datasets</strong>: We use Wikipedia abstracts and store them in HDFS. We vary the dataset size from 1GB to 800GB.</p>
 <p><strong>Query/task</strong>: We test our product with a widely popular big data analytical task, namely WordCount. It counts the number of distinct words in a text corpus. Different variations of wordcount are useful in various text mining applications, such as term frequency, word clouds, etc.</p>
@@ -39,7 +42,7 @@ Wayang achieved such impressive performance by seamlessly combining Postgres wit
 <br>
 <img width="75%" alt="" src="/img/benchmarks/bench3.png">
 <br>
-<br></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/introduction/about"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">What is Apache Wayang™?</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/introduction/features"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Features</div>< [...]
+<br></div></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/introduction/about"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">What is Apache Wayang™?</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/introduction/features"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Features</div>< [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/docs/introduction/features/index.html b/docs/introduction/features/index.html
index 99861278..fedadae0 100644
--- a/docs/introduction/features/index.html
+++ b/docs/introduction/features/index.html
@@ -2,44 +2,47 @@
 <html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-introduction/features" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
-<title data-rh="true">Features | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/docs/introduction/features"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta da [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<meta name="generator" content="Docusaurus v3.10.1">
+<title data-rh="true">Features | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/docs/introduction/features"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta da [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
 <p>Apache Wayang&#x27;s cross-platform optimizer stands out as its most distinguishing feature. It not only selects the most suitable processing engine for each task, but also empowers users to execute a single task across multiple platforms. This capability is achieved through an extensible set of graph transformations applied to the Apache Wayang plan, which identifies alternative execution plans that potentially offer better performance. These alternative plans are then evaluated usin [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="scalable-ml-ml4all">Scalable ML (ML4All)<a href="#scalable-ml-ml4all" class="hash-link" aria-label="Direct link to Scalable ML (ML4All)" title="Direct link to Scalable ML (ML4All)">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="scalable-ml-ml4all">Scalable ML (ML4All)<a href="#scalable-ml-ml4all" class="hash-link" aria-label="Direct link to Scalable ML (ML4All)" title="Direct link to Scalable ML (ML4All)" translate="no">​</a></h3>
 <p>ML4all is part of Wayang, enhancing machine learning workflows. ML4all alleviates users from the complexities of algorithm selection and low-level implementation details, enabling them to concentrate on the core aspects of their machine learning applications. By employing an innovative abstraction, ML4all addresses a broad spectrum of machine learning tasks and utilizes a cost-based optimizer to dynamically identify the optimal gradient descent algorithm for each scenario. Notably, ML [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="high-efficiency">High Efficiency<a href="#high-efficiency" class="hash-link" aria-label="Direct link to High Efficiency" title="Direct link to High Efficiency">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="high-efficiency">High Efficiency<a href="#high-efficiency" class="hash-link" aria-label="Direct link to High Efficiency" title="Direct link to High Efficiency" translate="no">​</a></h3>
 <p>Apache Wayang&#x27;s suite of optimized operators and sophisticated query optimization techniques enables it to effectively process large-scale and small-scale datasets. By employing a data processing abstraction based on UDFs, Wayang allows applications to convey semantic information about their functions, optimization hints (such as iteration counts), constraints (e.g., physical placement of operators), and alternative execution plans. The optimizer incorporates these insights to re [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="flexibility">Flexibility<a href="#flexibility" class="hash-link" aria-label="Direct link to Flexibility" title="Direct link to Flexibility">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="flexibility">Flexibility<a href="#flexibility" class="hash-link" aria-label="Direct link to Flexibility" title="Direct link to Flexibility" translate="no">​</a></h3>
 <p>Apache Wayang offers a collection of operators that applications utilize to define their tasks. A crucial aspect of Apache Wayang is its flexible operator mapping structure, which enables developers to effortlessly add, modify, or remove mappings between Wayang and execution operators. This flexibility empowers developers to seamlessly integrate additional Wayang and execution operators into their applications.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="cost-saving">Cost Saving<a href="#cost-saving" class="hash-link" aria-label="Direct link to Cost Saving" title="Direct link to Cost Saving">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="cost-saving">Cost Saving<a href="#cost-saving" class="hash-link" aria-label="Direct link to Cost Saving" title="Direct link to Cost Saving" translate="no">​</a></h3>
 <p>Developers can focus on building their applications without the need to understand the complexities of underlying platforms. This simplifies the development process and removes the requirement for developers to be experts in big data infrastructures. Apache Wayang automatically determines the most suitable data processing platforms for specific tasks and deploys applications accordingly.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="additional-features">Additional Features<a href="#additional-features" class="hash-link" aria-label="Direct link to Additional Features" title="Direct link to Additional Features">​</a></h3>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="additional-features">Additional Features<a href="#additional-features" class="hash-link" aria-label="Direct link to Additional Features" title="Direct link to Additional Features" translate="no">​</a></h3>
 <ul>
-<li>Zero-copy: cross-platform in-situ data processing</li>
-<li>High performance: A highly-extensible API framework to generate DAG based federated execution plane at runtime to speed up data processing, providing 50-180x speed up by:<!-- -->
+<li class="">Zero-copy: cross-platform in-situ data processing</li>
+<li class="">High performance: A highly-extensible API framework to generate DAG based federated execution plane at runtime to speed up data processing, providing 50-180x speed up by:<!-- -->
 <ul>
-<li>reduce data movement to single platforms</li>
-<li>reduce ETL overhead to perform large-scale analytics</li>
-<li>reduce data duplication and storage</li>
-<li>execute data processing on the best available technology, including local JVM stream processing</li>
+<li class="">reduce data movement to single platforms</li>
+<li class="">reduce ETL overhead to perform large-scale analytics</li>
+<li class="">reduce data duplication and storage</li>
+<li class="">execute data processing on the best available technology, including local JVM stream processing</li>
 </ul>
 </li>
-<li>Data application agnosticity<!-- -->
+<li class="">Data application agnosticity<!-- -->
 <ul>
-<li>run data tasks on multiple platforms without re-platforming the code (move jobs from Hadoop to Spark without changing the code at large)</li>
-<li>implement a sustainable AI strategy by using data pools in-situ</li>
+<li class="">run data tasks on multiple platforms without re-platforming the code (move jobs from Hadoop to Spark without changing the code at large)</li>
+<li class="">implement a sustainable AI strategy by using data pools in-situ</li>
 </ul>
 </li>
-<li>Enterprise ready federated learning (in development)</li>
+<li class="">Enterprise ready federated learning (in development)</li>
 </ul>
 <br>
-<br></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/introduction/benchmark"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Benchmarking Wayang</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#cros [...]
+<br></div></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/introduction/benchmark"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Benchmarking Wayang</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#cros [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/docs/start/download/index.html b/docs/start/download/index.html
index fa3f292c..7f2d045b 100644
--- a/docs/start/download/index.html
+++ b/docs/start/download/index.html
@@ -2,51 +2,54 @@
 <html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-start/download" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
-<title data-rh="true">Download Apache Wayang™ | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/docs/start/download"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"> [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<meta name="generator" content="Docusaurus v3.10.1">
+<title data-rh="true">Download Apache Wayang™ | Apache Wayang™</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/docs/start/download"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"> [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
-<h1>Releases</h1>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="111">1.1.1<a href="#111" class="hash-link" aria-label="Direct link to 1.1.1" title="Direct link to 1.1.1">​</a></h2>
-<p>Source Code: <a href="https://www.apache.org/dyn/closer.lua/wayang/1.1.1/apache-wayang-1.1.1-source-release.zip?action=download" target="_blank" rel="noopener noreferrer">zip</a><br>
-<!-- -->Signature: <a href="https://downloads.apache.org/wayang/1.1.1/apache-wayang-1.1.1-source-release.zip.asc" target="_blank" rel="noopener noreferrer">asc</a><br>
-<!-- -->Hashes: <a href="https://downloads.apache.org/wayang/1.1.1/apache-wayang-1.1.1-source-release.zip.sha512" target="_blank" rel="noopener noreferrer">sha512</a><br>
-<!-- -->Release Notes: <a href="https://downloads.apache.org/wayang/1.1.1/RELEASE_NOTES" target="_blank" rel="noopener noreferrer">notes</a></p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="110-incubating">1.1.0 (incubating)<a href="#110-incubating" class="hash-link" aria-label="Direct link to 1.1.0 (incubating)" title="Direct link to 1.1.0 (incubating)">​</a></h2>
-<p>Source Code: <a href="https://www.apache.org/dyn/closer.lua/incubator/wayang/1.1.0/apache-wayang-incubating-1.1.0-source-release.zip?action=download" target="_blank" rel="noopener noreferrer">zip</a><br>
-<!-- -->Signature: <a href="https://downloads.apache.org/incubator/wayang/1.1.0/apache-wayang-incubating-1.1.0-source-release.zip.asc" target="_blank" rel="noopener noreferrer">asc</a><br>
-<!-- -->Hashes: <a href="https://downloads.apache.org/incubator/wayang/1.1.0/apache-wayang-incubating-1.1.0-source-release.zip.sha512" target="_blank" rel="noopener noreferrer">sha512</a><br>
-<!-- -->Release Notes: <a href="https://downloads.apache.org/incubator/wayang/1.1.0/RELEASE_NOTES" target="_blank" rel="noopener noreferrer">notes</a></p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="100-incubating">1.0.0 (incubating)<a href="#100-incubating" class="hash-link" aria-label="Direct link to 1.0.0 (incubating)" title="Direct link to 1.0.0 (incubating)">​</a></h2>
-<p>Source Code: <a href="https://www.apache.org/dyn/closer.lua/incubator/wayang/1.0.0/apache-wayang-incubating-1.0.0-source-release.zip?action=download" target="_blank" rel="noopener noreferrer">zip</a><br>
-<!-- -->Signature: <a href="https://downloads.apache.org/incubator/wayang/1.0.0/apache-wayang-incubating-1.0.0-source-release.zip.asc" target="_blank" rel="noopener noreferrer">asc</a><br>
-<!-- -->Hashes: <a href="https://downloads.apache.org/incubator/wayang/1.0.0/apache-wayang-incubating-1.0.0-source-release.zip.sha512" target="_blank" rel="noopener noreferrer">sha512</a><br>
-<!-- -->Release Notes: <a href="https://downloads.apache.org/incubator/wayang/1.0.0/RELEASE_NOTES" target="_blank" rel="noopener noreferrer">notes</a></p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="071-incubating">0.7.1 (incubating)<a href="#071-incubating" class="hash-link" aria-label="Direct link to 0.7.1 (incubating)" title="Direct link to 0.7.1 (incubating)">​</a></h2>
-<p>Source Code: <a href="https://www.apache.org/dyn/closer.lua/incubator/wayang/0.7.1/apache-wayang-incubating-0.7.1-source-release.zip?action=download" target="_blank" rel="noopener noreferrer">zip</a><br>
-<!-- -->Signature: <a href="https://downloads.apache.org/incubator/wayang/0.7.1/apache-wayang-incubating-0.7.1-source-release.zip.asc" target="_blank" rel="noopener noreferrer">asc</a><br>
-<!-- -->Hashes: <a href="https://downloads.apache.org/incubator/wayang/0.7.1/apache-wayang-incubating-0.7.1-source-release.zip.sha512" target="_blank" rel="noopener noreferrer">sha512</a><br>
-<!-- -->Release Notes: <a href="https://downloads.apache.org/incubator/wayang/0.7.1/RELEASE_NOTES" target="_blank" rel="noopener noreferrer">notes</a></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="frameworks-supported">Frameworks supported<a href="#frameworks-supported" class="hash-link" aria-label="Direct link to Frameworks supported" title="Direct link to Frameworks supported">​</a></h3>
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
+<header><h1>Releases</h1></header>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="111">1.1.1<a href="#111" class="hash-link" aria-label="Direct link to 1.1.1" title="Direct link to 1.1.1" translate="no">​</a></h2>
+<p>Source Code: <a href="https://www.apache.org/dyn/closer.lua/wayang/1.1.1/apache-wayang-1.1.1-source-release.zip?action=download" target="_blank" rel="noopener noreferrer" class="">zip</a><br>
+<!-- -->Signature: <a href="https://downloads.apache.org/wayang/1.1.1/apache-wayang-1.1.1-source-release.zip.asc" target="_blank" rel="noopener noreferrer" class="">asc</a><br>
+<!-- -->Hashes: <a href="https://downloads.apache.org/wayang/1.1.1/apache-wayang-1.1.1-source-release.zip.sha512" target="_blank" rel="noopener noreferrer" class="">sha512</a><br>
+<!-- -->Release Notes: <a href="https://downloads.apache.org/wayang/1.1.1/RELEASE_NOTES" target="_blank" rel="noopener noreferrer" class="">notes</a></p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="110-incubating">1.1.0 (incubating)<a href="#110-incubating" class="hash-link" aria-label="Direct link to 1.1.0 (incubating)" title="Direct link to 1.1.0 (incubating)" translate="no">​</a></h2>
+<p>Source Code: <a href="https://www.apache.org/dyn/closer.lua/incubator/wayang/1.1.0/apache-wayang-incubating-1.1.0-source-release.zip?action=download" target="_blank" rel="noopener noreferrer" class="">zip</a><br>
+<!-- -->Signature: <a href="https://downloads.apache.org/incubator/wayang/1.1.0/apache-wayang-incubating-1.1.0-source-release.zip.asc" target="_blank" rel="noopener noreferrer" class="">asc</a><br>
+<!-- -->Hashes: <a href="https://downloads.apache.org/incubator/wayang/1.1.0/apache-wayang-incubating-1.1.0-source-release.zip.sha512" target="_blank" rel="noopener noreferrer" class="">sha512</a><br>
+<!-- -->Release Notes: <a href="https://downloads.apache.org/incubator/wayang/1.1.0/RELEASE_NOTES" target="_blank" rel="noopener noreferrer" class="">notes</a></p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="100-incubating">1.0.0 (incubating)<a href="#100-incubating" class="hash-link" aria-label="Direct link to 1.0.0 (incubating)" title="Direct link to 1.0.0 (incubating)" translate="no">​</a></h2>
+<p>Source Code: <a href="https://www.apache.org/dyn/closer.lua/incubator/wayang/1.0.0/apache-wayang-incubating-1.0.0-source-release.zip?action=download" target="_blank" rel="noopener noreferrer" class="">zip</a><br>
+<!-- -->Signature: <a href="https://downloads.apache.org/incubator/wayang/1.0.0/apache-wayang-incubating-1.0.0-source-release.zip.asc" target="_blank" rel="noopener noreferrer" class="">asc</a><br>
+<!-- -->Hashes: <a href="https://downloads.apache.org/incubator/wayang/1.0.0/apache-wayang-incubating-1.0.0-source-release.zip.sha512" target="_blank" rel="noopener noreferrer" class="">sha512</a><br>
+<!-- -->Release Notes: <a href="https://downloads.apache.org/incubator/wayang/1.0.0/RELEASE_NOTES" target="_blank" rel="noopener noreferrer" class="">notes</a></p>
+<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="071-incubating">0.7.1 (incubating)<a href="#071-incubating" class="hash-link" aria-label="Direct link to 0.7.1 (incubating)" title="Direct link to 0.7.1 (incubating)" translate="no">​</a></h2>
+<p>Source Code: <a href="https://www.apache.org/dyn/closer.lua/incubator/wayang/0.7.1/apache-wayang-incubating-0.7.1-source-release.zip?action=download" target="_blank" rel="noopener noreferrer" class="">zip</a><br>
+<!-- -->Signature: <a href="https://downloads.apache.org/incubator/wayang/0.7.1/apache-wayang-incubating-0.7.1-source-release.zip.asc" target="_blank" rel="noopener noreferrer" class="">asc</a><br>
+<!-- -->Hashes: <a href="https://downloads.apache.org/incubator/wayang/0.7.1/apache-wayang-incubating-0.7.1-source-release.zip.sha512" target="_blank" rel="noopener noreferrer" class="">sha512</a><br>
+<!-- -->Release Notes: <a href="https://downloads.apache.org/incubator/wayang/0.7.1/RELEASE_NOTES" target="_blank" rel="noopener noreferrer" class="">notes</a></p>
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="frameworks-supported">Frameworks supported<a href="#frameworks-supported" class="hash-link" aria-label="Direct link to Frameworks supported" title="Direct link to Frameworks supported" translate="no">​</a></h3>
 <ul>
-<li>Apache Flink v1.7.1</li>
-<li>Apache Giraph v1.2.0-hadoop2</li>
-<li>GraphChi v0.2.2 (only available with scala 11.x)</li>
-<li>Java Streams (version depends on the java version)</li>
-<li>JDBC-Template</li>
-<li>Postgres v9.4.1208 (Implementation JDBC-Template)</li>
-<li>Apache Spark v3.1.2 (scala 12.x) and v2.4.8 (scala 11.x)</li>
-<li>SQLite3 v3.8.11.2 (implementation JDBC-Template)</li>
+<li class="">Apache Flink v1.7.1</li>
+<li class="">Apache Giraph v1.2.0-hadoop2</li>
+<li class="">GraphChi v0.2.2 (only available with scala 11.x)</li>
+<li class="">Java Streams (version depends on the java version)</li>
+<li class="">JDBC-Template</li>
+<li class="">Postgres v9.4.1208 (Implementation JDBC-Template)</li>
+<li class="">Apache Spark v3.1.2 (scala 12.x) and v2.4.8 (scala 11.x)</li>
+<li class="">SQLite3 v3.8.11.2 (implementation JDBC-Template)</li>
 </ul>
 <blockquote>
 <p>NOTE: The supported platforms for Scala may vary depending on the Scala version.\</p>
 </blockquote>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="previous-releases">Previous releases<a href="#previous-releases" class="hash-link" aria-label="Direct link to Previous releases" title="Direct link to Previous releases">​</a></h3>
-<p>Older releases can be found <a href="https://downloads.apache.org/incubator/wayang/" target="_blank" rel="noopener noreferrer">here</a></p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#111" class="table-of-contents__link toc-highlight">1.1.1</a></li><li><a href= [...]
+<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="previous-releases">Previous releases<a href="#previous-releases" class="hash-link" aria-label="Direct link to Previous releases" title="Direct link to Previous releases" translate="no">​</a></h3>
+<p>Older releases can be found <a href="https://downloads.apache.org/incubator/wayang/" target="_blank" rel="noopener noreferrer" class="">here</a></p></div></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="Docs pages"></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#111" class="table-of-contents__link toc-highlight">1.1.1</a></li><li [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/index.html b/index.html
index bdcf5df7..02094475 100644
--- a/index.html
+++ b/index.html
@@ -2,14 +2,17 @@
 <html lang="en" dir="ltr" class="plugin-pages plugin-id-default" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.1.1">
+<meta name="generator" content="Docusaurus v3.10.1">
 <title data-rh="true">Apache Wayang | Cross-Platform Data Processing</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://wayang.apache.org/"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-r [...]
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.a45e1e19.css">
-<script src="/assets/js/runtime~main.de22a7ac.js" defer="defer"></script>
-<script src="/assets/js/main.1812f2df.js" defer="defer"></script>
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Wayang™ Atom Feed"><link rel="stylesheet" href="/assets/css/styles.79853c2a.css">
+<script src="/assets/js/runtime~main.0da1c716.js" defer="defer"></script>
+<script src="/assets/js/main.b727b1fa.js" defer="defer"></script>
 </head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<body>
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docu [...]
       <p>
         Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br>
         Apache Wayang, Wayang, Apache, the Apache feather logo, and the Apache Wayang project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
diff --git a/lunr-index-1779872697817.json b/lunr-index-1779872697817.json
deleted file mode 100644
index fe598a29..00000000
--- a/lunr-index-1779872697817.json
+++ /dev/null
@@ -1 +0,0 @@
-{"version":"2.3.9","fields":["title","content","keywords"],"fieldVectors":[["title/0",[0,119.336,1,353.177,2,570.523,3,58.035,4,361.94,5,223.894]],["content/0",[]],["keywords/0",[]],["title/1",[6,1206.936]],["content/1",[0,2.552,1,3.861,3,0.941,4,7.741,7,7.845,8,5.728,9,6.753,10,5.853,11,7.372,12,4.89,13,11.03,14,3.307,15,6.359,16,7.536,17,8.681,18,7.536,19,7.58,20,7.536,21,7.536,22,5.07,23,3.771,24,7.52,25,8.324,26,5.545,27,5.545,28,4.407,29,2.687,30,2.059,31,2.823,32,2.563,33,2.645,34, [...]
\ No newline at end of file
diff --git a/lunr-index-1779895886012.json b/lunr-index-1779895886012.json
new file mode 100644
index 00000000..336b95d8
--- /dev/null
+++ b/lunr-index-1779895886012.json
@@ -0,0 +1 @@
+{"version":"2.3.9","fields":["title","content","keywords"],"fieldVectors":[["title/0",[0,119.336,1,353.177,2,570.523,3,58.035,4,361.94,5,258.159]],["content/0",[]],["keywords/0",[]],["title/1",[0,99.839,1,295.474,6,404.716,7,302.806,8,137.435,9,310.627,10,360.214,11,360.214]],["content/1",[0,1.832,3,1.444,7,7.463,9,7.656,10,6.61,12,6.019,13,4.435,14,6.849,15,4.852,16,3.015,17,9.482,18,8.217,19,9.129,20,6.61,21,3.898,22,6.019,23,3.713,24,6.019,25,8.217,26,6.61,27,4.819,28,9.199,29,5.295,3 [...]
\ No newline at end of file
diff --git a/lunr-index.json b/lunr-index.json
index fe598a29..336b95d8 100644
--- a/lunr-index.json
+++ b/lunr-index.json
@@ -1 +1 @@
-{"version":"2.3.9","fields":["title","content","keywords"],"fieldVectors":[["title/0",[0,119.336,1,353.177,2,570.523,3,58.035,4,361.94,5,223.894]],["content/0",[]],["keywords/0",[]],["title/1",[6,1206.936]],["content/1",[0,2.552,1,3.861,3,0.941,4,7.741,7,7.845,8,5.728,9,6.753,10,5.853,11,7.372,12,4.89,13,11.03,14,3.307,15,6.359,16,7.536,17,8.681,18,7.536,19,7.58,20,7.536,21,7.536,22,5.07,23,3.771,24,7.52,25,8.324,26,5.545,27,5.545,28,4.407,29,2.687,30,2.059,31,2.823,32,2.563,33,2.645,34, [...]
\ No newline at end of file
+{"version":"2.3.9","fields":["title","content","keywords"],"fieldVectors":[["title/0",[0,119.336,1,353.177,2,570.523,3,58.035,4,361.94,5,258.159]],["content/0",[]],["keywords/0",[]],["title/1",[0,99.839,1,295.474,6,404.716,7,302.806,8,137.435,9,310.627,10,360.214,11,360.214]],["content/1",[0,1.832,3,1.444,7,7.463,9,7.656,10,6.61,12,6.019,13,4.435,14,6.849,15,4.852,16,3.015,17,9.482,18,8.217,19,9.129,20,6.61,21,3.898,22,6.019,23,3.713,24,6.019,25,8.217,26,6.61,27,4.819,28,9.199,29,5.295,3 [...]
\ No newline at end of file
diff --git a/search-doc-1779872697817.json b/search-doc-1779872697817.json
deleted file mode 100644
index e88e8661..00000000
--- a/search-doc-1779872697817.json
+++ /dev/null
@@ -1 +0,0 @@
-{"searchDocs":[{"title":"Apache Kafka meets Wayang - Part 1","type":0,"sectionRef":"#","url":"/blog/kafka-meets-wayang-1","content":"","keywords":"","version":null},{"title":"Intro​","type":1,"pageTitle":"Apache Kafka meets Wayang - Part 1","url":"/blog/kafka-meets-wayang-1#intro","content":" This article is the first of a four part series about federated data analysis using Apache Wayang. The first article starts with an introduction of a typical data colaboration scenario which will em [...]
\ No newline at end of file
diff --git a/search-doc-1779895886012.json b/search-doc-1779895886012.json
new file mode 100644
index 00000000..32153d7f
--- /dev/null
+++ b/search-doc-1779895886012.json
@@ -0,0 +1 @@
+{"searchDocs":[{"title":"Apache Kafka meets Wayang - Part 2","type":0,"sectionRef":"#","url":"/blog/kafka-meets-wayang-2","content":"","keywords":"","version":null},{"title":"Apache Wayang’s Read & Write Path for Kafka topics​","type":1,"pageTitle":"Apache Kafka meets Wayang - Part 2","url":"/blog/kafka-meets-wayang-2#apache-wayangs-read--write-path-for-kafka-topics","content":" To describe the read and write paths for data in the context of the created Apache Wayang code snippet, the pr [...]
\ No newline at end of file
diff --git a/search-doc.json b/search-doc.json
index e88e8661..32153d7f 100644
--- a/search-doc.json
+++ b/search-doc.json
@@ -1 +1 @@
-{"searchDocs":[{"title":"Apache Kafka meets Wayang - Part 1","type":0,"sectionRef":"#","url":"/blog/kafka-meets-wayang-1","content":"","keywords":"","version":null},{"title":"Intro​","type":1,"pageTitle":"Apache Kafka meets Wayang - Part 1","url":"/blog/kafka-meets-wayang-1#intro","content":" This article is the first of a four part series about federated data analysis using Apache Wayang. The first article starts with an introduction of a typical data colaboration scenario which will em [...]
\ No newline at end of file
+{"searchDocs":[{"title":"Apache Kafka meets Wayang - Part 2","type":0,"sectionRef":"#","url":"/blog/kafka-meets-wayang-2","content":"","keywords":"","version":null},{"title":"Apache Wayang’s Read & Write Path for Kafka topics​","type":1,"pageTitle":"Apache Kafka meets Wayang - Part 2","url":"/blog/kafka-meets-wayang-2#apache-wayangs-read--write-path-for-kafka-topics","content":" To describe the read and write paths for data in the context of the created Apache Wayang code snippet, the pr [...]
\ No newline at end of file
diff --git a/sitemap.xml b/sitemap.xml
index 43787296..5ec56051 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://wayang.apache.org/blog</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://wayang.apache.org/blog/archive</loc><chang [...]
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://wayang.apache.org/blog</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://wayang.apache.org/blog/archive</loc><chang [...]
\ No newline at end of file