v1.2.3 (2023-10-11)
- Fix param: Consider default_value: nil as valid config (#894) (davidwessman)
v1.2.2 (2023-07-18)
- Fixed Swagger warnings for properties (#892) (shev-vadim-net)
- Improved support for multipart/form-data example recording (#891) (Butiri Cristian & hossenlopp)
- rubocop (1.54.2) fixes required with latest version (#893) (Mathieu Jobin)
v1.2.1 (2023-06-09)
- rspec: Fixes deprecated matcher (#882) (David Wessman)
- Fix streaming bug (#677) (Hunter Braun)
- Update README URLs based on HTTP redirects (#448) (ReadmeCritic)
- Swagger: Adds option to skip default tags (#881) (David Wessman)
- Parameter validation: Raises error for all missing (#886) (David Wessman)
v1.2.0 (2023-06-03)
- Allow resource_name to be inherited (#872) (Eric Hankins)
- Fix cache rendering with namespaced resources (#874) (Eric Hankins)
- Fix deprecated content_type on Rails >= 6 (#879) (Eric Hankins)
- Fix typo in Collector (#877) (Eric Hankins)
- Fix error climbing controller hierarchy (#875) (Eric Hankins)
- Add Gemfile.tools for IDE usage (#876) (Eric Hankins)
- Fix rubocop (#883) (Mathieu Jobin)
- Performance/InefficientHashSearch-20230602233137 (#884) (RuboCop challenger)
- Redo Github action script to not need individual gemfiles (#885) (Mathieu Jobin)
v1.1.0 (2023-05-16)
- Improve performance of route detection #870 (Eric Hankins)
- Fix startup crash due to typo #869 (Eric Hankins)
- Skip parse body for pdf responses #871 (Juan Gomez)
- add missing 'returns' translation #868 (Anthony Robertson)
v1.0.0 (2023-04-26)
- Refactor Swagger generator #816 (Panos Dalitsouris)
- Take into account validator options for
required
ParamDescription #863 (Panos Dalitsouris) - Replace
get_resource_name
withget_resource_id
#864 (Panos Dalitsouris) - Namespace swagger configuration #862 (Panos Dalitsouris)
- Allow boolean array
[true, false]
to be a valid argument for BooleanValidator #848 (Panos Dalitsouris) - Fix swagger warnings #865 (Panos Dalitsouris)
- Update README - Adds the new Integer option you added recently to the documentation here. #866 (Jeremy Lupoli)
- [Rubocop] More Rubocop Auto corrections #859
v0.9.4 (2023-04-11)
- [Fix] Separate nested resource name #855, #455 (Panos Dalitsouris)
- [Rubocop] Disable a few Rubocop Rules, run Rubocop with ruby 3.2 #851, #853, #840, #841 (Panos Dalitsouris)
- [Rubocop] More Rubocop Auto corrections #858, #849, #850, #844, #846, #834, #847 (Rubocop Challenger)
v0.9.3 (2023-03-08)
- [Feature] Allow Apipie::ParamDescription to be marked as deprecated #819, #811 (Panos Dalitsouris)
- [Fix] Make html markup thread safe (#822) (Adam Růžička)
- [Feature] Allow action matcher strategy to be configured #821 (Panos Dalitsouris)
- [CI] Run Rubocop when opening PR #826 (Panos Dalitsouris)
- [CI] Green rubocop - Fix after rubocop challenger upgrade #829 (Mathieu Jobin)
- [Rubocop] More Rubocop Auto corrections #818, #825, #827, #837, #839 (Rubocop Challenger)
v0.9.2 (2023-02-07)
- [Rubocop] More Rubocop Auto corrections #795, #781, #791, #788 (Rubocop Challenger)
- [Fix] Can't include translation in full description (#446) #808 (Peter Nagy)
- [Refactor] Move swagger param description creation #810 (Panos Dalitsouris)
- [Rubocop] Redo rubocop TODOs, set HashSyntax config to most used style #814 (Mathieu Jobin)
- [Fix] Swagger missing i18n #815 (@jirubio)
v0.9.1 (2023-01-16)
- [Refactor] Create test cache files under a not version controlled directory #809 (Panos Dalitsouris)
- [Ruby] Support for Ruby 3.2 #807 (Mathieu Jobin)
- [Fix] Reverted conditional assignment operators that caused #559 #806 (Nick L. Deltik)
- [Rubocop] Autocorrect Style/SymbolProc #793 (Rubocop Challenger)
v0.9.0 (2023-01-03)
- [Refactor] Move Swagger types and warnings under
/generator
namespace #803 (Panos Dalitsouris) - [Refactor] Creates
Apipie::MethodDescription::ApisService
#805 (Panos Dalitsouris) - [Refactor] Change output folder to
spec/dummy/tmp/
#804 (Panos Dalitsouris) - Fix tiny typo in docs #798 (Erik-B. Ernst)
- Fix Generated docs.json output #787 (Jeremy Liberman)
- Rubocop Fixes #775, #778, #780, #790, #783, #785 (RuboCop)
- Remove/clean up dev dependencies and unused rake tasks #777 (Mathieu Jobin)
- remove unused rake task
- Setup Rubocop Challenger #776 (Mathieu Jobin)
v0.8.2 (2022-09-03)
- Allow custom validators to opt out of allow_blank behavior #762. (Stephen Hanson)
- Enforce test coverage, set current 89% as minimum #764. (Mathieu Jobin)
- Add contributing instructions to readme #763. (Stephen Hanson)
- Fix readme formatting #765. (Stephen Hanson)
- Adds expected_type to IntegerValidator example #769. (Jeremy Liberman)
- Update readme with error handling example #768. (Jesse Eisenberg)
- Fix scope incorrectly set to nil when a param_group is used inside an array_of_hash and the param_group is in a different module / controller. #693 #774. (Omkar Joshi / Oliver Iyer)
v0.8.1 (2022-05-26)
v0.8.0 (2022-05-24)
- Add support for scheme definition in Swagger docs. #710 (Dan Leyden)
- Add support for Rails 7 #760 (Mathieu Jobin)
- Clean up code base, removing all trace of unsupported Rails 4.x #752 (Mathieu Jobin)
- fix: Controller resource set before version #744 (LuukvH)
- fix: enable swagger generator to add referenced schema for an array of hashes param #689 (Francis San Juan)
v0.7.2 (2022-04-19)
- Added Korean locale. #480 (Jaehyun Shin ) #757 (Jorge Santos)
Security
Upgraded Bootstrap from 2.0.2 to 2.3.2, JQuery from 1.11.3 to 1.12.4 #708 (Nicolas Waissbluth)- Fix ruby2 keyword argument warning #756 (Jorge Santos)
v0.7.1 (2022-04-06)
- Skip extra parameters while validating the keys. #690 (Omkar Joshi)
- Support defining security mechanisms for Swagger #711 (Dan Leyden)
- Update boolean handling of false #749 (Colin Bruce)
Note: Up until and including v0.6.x, apipie-rails was silently ignoring allow_blank == false on String validation. when allow_blank is not specified, it default to false. to allow blank strings, you must specify it as a parameter.
Alternatively, if you want to revert to the previous behavior, you can set this configuration option:
Apipie.configuration.ignore_allow_blank_false = true
.
v0.7.0 (2022-03-30)
- ArgumentError (invalid byte sequence in UTF-8) #746 (David Milanese)
- Fix allow_blank does not work #733 (CHEN Song)
- Fix schema generation for param descriptions using the array validator in option #732 (Frank Hock)
- Remove support for Rails 4 and Ruby <= 2.5 #747 (Mathieu Jobin)
v0.6.0 (2022-03-29)
- Ruby 3.0 fixes #716 (hank-spokeo)
- only depends on actionpack and activesupport #741 (Mathieu Jobin)
- language fix, fallback to default locale #726 (Alex Coomans)
v0.5.20 (2022-03-16)
- Update rel-eng (Oleh Fedorenko)
- Deprecate travis, run tests on github actions #740 (Mathieu Jobin)
- Update validator.rb #739 (Dmytro Budnyk)
- Fix wrong number of arguments for recorder#process #725 (rob mathews)
- Change "an" to "a" #723 (Naokimi)
v0.5.19 (2021-07-25)
- Add rel-eng notebook (Oleh Fedorenko)
- Correct the word parâmentros for brazilian portuguese #687 (Diego Noronha)
- Fix depreciated file.exists. #721 (Diane Delallée)
- Fix typo in changelog #703 (Pavel Rodionov)
- Add rails 6.1 support in doc generation #702 (andrew-newell)
v0.5.18 (2020-05-20)
v0.5.17 (2020-01-20)
v0.5.16 (2019-05-22)
v0.5.15 (2019-01-03)
- Fix authorization of resources #655 (NielsKSchjoedt)
- Use configured value when swagger_content_type_input argument is not passed #648 (nullnull)
- Fix "ArgumentError: string contains null byte" on malformed stings #477 (avokhmin)
- HTML escape validator values #645 (ekohl)
- Support for adding new params via
update\_api
#642 (iNecas) - Allow the "null" JSON string to be used as a parameter in Apipie spec examples (
show\_in\_doc
) #641 (enrique-guillen) - Fix examples recording for specific cases #640 (Marri)
- Add description section to response #639 (X1ting)
- Fix swagger generation if a controller's parent doesn't define a resource_description #637 (enrique-guillen)
- Adds swagger tags in swagger output #634 (enrique-guillen)
- Generate swagger with headers #630 (Uysim)
- Fix examples not being generated for Rails < 5.0.0 #633 (RomanKapitonov)
- Support response validation #619 (abenari)
- Expect :number to have type 'numeric' #614 (akofink)
- New validator - DecimalValidator #431 (kiddrew)
- Swagger json includes apipie's description as swagger's description #615 (gogotanaka)
- Fix api! issue by using underscore when appending
controller
to the default controller string #613 (kevinmarx) - Possibility to compress examples #600 (Haniyya)
- Possibility to describe responses #588 (elasti-ron)
- Fix example recording with Rails 5 #607 (adamruzicka)
- Use SHA1 instead of MD5 to enable using APIPIE at FIPS-enables systems #605 (iNecas)
- Replaced String#constantize with String#safe_constantize so apipie won't break on a missing constant #575 (Haniyya)
- Added Swagger generation #569 (elasti-ron)
- Prevent missing translation span in title #571 (mbacovsky)
- Clean up old generator code for CLI #572 (voxik)
- Added french locale #568 (giglemad)
- prevent lang in url when config.translate is false #562 (markmoser)
- Allow for resource-level deprecations #567 (cross-p6)
- Fix reloading when extending the apidoc from concern #557 (iNecas)
- Fix example recording when using send_file #504 (tdeo)
- A way to extend an exiting API via concern #554 (iNecas)
- Fallback to apipie views when application override isn't present #552 (tstrachota)
- Updated setting default locale for api documentation #543 (DmitryKK)
- Use AD::Reloader on Rails 4, app.reloader only on Rails 5+ #541 (domcleal)
- Recognize Rack Symbols as Status Codes #468(alex-tan)
- Fix Rails 5.1 deprecations #530 (@Onumis @sedx)
- This release is no longer compatible with Ruby 1.9.x
- Do not mutate strings passed as config options, fixes #461 #537 (samphilipd)
- Added recursion for documentation, fixed bug in examples with paperclip #531 (blddmnd)
- Added locales/ja.yml for Japanese #529 (kikuchi0808)
- Rails 5 compatibility #527 (iNecas) #420 (buren) #473(domcleal)
- This release is no longer compatible with Rails 3.x
- Include delete request parmeters in generated documentation #524 (johnnaegle)
- Allow a blank, not just nil, base_url. #521 (johnnaegle)
- Adds allow_blank option #508 (MrLeebo)
- Boolean Validator uses <code> instead of ' #502 (berfarah)
- Fix type validator message #501 (cindygu-itglue)
- Add IT locale #496 (alepore)
- Fix small typo on dsl_definition data init #494 (begault)
- Localize app info message #491 (belousovAV)
- Fix travis build #489 (mtparet)
- Handle blank data when parsing a example's response #453 (stbenjam)
- Allow layouts to be overridable. Fixes a regression introduced in #425. #447 (nilsojes)
- Handle blank data when parsing a example's response #453 (stbenjam)
- Allow layouts to be overridable. Fixes a regression introduced in #425. #447 (nilseriksson)
- Fixed to_json encoding error that occurs with uploaded file parameters. #429 (hossenlopp)
- Render enum param values as CODE #426 (febeling)
- Fix layout path (Rails 4.2.5.1 compatibility) #425 (halilim)
- Unify indentations across all locale files #423 (springerigor)
- Fix typo in Action Aware Params section of readme #419 (ryanlabouve)
- Rails4.2 #413 (ferdinandrosario)
- Add viewport meta tag. #412 (buren)
- removed beta version #411 (ferdinandrosario)
- updated patch #410 (ferdinandrosario)
- Nerian layout fix #409 (Pajk)
- Add Turkish translations #407 (halilim)
- Update README.rst #405 (type-face)
- add german locale #394 (mjansing)
- Add custom message support for missing parameters #390 (jcalvert)
- A boolean parameters can be configured with both :bool and :boolean #124 (Nerian)
- Cleaning up unreachable code #385 @voxik
- Russian translation #352 @Le6ow5k1
- Ability to hide controller methods from documentation #356 @davidcollie
- Use doc_path configuration in rake tasks #358 @saneshark
- Chinese translation #363 @debbbbie
- Polish translation #375 @dbackowski
- Spanish translation #376 @isseu
- Add an alternative to action aware required param #377 @mourad-ifeelgoods
- Fixing occasional NoMethodError with ActionDispatch::Reloader #348 @saneshark
- Portuguese translation #344 @dadario
- Support for describing headers #341 @iliabylich
- PATCH support for examples recording #332 @akenger
- Recursively search for API controllers by default for new projects #333 @baweaver
- Handling recursive route definitions with
api!
keyword #338 @stormsilver - Support for eager-loaded controllers #329 @mtparet
- Support for
api!
keyword in concerns #322 @iNecas - More explicit ordering of the static dispatcher middleware #315 @iNecas
This should be a backward compatible release. However, the number of new significant features deserves new minor version bump.
- Rubocop-blessed Ruby 1.9 syntax for generated DSL documentation #318 @burnettk
- load API paths from routes.rb #187 @mtparet @iNecas
- ability to use before_filter instead of overriding the action method for validation #306 @dprice-fiksu
- support multi-part data when recording from tests #310 @bradrf
- validate_keys option to raise exception when passing undocumented option #122 @dfharmon
- handle static page generation when the doc_base_url has multiple folders #300 @ryanische
- add ability to markup validator description #282 @exAspArk
- don't specify protocol in Disqus script tag src #285 @chrise86
- fix BooleanValidator to set expected_type as boolean #286 @dustin-rh
- better handling on cases where resource/method is not found when cache is turned off #284 @iNecas
- fix disqus integration #281 @RajRoR
- Name substitution for referenced param_group defined in a concern #280 @tstrachota
- expected_type 'array' for ArrayValidator #276 [@dustint-rh][]
THE FURTHER SUPPORT FOR RUBY 1.8.7 WILL NOT BE ENSURED IN THE MASTER
AND THE >= 0.3.0
RELAEASES. We discourage anyone to keep using ruby
1.8.7 for anything. If you're aware of the issues and still willing to
take the risk, we are willing to keep the v0.2.x releases based on the
v0.2.x branch. However, we will not actively develop or backport any
new features to this branch neither will we accept there features that
are not in the master branch.
- add an option to flag an api route as deprecated #268 @komidore64
- add ability to pass additional options to apipie route #269 @exAspArk
- enhanced array validator #259 @mourad-ifeelgoods
- prevent rspec 3 from being used. It is not compatible. #255 @lsylvester
- fixed extractor root route (handle nil path) #257 @ctria
- reduced rails dependency to development only #266 @klobuczek
- add more options to apipie:cache to generate only parts of the static pages #262 @mbacovsky
- fix typo in the localization string #244 @alem0lars
- fix syntax errors in 404 page #246 @richardsondx
This is not full backward compatible release, as the format of storing
examples changed from YAML to JSON: the default location is at
doc/apipie_examples.json
. The migration should be as easy as
running:
rake apipie:convert_examples
Also please not Rails 3.0 support was deprecated and the compatibility wont be tracked anymore in next releases.
- dump examples as json #125 @johanneswuerbach
- support for localized API documentation #232 @mbacovsky
- configuration option to always record examples #239 @arathunku
- deprecate Rails 3.0 #241 @iNecas
- reloading works correctly with to_prepare blocks in the app #228 @iNecas
- documentation bootstrapping now respects api_controllers_matcher #227 @clamoris
- backward compatibility with Ruby 1.8 #218 @mbacovsky
- checksum calculation is lazy and respect use_cache config #220 @mbacovsky
- fix generating the cache in production environment #223 @iNecas
- fix loading regression with SafeYAML #224 @iNecas
- middleware for computing Apipie checksum for dynamic bindings #215 @mbacovsky
api_base_url
inherited properly #214 @mbacovsky- ability to hide specific parameters #208 @nathanhoel
- fix for SafeYAML compatibility #207 @pivotalshiny
- option to show all examples in the documentation #203 @pivotalshiny
- support for array of hashes validation #189 @mtparet
- support for saving the values based on documentation into
@api_params
variable #188 @mtparet - support for json generated from rake task
rake apipie:static_json
#186 @mtparet - fix
undefined method 'has_key?' for nil:NilClass
when validating Hash against non-hash value #185 @mtparet - fix NoMethorError when validating Hash against non-hash value #183 @nathanhoel
- support for metadata for params #181 @tstrachota
- fix camelization of class names #170 @yonpols
- new array class validator #169 @mkrajewski
- fix DOS vulnerability for running in production without use_cache
- ability to load descriptions from external files
- improved examples extractor
- fixed deprecation warnings in Rails 4
- using StandardError instead of Exception for errors
- fix exceptions on unknown validator
- fix concerns substitution in parameters
- possibility to authenticate the API doc
- support for array in api_controllers_matcher
- fix "named_resources" option
- fix generating static files when concerns used
- fix RDoc 4.0 compatibility issue
validate_value
andvalidate_presence
options for better validation granularity
- namespaced resources - prevent collisions when one resource defined in more modules
Apipie::DSL::Concern
for being able to use the DSL in module that is included into controllers
- fix examples recording when resource_id is set
- use safe_yaml for loading examples file when available
param_group
anddef_param_group
keywords:action_aware
options for reusing param groups for create/update actions
- support for multiple see links at action and ability to provide description of see links
- Fix getting started being rendered even when documentation was available
- Fix case when there is no documentation yet: with link to how to start
- Fix handling bad requests when cache is on
- Fix params extractor in case there is already some documentation