Get Oldest Version Of Open Source Project From Github


To become very expert on software development, one of the things that usually i did is by looking and learning from someone else's code. Lucky open source world is kind of out of control, there’s literally millions of open source projects out there, whether it’s popular and continued or it’s just kind of one commit sort of thing.

Github is the home of open source projects, you can search any open source software or platform there, for very big scale like Linux operating system, Apache web server, Google chrome V8 engine and many other big projects that you can find.

The problem is that projects are sometimes already growing too big and difficult to follow because they are already very complex, because updates over the years. We are very lucky that there’s Git version control, we Got, you can keep track of the old codes of those projects. For example you can still see Linux version 2.6.x released back in c2005 here https://github.com/torvalds/linux/releases?after=v2.6.12-rc5.

Maybe in this case, Linux is not a good example, because the first version of Linux was released in 1991, way before Git was invented, so you can not get the v1.0 of Linux from the version control, you can find tarball somewhere else. But other examples like Google V8, you can still get the pre 1.0 version, released back in 2008, here https://github.com/v8/v8/releases?after=1.1.10.17.

Github provides an interface to browse older releases of a project, but it’s not very convenient to use, you can click many next buttons but imaginably not very convenient if the project already has hundreds or thousands of releases.

So this is a simple HTML file using Github API to fetch old releases of some open source project.


Here's the real time demo for the codes above https://me2dt.sse.codesandbox.io/github-api-release-tag.html.

If you want to explore more about Github API, for example to get repository release by tag, you can read the documentation reference here https://docs.github.com/en/free-pro-team@latest/rest/reference/repos#list-repository-tags.

Popular posts from this blog

Spring Kafka - how to use ReplyingKafkaTemplate send and reply synchronously

ERROR 1348 Column Password Is Not Updatable When Updating MySQL Root Password

How To Create Spring Boot Project Using Netbeans

How To Connect SSH Using PEM Certificate On Windows

Upload and Download Rest API using Spring Boot Reactive WebFlux