4.7 KiB
title: Evennia 1.0 released! copyrights: Screenshot by Griatch
As of today, Evennia 1.0 released! This has been a long time coming. Not only were there a lot of fixes and features to add, we also moved to a completely new documentation system. With many moving parts and my wish to get as much as possible into this release, it took a while to get things aligned.
This release is also the first one where we distribute Evennia on Pypi, so you can install with pip install evennia. This also led to a lot of new work and documentation to write.
That said, it would have taken even longer if I had been alone - and I was not. The Evennia community is growing ever more active, and we now have a regular influx of PRs. I even get help fixing bugs at times! Not to mention a bunch of very sweet new contribs and implemented features. It feels super-luxurious to wake up and find a bug has been fixed for me!
Thanks a lot, everyone!
Moving forward
The linked announcement above covers the new features of 1.0. Check it out - there's a lot of fun stuff. In this dev-blog, I wanted to talk a little bit about the future instead.
Main is where it's at
As usual when the develop branch merges, activity shifts. So moving forward, the main branch (which is now what we use instead of master) will be the 'active' branch.
All new PRs and features should now be made against main. The develop branch will likely make its return as the bleeding-edge, but I hope that it will be mainly for testing individual complex features rather than for a huge new version like in the past.
Versioning
In the past we have made big version changes: 0.5->0.6->0.7->0.8->0.9. Then we got sort of stuck preparing for 1.0, and there was an interim 0.9.5 release just to hold us over. In the end, 1.0 took almost two years to complete.
Having the develop branch open for this long is not good. Users of 0.9.5 were stuck with the old docs (just a plain import from the github wiki) since I couldn't maintain both. It meant stagnation for people downloading master branch. And while people in the know eventually switched to use develop branch (helping a lot of with testing!) it's still not an ideal state of affairs. I don't want something similar to happen leading up to 2.0.
So for that reason I plan to move Evennia to semantic versioning going forward. Semantic versioning means that we'll use Major.Minor.Patch versioning. For you as a developer of an Evennia game (using pip install - if you follow main on git, it's less relevant, you'll have bleeding edge), this versioning means
1.0.x- changes (1.0.1,1.0.2etc) are patches. Bug fixes. Security fixes. Should always be safe to upgrade to without anything breaking.1.x.0- changes (1.1.0,1.2.0etc) are minor version changes. This can introduce new functionality that is backwards compatible. So a new default command, a new contrib, stuff like that. Maybe bigger bug fixes and refactoring that don't change existing functionality. So Minor versions are also usually worthwhile to update to.x.0.0- changes (2.0.0,3.0.0etc) are major version changes. These versions include changes that are backwards-incompatible. The change may still be small! The gist of it is that they are changes that require you to take some action.
With semantic versioning, Evennia 2.0, 3.0 etc may happen sooner than you may think - even changing how a setting should be written is technically a backwards-incompatible change. I think this will help make those major versions be less daunting too - meaning we won't get stuck at 1.9.5 again.
Finishing the beginner tutorial
The new Beginner Tutorial is not ready yet.
As mentioned in my previous devblog, I had to pause work on it or 1.0 wouldn't get out this year. That said, I think the first two parts that are finished are already useful to newcomers. In the coming months I will continue with the tutorial-game and finish all the code. In the end I aim to have the reader make a complete little MUD from scratch if they follow the tutorial from beginning to end.
Onward!
After the 1.0 release we are now officially in the 'bug fix and cleanup' phase. So report all the issues you find - especially with the new docs!
So moving forward, I expect to mainly do patches and minor versions for a while. I don't intend to start any major work until after the beginner-tutorial is complete.
For now though, let's just be happy that 1.0 is out! :D
