Hello again everyone 🐳
We're fast approaching the end of the year, but that doesn't mean we've slowed down. Quite the opposite in fact! We've had a pretty busy month here at Funkwhale HQ and we've got some exciting bits and pieces to share with you.
Before we begin: we recently released Funkwhale 1.2.9. Go check out the blog post and update if you haven't already!
Visualizer support
Let's start with something fun! One of our most requested features is a music visualizer. This lets you pull up some cool looking visuals while you're listening to your tunes. Thanks to @wvffle's efforts, we now support the Milkdrop visualizer directly in your browser!
We still have a few things we'd like to add, including support for choosing presets and some additional controls. On the whole we're really pleased with how this feature has turned out and we can't wait for you to enjoy it 😁
You can see a WIP version of the visualizer in the video below:
New translation tooling
We've been using the venerable gettext standard to handle translations in Funkwhale for a long time. It's a tried and tested system for extracting strings and handing them off to our translation system. However, we found a tool which integrates much better with our current setup: Vue I18n. This tool brings a few really nice quality of life improvements:
- Lazy loaded translations
- Reduced number of scripts in our build process
- Better IDE support
We've spent some time over the last month pulling out every string and context from our frontend code and formatting them for this new structure. We've made a real effort to not lose any previous translations, although there will be a few strings that need to be tweaked 🙏
Collective membership now open
As mentioned previously, we've been busy setting up our new collective structure. We're pleased to announce that membership and voting rights are now available for everyone. If you're interested in getting involved, head over to our forum and introduce yourself. Put a note in saying you'd like to become a member, and we'll make sure you get the permissions you need 🥰
New feature request flow
Another thing we've been working hard on is our new feature request flow. In the past the feature request process has been somewhat unstructured and haphazard. This has led to us having a confusing and difficult to maintain backlog of issues.
To resolve this, we'll be leaning on our forum for feature discussion more. We've set up a forum space for feature discussions, with a set of instructions to show everyone how the flow works. The goal is to gather as much detail as possible through discussions with the community, draft a workable specification for the feature, and then build to the specification. This will make building, fixing, and maintaining our features a lot easier going forward 🛠️
Funkwhale release schedule
As you are all aware, it has been almost a year since our last minor version release. While we've kept pushing patch releases for Funkwhale, we're aware that you all want to see new features and improvements. We also want to build these! So let's talk about what we're planning.
@georgkrause has opened up a discussion in the forum about our release planning for 1.4.0. Our current thinking is that we'd like to aim for a 6 month release cycle for new versions. We will push out patch releases whenever they are needed, but we'd like to try and keep a regular schedule for new features.
Under this new schedule, we'll work on whatever features and issues we feel we have the time and scope for. When the release date comes around, we'll cut a release containing what we've been able to finish in that time. This means we won't be waiting another year for a release 📅
Status of 1.3.0
So the big question is: when can I get my hands on all these new changes? While we don't have an exact date, we are very close to a release candidate. We have a few additional tasks to complete regarding documentation and setup, but then we're anxious to hand it over to you to test.
The release candidate will be a big upgrade and will certainly contain some bugs. We'll be looking to the community to kick the tires, submit feedback, and help us with localization as always. We'll keep you informed as the time approaches.
Until then, just keep swimming 🐋