Repository navigation
Set every module's version to 0.1.0 for the 0.1.0 tag (#65) - #146
Merged
Merged
Conversation
The five Version.swift constants say "0.1.0" instead of "0.1.0-dev", so a build of the 0.1.0 tag reports its own version (`openjev --version` prints openJevCoreVersion). Their doc comment now states the rule from docs/development.md, "Versioning and releases": the release's version at its tag, and the next release's version with a `-dev` suffix between releases. The six tests that pinned "0.1.0-dev" expect "0.1.0".
Contributor
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
The LetterReadout version remains the only changed module version without direct regression coverage.
Review effort: Balanced
Findings: 1
Open (1)
What changed in this PR
Updates all module and CLI version reporting to 0.1.0 for the release tag.
Changes:
- Sets five module versions to
0.1.0. - Updates existing version assertions and CLI expectations.
- Documents the release/development version convention.
| File | Description |
|---|---|
Sources/OpenJevCore/Version.swift |
Updates Core version. |
Sources/OpenJevDiffusionGemma/Version.swift |
Updates DiffusionGemma version. |
Sources/OpenJevEncoders/Version.swift |
Updates Encoders version. |
Sources/OpenJevLetterReadout/Version.swift |
Updates LetterReadout version. |
Sources/OpenJevServer/Version.swift |
Updates Server version. |
Tests/OpenJevCoreTests/VersionTests.swift |
Expects the release version. |
Tests/OpenJevDiffusionGemmaTests/VersionTests.swift |
Expects the release version. |
Tests/OpenJevEncodersTests/EncoderPackageSpecTests.swift |
Expects the release version. |
Tests/OpenJevServerTests/VersionTests.swift |
Expects the release version. |
Tests/OpenJevCLITests/ArgumentParsingTests.swift |
Updates parsed CLI version expectation. |
Tests/OpenJevCLITests/BinaryTests.swift |
Updates binary output expectation. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| /// Every OpenJevSwift module reports the same Semantic Versioning string: the release's version at | ||
| /// its tag, and the next release's version with a `-dev` suffix between releases | ||
| /// (docs/development.md, "Versioning and releases"). | ||
| public let openJevLetterReadoutVersion = "0.1.0" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Refs #65.
Sets the five module version strings to
0.1.0, so a build of the0.1.0tag reports its own version. Onmainall five say0.1.0-dev, and a fresh package built from a local0.1.0tag printedOpenJevCore 0.1.0-dev.This PR must merge before the
0.1.0tag. Tag its merge commit instead of #145's. #145's post-merge steps already allow for this ("once the version PR has merged too, tagging its commit instead"). The two PRs touch no file in common.Files changed
Sources/OpenJevCore/Version.swift,Sources/OpenJevDiffusionGemma/Version.swift,Sources/OpenJevEncoders/Version.swift,Sources/OpenJevLetterReadout/Version.swift,Sources/OpenJevServer/Version.swift:"0.1.0-dev"becomes"0.1.0". The doc comment's second sentence ("The-devsuffix marks unreleased work toward 0.1.0.") now states the rule, in the same words in all five files: the release's version at its tag, and the next release's version with a-devsuffix between releases (docs/development.md, "Versioning and releases", the section Prepare release 0.1.0: versioning policy, changelog, security notes, Swift Package Index settings, code owners, issue templates, adopters and release notes (#65) #145 adds).Tests/OpenJevCoreTests/VersionTests.swift:6,Tests/OpenJevServerTests/VersionTests.swift:6,Tests/OpenJevDiffusionGemmaTests/VersionTests.swift:6,Tests/OpenJevEncodersTests/EncoderPackageSpecTests.swift:220: expect"0.1.0".Tests/OpenJevCLITests/ArgumentParsingTests.swift:170,Tests/OpenJevCLITests/BinaryTests.swift:20: expect"0.1.0\n", whatopenjev --versionprints (it printsopenJevCoreVersion).Other
0.1.0-devin the repositoryA search of all 663 tracked files, with lines joined and comment markers dropped so a string split across lines still matches, found 27 occurrences: the 11 above and 16 run records, which this PR leaves as written because they say which build produced published numbers.
"version": "0.1.0-dev"next to the run's commit (31ef11f, c77cca9 or 2414408).Tools/jevbench/servers.py:150recordsopenjev --versionthere:Tools/jevbench/results/:jevk5-0.2-swift.json,laya-1.0-swift.json,openjev-0.1-swift.json,verdict-1.4-swift.jsonTools/jevbench/results/typesafe102/: the same four filesTools/jevbench/results/jevk5-conversions/{4bit,bf16}/and theirtypesafe102/:jevk5-0.2-swift.jsondocs/quality.md:358,:359,:361,:363, the "Machines and versions" table: "OpenJevSwift 0.1.0-dev at" the same commits.#145's branch has the same 27 and no others.
Tests
Run on f71d1b0 with Swift 6.4 on macOS 27.0.1, Apple M3 Max.
No warnings in
Sources,TestsorPackage.swift: of the log's 77, 76 are in.build/checkoutsand one is Swift Build's note about MLX's bundle.Exit 0, no findings.
The block is an excerpt: the six changed tests and each product's summary. Exit 0, 26 tests in five products.
openJevLetterReadoutVersionhas no test of its own, before or after this PR.The full suite, which on this Mac also runs the DiffusionGemma model tests from the Hugging Face cache:
Exit 0 after 729 s, 840 tests and no failures. In order, the runs are OpenJevServerTests, OpenJevLiveTests, OpenJevLetterReadoutTests, OpenJevEncodersTests, OpenJevDiffusionGemmaTests, OpenJevCoreTests, OpenJevCLITests and OpenJevBenchTests. The skips are the opt-in tests: 16 need
OPENJEV_LIVE_URL, 13 need theUpstream/openjevcheckout (make upstream), 4 needOPENJEV_JEVK5_MODEL, 2 needOPENJEV_TEST_DOWNLOADand 1 needs a stage dump.After the tag
A follow-up PR should move the five strings and the six tests to the next
-devversion,0.1.1-devor0.2.0-dev(your choice), as the "Version strings" rule in docs/development.md says.