Skip to content

fix(release): version code 8, and release notes from the changelog - #6

Merged
JuggyBob merged 1 commit into
mainfrom
fix/version-code
Oct 20, 2026
Merged

JuggyBob merged 1 commit into
mainfrom
fix/version-code

Conversation

@JuggyBob

Copy link
Copy Markdown
Owner

The published 1.1.0 carried versionCode 2, and a device that already had 1.0.1-release at code 7
refused it — installing it was a downgrade, which Android reports as a conflict with the existing
package.

The version code has to be higher than any build already installed on a user's device, not
simply one more than the previous release in the repository. The repository said 1, the device said
7, so this is 8.

The certificate was never the problem. The build already on the device and this one are signed
with the same release key (CN=Ivan Bizimoski, SHA-256 129281c5…), and the install over it
succeeded without an uninstall — so the wishlist and settings were preserved.

Release notes now come from the changelog

The notes are generated from the CHANGELOG.md section for the version being released, so the two
cannot drift apart. Hand-copying a changelog into a release body is how the two start disagreeing.

The extraction uses awk's index() rather than a regular expression: inside an awk string, \[ is
an unknown escape and is silently reduced to [, which turns the pattern into a character class and
matches nothing at all. That was found by running the extraction locally, where it returned an
empty section rather than failing loudly.

The published 1.1.0 carried versionCode 2, and a device that already had
1.0.1-release at code 7 refused it: installing it was a downgrade, and
Android reports that as a conflict with the existing package.

The version code has to be higher than any build already installed on a
user's device, not simply one more than the previous release in the
repository. The repository said 1, the device said 7, so this is 8.

The certificate was never the problem: the build on the device and this one
are signed with the same release key, and the install over it succeeded
without an uninstall, preserving the wishlist.

The release notes are now generated from CHANGELOG.md rather than written
by hand, so the two cannot drift apart. The extraction uses awk's index()
rather than a regular expression: inside an awk string, "\[" is an unknown
escape and is silently reduced to "[", which turns the pattern into a
character class and matches nothing at all.
@JuggyBob
JuggyBob merged commit 3263ba4 into main Oct 20, 2026
3 checks passed
@JuggyBob
JuggyBob deleted the fix/version-code branch October 20, 2026 19:55
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.

1 participant