Releases: Chisanan232/PyFake-API-Server
Releases · Chisanan232/PyFake-API-Server
v0.4.2 - Fix critical bugs and support new format properties 🍻
🎉 New feature
- Support Python 3.13 version. (PR#483)
- Add new value format properties:
static_value: New strategy for setting fixed value. (PR#489)format.static_value: The specific fixed value for the strategystatic_value, includes this property informat.variable. (PR#489, PR#490, PR#491)format.unique_element: Only for array type value which could generate unique elements in array type property, includes this property informat.variable. (PR#494)
- Support API request could accept multiple different value formats, i.e., ISO format or Unix timestamp of datetime value. (PR#488)
🔨 Breaking changes
- Deprecate Python 3.8 version support, will remove all code in next version. (PR#498)
🪲 Bug Fix
🙋♂️ For production
- 💣 Critical bugs:
- 🦠 Major bugs:
- The request checking process: (PR#493)
- Error messages are incorrect which would deeply mislead developers.
- The parameters data checking cannot work finely with array type parameters.
- It set incorrect customized value at format property with subcommand line
pull. (PR#487) - Generate incorrect data structure in API response. (PR#492)
- The request checking process: (PR#493)
- 🐛 Mirror bugs:
👨💻 For development
- The file path regular expression is incorrect at documentation CI workflow. (PR#499)
🍀 Improvement
- Clear the Pre-Commit configuration. (PR#481)
- Clear the CI workflow configurations. (PR#482)
- Let program could raise obvious error message if it misses some necessary values at initial process. (PR#486)
📑 Docs
- Update the content for new command line options. (PR#487)
v0.4.1 - Support run fake server in background 🍻
🎉 New feature
- Support running fake server process in background and redirect the access log to the specific log file.
--daemon: daemonize the fake server process.--access-log-file: redirect the fake server access log to the specific file.
🪲 Bug Fix
- Fix the issue about it cannot get the correct versioning info in documentation.
📑 Docs
- Update the content for new command line options.
🤖 Upgrade dependencies
- Upgrade pre-commit dependencies.
v0.4.0 - A makeover of PyFake-API-Server 🧬 🍻
🎉 New feature
- Support new properties for customizing the values in request or response.
format: setting the format of value how it should be in request or return in response.variables: for reusable usage in formatting value.size: setting the value size. If it'sstrtype, this is the length limitation; if it'sintor other numeric type value, this is the value limitation.digit: setting the decimal policy.
- Support setting the format properties in template section.
- Re-fine the command line interface to be more friendly and more readable in usage.
🪲 Bug Fix
- Fix broken tests in some specific Python versions.
- Fix the broken CI workflow about auto-merge the upgrade dependencies PRs which has been approved.
♻️ Refactor
- Re-fine the pure data into data models in data processing of handling API documentation.
- Adjust the modules structure about core logic of API server processing with classifying by API server type.
- Refactor the modules structure of command line options, processors and components.
- Refactor the enum objects into the module or sub-package which are deeply relative with their meaning.
- Extract the file operation logic into new sub-package in _util.
🍀 Improvement
- Rename the Python package and project again as PyFake-API-Server to avoid similar project naming issue in PyPI
- Improve the CD workflows which would only br triggered by updating version info.
- Let the error message to be more clear and readable for incorrect usage.
- Let the version info to be more readable and detail.
📑 Docs
- Update the content for all changes.
- Import the versioning feature into documentation.
🤖 Upgrade dependencies
- Upgrade the Python dependencies.
- Upgrade pre-commit dependencies.
- Upgrade the CI reusable workflows.
- Upgrade SonarQube and update its configuration
- Update the usage because upgrading the artifact actions
🚮Deprecate
- Deprecate and remove version 0.3.0 because it has multiple issue, and it cannot upload same version file to PyPI. 😭
v0.3.0 - A makeover of `PyMock-Server` 🧬 🍻
🎉 New feature
- Support new properties for customizing the values in request or response.
Format: setting the format of value how it should be in request or return in response.Variable: for reusable usage in formatting value.size: setting the value size. If it'sstrtype, this is the length limitation; if it'sintor other numeric type value, this is the value limitation.digit: setting the decimal policy.
- Support setting the format properties in template section.
- Re-fine the command line interface to be more friendly and more readable in usage.
🪲 Bug Fix
- Fix broken tests in some specific Python versions.
- Fix the broken CI workflow about auto-merge the upgrade dependencies PRs which has been approved.
♻️ Refactor
- Re-fine the pure data into data models in data processing of handling API documentation.
- Adjust the modules structure about core logic of API server processing with classifying by API server type.
- Refactor the modules structure of command line options, processors and components.
- Refactor the enum objects into the module or sub-package which are deeply relative with their meaning.
- Extract the file operation logic into new sub-package in _util.
🍀 Improvement
- Improve the CD workflows which would only br triggered by updating version info.
- Let the error message to be more clear and readable for incorrect usage.
- Let the version info to be more readable and detail.
📑 Docs
- Update the content for all changes.
- Import the versioning feature into documentation.
🤖 Upgrade dependencies
- Upgrade the Python dependencies.
- Upgrade pre-commit dependencies.
- Upgrade the CI reusable workflows.
v0.2.0 - Support parsing version 2 and version 3 OpenAPI documentation <0001f9f9>🍻
🎉🎊🍾 New feature
- Support parsing version2 (aka Swagger) and version3 OpenAPI document configuration.
- Support nested data structure about collection data types, i.e.,
listordict, in response. - Add new command line argument
--source-filein sub-command linepullfor being more convenience to pull configuration for PyMock-API. - Let sub-command line
addsupport dividing feature.
🛠🐛💣 Bug Fix
- Fix some issues.
- It cannot parse finely at the empty body of one specific column in response.
- Fix broken tests.
- Fix incorrect serializing logic if request parameter or body is empty.
- Fix incorrect checking logic at configuration validation in sub-command line
check. - Fix the issue about it cannot work finely with argument
--base-file-pathin sub-command linepull.
🤖⚙️🔧 Improvement
- Upgrade the dependencies.
- Upgrade the reusable workflows in CI workflow.
- Extract the logic about initialing test data for testing as modules.
📝📑📗Docs
- Update the content for new feature.
v0.1.0 - Newborn Python tool: **_PyMock-API_** <0001f9f9>🍻
🎉🎊🍾 New feature
-
Provide command line interface
mock-apifor mocking HTTP server.usage: mock-api [SUBCOMMAND] [OPTIONS] A Python tool for mocking APIs by set up an application easily. PyMock-API bases on Python web framework to set up application, i.e., you could select using *flask* to set up application to mock APIs. options: -h, --help show this help message and exit -v, --version The version info of PyMock-API. Subcommands: {run,sample,add,check,get,pull} run Set up APIs with configuration and run a web application to mock them. sample Quickly display or generate a sample configuration helps to use this tool. add Something processing about configuration, i.e., generate a sample configuration or validate configuration content. check Check the validity of *PyMock-API* configuration. get Do some comprehensive inspection for configuration. pull Pull the API details from one specific source, e.g., Swagger API documentation.
-
Provide documentation for details of the project.