A year in review

A year in review 2025

I want to start off by saying happy new year, and I would like to speak a bit about 2025 and then some of my plans for 2026.

I know from my side, it may seem like I have not been as active, and that is the case. The end of this year has been very busy for me. I knew I would enter a part-time (outside of my full-time occupation of studying at the University) teaching role at my University, which would reduce the time I would be able to spend on open source projects. However, I wanted to have more hands-on teaching instead of just writing content and having the dialogue on a forum. But what happened was that I got another part-time job at the same time, so I ended up working two part-time jobs. This limited my time significantly, so I had very little time to work on new content. I would also like to express my apologies for being slow at reviewing PRs during this period.

For 2026 I have some plans and I like to share them, but I generally, I tend to overpromise, thereby some of the things I mention might not come in 2026, but first a review of this past year.

The Swift 6 update

This was likely the largest update to the track to date, you can read the full post here: Swift 6 update blog - Exercism - Exercism, it was an enormous update with a brand new testing framework and at the same time, a new test runner. This was tricky since the old testrunner couldn’t run the new framework and desgining a new test runner which could run both seemed unnecessary. Thereby, I decided to update everything at once, which includes updating 100+ exercises in one swing. And the update included a lot of other content like a rework of the syllabus, improved ci, new concepts, and even more content.

This took up a ton of my time in 2025, and was the reason it took multiple months to create this update. If I got to reflect on the update so was it likely a bit too large, a combination of being time-limited and feeling exhausted working on the same thing for such a long while. Made so the update was pushed with some existing issues, most were caught up quite quickly, but the update was followed by multiple months of an increase with bug-fix prs. However, I think as a single maintainer with this big update couldn’t find every possible error and thereby the community is needed to find them. And I want to express my gratitude to them, and especially @Sencudra, for multiple fixes (including a very important speed improvement for the test runner) and new content being released in the following months after the update.

Even with all of this, I still plan to end my maintainership of Swift, since I don’t have the time at all for what it deserves.

Ruby

I would like to start off by saying that we are now listed on the official Ruby website as a starting resource for Ruby:

But more to what have happend on the track, I have not spent as much time as I would like on Ruby, mostly due to the stuff I already mentioned. But I started this fall with a project to introduce (or reintroduce dependent on how you see it) a generator for Ruby. This would allow us to update all the test files for a given exercises with just scripts. The result of this can already be seen by having most practice exercises (90%+) being templated, meaning their test files are being generated by the generator. This, in turn, meant that these exercises are now synced with the latest test in the problem spec, and we also decided to do some design changes within the test files, which generally should improve them.

2026

Ruby

I have already started on some new content for Ruby for this year, including a requested concept for Hashes, which would make ostruct an “optional” concept. I have already opened a drafted pr for this content. I have also looked into updating the links to Ruby docs for the track to be more homogeneous. Currently, there are a lot of links to docs for Ruby 2.7 (which was released over five years ago), and there are links to a ton of different sources for classes in Ruby. My idea (which is still just in an idea phase), would be to solely use the new Ruby docs: A New Look for Ruby’s Documentation | Ruby. In my opinion way better than the old one and much easier to navigate.

Further down the line, I am considering finalizing the design of the generator and adding more concepts/exercises.

Crystal

As you might have noticed, Crystal has had a very quiet year, this was not my plan, it however kind just happened. I had some plans for this year but as with much else did I overpromised to myself beyond what I had time for. I plan to change this with an update which I am planing for Q1 this year (2026), it wont be massive or anything but update from (1.15 → 1.19) and some new content including a new hash concept (will borrow some content from the Ruby one) and some other neat things. I also plan to release a new update around end of Summer including an update to 1.21 and also likely some new content.

The exact content for both of these updates is still not nailed down. But for this year, I would like to achieve:

  • Finishing the concept tree: crystal/misc/concept_tree.md at main · exercism/crystal (missing four concept to be complete), there are yet more concept which are relevant but Crystal is a smal track and I don’t think at this point at least it make sense to make it super big (this would result in 30 concepts).
  • I would also want to have at least 150 exercises by the end of the year (currently there are 135).
  • Lastly, I would like to finish the document generator tool, it does have some rough edges, but I find that the tool is generally very neat, and also makes errors far less likely in the docs.
11 Likes