[ANN] mime-types 3.2 Released!


(Austin Ziegler) #1

mime-types version 3.2 has been released!

* home: <https://github.com/mime-types/ruby-mime-types/>
* code: <https://github.com/mime-types/ruby-mime-types/>
* bugs: <https://github.com/mime-types/ruby-mime-types/issues>
* rdoc: <http://rdoc.info/gems/mime-types/>
* continuous integration: <{img
src="https://travis-ci.org/mime-types/ruby-mime-types.svg?branch=master"
alt="Build Status"
/}[https://travis-ci.org/mime-types/ruby-mime-types]>
* test coverage: <{img
src="https://coveralls.io/repos/mime-types/ruby-mime-types/badge.svg?branch=master&service=github"
alt="Coverage Status"
/}[https://coveralls.io/github/mime-types/ruby-mime-types?branch=master]>

The mime-types library provides a library and registry for information about
MIME content type definitions. It can be used to determine defined filename
extensions for MIME types, or to use filename extensions to look up the likely
MIME type definitions.

Version 3.0 is a major release that requires Ruby 2.0 compatibility and removes
deprecated functions. The columnar registry format introduced in 2.6 has been
made the primary format; the registry data has been extracted from this library
and put into {mime-types-data}[https://github.com/mime-types/mime-types-data].
Additionally, mime-types is now licensed exclusively under the MIT licence and
there is a code of conduct in effect. There are a number of other smaller
changes described in the History file.

Changes:

## 3.2 / 2018-08-12

* 2 minor enhancements

    * Janko Marohnić contributed a change to `MIME::Type#priority_order` that
        should improve on strict sorting when dealing with MIME types that
        appear to be in the same family even if strict sorting would cause an
        unregistered type to be sorted first. [#132][]

    * Dillon Welch contributed a change that added `frozen_string_literal:
        true` to files so that modern Rubies can automatically reduce duplicate
        string allocations. [#135][]

* 2 bug fixes

    * Burke Libbey fixed a problem with cached data loading. [#126][]

    * Resolved an issue where Enumerable#inject returns +nil+ when provided
        an empty enumerable and a default value has not been provided. This is
        because when Enumerable#inject isn't provided a starting value, the
        first value is used as the default value. In every case where this
        error was happening, the result was supposed to be an array containing
        Set objects so they can be reduced to a single Set. [#117][], [#127][],
        [#134][].

    * Fixed an uncontrolled growth bug in MIME::Types::Container where a key
        miss would create a new entry with an empty Set in the container. This
        was working as designed (this particular feature was heavily used
        during MIME::Type registry construction), but the design was flawed in
        that it did not have any way of determining the difference between
        construction and querying. This would mean that, if you have a function
        in your web app that queries the MIME::Types registry by extension, the
        extension registry would grow uncontrollably. [#136][]

* Deprecations:

    * Lazy loading (`$RUBY_MIME_TYPES_LAZY_LOAD`) has been deprecated.

* Documentation Changes:

    * Supporting files are now Markdown instead of rdoc, except for the
        README.

    * The history file has been modified to remove all history prior to 3.0.
        This history can be found in previous commits.

    * A spelling error was corrected by Edward Betts ([#129][]).

* Administrivia:

    * CI configuration for more modern versions of Ruby were added by Nicolas
        Leger ([#130][]), Jun Aruga ([#125][]), and Austin Ziegler. Removed
        ruby-head-clang and rbx (Rubinius) from CI.

    * Fixed tests which were asserting equality against nil, which will
        become an error in Minitest 6.

···

--
Austin Ziegler • halostatue@gmail.com • austin@halostatue.ca
http://www.halostatue.ca/http://twitter.com/halostatue


(Samuel Williams) #2

That's awesome, congratulations!

···

On Mon, 13 Aug 2018 at 01:22, Austin Ziegler <halostatue@gmail.com> wrote:

mime-types version 3.2 has been released!

* home: <https://github.com/mime-types/ruby-mime-types/>
* code: <https://github.com/mime-types/ruby-mime-types/>
* bugs: <https://github.com/mime-types/ruby-mime-types/issues>
* rdoc: <http://rdoc.info/gems/mime-types/>
* continuous integration: <{img
src="https://travis-ci.org/mime-types/ruby-mime-types.svg?branch=master"
alt="Build Status"
/}[https://travis-ci.org/mime-types/ruby-mime-types]>
* test coverage: <{img
src="
https://coveralls.io/repos/mime-types/ruby-mime-types/badge.svg?branch=master&service=github
"
alt="Coverage Status"
/}[https://coveralls.io/github/mime-types/ruby-mime-types?branch=master]>

The mime-types library provides a library and registry for information
about
MIME content type definitions. It can be used to determine defined filename
extensions for MIME types, or to use filename extensions to look up the
likely
MIME type definitions.

Version 3.0 is a major release that requires Ruby 2.0 compatibility and
removes
deprecated functions. The columnar registry format introduced in 2.6 has
been
made the primary format; the registry data has been extracted from this
library
and put into {mime-types-data}[
https://github.com/mime-types/mime-types-data].
Additionally, mime-types is now licensed exclusively under the MIT licence
and
there is a code of conduct in effect. There are a number of other smaller
changes described in the History file.

Changes:

## 3.2 / 2018-08-12

* 2 minor enhancements

    * Janko Marohnić contributed a change to `MIME::Type#priority_order`
that
        should improve on strict sorting when dealing with MIME types that
        appear to be in the same family even if strict sorting would cause
an
        unregistered type to be sorted first. [#132][]

    * Dillon Welch contributed a change that added
`frozen_string_literal:
        true` to files so that modern Rubies can automatically reduce
duplicate
        string allocations. [#135][]

* 2 bug fixes

    * Burke Libbey fixed a problem with cached data loading. [#126][]

    * Resolved an issue where Enumerable#inject returns +nil+ when
provided
        an empty enumerable and a default value has not been provided.
This is
        because when Enumerable#inject isn't provided a starting value, the
        first value is used as the default value. In every case where this
        error was happening, the result was supposed to be an array
containing
        Set objects so they can be reduced to a single Set. [#117][],
[#127][],
        [#134][].

    * Fixed an uncontrolled growth bug in MIME::Types::Container where a
key
        miss would create a new entry with an empty Set in the container.
This
        was working as designed (this particular feature was heavily used
        during MIME::Type registry construction), but the design was
flawed in
        that it did not have any way of determining the difference between
        construction and querying. This would mean that, if you have a
function
        in your web app that queries the MIME::Types registry by
extension, the
        extension registry would grow uncontrollably. [#136][]

* Deprecations:

    * Lazy loading (`$RUBY_MIME_TYPES_LAZY_LOAD`) has been deprecated.

* Documentation Changes:

    * Supporting files are now Markdown instead of rdoc, except for the
        README.

    * The history file has been modified to remove all history prior to
3.0.
        This history can be found in previous commits.

    * A spelling error was corrected by Edward Betts ([#129][]).

* Administrivia:

    * CI configuration for more modern versions of Ruby were added by
Nicolas
        Leger ([#130][]), Jun Aruga ([#125][]), and Austin Ziegler. Removed
        ruby-head-clang and rbx (Rubinius) from CI.

    * Fixed tests which were asserting equality against nil, which will
        become an error in Minitest 6.
--
Austin Ziegler • halostatue@gmail.com • austin@halostatue.ca
http://www.halostatue.ca/http://twitter.com/halostatue

Unsubscribe: <mailto:ruby-talk-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-talk>