EXIFR 1.0.6
Just released EXIF Reader 1.0.6 Ruby gem. This is a bugfix release for issue 20. The TIFF decoder now reads as many frames as possible instead of throwing an exception when hitting a bad frame.
Just released EXIF Reader 1.0.6 Ruby gem. This is a bugfix release for issue 20. The TIFF decoder now reads as many frames as possible instead of throwing an exception when hitting a bad frame.
Today I released version 1.0.2 of EXIF Reader to fix a Ruby 1.8.6 incompatibility. Thanks to Jasper Haggenburg, Patrick Crowley, Jeffrey Warren and Ian Leitch for finding, analyzing and fixing this problem.
After 4 years EXIF Reader finally reaches it’s first major-version-day. It has been pretty stable for a while now and the API didn’t change in any painful way since the first release.
So here it is: version 1.0.0.
gem install exifr
Enjoy!
Thanks to Makoto Kishimoto, Mark Lundquist, Victor Bogado, Forian Munz and other people I forgot to record in the CHANGELOG for sending me patches and test images.
Yesterday I copied the EXIFR subversion repository from RubyForge to GitHub; remvee/exifr. So go ahead, fork and change the things you don’t like!
For more information on contributing to a project on GitHub see: How to use github and submit a patch.
A specially crafted JPEG or TIFF image could force EXIFR in an endless loop. The problem is solved in release 0.10.6. If you are using EXIF Reader without having control over the images fed to it, upgrade as soon as possible.
The recent Ruby 1.9 release adds a lot of new stuff but unfortunately some of the changes prevented EXIF Reader from working. A slight case-syntax change (colon being deprecated), String
no longer being Enumerable and IO
becoming more character aware, broke my code.
The new 0.10.5 release runs on both 1.8 and 1.9.
EXIF Reader includes the ability to read thumbnails from JPEG again. This feature disappeared from EXIFR when in rewrote most of it to support TIFF reading.
I’ve released a new version of EXIF Reader. Just one small change; JPEG and TIFF objects can now be safely loaded and dumped from and to YAML. To get this to work I made a change to the orientation property; it returns an instance of Orientation now instead of a module. The returned object responds to the same methods as the module did so the upgrade should be painless.
Eric Hodel heeft de firebrigade gesticht om door tinderbox aangestoken gems te signaleren. Tinderbox? Pardon?
In software ontwikkeling is een tinderbox een systeem dat ervoor zorgt dat een gegeven stuk software gebouwd en getest wordt op een serie platformen. Een dergelijk systeem geeft ontwikkelaars de mogelijkheid te zien of, de code die zij geschreven hebben, ook goed functioneert op platformen welke zij niet tot hun beschikking hebben. De bekendste is de tinderbox van Mozilla, welke onder andere verifieert of Firefox wel gebouwd kan worden op alle aangesloten platformen.
Het tinderbox systeem dat Eric Hodel de lucht in heeft gebracht, probeert alle recente gems op rubyforge te bouwen op aangesloten platformen en de bijbehorende test suites te draaien. De resultaten van deze pogingen zijn te vinden op de firebrigade site.
Op dit moment slaagt maar 1 op de 4 projecten, maar dat klinkt veel slechter dan het in werkelijkheid is. Veel gems leveren geen tests mee, maar hebben wel tests. Ook mijn EXIF Reader projectje stond jammerlijk te smeulen maar nu de tests de in gem zitten, mag ik gelukkig brandmeester roepen.
Er is natuurlijk ook een hoop testloze code te vinden op rubyforge, waarschijnlijk vrij veel.. Mijn mening: slecht! Iets meer genuanceerd: Ruby is een waanzinnig platform om op een TDD of zelfs BDD manier te ontwikkelen, laat deze kans op verlichting niet schieten!
Wil je helpen? Zorg dat de gems die je de wereld in geholpen hebt, een goede test suite hebben welke uiteraard slaagt. Heb je geen gems maar wel rekenkracht over of, beter nog, een exotisch platform waar je Ruby op draait? Meld je dan aan als tinderbox!