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.
- Icon upload (
data_url) now only accepts base64-encodeddata:URLs.
-
Minimal Python version is now 3.10
-
In test, use httpx2 instead of httpx (Deprecation Warning from starlette dependency)
- New API version
v2_1_0: - New endpoint
POST /api/workflows/discoverto discover ewoks workflows from python packages.
2.1.2 - 2026-03-06
- Project migrated to https://github.com/ewoks-kit/ewoksserver.
2.1.1 - 2025-08-02
- Allow to server to start when task discovery fails.
2.1.0 - 2025-07-28
- Pin
ewoksjobrequirement to1.x.
2.0.1 - 2025-04-29
- Pin
ewoksjobrequirement to0.x.
2.0.0 - 2025-01-22
- Tasks are rediscovered when launching the server. This can be disabled by using the CLI arg
--no-discovery-at-launch. - End-point
/execution/eventsreturns events with the fieldengineinstead ofbinding.
--rediscover-tasksCLI argument was removed.- End-point
/execution/workersis renamed to/execution/queues. - End-point
/execute/{identifier}payload fieldworker_optionsis renamedsubmit_arguments. This renaming also impacts the related workflow field that is merged with the payload: if a workflow contain the fieldworker_optionsin itsgraphsection, it needs to be renamed tosubmit_argumentswhen using the v2 API.
- New API version
v2_0_0:
1.4.1 - 2024-12-21
- Ignore unknown dotenv variables.
1.4.0 - 2024-12-21
- New setting
EWOKS_DISCOVERYin the server config. It is a dictionnary with two fields:on_start_up(bool): rediscover tasks when restarting the server.timeout(number): timeout for task discovery operations (replacesDISCOVER_TIMEOUTthat is now deprecated).
- Support the Uvicorn and FastAPI command line interfaces to start the server.
- New end-point
/execution/workersto get all task execution queue names. - End-point
/tasks/discovernow has antask_typeoption and discovers all task types when not provided.
EWOKSconfiguration field was renamedEWOKS_EXECUTION(EWOKS_EXECUTIONis now deprecated).- Documentation end-point has been renamed from
/api/docstodocs.
- Handle remote task discovery failures.
- Fix end-point
/execute/{identifier}documentation of the identifier.
1.3.0 - 2024-08-02
- Task discovery is now done in all available queues if
CELERYis set-up. It was only done in the default queuecelerybefore. - New setting
DISCOVER_TIMEOUTin the server config: it allows to set a timeout for task discovery operations (default:Nonei.e. no timeout). - Improve Celery config print on start-up.
- Fix task discovery if no module is supplied.
1.2.0 - 2024-06-23
ewokswebis no longer installed withewoksserver[frontend]. Insteadewoksserver[frontend]is a dependency ofewoksweb..
- Support pip 24.1 and avoid pyyaml 6.0.2rc1.
- Ignore malformed tasks in the resource directory.
1.1.0 - 2024-02-06
- New API version
v1_1_0: - New endpoint
GET /api/execution/workersto retrieve the list of workers if Celery is set-up (nullotherwise).
1.0.0 - 2023-12-06
- Migrate to FastAPI.
- Endpoints are now prefixed with
/api(e.g./workflowsbecomes/api/workflows). - Introduces API versioning (
/apiprefix uses the latest version,/api/v1uses the latest v1,/api/v1_0_0uses the specific 1.0.0 version ). - Default port changed to
5000. - Changes to the command-line interface (
-cis now--config,-dis now--dir, ...).
0.5.0 - 2023-10-04
GET /workflows: optionalkeywordsto filter the workflows.GET /workflows/descriptions: optionalkeywordsto filter the workflows.GET /workflows/descriptions: resultEwoksGraphDescriptionSchemachanged. It may include.keywords,input_schemaandui_schema./workflow/{identifier}and/workflows: theEwoksGraphSchemadid not change but thegraphfield may now contain the following extra keys:keywords,input_schema,ui_schema,execute_parametersandworker_options.- The
execute_parametersandworker_optionsfields from the workflow are merged with the equivalent dictionaries provided by the client when callingPOST /execute/{identifier}.
0.4.0 - 2023-09-28
- Default resources are now copied in the launched server resource directory.
- Trying to delete a non-existing entity now returns 404.
0.3.3 - 2023-09-21
- Logs: celery and ewoks configurations could be empty dictionaries.
- Fix bug with absolute configuration filename.
0.3.2 - 2023-09-19
- Allow to run the
socketioserver in production environments.
0.3.1 - 2023-09-18
GET /execution/events: event grouping per job failed in case of parallel workflows.
0.3.0 - 2023-07-28
- CLI "host" argument (to allow external access).
0.2.0 - 2023-06-12
- Task discovery in local or celery workers.
- Automatic task discovery without specifying modules.
- Optional automatic task discovery when starting the server.
0.1.1 - 2023-06-09
- Only enforce the configuration with --frontend-tests.
- Allow task discovery to change existing resources.
0.1.0 - 2023-06-01
- REST API to load and store ewoks workflows.
- REST API to load and store ewoks tasks.
- REST API to execute workflows with ewoksjob.
- REST API to query ewoks execution events.
- Websocket API to ewoks execution events.
- Serve ewoksweb frontend.
- Swagger API documentation.