We’ve had some great contributions from the community over the last three months, and thrown in a little of our own time to push a bunch of our open source libraries and tools forward. Here’s a summary:

TinCanJava – 0.7.0

Hot off the press is release 0.7.0 which adds support (contributed by Dave Smith) for JSON document updates via the POST method.

TinCanJS – 0.32.0 and 0.33.0

A couple of releases for this library that were driven by a need from the prototypes (see below). 0.32.0 improved the library’s conformance and add a couple of handy methods for dealing with ISO8601 durations. 0.33.0 was a small release that landed a fix for URL parsing.

TinCan.NET – 0.0.5.0

A small bug release that fixed “registration” handling in State Document handling, and corrected Result “duration” handling by allowing it to be null (read: not present).

TinCanPHP – 0.12.0

This one landed a little while ago, but was a significant improvement to the overall code structure and the Score class in particular. George Cooksey provided this one with a really good bump in unit test coverage as well. Look for more about this library coming soon; it’s getting a neat new feature!

TinCan_Prototypes

This group of code doesn’t follow a specific release scheme, but it recently received a big bunch of love from Andrew Downes. We made some backwards incompatible changes, but it really was time to modernize the prototypes in line with more current best practices around IRIs and Recipes. They should also run more smoothly taking advantage of a bump of a few releases of TinCanJS under the hood. You can get the code now, but look for a comprehensive blog from Andrew this coming Monday.

TinCanBookmarklet – 3.4.0

Technically, this one isn’t open source, but it is a popular, free tool available from our website and one of my favorites for capturing the informal learning I’m doing while working on all our open source stuff. Recent improvements include a new display of past sent statements so you can see whether you are repeating yourself, and improved Activity ID creation which removes certain query string parameters added to URLs just for analytics tracking.

Honorable Mentions

We’ve been working on some improvements to the LRS Conformance test suite to make it easier to see whether an LRS is considered conformant, to provide an easier way to compare the conformance of two LRSs, and to fix kind of a big issue with how we were testing statement conflicts. Those improvements should be landing soonish.

I’d also like to highlight that we were recently made aware of a new library entry and not one written by us! Paul Coleman put out an “alpha” version of a Ruby library called TinCanRuby.

I love that my job affords me the opportunity to work on projects that I can openly contribute back to the community, but that’s made all the better by receiving such well done contributions to those projects from the users out there in the world.

Brian Miller is the Director of Engineering and is also the most pedantic person at the office, which is saying something. That skill makes him great at ensuring our products support the standards, which is precisely what he spends his days doing.