mastodon.gamedev.place is one of the many independent Mastodon servers you can use to participate in the fediverse.
Mastodon server focused on game development and related topics.

Server stats:

5.3K
active users

Versioning question: Is dropping support for an older version of a programming language a major or minor change? I.e. version 2.5 of my software supported Python 3.8-3.12, the next version supports only 3.10-3.12 (but no API/functional changes). What kind of version bump would you expect?

@anteru Wouldn't it be the same as the python version change?

Like if that is fully backward compatible it's a minor, otherwise a major bump?

@micha For you as a user the application itself looks and feels the same. A 2.6 bump feels like something actually changed for everyone, but the reality is for a Python 3.10 user nothing changes. I just can't easily decouple from Python itself; unlike let's say a compiled program where I wouldn't bump the minor version when going from Visual Studio 2019 to 2022 for example (why would you care?) Python has behavioral changes (deprecations, etc.) when they bump minor version numbers.

Michael Nischt

@anteru ah sorry, I expected that users create python scripts like in Blender. In that case if the python version change was major it should be reflected also in the app version depending on it. But if python is not exposed publicly, no need to be that strict IMHO.

@micha They can write plugins all-right, but those plugins will just work with a newer Python version (unless you depend on something only available on that old version of Python.) The API surface doesn't use new Python features, meaning if you wrote a plugin on Python 3.8 vs. my API at version 2.5, it'll work _unchanged_ on Python 3.10 as the API is the same (I just happen to use Python 3.10 features in the implementation.)

@anteru not sure if I understand things correctly.

The python version change 3.8 -> 3.10 is a minor one, right? new (features / API but fully backward compatible)
Hence, a minor bump for the full application as well.

Basically, my point is that since the bundled Python is exposed and part of the API and the same semantic versioning rules should apply. Should they not?

What would be an argument for doing a major or only a patch version change in your application if 1 part had a minor change?

@micha For the end user it's just a matter of installing the right Python runtime. Their stuff works the same. Think: If your application requires Windows 10 now (and no longer runs on Windows 7), but is otherwise the exact same (it just uses a new thing internally), would you call it a new major release? For the user, it looks and feels the same, they just need to update their environment.