From df6efd78c0d4b209b1defe9ce58b5e211f727207 Mon Sep 17 00:00:00 2001 From: KernelPanic Date: Fri, 11 Sep 2026 16:37:13 -0400 Subject: [PATCH 1/2] build(publish): publish a -SNAPSHOT version as an alpha, at 0.1.0 The version in gradle.properties stays a snapshot for the whole cycle and the release type follows from it: the suffix is dropped for `-alpha` and the upload is marked alpha on both platforms, where a version without one publishes as a release. The changelog tag follows the same name, so the tag, the changelog heading and the uploaded version all agree. Versioned 0.1.0 to line up with Boilerplate's own first release. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_012851PUXRDQtd7fG2w1MTvk --- build.gradle.kts | 13 ++++++++++--- gradle.properties | 2 +- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index f1509856d..d6a85e293 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -261,6 +261,13 @@ gradle.projectsEvaluated { } } +// A `-SNAPSHOT` version publishes as an **alpha**: the suffix is dropped for `-alpha`, and the +// upload is marked alpha on both platforms. Anything else publishes as a release. So the version in +// gradle.properties stays a snapshot while a cycle is in progress and the release type follows from +// it, instead of being a second thing to remember to change at release time. +val isSnapshot = project.version.toString().endsWith("-SNAPSHOT") +val releaseVersion = project.version.toString().removeSuffix("-SNAPSHOT") + if (isSnapshot) "-alpha" else "" + publisher { apiKeys { curseforge("curseforge_api_key".localOrEnv) @@ -272,12 +279,12 @@ publisher { modrinthID = "archie" githubRepo = "https://github.com/kernel-panic-codecave/Archie" - projectVersion = "${libs.versions.minecraft.get()}-${project.version}" + projectVersion = "${libs.versions.minecraft.get()}-$releaseVersion" displayName = "Archie-Merged-${projectVersion.get()}" gameVersions = listOf(libs.versions.minecraft.get()) loaders = listOf("neoforge", "fabric") curseEnvironment = "both" - versionType = "alpha" + versionType = if (isSnapshot) "alpha" else "release" artifact = tasks.fusejars.get() javaVersions = listOf(JavaVersion.VERSION_21) @@ -324,7 +331,7 @@ tasks { commandLine( "python3", ".github/scripts/generate_release_notes.py", "--repo", "mod_source".prop!!.removePrefix("https://github.com/"), - "--new-tag", "v${project.version}", + "--new-tag", "v$releaseVersion", "--range-end", "HEAD", "--changelog-path", "CHANGELOG.md", "--latest-path", "build/latest-changelog.md", diff --git a/gradle.properties b/gradle.properties index cbbaf0ba2..348ea6322 100644 --- a/gradle.properties +++ b/gradle.properties @@ -5,7 +5,7 @@ org.jetbrains.dokka.experimental.gradle.pluginMode.noWarn=true mod_id=archie mod_group=net.kernelpanicsoft.archie -mod_version=1.0.0-SNAPSHOT +mod_version=0.1.0-SNAPSHOT mod_display_name=Archie mod_description=A library mod for Kernel Panic's mods mod_authors=Kernel Panic From b833ee40692dfa6aa698367a22bc7263a634ce2f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 11 Sep 2026 20:51:52 +0000 Subject: [PATCH 2/2] docs: release notes for v0.1.0-alpha --- CHANGELOG.md | 132 ++++++++++++++++++++++++++++++ docs/news/posts/0.1.0-alpha.md | 142 +++++++++++++++++++++++++++++++++ 2 files changed, 274 insertions(+) create mode 100644 docs/news/posts/0.1.0-alpha.md diff --git a/CHANGELOG.md b/CHANGELOG.md index aafbf438d..03e31d049 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,138 @@ All notable changes to Archie are documented here, generated automatically from merged pull requests and direct commits following [Conventional Commits](https://www.conventionalcommits.org/). +## [0.1.0-alpha] - 2026-09-11 + +### Features + +- capability-lookup wrapper (Phase 1) + public GameTest assertions ([#12](https://github.com/kernel-panic-codecave/Archie/pull/12)) - @KP2048 +- data-attachment wrapper (Phase 2) ([#13](https://github.com/kernel-panic-codecave/Archie/pull/13)) - @KP2048 +- item-backed container menus (Phase 3) ([#14](https://github.com/kernel-panic-codecave/Archie/pull/14)) - @KP2048 +- Compose-vanilla focus bridge, theme system overhaul, and bedrock theme ([#16](https://github.com/kernel-panic-codecave/Archie/pull/16)) - @KP2048 +- **serialization:** nested NBTHolder fields, and list/map storage collections ([7326093](https://github.com/kernel-panic-codecave/Archie/commit/732609345e5e7b3811f96b81c09cf01bfbdbec68)) - KernelPanic +- **serialization:** onUpdate on every storage field, generic nested holders ([21312d9](https://github.com/kernel-panic-codecave/Archie/commit/21312d974c9079745e5635819f53f71a920dda00)) - KernelPanic +- **gui:** pannable node-tree view with DSL builder, NBT serialization, and automatic bordered panel framing ([5d4cb2d](https://github.com/kernel-panic-codecave/Archie/commit/5d4cb2dc3a2d3b21d21ba7bd7be104ac76f84209)) - KernelPanic +- **serialization:** give single nested NBTHolder fields on-change tracking ([256561a](https://github.com/kernel-panic-codecave/Archie/commit/256561aab5dad402433fd0081797d35b2dfc330d)) - KernelPanic +- **config:** directory-backed dynamic config collections, groups, refs ([840a3d9](https://github.com/kernel-panic-codecave/Archie/commit/840a3d97b6bef683f1747ca87b9d23f010ffa5f8)) - KernelPanic +- **serialization:** storage slot filters and nested-holder on-change ([39e4bfc](https://github.com/kernel-panic-codecave/Archie/commit/39e4bfce1723ac95a338b2b327668d1d78efb171)) - KernelPanic +- **gui:** let a layer claim a slot group, and draw overlays above it ([39b29ea](https://github.com/kernel-panic-codecave/Archie/commit/39b29ea3c0f33cc89fe69039ea124c49112e07bb)) - KernelPanic +- **gui,serialization:** carry the mouse button into Compose, and stop list writes being quadratic ([fdfa8df](https://github.com/kernel-panic-codecave/Archie/commit/fdfa8dfb494e21a028d2b733fbcb1e34d863e43d)) - KernelPanic +- **gui:** let a composable declare its own tooltip ([f3f41c8](https://github.com/kernel-panic-codecave/Archie/commit/f3f41c8dd69616bd63d25d874b3f3c8fe965828c)) - KernelPanic + +### Bug Fixes + +- address unresolved Copilot review feedback from PRs #3, #5, #6 ([#8](https://github.com/kernel-panic-codecave/Archie/pull/8)) - @KP2048 +- NBT serialization crash in ArchieFluidSlot/Storage and ArchieEnergyStorage ([#9](https://github.com/kernel-panic-codecave/Archie/pull/9)) - @KP2048 +- give client GameTests a virtual clock/dispatcher instead of real threads ([#10](https://github.com/kernel-panic-codecave/Archie/pull/10)) - @KP2048 +- stop mike from writing symlinks into gh-pages, breaking Pages deploy ([#18](https://github.com/kernel-panic-codecave/Archie/pull/18)) - @KP2048 +- network stream desync from mismatched write/read byte-array framing ([#19](https://github.com/kernel-panic-codecave/Archie/pull/19)) - @KP2048 +- stop submitting the whole ever-growing CHANGELOG.md as the Modrinth version body ([#20](https://github.com/kernel-panic-codecave/Archie/pull/20)) - @KP2048 +- two @Sync bugs - wrong collection serializer, unresolved contextual types ([3add09a](https://github.com/kernel-panic-codecave/Archie/commit/3add09a8658471995e15fc2d877476c09980f211)) - KernelPanic +- explicitly bundle compose.runtime's own transitive deps on NeoForge ([d11fa5d](https://github.com/kernel-panic-codecave/Archie/commit/d11fa5da43277df4664816a1b653a2aac22b76dc)) - KernelPanic +- **serialization:** empty-list crash in KOps NBT round-trip ([3ef769e](https://github.com/kernel-panic-codecave/Archie/commit/3ef769e2422140575b4b681eec649deda8656c03)) - KernelPanic +- **gui:** hover state and slot highlight stuck when cursor leaves the window ([afd8af2](https://github.com/kernel-panic-codecave/Archie/commit/afd8af245ec0e2822a0f1d5ea7ac4bcff81a8081)) - KernelPanic +- **gui:** slider click position didn't match its rendered track width ([0e28766](https://github.com/kernel-panic-codecave/Archie/commit/0e2876622197d22ca6de7134d0a7999ff20884b3)) - KernelPanic +- **gui:** depth test left enabled past the slot loop, hiding content behind it ([90fa784](https://github.com/kernel-panic-codecave/Archie/commit/90fa7841744601dcba50324a1a034254b2e4011b)) - KernelPanic +- **gui:** custom baked models crashed on NeoForge from Kotlin internal-member mangling ([a20ef3d](https://github.com/kernel-panic-codecave/Archie/commit/a20ef3dad1999a3d6282d13a4e696d8df0eb301e)) - KernelPanic +- **networking:** simplify packet dispatch, skip broadcasts with no recipients ([e2b3397](https://github.com/kernel-panic-codecave/Archie/commit/e2b33972194fc22fd03390fa40a961d1aeaee316)) - KernelPanic +- **gui:** modal backdrop and slot decorations could still pierce Z-layering ([a606244](https://github.com/kernel-panic-codecave/Archie/commit/a606244bd8942929231c03e1a4cd7ec4f48f81ff)) - KernelPanic +- **gui:** slider click/drag used parent-relative x instead of absolute ([fcf3fbd](https://github.com/kernel-panic-codecave/Archie/commit/fcf3fbd4d713b02a1f35bdad09cceed777d4eb9e)) - KernelPanic +- **build:** set root group/version before subprojects configure ([d5ea16f](https://github.com/kernel-panic-codecave/Archie/commit/d5ea16f523c4ccadcd7b8c99a652fb88ce9450e0)) - KernelPanic +- **gui:** restart Compose when a screen is reactivated ([5d894c6](https://github.com/kernel-panic-codecave/Archie/commit/5d894c6f4d9cab2eee10caa3529e86ffa3276ec7)) - KernelPanic +- **gui:** keep connectors straight unless columns are crossed ([a2243f1](https://github.com/kernel-panic-codecave/Archie/commit/a2243f15bc92b469d2b753acb0204cbec7d55c58)) - KernelPanic +- **transfer:** compare fluids by value in ArchieFluidSlot ([5b3d923](https://github.com/kernel-panic-codecave/Archie/commit/5b3d92331c4d160c28ba9409882334595da7cbc6)) - KernelPanic +- **gametest:** address the JUnit harness's Gradle tasks by their real paths ([97db265](https://github.com/kernel-panic-codecave/Archie/commit/97db2659377c99da3b088668b8d7ef29137d2d87)) - KernelPanic +- **serialization:** an unset nested holder must not save as an empty compound ([02d1ee0](https://github.com/kernel-panic-codecave/Archie/commit/02d1ee0504fb39ad768f4cdee014831848d11f15)) - KernelPanic +- **config:** a synced spec must not round-trip through the network on its own host ([4cb7501](https://github.com/kernel-panic-codecave/Archie/commit/4cb7501e750aacf0cb51780115aea07454777666)) - KernelPanic + +### Refactoring + +- move to kotlin exepct/actual declarations ([6e31ba2](https://github.com/kernel-panic-codecave/Archie/commit/6e31ba251fc5795cfa9002dc672a47644b4fc1b6)) - Witherking25 +- **config:** decouple config/serialization from a hard cloth-config dependency ([c250073](https://github.com/kernel-panic-codecave/Archie/commit/c250073e25b50621912de20d096c0c40278171c9)) - KernelPanic +- **registries:** key scheduleEarlyClientRegistration to the registry actually being awaited ([725ece0](https://github.com/kernel-panic-codecave/Archie/commit/725ece0a96756e7120515c1ac21addf15f9fc29f)) - KernelPanic +- **registries:** register custom models per-loader instead of a shared mixin ([2aaf4a2](https://github.com/kernel-panic-codecave/Archie/commit/2aaf4a2cf1659ad9f91bedb032b786cf21f42465)) - KernelPanic +- **resources:** merge java/bedrock sprite atlases into one gui atlas ([4da8151](https://github.com/kernel-panic-codecave/Archie/commit/4da8151305d031f366c92834590b36a6e6c7b951)) - KernelPanic +- **gui:** read a fluid's appearance from Architectury's own hooks ([aab6de7](https://github.com/kernel-panic-codecave/Archie/commit/aab6de751515bc13a5c3a8541acb43201e25cc4a)) - KernelPanic + +### Documentation + +- overhaul KDoc coverage and markdown guides, refresh Archie-Test ([0d7cb61](https://github.com/kernel-panic-codecave/Archie/commit/0d7cb612c6925ddf47c978916440ff1ef551cdb1)) - KernelPanic +- fix wrong Catalogue-is-broken claim in config.md ([#11](https://github.com/kernel-panic-codecave/Archie/pull/11)) - @KP2048 +- fix all unresolved KDoc links flagged by the docs build ([#17](https://github.com/kernel-panic-codecave/Archie/pull/17)) - @KP2048 + +### Tests + +- migrate unit suites and extract archie test sources ([6f1f76d](https://github.com/kernel-panic-codecave/Archie/commit/6f1f76d396be0e168b17fdab0e46bf98f8f2a1c7)) - KernelPanic + +### Build System + +- moved all the precompiled script plugins to their own seperate project ([e7a43dc](https://github.com/kernel-panic-codecave/Archie/commit/e7a43dc7fa7a2594b6f3606997458609104c9897)) - KernelPanic +- collapse Archie/Archie-Core/Archie-Test into one Loom build at repo root ([#15](https://github.com/kernel-panic-codecave/Archie/pull/15)) - @KP2048 +- wire issue-tracker metadata; scope REI to local runtime ([d7983ad](https://github.com/kernel-panic-codecave/Archie/commit/d7983adc5163d1f8d54455a73d0347c7e3be79fc)) - KernelPanic +- **publish:** publish a -SNAPSHOT version as an alpha, at 0.1.0 ([df6efd7](https://github.com/kernel-panic-codecave/Archie/commit/df6efd78c0d4b209b1defe9ce58b5e211f727207)) - KernelPanic + +### CI/CD + +- fix 401 resolving MrCrayfish GitHub Packages deps ([#4](https://github.com/kernel-panic-codecave/Archie/pull/4)) - @KP2048 +- automated changelog + release-notes blog post on tag ([#6](https://github.com/kernel-panic-codecave/Archie/pull/6)) - @KP2048 +- fix changelog ordering for modpublisher's own tag/release publishing ([#7](https://github.com/kernel-panic-codecave/Archie/pull/7)) - @KP2048 + +### Chores + +- convert repo to composite builds ([bbe1865](https://github.com/kernel-panic-codecave/Archie/commit/bbe18655a7bcaf1a7e477137df4c825c3a36b397)) - KernelPanic +- finish composite-build conversion and fix fabric-test dev launch ([9455038](https://github.com/kernel-panic-codecave/Archie/commit/9455038782200f4049cfbdbedb8a41077041b133)) - KernelPanic +- **build:** bump mod_version to a -SNAPSHOT while iterating ([a879174](https://github.com/kernel-panic-codecave/Archie/commit/a87917472add51a92d98db994b7d0f24c6ec1589)) - KernelPanic + +### Other Changes + +- initial commit ([076427c](https://github.com/kernel-panic-codecave/Archie/commit/076427cd2a1bbcd023b045a05f3bf09fa4ab67c9)) - Witherking25 +- port to 1.21 and start of UI code ([967dd2f](https://github.com/kernel-panic-codecave/Archie/commit/967dd2f1b96cad69aa3bc43a17cf8caf675a5d89)) - KernelPanic +- changed package name and added test mod ([624bcc6](https://github.com/kernel-panic-codecave/Archie/commit/624bcc653f523fca62b2b6a6b47c9848d1fbd535)) - KernelPanic +- K2 and docs ([816bf01](https://github.com/kernel-panic-codecave/Archie/commit/816bf01caee30896bcdce44e39edc360cc63609d)) - KernelPanic +- ci ([2033a63](https://github.com/kernel-panic-codecave/Archie/commit/2033a63440011159c07d975492cb6772f44eb46b)) - KernelPanic +- token ([2614178](https://github.com/kernel-panic-codecave/Archie/commit/26141782adebdefeb03a6e9b0c9d7e5686f95030)) - KernelPanic +- ci ([97ca981](https://github.com/kernel-panic-codecave/Archie/commit/97ca98125efab54cd2abefc2b0eb9bea11e96113)) - KernelPanic +- ci ([22257a6](https://github.com/kernel-panic-codecave/Archie/commit/22257a6b402290dc4427c73ce577f26a01683d70)) - KernelPanic +- ci ([6a110c2](https://github.com/kernel-panic-codecave/Archie/commit/6a110c242ee0ec41b5a0febbcbd982a1b6795ca6)) - KernelPanic +- Gradle Caching ([4c750cf](https://github.com/kernel-panic-codecave/Archie/commit/4c750cf3f5a9660d2ab9dddb5cd70421961a51db)) - KernelPanic +- Theme ([75272e6](https://github.com/kernel-panic-codecave/Archie/commit/75272e6e0a7507e9892f6b843d3ad8f38ba55ed0)) - KernelPanic +- Versioned Docs and k2 ([cbf71a5](https://github.com/kernel-panic-codecave/Archie/commit/cbf71a5d68fc97b605f1a905a8eeb6f60795a365)) - KernelPanic +- Versioned Docs and k2 ([6298d6b](https://github.com/kernel-panic-codecave/Archie/commit/6298d6b2b47fbd6b86a9b909ac42e786c27713a1)) - KernelPanic +- Merge remote-tracking branch 'origin/1.21.x' into 1.21.x ([f8ee5e4](https://github.com/kernel-panic-codecave/Archie/commit/f8ee5e4520635cfe35e7a9a96b9ed62e428d5a74)) - KernelPanic +- Merge remote-tracking branch 'origin/1.21.x' into 1.21.x ([8537931](https://github.com/kernel-panic-codecave/Archie/commit/8537931f8229c117cdff1ed96809488a151f770a)) - KernelPanic +- Fix Box centering by adding fillMaxSize modifier to root container ([ba6af62](https://github.com/kernel-panic-codecave/Archie/commit/ba6af628ddbd69045375c9193bbdf9c34f2e4137)) - KernelPanic +- Fix Box centering: prevent children from inheriting parent size constraints ([6945129](https://github.com/kernel-panic-codecave/Archie/commit/6945129257ecaab6dd41fd70557345a98d5102cf)) - KernelPanic +- Fix padding and margin handling in Row, Column, and Box measure policies ([05faa76](https://github.com/kernel-panic-codecave/Archie/commit/05faa76ff7a0f8ba5f037e6c9882e0629332cce1)) - KernelPanic +- Add block entity state synchronization system (Phase 1-2) ([e9bf3c0](https://github.com/kernel-panic-codecave/Archie/commit/e9bf3c0dc0bf31dbc59900242aa51e04174ca67e)) - KernelPanic +- Add observable collections, block entity updates, and GUI components ([ad8a8a1](https://github.com/kernel-panic-codecave/Archie/commit/ad8a8a19be0e16f4c074d35ce4feb29802d9dd72)) - KernelPanic +- Merge branch 'chore/archie-reorg-refactor-docs' into 1.21.x ([4130d01](https://github.com/kernel-panic-codecave/Archie/commit/4130d01c9f0510d8f4fb639965436f9d48f2cf94)) - KernelPanic +- neoforge: add gui depth and client threading mixins ([4a9342f](https://github.com/kernel-panic-codecave/Archie/commit/4a9342f04dd7321447ab4894181409604004a720)) - KernelPanic +- so many things ([22e4879](https://github.com/kernel-panic-codecave/Archie/commit/22e48798bcb77d2d2b67beee583270675893ad60)) - KernelPanic +- Add Claude Code GitHub Workflow ([#1](https://github.com/kernel-panic-codecave/Archie/pull/1)) - @KP2048 +- fix ci ([0494e11](https://github.com/kernel-panic-codecave/Archie/commit/0494e1100ef458b6dad3aa737cb5c90b9c0599f4)) - KernelPanic +- Add radio/switch textures, fix zero-size widget rendering, and finish composite-build/config cleanup ([25dbd1d](https://github.com/kernel-panic-codecave/Archie/commit/25dbd1d21661a735baeb588d3a6ee3144478b093)) - KernelPanic +- Add CI check workflow and fix the widget-state render bug plus a NeoForge remapJar failure ([4a1f65b](https://github.com/kernel-panic-codecave/Archie/commit/4a1f65b453d82a96d4dc1d960f91fd88ffc27804)) - KernelPanic +- Fix client GameTest runner hanging forever on any test failure ([9ff9225](https://github.com/kernel-panic-codecave/Archie/commit/9ff92252a5372ca18e42565e2581fcc2c8b6e087)) - KernelPanic +- Fix invalid gametest log filenames and improve CI test-failure visibility ([c83e0cd](https://github.com/kernel-panic-codecave/Archie/commit/c83e0cd6b4598b6385cd673bb37e94e3919b6246)) - KernelPanic +- fix build script errors ([601769a](https://github.com/kernel-panic-codecave/Archie/commit/601769ab902d0a5899252a98819d468f975dbfbe)) - KernelPanic +- Add comprehensive UI component GameTests, hierarchy/input test DSL, and a shared widget-state resolver ([d0ea6ab](https://github.com/kernel-panic-codecave/Archie/commit/d0ea6ab2dee4180ef34441a3bd8e76c1bfe38fae)) - KernelPanic +- Fix bugs found by the new UI GameTest suite, dedupe cross-mod test runs, and split CI by loader ([6d5428e](https://github.com/kernel-panic-codecave/Archie/commit/6d5428ec0cc98c3f2dfad444fd069c9286841cdd)) - KernelPanic +- Fix ConcurrentModificationException crash during LayoutNode measure/render ([3004118](https://github.com/kernel-panic-codecave/Archie/commit/300411855d1d7b58b06167b7ec2e0ce6a4afb3d4)) - KernelPanic +- Fix ENTER-never-fires-at-origin hover bug, sync the real cursor with synthetic test input, serialize same-loader GameTest invocations, and settle layout before reading node bounds ([a3f9235](https://github.com/kernel-panic-codecave/Archie/commit/a3f9235ac5e4f536e0b306e83ec2638ae5490c62)) - KernelPanic +- Fix testSwitchHoverAndClickRenderState: use Recomposer.hasPendingWork for isComposeIdle() ([b431a37](https://github.com/kernel-panic-codecave/Archie/commit/b431a37019475b45282c1992b5e7aebae568da3a)) - KernelPanic +- Fix ChoiceDialog disabled-state race and JUnit report job-name misattribution ([d0544b1](https://github.com/kernel-panic-codecave/Archie/commit/d0544b19c60f3278f201bb612ce151b4e646064e)) - KernelPanic +- Tolerate a mod having zero GameTest functions on a given side instead of crashing the invocation ([becd187](https://github.com/kernel-panic-codecave/Archie/commit/becd1877c099f520907582ac69b1076830c826ff)) - KernelPanic +- Fix Phaser double-arrival crash and Compose runtime leak on screen swap ([41da03f](https://github.com/kernel-panic-codecave/Archie/commit/41da03feadeaed9baeb6cfe7dea0a0e9eb2f4aab)) - KernelPanic +- Fix assertRenderState's failure message re-reading live state instead of the compared value ([cfa2a5a](https://github.com/kernel-panic-codecave/Archie/commit/cfa2a5abcc70dc2d1604f5f0cf8c0566917533ac)) - KernelPanic +- Fix Phaser stale-phase-memory bug causing intermittent GameTest stalls ([076e93e](https://github.com/kernel-panic-codecave/Archie/commit/076e93eb67948823e4779b82d40bc3842a2a6022)) - KernelPanic +- fixed config ([4637408](https://github.com/kernel-panic-codecave/Archie/commit/4637408a8fbdf633724d85a18a4097ea1f043e65)) - KernelPanic +- Overhaul config system with client/server sync, and sync docs ([71e2697](https://github.com/kernel-panic-codecave/Archie/commit/71e269747038782858a2785348f3a4c49cd3fd82)) - KernelPanic +- Sync markdown guides and KDoc with the config overhaul's collateral changes ([#5](https://github.com/kernel-panic-codecave/Archie/pull/5)) - @KP2048 +- Add ProgressBar/EnergyBar/FluidTank composables and energy storage ([#3](https://github.com/kernel-panic-codecave/Archie/pull/3)) - @KP2048 +- Enable per-module Maven publishing, misc build/CI/editor tweaks ([5cacf02](https://github.com/kernel-panic-codecave/Archie/commit/5cacf0248c4a43a119008a3616ad66b91035212b)) - KernelPanic +- release ([829e5e6](https://github.com/kernel-panic-codecave/Archie/commit/829e5e61aaf2f017796b4f92e35a9f055dd30ad5)) - KernelPanic +- Feature/stonecutter migration ([#21](https://github.com/kernel-panic-codecave/Archie/pull/21)) - @KP2048 + ## [1.0.0] - 2026-08-13 ### Features diff --git a/docs/news/posts/0.1.0-alpha.md b/docs/news/posts/0.1.0-alpha.md new file mode 100644 index 000000000..7951aa419 --- /dev/null +++ b/docs/news/posts/0.1.0-alpha.md @@ -0,0 +1,142 @@ +--- +date: + created: 2026-09-11 +categories: + - Release +--- + +# Archie 0.1.0-alpha + +103 changes. + + + +### Features + +- capability-lookup wrapper (Phase 1) + public GameTest assertions ([#12](https://github.com/kernel-panic-codecave/Archie/pull/12)) - @KP2048 +- data-attachment wrapper (Phase 2) ([#13](https://github.com/kernel-panic-codecave/Archie/pull/13)) - @KP2048 +- item-backed container menus (Phase 3) ([#14](https://github.com/kernel-panic-codecave/Archie/pull/14)) - @KP2048 +- Compose-vanilla focus bridge, theme system overhaul, and bedrock theme ([#16](https://github.com/kernel-panic-codecave/Archie/pull/16)) - @KP2048 +- **serialization:** nested NBTHolder fields, and list/map storage collections ([7326093](https://github.com/kernel-panic-codecave/Archie/commit/732609345e5e7b3811f96b81c09cf01bfbdbec68)) - KernelPanic +- **serialization:** onUpdate on every storage field, generic nested holders ([21312d9](https://github.com/kernel-panic-codecave/Archie/commit/21312d974c9079745e5635819f53f71a920dda00)) - KernelPanic +- **gui:** pannable node-tree view with DSL builder, NBT serialization, and automatic bordered panel framing ([5d4cb2d](https://github.com/kernel-panic-codecave/Archie/commit/5d4cb2dc3a2d3b21d21ba7bd7be104ac76f84209)) - KernelPanic +- **serialization:** give single nested NBTHolder fields on-change tracking ([256561a](https://github.com/kernel-panic-codecave/Archie/commit/256561aab5dad402433fd0081797d35b2dfc330d)) - KernelPanic +- **config:** directory-backed dynamic config collections, groups, refs ([840a3d9](https://github.com/kernel-panic-codecave/Archie/commit/840a3d97b6bef683f1747ca87b9d23f010ffa5f8)) - KernelPanic +- **serialization:** storage slot filters and nested-holder on-change ([39e4bfc](https://github.com/kernel-panic-codecave/Archie/commit/39e4bfce1723ac95a338b2b327668d1d78efb171)) - KernelPanic +- **gui:** let a layer claim a slot group, and draw overlays above it ([39b29ea](https://github.com/kernel-panic-codecave/Archie/commit/39b29ea3c0f33cc89fe69039ea124c49112e07bb)) - KernelPanic +- **gui,serialization:** carry the mouse button into Compose, and stop list writes being quadratic ([fdfa8df](https://github.com/kernel-panic-codecave/Archie/commit/fdfa8dfb494e21a028d2b733fbcb1e34d863e43d)) - KernelPanic +- **gui:** let a composable declare its own tooltip ([f3f41c8](https://github.com/kernel-panic-codecave/Archie/commit/f3f41c8dd69616bd63d25d874b3f3c8fe965828c)) - KernelPanic + +### Bug Fixes + +- address unresolved Copilot review feedback from PRs #3, #5, #6 ([#8](https://github.com/kernel-panic-codecave/Archie/pull/8)) - @KP2048 +- NBT serialization crash in ArchieFluidSlot/Storage and ArchieEnergyStorage ([#9](https://github.com/kernel-panic-codecave/Archie/pull/9)) - @KP2048 +- give client GameTests a virtual clock/dispatcher instead of real threads ([#10](https://github.com/kernel-panic-codecave/Archie/pull/10)) - @KP2048 +- stop mike from writing symlinks into gh-pages, breaking Pages deploy ([#18](https://github.com/kernel-panic-codecave/Archie/pull/18)) - @KP2048 +- network stream desync from mismatched write/read byte-array framing ([#19](https://github.com/kernel-panic-codecave/Archie/pull/19)) - @KP2048 +- stop submitting the whole ever-growing CHANGELOG.md as the Modrinth version body ([#20](https://github.com/kernel-panic-codecave/Archie/pull/20)) - @KP2048 +- two @Sync bugs - wrong collection serializer, unresolved contextual types ([3add09a](https://github.com/kernel-panic-codecave/Archie/commit/3add09a8658471995e15fc2d877476c09980f211)) - KernelPanic +- explicitly bundle compose.runtime's own transitive deps on NeoForge ([d11fa5d](https://github.com/kernel-panic-codecave/Archie/commit/d11fa5da43277df4664816a1b653a2aac22b76dc)) - KernelPanic +- **serialization:** empty-list crash in KOps NBT round-trip ([3ef769e](https://github.com/kernel-panic-codecave/Archie/commit/3ef769e2422140575b4b681eec649deda8656c03)) - KernelPanic +- **gui:** hover state and slot highlight stuck when cursor leaves the window ([afd8af2](https://github.com/kernel-panic-codecave/Archie/commit/afd8af245ec0e2822a0f1d5ea7ac4bcff81a8081)) - KernelPanic +- **gui:** slider click position didn't match its rendered track width ([0e28766](https://github.com/kernel-panic-codecave/Archie/commit/0e2876622197d22ca6de7134d0a7999ff20884b3)) - KernelPanic +- **gui:** depth test left enabled past the slot loop, hiding content behind it ([90fa784](https://github.com/kernel-panic-codecave/Archie/commit/90fa7841744601dcba50324a1a034254b2e4011b)) - KernelPanic +- **gui:** custom baked models crashed on NeoForge from Kotlin internal-member mangling ([a20ef3d](https://github.com/kernel-panic-codecave/Archie/commit/a20ef3dad1999a3d6282d13a4e696d8df0eb301e)) - KernelPanic +- **networking:** simplify packet dispatch, skip broadcasts with no recipients ([e2b3397](https://github.com/kernel-panic-codecave/Archie/commit/e2b33972194fc22fd03390fa40a961d1aeaee316)) - KernelPanic +- **gui:** modal backdrop and slot decorations could still pierce Z-layering ([a606244](https://github.com/kernel-panic-codecave/Archie/commit/a606244bd8942929231c03e1a4cd7ec4f48f81ff)) - KernelPanic +- **gui:** slider click/drag used parent-relative x instead of absolute ([fcf3fbd](https://github.com/kernel-panic-codecave/Archie/commit/fcf3fbd4d713b02a1f35bdad09cceed777d4eb9e)) - KernelPanic +- **build:** set root group/version before subprojects configure ([d5ea16f](https://github.com/kernel-panic-codecave/Archie/commit/d5ea16f523c4ccadcd7b8c99a652fb88ce9450e0)) - KernelPanic +- **gui:** restart Compose when a screen is reactivated ([5d894c6](https://github.com/kernel-panic-codecave/Archie/commit/5d894c6f4d9cab2eee10caa3529e86ffa3276ec7)) - KernelPanic +- **gui:** keep connectors straight unless columns are crossed ([a2243f1](https://github.com/kernel-panic-codecave/Archie/commit/a2243f15bc92b469d2b753acb0204cbec7d55c58)) - KernelPanic +- **transfer:** compare fluids by value in ArchieFluidSlot ([5b3d923](https://github.com/kernel-panic-codecave/Archie/commit/5b3d92331c4d160c28ba9409882334595da7cbc6)) - KernelPanic +- **gametest:** address the JUnit harness's Gradle tasks by their real paths ([97db265](https://github.com/kernel-panic-codecave/Archie/commit/97db2659377c99da3b088668b8d7ef29137d2d87)) - KernelPanic +- **serialization:** an unset nested holder must not save as an empty compound ([02d1ee0](https://github.com/kernel-panic-codecave/Archie/commit/02d1ee0504fb39ad768f4cdee014831848d11f15)) - KernelPanic +- **config:** a synced spec must not round-trip through the network on its own host ([4cb7501](https://github.com/kernel-panic-codecave/Archie/commit/4cb7501e750aacf0cb51780115aea07454777666)) - KernelPanic + +### Refactoring + +- move to kotlin exepct/actual declarations ([6e31ba2](https://github.com/kernel-panic-codecave/Archie/commit/6e31ba251fc5795cfa9002dc672a47644b4fc1b6)) - Witherking25 +- **config:** decouple config/serialization from a hard cloth-config dependency ([c250073](https://github.com/kernel-panic-codecave/Archie/commit/c250073e25b50621912de20d096c0c40278171c9)) - KernelPanic +- **registries:** key scheduleEarlyClientRegistration to the registry actually being awaited ([725ece0](https://github.com/kernel-panic-codecave/Archie/commit/725ece0a96756e7120515c1ac21addf15f9fc29f)) - KernelPanic +- **registries:** register custom models per-loader instead of a shared mixin ([2aaf4a2](https://github.com/kernel-panic-codecave/Archie/commit/2aaf4a2cf1659ad9f91bedb032b786cf21f42465)) - KernelPanic +- **resources:** merge java/bedrock sprite atlases into one gui atlas ([4da8151](https://github.com/kernel-panic-codecave/Archie/commit/4da8151305d031f366c92834590b36a6e6c7b951)) - KernelPanic +- **gui:** read a fluid's appearance from Architectury's own hooks ([aab6de7](https://github.com/kernel-panic-codecave/Archie/commit/aab6de751515bc13a5c3a8541acb43201e25cc4a)) - KernelPanic + +### Documentation + +- overhaul KDoc coverage and markdown guides, refresh Archie-Test ([0d7cb61](https://github.com/kernel-panic-codecave/Archie/commit/0d7cb612c6925ddf47c978916440ff1ef551cdb1)) - KernelPanic +- fix wrong Catalogue-is-broken claim in config.md ([#11](https://github.com/kernel-panic-codecave/Archie/pull/11)) - @KP2048 +- fix all unresolved KDoc links flagged by the docs build ([#17](https://github.com/kernel-panic-codecave/Archie/pull/17)) - @KP2048 + +### Tests + +- migrate unit suites and extract archie test sources ([6f1f76d](https://github.com/kernel-panic-codecave/Archie/commit/6f1f76d396be0e168b17fdab0e46bf98f8f2a1c7)) - KernelPanic + +### Build System + +- moved all the precompiled script plugins to their own seperate project ([e7a43dc](https://github.com/kernel-panic-codecave/Archie/commit/e7a43dc7fa7a2594b6f3606997458609104c9897)) - KernelPanic +- collapse Archie/Archie-Core/Archie-Test into one Loom build at repo root ([#15](https://github.com/kernel-panic-codecave/Archie/pull/15)) - @KP2048 +- wire issue-tracker metadata; scope REI to local runtime ([d7983ad](https://github.com/kernel-panic-codecave/Archie/commit/d7983adc5163d1f8d54455a73d0347c7e3be79fc)) - KernelPanic +- **publish:** publish a -SNAPSHOT version as an alpha, at 0.1.0 ([df6efd7](https://github.com/kernel-panic-codecave/Archie/commit/df6efd78c0d4b209b1defe9ce58b5e211f727207)) - KernelPanic + +### CI/CD + +- fix 401 resolving MrCrayfish GitHub Packages deps ([#4](https://github.com/kernel-panic-codecave/Archie/pull/4)) - @KP2048 +- automated changelog + release-notes blog post on tag ([#6](https://github.com/kernel-panic-codecave/Archie/pull/6)) - @KP2048 +- fix changelog ordering for modpublisher's own tag/release publishing ([#7](https://github.com/kernel-panic-codecave/Archie/pull/7)) - @KP2048 + +### Chores + +- convert repo to composite builds ([bbe1865](https://github.com/kernel-panic-codecave/Archie/commit/bbe18655a7bcaf1a7e477137df4c825c3a36b397)) - KernelPanic +- finish composite-build conversion and fix fabric-test dev launch ([9455038](https://github.com/kernel-panic-codecave/Archie/commit/9455038782200f4049cfbdbedb8a41077041b133)) - KernelPanic +- **build:** bump mod_version to a -SNAPSHOT while iterating ([a879174](https://github.com/kernel-panic-codecave/Archie/commit/a87917472add51a92d98db994b7d0f24c6ec1589)) - KernelPanic + +### Other Changes + +- initial commit ([076427c](https://github.com/kernel-panic-codecave/Archie/commit/076427cd2a1bbcd023b045a05f3bf09fa4ab67c9)) - Witherking25 +- port to 1.21 and start of UI code ([967dd2f](https://github.com/kernel-panic-codecave/Archie/commit/967dd2f1b96cad69aa3bc43a17cf8caf675a5d89)) - KernelPanic +- changed package name and added test mod ([624bcc6](https://github.com/kernel-panic-codecave/Archie/commit/624bcc653f523fca62b2b6a6b47c9848d1fbd535)) - KernelPanic +- K2 and docs ([816bf01](https://github.com/kernel-panic-codecave/Archie/commit/816bf01caee30896bcdce44e39edc360cc63609d)) - KernelPanic +- ci ([2033a63](https://github.com/kernel-panic-codecave/Archie/commit/2033a63440011159c07d975492cb6772f44eb46b)) - KernelPanic +- token ([2614178](https://github.com/kernel-panic-codecave/Archie/commit/26141782adebdefeb03a6e9b0c9d7e5686f95030)) - KernelPanic +- ci ([97ca981](https://github.com/kernel-panic-codecave/Archie/commit/97ca98125efab54cd2abefc2b0eb9bea11e96113)) - KernelPanic +- ci ([22257a6](https://github.com/kernel-panic-codecave/Archie/commit/22257a6b402290dc4427c73ce577f26a01683d70)) - KernelPanic +- ci ([6a110c2](https://github.com/kernel-panic-codecave/Archie/commit/6a110c242ee0ec41b5a0febbcbd982a1b6795ca6)) - KernelPanic +- Gradle Caching ([4c750cf](https://github.com/kernel-panic-codecave/Archie/commit/4c750cf3f5a9660d2ab9dddb5cd70421961a51db)) - KernelPanic +- Theme ([75272e6](https://github.com/kernel-panic-codecave/Archie/commit/75272e6e0a7507e9892f6b843d3ad8f38ba55ed0)) - KernelPanic +- Versioned Docs and k2 ([cbf71a5](https://github.com/kernel-panic-codecave/Archie/commit/cbf71a5d68fc97b605f1a905a8eeb6f60795a365)) - KernelPanic +- Versioned Docs and k2 ([6298d6b](https://github.com/kernel-panic-codecave/Archie/commit/6298d6b2b47fbd6b86a9b909ac42e786c27713a1)) - KernelPanic +- Merge remote-tracking branch 'origin/1.21.x' into 1.21.x ([f8ee5e4](https://github.com/kernel-panic-codecave/Archie/commit/f8ee5e4520635cfe35e7a9a96b9ed62e428d5a74)) - KernelPanic +- Merge remote-tracking branch 'origin/1.21.x' into 1.21.x ([8537931](https://github.com/kernel-panic-codecave/Archie/commit/8537931f8229c117cdff1ed96809488a151f770a)) - KernelPanic +- Fix Box centering by adding fillMaxSize modifier to root container ([ba6af62](https://github.com/kernel-panic-codecave/Archie/commit/ba6af628ddbd69045375c9193bbdf9c34f2e4137)) - KernelPanic +- Fix Box centering: prevent children from inheriting parent size constraints ([6945129](https://github.com/kernel-panic-codecave/Archie/commit/6945129257ecaab6dd41fd70557345a98d5102cf)) - KernelPanic +- Fix padding and margin handling in Row, Column, and Box measure policies ([05faa76](https://github.com/kernel-panic-codecave/Archie/commit/05faa76ff7a0f8ba5f037e6c9882e0629332cce1)) - KernelPanic +- Add block entity state synchronization system (Phase 1-2) ([e9bf3c0](https://github.com/kernel-panic-codecave/Archie/commit/e9bf3c0dc0bf31dbc59900242aa51e04174ca67e)) - KernelPanic +- Add observable collections, block entity updates, and GUI components ([ad8a8a1](https://github.com/kernel-panic-codecave/Archie/commit/ad8a8a19be0e16f4c074d35ce4feb29802d9dd72)) - KernelPanic +- Merge branch 'chore/archie-reorg-refactor-docs' into 1.21.x ([4130d01](https://github.com/kernel-panic-codecave/Archie/commit/4130d01c9f0510d8f4fb639965436f9d48f2cf94)) - KernelPanic +- neoforge: add gui depth and client threading mixins ([4a9342f](https://github.com/kernel-panic-codecave/Archie/commit/4a9342f04dd7321447ab4894181409604004a720)) - KernelPanic +- so many things ([22e4879](https://github.com/kernel-panic-codecave/Archie/commit/22e48798bcb77d2d2b67beee583270675893ad60)) - KernelPanic +- Add Claude Code GitHub Workflow ([#1](https://github.com/kernel-panic-codecave/Archie/pull/1)) - @KP2048 +- fix ci ([0494e11](https://github.com/kernel-panic-codecave/Archie/commit/0494e1100ef458b6dad3aa737cb5c90b9c0599f4)) - KernelPanic +- Add radio/switch textures, fix zero-size widget rendering, and finish composite-build/config cleanup ([25dbd1d](https://github.com/kernel-panic-codecave/Archie/commit/25dbd1d21661a735baeb588d3a6ee3144478b093)) - KernelPanic +- Add CI check workflow and fix the widget-state render bug plus a NeoForge remapJar failure ([4a1f65b](https://github.com/kernel-panic-codecave/Archie/commit/4a1f65b453d82a96d4dc1d960f91fd88ffc27804)) - KernelPanic +- Fix client GameTest runner hanging forever on any test failure ([9ff9225](https://github.com/kernel-panic-codecave/Archie/commit/9ff92252a5372ca18e42565e2581fcc2c8b6e087)) - KernelPanic +- Fix invalid gametest log filenames and improve CI test-failure visibility ([c83e0cd](https://github.com/kernel-panic-codecave/Archie/commit/c83e0cd6b4598b6385cd673bb37e94e3919b6246)) - KernelPanic +- fix build script errors ([601769a](https://github.com/kernel-panic-codecave/Archie/commit/601769ab902d0a5899252a98819d468f975dbfbe)) - KernelPanic +- Add comprehensive UI component GameTests, hierarchy/input test DSL, and a shared widget-state resolver ([d0ea6ab](https://github.com/kernel-panic-codecave/Archie/commit/d0ea6ab2dee4180ef34441a3bd8e76c1bfe38fae)) - KernelPanic +- Fix bugs found by the new UI GameTest suite, dedupe cross-mod test runs, and split CI by loader ([6d5428e](https://github.com/kernel-panic-codecave/Archie/commit/6d5428ec0cc98c3f2dfad444fd069c9286841cdd)) - KernelPanic +- Fix ConcurrentModificationException crash during LayoutNode measure/render ([3004118](https://github.com/kernel-panic-codecave/Archie/commit/300411855d1d7b58b06167b7ec2e0ce6a4afb3d4)) - KernelPanic +- Fix ENTER-never-fires-at-origin hover bug, sync the real cursor with synthetic test input, serialize same-loader GameTest invocations, and settle layout before reading node bounds ([a3f9235](https://github.com/kernel-panic-codecave/Archie/commit/a3f9235ac5e4f536e0b306e83ec2638ae5490c62)) - KernelPanic +- Fix testSwitchHoverAndClickRenderState: use Recomposer.hasPendingWork for isComposeIdle() ([b431a37](https://github.com/kernel-panic-codecave/Archie/commit/b431a37019475b45282c1992b5e7aebae568da3a)) - KernelPanic +- Fix ChoiceDialog disabled-state race and JUnit report job-name misattribution ([d0544b1](https://github.com/kernel-panic-codecave/Archie/commit/d0544b19c60f3278f201bb612ce151b4e646064e)) - KernelPanic +- Tolerate a mod having zero GameTest functions on a given side instead of crashing the invocation ([becd187](https://github.com/kernel-panic-codecave/Archie/commit/becd1877c099f520907582ac69b1076830c826ff)) - KernelPanic +- Fix Phaser double-arrival crash and Compose runtime leak on screen swap ([41da03f](https://github.com/kernel-panic-codecave/Archie/commit/41da03feadeaed9baeb6cfe7dea0a0e9eb2f4aab)) - KernelPanic +- Fix assertRenderState's failure message re-reading live state instead of the compared value ([cfa2a5a](https://github.com/kernel-panic-codecave/Archie/commit/cfa2a5abcc70dc2d1604f5f0cf8c0566917533ac)) - KernelPanic +- Fix Phaser stale-phase-memory bug causing intermittent GameTest stalls ([076e93e](https://github.com/kernel-panic-codecave/Archie/commit/076e93eb67948823e4779b82d40bc3842a2a6022)) - KernelPanic +- fixed config ([4637408](https://github.com/kernel-panic-codecave/Archie/commit/4637408a8fbdf633724d85a18a4097ea1f043e65)) - KernelPanic +- Overhaul config system with client/server sync, and sync docs ([71e2697](https://github.com/kernel-panic-codecave/Archie/commit/71e269747038782858a2785348f3a4c49cd3fd82)) - KernelPanic +- Sync markdown guides and KDoc with the config overhaul's collateral changes ([#5](https://github.com/kernel-panic-codecave/Archie/pull/5)) - @KP2048 +- Add ProgressBar/EnergyBar/FluidTank composables and energy storage ([#3](https://github.com/kernel-panic-codecave/Archie/pull/3)) - @KP2048 +- Enable per-module Maven publishing, misc build/CI/editor tweaks ([5cacf02](https://github.com/kernel-panic-codecave/Archie/commit/5cacf0248c4a43a119008a3616ad66b91035212b)) - KernelPanic +- release ([829e5e6](https://github.com/kernel-panic-codecave/Archie/commit/829e5e61aaf2f017796b4f92e35a9f055dd30ad5)) - KernelPanic +- Feature/stonecutter migration ([#21](https://github.com/kernel-panic-codecave/Archie/pull/21)) - @KP2048