Skip to content

Latest commit

 

History

History
213 lines (174 loc) · 20.5 KB

CHANGELOG.md

File metadata and controls

213 lines (174 loc) · 20.5 KB

Next Release

  • #378: Fix: stop rescuing all exceptions during formatting - @kbarrette.
  • #380: Fix: Formatter#read_body_input when transfer encoding is chunked - @paulnicholon.
  • #344: Added parser :type, nil which disables input parsing for a given content-type - @dblock.
  • #381: Added cascade false definition at API level to remove the X-Cascade: true header from the API response - @dblock.
  • #376: Added route_param, syntax sugar for quick declaration of route parameters - @mbleigh.
  • #347: Fix: handling non-hash body params - @paulnicholon.
  • #392: Extracted headers and params from Endpoint to Grape::Request - @niedhui.
  • #394: Path version no longer overwrites a version parameter - @tmornini.
  • #390: Added default value for an optional parameter - @oivoodoo.
  • #403: Added support for versioning using the Accept-Version header - @politician.
  • #407: Specifying default_format will also set the default POST/PUT data parser to the given format - @dblock.
  • #241: Present with multiple entities using an optional Symbol - @niedhui.
  • #412: Fix: specifying content_type will also override the selection of the data formatter - @dblock.
  • #383: Fix: Mounted APIs aren't inheriting settings (including before and after filters) - @seanmoon.
  • #408: Fix: Goliath passes request header keys as symbols not strings - @bobek.
  • #417: Fix: Rails 4 does not rewind input, causes POSTed data to be empty - @dblock.
  • Your contribution here.

0.4.1 (4/1/2013)

  • #375: Fix: throwing an :error inside a middleware doesn't respect the format settings - @dblock.

0.4.0 (3/17/2013)

  • #356: Fix: presenting collections other than Array (eg. ActiveRecord::Relation) - @zimbatm.
  • #352: Fix: using Rack::JSONP with Grape::Entity responses - @deckchair.
  • #347: Grape will accept any valid JSON as PUT or POST, including strings, symbols and arrays - @qqshfox, @dblock.
  • #347: JSON format APIs always return valid JSON, eg. strings are now returned as "string" and no longer string - @dblock.
  • Raw body input from POST and PUT requests (env['rack.input'].read) is now available in api.request.input - @dblock.
  • Parsed body input from POST and PUT requests is now available in api.request.body - @dblock.
  • #343: Fix: return Content-Type: text/plain with error 405 - @gustavosaume, @wyattisimo.
  • #357: Grape now requires Rack 1.3.0 or newer - @jhecking.
  • #320: API namespace now supports requirements - @niedhui.
  • #353: Revert to standard Ruby logger formatter, require active_support/all if you want old behavior - @rhunter, @dblock.
  • Fix: undefined method 'call' for nil:NilClass for an API method implementation without a block, now returns an empty string - @dblock.

0.3.2 (2/28/2013)

  • #355: Relax dependency constraint on Hashie - @reset.

0.3.1 (2/25/2013)

0.3.0 (02/21/2013)

  • #294: Extracted Grape::Entity into a grape-entity gem - @agileanimal.
  • #340, #342: Added :cascade option to version to allow disabling of rack/mount cascade behavior - @dieb.
  • #333: Added support for validation of arrays in params - @flyerhzm.
  • #306: Added I18n support for all Grape exceptions - @niedhui.
  • #309: Added XML support to the entity presenter - @johnnyiller, @dblock.
  • #131: Added instructions for Grape API reloading in Rails - @jyn, @dblock.
  • #317: Added headers that returns a hash of parsed HTTP request headers - @dblock.
  • #332: Grape::Exceptions::Validation now contains full nested parameter names - @alovak.
  • #328: API version can now be specified as both String and Symbol - @dblock.
  • #190: When you add a GET route for a resource, a route for the HEAD method will also be added automatically. You can disable this behavior with do_not_route_head! - @dblock.
  • Added do_not_route_options!, which disables the automatic creation of the OPTIONS route - @dblock.
  • #309: An XML format API will return an error instead of returning a string representation of the response if the latter cannot be converted to XML - @dblock.
  • A formatter that raises an exception will cause the API to return a 500 error - @dblock.
  • #322: When returning a 406 status, Grape will include the requested format or content-type in the response body - @dblock.
  • #60: Fix: mounting of a Grape API onto a path - @dblock.
  • #335: Fix: request body parameters from a PATCH request not available in params - @FreakenK.

0.2.6 (01/11/2013)

  • Fix: support content-type with character set when parsing POST and PUT input - @dblock.
  • Fix: CVE-2013-0175, multi_xml parse vulnerability, require multi_xml 0.5.2 - @dblock.

0.2.5 (01/10/2013)

  • Added support for custom parsers via parser, in addition to built-in multipart, JSON and XML parsers - @dblock.
  • Removed body_params, data sent via a POST or PUT with a supported content-type is merged into params - @dblock.
  • Setting format will automatically remove other content-types by calling content_type - @dblock.
  • Setting content_type will prevent any input data other than the matching content-type or any Rack-supported form and parseable media types (application/x-www-form-urlencoded, multipart/form-data, multipart/related and multipart/mixed) from being parsed - @dblock.
  • #305: Fix: presenting arrays of objects via represent or when auto-detecting an Entity constant in the objects being presented - @brandonweiss.
  • #306: Added i18n support for validation error messages - @niedhui.

0.2.4 (01/06/2013)

  • #297: Added default_error_formatter - @dblock.
  • #297: Setting format will automatically set default_error_formatter - @dblock.
  • #295: Storing original API source block in endpoint's source attribute - @dblock.
  • #293: Added options to cookies.delete, enables passing a path - @inst.
  • #174: The value of env['PATH_INFO'] is no longer altered with path versioning - @dblock.
  • #296: Fix: ArgumentError with default error formatter - @dblock.
  • #298: Fix: subsequent calls to body_params would fail due to IO read - @justinmcp.
  • #301: Fix: symbol memory leak in cookie and formatter middleware - @dblock.
  • #300: Fix Grape::API.routes to include mounted api routes - @aiwilliams.
  • #302: Fix: removed redundant autoload entries - @ugisozols.
  • #172: Fix: MultiJson deprecated methods warnings - @dblock.
  • #133: Fix: header-based versioning with use of prefix - @seanmoon, @dblock.
  • #280: Fix: grouped parameters mangled in route_params hash - @marcusg, @dblock.
  • #304: Fix: present x, :with => Entity returns class references with format :json - @dblock.
  • #196: Fix: root requests don't work with prefix - @dblock.

0.2.3 (24/12/2012)

  • #179: Using content_type will remove all default content-types - @dblock.
  • #265: Fix: Moved ValidationError into Grape::Exceptions - @thepumpkin1979.
  • #269: Fix: LocalJumpError will not be raised when using explict return in API methods - @simulacre.
  • #86: Fix Path-based versioning not recognizing / route - @walski.
  • #273: Disabled formatting via serializable_hash and added support for format :serializable_hash - @dblock.
  • #277: Added a DSL to declare formatter in API settings - @tim-vandecasteele.
  • #284: Added a DSL to declare error_formatter in API settings - @dblock.
  • #285: Removed error_format from API settings, now matches request format - @dblock.
  • #290: The default error format for XML is now error/message instead of hash/error - @dpsk.
  • #44: Pass env into formatters to enable templating - @dblock.

0.2.2

Features

Fixes

  • #248: Fix: API version returns last version set - @narkoz.
  • #242: Fix: permanent redirect status should be 301, was 304 - @adamgotterer.
  • #211: Fix: custom validations are no longer triggered when optional and parameter is not present - @adamgotterer.
  • #210: Fix: Endpoint#body_params causing undefined method 'size' - @adamgotterer.
  • #205: Fix: Corrected parsing of empty JSON body on POST/PUT - @tim-vandecasteele.
  • #181: Fix: Corrected JSON serialization of nested hashes containing Grape::Entity instances - @benrosenblum.
  • #203: Added a check to Entity#serializable_hash that verifies an entity exists on an object - @adamgotterer.
  • #208: Entity#serializable_hash must also check if attribute is generated by a user supplied block - @ppadron.
  • #252: Resources that don't respond to a requested HTTP method return 405 (Method Not Allowed) instead of 404 (Not Found) - @simulacre

0.2.1 (7/11/2012)

  • #186: Fix: helpers allow multiple calls with modules and blocks - @ppadron.
  • #188: Fix: multi-method routes append '(.:format)' only once - @kainosnoema.
  • #64, #180: Added support to GET request bodies as parameters - @bobbytables.
  • #175: Added support for API versioning based on a request parameter - @jackcasey.
  • #168: Fix: Formatter can parse symbol keys in the headers hash - @netmask.
  • #169: Silence multi_json deprecation warnings - @whiteley.
  • #166: Added support for redirect, including permanent and temporary - @allenwei.
  • #159: Added :requirements to routes, allowing to use reserved characters in paths - @gaiottino.
  • #156: Added support for adding formatters to entities - @bobbytables.
  • #183: Added ability to include documentation in entities - @flah00.
  • #189: HEAD requests no longer return a body - @stephencelis.
  • #97: Allow overriding Content-Type - @dblock.

0.2.0 (3/28/2012)

  • Added support for inheriting exposures from entities - @bobbytables.
  • Extended formatting with default_format - @dblock.
  • Added support for cookies - @lukaszsliwa.
  • Added support for declaring additional content-types - @joeyAghion.
  • Added support for HTTP PATCH - @LTe.
  • Added support for describing, documenting and reflecting APIs - @dblock.
  • Added support for anchoring and vendoring - @jwkoelewijn.
  • Added support for HTTP OPTIONS - @grimen.
  • Added support for silencing logger - @evansj.
  • Added support for helper modules - @freelancing-god.
  • Added support for Accept header-based versioning - @jch, @rodzyn.
  • Added support for mounting APIs and other Rack applications within APIs - @mbleigh.
  • Added entities, multiple object representations - @mbleigh.
  • Added ability to handle XML in the incoming request body - @jwillis.
  • Added support for a configurable logger - @mbleigh.
  • Added support for before and after filters - @mbleigh.
  • Extended rescue_from, which can now take a block - @dblock.

0.1.5 (6/14/2011)

  • Extended exception handling to all exceptions - @dblock.
  • Added support for returning JSON objects from within error blocks - @dblock.
  • Added support for handling incoming JSON in body - @tedkulp.
  • Added support for HTTP digest authentication - @daddz.

0.1.4 (4/8/2011)

  • Allow multiple definitions of the same endpoint under multiple versions - @chrisrhoden.
  • Added support for multipart URL parameters - @mcastilho.
  • Added support for custom formatters - @spraints.

0.1.3 (1/10/2011)

  • Added support for JSON format in route matching - @aiwilliams.
  • Added suport for custom middleware - @mbleigh.

0.1.1 (11/14/2010)

  • Endpoints properly reset between each request - @mbleigh.

0.1.0 (11/13/2010)