If you're reading this, that means we've successfully finished a major upgrade of the Waffles codebase! In general, this upgrade should fix the issues surrounding staying logged in, recovering your account, and inviting your friends. We'll post the nerdy stuff at the end of this, so read on for important things to know about this upgrade.
First, though, we'd like to thank the community for helping share, seed, and grow Waffles, and for bearing with us while we worked on improving the backbone of the site. I'd personally like to thank every one of you who posted in the Bug Reports forum and helped me find and fix innumerable bugs around the site. We couldn't have done it without you.
What's been changed?
The homepage and login screens are new (again)!
We're working on getting something as cool as the old wiki back up, but in the meantime you get a minimalist homepage and login page. We also comply with the new EU cookie law, not that anybody pays attention to that.
If you need to recover your password for some reason, you don't need to join IRC or anything complicated as long as you have an email address in your settings, you can reset your password via email. If you don't have an email address, go add it!
Image BBCode changes:
The only supported way to include images in BBCode was changed. There was a security issue with the old syntax, and it's no longer allowed.
We rewrote the registration code completely, so it should be dead simple for friends you invite to join the Waffles community. To celebrate, we're giving all of our members a free invite and our Power User+ two extra anytime invites! Be sure to use your newfound invite powers for good and not evil.
Overall, this upgrade should improve the website's stability and speed. It'll also let the developers write new code much faster, so look forward for some new awesome features to start showing up.
The nerdy stuff:
If you've ever read our FAQ, you know that our source code is derived from the TBdev.net codebase. This helped get us up and running quickly after OiNK went down, but at a cost - TBdev was written almost a decade ago and is filled with bad coding practices, which makes it impossible for us to write new code in any reasonable timeframe.
We started looking for new options, but there aren't really any extensible frameworks for torrent trackers. Gazelle comes close, but it's very clearly written just for What.CD and we would've had to spend a lot of time to make our existing music and torrent collection compatible with their code. Around this point in time, we started experimenting with Symfony2, a PHP web framework similar to Django or Ruby on Rails, and fell absolutely in love with it.
After a few false starts, we managed to get some of the Symfony2 components working with our legacy codebase. If you remember the login wiki going away, it was because the components didn't work with our hacked-up MediaWiki installation, and we preferred to keep Symfony2. While working with Symfony2 components was much nicer than the old way of echoing strings, it still was cumbersome compared to a full-stack web framework.
So we kept working at it, and eventually managed to boot our legacy TBdev code inside of Symfony2 as its own application. Jackpot! This meant that we could slowly replace pages running the legacy code with all-new Symfony2 code, but keep the legacy TBdev code running anything we hadn't replaced yet. Even better, we figured out how to use Symfony2's authentication with both the new code and the legacy code, so the transition between the two is completely seamless.
We've come a long way since we started, and this upgrade will give us the power and flexibility to make Waffles even better, and grow our community to great heights. I'm looking forward to seeing what we can make together!
If you like this, help Waffles stay alive by making a donation! Trackers stay up as long as long as their community wants them to, and we'd like to see at least the next few years with you.