Features
- ui: use icon instead of avatar on flow trigger (Ludovic DEHON)
- ui: add reach out button (Ludovic DEHON)
- core: templated task (#3191) #3191 (Loïc Mathieu)
- jdbc*: add an index on logs.timestamp #3212 (Loïc Mathieu)
- ui: add full-screen button on drawer (Ludovic DEHON)
- ui: change menu & icon layout (Ludovic DEHON)
- core: missing secret env var should return a null secret #3213 (Loïc Mathieu)
- core: restrict using the read function on the Worker #3214 (Loïc Mathieu)
- ui: better new version message (Ludovic DEHON)
- ui: add guided tour on top bar (Ludovic DEHON)
- core: add default inputs if not already set in variables #3261 (Loïc Mathieu)
- change the key of SubflowExecutionResult #3266 (Loïc Mathieu)
- core: ExecutionLabelsCondition (YannC)
- core: FlowLabelsCondition (YannC)
- core: add charts by level on log view #3280 (Ludovic DEHON)
- core: add Pebble filters indent, nindent (#3284) #3284 (kriko)
- core: add Pebble YAML filter and YAML function (#3283) #3283 (kriko)
- *****: mass execution replay (#3277) #3277 (yuri)
- ui: add minimal version of saved search filters (#3292) #3292 (yuri)
- core: enhance Kestra services liveness mechanism #3076 (Florian Hussonnois)
- cli: deprecate include helper #3290 (Loïc Mathieu)
- core: rename ForEachItem subtask '_executable' -> '_item' #3320 (Loïc Mathieu)
- core: make the 'from' property of storage tasks mandatory #3312 (Loïc Mathieu)
- core: enable Flyway migration logs #3260 (Loïc Mathieu)
- core: add a storage prefix for big message #3216 (Loïc Mathieu)
- cli: add warnings to the flow validate command #3336 (Loïc Mathieu)
- allow to override existing flow (#3339) #3339 (YannC)
- core: input task documentation (#3338) #3338 (Loïc Mathieu)
- Script runners as plugins #3332 (Loïc Mathieu)
- core: script containerImage property #3346 (Loïc Mathieu)
- core: add labels to triggers (Ludovic DEHON)
- core: enchance liveness core api to support metrics #3340 (Florian Hussonnois)
- core: add metric for worker trigger (Ludovic DEHON)
- core: ScriptService now allow consuming (internalStorage, localFile) when replacing in commands #3361 (brian.mulier)
- retry revamp (#3322) #3322 (YannC)
- core: add task restart strategy on worker failure (#3343,#3351) #3376 (Florian Hussonnois)
- core: new trigger Toggle task #3381 (Loïc Mathieu)
- hide JooQ log about not supported DB version #3385 (Loïc Mathieu)
- ui: include ScriptRunners documentation in right pane on editor (brian.mulier)
- ui: include ScriptRunners on plugins page (brian.mulier)
- highlight pebble in monaco (YannC)
- core: move the default log consumer to the core #3405 (Loïc Mathieu)
- core: ScriptService.labels() and ScriptService.jobName() #3406 (Loïc Mathieu)
- core: ability to replace absolute with relative paths when replacing internal storage (brian.mulier)
- core: ability to replace absolute with relative paths when uploading internal storage files to local files (brian.mulier)
- core: ScriptService.normalize() #3430 (Loïc Mathieu)
- ui: add message to warn for deleting running exec (#2651) #3449 (Florian Hussonnois)
- core: add Script Runner common vars and envs (Loïc Mathieu)
- core: Script Runner refactoring #3456 (Loïc Mathieu)
- retry-flow (#3392) (YannC)
- core: more script-runners common steps and better handling for input files #3462 (brian.mulier)
- core: better additional vars and env handling for runners #3462 (brian.mulier)
- core: add reactive methods in FileSerde to optimize read/write performance of ION files (#3472) #3472 (Yoann Vernageau)
- pebble: add renderOnce function (brian.mulier)
- core: retry flowable (#3473) #3473 (YannC)
- core: improve nested flowable retry (YannC)
- core: rename the ForEachItem executable task name #3491 (Loïc Mathieu)
- doc for task runners #3490 (Loïc Mathieu)
- ui: new welcome page (YannC)
- core: add missing trigger Toggle task icon (Loïc Mathieu)
- ui: revamp plugin documentation (#3500) #3500 (YannC)
- add test with task that generate dynamic task (#3508) #3508 (YannC)
- core: add an icone for the ProcessTaskRunner (Loïc Mathieu)
- webserver: cache plugin icons (#3516) #3516 (Loïc Mathieu)
- ui: add app type on posthog (Ludovic DEHON)
Bug Fixes
- ui: lint issue (Loïc Mathieu)
- ui: lint issue (Loïc Mathieu)
- ui: fix labels filter by route (#3189) #3189 (yuri)
- ui: missing check permission to display flow CREATE and EXECUTE button #3197 (Loïc Mathieu)
- controller: fix 404 issue when flow of a trigger has been deleted (#3209) #3209 (YannC)
- ui: change editor width storage key (YannC)
- core: replace deprecated icons (Ludovic DEHON)
- core: DocumentationGeneratorTest.ech() test assertion (Loïc Mathieu)
- core: change link to flow overview on dependencies (Ludovic DEHON)
- quickwins (#3215) #3215 (YannC)
- jdbc: make the flow listener tolerant of plugin loader issue #3205 (Loïc Mathieu)
- ui: make dependencies expand more clear (#3222) #3222 (YannC)
- core: validate task default (#3224) #3224 (YannC)
- controller: return 404 when flow not found in follow API (#3219) #3219 (YannC)
- ui: don't save settings on page load (Ludovic DEHON)
- ui: manage panel for SuperAdmin without tenant (#3225) #3225 (YannC)
- core: pebble render function must render boolean (#3218) #3231 (Florian Hussonnois)
- core: take timezone into account for new schedule triggers (#3230) #3230 (YannC)
- webserver: multi-cookies in a single header decoder #3229 (brian.mulier)
- core: document the batch default value so it correctly appears in the doc #3233 (Loïc Mathieu)
- ui: revision author is now fetched only once we know which revision to display to prevent inconsistencies (brian.mulier)
- docs: add a docker version for front end development (Ludovic DEHON)
- ui: feedtracker button are not aligned to right (Ludovic DEHON)
- ui: better styling for el-select (Ludovic DEHON)
- ui: invalid tooltip header color on white (Ludovic DEHON)
- ui: blueprint layout & margin (Ludovic DEHON)
- ui: reorder left menu (Ludovic DEHON)
- wording of the security toast (Anna Geller)
- ui: grayed-out triggers when disabled (in source or through API) in topology #3237 (brian.mulier)
- webserver: rollback to http 1.1 (brian.mulier)
- webserver: change cookie decoder to netty one (brian.mulier)
- core: Avoid creating empty files when splitting (#3254) #3254 (YannC)
- core: create dependency between forEachItem task and subflow (#3256) #3256 (YannC)
- core: Pause task properly handled in restart #3257 (brian.mulier)
- docs links (Anna Geller)
- set timeout to sse and now display loading/error on UI (#3259) #3259 (YannC)
- backfill link (Anna Geller)
- ui: log on flow missed filters (Ludovic DEHON)
- ui: add top margin in tabs components (YannC)
- ui: ExecutionRoot marge issue (YannC)
- core: ExecutionRunning use '|' and not '_' as separator #3268 (Loïc Mathieu)
- core: null label value can crash the executor #3269 (Loïc Mathieu)
- core: missing lombok annotation on new storage tasks (Ludovic DEHON)
- webserver: override InputStream available method in NamespaceFileController.putNamespaceFile #3270 (brian.mulier)
- ui: correct link to namespace (YannC)
- ui: update originalFlow on save (YannC)
- core: prevent flow validation from crashing (#3278) #3278 (brian-mulier-p)
- build: no more force install for npm peer dependencies #3281 (brian.mulier)
- ui: size of charts fix (Ludovic DEHON)
- ui: don't display log filter on dashboard (Ludovic DEHON)
- charts: force chart canvas to take the full width / height of its container (brian.mulier)
- topology: fixed a bug where having a subflow with a trigger with same id than current flow would lead to wrong graph (brian.mulier)
- graph: remove useless styling (brian.mulier)
- topology: fixed some edge cases where graph uids were wrong (brian.mulier)
- ui: remove outline from monaco editor to prevent small blue bars around it (brian.mulier)
- ui: remove additional warnings #3198 (brian.mulier)
- core: remove ScheduleBackfill, Condition & ScheduleCondition from defs #3308 (brian.mulier)
- ui: display selected namespace in selector (YannC)
- ui: Executions.vue lint (YannC)
- ui: remove Axios' default URL to prevent duplicate context path in called URL #3310 (brian.mulier)
- core: fix missing random number generator algorithm #3325 (Florian Hussonnois)
- webserver: no longer decrypt secret inputs & outputs when doing an evaluate for an execution taskrun #3316 (brian.mulier)
- core: prevent crashing if secret input is null #3316 (brian.mulier)
- core: runContext decrypt method as public (brian.mulier)
- ui: translate enable auth message (YannC)
- ui: improve selected filter highlight (#3342) #3342 (yuri)
- ui: only display select flow in home summary failed (YannC)
- tests: add default image for AbstractScriptRunnerTest (brian.mulier)
- core: warn on failed local flow parsing (#3349) #3349 (yuri)
- core: use a different taskrun for each script runner test #3359 (Loïc Mathieu)
- ui: boolean input label (YannC)
- editor: editor won't fully shrink anymore #3358 (brian.mulier)
- core: variable renderer handle properly raw tags when recursive rendering #3388 (brian.mulier)
- core: add getName() to input to have soft deprecation (brian.mulier)
- ui: prevent duplicate auto-completions (brian.mulier)
- ui: remove absolute filter when switching to the relative one (#3341) #3341 (yuri)
- core: remove incorrectly rendered icon on Mac (brian.mulier)
- core: better script runners documentation generation (brian.mulier)
- webserver: Triggers page crash when a trigger is deleted #3404 (Loïc Mathieu)
- core: ensure all services are closed before ServiceLivenessManager #3407 (Florian Hussonnois)
- core: MapUtils performance #3401 (Loïc Mathieu)
- core: improve Execution.findChilds() #3401 (Loïc Mathieu)
- core: fix stats webserver (#3408) #3416 (Florian Hussonnois)
- core: fix race condition on ServiceLivenessManager #3417 (Florian Hussonnois)
- core: properly handle deprecation for input's name property to prevent false warnings #3418 (brian.mulier)
- core: fix NPE in ServiceLivenessManager #3420 (Florian Hussonnois)
- core: skip directory and un-readable file on WorkingDirectory post action #3422 (Loïc Mathieu)
- core: Correcting the EachParallel flow example #3426 (Loïc Mathieu)
- core: ScriptService.labels should not add "/" to the prefix #3427 (Loïc Mathieu)
- core: declare the FlowExecutor as a bean (#3389) #3389 (Loïc Mathieu)
- webserver: ability to turn off basic authentication through configuration (brian.mulier)
- ui: no more editor shrink due to localStorage value missing (brian.mulier)
- ui: allow backfill with not required inputs (YannC)
- webserver: set paused to success if not subtask (#3458) #3458 (YannC)
- core: make RunContex.renderMap() null tolerant (Loïc Mathieu)
- runner: change visibility of cache variables in ScriptRunner and use proper runContext in tests (brian.mulier)
- ui: correct various margins (#3428) #3428 (yuri)
- test: test does not pass during release (YannC)
- core: prevent NPE on ScriptService.replaceInternalStorage (brian.mulier)
- core: prevent NPE for empty input files (brian.mulier)
- core: add runContext to additionalVars & env for ScriptRunners (brian.mulier)
- core: runnerEnv & runnerAdditionalVars throw IllegalVariableException (brian.mulier)
- core: render commands env and additional vars in ScriptRunner (brian.mulier)
- tests: add test to ensure runner additional vars & env are rendered (brian.mulier)
- webserver: basic auth filter should executore on the BLOCKING executor #3474 (Loïc Mathieu)
- persist state for each service instance event #3488 (Florian Hussonnois)
- core: allows only runnable task to be retried (YannC)
- core: revert restricting the read function to the Worker for now #3495 (Loïc Mathieu)
- ui: missing images (YannC)
- ui: light theme welcome (YannC)
- core: allow the read() function to read an URI #3494 (Loïc Mathieu)
- welcome page wording (Anna Geller)
- french translation (Anna Geller)
- runner: output dir property as a guard #3499 (brian.mulier)
- ui: change tutorial path (YannC)
- ui: plugin pages improvements (YannC)
- ui: headband plugin page (YannC)
- ui: ForEachItem properly handled in Gantt, Logs & Topology #3504 (brian.mulier)
- webserver: incorrect package for TriggerController (Loïc Mathieu)
- core: allow task null to be founded for retry (#3505) #3505 (YannC)
- ui: don't show attempt and originalDate for prior execution (YannC)
- ui: template in settings don't crashed page (YannC)
- ui: plugin page light theme (YannC)
- webserver: plugin group can be null and Jackson cannot serialize null key #3513 (Loïc Mathieu)
- core: add @NotNull to Purge.endDate (brian.mulier)
- ui: remove various warnings (brian.mulier)
- ui: Monaco no longer having duplicate auto-completion issue #3518 (brian.mulier)
- ui: execution update is throttled to reduce browser load #3509 (brian.mulier)
- ui: make ellipsis on taskId at the beginning for long ids + wider column (brian.mulier)
- core: remove FlowLabelsCondition and deprecate FlowNamespaceCondition #3520 (Loïc Mathieu)
- ui: chart issues (YannC)
- core: remove incorrectly rendered icon on Mac (brian.mulier)
- add links to read more and format tasks as table (Anna Geller)
- ui: import Legend for ChartJS #3524 (brian.mulier)
- tests: remove incorrectly rendered icon on Mac (brian.mulier)
Documentation
- add task properties and fix render (Anna Geller)
- add missing flow properties (Anna Geller)
Tests
- core: DocumentationGeneratorTest, deprecated message (YannC)
Chores
- version: update snapshot version 'v0.16.0-SNAPSHOT'. (Loïc Mathieu)
- ui: display lint error in browser (#3190) #3190 (YannC)
- deps: bump ui-libs to 0.0.39 (brian.mulier)
- deps: bump all simple-upgrade deps #3265 (brian.mulier)
- deps: bump Monaco editor (0.39.0 -> 0.47.0) & Monaco-YAML (4.0.0-alpha.0 -> 5.1.1) #3267 (brian.mulier)
- deps: move vue-chart3 to vue-chartjs as it got deprecated #3276 (brian.mulier)
- ui: fix various Vue dev warnings #3198 (yuri1969)
- ui: split languages in multiples files (#3313) #3313 (YannC)
- upgrade to Workflow Dispatch action v1.2.3 (Loïc Mathieu)
- upgrade to Workflow Dispatch action v1.2.3 (Loïc Mathieu)
- deps: don't fix github action to strict version (Ludovic DEHON)
- update the ServiceInstanceRepositoryInterface #3360 (Florian Hussonnois)
- core: add waitForServiceInState to ServiceRegistry #3384 (Florian Hussonnois)
- core: add utility class for enums #3391 (Florian Hussonnois)
- core: fix bean lifecycle to properly handle context close (#3318) #3328 (Florian Hussonnois)
- add plugin-jdbc-db2 (Loïc Mathieu)
- core: add default worker constructor for test #3423 (Florian Hussonnois)
- core: refactor RunnerUtils to be only used by tests #3326 (Florian Hussonnois)
- use 'docker compose' and not 'docker-compose' #3459 (Loïc Mathieu)
- add the AS400 plugin (Loïc Mathieu)
- core: rename ScriptRunner to TaskRunner #3476 (brian.mulier)
- *****: upgrade dependencies #3501 (Loïc Mathieu)
- deps: bump ui deps (brian.mulier)
- deps: bump commons-io:commons-io from 2.16.0 to 2.16.1 #3503 (dependabot[bot])
- move all API Controllers to conditional package #3226 (Florian Hussonnois)
- version: update to version 'v0.16.0'. (Loïc Mathieu)
Commits
- e51336d: Update FlowCreate.vue (#3196) (Anna Geller) #3196
- ffea7d4: Merge branch 'develop' of https://github.com/kestra-io/kestra into develop (Anna Geller)
- 6b96b3d: closes kestra-io/docs#983 (Anna Geller)
- 8a38131: feat(core,ui): allow marking plugin and properties as beta (Loïc Mathieu) #3348
- 3537bdc: Add 'escapeChar' Pebble filter (#3466) (yuri) #3466
Breaking Changes
The only breaking change in this release is that we aligned all container labels. This means that if you filter any container resources by these labels, make sure to adjust them to match new labels.
Previous labels were:
- flow.kestra.io/id
- flow.kestra.io/namespace
- task.kestra.io/id
- execution.kestra.io/id
- taskrun.kestra.io/id
New labels are:
- kestra.io/namespace
- kestra.io/flow-id
- kestra.io/task-id
- kestra.io/execution-id
- kestra.io/taskrun-id
- kestra.io/taskrun-attempt
GitHub issues that added these changes: