This is an automated email from the ASF dual-hosted git repository. bartmaer pushed a commit to branch 252 in repository https://gitbox.apache.org/repos/asf/hop-website.git
commit 84759f06b46aedaba8130cd3b9ddea44defed4fb Author: Bart Maertens <[email protected]> AuthorDate: Wed Aug 20 09:52:40 2025 +0200 2.15 release announcement --- content/blog/2025/08/hop-2.15.0/index.adoc | 161 ++++++++++++++++----- static/img/Release-2.15/databricks-dialect.png | Bin 0 -> 166340 bytes .../google-sheets-output-recreate-sheet.png | Bin 0 -> 276590 bytes static/img/Release-2.15/hop-215.svg | 93 ++++++++++++ 4 files changed, 221 insertions(+), 33 deletions(-) diff --git a/content/blog/2025/08/hop-2.15.0/index.adoc b/content/blog/2025/08/hop-2.15.0/index.adoc index ad6ebc1c92..e15d3ee1fb 100644 --- a/content/blog/2025/08/hop-2.15.0/index.adoc +++ b/content/blog/2025/08/hop-2.15.0/index.adoc @@ -1,6 +1,6 @@ --- title: "Apache Hop 2.15 is available!!" -date: 2025-08-19T06:44:56+02:00 +date: 2025-08-20T06:44:56+02:00 authors: ["bamaer"] categories: ["2.15", "Release", "Apache Hop"] preview: "Apache Hop 2.15 Released" @@ -12,65 +12,160 @@ draft: false :toc: macro :toclevels: 3 -:toc-title: Let's take a closer look at what Hop 2.14 brings: +:toc-title: Let's take a closer look at what Hop 2.15 brings: :toc-class: none -After about two months of work on 35 tickets by 7 contributors, the Apache Hop community is pleased to announce the general availability of Apache Hop 2.14.0. + -A huge thank you to everyone who made this possible. +The Apache Hop community is proud to announce the release of Apache Hop 2.15! -image::/img/Release-2.14/hop-214.svg[ width="45%"] +After three months of hard work, collaboration, and relentless testing, this release closes **95 tickets** by **17 contributors**, including important bug fixes, usability improvements, and new features designed to make your data orchestration simpler and more powerful. + +We want to extend a heartfelt thank you to every contributor, tester, and user who helped shape this release. + +Your feedback, patches, and enthusiasm fuel the project and help make Apache Hop the versatile, reliable platform it is today. + +// Let's take a closer look at what Hop 2.15 brings + +image::/img/Release-2.15/hop-215.svg[ width="45%"] + toc::[] -or https://hop.apache.org/download/[**download Hop 2.14.0 **] right away. +or https://hop.apache.org/download/[**download Hop 2.15.0 **] right away. + + +// * <<google-sheets-output,Google Sheets Output: Option to re-create sheets and proxy support>> +// * <<duckdb-upgrade,DuckDB gets an upgrade>> +// * <<databricks-dialect,Databricks dialect support>> +// * <<sql-editor-highlighting,SQL Editor gets syntax highlighting>> +// * <<workflow-status-remote,Workflow execution status feedback for remote engines>> +// * <<janino-upgrade,Janino Expression Engine upgrade>> +// * <<bug-fixes,Bug fixes & quality-of-life improvements>> +// * <<community-growth,The Apache Hop Community is growing stronger>> + +// Get started today, https://hop.apache.org/download/[download Hop 2.15.0] right away. + +[[google-sheets-output]] +== Google Sheets Output: Option to re-create sheets and proxy support + +When exporting data to Google Sheets, you can now choose to re-create sheets as needed. + +image::/img/Release-2.15/google-sheets-output-recreate-sheet.png[Google Sheets Output Re-create Sheet Option] + +By default, the Google Sheets Output transform empties the sheet before writing (or appends if you enable the “Append” option). +This new option goes further: it removes the sheet entirely and re-creates it. This can help avoid versioning issues that can arise when writing to the same sheet repeatedly over long periods, such as hourly updates running for months or years. + +[[duckdb-upgrade]] +== DuckDB gets an upgrade + +One of our favorite in-process analytics databases just leveled up from version **1.2.0** to **1.3.0.0**, meaning faster queries, better compatibility, and more features right out of the box. + +[[databricks-dialect]] +== Databricks dialect support + +Working in Databricks? Now Apache Hop speaks your language. +The new Databricks database dialect provides connectivity and proper SQL generation for Databricks environments, with primary support for **Databricks Unity Catalog**. + +image::/img/Release-2.15/databricks-dialect.png[Databricks Dialect, width="65%"] + +[[sql-editor-highlighting]] +== SQL Editor gets syntax highlighting + +The SQL Editor in Apache Hop now supports syntax highlighting, making it easier to read, write, and debug SQL queries directly within the Hop GUI. + +[[workflow-status-remote]] +== Workflow execution status feedback for remote engines + +When executing a workflow on a remote engine from the GUI, you now receive **real-time status updates**. +This makes it easier to track progress, spot issues, and confirm that your pipeline or workflow is running as expected. + +[[janino-upgrade]] +== Janino Expression Engine upgrade + +The Janino library, used internally to evaluate expressions within scripting transforms like **JavaScript**, **User Defined Java Class**, and **User Defined Java Expression**, has been upgraded from version **3.1.11** to **3.1.12**. +This upgrade brings enhanced performance and stability, so your transforms run faster and more reliably. + +[[bug-fixes]] +== Bug fixes & quality-of-life improvements + +Apache Hop 2.15 also focuses heavily on smoothing out rough edges. This release fixes numerous bugs reported by users and contributors alike, ensuring a more predictable and enjoyable experience. + +=== Real-Time Pipeline Metrics & Logging Fixes +Fixed a critical bug that prevented pipeline metrics and logs from updating live during execution after the first run. Now you get continuous, accurate feedback on your pipeline’s progress and performance in real-time. + +=== JSON Input Fixes +JSON Input transforms now handle keys with dots (`.`) properly during scanning, fixing issues with nested or complex JSON structures. + +=== YAML Input Cloning +YAML Input transforms now correctly clone output rows to avoid data corruption or unexpected results when processing multiple outputs. + +=== GUI Enhancements +* You can now use `CTRL+V` to paste in the Search perspective. +* Editing datasets no longer causes focus loss. +* The “OK” button in transform dialogs now reliably applies all changes. + +=== Azure Storage Metadata Accuracy +Fixed incorrect last modified times reported by the Azure Storage plugin — essential for time-sensitive workflows. + +=== File Metadata Transform Behavior +The File Metadata transform now only executes when it has input rows, preventing unnecessary runs. + +=== NullPointerExceptions & Stability Fixes +Various NullPointerExceptions across transforms and actions have been addressed. + +=== OracleBulkLoader Manual URL Fix +OracleBulkLoader now correctly supports manual connection URLs. + +=== Concat Fields Enclosure Handling +The Concat Fields transform now respects field enclosures during concatenation. + +=== Updated Documentation on Parallel Execution with JOIN Action +Documentation now includes clearer explanations, practical examples, and best practices for parallel workflows with the JOIN action. + +…and many other minor fixes and improvements. See the https://github.com/apache/hop/milestone/16?closed=1[full changelog]. -== Updated release cycle +[[community-growth]] +== The Apache Hop Community is growing stronger -As discussed on the https://lists.apache.org/thread/hwnoo1dl1r2vk039qocsn2nbly1gvrbx[development mailing list], the Apache Hop project is moving to a quarterly release cycle. -This means that this release comes quite quickly after 2.13 and is therefore quite small. The next release will be 2.15, which is scheduled for August 2025. +Our community continues to grow steadily: +* LinkedIn: 3,409 followers (up from 3,130) https://www.linkedin.com/company/apache-hop/[follow] +* Twitter/X: 981 followers (up from 976) https://twitter.com/ApacheHop[follow] +* YouTube: 1,460 subscribers (up from 1,400) https://www.youtube.com/c/ApacheHop[subscribe] -== Mail server metadata type +We're grateful for every user, contributor, and advocate who helps push Apache Hop forward. -Apache Hop now supports a new metadata type for https://hop.apache.org//manual/next/metadata-types/mail-server.html[Mail Server]. This allows you to connect to a mail server and send emails from Apache Hop workflows and pipelines. +If you haven't yet joined the conversation, here are some great ways to get involved: -The actions and transforms that use this metadata type are: +* Join our https://hop.apache.org/community/mailing-list/[mailing lists] +* Connect with us on https://hop.apache.org/community/slack/[Slack] +* Explore https://github.com/apache/hop[GitHub] to contribute code, report bugs, or suggest features -* actions: -** Mail -** Get Mails (POP3/IMAP) -* transforms: -** Email messages input -** Mail +Your participation helps make Apache Hop better for everyone! -To support this new metadata type, the integration tests were updated and extended and now uses https://james.apache.org[Apache James] as a mail server. +== Get Apache Hop 2.15 today! -image:/img/Release-2.14/mail-server-metadata-type.png[Mail Server metadata, width="65%"] +Don’t wait to try the latest and greatest version of Apache Hop. +https://hop.apache.org/download/[Download 2.15 now] and experience the improved stability, usability, and new features firsthand. -== Various improvements and fixes +Want to see every single fix and enhancement? +Explore the https://github.com/apache/hop/milestone/35?closed=1[Apache Hop 2.15 Milestone] on GitHub. -* metadata fetch for query operations is now faster -* the file explorer perspective now shows different colors for stages files +== Looking forward -image:/img/Release-2.14/staged-files-color.png[File Explorer Perspective staged files, width="25%"] +The Apache Hop team is already working hard on version 2.16, packed with new features and improvements you won’t want to miss. -* the Text File Input transform new has a new option to show file contents from and to a range of lines, instead of just the first lines of a file. +Thank you for being part of the Apache Hop journey. -image:/img/Release-2.14/file-content-from-to.png[Text File Input, from to option, width="25%"] -* Hop Web has a fix in the error logging widget -* deleting an environment now correctly clears all variables for that environment -* a fix was added to the "Inherit all variables" option in the pipeline executor transform. == Community The Hop community continues to grow! -The overview below shows the community growth compared to the 2.13.0 release in April: +The overview below shows the community growth compared to the 2.14.0 release in May: * LinkedIn: 3.130 followers (up from 3.050) link:https://www.linkedin.com/company/hop-project[follow] * Twitter/X: 976 followers (up from 973) link:https://twitter.com/ApacheHop[follow] @@ -83,7 +178,7 @@ Check out our link:/community/contributing/[contribution guides^] and http://hop == GitHub Issues -This release contains work on 35 tickets by 7 contributors. +This release contains work on 95 tickets by 17 contributors. -Check out the full list of issues in Apache Hop 2.14.0 in our https://github.com/apache/hop/issues[Github Issues^] -and the https://github.com/apache/hop/releases/tag/2.14.0-rc1[Release notes^]. +Check out the full list of issues in Apache Hop 2.15.0 in our https://github.com/apache/hop/issues[Github Issues^] +and the https://github.com/apache/hop/releases/tag/2.15.0-rc2[Release notes^]. diff --git a/static/img/Release-2.15/databricks-dialect.png b/static/img/Release-2.15/databricks-dialect.png new file mode 100644 index 0000000000..64e21ba589 Binary files /dev/null and b/static/img/Release-2.15/databricks-dialect.png differ diff --git a/static/img/Release-2.15/google-sheets-output-recreate-sheet.png b/static/img/Release-2.15/google-sheets-output-recreate-sheet.png new file mode 100644 index 0000000000..188e934587 Binary files /dev/null and b/static/img/Release-2.15/google-sheets-output-recreate-sheet.png differ diff --git a/static/img/Release-2.15/hop-215.svg b/static/img/Release-2.15/hop-215.svg new file mode 100644 index 0000000000..2eca336a96 --- /dev/null +++ b/static/img/Release-2.15/hop-215.svg @@ -0,0 +1,93 @@ +<?xml version="1.0" encoding="utf-8"?> +<?xml-stylesheet href="http://fonts.cdnfonts.com/css/ostrich-sans-2" type="text/css"?> +<svg + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + x="0px" + y="0px" + width="440.00003" + height="506.47379" + viewBox="0 0 440.00003 506.47376" + id="svg1530"> + <style> + +#hoplogo { + visibility: hidden; + transform: translate(100px) scale(0.6); + animation: fadein 4s forwards; + animation-delay: 2s; +} + +#one { +} +#dot { + animation-delay: 0.5s; +} +#zero { + animation-delay: 1s; +} + +.hoptext { + font-family: 'Ostrich Sans Black'; + fill: #0e3a5a; + font-size: 12em; + animation: strokeone 6s forwards; +} + + +@keyframes strokeone { + 0% { + transform: translateY(-100px) scale(0.1); + transform-origin: center; + } + 20% { + transform: translateY(550px) scale(1); + } + 60% { + transform: translateY(550px) scale(1); + filter: none; + } + 70% { + transform: translateY(550px) scale(1.1); + transform-origin: center; + filter: drop-shadow(16px 16px 20px #0e3a5a); + } + 100% { + transform: translateY(550px) scale(1); + } +} + +@keyframes fadein { + 0% { + transform: translate(100px) scale(0.7); + opacity: 0; + visibility: hidden; + } + 90% { + opacity: 1; + visibility: visible; + transform: translate(100px) scale(0.7); + } + 100% { + opacity: 1; + visibility: visible; + transform: translate(100px) scale(0.7); + } +} + </style> + + <g id="hoplogo"> + <path id="logohp" + style="stroke-width:1.80008;fill:#0e3a5a;fill-opacity:1" + d="m 438.62162,199.76015 c -3.43276,24.12106 -11.4089,42.39006 -23.91945,54.8016 -13.36559,13.37639 -31.39158,20.06008 -54.07617,20.06008 l 4.84401,-34.02689 c 9.31181,0 15.7903,-1.07464 19.44266,-3.22394 3.64875,-2.1511 6.03386,-3.81797 7.16071,-5.01682 6.03206,-5.49024 10.20824,-16.35012 12.51955,-32.59403 1.22405,-8.59898 1.49226,-15.51848 0.80463,-20.77471 -0.68223,-5.25083 -2.1997,-9.31361 -4.5344,-12.17933 -2.3401,-2.86393 -5.52984,-4.77381 -9.56922,-5.72965 -4.04657,-0.95404 [...] + <path + id="logoo" + style="stroke-width:1.80008;fill:#0e3a5a;fill-opacity:1" + d="M 233.95898 179.83984 C 227.5111 179.83984 221.6866 180.50204 216.48438 181.8125 C 211.28394 183.12656 206.56823 184.79929 202.33984 186.82617 C 198.11146 188.85667 194.45088 191.06983 191.36914 193.45312 C 188.28021 195.84184 185.61173 198.23013 183.36523 200.61523 C 171.50091 213.50919 163.90242 231.65953 160.57227 255.06055 L 144.41211 368.60352 C 141.08196 392.00814 143.51503 410.15292 151.70898 423.04688 C 154.84472 427.82608 159.9134 432.48318 166.91211 437.01758 C 173.9054 [...] + </g> + <g> + <text id="one" class="hoptext" x="25%" y="-10%">2</text> + <text id="dot" class="hoptext" x="45%" y="-10%">.</text> + <text id="zero" class="hoptext" x="55%" y="-10%">15</text> + </g> +</svg>
