All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Allow variables to be used globally across endpoints #265
- Replace unsafe
eval()with RestrictedPython to prevent arbitrary code execution in API spec evaluation. #798
2.12.0 - 2025-07-02
- Bumped
httpxto^0.27.0, which brings inhttpcore >=1.0.0andh11 >=0.15.0. #755
- Updated
h11to0.16.0(viahttpxupgrade) to address CVE-2025-XXXX: fixed lenient parsing of chunked encoding that could allow request smuggling. #755
2.11.0 - 2025-06-19
- Replace
pkg_resources(deprecated) withimportlib.metadataas the method to retrieve package version. This change removes the dependency onsetuptoolsat runtime. #723 - Update GitHub Actions to use commit hashes instead of tags to improve security and reliability. #723
- BREAKING CHANGE: Drop support for Python 3.9, which has reached its end of life. #723
2.10.2 - 2024-11-10
- Gitlint dev dependency 685
2.10.1 - 2024-11-10
- Upgrade Click dependency 681
2.10.0 - 2024-11-10
- BREAKING CHANGE: Drops support for Python 3.7 and Python 3.8 since their EOL were reached out already 678
2.9.0 - 2023-03-16
- Enable the use of different content types #521
- python -m scanapi command #501
2.8.2 - 2023-03-06
- Content field not rendered properly on Chrome #551
2.8.1 - 2023-03-02
- Custom variable evaluated when defined on the path #508
- Add missing
--insecureflag to cURL command on report based on request options #555
2.8.0 - 2022-08-11
- Implement new key
optionsto request and endpoint nodes #529
2.7.0 - 2022-06-02
- BREAKING CHANGE: Drops support for Python 3.6 since its EOL was reached out in December last year 549
2.6.2 - 2022-06-01
- Print test results summary in console #497
- Error when using list (or any other) comprehension in Python Code #515
2.6.1 - 2022-04-12
- Implement new details to help users on visualize related request data. #506
- Fix the
--browserflag not working on macOS #504 - Error on running ScanAPI.
ImportError: cannot import name 'soft_unicode' from 'markupsafe'#534
2.6.0 - 2021-08-13
- Summary tests location to the top of the report #479
- Add the flag
--browseror-bfor short [#465]
- Header table gets broken. #432
2.5.0 - 2021-07-23
2.4.0 - 2021-06-11
- Request name to report. #390
- Show on report the scanapi version used to generate it. #386
- Link icon to copy anchor URL. #398
- Error making request when request has no body and there is a
report::hide_request::bodyconfiguration. #393
2.3.0 - 2021-05-25
--versioncommand to return current scanapi version. #372
- hide_response body. #375
2.2.0 - 2021-04-22
- Hide sensitive information in the URL Query Params #304
- Anchor link for each request in the report to make it easily shareable. #317
- Support to HTTP methods HEAD and OPTIONS #350
- The
retrykey under requests to setup retry for requests. #298
2.1.0 - 2020-10-06
- Add a
delaykey option to perform a delay between each request. #266
- Changed relative path to show absolute path to the report in CLI. #277
- Considering
-(dash) in variable names. #281 - Moved bandit to dev section #285
- Increased Test coverage for
/scanapi/evaluators/spec_evaluator.py#291
- When there is no
bodyspecified, sending it asNoneinstead of{}. #280 - Removed unused imports. #294
2.0.0 - 2020-08-25
- JSON response is now properly rendered, instead of plain text. #213
- The report page now has a favicon. #223
- Bandit security audit tool. #219
- Add Sphinx auto-documentation. #230
- Add workflow to package/publish to Test PyPi. #239
- Add Github Action workflow for First-time contributors. #290
- Add button to copy data from the report page. #295
- BREAKING CHANGE: Renamed
api.(yaml|json)toscanapi.yaml. #222 - BREAKING CHANGE: Remove top-level
apikey inscanapi.yaml. #231 - BREAKING CHANGE: Renamed
project-name,hide-requestandhide-responseto use underscore. #228 - BREAKING CHANGE: Changed command
scanapi spec-file.yamltoscanapi run spec-file.yaml. #247 - Moved Documentation from README.md to the website. #250
- Local and global configuration. #254
- Moved
bandittodevinpyproject.toml. #286
- Updated language use in README.md and CONTRIBUTING.md plus fix broken links. #220
- Removed unused sys import in scan.py and cleaned for PEP8 and spelling errors. #217
- Hide body sensitive information. #238
- Fix css issues with html template. #256
- Fix when vars is declared and used in the same request.#257
- Fix when evaluated value is not string. #257
- APIKeyMissingError. #218
1.0.5 - 2020-07-18
- Status icons on report were not vertically centered. #195
1.0.4 - 2020-06-25
1.0.3 - 2020-06-25
- MANIFEST.in.
1.0.2 - 2020-06-25
- Fix for TemplateNotFound Error. #197
1.0.1 - 2020-06-25
- Report example images not loading on PyPI. #193
1.0.0 - 2020-06-25
- Add new HTML template. #157
- Tests key. #152
-halias for--helpoption. #172- Test results to report. #177
- Add test errors to the report. #187
- Hides sensitive info in URL. #185
- CLI options explanation. #189
- Unified keys validation in a single method. #151
- Default template to html. #173
- Project name color on html reporter to match ScanAPI brand #172
- Hero banner on README. #180
- Entry point to
scanapi:main. #172 --spec-pathoption to argument. #172- Improve test results on report. #186
- Improve Error Message for Invalid Python code error. #187
- Handle properly exit errors. #187
- Update README.md. #191
0.1.0 - 2020-05-14
- Automated pypi deploy. #144
0.0.19 - 2020-05-11
- PATCH HTTP method. #113
- Ability to have API spec in multiples files. #125
- CLI
--config-pathoption. #128 - CLI
--template-pathoption. #126 - GitHub Action checking for missing changelog entry. #134
- Make markdown report a bit better. #96
base_urlkeyword topath. #116namespacekeyword toname. #116methodkeyword is not mandatory anymore for requests. Default isget. #116- Replaced
hidekey on report config byhide-requestandhide-response. #116 - Moved black check from CircleCI to github actions. #136
- Cases where custom var has upper case letters. #99
- Request with no endpoints. #116
0.0.18 - 2020-01-02
- Return params/headers None when request doesn't have params/headers. #87
- Report-example image not loading on PyPi. #86
0.0.17 - 2019-12-19
- Added PyPI Test section to CONTRIBUTING.md.
- Templates on pypi package. #85
0.0.16 - 2019-12-18
- Fixed No module named 'scanapi.tree'. #83
0.0.15 - 2019-12-14
- CodeCov Setup.
- CircleCI Setup.
- Updated Documentation.
- Increased coverage.
- Used dot notation to access responses inside api spec.
- Renamed option report_path to output_path.
- Reporter option -r, --reporter [console|markdown|html].
- Fixed join of urls to keep the last slash.
- Removed requirements files and put every dependency under setup.py.
- Removed dcvars key.
0.0.14 - 2019-10-09
- Add math, time, uuid and random libs to be used on api spec.
0.0.13 - 2019-10-07
- Bumped version.
0.0.12 - 2019-08-15
- Used env variables from os.
0.0.11 - 2019-08-09
- Added Docker file.
0.0.10 - 2019-08-09
- Add logging.
- Option to hide headers fields.
- Fix vars interpolation.