From 103af6dcf2c13a126e0c117fd4239f24438220a2 Mon Sep 17 00:00:00 2001 From: featurescript <114271535+featurescript@users.noreply.github.com> Date: Mon, 26 Oct 2026 16:48:31 -0700 Subject: [PATCH] Bump SimLoop to 0.2.0-alpha.2 The version in SimLoop/build.gradle, its copies in the READMEs, mkdocs footer, starter and docs, and the notes that called distortion, occluders, tilted tags and synthetic frames development APIs: they ship in this tag. Historical records of alpha.1 stay as they were. --- .github/ISSUE_TEMPLATE/bug_report.yml | 2 +- README.md | 8 ++++---- SimLoop/PUBLISHING.md | 11 ++++++----- SimLoop/README.md | 10 +++++----- SimLoop/build.gradle | 2 +- SimLoop/docs/getting-started.md | 22 +++++++++++----------- SimLoop/docs/index.md | 8 ++++---- SimLoop/docs/llms.md | 8 ++++---- SimLoop/docs/packages/live.md | 2 +- SimLoop/docs/packages/vision.md | 6 +++--- SimLoop/docs/unchanged-team-code.md | 2 +- SimLoop/mkdocs.yml | 2 +- simloop-agents/AGENTS.md | 6 +++--- simloop-starter/README.md | 8 ++++---- simloop-starter/simloop.gradle | 4 ++-- 15 files changed, 51 insertions(+), 50 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index e0cb3ba..a392664 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -37,7 +37,7 @@ body: attributes: label: SimLoop version or commit description: The version in your build.gradle, or a commit hash. - placeholder: e.g. v0.2.0-alpha.1 or ddd1ad6 + placeholder: e.g. v0.2.0-alpha.2 or ddd1ad6 validations: required: true diff --git a/README.md b/README.md index 649ea58..e49d5a9 100644 --- a/README.md +++ b/README.md @@ -13,11 +13,11 @@ Package root: `org.horizon36596.simloop`. Licence: BSD 3-Clause. Run SimLoop from your robot project's tests or simulation harness and view the result in a separate AdvantageScope window. This release covers that library-and-viewer workflow. -The source tree can be newer than the latest tag. Distortion, occlusion, tilted tags and synthetic -camera frames are development additions after `v0.2.0-alpha.1`; they are not in that pinned artifact. -Use the starter and documentation from the tag you install, or pin the exact source commit you test. +Distortion, occlusion, tilted tags and synthetic camera frames arrived in `v0.2.0-alpha.2`; they are not +in `v0.2.0-alpha.1`. The source tree can be newer than the latest tag, so use the starter and +documentation from the tag you install, or pin the exact source commit you test. -> **SimLoop is an alpha.** `v0.2.0-alpha.1` is the current alpha and the first public one. The API may +> **SimLoop is an alpha.** `v0.2.0-alpha.2` is the current alpha. The API may > change between alpha versions, so pin an exact version in your build. It needs **FTC SDK 12.0**. > Support is best effort: a small FTC team maintains it in its own time. `v0.1.0-beta1`, the earlier > build on JitPack, is superseded and will not get fixes. diff --git a/SimLoop/PUBLISHING.md b/SimLoop/PUBLISHING.md index 5b78b20..fe2455b 100644 --- a/SimLoop/PUBLISHING.md +++ b/SimLoop/PUBLISHING.md @@ -9,14 +9,14 @@ Central. The build wiring this describes lives at the bottom of `SimLoop/build.g |---|---| | Group (in the POM) | `org.horizon36596` | | Artifact (in the POM) | `SimLoop` | -| Version (in the POM) | `0.2.0-alpha.1` | -| **What a consumer actually writes** | **`com.github.Horizon-36596:simloop:v0.2.0-alpha.1`** | +| Version (in the POM) | `0.2.0-alpha.2` | +| **What a consumer actually writes** | **`com.github.Horizon-36596:simloop:v0.2.0-alpha.2`** | | Packaging | `aar`, plus sources and javadoc jars, plus the keyboard window jar (classifier `desktop`) | **JitPack ignores every one of those first three values and derives its own.** The group becomes `com.github.`, the artifact becomes the **repository** name, and the version is the git tag -verbatim, leading `v` included. A consumer writes `com.github.Horizon-36596:simloop:v0.2.0-alpha.1`; -JitPack's served POM uses that coordinate too. The declared `org.horizon36596:SimLoop:0.2.0-alpha.1` +verbatim, leading `v` included. A consumer writes `com.github.Horizon-36596:simloop:v0.2.0-alpha.2`; +JitPack's served POM uses that coordinate too. The declared `org.horizon36596:SimLoop:0.2.0-alpha.2` coordinate belongs to `publishToMavenLocal` and a possible Maven Central publication. That is JitPack's **single-module** spelling, and this build gets it because `jitpack.yml` installs @@ -32,7 +32,8 @@ publication, `com.github.Horizon-36596:simloop::desktop`, and not as a modu ## Version scheme `MAJOR.MINOR.PATCH`, with an `-alpha.N` suffix while the API is still moving. The current release is -`0.2.0-alpha.1`, the first public alpha. `0.1.0-beta1` came before it and is superseded; it gets no fixes. +`0.2.0-alpha.2`. `0.2.0-alpha.1` was the first public alpha. `0.1.0-beta1` came before it and is +superseded; it gets no fixes. - **`-alpha.N`** says the API may change between alpha versions without a major bump. That is the true state today and should stay until teams outside Horizon have used it for a season. diff --git a/SimLoop/README.md b/SimLoop/README.md index 3fea375..e61b8c9 100644 --- a/SimLoop/README.md +++ b/SimLoop/README.md @@ -8,7 +8,7 @@ from a fake clock rather than the wall, so the same run produces the same log ev is a PsiKit RLOG, which AdvantageScope opens and which the `loop` package can score automatically. Package root: `org.horizon36596.simloop`. Status: **alpha**. The API may change between alpha versions, -so pin an exact version. Support is best effort. `v0.2.0-alpha.1` is the current alpha; it supersedes +so pin an exact version. Support is best effort. `v0.2.0-alpha.2` is the current alpha; it supersedes `v0.1.0-beta1`, which gets no fixes. It needs **FTC SDK 12.0**. Questions go to [Discussions](https://github.com/Horizon-36596/simloop/discussions), bugs to [Issues](https://github.com/Horizon-36596/simloop/issues). Every feature, one line each: @@ -21,12 +21,12 @@ end of this section), and its Pinpoint, OTOS and Limelight 3A fakes are the SDK The coordinate spelling below was confirmed on 2026-09-19 against `v0.1.0-beta1`, the earlier build: a throwaway stock-layout FTC project resolved it for real from JitPack, with nothing published locally. -`v0.2.0-alpha.1` uses the same spelling with its own tag. +Each later tag uses the same spelling with its own tag. Note the two spellings, because mixing them up fails with `Could not find`, which reads like a missing library rather than a wrong name. **JitPack derives its own coordinate from the repository address** and -ignores what this project calls itself: `com.github.Horizon-36596:simloop:v0.2.0-alpha.1`, with the tag as -the version, `v` included. The POM inside says `org.horizon36596:SimLoop:0.2.0-alpha.1`, which is what +ignores what this project calls itself: `com.github.Horizon-36596:simloop:v0.2.0-alpha.2`, with the tag as +the version, `v` included. The POM inside says `org.horizon36596:SimLoop:0.2.0-alpha.2`, which is what `publishToMavenLocal` writes and what a future Maven Central release would use. JitPack, which builds a tag of this repository on demand: @@ -72,7 +72,7 @@ repositories over project repositories". Without that line, both forms work and ```groovy // TeamCode/build.gradle dependencies { - testImplementation 'com.github.Horizon-36596:simloop:v0.2.0-alpha.1' + testImplementation 'com.github.Horizon-36596:simloop:v0.2.0-alpha.2' // JUnit 5, if you are not already on it. SimLoop's own tests use it; yours need not. testImplementation 'org.junit.jupiter:junit-jupiter-api:5.11.3' diff --git a/SimLoop/build.gradle b/SimLoop/build.gradle index 67370aa..f9b1b37 100644 --- a/SimLoop/build.gradle +++ b/SimLoop/build.gradle @@ -25,7 +25,7 @@ evaluationDependsOn(':SimLoop:desktop') // Maven Central namespace is granted by proving control of the domain the group is named after, so this // group is claimable later and a com.github.* one would have to be swapped for one that is. group = 'org.horizon36596' -version = '0.2.0-alpha.1' +version = '0.2.0-alpha.2' android { namespace = 'org.horizon36596.simloop' diff --git a/SimLoop/docs/getting-started.md b/SimLoop/docs/getting-started.md index 8368df5..b972d6c 100644 --- a/SimLoop/docs/getting-started.md +++ b/SimLoop/docs/getting-started.md @@ -4,12 +4,12 @@ Copy the starter folder to add SimLoop to an FTC project. The manual setup below build settings if you want to maintain them yourself. !!! warning "Your project must be on FTC SDK 12.0" - SimLoop `v0.2.0-alpha.1` is built against **FTC SDK 12.0.0**, and the earlier beta was built against + SimLoop `v0.2.0-alpha.2` is built against **FTC SDK 12.0.0**, and the earlier beta was built against 11.2.1. Update your FTC project to SDK 12.0 before you add SimLoop. See [Why SDK 12.0](#why-sdk-120) below. !!! note "Status: alpha" - `v0.2.0-alpha.1` is the current alpha. The API may change between alpha versions, so pin the exact + `v0.2.0-alpha.2` is the current alpha. The API may change between alpha versions, so pin the exact version. `v0.1.0-beta1` is superseded and gets no fixes. Questions go to [Discussions](https://github.com/Horizon-36596/simloop/discussions). @@ -34,7 +34,7 @@ your robot runs. Update the project first. ## The three-step way: copy the starter folder -[`simloop-starter/`](https://github.com/Horizon-36596/simloop/tree/v0.2.0-alpha.1/simloop-starter) is one folder +[`simloop-starter/`](https://github.com/Horizon-36596/simloop/tree/v0.2.0-alpha.2/simloop-starter) is one folder that carries every build setting SimLoop needs, plus a small example robot that drives itself. 1. **Copy the folder** into the root of your FTC project, beside `TeamCode/` and `FtcRobotController/`. @@ -61,7 +61,7 @@ own robot; passing the example checks the installation, not your robot's configu A team starts its season in one repository. A folder you drop into that repository needs no merge, and removing it is deleting the folder and one line. -The starter's own [README](https://github.com/Horizon-36596/simloop/tree/v0.2.0-alpha.1/simloop-starter#readme) +The starter's own [README](https://github.com/Horizon-36596/simloop/tree/v0.2.0-alpha.2/simloop-starter#readme) says what is in it. [Your first simulated test](first-test.md) walks through a separate slide example, including the clock, plant, log and assertions. @@ -98,10 +98,10 @@ repositories { ```groovy // TeamCode/build.gradle dependencies { - testImplementation 'com.github.Horizon-36596:simloop:v0.2.0-alpha.1' + testImplementation 'com.github.Horizon-36596:simloop:v0.2.0-alpha.2' // The keyboard window for driving the sim live. Optional; same coordinate, `desktop` classifier. - testImplementation 'com.github.Horizon-36596:simloop:v0.2.0-alpha.1:desktop' + testImplementation 'com.github.Horizon-36596:simloop:v0.2.0-alpha.2:desktop' // JUnit 5, if you are not already on it. testImplementation 'org.junit.jupiter:junit-jupiter-api:5.11.3' @@ -122,8 +122,8 @@ android { it belongs on the robot, and this scope is what keeps it out of the APK. !!! warning "The version string includes the `v`" - JitPack's version **is** the git tag, letter for letter. The tag is `v0.2.0-alpha.1`, so the version is - `v0.2.0-alpha.1`. Omitting the `v` requests a different version and can fail with `Could not find`. + JitPack's version **is** the git tag, letter for letter. The tag is `v0.2.0-alpha.2`, so the version is + `v0.2.0-alpha.2`. Omitting the `v` requests a different version and can fail with `Could not find`. !!! tip "Declare the JUnit Platform launcher" Gradle 9 removed the implicit test-framework dependencies that older Gradle builds could rely on. @@ -200,16 +200,16 @@ repositories { ```groovy dependencies { - testImplementation 'org.horizon36596:SimLoop:0.2.0-alpha.1' + testImplementation 'org.horizon36596:SimLoop:0.2.0-alpha.2' } ``` !!! note "Two coordinates for one library, and both are correct" - `org.horizon36596:SimLoop:0.2.0-alpha.1` is what this project declares, and it is what + `org.horizon36596:SimLoop:0.2.0-alpha.2` is what this project declares, and it is what `publishToMavenLocal` writes and what a future Maven Central release would use. **JitPack ignores all three parts and derives its own** from the repository address: the group becomes `com.github.Horizon-36596`, the artifact becomes the repository name `simloop`, and the version is - the tag verbatim — so a JitPack dependency is spelled `com.github.Horizon-36596:simloop:v0.2.0-alpha.1`. + the tag verbatim — so a JitPack dependency is spelled `com.github.Horizon-36596:simloop:v0.2.0-alpha.2`. Use the coordinate for the repository you are resolving from. diff --git a/SimLoop/docs/index.md b/SimLoop/docs/index.md index 6fb2eee..b4ae6ff 100644 --- a/SimLoop/docs/index.md +++ b/SimLoop/docs/index.md @@ -15,7 +15,7 @@ Run SimLoop from your robot project's tests or simulation harness, then **open t AdvantageScope**, in its own window, to see the run. !!! warning "Status: alpha" - `v0.2.0-alpha.1` is the current release and the first public alpha. The API may change between + `v0.2.0-alpha.2` is the current release. The API may change between alpha versions, so **pin the exact version** in your build. It needs **FTC SDK 12.0**. Questions go to [Discussions](https://github.com/Horizon-36596/simloop/discussions); bugs go to [Issues](https://github.com/Horizon-36596/simloop/issues). `v0.1.0-beta1` is superseded and gets no @@ -28,9 +28,9 @@ AdvantageScope**, in its own window, to see the run. [Every feature](features.md) lists what it does, one line each. !!! note "Match the docs to your dependency" - These source docs can include changes newer than the published tag. The vision guide marks its - development APIs. For a build pinned to `v0.2.0-alpha.1`, use the - [docs at that tag](https://github.com/Horizon-36596/simloop/tree/v0.2.0-alpha.1/SimLoop/docs). + These source docs can include changes newer than the published tag. For a build pinned to + `v0.2.0-alpha.2`, use the + [docs at that tag](https://github.com/Horizon-36596/simloop/tree/v0.2.0-alpha.2/SimLoop/docs). ## The fastest way in diff --git a/SimLoop/docs/llms.md b/SimLoop/docs/llms.md index 8065c74..f8dda28 100644 --- a/SimLoop/docs/llms.md +++ b/SimLoop/docs/llms.md @@ -4,14 +4,14 @@ A flat index of this site. Every page, what is on it, and when to read it — so the right page instead of crawling navigation. **SimLoop** is a season-agnostic JVM simulation library for FIRST Tech Challenge robot code. Package root -`org.horizon36596.simloop`. Version `0.2.0-alpha.1`. Licence BSD-3-Clause: use, modify and ship it freely, and license your own robot code however you like; keep the copyright notice with any copy. Status: alpha, so pin an exact version; the API may change between alpha versions. `v0.2.0-alpha.1` is the current alpha and `v0.1.0-beta1` is superseded. The coordinate is `com.github.Horizon-36596:simloop:v0.2.0-alpha.1` from JitPack, and the version keeps its leading `v` because a JitPack version IS the git tag. The consuming project must be on FTC SDK 12.0. +`org.horizon36596.simloop`. Version `0.2.0-alpha.2`. Licence BSD-3-Clause: use, modify and ship it freely, and license your own robot code however you like; keep the copyright notice with any copy. Status: alpha, so pin an exact version; the API may change between alpha versions. `v0.2.0-alpha.2` is the current alpha and `v0.1.0-beta1` is superseded. The coordinate is `com.github.Horizon-36596:simloop:v0.2.0-alpha.2` from JitPack, and the version keeps its leading `v` because a JitPack version IS the git tag. The consuming project must be on FTC SDK 12.0. ## Read this first Check the dependency's exact tag or source commit before using this index. It describes the current -source tree, which includes APIs added after `v0.2.0-alpha.1`. In particular, distortion, occluders, -tilted tags and synthetic frames are development APIs. Read the matching source or generated API -reference before calling them; the published alpha coordinate above does not contain them. +source tree, which can be newer than `v0.2.0-alpha.2`. Distortion, occluders, tilted tags and synthetic +frames arrived in `v0.2.0-alpha.2` and are absent from `v0.2.0-alpha.1`. Read the matching source or +generated API reference before calling an API newer than your pinned tag. - **[Every feature](features.md)**: one line per feature, with a link to its page. - **[What it does not do](limits.md)**: the authoritative list of what is out of scope. If a task needs diff --git a/SimLoop/docs/packages/live.md b/SimLoop/docs/packages/live.md index 858d67f..6236735 100644 --- a/SimLoop/docs/packages/live.md +++ b/SimLoop/docs/packages/live.md @@ -79,7 +79,7 @@ the same line yourself, in `TeamCode/build.gradle`: ```groovy dependencies { - testImplementation "com.github.Horizon-36596:simloop:v0.2.0-alpha.1:desktop" + testImplementation "com.github.Horizon-36596:simloop:v0.2.0-alpha.2:desktop" } ``` diff --git a/SimLoop/docs/packages/vision.md b/SimLoop/docs/packages/vision.md index 1a49611..29058d2 100644 --- a/SimLoop/docs/packages/vision.md +++ b/SimLoop/docs/packages/vision.md @@ -2,9 +2,9 @@ `org.horizon36596.simloop.vision` -!!! note "Development APIs" - Distortion, `CameraOccluders`, tilted tags and synthetic frames were added after the - `v0.2.0-alpha.1` tag. The pinned alpha does not contain them. Use documentation from the tag you +!!! note "Added in v0.2.0-alpha.2" + Distortion, `CameraOccluders`, tilted tags and synthetic frames were added in + `v0.2.0-alpha.2`. `v0.2.0-alpha.1` does not contain them. Use documentation from the tag you install; for development work, pin the exact source commit you tested. See [Installing it](../getting-started.md). diff --git a/SimLoop/docs/unchanged-team-code.md b/SimLoop/docs/unchanged-team-code.md index 2cb05e4..9cfa8b5 100644 --- a/SimLoop/docs/unchanged-team-code.md +++ b/SimLoop/docs/unchanged-team-code.md @@ -42,7 +42,7 @@ android { } dependencies { - testImplementation 'com.github.Horizon-36596:simloop:v0.2.0-alpha.1' + testImplementation 'com.github.Horizon-36596:simloop:v0.2.0-alpha.2' testImplementation "org.junit.jupiter:junit-jupiter-api:5.11.3" testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.11.3" testRuntimeOnly "org.junit.platform:junit-platform-launcher:1.11.3" // Gradle 9 no longer adds it diff --git a/SimLoop/mkdocs.yml b/SimLoop/mkdocs.yml index 3d03a58..f7a5568 100644 --- a/SimLoop/mkdocs.yml +++ b/SimLoop/mkdocs.yml @@ -36,7 +36,7 @@ site_dir: build/docs/site # This is a SECOND place the version is written; `SimLoop/build.gradle` is the authoritative one. They are # not linked yet, so PUBLISHING.md's release checklist lists this file as a place to bump. Wiring the two # together is a build change and belongs with the rest of the site build. -copyright: "SimLoop 0.2.0-alpha.1 · Horizon (FTC 36596) · BSD-3-Clause" +copyright: "SimLoop 0.2.0-alpha.2 · Horizon (FTC 36596) · BSD-3-Clause" theme: name: material diff --git a/simloop-agents/AGENTS.md b/simloop-agents/AGENTS.md index 5268a49..69a1091 100644 --- a/simloop-agents/AGENTS.md +++ b/simloop-agents/AGENTS.md @@ -21,7 +21,7 @@ It is a **`testImplementation` dependency**. Nothing in it runs on a robot, and ever import it. - Package root: `org.horizon36596.simloop` -- Coordinate: `com.github.Horizon-36596:simloop:v0.2.0-alpha.1` (JitPack; the version keeps its leading +- Coordinate: `com.github.Horizon-36596:simloop:v0.2.0-alpha.2` (JitPack; the version keeps its leading `v` because a JitPack version *is* the git tag) - Documentation: - Licence: BSD-3-Clause @@ -136,8 +136,8 @@ a specific subsystem, the answer is a config implementation on this side, not a ## The whole public surface Thirteen packages in the current source tree. Check this project's pinned dependency before using a -type below: distortion, occluders, tilted tags and synthetic frames were added after -`v0.2.0-alpha.1` and are absent from that tag. Every feature, one line each: +type below: distortion, occluders, tilted tags and synthetic frames were added in +`v0.2.0-alpha.2` and are absent from `v0.2.0-alpha.1`. Every feature, one line each: . | Package | Classes | What it is for | diff --git a/simloop-starter/README.md b/simloop-starter/README.md index 7e3d5e9..1d0be22 100644 --- a/simloop-starter/README.md +++ b/simloop-starter/README.md @@ -5,16 +5,16 @@ run the tests. That is the whole installation. You do not clone the SimLoop repo it, and you do not copy any of its source into your project. Copy this folder from the same tag as `simloopVersion` below. The -[starter at `v0.2.0-alpha.1`](https://github.com/Horizon-36596/simloop/tree/v0.2.0-alpha.1/simloop-starter) +[starter at `v0.2.0-alpha.2`](https://github.com/Horizon-36596/simloop/tree/v0.2.0-alpha.2/simloop-starter) matches the pinned alpha. Examples on `main` may use development APIs absent from that artifact. > ## Your FTC project must be on SDK 12.0 > -> SimLoop `v0.2.0-alpha.1` is built against **FTC SDK 12.0.0** (the earlier beta used 11.2.1). Update +> SimLoop `v0.2.0-alpha.2` is built against **FTC SDK 12.0.0** (the earlier beta used 11.2.1). Update > your project to SDK 12.0 first. On 11.x your tests would run against a different SDK from the one your > robot runs. > -> **Status: alpha.** `v0.2.0-alpha.1` is the current alpha. The API may change between alpha versions, +> **Status: alpha.** `v0.2.0-alpha.2` is the current alpha. The API may change between alpha versions, > so keep the exact version pinned below. `v0.1.0-beta1` is superseded. Questions go to > [Discussions](https://github.com/Horizon-36596/simloop/discussions), bugs to > [Issues](https://github.com/Horizon-36596/simloop/issues). @@ -66,7 +66,7 @@ whole is what makes upgrading SimLoop a matter of replacing this folder. The one thing you will edit is the first setting in it: ```groovy -ext.simloopVersion = 'v0.2.0-alpha.1' +ext.simloopVersion = 'v0.2.0-alpha.2' ``` ## What is in here diff --git a/simloop-starter/simloop.gradle b/simloop-starter/simloop.gradle index 6f0e554..46e7e3d 100644 --- a/simloop-starter/simloop.gradle +++ b/simloop-starter/simloop.gradle @@ -22,9 +22,9 @@ // The SimLoop release this project builds against. ONE place, so a bump is one edit. // // JitPack's version IS the git tag, letter for letter, including the leading `v`. There is no translation -// step: ask for `0.2.0-alpha.1` when the tag is `v0.2.0-alpha.1` and resolution fails with "Could not find", +// step: ask for `0.2.0-alpha.2` when the tag is `v0.2.0-alpha.2` and resolution fails with "Could not find", // which reads like the library is missing rather than like a typo. -ext.simloopVersion = 'v0.2.0-alpha.1' +ext.simloopVersion = 'v0.2.0-alpha.2' // The coordinate is `com.github.:`, all of it derived by JitPack from the repository // address and none of it from what this project calls itself. SimLoop's own build declares the group