Lately, Task has been growing extremely quickly and I've found myself thinking a lot about the future of the project and how we continue to evolve and grow. I'm not much of a writer, but I think one of the things we could do better is to communicate these kinds of thoughts to the community. So, with that in mind, this is the first (hopefully of many) blog posts talking about Task and what we're up to.
📆 So, what have we been up to?
Over the past 12 months or so, @andreynering (Author and maintainer of the project) and I (@pd93) have been working in our spare time to maintain and improve v3 of Task and we've made some amazing progress. Here are just some of the things we've released in that time:
- An official extension for VS Code.
- Internal Tasks (#818).
- Task aliases (#879).
- Looping over tasks (#1220).
- A series of refactors to the core codebase to make it more maintainable and extensible.
- Loads of bug fixes and improvements.
- An integration with Crowdin. Work is in progress on making our docs available in 7 new languages (Special thanks to all our translators for the huge help with this!).
- And much, much more! ✨
We're also working on adding some really exciting and highly requested features to Task such as having the ability to run remote Taskfiles (#1317).
None of this would have been possible without the 150 or so (and growing) contributors to the project, numerous sponsors and a passionate community of users. Together we have more than doubled the number of GitHub stars to over 8400 ⭐ since the beginning of 2022 and this continues to accelerate. We can't thank you all enough for your help and support! 🚀
What's next? 🤔
It's extremely motivating to see so many people using and loving Task. However, in this time we've also seen an increase in the number of issues and feature requests. In particular, issues that require some kind of breaking change to Task. This isn't a bad thing, but as we grow we need to be more responsible about how we address these changes in a way that ensures stability and compatibility for existing users and their Taskfiles.
At this point you're probably thinking something like:
"But you use semantic versioning - Just release a new major version with your breaking changes."
And you'd be right... sort of. In theory, this sounds great, but the reality is that we don't have the time to commit to a major overhaul of Task in one big bang release. This would require a colossal amount of time and coordination and with full time jobs and personal lives to tend to, this is a difficult commitment to make. Smaller, more frequent major releases are also a significant inconvenience for users as they have to constantly keep up-to-date with our breaking changes. Fortunately, there is a better way.