Skip to content

Commit ade8423

Browse files
committed
docs: update CHANGELOG.md for v0.6.2 release and add Discord notification setup
1 parent 297e894 commit ade8423

4 files changed

Lines changed: 59 additions & 6 deletions

File tree

.github/workflows/release.yml

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,3 +236,48 @@ jobs:
236236
release-assets/base/*.sha256
237237
release-assets/jpackage/*.zip
238238
release-assets/jpackage/*.sha256
239+
240+
- name: Notify Discord about release notes
241+
if: ${{ secrets.DISCORD_RELEASE_WEBHOOK != '' }}
242+
shell: bash
243+
env:
244+
DISCORD_RELEASE_WEBHOOK: ${{ secrets.DISCORD_RELEASE_WEBHOOK }}
245+
run: |
246+
release_url="${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/releases/tag/${GITHUB_REF_NAME}"
247+
notes="$(cat RELEASE_NOTES.md)"
248+
249+
if [ -z "${notes}" ]; then
250+
notes="No release notes were generated for this release."
251+
fi
252+
253+
max_length=3800
254+
if [ ${#notes} -gt ${max_length} ]; then
255+
notes="${notes:0:${max_length}}\n\n[... truncated, read full notes in GitHub release.]"
256+
fi
257+
258+
payload="$(jq -n \
259+
--arg username "SnapFX Releases" \
260+
--arg title "SnapFX ${GITHUB_REF_NAME}" \
261+
--arg url "${release_url}" \
262+
--arg description "${notes}" \
263+
'{
264+
username: $username,
265+
embeds: [
266+
{
267+
title: $title,
268+
url: $url,
269+
description: $description,
270+
color: 3447003
271+
}
272+
]
273+
}')"
274+
275+
curl --fail-with-body \
276+
--header "Content-Type: application/json" \
277+
--request POST \
278+
--data "${payload}" \
279+
"${DISCORD_RELEASE_WEBHOOK}"
280+
281+
- name: Warn if Discord webhook is missing
282+
if: ${{ secrets.DISCORD_RELEASE_WEBHOOK == '' }}
283+
run: echo "::warning::DISCORD_RELEASE_WEBHOOK is not configured. Skipping Discord release notification."

CHANGELOG.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ Changelog categories for `Unreleased` and new release sections (in order, includ
1616

1717
## Unreleased
1818

19+
## v0.6.2 - 2026-03-02
20+
1921
### Fixes
2022
- ✅ Fixed empty-main-layout D&D re-docking: when the main layout has no root (all nodes floating), center-drop over the empty layout now resolves as a valid dock target and re-attaches the dragged node to the main layout.
2123

@@ -39,16 +41,18 @@ Changelog categories for `Unreleased` and new release sections (in order, includ
3941
- ✅ Extended `DockShortcutControllerTest` with coverage for tab-relative selection behavior and active dock-node resolution from tab mapping and fallback root.
4042

4143
### Documentation
42-
- ✅ Redundant documentation link to snapfx.org in README.md removed.
44+
- ✅ Redundant documentation link to snapfx.org in README.md removed, Badges added/updated.
4345
- ✅ Added a Maven Central publishing section to [RELEASING.md](RELEASING.md) with required secrets, local validation commands, release URL override options, and stable-tag publish checklist items.
4446
- ✅ Added release-checksum documentation to [RELEASING.md](RELEASING.md), including generated file locations and local verification commands.
45-
- ✅ Added a release-notes quick-start template (Windows/macOS/Linux startup commands) to [RELEASING.md](RELEASING.md) for REL-008 readiness completeness.
46-
- ✅ Updated release-readiness status docs ([STATUS.md](STATUS.md), [DONE.md](DONE.md), [ROADMAP.md](ROADMAP.md), and `release_todo_temp.md`) to mark `0.8.x` Maven Central readiness as complete and shift focus to `0.9.x` rehearsal/freeze.
47+
- ✅ Added a release-notes quick-start template (Windows/macOS/Linux startup commands) to [RELEASING.md](RELEASING.md)
48+
- ✅ Updated release-readiness status docs ([STATUS.md](STATUS.md), [DONE.md](DONE.md), [ROADMAP.md](ROADMAP.md)
49+
- ✅ Documented optional `DISCORD_RELEASE_WEBHOOK` setup in [RELEASING.md](RELEASING.md) for release-note Discord notifications.
4750

4851
### Build and Tooling
4952
- ✅ Added Sonatype Central publish repository wiring for `snapfx-core` with environment/property-based credential support (`MAVEN_CENTRAL_USERNAME` / `MAVEN_CENTRAL_PASSWORD`) and signing-secret preflight checks for remote publish tasks.
5053
- ✅ Extended the release workflow with a stable-tag `publish-maven-central` job that is policy-gated to versions `>= v1.0.0`, and gated final GitHub release publishing on successful/explicitly skipped Central publish execution.
5154
- ✅ Added release-asset SHA256 generation in the release workflow and publish of matching `*.sha256` files for base and jpackage artifacts.
55+
- ✅ Added Discord release-note notifications to the tag-based release workflow, posting generated `git-cliff` notes to an optional `DISCORD_RELEASE_WEBHOOK` repository secret.
5256

5357
## v0.6.1 - 2026-02-28
5458

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
![Release](https://img.shields.io/github/v/release/Beowolve/SnapFX)
66
![Java](https://img.shields.io/badge/Java-21+-blue)
77
![JavaFX](https://img.shields.io/badge/JavaFX-21+-orange)
8+
![Discord](https://img.shields.io/discord/1472352970426290383)
89

910
![MainDemo App Screenshot](docs/images/main-demo.png)
1011
*MainDemo application showing docking and tabbing.*
@@ -218,8 +219,7 @@ Just unzip the archive and run it.
218219

219220
* For contribution workflow, branch strategy, commit/PR expectations, and quality gates, see [CONTRIBUTING.md](CONTRIBUTING.md).
220221
* For maintainer release/versioning/tag flow, see [RELEASING.md](RELEASING.md).
221-
* Contact me via Discord if you have questions or suggestions. (Discord invite: https://discord.gg/WwDGWkVsnB)
222-
222+
* Contact me via [Discord](https://discord.gg/WwDGWkVsnB) if you have questions or suggestions.
223223

224224
## License
225225

RELEASING.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,12 +67,16 @@ Optional push using helper:
6767
- `build-release-assets` (Linux): `clean test`, `:snapfx-core:jar`, `:snapfx-demo:distZip`, `:snapfx-demo:distTar`
6868
- `build-demo-jpackage` (matrix: Windows/macOS/Linux): `:snapfx-demo:jpackageImage` + `:snapfx-demo:packageJPackageImageZip`
6969
- `publish-maven-central` (Linux, stable tags `>= v1.0.0`): publishes `:snapfx-core` to Sonatype Central via the OSSRH staging API compatibility endpoint
70-
- `publish-release` (Linux): collects all artifacts, generates SHA256 checksums (`*.sha256`), generates notes with `git-cliff`, and publishes one GitHub Release
70+
- `publish-release` (Linux): collects all artifacts, generates SHA256 checksums (`*.sha256`), generates notes with `git-cliff`, publishes one GitHub Release, and posts the release notes to Discord when `DISCORD_RELEASE_WEBHOOK` is configured
7171
- Demo `jpackage` assets are published with OS-specific names:
7272
- `snapfx-demo-jpackage-image-windows-<tag>.zip`
7373
- `snapfx-demo-jpackage-image-macos-<tag>.zip`
7474
- `snapfx-demo-jpackage-image-linux-<tag>.zip`
7575

76+
### Optional GitHub Secret (Discord Notification)
77+
78+
- `DISCORD_RELEASE_WEBHOOK` (Discord webhook URL for release-note notifications after GitHub Release publish)
79+
7680
## Maven Central Publishing (`snapfx-core`)
7781

7882
`snapfx-core` is published from the release workflow on stable tags `>= v1.0.0` (for example `v1.0.0`, not `v0.9.5` and not `v1.0.0-rc.1`).

0 commit comments

Comments
 (0)