polymorphicshade / Tubular

A fork of NewPipe that implements SponsorBlock and ReturnYouTubeDislike.
GNU General Public License v3.0
1.17k stars 27 forks source link

Please take care to always increase versionCode #28

Closed IzzySoft closed 2 months ago

IzzySoft commented 4 months ago

Checklist

Affected version

0.26.1.*

Steps to reproduce the bug

n/a

Expected behavior

Each release has its specific versionCode

Actual behavior

all of them share versionCode 996

Screenshots/Screen recordings

image

Logs

n/a

Affected Android/Custom ROM version

n/a

Affected device model

n/a

Additional information

n/a

polymorphicshade commented 4 months ago

Ah I didn't know that actually mattered... I figured I'd keep the base version and code the same as vanilla NewPipe. I'll start incrementing them independently 👍

IzzySoft commented 4 months ago

Thanks! For some background: versionCode is what Android uses internally to tell versions apart. So even if my updater will pull the v0.26.1_r3 today and overwrite v0.26.1_r2 with it (as the APK file name is <packageName>_<versionCode>.apk for the reason outlined). those who have _r1 or _r2 installed won't get it shown as update – because Android only looks at the versionCode and says: well, that's already installed, so no action needed.

versionName however is just for display and has no technical implications like that.

kubo6472 commented 2 months ago

Ah I didn't know that actually mattered... I figured I'd keep the base version and code the same as vanilla NewPipe. I'll start incrementing them independently 👍

If I may, I'd suggest starting from some fresh number then, since Tubular is a new app, I think semver will put this at 0.1.1 as the first version? Then use version name or something to track related newpipe base?

IzzySoft commented 2 months ago

@kubo6472 that would be a bit confusing to those already using the app, no? Tubular is in my repo since January. And if you still keep sync with upstream NewPipe, aligning versionName (maybe introducing an additional digit if you release more frequent) would probably be the easiest way for folks to know what to compare it to.

put this at 0.1.1 as the first version? Then use version name or something to track related newpipe base?

0.1.1 would be the versionName, btw :wink: That's the part visual to those using the app. And you cannot "start with a fresh versionCode" (which is the integer @polymorphicshade and I were talking about) as that would mean everybody using the app already would have to uninstall and reinstall, as Android would consider that a downgrade which it does not allow.

kubo6472 commented 2 months ago

Screenshot_20240425-074451 I hope I'm looking at the right thing 😅 Also, thanks @IzzySoft for explaining what you meant exactly, I was just looking at it from outside perspective, of a person, who doesn't really know Java, Gradle and the proper methods. I was just curious.

IzzySoft commented 2 months ago

Curiosity is good, many good things have been discovered that way :smile: So yeah, those are the two I was referring to. versionCode is what Android uses internally to tell versions apart, and versionName is what those using the app will see. While the latter has no real technical implications, good practice there is to use semantic versioning, which seems to be applied here.