Skip to content

4.0.0-alpha.1 - #889

Merged
mickael-menu merged 2 commits into
developfrom
4.0.0-alpha.1
Aug 14, 2026
Merged

4.0.0-alpha.1#889
mickael-menu merged 2 commits into
developfrom
4.0.0-alpha.1

Conversation

@mickael-menu

Copy link
Copy Markdown
Member

No description provided.

Copilot AI lite review requested due to automatic review settings August 14, 2026 16:41

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR prepares the toolkit for the 4.0.0-alpha.1 prerelease by bumping version strings across the Test App, CocoaPods specs/podspecs, and documentation, while updating the release tooling and documentation pipeline to properly handle prereleases.

Changes:

  • Bump version references to 4.0.0-alpha.1 across CocoaPods specs/podspecs, README, Test App Info.plist, changelog, and migration guide.
  • Update release scripts to support prerelease SemVer parsing, safer tag/branch handling, and GitHub prerelease publishing.
  • Update the documentation workflow to deploy versioned docs for tags while keeping latest tied to stable releases.

Reviewed changes

Copilot reviewed 18 out of 18 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
TestApp/Sources/Info.plist Bumps app version/build identifiers to 4.0.0-alpha.1.
Support/CocoaPods/Specs.swift Updates shared CocoaPods version constant used to generate podspecs.
Support/CocoaPods/ReadiumStreamer.podspec Bumps pod version and dependency constraint to prerelease.
Support/CocoaPods/ReadiumShared.podspec Bumps pod version to prerelease.
Support/CocoaPods/ReadiumOPDS.podspec Bumps pod version and dependency constraint to prerelease.
Support/CocoaPods/ReadiumNavigator.podspec Bumps pod version and dependency constraint to prerelease.
Support/CocoaPods/ReadiumLCP.podspec Bumps pod version and dependency constraint to prerelease.
Sources/OPDS/OPDSParser.swift Adds an unavailable completion-handler API to steer users to async parseURL.
scripts/release-tag.sh Extends version extraction and makes tag push more robust with explicit refspec and local-tag checks.
scripts/release-prepare.sh Adds preflight tag checks and changes release branch naming/refspec to avoid tag/branch ambiguity.
scripts/release-md-tools.py Improves changelog section extraction and avoids inserting Minimum Requirements rows for prereleases.
scripts/release-github.sh Marks prereleases with gh release create --prerelease so stable remains “Latest”.
scripts/release-common.sh Extends SemVer validation for prerelease suffixes and adds is_prerelease.
README.md Updates minimum requirements and CocoaPods installation snippets to 4.0.0-alpha.1.
MAINTAINING.md Documents prerelease behavior and clarifies release workflow constraints.
docs/Migration Guide.md Starts a 4.0.0-alpha.1 section and preserves “Unreleased” heading as a comment.
CHANGELOG.md Adds 4.0.0-alpha.1 release entry and comparison link; comments out Unreleased heading.
.github/workflows/docs.yml Adjusts docs deployment logic to treat prereleases differently (versioned only; stable keeps latest).

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread TestApp/Sources/Info.plist
Comment thread scripts/release-common.sh
Comment thread .github/workflows/docs.yml
@mickael-menu
mickael-menu merged commit c7e573c into develop Aug 14, 2026
5 checks passed
@mickael-menu
mickael-menu deleted the 4.0.0-alpha.1 branch August 14, 2026 17:28
lauripaloahde pushed a commit to aanel-fi/swift-toolkit that referenced this pull request Aug 24, 2026
The swept invariant test pinned `insetTop`/`insetBottom` at 60/60, which is
the FIRST/LAST resource geometry. `aanelContinuousInsets` zeroes both insets
on every INTERIOR resource — and interior resources are exactly the chapters
the centring fix is about — so the sweep only ever exercised the geometry
where the margin is comfortable, and never the tight one.

Sweep all four geometries instead (interior, first, last, single-resource),
and drop `insetBottom` from the asserted margin, since on an interior
resource it contributes nothing: the whole margin there is
`viewportHeight / 4`. `aanelCentredYOffset`'s doc comment said
"at least viewportHeight / 4 + insetBottom", which is true but loose enough
to be read as if insetBottom were always available; it now says so.

Found in review of aanel PR readium#889.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.

2 participants