When I first started DerelictOrg, two of the motivating factors were to make it an umbrella project for dynamic bindings and to make it easier to bring people on to maintain specific packages. My plan was to start inviting other Derelictified binding maintainers to join the organization, along with their projects, once all of the Derelict 3 stuff was moved over.
Given the glacial pace at which I’m moving the packages over, Kyle Hunter set up a DerelictLua repo that was dub-compatible with DerelictOrg to help out. I offered to add him to DerelictOrg if he was willing. He was! So I’d like to welcome him aboard as the first “official” DerelictOrg team member. His responsibility for now is DerelictLua. And he tells me that, given it’s currently a Lua 5.2 binding, he wants to add a branch for 5.1. That’s something I probably would not have done myself. Already I’m happy he agreed to sign up.
I still plan to reach out to a few other people once the transition is complete, so I hope to have two or three other maintainers on board as a result.
In Derelict 3, the bindings for libogg and libvorbis were included in the same package. That didn’t really bother me until I started thinking about a libtheora binding. I really don’t think all of those bindings belong under the same roof. So I’ve taken the opportunity as part of the move to move the libvorbis stuff into a new DerelictOrg package, DerelictVorbis. This is a breaking change!
I’ve been careful about keeping things such that anyone using Derelict 3 will not have to change anything, even import statements, when they switch to DerelictOrg. In this case, though, I think a break was the right thing to do. Previously, the vorbis stuff lived in derelict.ogg. Now, it’s all in derelict.vorbis. Otherwise, nothing has changed externally.
The DerelictOgg and DerelictVorbis packages are also the first to get a package.d. I plan to add one to every package except DerelictGL3. I’ll be getting to that soonish.
Additionally, in the process of restructuring the packages, it dawned on me that the module constructors will happily allocate multiple instances of the global loaders. That’s not harmful or problematic, just wasteful. I don’t know how I managed to miss that all these years. So DerelictOgg and DerelictVorbis will only allocate the loader once. My todo list now includes updating all the other packages to do the same.
Please let me know on the DerelictOrg issue tracker if you find any problems with the new packages.
Finally, there’s not much left for me to port over to DerelictOrg. If you are still using Derelict 3 and are not using one of the remaining packages that have yet to be moved, I highly encourage you to switch to DerelictOrg ASAP. The day when I will no longer update Derelict 3 is getting closer.