Skip to content

chore: Merge branch dev to main - #228

Draft
github-actions[bot] wants to merge 9 commits into
mainfrom
dev
Draft

chore: Merge branch dev to main#228
github-actions[bot] wants to merge 9 commits into
mainfrom
dev

Conversation

@github-actions

Copy link
Copy Markdown

This pull request will Merge branch dev to main.

LisoUseInAIKyrios and others added 9 commits July 27, 2026 14:54
# [1.13.0-dev.1](v1.12.0...v1.13.0-dev.1) (2026-07-27)

### Features

* Add ProGuard jar shrinking ([#227](#227)) ([0e6ae05](0e6ae05))
)

Cleans up compiler and deprecation warnings when building the JAR file,
alongside bug fixes discovered while investigating the deprecations:

- `list-versions` now correctly reports app-specific patches that have
no version targets (previously skipped by an erroneous guard condition).
- `list-versions --count-unused-patches=false` now correctly filters by
`patch.default` instead of the deprecated `patch.use`, which always
returned `false` in the new patcher and caused all patches to be
excluded.
- License dialog link buttons now correctly open external websites in
the browser (replacing non-functional Desktop browser calls with
`LocalUriHandler`).
- Logger level tags now format without trailing space padding (e.g.
`[INFO]` instead of `[INFO ]`).

Other changes are cosmetic maintenance to keep the build log clean.
# [1.13.0-dev.2](v1.13.0-dev.1...v1.13.0-dev.2) (2026-07-29)

### Bug Fixes

* resolve deprecation warnings and fix `list-versions` accuracy ([#225](#225)) ([9b79d69](9b79d69))
> [!IMPORTANT]
> Launching the GUI for the very first time will now require an active
internet connection to download the platform-specific Skiko binaries,
JNA, and Material Icons. The downloaded JARs are verified via SHA-256
hashes and cached locally for all subsequent runs.

---

Reduces the base CLI executable size by excluding Skiko native
libraries, JNA binaries, and the massive Material Icons library from the
fat jar. These heavy dependencies are dynamically downloaded on-demand
when the GUI is launched. This significantly decreases the application
footprint (`111.8 MB` -> `59.0 MB`) for users who only need the CLI.

Closes #110, #150.

*This implementation is functionally complete and has been tested on
Linux x64. I was unable to thoroughly test the GUI loading behavior on
Windows or macOS due to lack of time, but the underlying cross-platform
OS detection, downloading, and classpath injection logic is fully
implemented.*
# [1.13.0-dev.3](v1.13.0-dev.2...v1.13.0-dev.3) (2026-07-29)

### Features

* dynamically download GUI dependencies to reduce jar size ([#232](#232)) ([d74a3c2](d74a3c2))
# [1.13.0-dev.4](v1.13.0-dev.3...v1.13.0-dev.4) (2026-07-29)

### Bug Fixes

* Clean up obsolete GUI dependencies ([#233](#233)) ([0d6816c](0d6816c))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: Download skiko libraries at runtime to reduce the jar size feat: Reduce cli size

3 participants