Releases: nelmio/NelmioApiDocBundle
2.11.0 (2015-12-04)
Hi! This release contains a few bug fixes, but the main improvement is the support of Symfony 3.0.
Special thank to @Ener-Getick! And tank you to all other contributors.
CHANGELOG
- Added: Symfony 3.0 support
- Added: default-value parameter to
JsonSerializableParser
- Fixed: FOSRestBundle compatibility
- Fixed: route host with placeholder
- Fixed: tests
- Fixed: empty string is now a valid default parameter value that is successfully merged with other parameters, preventing access of uninitialized array key 'default' Added functional test case for
mergeParameters()
that covers this issue
2.10.3 (2015-10-28)
- Fixed:
@ApiDoc
parameters setting will override lower parameter definitions in the hierarchy (#739)
2.10.2 (2015-10-27)
- Fixed: let the js library set the proper Content-type header when sending files in sandbox (#501)
- Fixed: support Symfony 2.8+
The whole documentation has been updated!
2.10.1 (2015-10-27)
2.10.0 (2015-10-23)
Hi!
(Please read the text below, thanks!)
This release contains numerous fixes and a few improvements. Most of them are related to newer versions of different dependencies. For instance, this bundle now requires Symfony 2.3+ (it does not work well with 2.8|3.0 though). Take a look at the CHANGELOG section at the end of this page for more information. Thank you to all contributors!
The "Pull-Request-Gate"
I refactored the test suite a bit in order to speed it up, nothing fancy here but the feedback loop gets better. Talking about it, I am alone maintaining this bundle I've created more than 3 years ago. However, I don't have the opportunity to use it anymore, so it is rather complicated to check Pull Requests and to fix bugs. It took me some time to understand why the test suite was failing for weeks.
Now that it is back to green, I decided to close all open PRs, because CI statuses are "stale" (i.e. statuses don't reflect the real statuses of the PRs). It does not mean that I won't accept PRs anymore, but it is time to start from scratch. That is why all PRs are now closed. I hope you will better understand why I did that now (note also that I closed all PRs using the GitHub interface, that is why I didn't leave any message...).
Roadmap Proposal
Anyway, v2.10 should be pretty stable (most of the other versions were stable) and should work well with all stable Symfony versions. What I'd like to do first is:
- make the bundle stable = make it work well with all Symfony versions > 2.3. There is some work for the upcoming Symfony versions (> 2.7). I think it should be easy, but I need your help.
- fix the integration of the
DunglasApiBundle
. This feature introduced in a previous version is not stable enough, due to recent changes. It is an optional dependency and feature, so it should not impact many users, but it would be nice to have a good integration of this bundle, because it deserves it :) - accept new features/improvements again
One More Thing
I will continue to maintain this bundle, to fix bugs, and to merge new features. This bundle has been installed more than 2 million times. 2 million. That's a lot, and it is constantly increasing (according to Packagist), which means this bundle is more and more used. Behind these numbers, there are developers just like you and me. If you use this bundle, and want to give it some love like these 100 awesome developers already, please contribute!
You can ping me on Twitter if you want to talk to me.
Thank you,
William.
CHANGELOG
- Warning: bump Symfony requirements to 2.3
- Warning: switched to stable version of DunglasApiBundle
- Added: Twig 2 compatibility
- Added: a parser for
JsonSerializable
classes - Added: support for using
name
in the input and output options forJsonSerializable
and validation parsers - Added: pipe to escaped symbols of jQuery selector
- Added: handle "array" parameter in FOSRestBundle
QueryParam
orRequestParam
- Added: improve
true/false/null
default values on configuration - Added:
view
option to api:doc:dump command - Fixed: deprecated route options
- Fixed: mistake in #720
- Fixed: deprecated twig stuff usage
- Fixed:
ApiDocExtractor
to accept callable classes as controllers - Fixed: prevent BC break in
DunglasApiBundle
- Fixed: change
getViewCache()
method visibility toprivate
- Fixed: extractor view data caching
- Fixed: prevent error "Undefined index" when no subtype provided
- Fixed: only display filters on collections GET services
- Fixed: deprecated
FormType::setDefaultOptions()
usage - Fixed: reverted fix "LINK workaround for firefox"
2.9.0 (2015-05-16)
In this release, there a two major features:
- the DunglasApiBundle support,
- and the new concept of views.
Thanks to all contributors!
Changelog
- Added: optimization on the regex
- Added: DunglasJsonLdApiBundle support
- Added: Introduce the concept of 'views'
- Added: javascript for collapsing sections in json-response
- Added: pass children options to subform
- Added: form options to ApiDoc input
- Added: minor tweaks to improve UI
- Fixed: tests and travis-ci configuration
- Fixed: documentation
- Fixed: DunglasApi filters supports
- Fixed: memory limit issue wirh entity list
- Fixed: deprecated forms setDefaultOptions method
- Fixed: enhanced DunglasApiBundle support
- Fixed: DunglasJsonLdApiBundle support
- Fixed: binding of on-click handler for json-toggler
- Fixed: usage of private service-alias
- Fixed: not attaching
api_key
to query if empty - Fixed: sandbox with host
2.8.0 (2015-03-06)
What's New?
A lot of fixes have been pushed since 2.7.0
, but this release also contains numerous new features such as a great Swagger support, UI/UX improvements, and a few new ways to retrieve useful information.
For more information, please read the changelog below.
Changelog
- Added: support for collections
- Added: allow parsers to remove/replace root parameters
- Added: support for localstorage
- Added: support for Security annotation
- Added: query parameters in sandbox request URL
- Added: alternate model naming strategy
- Added: optional color codes for tags annotation
- Added: show/hide button and list/expand operations buttons on sections
- Added: nested JMS groups exclusion
- Added: ability to specify param-type of input class.
- Added: caching layer with the controllers and routing files as resources
- Added: Post-parser support for response map models
- Added: default value handling
- Added: 'type' to API item if applicable
- Fixed: type annotations
- Fixed: PhpDoc Handler for
@link
annotation and add tests - Fixed: display select to choose http method in sandbox
- Fixed: form errors parser. Mirrored actual form-errors response by FOSRest. Made sure that FieldErrors is not duplicated.
- Fixed: parsing of filters, default values, descriptions and base path in SwaggerFormatter
- Fixed: tests by adding separate form type
- Fixed: disabling required for HTTP PUT requests
- Fixed: checking HTTP method type
- Fixed: side effect introduce with list/expand buttons
- Fixed: collection handling
- Fixed: improve directive parsing, and separate test class for parsing directives.
- Fixed: better regex pattern matching and added tests for parsing array<..> directives.
- Fixed: replace incorrect
jQuery.size()
method - Fixed: honor body format before uploading file type parameters
- Fixed: #486
- Fixed: only show request format dropdown when there are multiple formats
- Fixed: 'items' parameter for collections in parameters
- Fixed: impossible to access an attribute ("custom_endpoint") on a NULL variable
- Fixed: missing handling for DataTypes::COLLECTION in parameters (input)
- Fixed: endpoint is undefined in sandbox when custom_endpoint is disabled
- Fixed: the wrong endpoint value check when no endpoint is set in config
- Fixed: Swagger commands
2.7.0 (2014-07-30)
What's New?
This release contains numerous fixes and improvements as well as new shiny features.
The sandbox now supports different authentication schemes such as http
+ basic
or bearer
. The http_basic
delivery has been kept for BC purpose but will be remove at some point. You should rather use the new type
parameter:
# app/config/config.yml
nelmio_api_doc:
sandbox:
authentication: # default is `~` (`null`), if set, the sandbox automatically
# send authenticated requests using the configured `delivery`
name: access_token # access token name or query parameter name or header name
delivery: http # `query`, `http`, and `header` are supported
# Required if http delivery is selected.
type: basic # `basic`, `bearer` are supported
The sandbox now displays better input HTML elements depending on the type of each field. It is also possible to disable the "body formats" select box and links to the Symfony web profiler have been added.
For more information, please read the changelog below.
Changelog
- Added: new authentication configuration
- Added: parse
JSM\Inline
(#372) - Added: if a description is not provided use form label
- Added: workaround for Firefox not sending
LINK
in uppercase what then is denied by nginx. More info: http://stackoverflow.com/questions/9645037/nginx-rejects-custom-http-methods-if-not-all-upper-case - Added:
default
parameters in{JmsMetadata,Validator}Parser
, andFOSRestHandler
- Added: unified data types [actualType and subType]
- Added: default values support for form types
- Added: support to properly handle file upload POST
- Added: support for different parameter types
- Added: file type to
FormTypeParser
- Added: support for
nullable
option inRequestParam
- Added: configuration option to disable body formats
- Added:
PostParserInterface
toJmsMetadataParser
to getValidatorParser
found children parsed - Added: show web profiler link in sandbox
- Fixed: toggle click event
- Fixed: embedded collection of custom FormType Error
- Fixed: css for tags output
- Fixed: don't parse custom properties as classes
- Fixed: doubled parameters
- Fixed: in
FormTypeParser
,FormType
constructor should be called when possible - Fixed: missing array key checks
- Fixed: small bug introduced when adding 'new parameter'
- Fixed: wrong HTML structure
a>div
- Fixed: wrong HTML structure
ul>li
- Fixed: remove duplicate HTML ID
- Fixed: wrong HTML tag
- Updated: documentation, config reference
2.6.0 (2014-06-25)
What's New?
- The
@ApiDoc
annotation gets a new property namedtags
, which allow to tag a method (e.g.beta
orin-development
). You can configure either a single tag or an array of tags. - Under the
request_format
configuration node, there is a new available node namedrequest_formats
, allowing you to register custom mime types for XML and JSON formats:
# app/config/config.yml
nelmio_api_doc:
sandbox:
request_format:
formats: # default `json` and `xml`,
json: application/json # override to add custom formats or disable
xml: application/xml # default formats
Changelog
- Added: implement Tags for functions
- Added: request formats configuration
- Fixed: retrieval of the validation
MetadataFactory
- Fixed: simplified the Travis configuration
- Fixed: pressing enter in the sandbox mode will now lead to submit the form
- Fixed: broken documentation with Validator Constraints in FOSRestBundle requirements (#357)
- Minor improvements (documentation, tests)
2.5.2 (2014-05-16)
- Fixed: only show sandbox config if enabled
- Fixed:
ValidatorParser
in Symfony 2.5 - Fixed: parse of input forms with options required
- Fixed: Form Parser improvements for date, datetime & choice form types (format & types)