From 8fad598ca63b63bcf04ba30f3571c51020aef2fa Mon Sep 17 00:00:00 2001 From: Joe Chacko Date: Wed, 25 Feb 2026 14:45:54 +0000 Subject: [PATCH 1/5] chore: remove unused imports --- .../main/java/org/apache/yoko/orb/OB/GIOPOutgoingMessage.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/yoko-core/src/main/java/org/apache/yoko/orb/OB/GIOPOutgoingMessage.java b/yoko-core/src/main/java/org/apache/yoko/orb/OB/GIOPOutgoingMessage.java index f5f39a109..92fd3472c 100644 --- a/yoko-core/src/main/java/org/apache/yoko/orb/OB/GIOPOutgoingMessage.java +++ b/yoko-core/src/main/java/org/apache/yoko/orb/OB/GIOPOutgoingMessage.java @@ -34,9 +34,6 @@ import org.omg.IOP.ServiceContext; import org.omg.IOP.TaggedProfile; import org.omg.IOP.TaggedProfileHelper; -import sun.nio.cs.ISO_8859_1; - -import java.nio.charset.StandardCharsets; import static java.nio.charset.StandardCharsets.ISO_8859_1; From ceb948c1be8459d3b21b7c87d202da3f3c621cd4 Mon Sep 17 00:00:00 2001 From: Joe Chacko Date: Wed, 25 Feb 2026 13:21:20 +0000 Subject: [PATCH 2/5] docs: streamline release process doc - Reorganize Quick Start section to prioritize GitHub Actions workflow - Move GitHub UI method to top as recommended approach - Simplify local release steps from 4 methods to single clear path - Remove confusing 'Method A/B' structure for better clarity - Update version example from 1.5.2 to 1.5.3 throughout - Remove 'Local Testing' section (redundant with dry-run) - Improve git add command to use -p flag for selective staging BREAKING CHANGE: Remove updateChangelogForTag Gradle task - Task was redundant with updateChangelog task - updateChangelog already handles version tagging via git-cliff - Simplifies release workflow by removing duplicate functionality - Users should use updateChangelog task instead This commit improves the release documentation by making the recommended GitHub Actions workflow more prominent and removing confusing alternative methods. The removal of updateChangelogForTag task eliminates maintenance burden and potential confusion between two similar tasks. --- README_RELEASE.md | 57 +++++++++++++------------------------------- build-release.gradle | 42 -------------------------------- 2 files changed, 16 insertions(+), 83 deletions(-) diff --git a/README_RELEASE.md b/README_RELEASE.md index d7dec77e7..690cb1a37 100644 --- a/README_RELEASE.md +++ b/README_RELEASE.md @@ -27,7 +27,20 @@ The Yoko project now has a comprehensive, automated release process similar to G ## 🚀 Quick Start -### Create a Release (4 Simple Steps) +### Create a Release via GitHub (Recommended) + - Go to Actions → Release workflow + - Click "Run workflow" + - Enter version: e.g. `1.5.3` (without v prefix) + + This will automatically: + - Create a release branch + - Update CHANGELOG.md (if needed) + - Build and test + - Create an annotated tag `v1.5.3` + - Create the GitHub release with all artifacts + - Merge to main and cleanup + +### Create a Release Locally (4 Simple Steps) 1. **Bump the version (if needed)** ```bash @@ -44,34 +57,16 @@ The Yoko project now has a comprehensive, automated release process similar to G ```bash # Update for all commits since last tag ./gradlew updateChangelog - - # Or update for specific tag - ./gradlew updateChangelogForTag -PreleaseTag=v1.5.3 ``` 3. **Commit and Push** ```bash - git add CHANGELOG.md + git add -p CHANGELOG.md git commit -m "chore: prepare release v1.5.3" git push origin main ``` 4. **Create Release** (choose one method): - - **Method A: Automated via GitHub UI (Recommended)** - - Go to Actions → Release workflow - - Click "Run workflow" - - Enter version: `1.5.3` (without v prefix) - - This will automatically: - - Create a release branch - - Update CHANGELOG.md (if needed) - - Build and test - - Create an annotated tag `v1.5.3` - - Create the GitHub release with all artifacts - - Merge to main and cleanup - - **Method B: Manual via Gradle** ```bash ./gradlew release ``` @@ -96,7 +91,6 @@ All release tasks are accessible from Gradle: # Update CHANGELOG with git-cliff (manual) ./gradlew updateChangelog -./gradlew updateChangelogForTag -PreleaseTag=v1.5.3 # Verify prerequisites ./gradlew verifyReleasePrerequisites @@ -119,7 +113,7 @@ All release tasks are accessible from Gradle: The project version is managed in `gradle.properties`: ```properties -version=1.5.2 +version=1.5.3 ``` ### Bumping the Version @@ -307,25 +301,6 @@ This dry-run: - ✅ Tests the build - ✅ **Makes NO changes** to git or remote repositories -### Local Testing - -Test locally without pushing to origin: - -```bash -# Create test branch locally -git checkout -b release/1.5.3-test - -# Test CHANGELOG generation -./gradlew updateChangelogForTag -PreleaseTag=v1.5.3-test - -# Test build -./gradlew clean build test - -# Clean up -git checkout main -git branch -D release/1.5.3-test -``` - ## 🔄 Rolling Back Releases ### Automated Rollback diff --git a/build-release.gradle b/build-release.gradle index 962d113ea..f521dbd2f 100644 --- a/build-release.gradle +++ b/build-release.gradle @@ -106,48 +106,6 @@ task updateChangelog { } } -// Task to update CHANGELOG for a specific version tag -task updateChangelogForTag { - group = 'release' - description = 'Updates CHANGELOG.md for a specific version tag using git-cliff' - - def changelogFile = file('CHANGELOG.md') - def cliffConfig = file('cliff.toml') - - inputs.file cliffConfig - outputs.file changelogFile - - doLast { - // Check if git-cliff is available - try { - exec { - commandLine 'git-cliff', '--version' - standardOutput = new ByteArrayOutputStream() - } - } catch (Exception e) { - throw new GradleException("git-cliff not found. Install from: https://git-cliff.org/docs/installation") - } - - // Get the version tag from project or system property - def versionTag = project.hasProperty('releaseTag') ? - project.property('releaseTag') : - "v${version}" - - println "Updating CHANGELOG.md for tag: ${versionTag}" - - // Run git-cliff with tag, using --unreleased and --prepend to preserve existing entries - exec { - commandLine 'git-cliff', - '--config', cliffConfig.absolutePath, - '--tag', versionTag, - '--unreleased', - '--prepend', changelogFile.absolutePath - } - - println "✅ CHANGELOG.md updated for ${versionTag}" - } -} - // Task to interactively bump the semantic version task bumpVersion { group = 'release' From dfbbd56cb95931498cb6bbb39322aa61eec0d021 Mon Sep 17 00:00:00 2001 From: Joe Chacko Date: Wed, 25 Feb 2026 15:55:33 +0000 Subject: [PATCH 3/5] chore: improve changelog generation and formatting - Update copyright year to 2026 in cliff.toml - Enhance updateChangelog task to display version being updated - Add --tag flag to git-cliff for proper version tagging - Remove scope display from changelog format for cleaner output - Add blank line after each changelog section for better readability - Fix formatting in CHANGELOG.md with consistent blank lines Changes to build-release.gradle: - Pass --tag v${version} to git-cliff command - Update console output: 'Updating CHANGELOG.md using git-cliff for v${version}...' - Ensures changelog entries are properly tagged with release version Changes to cliff.toml: - Update copyright year from 2025 to 2026 - Remove scope from commit format (eliminates redundant scope display) - Keep breaking change indicator at start of line for visibility - Add trailing blank line after each version section Changes to CHANGELOG.md: - Add missing blank lines after v1.5.2 and v1.5.1 sections - Improve formatting consistency across all changelog entries --- CHANGELOG.md | 2 ++ build-release.gradle | 6 +++--- cliff.toml | 6 +++--- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b1770bac7..332bb7697 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,11 +11,13 @@ - Garbled GIOP message logging - Skip bounds check for UTF-8/UTF-16/UCS-2 - Correctly identify UTF-8 2-byte and 3-byte sequences + ## [v1.5.2] - 2025-11-18 ### 🐛 Bug Fixes - Handle SystemException from createLocateRequestDowncall + ## [v1.5.1] ### Bug Fixes diff --git a/build-release.gradle b/build-release.gradle index f521dbd2f..b4cd1134f 100644 --- a/build-release.gradle +++ b/build-release.gradle @@ -93,13 +93,13 @@ task updateChangelog { } catch (Exception e) { throw new GradleException("git-cliff not found. Install from: https://git-cliff.org/docs/installation") } - - println "Updating CHANGELOG.md using git-cliff..." + + println "Updating CHANGELOG.md using git-cliff for v${version}..." // Run git-cliff to update only unreleased changes, preserving existing entries // Use --unreleased to only add new changes since the last tag exec { - commandLine 'git-cliff', '--config', cliffConfig.absolutePath, '--unreleased', '--prepend', changelogFile.absolutePath + commandLine 'git-cliff', '--config', cliffConfig.absolutePath, '--tag', "v${version}", '--unreleased', '--prepend', changelogFile.absolutePath } println "✅ CHANGELOG.md updated successfully" diff --git a/cliff.toml b/cliff.toml index b842058b6..64194d29c 100644 --- a/cliff.toml +++ b/cliff.toml @@ -1,4 +1,4 @@ -# Copyright 2025 IBM Corporation and others. +# Copyright 2026 IBM Corporation and others. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -29,11 +29,11 @@ body = """ {% for group, commits in commits | group_by(attribute="group") %} ### {{ group | striptags | trim | upper_first }} {% for commit in commits %} - - {% if commit.scope %}*({{ commit.scope }})* {% endif %}\ - {% if commit.breaking %}[**breaking**] {% endif %}\ + - {% if commit.breaking %}[**breaking**] {% endif %}\ {{ commit.message | upper_first }}\ {% endfor %} {% endfor %} + """ # Remove leading and trailing whitespaces from the changelog's body. trim = true From 431b4a96d140ea41a36565286ea9d51f85aa1c54 Mon Sep 17 00:00:00 2001 From: Joe Chacko Date: Wed, 25 Feb 2026 16:41:12 +0000 Subject: [PATCH 4/5] chore: bump version to 1.6.0 --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 90e456f97..019c38eff 100644 --- a/gradle.properties +++ b/gradle.properties @@ -16,4 +16,4 @@ group=io.openliberty.yoko symbolicNamePrefix=org.apache.yoko. -version=1.5.3 +version=1.6.0 From 95253f390fbb7f66f53e8639033bef42b381859b Mon Sep 17 00:00:00 2001 From: Joe Chacko Date: Wed, 25 Feb 2026 14:42:17 +0000 Subject: [PATCH 5/5] chore: prepare release v1.6.0 --- CHANGELOG.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 332bb7697..d21c5c361 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,16 @@ +## [v1.6.0] - 2026-02-25 + +### 🚀 Features + +- Use new UTF8-compatible (w)char codecs +- Use UTF-8 and UTF-16 codeset defaults + +### 🐛 Bug Fixes + +- Set input stream codecs in preUnmarshal() +- Use CESU-8 encoding with older Yoko +- Use Latin-1 charset to encode op name + ## [v1.5.3] - 2026-01-09 ### 🚀 Features