Don't let your software dependencies and pipelines get crusty

posted by Jeff | Monday, October 18, 2021, 12:33 PM | comments: 0

After about two straight years of making at least weekly contributions to my open source projects, I backed off this year. Parenting, self-care, life in general took priority. But with the imminent major release of .NET 6, and a lot of change in all of the other dependencies, I wanted to get POP Forums updated, both the open source project and the commercially hosted forum versions.

Going quite the distance between releases, a lot had changed for the open source code. The first part was the Bootstrap, used for the basic style and UI stuff, had released a major version. A big part of that is that they eliminated the dependency on jQuery, the front-end DOM manipulation library that has been used for a bazillion years. It's not a bad library, but Javascript does most of the same things itself now, and old browsers in the wild are finally becoming an endangered species, so there's little reason to worry about compatibility. If 0.07% of users are still using Internet Explorer, I think it's time to stop supporting it. So I wiggled all of the jQuery out, and it wasn't as time consuming as I thought.

Beyond that, I had to update Vue.js for the admin area, which was trivial. The next heavy lift was to replace all of the client libraries for Azure. Most have changed to new packages, sometimes different API's, and lots of change around Azure Functions in particular. The last part was a little challenging because all the new bits aren't entirely final, and neither is documentation. Mercifully, there was not a new version of ElasticSearch, so that didn't require updates.

I also had to update all of the build and release automation, which for the first time ever, wasn't that big of a deal. I was getting some warnings about one of the build agents running on a deprecated version of Ubuntu (two behind), and I had some access tokens that had expired for the commercial build. Getting that all resolved wasn't hard, but it did take time.

I'm just one dude who does this as a side hustle, so I can give myself a break for not being more proactive. I feel entitled to brag a little that I'll be on the latest bits on release day in a few weeks. But as any engineer knows, that latest/greatest thing doesn't happen in a lot of companies. In the old days, there was some reluctance because "wait for the service release." These days, this stuff is so thoroughly vetted, because of an enthusiastic open source community, and I don't think you should wait. You're almost always competing with feature work that product and sales folks want yesterday. If you don't make time, things get years out of date. It's always less expensive to make the smaller, incremental updates as they happen. Make it a priority.


No comments yet.

Post your comment: