Comments (4)
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.
Related Issues (20)
- [d3d9, regression] Myst V freeze/crash upon resolution change HOT 2
- [d3d9] Evenicle fullscreen blackness issue
- Libdisplayinfo Broken again HOT 1
- [d3d9] Blaster Master Zero 3 freeze on switch to windowed
- SHADE : Wrath of Angels - Freeze on Loading Screens HOT 13
- [d3d9] Alan Wake (2010) crashes after getting past the menu HOT 2
- Don`t work - dxvk.deviceFilter with 2 gpu windows and linux HOT 9
- Bully Scholarship Edition - FMVs do not play properly on Windows HOT 7
- StarCraft 2 lighting on the Void Thrashing mission HOT 5
- Wine 9.0 flatpak not working with flatpaked dxvk HOT 3
- The Sims Castaway Stories - Choppy FPS HOT 8
- Incorrect primary team color for non-standard clothing in Team Fortress 2 HOT 28
- Question about frame rate option rework HOT 1
- Question about custom Vendor and Device IDs HOT 4
- [d3d11, regression] Max Payne 3 LOD Fade Breaks After d66f838 HOT 3
- Gears of War (2007 - GFWL) HOT 1
- EverQuest - Low FPS when in foreground. HOT 1
- DMC 4 Don't Open, Help me in that
- Borderlands 2 crash HOT 3
- DXVK v2.0-26 not works for Death Stranding Director's Cut on Proton HOT 1
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.