libgit2 v1.0 Released

April 1, 2020

After many years of planning, writing code, and fixing bugs, libgit2 v1.0 has been released. πŸŽ‰πŸŽ‰πŸŽ‰

libgit2 v1.0

libgit2 is a linkable library for working with git repositories in any application, and you probably interact with the library, even if you don't know it. That's because libgit2 powers your applications and your hosting provider, whether you use GitHub, GitLab, Bitbucket, or nearly anybody else.

The Git community -- really, every software developer -- depends on libgit2. And we've finally released libgit2 v1.0.

If you've followed along with libgit2's development, you might have noticed that we use a fun German word to name every release. (Why German words, you ask? Because most languages don't have a word like "Kummerspeck" -- that's a single word for the concept of over-eating from depression and the resulting weight gain1.)

This release is named "Luftschloss"2, literally "air castle", which refers to an impossible dream that cannot be achieved, like building a castle in the air. This seems appropriate given that we sat down to start planning for libgit2 v1.0 back in 2013.

But thanks to aggressively cutting requirements and some long nights and weekends to really redouble efforts, we've finally shipped it.

In seriousness, we treated v1.0 as a fairly arbitrary milestone, but it is still a milestone. And one of the things that I wanted to look at when we got here was how many people have been involved in making this happen.

Looking through our history, it turns out that there were 427 contributors to the project! Which is incredible! And that's only counting people who've authored a commit - it's not counting the many people who've helped out the project by opening issues, packaging libgit2 for distributions, and using the software in production on a day-to-day basis. πŸŽ‰πŸŽ‰πŸŽ‰

Thanks everybody for your hard work and support.

On a side note, when I was taking the list of names and email address pairs in the libgit2 history to get the list of individual contributors, I found some interesting data:

  • Carlos MartΓ­n Nieto had the most combinations of name and email address signatures, with six. Some of this is the the inevitable ASCII-ization of his name, some of it is due to having many email addresses throughout the many valued years of his contributions.

  • Vicent MartΓ­ had the next most combinations of name and email addresses, with five. This probably should have only been four, but he accidentally committed something with his user.name set to "The rugged tests are fragile". (Oops!)

  • Sadly, that's not the only embarassing accident of name configuration. I happened to have four different signatures throughout the libgit2 history because I've used three different email addresses throughout the years... but also misspelled my own email address once.

It will be fascinating to see how the next ten years of libgit2 development turn out. We have some interesting ideas, like making it easier for GUI clients to use libgit2, increasing feature parity with core git, and leveraging their test cases to ensure that we're fully compatible.

And hopefully I'll spell my name correctly!

Footnotes

  1. Given that I'm averaging about two lunches per day during the pandemic, I think that it's likely that more languages will add a word for this concept. ↩

  2. And given my current lunch habit, we probably would have used "Kummerspeck" for this release, except that it was the name of libgit2 v0.28. ↩