@farmdawgnation farmdawgnation released this Sep 25, 2016 · 17 commits to master since this release

Assets 4

We are pleased to announce the September 2016 release of Giterrific, which bears the version designation v0.2.0.

Giterrific is a lightweight JSON API Microservice for private Git servers. It's designed to make it easy to surface repository information for consumption by software that wants to know things about your Git repositories.

This document will cover changes in 0.2.0. For more information on Giterrific broadly, check out:

Changes

Breaking API Changes

As noted in our README, since we're still in initial development the v1 REST API is still unstable and minor releases will include breaking changes. In this release the following breaking changes were introduced:

  • Commits endpoint now returns a wrapper data structure. Previously the endpoint for viewing commit history just included a JSON array of commit summaries as its only payload. Now, it'll also include a wrapper data structure that tells you some additional data about the commits you're browsing.

Raw File Retrieval Support

Giterrific v0.1.0 included support for retrieving raw files that were too large to JSON serialize as a streaming response on the wire. Now, the Scala client supports this, too. The new getRaw method works just like the getContents method, except that it'll return a Future[InputStream] instead of a Future[RepositoryFileContent].

So, if you're one of those crazy cats who stores 2GB files in your git repository, you should now be able to use Giterrific to retrieve them from your git server over HTTP to your heart's content!

Finagle HTTP Driver

With this release we introduced the Finagle HTTP Driver. If you eat, breathe, and dream of Finagle, then you can use that as your underlying HTTP driver implementation in the client. To use:

Then, just pass it in when you create your GiterrificClient instance:

import giterrific.client._
import giterrific.driver.http._

val driver = FinagleHttpDriver()
override val testClient = new GiterrificClient("http://localhost:8080", driver)

Swagger Documentation

We now have Swagger documentation of our REST API. You can visit our very own Swagger UI site and look around. If you spin up a copy of Giterrific 0.2.0 locally using Docker, you can even make some test requests and see how things work first hand!

Additionally, this means that if you're not a Scala person, you can still participate in the fun. Swagger can be used to generate client language bindings in many other languages!

Next Steps

To run the Giterrific server, you can either use the JAR attached to this release or use the Docker image. Release 0.2.0 is tagged as 0.2.0 on Docker Hub. (It's also currently tagged as latest, but that changes from time to time.)

For further instructions on Giterrific check out our README.