Mockoon is the easiest and quickest way to run mock APIs locally. No remote deployment, no account required, open source.
OTHER License
Bot releases are hidden (Show)
Published by 255kb about 2 years ago
View the full changelog.
Published by 255kb about 2 years ago
View the full changelog.
Published by 255kb over 2 years ago
Welcome to this new release of Mockoon. There are several bug fixes and new features in this version that we hope you will like.
We also started working on the GraphQL mocking. As we want to deliver the right feature, we would be glad to gather more feedback on what you expect. Feel free to reach us on our Discord server, or comment on the issue.
Mockoon is an open-source project built by volunteer maintainers. If you like our application, please consider sponsoring us and join all the Sponsors and Backers who helped this project over time!
[BREAKING CHANGE] We removed the support for Node.js 12 as it is not maintained anymore. (Issue #702)
After temporarily disabling the new environment files watcher in v1.18.1 due to an issue, we reworked this feature from the ground up.
It must now be manually activated in the settings and offers more choices:
You can now activate the file watcher and reload the environments after validating a confirmation prompt, or automatically.
Issue #649.
Defining the default response is now easier. Before this change, the default response was always the first one. Now, the blue flag indicates the default response and you can change it by clicking on the grey flags:
Issue #252.
We added new templating helpers: lowercase
, uppercase
, and base64Decode
. (Issues #655 and #625)
We also updated Faker.js to version 6. It offers some new helpers and locales. (Issue #716)
A new context menu entry is available to copy the full API endpoint path:
Issue #633.
Following the introduction of a custom privacy-friendly telemetry system last year, we removed Google Analytics from the desktop application. (Issue #713)
setVar
helper is now correctly working inside block helpers. (Issue #706)faker
helper now returns the correct value and not only strings. It makes this helper compatible with other helpers that requires numbers, arrays or booleans to work (e.g. int
, if
, each
, etc.). (Issue #699)We moved the project to a monorepo to accelerate the development and reduce the amount of manipulation we have to do when working on features. (Issue #640)
We also updated the CI workflows to always test the packaged desktop application when opening PRs. It will greatly reduce the amount of testing needed during a release.
We updated the OpenAPI documentation to explain the discrepancies between the specification and Mockoon's features.
A big thank you to the following people that helped to make Mockoon better:
Published by 255kb over 2 years ago
Welcome to this new release of Mockoon. There are several bug fixes and new features in this version that we hope you will like.
Mockoon is an open-source project built by volunteer maintainers. If you like our application, please consider sponsoring us and join all the Sponsors and Backers who helped this project over time!
We temporarily disabled v1.18.0's automated file changes monitoring (see below) due do some unforeseen bugs (Issue #649). We will investigate and fix the issue in the next release.
Mockoon now monitors for environment's files external changes and automatically reloads the interface with the new data. It's completely automated and will restart the running server if needed. (Issue #580)
We removed the options to import/export your mock data in Mockoon's proprietary format. Since v1.16.0, importing and exporting in Mockoon's format was made mostly useless. Environment files are now easier to share "as-is" and they are supported out of the box by the CLI. Also, user feedback indicated that keeping this export option was rather confusing.
Here are the consequences of this removal:
The application and the CLI are still able to open old export files, but you won't be able to create them anymore.
(Issue #626)
To help you mock third party APIs in no time, we added more than 2000 new mock samples: 1Password, AWS, Giphy Mastercard, Slack, etc.
You can run them directly in the application or the CLI:
➡️Head over to our website to discover all the Mock Samples!
Many thanks to the awesome folks at APIs.guru who maintains this list of public APIs!
dateTimeShift
helper's days
, months
, years
, etc. parameters are now compatible with helpers returning strings (queryParam
, etc.). (Issue mockoon/commons-server#39)bodyRaw
without a path is now compatible with other helpers like each
and allows to retrieve root level arrays. (Issue mockoon/commons-server#41)body
and bodyRaw
paths, like in {{#repeat 2}}{{body @index}}{{/repeat}}
, now works and returns the correct values. (Issue mockoon/commons-server#42)A big thank you to the following people that helped to make Mockoon better:
Published by 255kb over 2 years ago
Welcome to this new release of Mockoon. There are several bug fixes and new features in this version that we hope you will like.
Mockoon is an open-source project built by volunteer maintainers. If you like our application, please consider sponsoring us and join all the Sponsors and Backers who helped this project over time!
Mockoon now monitors for environment's files external changes and automatically reloads the interface with the new data. It's completely automated and will restart the running server if needed. (Issue #580)
We removed the options to import/export your mock data in Mockoon's proprietary format. Since v1.16.0, importing and exporting in Mockoon's format was made mostly useless. Environment files are now easier to share "as-is" and they are supported out of the box by the CLI. Also, user feedback indicated that keeping this export option was rather confusing.
Here are the consequences of this removal:
The application and the CLI are still able to open old export files, but you won't be able to create them anymore.
(Issue #626)
To help you mock third party APIs in no time, we added more than 2000 new mock samples: 1Password, AWS, Giphy Mastercard, Slack, etc.
You can run them directly in the application or the CLI:
➡️Head over to our website to discover all the Mock Samples!
Many thanks to the awesome folks at APIs.guru who maintains this list of public APIs!
dateTimeShift
helper's days
, months
, years
, etc. parameters are now compatible with helpers returning strings (queryParam
, etc.). (Issue mockoon/commons-server#39)bodyRaw
without a path is now compatible with other helpers like each
and allows to retrieve root level arrays. (Issue mockoon/commons-server#41)body
and bodyRaw
paths, like in {{#repeat 2}}{{body @index}}{{/repeat}}
, now works and returns the correct values. (Issue mockoon/commons-server#42)A big thank you to the following people that helped to make Mockoon better:
Published by 255kb almost 3 years ago
Welcome to this new release of Mockoon. There are several bug fixes and new features in this version that we hope you will like.
To improve some features' discoverability and declutter the interface a bit, we redesigned the main header. We also polished the interface a bit here and there.
Here are the most significant changes:
(Issue #509)
We transformed the main header into a new menu with tabs to make the proxy mode and logs more easily discoverable. We also split the environment settings into three new sections: the environment headers, the proxy options, and the environment settings.
The environment's information previously available in the header are now in the "Settings" tab.
You can edit the environment's name in both the "Settings" page and the environment menu (see below).
We made small adjustments to the environment menu:
You can edit the environment's name directly in the menu.
We removed the "CORS" icon as the option is always enabled and moved the "HTTPS" icon next to the URL.
The "Truncate long paths" option in the application settings (ctrl+comma
) also applies now to the environment menu. If enabled, environment URLs won't be truncated anymore.
Headers and rules lists now uses a click-to-confirm delete button:
The route responses menu is now split into two lines as it was becoming too cluttered.
We reorganized the "Status & body" tab. More precisely, we removed the redundant Content-Type information and replaced it with a small "footer" under the body editor. This footer will always display the effective Content-Type taking the order of precedence into account:
environment headers → file mime type → route headers
You can now provide a custom TLS certificate to serve your mocks over HTTPS. Mockoon still uses the same self-signed certificate as before if you don't provide a custom one.
(Issue #175)
A new response rule is available to check a cookie's value or presence:
(Issue #475)
join
, len
, gt
, lt
, gte
, lte
, eq
, toFixed
, round
, stringify
, slice
. Head over to the helpers documentation to learn how to use them. (Issues mockoon/commons-server#29, mockoon/commons-server#31, mockoon/commons-server#32)setVar
helper which could not handle Object
, 0
or Arrays
. (Issue mockoon/commons-server#33)switch/case
helpers which wouldn't work properly with number. (Issue mockoon/commons-server#37)A big thank you to the following people that helped to make Mockoon better:
Published by 255kb about 3 years ago
Welcome to this new release of Mockoon. There are several bug fixes and new features in this version that we hope you will like.
The main feature of this release is the new storage system that allows for more flexibility and easier API sharing.
The new system works more or less like any other file editor. It stores environments separately and lets you close and open them from anywhere on your hard drive.
So, what exactly happened during this update? Mockoon split Your existing data file located in the application data folder into as many files as you had environments. These files were created in the same storage
folder with incremental names: environment-0.json
, environment-1.json
, etc.
You can now move these files anywhere on your hard drive and open them from there.
Multiple benefits from this change:
You can find out more about this feature in our blog post.
Mockoon will now try to resolve your body files relatively to the environment's file location. It allows you to store body files alongside the environment file and share them with your coworkers without having relative or absolute path issues.
(Issue #531)
Following the new storage change, we added several new buttons and options to allow you to manage your environment files.
You can create a new environment or open an existing one using the two buttons at the top of the environment menu:
You can now close one environment using the context menu:
There is a new context menu entry you can use to locate the environment file on your computer:
Most of the actions tied to the environments also changed. You will now get prompted to choose a folder location for your new environment every time you create, duplicate, or import.
We added more API samples to help you start working in no time. You can find them on our website.
Starting with this version (1.16.0), you can load them directly in Mockoon by clicking on the "Open" buttons on the page.
(issue #551)
We reverted last year's change that made the environments' menu collapsible. This menu was only showing the first two letters of the environment's name. We listened to your feedback, and we decided to revert this change and go back to a resizable menu. We tried to keep it as compact as possible, considering that most users have no more than one or two environments. Let us know what you think!
(Issue #386)
Response rules and body
templating helper now support XML in entering requests. See the documentation for more information.
(Issue #208)
Two new rules operators, "null" and "empty array", were added to allow you to check against null values and empty arrays in bodies, query params, etc.
(Issue #255)
We added some keyboard shortcuts to the route filtering: Cmd or Ctrl + Shift + F
to focus, Esc
to clear the field. (Issue #451)
A big thank you to the following people that helped to make Mockoon better:
Welcome to this new release of Mockoon. There are several bug fixes and new features in this version that we hope you will like.
Mockoon is now available as a portable version for Windows. You can download it from our website. When running the portable version, a data folder will automatically be created next to the executable. It contains Mockoon's application files and your settings and environments in ./mockoon-data/storage/environments|settings.json
(these files are usually stored in c:/Users/xxx/AppData/Roaming/mockoon/storage
for the non-portable application):
You can now set up your mocks to listen to localhost only instead of all network adapters (0.0.0.0). This feature is also supported by the CLI's latest release to a greater extent as you can provide any hostname at runtime mockoon-cli ... --hostname 192.168.x.x
. (Issue #469)
Compressed bodies (gzip, brotli and deflate) from proxied APIs are now automatically decompressed to be able to read the body content in the logs. (Issue #479)
Rules can now be reordered with a simple drag and drop. Check our documentation about rules order interpretation. (Issue #456)
We added some new math helpers: add
, subtract
, multiply
, divide
, modulo
, ceil
, floor
. See the documentation for more information on how to use them. (Issue #499)
Two new helpers, bodyRaw
and queryParamRaw
, are available. They allow you to fetch part of the entering body or query parameters "as-is" (nothing will be stringified) and use the result (arrays, objects, etc.) in Handlebars' {{#each}}
or {{#if}}
helpers. See the documentation for more information. The body
and queryParam
helpers remain untouched. (Issue mockoon/commons-server#18)
A new split
helper allows you to split string and use the resulting array in Handlebars' {{#each}}
helpers. See the documentation for more information. (Issue mockoon/commons-server#22)
A new route response option has been added to automatically send a 404 status when a file was not found. It also reverts to the body present in the editor. (Issue #473)
You can now tune the number of logs entries in the settings. (Issue #267)
We added a new and privacy friendly way to collect basic usage information (a.k.a. "telemetry"). This will collect a minimal amount of information anonymously. You can read more about this topic in our FAQ. We plan to remove Google Analytics completely in a near future. (Issue #518)
The header
helper does not return an error message anymore when no name is provided. (Issue mockoon/commons-server#14)
The dateTimeShift
helper is now compatible with other helpers like queryParam
for the date parameter: {{dateTimeShift date=(queryParam 'date') ...}}
. (Issue mockoon/commons-server#15)
When duplicating a route to an unnamed environment, the hostname, port, and prefix has been added to the modal dialog. (Issue #532)
A big thank you to the following people that helped to make Mockoon better:
This patch addresses the following issue:
Set-Cookie
header. (Issue #480)Welcome to this new release of Mockoon. There are several bug fixes and new features in this version that we hope you will like. But first some news:
With this release, we decided to take the CLI out of beta 🎉. There is still space for improvements, but it looks stable enough. One breaking change though: Node.js v10 is not supported anymore.
More users are joining Mockoon's community every day, spreading the word, contributing to the codebase, and giving us invaluable feedback. We are grateful for this. ❤ While we dedicate more and more time to this project, we are looking for sponsors to help us pursue this great endeavor.
We are interested to learn about specific use cases you or your company encountered. It could even become an article, like Impala's API UX research process we recently published. Contact us!
And now the changelog:
We added some missing status codes to the dropdown, but more importantly, you can now enter custom status codes. Even very invalid ones like 999
.
A new option is now available to serve different responses sequentially.
In the below example, Mockoon will answer with 200 → 404 → 500 → 200 → 404...
and so on. The sequence gets reset after restarting the server.
Head over to the sequential responses documentation to learn more about this feature.
A new type of rule, "Request number", is now available. It allows you to serve a specific response depending on the index (number) of the entering requests. As for the sequential responses feature, it gets reset when restarting the server.
This example returns a 500 error only for the first call:
While this one returns a 500 error for the first 9 calls:
Head over to the response rules documentation to learn more about this feature.
A new baseUrl
helper has been added which returns the request's base URL (without the route path): {protocol}://{hostname}:{port}/{prefix}
. (Issue mockoon/commons-server#7)
A new option has been added to prevent forwarding of the API prefix when the proxy mode is enabled. (Issue #237)
To improve the application stability, only one instance can run at a single time. Running a second instance of the application will focus the running instance if any. (Issue #455)
Multiple headers with the same name are now supported everywhere (route headers, environment headers, proxy request/response headers). This may be a non-standard way of sending the headers (vs comma-separated values) but a common one, especially for the Set-Cookie
header. (Issue #318)
We added more suggestions to the header names and values dropdowns to help you mock faster!
Thanks to work on issue #199, we improved the look and feel of the HTTP methods dropdown with improved hype (and more accessible) pastel colors.
"Port is invalid" message has been updated to "Port is invalid or access is denied" to give more hints about the potentially reserved ports on Windows. (Issue #463)
AND
operator does not interrupt the rules evaluation and does not serve the wrong response anymore. (Issue mockoon/commons-server#6)A big thank you to the following people that helped to make Mockoon better:
baseUrl
helper. (Issue mockoon/commons-server#7)Welcome to this new release of Mockoon. There are several bug fixes and new features in this version that we hope you will like. But first some news:
With this release, we decided to take the CLI out of beta 🎉. There is still space for improvements, but it looks stable enough. One breaking change though: Node.js v10 is not supported anymore.
More users are joining Mockoon's community every day, spreading the word, contributing to the codebase, and giving us invaluable feedback. We are grateful for this. ❤ While we dedicate more and more time to this project, we are looking for sponsors to help us pursue this great endeavor.
We are interested to learn about specific use cases you or your company encountered. It could even become an article, like Impala's API UX research process we recently published. Contact us!
And now the changelog:
We added some missing status codes to the dropdown, but more importantly, you can now enter custom status codes. Even very invalid ones like 999
.
A new option is now available to serve different responses sequentially.
In the below example, Mockoon will answer with 200 → 404 → 500 → 200 → 404...
and so on. The sequence gets reset after restarting the server.
Head over to the sequential responses documentation to learn more about this feature.
A new type of rule, "Request number", is now available. It allows you to serve a specific response depending on the index (number) of the entering requests. As for the sequential responses feature, it gets reset when restarting the server.
This example returns a 500 error only for the first call:
While this one returns a 500 error for the first 9 calls:
Head over to the response rules documentation to learn more about this feature.
A new baseUrl
helper has been added which returns the request's base URL (without the route path): {protocol}://{hostname}:{port}/{prefix}
. (Issue mockoon/commons-server#7)
A new option has been added to prevent forwarding of the API prefix when the proxy mode is enabled. (Issue #237)
To improve the application stability, only one instance can run at a single time. Running a second instance of the application will focus the running instance if any. (Issue #455)
Multiple headers with the same name are now supported everywhere (route headers, environment headers, proxy request/response headers). This may be a non-standard way of sending the headers (vs comma-separated values) but a common one, especially for the Set-Cookie
header. (Issue #318)
We added more suggestions to the header names and values dropdowns to help you mock faster!
Thanks to work on issue #199, we improved the look and feel of the HTTP methods dropdown with improved hype (and more accessible) pastel colors.
"Port is invalid" message has been updated to "Port is invalid or access is denied" to give more hints about the potentially reserved ports on Windows. (Issue #463)
AND
operator does not interrupt the rules evaluation and does not serve the wrong response anymore. (Issue mockoon/commons-server#6)A big thank you to the following people that helped to make Mockoon better:
baseUrl
helper. (Issue mockoon/commons-server#7)Welcome to this new release of Mockoon. There are several bug fixes and new features in this version that we hope you will like. But first some news:
Routes can now be filtered by path and documentation (Issue #257):
Three new string manipulation helpers are now available: indexOf
, includes
, substr
. See documentation for more information. (Issue #413)
setVar
helper not working in block helpers like repeat
. (Issue #429)body
helper to returns the stringified value even if it's a primitive. (Issue #397)queryParam
helper to returns the stringified value. (Issue #418)remote
module in Electron's renderer process. These best practices have been pushed and enabled by default by Electron's team in the most recent versions. We took it on ourselves to try to follow them all and rewrote part of the application architecture. Aside from the improved security and prevention of future vulnerabilities like XSS and RCE, we also saw slightly better performances overall. (Issue #349)max-http-header-size
which was limited to 8kb is now limited to 16kb thanks to an update to Node.js v14. (Issue #442)A big thank you to the following people that helped to make Mockoon better:
stringify
parameter for body
and queryParam
helpers. (Issue #397, Issue #418)Welcome to this new release of Mockoon. There are several bug fixes and new features in this version that we hope you will like. But first some news:
And now the changelog:
Three new helpers are available:
concat
to create string from multiple strings and variables. (Issue #391)
{{ concat 'value1' 2 'value3' ... }}
setVar
to create string values to be reused elsewhere in the template. (Issue mockoon/commons#8).
{{ setVar 'varname' 'value' }} {{ varname }}
dateTimeShift
to shift a date from x days, months, etc. (Issue #355)
{{ dateTimeShift date='2021-01-01' format='yyyy-MM-dd' years=1 months=1 days=1 hours=1 minutes=1 seconds=1 }}
Please check the documentation for more information on how to use these helpers.
Body response rules can now be used to match against the entire raw body. To use this feature, just keep the modifier
empty. (Issue #271)
You can now duplicate routes from one environment to another. (Issue #308)
default
responses are now considered as 200 and will get a body example from the available schema. (Issue #378)Content-type
that contains a charset application/json; charset=utf-8
. (Issue #379)servers
property. (Issue #415)null
values. (Issue mockoon/commons#16)A big thank you to the following people that helped to make Mockoon better:
Published by 255kb almost 4 years ago
Welcome to this new release of Mockoon. There are several bug fixes and new features in this version that we hope you will like. But first some news:
And now the changelog:
objectId
helper. See the templating documentation for more information. (Issue #342)Action
-> Start/stop/reload all environments
). (Issue #90)commons
library and the future CLI. (Issue #360)A big thank you to the following people that helped to make Mockoon better:
objectId
helper. (Issue #342)newline
and base64
helpers. (Issue #333)Published by 255kb about 4 years ago
Welcome to this new release of Mockoon. There are several bug fixes and new features in this version that we hope you will like:
newline
, which inserts the newline character "\n", and base64
inline or block helper to encode all your stuffs. For more information, please refer to the official documentation. (Issue #331)queryParam
, body
, etc) couldn't be used as switch
helper value. (Issue #325)host
property is missing. (Issue #326)C:\Users\username\Desktop\{{ urlParam 'id' }}.json
. (Issue #323)A big thank you to the following people that helped to make Mockoon better:
newline
and base64
helpers. (Issue #331)Published by 255kb about 4 years ago
Welcome to this new version we hope you will like. It brings some new features and many new improvements to the templating system and error reporting. The application also has a new documentation section on the official website, which replaces the old tutorials section.
{{firstName}}
, {{date}}
, etc) that could be used in the body have been replaced by Faker.js. This brings a lot more helpers together with many locales that can be selected in the settings. All the old helpers remain compatible and are automatically linked to their Faker.js equivalent. Faker.js helpers use the following syntax: {{faker 'company.companyName'}}
, {{faker 'name.firstName'}}
, etc (Issue #293)body
helper:
body
helper used with no parameter: {{body}}
. This is compatible with any Content-Type. (Issue #276)x-www-url-encoded
bodies. Objects and arrays are now supported. (Issue #290)queryParam
helper: as for the body
helper, the queryParam
helper can now retrieve paths, arrays, objects, or the full query params object. (Issue #265 )For more information about the templating system, please refer to the official documentation.
Application errors feedback has been greatly improved especially for JSON content (Issue #253):
Route's Content-Type
> File's mime type
> Environment's Content-Type
. (Issue #295){{boolean}}
). (Issue #285)A big thank you to the following people that helped to make Mockoon better:
Published by 255kb over 4 years ago
Mockoon is now compatible with Swagger/OpenAPI formats both for import and export. This release also packs lots of improvements and some new features:
Features:
Improvements:
Etag
header has been removed to avoid browser caching #244x-powered-by
header has been removedlogs
folder #262Bugfixes:
Set-Cookie
header was involved #229Code enhancements/developer experience:
Published by 255kb almost 5 years ago
During this iteration, the import/export system has been revamped. Exports are now independent of Mockoon's version and migrations are played after an import on each environment independently. Which will make data exports easier to share. As before, a single route exported with the "copy to clipboard" feature cannot be imported on a different version.
Features:
Improvements:
Bugfixes:
Development:
Published by 255kb almost 5 years ago
Special thanks to @gabrielperes97 who worked on most of these great additions 🎉
Mockoon is now available on Arch Linux repository thanks to @Spissable 👍
Install it with yay -S mockoon-bin
(or any other AUR helper).
Features:
Improvements:
Bugfixes:
Development:
Published by 255kb about 5 years ago
Bugfixes:
Published by 255kb about 5 years ago
Mockoon is now available to download through Snap store, together with deb and rpm formats!
Features:
deb
and rpm
formats alongside AppImage
. Mockoon is also available on Snap Store. #168Improvements:
Bugfixes:
Misc:
Development: