Features
- docker: introduce ruby script plugin (Ludovic DEHON)
- core: validation factory is not longuer supported in Micronaut 4 #2503 (Loïc Mathieu)
- jdbc: skip worker task running resubmission for skipped execution #2568 (Loïc Mathieu)
- cli: SubmitQueuedCommand to submit queued executions #2477 (Loïc Mathieu)
- core: allowFailure at the task level for runnable tasks #2557 (Loïc Mathieu)
- core: allowFailure at the task level for executable tasks #2557 (Loïc Mathieu)
- core: allowFailure at the task level for flowable tasks #2557 (Loïc Mathieu)
- core: add flatten function for pebble (#2537) #2537 (Edward Li)
- webserver: Marketplace proxy #2579 (brian.mulier)
- core: add Elastic Common Schema (ecs) log format dependencies (Ludovic DEHON)
- ui: allow to change the status of a CREATED task #2598 (Loïc Mathieu)
- vscode: file search by name #2602 (brian.mulier)
- cli: allow to resolve a plugin from a version range (#2646) #2646 (Loïc Mathieu)
- docker: use entrypoint to simplify (Ludovic DEHON)
- ui: try to use toast at bottom right (Ludovic DEHON)
- core: prevent scheduler to failed on invalid schedule (Ludovic DEHON)
- core: allow taskDefault to use a prefix (and not full class name) (#2657) #2657 (Ludovic DEHON)
- webserver: add export namespace files endpoint + support flow imports through create file endpoint #2634 (brian.mulier)
- ui: import from zip, files or folders + export as zip for namespace files #2634 (brian.mulier)
- core: provide a method in the run context to safely resolve a path #2704 (Loïc Mathieu)
- core: rename the Flow task to Subflow #2640 (Loïc Mathieu)
- core: all by prefix to also get directories #2711 (brian.mulier)
- core: add FlowService.findById #2711 (brian.mulier)
- core: lowercase mocked flowId / namespace for it to comply with flow validation #2711 (brian.mulier)
- core: add FlowService.findByNamespace (brian.mulier)
- core: improve deserialization error handling (#2622) #2622 (Loïc Mathieu)
- core: assert that task default works for Trigger and Condition #2736 (Loïc Mathieu)
- core: public holiday condition #2718 (Loïc Mathieu)
- core: allign all date conditions to trigger.date #2718 (Loïc Mathieu)
- tasks: introduce Labels task to allow updating execution labels at runtime (#2742) #2742 (brian-mulier-p)
- added concurrency property to lowcode editor (#2746) #2746 (YannC)
- core: add categories to plugin metadata (Ludovic DEHON)
- build: add concurrency property to avoid duplicate develop CI running (#2766) #2766 (YannC)
- core: make the triggerStateSavedLock protected so it can be used on subclasses #2820 (Loïc Mathieu)
- refactor to use taskrun.iteration #2591 (Loïc Mathieu)
- core: allow caching static file for cdn (Ludovic DEHON)
- ui: add posthog event tracking (Ludovic DEHON)
- jdbc: safely deserialize subflow executions #2831 (Loïc Mathieu)
- webserver: add a log in case rendering the webhook key fail (#2828) #2828 (Loïc Mathieu)
- core: add a new CORE plugin category (#2842) #2842 (Loïc Mathieu)
- render: disable recursive rendering by default with
kestra.variables.recursive-rendering
as a settings + introduce render() function (#2834) #2834 (brian-mulier-p)
Bug Fixes
- subflow logs not working (#2552) #2552 (YannC)
- core: incorrect usage of validation annotations #2503 (Loïc Mathieu)
- ui: Add form for anyOf type (#1650) #1650 (YannC)
- core: increase ForEachItem tests flow running wait duration (Loïc Mathieu)
- display file preview (#2569) #2569 (YannC)
- ui: every unwanted things are now hidden in VSCode editor #2554 (brian.mulier)
- core: input streams are now properly closed to prevent exhausting connections on remote storages #2574 (brian.mulier)
- apply class correctly (#2578) #2578 (YannC)
- display actions buttons on topology view (#2575) #2575 (YannC)
- webserver: mark the execution as killing to avoid ghost execution #1747 (Loïc Mathieu)
- ui: the workers API is global to all tenants #2590 (Loïc Mathieu)
- tests: add a test to ensure that simple deletion don't delete by prefix to avoid side effects #2605 (brian.mulier)
- tests: add a test to ensure that file deletion don't delete by prefix to avoid side effects (brian.mulier)
- prerender variables (#2588) #2588 (YannC)
- core: prevent npe on subflow (Ludovic DEHON)
- ui: use correct key when change display columns on execution list (#2615) #2615 (YannC)
- ui: left menu child is also selected when navigating in their subroutes #2620 (brian.mulier)
- worker: worker execution result (#2616) #2616 (Loïc Mathieu)
- core: possible NPE on execution.findChilds() (#2607) #2607 (Loïc Mathieu)
- ui: avoid admin menu blinking (#2606) #2606 (YannC)
- webserver: allow tenant in MarketplaceFilter pattern #2614 (brian.mulier)
- cli: disable worker on standalone when 0 (Ludovic DEHON)
- cli: add missing help outputs (#2636) #2636 (yuri)
- storage: returning full uris for file search #2602 (brian.mulier)
- storage: handle non-existing entry for filesByPrefix #2602 (brian.mulier)
- core: allow overriding an existing input / namespace file with new content #2643 (brian.mulier)
- core: skip execution for flows with no list of tasks (#2601) #2601 (Loïc Mathieu)
- core: don't warm for anonymous usage (Ludovic DEHON)
- jdbc: log executionId could be null (Ludovic DEHON)
- core: add 'deprecated' to the task front matter title (#2700) #2700 (Loïc Mathieu)
- webserver: properly injecting tenantId in parsed flow source upon import #2706 (brian.mulier)
- jdbc: update the executor even if we cannot emit logs #2701 (Loïc Mathieu)
- ui: global notification to bottom right (Ludovic DEHON)
- core: FlowWithSource now handle concurrency property (#2714) #2714 (YannC)
- tests: retrying flaky JDBC replay test #2711 (brian.mulier)
- core: removed pass-through methods for FlowService (brian.mulier)
- ui: task run attempts selector for logs is now working properly (#2721) #2721 (brian-mulier-p)
- core: mark the execution as killing to avoid ghost execution (#2586) #2586 (Loïc Mathieu)
- core: add missing Schedule timezone validation #2724 (yuri1969)
- ui: removed some console warnings around typing #2735 (brian.mulier)
- ui: add comments to help local extension development #2735 (brian.mulier)
- ui: reloading flow definition upon flow save in Namespace File editor #2735 (brian.mulier)
- tests: add some debug logs for flaky ForEachItemCaseTest.forEachItemNoWait #2735 (brian.mulier)
- core: add the tenant in the Flow trigger #2741 (Loïc Mathieu)
- webserver: accept labels with value being URL #2745 (brian.mulier)
- webserver: accept tenant in config endpoint #2748 (brian.mulier)
- ui: inject tenant in every api calls #2748 (brian.mulier)
- tests: query params were lacking '&' in ExecutionControllerTest.find() (brian-mulier-p)
- tests: disable test while label filtering gets fixed (brian.mulier)
- core: inheritLabels failed with empty labels (Ludovic DEHON)
- core: handle tenant on UriProvider (Ludovic DEHON)
- jdbc: label filtering now working properly with key-value match on same object #2749 (brian.mulier)
- docs: corrected the docs under conditions #2751 (Shruti Mantri)
- ui: every route push now include tenant to prevent bad redirections #2752 (brian.mulier)
- tests: added debug information in case of SchedulerThreadTest.thread test failure #2752 (brian.mulier)
- tests: added debug information in case of WorkerTest.failOnWorkerTaskWithFlowable test failure #2752 (brian.mulier)
- ui: invalid link on charts for state (Ludovic DEHON)
- ui: sort on flow executions page was not working (Ludovic DEHON)
- ui: click on flow executions charts must redirect to same page (Ludovic DEHON)
- ui: no longer crashing upon null value for
tasks
flow property #2769 (brian.mulier) - core: FlowWithSource also copies tenantId when created with method
of
#2756 (brian.mulier) - CI property issue (YannC)
- tests: add a test to ensure that we retrieve 1 last execution per (flow, namespace) #2767 (brian.mulier)
- jdbc: group by (namespace, flow_id) for lastExecutions query instead of flow_id only #2767 (brian.mulier)
- core: Move
.kestraignore
handling to its own KestraIgnore class #2792 (brian.mulier) - jdbc: handle leap year for MySQL group by week #2796 (brian.mulier)
- tests: JdbcHeartbeatTest.triggerResubmit logging in case of failure (brian.mulier)
- docs: corrected the docs on multiple flows (#2799) #2799 (Shruti Mantri)
- core: NamespaceFilesService inject include / exclude patterns don't mandate a leading '/' for patterns #2791 (brian.mulier)
- handlebars: added another mapper without context for YamlFlowParser to prevent trying to retrieve flow location for non-file flows #2801 (brian.mulier)
- ui: log can be empty (Ludovic DEHON)
- core: invalid log, should log task id and not flow id twice #2826 (Loïc Mathieu)
- webserver: handle invalid route proper error (Ludovic DEHON)
- ui: prevent crash on invalid yaml (Ludovic DEHON)
- ui: fix props type on EditorView (Ludovic DEHON)
- core: keep a setter for items on TaskRun for backward compatibility (Ludovic DEHON)
- core: tenantId on runContext should not be serialized (Ludovic DEHON)
- ui: proper api xhr options for config endpoint (Ludovic DEHON)
- ui: correct api url (Ludovic DEHON)
- ui: hide the export template button if template is not enabled. #2841 (Loïc Mathieu)
- docs: doc corrections for core models and tasks (#2819) #2819 (Shruti Mantri)
- core: retry can crash the Worker (#2837) #2837 (Loïc Mathieu)
- core: rename test application.yml to application-test.yml (#2225) #2225 (Loïc Mathieu)
- translations: eval button renamed to render (#2864) #2864 (brian-mulier-p)
- translations: some translations were missing (brian.mulier)
- docs: doc correction under core model tasks (#2866) #2866 (Shruti Mantri)
- tests: trigger resubmit test is now based on condition awaiting instead of arbitrary time await #2804 (brian.mulier)
- ui: NamespaceSelect input size fits its content (#2865) #2865 (brian-mulier-p)
- ui: add missing id on posthog (Ludovic DEHON)
- core: refactoring of execution running for concurrency limit (#2825) #2825 (Loïc Mathieu)
- wording in translations (#2868) #2868 (Anna Geller)
- load correct tenant & no more unauthorized error (#2875) #2875 (YannC)
- core: add the tenantId at trigger creation (#2877) #2877 (Loïc Mathieu)
- ui: reorganize settings (Ludovic DEHON)
- ui: tooltip DateAgo need a key (Ludovic DEHON)
- ui: invalid dependencies count (Ludovic DEHON)
- ui: don't init topology if not visible (Ludovic DEHON)
- ui: restoreUrl is now scoped to a tenant (#2880) #2880 (brian-mulier-p)
- cli: Make the CLI help clearer (#2882) #2882 (yuri)
Code Refactoring
- ui: refactor executions (Ludovic DEHON)
Chores
- version: update snapshot version 'v0.14.0'. (Ludovic DEHON)
- version: update snapshot version 'v0.14.0-SNAPSHOT'. (Ludovic DEHON)
- add Apache Druid JDBC plugin (Loïc Mathieu)
- deps: update github actions and dependabot (Ludovic DEHON)
- deps: bump com.github.ben-manes.versions from 0.49.0 to 0.50.0 (Ludovic DEHON)
- deps: update most js deps (Ludovic DEHON)
- ui-deps: bump ui-libs version to 0.0.31 #2640 (brian.mulier)
- core: remove stdout print (Ludovic DEHON)
- deps: bump Kestra's VSCode extension to 0.1.8 (brian.mulier)
- editor-deps: bump Kestra extension to 0.1.10 (brian.mulier)
- deps: bump Kestra VSCode extension to v0.1.11. (brian.mulier)
- report JUnit tests to CI (Loïc Mathieu)
- *****: refactoring of subflow #2591 (Loïc Mathieu)
- ui: refacto UI so its use new "numberOfBatches" output #2591 (YannC)
- refactor: remove a bunch of compilation warning and remove deprecated StorageInterface method (Ludovic DEHON)
- deps: update most of java deps (Ludovic DEHON)
- deps: update most js package (Ludovic DEHON)
- deps: bump github/codeql-action from 2 to 3 #2727 (dependabot[bot])
- deps: bump org.apache.httpcomponents:httpclient from 4.5.13 to 4.5.14 (Ludovic DEHON)
- deps: update dependencies (Ludovic DEHON)
- ci: don't sign JARs if it's not to publish them (#2810) #2810 (Loïc Mathieu)
- version: update to version 'v0.14.0'. (Ludovic DEHON)
Commits
- 250a75d: Revert "fix(webserver): mark the execution as killing to avoid ghost execution" (Loïc Mathieu)
- email (#2564) #2564 (Anna Geller)
- 2450c6d: feat(jdbc,runner-memory): send a FAILED worker task result when we cannot create it from the executable task (Loïc Mathieu) #2642
- ccf41fc: Revert "fix(): prerender variables (#2588)" (Loïc Mathieu) #2754
- 5ee0122: Revert "fix(docs): corrected the docs on multiple flows (#2799)" (brian-mulier-p) #2802
- 5d116a9: Revert "Revert "fix(docs): corrected the docs on multiple flows (#2799)"" (brian-mulier-p) #2805