- Template: fixed navigation sorting
- Template: fixed search clear
- Template: handle current version in search
- Template: Added simple function to search by multiple elements with a +
- Template: Optimized template for a better search and oder by group title
- Updated elixir block parser to use the old format by wrapping the doc with
@apidocs """ ... """
- Add tsx to default extensions parsed. (fix #1290)
- Compare methods with lowercase strings (fix #1284)
- Upgrade some dependencies
- Fix issue with aloneDisplay and non-ascii characters (#1273 by @KujoMiva)
- Allow cn, zh_cn or zh for Chinese language option and display meaningful message in console on error. fix #1248
- Update example files to not display an error (#1210)
- Update dependencies
- Fix incorrect warnings in some conditions (PR #1206 by @BrokenSourceCode, fix #1194)
- Emit warnings if there are inconsistencies in the apidoc params (PR #1189 by Lucas Cimon)
- Dependencies update
- Use root package.json values if not in apidoc key by Nick Mitchell (#1164)
- Fix search requiring lower-case input (#1173 by Alexander Weiss)
- Add yarn berry compatibility (#1144 by 이호영)
- Fix template path resolve (#1175 by Kevin Bull)
- Update chinese locale (#1184 by Jun Ding)
- Dependencies update
- Fix bug with loading the CSS file for single page mode (
--single
) (fix #1142)
- Fix bug where header/footer files could not be found in some conditions (fix #1107)
- Add showRequiredLabels option (default: false) (fix #1095)
- fix checkbox styling (fix #1077 via #1079 by @esaracco)
- make sure success block appears after body/query params (fix #1100)
- fix content-type value (fix #1084 via #1085 by @esaracco)
- fix display of types for apiHeader and apiParam (#1083 by @esaracco)
- fix tests on windows (#1070 by @donmahallem)
- improve build speed (by @rottmann)
- make the message about no config files found a warning
- look for package.json in current working directory for apidoc config (fix #1086)
- update chinese translation
- add json response highlighting (#1082 by @esaracco)
- fix issue with sampleUrl set to "true" (fix #1058 via #1062 by @esaracco)
- fix not seeing all versions below (fix #1049 via #1061 by @esaracco)
- fix apiParams input elements (#1059) by Benjamin Knorr
- Remove the jQueryAjaxSetup configuration option (was not working anyway) (fix #1040 via #1041 by @esaracco)
- Add more files/folders to .npmignore
- Improve/fix group sorting (fix #1042 via #1044 by @esaracco)
- --silent renamed to --quiet or -q for short
- --color renamed to --no-color to disable color in log output
- --parse was deleted because it is the same as --simulate
- --simulate renamed to --dry-run / -n
- Default output is not json, use "--log-format json" to get json
- --config / -c must be a path to a file, not a directory
-
Fix sampleUrl config option behavior:
- if it is absent or
false
, no sample block will be generated - if it is
true
, the current page location will be used - if it is an url, that will be used
Note that the option useHostUrlAsSampleUrl has no longer any effect and can be safely removed. Use a value of
true
forsampleUrl
to get the same behavior.
- if it is absent or
-
Fix non working sortFields function (fix #968)
-
Fix syntax highlighting for markdown parsed text
-
Fix color in logs was not showing since upgrade to winston 3
-
Fix newlines being removed in pre tags (fix #809 by @JayBerlin)
-
Fix header/footer in aloneDisplay mode (fix #905 via #1027 by @esaracco)
-
Fix duplicated content in aloneDisplay mode (fix #938 via #1025 by @esaracco)
-
Fix apiSampleRequest not working (fix #984 via #1023 by @esaracco)
-
Fix error with parenthesis in apiGroup (fix #994 via #1022 by @esaracco)
-
Fix absent diff on different api route (fix #963 via #1030 by @esaracco)
- Add request method to compare template (#986 by @klickagent)
- Add some shorthand options, see apidoc -h
- Add --log-format option for json output (default is not json)
- Add ascii art in verbose mode
- Add --warn-error to treat warnings as error (fix #703)
- HUGE CLEANUP OF THE CODEBASE
- Merge apidoc-core back into the apidoc repository. The apidoc-core repository is now read-only.
- Add .eslintrc.js and enforce coding style everywhere
- Update many dependencies to their latest version
- Make sidenav wider and template more responsive (fix #851)
- Big CSS code overhaul and change
- Ignore node_modules by default (fix #936)
- Add ASCII art in verbose mode
- Allow setting input and output in apidoc.json (fix #630)
- Take standard parameters of URL query string into account (#1014 by @esaracco)
- Allow colon character in apiDefine (fix #877 via #1021 by @esaracco)
- Fix broken handlebar
- [DEV] add a npm run serve command
- Remove space that was added for optional params
- Make the 'optional' label unselectable (#970 by Thomas Bruun)
- Fix issue with handlebar (#967)
- Use npm lockfile v2
- Update handlebar to fix vulnerability (#962)
- Fix runtime error in single page template (#944 via #945 by Ashlanfox)
- Implement apiBody parsing into multi page template (#953 by Seth Wheeler)
- Maintain comment order for @apiParam and @apiSuccess (fix #206 via #951 by Matheus Giovani)
- Add option for JavaScript output mode (#933 by refineddigital)
- Add new configuration variable
useHostUrlAsSampleUrl
(#930) by Shivam Kumar Jha - Add new favicon (#926 by Francisko Arenas)
- Implement apiBody parsing into single page template (#916 by Seth Wheeler)
- Clean up useless CSS rule (#923)
- Enable GitHub actions (#918 by @tommy87)
- Send sample url request to url hosting the documentation when no sampleUrl is provided in config (#915 by @thealphadollar)
- Add programmatic usage to README (#898 by rigwild)
- Fix page refresh on non ascii characters (#896)
- Fix output when offline (#894) by @SecretAgentKen
- Increase require.js timeout (#889) by @NicolasCARPi
- Use Prism.js instead of deprecated prettify.js (#888) by @NicolasCARPi
- Send sample request auto json body if body/json is not used but Content-Type application/json header is set (#862)
- Fix documentation not showing / Show version when withCompare is set to false (#880) Fix #879
- Add support for javascript config files (#872)
- Add support for different config files (#874)
- Fix tests for Windows (#873)
- Fix pre borders overflowing on print view (#887)
- Fix initial jump with hashed URL (#871) by @rafaelgssa
- Fix issue with newer api endpoint showing up on first page load (#869) by @Yopai
- Update Handlebars to latest version (fix security issue) (#867) by @NicolasCARPi
- Allow several path parameters (#866) by @rafaelgssa
- Add param file upload support (#850) by @aqnaruto
- Add --single option to output in a single HTML file (#840) by @eyasliu
- Avoid using container-fluid on the body if the screen is larger than 1200px (#846)
- Add
@rigwild/apidoc-markdown
converter in README (#839) - Add --watch command line option to generate doc if source changes (#835)
- Handle parsing of array fields (#829)
- Handle nested fields when sending the request (#828)
- Revert back the api Group/Name change in template (#821)
- Bring back apidoc-example as devDependencies for CI
- Update apidoc-core version in package-lock.json
- Fix documentation for filter-by option (use = instead of :)
- Fix HTML after comparison (#827)
The number of open pull requests in now 0! :D In this release you'll find one bugfix and also some new features/improvements.
-
Bugfix:
- Fix default header being sent instead of user input (#813)
-
New features:
- Add aloneDisplay config option to filter the page after clicking menu header (#820 by @sxiazb)
- Add filtering navigation bar based on URL (#820 by @sxiazb)
- Add dropdown box for the body parameter and modify to allow multiple params (#812 by @sxiazb)
- Add --filter-by option (#810 by @omaretna)
- Add possibility to define absolute url in @api (fix #201)
-
Enhancements:
- Add mjs file extension to the list of parsed files (#815 by @mons54)
- Improve the example project
- Don't output anything by default on CLI (fix #799)
This release comes after more than two years without changes to the code. A lot of things were merged and fixed, so it is possible that this changelog is not entirely complete. Refer to the git log if necessary.
-
Common
- Add Docker image and improve it (#807)
- Fix apiGroup showing instead of apiName in template
- Add support for custom markdown parser location (#714)
-
CLI
- Add kotlin to default file-filters.
- Escape content of success examples.
-
Template
- Update style.css to have horizontal scrolling for long URLs.
- Add Vietnamese translation.
- Add Turkish translation.
- Blank optional parameters omitted from sample request.
- Update template form parameter to be in form group (#669)
- Improve the sorting of names (#688)
- Avoid underscores in article titles (#764)
- Add default value of the headers in the input (#806)
- Add notes about Elixir (#658)
- Send JSON body for APIs (#559)
-
Maintenance
- Update dependencies where possible
- CLI
- Bugfix for folder problem.
- Parser
- Fix missing chars in root folder.
- Replace removed fs-extra.walkSync with klaw-sync.
- Template
- Fix missing lodash dependency.
- Template
- Fix hidden optional field.
- Template
- Fix missing type in template.
- Add check for empty header/footer nav points.
Add new @apiDeprecated annotation. Add new @apiPrivate annotation.
-
CLI
- Add
--private false|true
parameter to export@apiPrivate
marked methods. - Add .cls, .jsx, p, .pl, .vue file extensions.
- Update dependencies.
- Add
-
Parser
-
Template
- Update Bootstrap to 3.3.7.
- Navigation filter added. 562
- h2 links in Header / Footer files will now be visible in the main navigation. 525
- Fix issue of left menu displaying major function in older version. 528
- Replace lodash with only needed custom build lodash functions.
- Update italian language file. 507
Greatest improvement: Plugin support
apidoc search now in global node modules dir and local node_modules
for modules that start with apidoc-plugin-
. (local installed plugins have higher priority)
View / clone: apidoc-plugin-test With a plugin you can add features like new parsers (this was possible before only with CLI param) or filters and workers.
Start adding hooks. Hooks can be used in plugins to extend or transform data.
If you need a hook in apidoc-core please add your hook and provide a pull request. How to add a hook into apidoc-core view source code
-
CLI
- Update dependencies.
- Remove not needed js-cookie module.
- Allow for single source configuration. 458
-
Parser
- Add Plugin Loader. Extend filter, parser, worker for plugin usage. example plugin
- Add plugin hooks for found elements. available hooks
- Add support for other encodings (default ist uf8).
apidoc --encoding utf8
- Add Lua support.
- Add cpp support.
- Add Arduino support.
-
Template
- Do not use monospace for sans-serif fonts, only code fonts.
- Sort field by grouping. 457
- Add X-UA-Compatible for Internet Explorer to prevent loading only screen.
- Reformat JSON example output.
- Example table column widths set to 100%.
- Add Italian translation.
- Parser
- Bugfix: Inherit error of lodash merge / mergeWidth split.
-
CLI
- Update dependencies.
-
Parser
- Upgrade markdown parser to version 0.6.
-
Template
-
CLI
- Clarify that -c option must be a directory.
-
Parser
- Add support for
:
in @apiParam names. - Add Ruby doxygen-style support.
- Add Groovy support.
- Add Exlixir support.
- Add Parameter name array syntax.
- Add travis-ci tests for node 0.12.
- Add support for
-
Template
- Add semver for correct sort order. 335
- Add google webfontloader to fix scrollspy position after webfont loading.
- Add semver for correct sort order.
- Add Spanish translation.
- Add Chinese Simplified (zh-cn) tranlsation.
- Update to semantic tradition Chinese words.
- Update Polish translation.
- Ensure params isn't empty before sending.
- Set required defaults for sample request.
- Bugfix: Locale don't work with pt-br. 329
- Bugfix: Empty Groups for Future Versions showing when old Versions are selected. 349
- Bugfix: Add path to template variable (_col1).
- Sample requests with GET parameters need to be added to the query string.
- Fix handle bar expression to not apply html encode for data type field.
- Typo in header.md.
- Parser
- Remove p-Tags from type-Field.
- Update dependencies.
- Update fixtures (type-Fields and line endings).
- Template
- Update French and Russian translation files.
-
Important changes:
- Remove deprecated annotations (http://apidocjs.com/deprecated.html).
- Replace markdown parser markdown-it.
-
CLI
- Add path to config file (with
-c
). - Add multiple input locations (with
-i
). - Remove markdown config parameters, for custom configurations view MARKDOWN.md.
- Disable warning if packageJson.apidoc was defined.
- Add litcoffee and scala file extension.
- Add path to config file (with
-
Template
- Add
template.forceLanguage
inapidoc.json
to set a fixed language file without auto-detect the browser language. - Add word wrap for pure text examples.
- Add Brazilian, French, Polish and Russian translation files.
- Add
-
Parser
- Remove deprecated annotations (http://apidocjs.com/deprecated.html).
- Replace markdown parser with markdown-it.
- Add custom markdown parser support, view MARKDOWN.md for details.
- Add support for markdown in the type section. Example:
@apiParam {(CustomType)[http://...link-to-description.html]}
-
CLI
- Bugfix: Multiple bin parameters. 244
-
Template
- Update template vendor lib path-to-regexp.
- Bugfix: Example overlaps navigation. 240
-
Parser
- Update dependencies.
-
CLI
- Add some version information for verbose / debug output.
-
Parser
- Bugfix: Parse blocks with unknown parameters (before the block was skipped).
- Bugfix: show correct block index.
- Update dependencies.
- Parser
- Unindent strings in description fields. Mulitlines start with the same leading whitespaces. 173
-
CLI
- Add parameter
--parse-languages
for custom language regex.
- Add parameter
-
Parser
- Add Clojure parser for
.clj
files. - Extend parser to transfer own language regex.
- Update apidoc-core interface (replace arguments with setters).
- Add Clojure parser for
-
Template
- Add chinese and dutch translations files.
- Bugfix: Path to apidoc-core.
-
Split apidoc code
-
apidoc is now only the CLI-Tool with UI-Template and file creation (as you know it). You can use apidoc without change anything.
-
apidoc-core (for developers) is the parser and response the api-data.
-
apidoc-example (for developers) are the test files for the apidoc-spec.
-
-
CLI
- Replace optimist (not maintained anymore) with nomnom:
true / false parameters can now be used, e.g. enable markdown (default)
--markdown
or disable--no-markdown
. - Add parameter
--markdown
. - Replace the custom Logger with winston.
- Replace optimist (not maintained anymore) with nomnom:
true / false parameters can now be used, e.g. enable markdown (default)
-
Parser
- Bugfix: Settings to enable / disable markdown (marked-gfm was previously used).
-
Template
- Add generator.url and generator.name to the footer generator information (for custom ui-generators).
- Move handlebars_helper.js to utils/
-
Common
- Remove grunt dependencies (test run with
npm run test
). - Change grunt-apidoc (0.10.0) to use always the latest version of apiDoc.
- Remove grunt dependencies (test run with
-
Parser
- Allow overwrite of packageInfo e.g. from grunt task (apidoc#177)
-
Bugfix: Extend parser regexp to allow inline comment-code (apidoc#180)
-
Bugfix: Slash only path in api triggered error (apidoc#159)
-
Bugfix: Scrollspy offset (apidoc#176)
-
Bugfix: Get package infos from package.json or apidoc.json (apidoc#169)
-
CLI
- Allow to include an external file which can set the markdown settings. (apidoc#166)
-
Template
-
Add custom order in apidoc.json Append apiName or apiGroup in the
order
list:"order": [ "MyGroupName", "MyParameterName", "MyOtherParameterName" ]
-
Speed up rendering of subtemplates (apidoc#164)
-
Bugfix: Special char doesn't show in @apiGroup. (apidoc#163)
-
- Bugfix: apiGroupDescription from apiDefine not working. (apidoc#156)
- Bugfix: remove deprecated message for apiPermission. (apidoc#154)
- Bugfix: Testclient did not send JSON format. (apidoc#152)
- Bugfix: Python regex doublequote. (apidoc#151)
- Bugfix: Issue with multiple apiSuccessExample blocks. (apidoc#150)
-
Parameter
-
Add as replacement for all (now) deprecated define and structure methods:
@apiDefine
@apiUse
-
Deprecated:
@apiDefineErrorStructure
@apiDefineHeaderStructure
@apiDefinePermission
@apiDefineStructure
@apiDefineSuccessStructure
apiErrorTitle
apiErrorStructure
apiHeaderStructure
apiHeaderTitle
apiParamTitle
apiStructure
apiSuccessTitle
apiSuccessStructure
-
Remove unneeded methods since success and error response can be grouped:
@apiInfo
@apiInfoExample
@apiInfoTitle
-
Add for consistent usage:
@apiHeaderExample
@apiParamExample
-
Change:
@apiPermission
, multiple permission usage in a block is allowed now. Permission names must be defined with @apiDefine.
-
Extend:
@apiParam
with size and allowed values.
-
-
CLI
- Show deprecated message. Show details with
--debug
or--verbose
. - Improved error output.
- Turn off verbose output by default.
- Add debug output.
- Show deprecated message. Show details with
-
Parser
- Ignore other doc-language @-parameters (enables jsdoc, phpdoc, ... again).
- Add apidoc specification version to project file.
- Correctly handle Erlang comments.
- Bugfix: Markdown error on Empty description.
- Revised worker preProcess / postProcess functions.
- Change parser export names.
-
Template
- Show size and allowed values in field description.
- Change template sample request to handle custom named groups.
- Update template vendor files (handlebars 2, requirejs)
- Added support for using path-to-regexp in sample request.
- Add
jQueryAjaxSetup
to apidoc.json for setup ajax requests (http://apidocjs.com/#configuration-template-settings). - Hide the ul for tabs if no content.
- Bugfix: Custom parsers not working. (apidoc#113)
- Add type for
@apiExample {type} Title
,@apiSuccessExample
,@apiErrorExample
. - Add type switch in template.
- Append filetype to fields at ajax reuqest testform.
- Bugfix: Same file handling with regexp under win32. (apidoc#109)
- Add rudimentary support for direct api calls (test requests) from within the doc.
- New configuration var sampleUrl for
apidoc.json
. - @apiSampleRequest
- New configuration var sampleUrl for
- Added ability to have forward slash (/) in parameter field names.
- Add parameter
--parse
for parse only the files and return the parsed data. - Allow perl comments between "=pod" and "=cut".
- Bugfix: Change RegExp for parameter values to handle all chars. (apidoc#97)
- Bugfix: Reserved parameter names. (apidoc#96)
- Bugfix: Multiple added url to api path after compared to other version. (apidoc#87)
- Bugfix: Docs do not generate without optional @api [title]. (apidoc#82)
- Bugfix: Escape example output in
apiExample
,apiErrorExample
,apiSuccessExample
. (apidoc#78)
- Changing font include to work on HTTPS.
- Some refactors and bugfixes.
- Enable markdown for all description fields.
- Add
apidoc.json
configuration file for primary configuration overpackage.json
. (http://apidocjs.com/#configuration) - Add template specific configuration settings. (http://apidocjs.com/#configuration-template-settings)
- Add support for Perl (Doxygen) comment-style.
- Add simple CSS3 preloader.
- Add css for printing.
- Bugfix: Template IE8 compatibility. (apidoc#69)
- Update node version to 0.10.x.
- Add optional custom browser title with
apidoc.title
inpackage.json
. - Add optional url endpoint with
apidoc.url
inpackage.json
. - Bugfix: Template scrollbug. (apidoc#64)
-
Add new Functions:
-
Remove package.json path
apidocFilename
. -
Change package.json path
apidoc
. -
Add
apidoc.header
/apidoc.footer
(with custom navigation titles). (http://apidocjs.com/#headerfooter) -
Remove template basic (easier to maintain), the default template will be re-designed in a future version too.
-
Update template libraries.
-
Add test cases.
- Preserve other files when copying template files to the destination output dir.
- Added a short-circuit check. (apidoc#41)
- Bugfix: Fix parsing of multiline string. (apidoc#34)
- Add support for CoffeeScript comment-style.
-
Add support for other comment-style. Now apiDoc supports:
- Erlang
- JavaScript (JavaDoc-Style: e.g. also useable in C#, Go, Dart, Java, PHP, TypeScript)
- Python
- Ruby
-
Add some programming language test cases.
-
Remove german code comments.
-
Upgrade all used node modules.
- Replace deprecated node-markdown with marked.
- Add cli parameter for marked
--marked-...
, watch all params with--help
. - Upgrade all used node modules.
- Bugfix: executable line delimiters. (again).
- Bugfix: Allow usage of structures and titles in the same block. (apidoc#21)
- Give some indication, in case file listing with fails. (apidoc#20)
- Allow multiple structure includes.
- Split and extend test-files.
- Bugfix: Fix parsing for empty lines and removing stars on data that spans over multiple lines. (apidoc#11)
- Remove http:// link to make https compliant. (apidoc#10)
- Extend Template with url-param "compare=1" to show the compare version on page view.
- Bugfix: Minor fix with double structure examples.
- Bugfix: Template not show @apiSuccessExample @apiErrorExample.
- Bugfix: executable line delimiters.
-
Extend
@apiParam
,@apiSuccess
,@apiError
with a grouping ability. Example@apiParam (group) varname
. view @apiParam -
Add new Functions:
-
Minor Template-Bugfixes.
- Allow whitespace in apiName and apiGroup.
- Bugfix: Filter for directories.
- Update Node Modules to newer versions.
- Add
-e
exclude option for Files / Directories, exampleapidoc -e node_modules/
.
- Bugfix: Check for a valid title in Template. (apidoc#7)
- Bugfix: Whitespace before comment block. (apidoc#2)
- Change templates, enable navigation scroll.
- Add @apiIgnore.
- Update grunt Modules.
- Bugfix: OSX executable.
- Official release.