Comments (5)
from dxvk.
I guess to continue the topic of the version numbers, since it's mostly vibes anyway should this maybe transition to YY.MM(.DD) versioning?
from dxvk.
Pure date-based versioning makes a lot of sense if you're 110% confident that there will never be a breaking change ever again. I realise that the actual DirectX-flavoured parts of DXVK can't really break compatibility anyway, because the whole point is that they follow what Microsoft does in the DirectX API, but I don't think it's necessarily possible to say the same about the WSI layer.
I personally like to leave a major version available as an escape hatch to be able to either make an incompatible change (like the way GTK, Qt, SDL major versions work), or change the versioning scheme (if you discover that actually the versioning scheme was a mistake and you want to do something different). That's why steam-runtime-tools is 0.YYYYMMDD.R, for instance: we'd bump the leading 0 to a 1 if we either did a compatibility break, or decided to switch from date-based to some other scheme (semver or whatever). I think of it as being like the epoch in packaging systems like dpkg/RPM: we don't necessarily intend to ever use it, but better to have it and not need it than to need it and not have it.
Date-based versioning without a non-date-based prefix tends to lead to numerically large version numbers, from which the only backwards-compatible direction left available to you is a very large major version like the ones seen in Chromium, Firefox, systemd.
YY.MM(.DD)
If there will ever be a situation where you find that you need to do a hotfix release - possibly more than one on the same day! - then the last component will need to be something you can increment freely without being constrained by it having other meaning.
from dxvk.
The date system is pretty much how FAudio does it: the version is mostly a name while semantically the "major" version is always 0:
https://github.com/FNA-XNA/FAudio/blob/master/CMakeLists.txt#L31
So it would appear to be 24.06, but technically it's 0.24.06. We've done patch updates before (even on the day of release, meaning we've had 24.06.01 for example) and typically they only show up in GetVersion() rather than in the soname. If we ever break then we update the ABI version and continue with the dates as usual.
from dxvk.
Just went with the zero-pad option.
from dxvk.
Related Issues (20)
- Add Direct3D 7 support HOT 3
- [Regression] [d3d9] [Crash] Medieval 2. The mouse pointer disappears from the screen and the game crashes when loading without any error. HOT 13
- [d3d9, regression] Source Filmmaker freeze
- D3D11SwapChain: Failed to recreate surface: VK_ERROR_OUT_OF_HOST_MEMORY
- Anno 2070 not responding d3d11 HOT 4
- DXVK not working on M2 Pro HOT 2
- Farcry 5 + nvidia 555/560 driver HOT 1
- The Forest error when starting the game HOT 7
- [D3D8]Top Spin 2004: career mode graphics corruptions HOT 23
- (Windows) Deadlock (unannounced Valve game) error on startup HOT 4
- SENRAN KAGURA Peach Ball: Backwards characters HOT 4
- [d3d9] Borderlands GOTY (2009) buggy ambient occlusion HOT 2
- GPLASync Support HOT 4
- [d3d8] Geometry/lighting flickering in Pure Pinball 2.0 Redux
- Kingdoms of Amalur Re-Reckoning Render issue on trees / plants (Missing texture and flickering shader) HOT 7
- Random dots flickering on screen when playing GTA 4 Complete Edition HOT 18
- San Andreas (classic) crashing after a few minutes of booting up. HOT 7
- Is it ok to ask questions here? — Question about project scope HOT 5
- Bug for "Secret Of Grindea" && d3dx9 : err (might) -> Required Vulkan extension VK_EXT_robustness2 not supported HOT 10
- [D3D8] Sonic Heroes PC: Performance Issues HOT 12
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dxvk.