Releases: dukeofharen/httplaceholder
Releases · dukeofharen/httplaceholder
v2024.12.27.10
- Disallow reverse proxy response writer by default (#385).
BREAKING CHANGES
- As mentioned, the reverse proxy response writer is disabled by default. To enable it, pass the flag
enableReverseProxy
,dev
or provide a allow / block list of allowed / blocked domains / IP addresses.
v2024.9.7.8
- Did a complete code cleanup and refactoring in the .NET project (https://github.com/dukeofharen/httplaceholder/pull/346/files).
- Added option to allow JSON value replacing using JSONPath in the response body (#347).
- Replaced the ImageSharp library with Magick.NET due to licensing (#348).
- Fixed bug where starting HttPlaceholder under Windows would cause the YML file watcher to crash (#381).
v2024.2.24.160
- Upgraded application to .NET 8 (#338).
- Use file watches to check if the .yml stub files are updated on disk (#339).
- When using YAML stubs; show the file location of the YAML stub in the user interface (#340).
- Whenever a YAML file is updated, the change should be reflected in the user interface using web sockets (#340).
- Fixed behavior in the frontend that, when uploading stubs through the upload button, the API is not DDOSed (which some stub sources like the SQLite stub source did not like) (#342).
- Several fixes in the handling of form data within HttPlaceholder (#343).
- Update form helpers so it is much easier to update a stub using the UI (#344).
BREAKING CHANGES
- If you installed HttPlaceholder as .NET tool, you need to have the .NET 8 SDK installed on your machine. If you download the compiled version of HttPlaceholder for your OS, you do not need to have .NET installed so you will notice no changes.
- In an ideal situation, you will not notice any difference. If your OS, however, does not have enough file watches or something else goes wrong so you can't use file watches, you can default to the "classic" situation where the .yml files are checked with every request. You need to provide the "--disableFileWatcher" option when starting HttPlaceholder.
v2023.11.25.145
- Fixed small oversight in dark mode in the UI (#326).
- Fixed bug in the caching of the index.html of the UI (#327).
- Show IPs when starting the application (#328).
- HttPlaceholder can now internally make use of "distribution keys". This makes it easier in the future to split stubs, requests, responses etc. in several compartments (#331).
- Replaced Postman examples with plain cURL examples in documentation, since Postman's scratchpad is being phased out (#332).
- Scenarios are now saved in the stub source, so the scenarios will survive a restart now (#333).
- Added Postgres stub storage (#334).
- Added functionality to export a request, both throught the API, the .NET client and the UI. It is possible to export the request as cURL request (so you can perform the request directly in your terminal) or as HTTP Archive (or HAR) (#337).
BREAKING CHANGES
- The logging of the Microsoft components is set to "warning and up" so the logging is a lot cleaner when running the application. If you also want to see this logging from info and down, enable verbose logging.
- If you, for some reason, expect the scenario's to be cleared when restarting the application; you now need to clear it yourself using the API. If you use the "in memory" source, of course, everything is cleared on application restart, so here nothing changed.
v2023.8.27.129
- Fixed bug where HttPlaceholder would insert an incorrect value in the response if the "scenario_state" or the "scenario_hitcount" were used (#318).
- Made several infrastructure changes to the code (#320).
- Added AuditBehavior which logs all the interactions between the web API and the application layer using MediatR (only in verbose logging mode) (#320).
- Added new
publicUrl
property which makes it possible to assign a root URL for both HttPlaceholder and the UI. Useful if you run HttPlaceholder behind a reverse proxy (#321). - Re-added
Ctrl+X
functionality to delete lines in the code editor in the UI (#323). - Fixed bug where UI was not packaged in the .NET tool (#324).
v2023.7.22.101
- Fixed bug where an exception was thrown when running a proxy and an HTTP was returned by the (#317).
v2023.7.7.99
- Fixed bug where some header values were not accepted by the .NET HttpClient when a reverse proxy was used. An example is the
User-Agent
valueWordPress/6.2.2; http://localhost:8010
(#314). - The self-signed certificate for HTTPS traffic has been replaced (#315).
- Fixed bug in mapping of request (#316).
BREAKING CHANGES
- If you, for some reason, depend on the SSL certificate, you might need to do an update on your side.
v2023.6.30.98
- Split form helper buttons into 4 separate buttons (#305).
- Updated the CodeMirror editor from 5 to 6 (#305).
- Added filter for variable handlers in the UI (#305).
- Only show "simple editor" button in UI if the stub is very large (#305).
- Build HttPlaceholder and all its dependencies in a Docker container (#305).
- Save binary request body as Base64 string (#306).
- Make it possible to download binary request body from the UI (#306).
- Render a posted image request body in the UI (#306).
- Render the response body in the UI the same way as the request body (#307).
- If a PDF is sent as request or returned as response, the PDF will be rendered in the UI (#307).
- Fixed requests bug: whenever the request parameters were not saved (may happen in some rare cases when HttPlaceholder is DDOS'ed), the API returned an HTTP 500 (#308).
- Added string / regex replacement response writer (#309).
- Added SignalR connection for stubs (#310).
- When generating a stub based on a request, also take the saved saved response (if there is one) into account (#311).
- When using the file response writer and no specific content type is set; determine the content type based on the file extension (#312).
- Show executing stub ID when hovering over a request in the UI (#312).
- Updated redirect response writer.
permanentRedirect
now returns HTTP 308 (HTTP 301) before andmovedPermanently
returns HTTP 301 (#312). - Small fix in UI: when copying the request / response body, copy either the raw or "rendered" body based on your selection. At first, only the raw contents were copied (#312).
- Added paging to requests endpoints and the UI for more responsive UI (#312).
BREAKING CHANGES
permanentRedirect
now returns HTTP 308 instead of HTTP 301. UsemovedPermanently
to return HTTP 301 instead.- The way requests are stored when using the file store is slightly changed. This means that when you update to this version, the requests in the API and UI are not returned in the right order. New requests are returned in the right order though.
v2023.4.25.130
- Upgraded to .NET 7 (#293).
- Added "show more" button to request body for when the request body is very long (#294).
- Added text file response writer (#295).
- Updated request body variable parser to also support regular expressions to insert part of request body in the response body (#296).
- An option was added to user the display URL variable parser with a regular expression, to parse only a part of the URL as part of your response (#297).
- Updated the HTTP method condition checker so it is now possible to provide multiple HTTP methods if needed (#298).
- Pressing "Cmd + S" now saves the stub form, instead of calling the browser save functionality (#300).
- It is now possible, when importing a stub through the UI or the API, to also provide a stub ID prefix. All stubs imported in this batch will have this ID prefixed with the string you've provided (#302).
BREAKING CHANGES
- If you use any of the pre-built binaries of HttPlaceholder, you won't notice anything with upgrading. If you use the .NET tool version of HttPlaceholder, you need to have .NET 7 installed from now on.
- The interface of the import methods (
CreateCurlStubsAsync
,CreateHarStubsAsync
andCreateOpenApiStubsAsync
) changed. Instead of providing the parameters separately, you now need to pass a model. Updating the client will break the current calls to this method.
v2022.11.20.108
- Updated loading of stubs from .yml files. An 'id' field should now ALWAYS be set, whereas it was automatically generated beforehand if it was not set (which caused some non stub files to get parsed as stub with weird behavior) (#284).
- Added CancellationToken support to .NET client (#284).
- Detect light or dark theme from the users browser when opening the user interface (#284).
- Lots of refactorings in the C# code base (#284).
- The loading ring in the UI is now visible in both light and dark themes in the UI (#284).
- Log application startup time (#285).
- Make it possible to update settings through API (only "storeResponses" for now) (#286).
- Added option to set "storeResponses" in UI (#286).
- Fixed bug where a lot of file watches were placed which were not necessary (#289).
- Fixed small issue where explicitly defined response header would be overwritten when using the reverse proxy functionality (#290).
- Added better error handling for the reverse proxy response writer (#291).
- Fixed small bug where form helper would not close correctly in "Add request / response value" menu (#292).
- Fixed small bug in reverse proxy response writer where root URL would be replaced incorrectly (#292).
- When using the reverse proxy response writer, take a look at the response and determine if it is binary or not (#292).
- Added stub validation on response headers (#292).
- Added configuration value for "allowGlobalFileSearch" which enables or disables whether users can use the "file response writer" to look for files in the whole OS or only for files relative to the stub .yml files or the file storage location (#292).
BREAKING CHANGES
- Stubs defined in a .yml file should ALWAYS have an id field defined, whereas it was automatically generated beforehand if it was not set (which caused some non stub files to get parsed as stub with weird behavior).
- At first, you could, by default, use the "file response writer" to specify a file anywhere on the OS. Right now, by default, HttPlaceholder will only look relative to the stub .yml files and the file storage location. This configuration value is set to "false" by default for all versions of HttPlaceholder, except for the Docker container.