Find file
Fetching contributors…
Cannot retrieve contributors at this time
137 lines (125 sloc) 6.8 KB

1.?? / ????-??-??

1.18 / 2012-03-20

  • New MIME Types:

    • Types reported in Issue #6 (

      • CoffeeScript (text/x-coffeescript; .coffee; 8bit).

      • AIR (application/vnd.adobe.air-applicationinstaller-package+zip, .air; base64).

      • WOFF (application/font-woff; .woff; base64).

      • TrueType (application/x-font-truetype; .ttf; base64).

      • OpenType (application/x-font-opentype; .otf; base64).

    • WebM (audio/webm, video/webm; .webm). Issue #11 (

  • New extensions:

    • f4v/f4p (video/mp4, used by Adobe); f4a/fb4 (audio/mp4, used by Adobe).

  • Bug Fixes:

1.17.2 / 2011-10-25

  • Bug Fixes:

    • Fixed an issue with Ruby 1.9 and file encoding.

1.17.1 / 2011-10-23


  • Made compatible with Ruby 1.8.6, 1.8.7, and 1.9.1.

  • Switched to the 'hoe' gem system and added a lot of build-time tools.

  • Updated the MIME types to the list based on the values in the Perl library version 1.27. Also updated based on external source information and bug reports.

  • This is the last planned version of MIME::Types 1.x. Work will be starting soon on MIME::Types 2.x with richer data querying mechanisms and support for external data sources.


  • Removed lib/mime/type.rb to form a single MIME::Types database source. It is unlikely that one will ever need MIME::Type without MIME::Types.

  • Re-synchronized the MIME type list with the sources, focusing primarily on the IANA list.

  • Added more detailed source information for MIME::Type objects.

  • Changed MIME::Types from a module to a class with a default instance. There should be no difference in usage.

  • Removed MIME::Types::DATA_VERSION; it is now an attribute on the MIME::Types instance.

  • NOTE: Synchronization with the Perl version of MIME::Types is no longer a priority as of this release. The data format and information has changed.

  • Removed MIME::Types.by_suffix and MIME::Types.by_mediatype.


  • Fixed a problem with the installer running tests. This now works.

  • Improved the implementation of MIME::Type.signature?

  • Moved code around to use the class << self idiom instead of always prepending the module/class name.

  • Added two new best-guess implementations of functions found in Perl's MIME::Types implementation (1.13). Do not rely on these until the purpose and implementation is stabilised.

  • Updated the MIME list to reflect changes noted by Ville Skyttä <>.

  • Added a new constant to MIME::Types, DATA_VERSION. This will allow the Ruby version number to be updated separately from the Perl version while keeping the MIME Type list version in sync.


! WARNING: This version changes the API of MIME::Types !
! WARNING: This version is compatible with Ruby 1.8 and higher ONLY !
  • Removed dependency on InstallPackage; offering 1.13 as either .tar.gz or .gem.

  • Split into two files, mime/type.rb and mime/types.rb. This will make maintaining the list of changes easier.

  • Changed the MIME::Type construction API. Accepts only a single String argument (but does no named type-checking) and yields self.

  • Removed private methods #init_extensions, #init_encoding, and #init_system and replaced with #extensions=, #encoding=, and #system=.

  • Added #default_encoding to return 'quoted-printable' or 'base64' depending on the media type of the MIME type.

  • Added #raw_media_type and #raw_sub_type to provide the non-simplified versions of the media type and subtype.

  • Alternative constructors MIME::Type.from_array, MIME::Type.from_hash, and MIME::Type.from_mime_type added to compensate for the removal of named type checking in the original constructor.

  • Added #to_str, #to_a, and #to_hash methods. The latter two will provide output suitable for use in #from_array and #from_hash.

  • Removed “binary” encoding and enforced the use of a valid encoding string.

  • Added #system? returning true if the MIME::Type is an OS-specific MIME::Type.

  • Added #platform? returning true if the MIME::Type is an OS-specific MIME::Type for the current RUBY_PLATFORM.

  • Added #like? returning true if the simplified type matches the other value provided. #<'application/x-excel'>.like?('application/excel') is true.

  • Added #complete? returning true if the MIME::Type specifies an extension list.

  • Updated the MIME type list to reflect additions by Mark Overmeer for Perl's MIME::Types 1.12 and the official IANA list as of 2004.04.06. A number of formerly “registered” MIME types are now no longer registered (e.g., application/excel is now application/x-excel). This ensures that the simplified type still works with applications, but does not report an unregistered type as registered.

  • Restored MIME type list to Mark Overmeer's format to facilitate easy exchange between the two projects.

  • Added additional unit tests from Mark Overmeer's 1.12 version.


  • Changed version numbering to match Perl MIME::Types 1.07.

  • Re-synchronized with Mark Overmeer's list in Perl PMIME::Types 1.07.

  • NN Poster

    updated the attributes for the PGP types.


  • Changed to Phil Thomson's InstallPackage.

  • Added several types from Perl MIME::Types 1.005.

  • Cleaned up data format; some data formats will show up with proper data now.


  • Updated to match Perl MIME::Types 1.004, links credited to Dan Puro. Adds new reference list to

  • Removed InvalidType and replaced with TypeError.

  • Changed instances of #type to #class.

  • Cleaned up how simplified versions are created.


  • Initial release based on Perl MIME::Types 1.003.