September 06, 2016

DerelictUtil and DerelictSDL2 Updates

DerelictSDL2 2.0.1 has been pushed to github and is ready in the DUB repository. Nothing major here, just some function signature corrections. If you aren’t using those functions, no need to worry.

DerelictUtil 2.1 is also ready to go. The minor version bump is due to a potential binary incompatibility for people who manage their projects manually (with DUB, it would only be a problem for people using >= in their dependency declarations). There’s one change here: DerelictException now correctly reports the file name and line number. This is something I have included with every custom exception class I’ve written since D’s __FILE__ and __LINE__ constants were made to apply at the call site when used as default function parameter values. DerelictException predates that change by a considerable margin and I never paid any attention to it after. A PR has rectified that oversight.

DerelictUtil 3.0 is currently sitting in a github branch, but not yet available in the DUB repository. It removes some cruft and adds some new utilities that previously were implemented in specific Derelict packages, but have proven to be useful in the general case. To avoid as much breakage as possible, I’m not going to tag a new release until I have updated every Derelict package with a new version the depends on it. This is a gradual process. The biggest work is on DerelictGL3, which is getting a massive overhaul and support for compile-time OGL version configuration and custom context objects. This default behavior will be the same as it is now (with a new package name), but the new features will allow unused bits of the OGL API, including extensions, to be eliminated from the binary. The lion’s share of that work is done and I’ll hopefully have time to wrap it up later this month. Then I can turn my attention to the other packages. I expect to have DerelictUtil 3.0 ready to go by the end of the year, but I readily admit I have a dismal track record with such predictions.