API changelog for epoch 0.x.x
This file describes the changes made to the API during the development. It is sorted in reverse chronological order.
For the most up to date API description please see the specification directly. This serves only for developers to find the changes better.
Unpublished
Version 0.1.2 - cookbook v0.10.3 - 2023-12-04
Deprecation of recipe_id in recipe stubs
The current implementation has a minor inconsistenncy that for Recipe
objects, there is a id
as string and for RecipeStub
objects, there is a recipe_id
as int.
This is inconsistent.
As the string based indexing is preferred for future enhancements, the legacy recipe_id
in RecipeStub
is deprecated.
Instead, a new entry id
is added as sting value.
For the meantime, the index will be present in both properties until the next release will drop the old behavior.
Version 0.1.1 - cookbook v0.10.2 - 2023-03-24
Remove deprecated endpoints
The duplicated (deprecated) endpoints in v0.9.15 are removed.
Only the endpoints under /webapp/
or /api/v1/
are working in the future.
See also the section.
Fix OpenAPI format specification
There were some minor flaws and typos in the spec file. These flaws caused some code generation tools to fail or produce incomplete results.
The fixture of these issues should not be critical as these are mainly cosmetic and will not change the actual transmitted data.
Removed some typos
Some typos in the API description was fixed. This does not change any behavior in the server but describes the actual transmitted data more precise.
Unless you use code generation, this will not affect you.
Add operation IDs
In accordance with #1421 the ids of all operations in the external API are defined. This should make it simpler to create clients using code generation techniques.
If the operaionId
field is not used, this should not change anything.
Otherwise, the names of the methods might need updating.
Version 0.1.0 - cookbook v0.9.15 - 2022-09-08
Split and rename API endpoints
There is a security issue with the previous API version 0.4.0, see this description. As a result, all endpoints need a renaming to be able to fix the security issue.
All publicly available endpoints are now located under the /api/v1
prefix.
Endpoints were prefixed with either /api/v1
(if not already prefixed by /api
) or the /api
was replaced by /api/v1
in all URLs.
The behavior of the endpoints was not changed.
Version 0.0.4 - cookbook v0.9.13 - 2022-07-02
Remove old API endpoints
The endpoints GET
on /recipes/create
and PUT
on /recipes/{id}/edit
are deprecated and no longer working.
These are just removed to clean up the api endpoint list.
Version 0.0.3 - cookbook v0.9.12 - 2022-05-12
Allow the client to specify the accepted image types
The client was not able to specify the compatible image types.
The endpoint /recipes/{id}/image
just served whatever format was available, be it JPG or SVG.
The endpoint now respects the Accept
request header and does not send a SVG if only JPGs are requested explicitly.
If no matching file type was found, a status of 406 is returned.
This affects the following API endpoints:
GET
in/recipes/{id}/image
can return 406
Related issues: #954
Prevent adding of recipes with no name
We are currently storing the recipes in a folder according to the recipe name. If no name was provided, this breaks our storage backend. Until now, a 500 error was returned. This was changed to be 422 with some useful error handling.
This affects the following API endpoints:
POST
on/api/recipes
can return 422PUT
on/api/recipes/{id}
can return 422
Related issues: #923
Version 0.0.2
This version was the first version to be well documented. It was called 0.0.2 as 0.0.1 would be the (undocumented) initial API structure. So, please consider this the fist stable API version.
Additionally, some API endpoints were deprecated/removed. They were not related to a REST-based APi but the ancient multi-page site approach. These endpoints were non-functional anyways.