github kestra-io/kestra v1.2.0

16 hours ago

Kestra Open-Source Edition Changes

Changelog

📢 Breaking Changes

system

  • c0f6298 🚨 change logger name and disable flow logger by default

🚀 Features

API

CLI

TaskEdit

assets

blueprints

  • 2abea0f use regular Inputs in Blueprint Templates
  • 24e61c8 impl templated flow blueprints

cli

  • 5ada578 add --flow-path on executor to preload some flows

core

dashboard

  • 7aca309 calculate running execution duration on the fly

execution

  • b178483 normalize restart behavior (#13858), closes #13858
  • 7ea95f3 add a system.from label
  • 2d2cb00 bring support for input and output processing in the run context
  • 429e7c7 allow listing the internal storage from the run context
  • 8f4bafc add an attemps on skipped tasks
  • bb363f8 add execution triggers column (#13158), closes #13158

executions

filters

flows

jdbc

ns-files

  • 4d35393 introduce PurgeFiles task, closes #5617
  • 8edad60 introduce revision history, closes #5617
  • 682d258 add a metadata layer on top for better performance & versioned ns files, closes #5617

plugin

  • a960a9f bring cloneForPlugin to the RunContext
  • fb14e57 add title and description to plugin cls

plugin-metadata

storage

  • 9a4b569 limit object name to 255 inside the local storage, closes #12273

system

  • 1b74842 replace our SecurityManager by a Java agent
  • efc778e save the edition in settings
  • b7a027f display concurrency limits page based on property from endpoint (#13633), closes #13633
  • eb12832 add a boolean in the config to know if the concurrency view is enabled
  • 40880bf force nullsFirst for ASC and opposite globally in JDBC
  • 20c5328 deprecate RunContext method that must not be used anymore
  • 5860ce7 configure Docker Compose termination grace period to 6m

tests

  • 1be16d5 add more test coverage for trigger evaluation failure
  • 2951f4b add test coverage for json input type parsing as map
  • 2595e56 add test coverage for subflow inputs serialized with type yaml

trigger

  • 01b5441 refactor Schedule to not use the application context
  • 216b124 add support for concurrent trigger execution (#311), closes #311

triggers

ui

global

📘 Subtasks

API

assets

core

dashboards

deps

executions

flow

  • 29056a6 deprecate core tasks that have replacements inside the Kestra plugin
  • 5542b73 update output plugin icon (#12528), closes #12528

flows

icons

logs

  • 55eb680 make start/stop messages clearer

namespaces

scheduler

  • 8e7ad9a revert back changes at handle() and create failed execution with emitting it directly from the catch block

system

  • 0f38e19 refactor NamespaceFilesUtils as a static class
  • ea44128 refactor RunnerUtils to be a static utils
  • 4602546 refactor the TaskLogLineMatcher as a standard class
  • e1f983c refacto TreadMainFactoryBuilder to be a static utility
  • 64a2c3b add @CheckReturnValue to AclCheck methods to be sure check() is called
  • 735697a share JDBC repository code in an abstract CRUD repository
  • 41f8394 replace Flow by FlowInterface where possible, closes #8274
  • 8346874 reduce repository code duplication between OSS and EE

test

tests

  • e302b4b update namings of evaluation tests
  • 41a11ab add small notes to tests
  • f3aed38 improve coding format at subflowInputTypeYmlSerialization() test
  • 14029e8 isolate concurrency related tests in their own class
  • feeaeff remove running tests in parallel

ui

variables

version

global

🐛 Bug Fixes

api

assets

backfills

  • 0dba036 inputs was always the default one in the ui, closes #13143

blueprints

  • 7edb6bc bring back up edit button

ci

cli

core

dashboard

  • a011770 dashboards should filter on NORMAL kind
  • 64899f3 avoid undefined Date being mapped to current date

docker-compose

  • c107062 switch to kebab case (#12934), closes #12934

execution

  • 0b55f55 prevent NPE in SetVariables when variables are null (#13776), closes #13776
  • 424a6cb skip the render cache in flowable for properties used to compute next tasks
  • 56fb304 NORMAL kind should also be retrieved, closes #13262
  • 9133049 failed flowable should also have a failed attempt, closes #12614
  • c6c62db sequential with empty subtasks should ends in SUCCESS
  • 57e288a improve property skip cache, closes #13027
  • a4ca349 use jdbcRepository.findOne to be tolerant of multiple results, closes #12943

executions

  • 4b3419b query ExecutionDelay to UTC to avoid any offset error
  • 56febfb don't remove worker task result for killed execution
  • bea3d63 concurrency limit exceeded for KILLED execution, closes #13211
  • d08a2d8 support Download content dispositions with brackets, closes #13299
  • d8e3a9b avoid infinite loop in some cases of execution failure (#13293), closes #13293
  • b33fbc2 don't ends flowable if any subtasks should be retried, closes #11444
  • d6933b8 avoid JdbcExecutor from being stuck due to missing flow
  • c80b05e simplify LabelInput usage in execution labels dialog (#12921), closes #12921
  • fc59fd7 allow reading from subflow even if we have a parent, closes #12629
  • d97f3a1 don't urlencode files as they would already be inside the storage
  • 4b719ea properly handle empty string results when debugging expressions (#12521), closes #12511 #12521

executor

  • 3358846 avoid infinite loop when flow not found by changing ex… (#13902), closes #13902

filters

  • ce12e19 bring back the removed visibledefault on reset (#13273), closes #13273
  • 1173eb2 make restoreUrl work better, closes #13082
  • 6ca2576 conditionally include namespace/ flowId key based on route (#12840), closes #12840

flow

  • 9957b16 flow trigger with both conditions and preconditions
  • 9372760 don't URLEncode the fileName inside the Download task
  • 217021c enhance error handling and validation for flow save operations (#12926), closes #12926
  • 3b7b0ba avoid stackoverflow error by tracking visited nodes, closes #12710
  • 1143caf Fixed Flow trigger example format (#12198), closes #12198

flows

  • eb0c8fc update cleanup behavior in flow creation to avoid blank screen (#14086), closes #14086
  • 925b8c6 deserialyze expression without cache (#13576), closes #13576
  • e440c40 add flow variables to runContext for checks
  • d7e17f1 synchronize unsaved popup with flow store (#13004), closes #13004

http

  • 84840fe safe guard on too big files for Request (#13232), closes #13232

kv

  • a5f17b9 all types properly handled and avoid trimming string KV values (#12765), closes #12765

metadata

  • fe7849d add system namespace to migrated namespaces (#13419), closes #13419

namespaces

  • 83adc8c prevent users from opening creation page on open source edition (#13841), closes #13110 #13841

ns-files

  • 379764a FilesPurgeBehavior had wrong possible subtype due to wrong import, closes #13748
  • e869c54 prevent ns files revision history failure & working restore

plugin doc

  • 8947fec only one intro is needed & only one root to suspense (#12744), closes #12744

plugins

  • 1903e6f avoid list flash when opening plugin (#13690), closes #13690

repositories

  • 7bca8b4 unwanted integer to string conversion (#13586), closes #13586

scheduler

  • 0f340a9 mysql convert 'now' to UTC to avoid any offset error on next_execution_date
  • ae204a0 convert 'now' to UTC to avoid any offset error on next_execution_date

secrets

  • 5ca6fa8 mark secret field required during creation (#13833), closes #13833
  • 95f4e3d NS update for a secret should be disabled properly with correct prop (#12834), closes #12834

system

  • 874007b MySQL fulltext search didn't work for suffix
  • c3861a5 merging collections should not duplicate items
  • 386d4a1 enable parallel loading for namespace files. (#13375), closes #13375
  • 9d6694f WorkerTask should not FAILED when interrupting so they would be resubmitted, closes #13108
  • 03b1b1b consume the trigger queue so it is properly cleaned, closes #11671
  • 7b05caf access log configuration
  • 7ff51bc killing a paused flow should kill the Pause task attempt, closes #12421
  • 9d3d40a trigger an execution once per condition on flow triggers, closes #12560

test

  • 2eb47b4 VersionProviderTest cannot work on release branches
  • d740f2d fix revision storybook (#13982), closes #13982
  • 5d5165b flag flowConcurrencyKilled() test as flaky
  • 5653531 avoid killing an already killed execution
  • eae5eb8 use a separate tenant for each test
  • 86e08d7 makes TracesTest.runningAFlowShouldGenerateTraces more tolerant on the number of traces

tests

  • a6cf201 concurrency test restarted
  • 42992fd add multiselect input tests for default and provided values
  • 687cefd use a different tenant for each concurrency test
  • 42dc3b9 pass previewInternalStorageFileFromExecution() test
  • b3b2ef1 pass inputs() test
  • 596a26a pass all failed tests
  • 8a9a1df fix failed tests after adding another input
  • a74ebd5 fix allValidTypedInputs() test by avoiding serialization of strings or other scalars, only serialize Maps and Collections
  • 3cbad1c fix StatefulTriggerInterfaceTest
  • 26f6154 NOT EQUALS on NamespaceFileMetadataRepositoryTest query was too flaky
  • d20f703 avoid flakiness with random worker group in JdbcServiceLivenessCoordinatorTest
  • 4e1b53f add tenant to ConcurrencyLimitServiceTest
  • 2191331 JdbcRunnerRetryTest.retryFailedFlowDuration flaky
  • 90c3281 WorkingDirectoryTest.outputFiles flaky
  • 9d73d72 ensure Executor is running before proceeding
  • b68dcb7 larger timeout for JdbcServiceLivenessCoordinatorTest.shouldReEmitTasksToTheSameWorkerGroup
  • 6578634 ensure restart does an assert on RESTARTED state
  • 8bd5593 export path was wrong
  • af87713 attempt to bump amount of executor threads in TestRunner
  • 371c128 SchedulerConditionTest.schedule use Instant instead of ZonedDateTime
  • 6a111a6 remove @RetryingTest for flaky test
  • 15da58d use another db name on webserver to avoid colliding with repositories
  • e37e2b0 better error message on AbstractRunnerTest.concurrencyQueueRestarted
  • 9f90412 run WorkingDirectoryTest in same thread due to race condition, closes #13134
  • c3d94dc remove JdbcTestUtils.drop usages as it defeats concurrent test runs
  • 98678de use test extension context per classes to follow our concurrent test run strategy
  • 527d80c failing unit test flowProperties (#13138), closes #13138
  • 1d1a065 lower termination grace period
  • 93662f3 bump amount of threads on tests (#12777), closes #12777
  • c3e4f58 remove some flake (#12699), closes #12699

trigger

  • 0c13633 ScheduleOnDates should work with backfill, closes #13673
  • f489678 TimeBetween should support cross-midnight range
  • 79fc5a3 fix trigger evaluation with TimeBetween condition (#10900), closes #10900

triggers

  • 2f9216c improve layout of action buttons in trigger table (#13658), closes #13658
  • 3a481f9 resolve MULTISELECT input defaults failing on scheduled executions
  • 082461f send delete triggers parameters properly to API (#12807), closes #11386 #12807

ui

  • 30232cd add checkboxes when enabling multi-selection mode in FileExplorer (#13656), closes #13656
  • a254de0 Drop "Administration" from Instance and Tenant (#13864), closes #13864
  • 5fc6d0b vertically center the search field placeholder (#13677), closes #13677
  • d16a8de use lightning bolt for execute button in flow run modal (#13762), closes #13762
  • fd3adc4 rephrase "kill parents" to "kill currernt", closes #12557
  • f9932af Updated the trigger button (#13521), closes #13521
  • 760050e improve responsive layout and styling of flow editor and sidebar (#13371), closes #13371
  • ed6bc50 Overflow of Flow labels in flow editor page (#13374), closes #13374
  • df21ef4 scrollbar flickering (#13263), closes #13263
  • cf0b551 Executions > outputs is now responsive (#13128), closes #13128
  • f2e7283 render level badge and header inline with message (#13130), closes #13130
  • 15e82f6 make plugins pages responsive (#12829), closes #12829
  • 4382aab Wrap header actions on Flows page for mobile view (#12976), closes #12976
  • 427c6f5 make login page responsive #12724 (#12760), closes #12724 #12760
  • 123c006 update debug and return plugin icons (#12538), closes #12538
  • 8ab2bdc prevent "Invalid date" display in Gantt view for executions … (#12605), closes #12583 #12605

variables

  • a7312ef properly send kv value when the type is json (#12759), closes #12739 #12759
  • 86dead7 amend creation and update of key-value pairs (#12741), closes #12598 #12716 #12732 #12741

webserver

  • 546039e export test with correct path + DateField for execution export (#13197), closes #13197

global

  • b111c36 deleting files should work and close editor (#14002), closes #14002
  • 5283cb9 missing dot in prefix filter for JDBC (#13953), closes #13953
  • 281301e fallback on string when facing json exception in set kv value (#13926), closes #13926
  • 6bcfbdc bring back implementation as object for Flow Labels (#13923), closes #12837 #13923
  • e65e630 worker detail (#13886), closes #13886
  • a1fc6cb display check error message when an execution is blocked (#13870), closes #13854 #13870
  • 75e0c1d updated the package-lock.json after dependencies upgrade (#13825), closes #13825
  • 431b4cc make reorder of tests work (#13774), closes #13774
  • 97e138f use injection instead of store (#13777), closes #13777
  • d48f3b9 concurrency-limit was included in Flows and Executions openapis #13801, closes #13801
  • 1a8a47c Make sure parentTaskRun attempts are also set to Killed (#13736), closes #13736
  • abcf76f avoid blocking creation of flow when edition is restricted to a namespace (#13694), closes #13694
  • 67ada7f remove JsonIgnore annotation from FlowWithSource and add schema(hidden=true) to Flow (#13681), closes #13681
  • ba1d6b2 executing validation twice should display 2 errors (#13670), closes #13670
  • 048dcb8 Webhook-triggered executions do not generate system.correlationId label while direct API executions do
  • 9bd6353 clicking on a plugin should access the plugin page (#13628), closes #13628
  • 0c14ea6 if multiple definition of a task, call server (#13545), closes #13545
  • 8a55ab3 always load the right version of plugin docs (#13571), closes #13571
  • f626c85 allow zero-byte file uploads in execution inputs (fixes #8218), closes #8218
  • 43f47ec error dialogue not appearing after first use of checks #13357 (#13364), closes #13357 #13364
  • 93f5e36 add unit test
  • 0465ffa unify label deserialization for numeric values in array form
  • 32da15b missing tenant id for flow creation in AbstractSchedulerTest (#13311), closes #13311
  • 393b132 correct regex when importing flow (#13320), closes #13320
  • d6c290c documentation pannel overflow (#13230), closes #13230
  • 56216ef loding of icons should be done with resources not in layout (#13288), closes #13288
  • 4799ee3 Remove per namespace dashboard on default flow dashboard (#13218), closes #12841 #13218
  • 6597318 avoid saving flow.yaml with the rest of namespace files (#13190), closes #13190
  • b8b20e7 make Namespace value show a value (#13210), closes #13210
  • 248c215 Debug Expression syntax highlighting stops (#13146), closes #13146
  • 51529c8 Add taskId parameter to task log API requests (#13106), closes #13106
  • f53135a loading icons should work (#13126), closes #13126
  • 117200e add defaultScope and defaultTimeRange props to various components (#13097), closes #13097
  • 3216611 make sure variables from ExecutionTrigger has AdditionalPropertiesValue to true (#13096), closes #13096
  • 360b58a failing sanity checks
  • 68ace7a loop until avoid taskrun duplication + handle submitted status (#13023), closes #13023
  • 1f8d2ea use pull request head sha instead of commit.sha (#13063), closes #13063
  • 748d055 make custom dashboard fully responsive (#12992), closes #12992
  • 4f45f18 use global in Bar.vue and remove useI18n (#12986), closes #12986
  • 68636a6 required fields can no longer have defaults (#12836), closes #12836
  • 7022c42 where prop can be null (#12828), closes #12828
  • e5d3d72 run validation when editing a dashboard (#12827), closes #12827
  • b144fae make sure datafilter is validated (#12822), closes #12822
  • bdbd9d4 unreadable-error-messages (#12787), closes #12787
  • 7d1f064 when removing a queued execution, directly delete instead of fetching then delete to reduce deadlock (#12789), closes #12789
  • f7e3d1e responsive dashboard grid (#12608), closes #12608
  • 190bf6f set FlowWithSource as implementation for getFlow method (#12644), closes #12644
  • dd65b46 preserve KV description when editing entries (fixes #12598) (#12606), closes #12598 #12606

🏭 Tests

cli

  • 031bcac add retries on PluginInstallCommandTest which relies on maven central
  • 5a73c3f add error logs when PluginInstallCommandTest CLI fails
  • 2de253e improve assertions of PluginInstallCommandTest to debug flakyness
  • dec1ee4 try to unflaky PluginDocCommandTest.run

core

  • 2b224bc add regression test for illegal namespace updates

e2e

  • 8a8911a make e2e tests pass again with restoreUrl (#12887), closes #12887

executions

kv

  • 18b6b4c plain text header is sent now

global

  • 5495971 add test env by default to be marked as test in ThreadUncaughtExceptionHandler.uncaughtException()
  • 1110263 fix gradle :test task being run twice

🔗 Dependencies

  • c69ecd7 Revert "chore(deps): upgrade Micronaut to 4.10.5"

🔄️ Changes

SvgDisplay

  • 5ad9862 convert component to use TypeScript with Compos… (#12581), closes #12581

core

  • a029849 remove redundant guard that is never executed (#13972), closes #13972
  • 3e06f57 remove usage of unnecessary i18n composable (#13925), closes #12968 #13892 #13925
  • 739aed6 remove usage of unnecessary i18n composable (#13908), closes #13225 #13908
  • d9738c7 remove invalid button type attribute (#13904), closes #13904
  • 31f1e50 remove usage of unnecessary i18n composable (#13826), closes #13350 #13826
  • 419c104 import moment as a library directly into the component (#13800), closes #12953 #13800
  • 02cd5ef remove usage of unnecessary i18n composable (#13804), closes #13261 #13804
  • fa4bf64 remove usage of unnecessary i18n composable (#13738), closes #13653 #13738
  • 27f81b5 remove usage of unnecessary i18n composable (#13781), closes #13257 #13781
  • 90d322c remove usage of unnecessary i18n composable (#13784), closes #13638 #13784
  • 47f4f43 remove usage of unnecessary i18n composable (#13686), closes #13640 #13686
  • b6e4df8 remove usage of unnecessary i18n composable (#13683), closes #13649 #13683
  • f063a5a remove usage of unnecessary i18n composable (#13663), closes #13652 #13663
  • ac91d56 remove usage of unnecessary i18n composable (#13662), closes #13650 #13662
  • e3d3c36 remove usage of unnecessary i18n composable (#13661), closes #13651 #13661
  • 5b68362 remove usage of unnecessary i18n composable (#13643), closes #13639 #13643
  • 2f8284b remove usage of unnecessary i18n composable (#13645), closes #13590 #13645
  • ae1f10f remove the configurattion details step (#13606), closes #13606
  • 612dccf remove usage of unnecessary i18n composable (#13607), closes #13589 #13607
  • 2ae8df2 remove usage of unnecessary i18n composable (#13604), closes #13588 #13604
  • 35ccb3e remove usage of unnecessary i18n composable (#13580), closes #13351 #13580
  • c6cf014 simplify changes by using variable
  • 3f8dcb4 In case of yaml as map just return as it is, no need to serialize/deserialize again
  • 97a78ab update yaml test structure
  • e821bd7 use writeValueAsString() for all cases
  • 1b75f15 remove usage of unnecessary i18n composable (#13492), closes #13352 #13492
  • f613eb0 remove usage of unnecessary i18n composable (#13389), closes #13201 #13389
  • 5db0f44 remove usage of unnecessary i18n composable (#13382), closes #13353 #13382
  • 042d548 remove all traces of the old e2e setup (#13356), closes #13356
  • f43f11e remove usage of unnecessary i18n composable (#13379), closes #13354 #13379
  • 7cb494b remove usage of unnecessary i18n composable (#13366), closes #13224 #13366
  • 2722735 remove usage of unnecessary i18n composable (#13305), closes #13259 #13305
  • e9b7d19 remove usage of unnecessary i18n composable (#13298), closes #13260 #13298
  • d6cfa01 remove usage of unnecessary i18n composable (#13302), closes #13227 #13302
  • aecd050 remove usage of unnecessary i18n composable (#13286), closes #13258 #13286
  • f29dbe5 remove usage of unnecessary i18n composable (#13246), closes #13228 #13246
  • 4e54fac remove usage of unnecessary i18n composable (#13252), closes #13226 #13252
  • e353399 remove usage of unnecessary i18n composable (#13248), closes #13200 #13248
  • 568e66c remove unused component from codebase (#13244), closes #13145 #13244
  • 5a8552a remove LogService
  • 491e286 remove usage of unnecessary i18n composable (#13229), closes #13172 #13229
  • 469e230 remove usage of unnecessary i18n composable (#13219), closes #13203 #13219
  • ebb86f6 remove usage of unnecessary i18n composable (#13223), closes #13202 #13223
  • 27bcb9c remove usage of unnecessary i18n composable (#13207), closes #13173 #13207
  • 3f7b6a0 remove usage of unnecessary i18n composable (#13208), closes #13204 #13208
  • 187319a remove usage of unnecessary i18n composable (#13183), closes #13175 #13183
  • 9459d65 remove usage of unnecessary i18n composable (#13182), closes #13176 #13182
  • a9d1e9a remove usage of unnecessary i18n composable (#13194), closes #13174 #13194
  • bd4eebe import toast directly from the composable (#13171), closes #12951 #13171
  • a5ec12c import moment as a library directly into the component (#13125), closes #12955 #13125
  • 5439d39 import moment as a library directly into the component (#13139), closes #12956 #13139
  • a4b0bea remove unused component from codebase (#13123), closes #12960 #13123
  • a5847ae remove unused component from codebase (#13111), closes #12961 #13111
  • 49bbc15 remove unused component from codebase (#13112), closes #12959 #13112
  • 90ee720 remove usage of unnecessary i18n composable (#13103), closes #12949 #13103
  • fd25908 remove usage of unnecessary i18n composable (#13104), closes #12970 #13104
  • 0ed2b0a remove usage of unnecessary i18n composable (#13083), closes #12950 #13083
  • 0db2d87 clean up usage of constants throughout the repositories (#13011), closes #7905 #13011
  • 4dc7924 remove usage of unnecessary i18n composable (#12996), closes #12962 #12996
  • 517aa3d remove usage of unnecessary i18n composable (#12990), closes #12964 #12990
  • a6f8453 import toast directly from the composable (#12981), closes #12952 #12981
  • 6803801 refactor to Composition API with TypeScript (#12929), closes #12929
  • c734881 remove i18n console error (#12958), closes #12958
  • 29db459 move component to enterprise repository where it's used (#12945), closes #12945
  • 4c25c62 replace soon-to-be-deprecated scroll directive (#12811), closes #12798 #12811
  • af1119d amend small spelling mistakes (#12928), closes #12928
  • 65eeea8 Tabs.vue to TypeScript with composition API. (#12692), closes #12692
  • 58e5efe uniform .gitignore file for javascript (#12802), closes #12802
  • f8bb59f replace soon-to-be-deprecated button attribute (#12796), closes #12796
  • f0ceda5 properly do trigger filter (#12780), closes #12780
  • e584933 remove obsolete package-lock file (#12726), closes #12726
  • a3fe9f2 use edition property from config to determine whether it's oss (#12295), closes #12295
  • ba3952b remove unnecessary typescript comments (#12601), closes #12601

executions

  • f1bdcd6 improve execution ts types (#13855), closes #13855
  • 24355c2 improve the trigger cascader on the overview page (#13524), closes #12942 #13283 #13290 #13294 #13524

filter

  • 865aaa1 re position refresh and reset (#13142), closes #13142

jdbc

  • 1847105 avoid unnecessary JDBC executions.

tests

  • 55d0880 move test coverage to InputsTest instead of SubflowRunnerTest

ui

  • c4a6ea6 migrate Toc.vue to Vue 3 Composition API with full Type… (#13113), closes #13113
  • 4297459 Convert LogChart.vue component to TS (#12987), closes #12987
  • 4d59bac use global $t in DashboardEditorButtons template (#12982), closes #12982

global

  • e46fbe4 unify management of anonymous routes (#13181), closes #13181
  • 1e80b7f enhance pie/doughnut chart responsiveness with adaptive thickness calculation (#12709), closes #12709
  • a60bc2e remove one last warning from hacktoberfest (#12757), closes #12757
  • 686c99f remove double replace for markdown (#12706), closes #12706
  • 8b1ceb8 Merged EnhancedMarkdown.vue & Markdown.vue (#12214), closes #12214

🛠 Build

core

  • 4b25232 remove unused dependency (#13064), closes #13064

deps

  • 5a59de5 bump dev.langchain4j:langchain4j-community-bom
  • e9103b3 bump dev.langchain4j:langchain4j-bom from 1.9.1 to 1.10.0
  • 28b8da9 bump software.amazon.awssdk:bom from 2.40.15 to 2.41.0
  • 4620b38 bump the minor group in /ui with 4 updates (#13921), closes #13921
  • d7fe9c2 bump pdfjs-dist in /ui in the patch group (#13922), closes #13922
  • 64a9603 bump the build group in /ui with 3 updates (#13918), closes #13918
  • 39b83b3 bump com.github.oshi:oshi-core from 6.9.1 to 6.9.2
  • b169f48 bump org.sonarqube from 7.2.1.6560 to 7.2.2.6593
  • b3b3e40 bump software.amazon.awssdk:bom from 2.40.10 to 2.40.15
  • 4cf8838 bump the minor group in /ui with 4 updates (#13821), closes #13821
  • 87b1e8f bump the patch group in /ui with 7 updates (#13822), closes #13822
  • b5c6101 bump the build group in /ui with 6 updates (#13820), closes #13820
  • 0d99dc6 bump actions/upload-artifact from 5 to 6
  • 7f77b24 bump com.google.cloud:libraries-bom from 26.72.0 to 26.73.0
  • ec6820d bump org.aspectj:aspectjweaver from 1.9.25 to 1.9.25.1
  • d94193c bump software.amazon.awssdk.crt:aws-crt
  • c962804 bump io.qameta.allure:allure-bom from 2.31.0 to 2.32.0
  • 4cbc069 bump nl.basjes.gitignore:gitignore-reader
  • eabe573 bump software.amazon.awssdk:bom from 2.40.5 to 2.40.10
  • ecd6461 bump org.testcontainers:junit-jupiter from 1.21.3 to 1.21.4
  • a5650bc bump org.sonarqube from 7.2.0.6526 to 7.2.1.6560
  • ed59e26 bump org.apache.logging.log4j:log4j-to-slf4j
  • a5f9d54 bump io.pebbletemplates:pebble from 4.0.0 to 4.1.0
  • 5d31c97 bump the minor group in /ui with 6 updates (#13725), closes #13725
  • f810728 bump the patch group in /ui with 5 updates (#13726), closes #13726
  • 8dc8dc1 bump the build group in /ui with 9 updates (#13723), closes #13723
  • 09c707d bump the minor group in /ui with 15 updates (#13616), closes #13616
  • 94c00ce improve storybook related grouping of dependabot pull requests (#13618), closes #13618
  • b7cb933 bump the patch group in /ui with 9 updates (#13568), closes #13568
  • 1977b61 bump software.amazon.awssdk:bom from 2.40.0 to 2.40.5
  • 8e2267f bump com.fasterxml.uuid:java-uuid-generator
  • 51adcfa bump flyingSaucerVersion from 10.0.5 to 10.0.6
  • a55baa1 bump software.amazon.awssdk.crt:aws-crt
  • 32793fd bump com.microsoft.playwright:playwright
  • 4381d58 bump org.sonarqube from 7.1.0.6387 to 7.2.0.6526
  • e595e26 bump org.jooq:jooq from 3.20.9 to 3.20.10
  • a07df5f bump the build group in /ui with 3 updates (#13563), closes #13563
  • 28370d8 bump dev.langchain4j:langchain4j-community-bom
  • cc5fd30 bump software.amazon.awssdk:bom from 2.39.4 to 2.40.0
  • 61c39d2 bump dev.langchain4j:langchain4j-bom from 1.8.0 to 1.9.1
  • b5a40b2 bump com.azure:azure-sdk-bom from 1.3.2 to 1.3.3
  • 825b9db improve storybook related grouping of dependabot pull requests (#13344), closes #13344
  • b0ce760 improve grouping of dependabot pull requests for npm ecosystem (#13337), closes #13337
  • 2d68dad bump the build group in /ui with 3 updates (#13321), closes #13321
  • e31e833 bump actions/checkout from 5 to 6
  • e7a99bb bump software.amazon.awssdk.crt:aws-crt
  • 1fd4bf7 bump org.sonarqube from 7.0.1.6134 to 7.1.0.6387
  • c5851ce bump com.gorylenko.gradle-git-properties
  • 1f19760 bump bouncycastleVersion from 1.82 to 1.83
  • 6a8e6b4 bump flyingSaucerVersion from 10.0.4 to 10.0.5
  • 80d8182 bump io.pebbletemplates:pebble from 3.2.4 to 4.0.0
  • 0a62957 bump software.amazon.awssdk:bom from 2.38.9 to 2.39.4
  • 2c46bc0 bump vue-i18n from 11.1.12 to 11.2.2 in /ui (#13167), closes #13167
  • aec75bb bump nl.basjes.gitignore:gitignore-reader
  • d6ecbad bump kafkaVersion from 4.1.0 to 4.1.1
  • 2056050 bump com.google.cloud:libraries-bom from 26.71.0 to 26.72.0
  • 6ef3a00 bump peter-evans/repository-dispatch from 4.0.0 to 4.0.1
  • f70d612 bump actions/github-script from 7 to 8
  • 0b345c0 bump net.e175.klaus:zip-prefixer from 0.3.1 to 0.4.0
  • ecb508f bump io.qameta.allure:allure-bom from 2.30.0 to 2.31.0
  • 38caea2 bump flyingSaucerVersion from 10.0.3 to 10.0.4
  • cdad732 bump org.wiremock:wiremock-jetty12 from 3.13.1 to 3.13.2
  • 0dd4cb9 bump org.apache.commons:commons-lang3 from 3.19.0 to 3.20.0
  • c35ca82 bump software.amazon.awssdk:bom from 2.38.4 to 2.38.9
  • 3c09a38 bump the patch group in /ui with 6 updates (#13057), closes #13057
  • 0525e3e bump the build group in /ui with 6 updates (#13044), closes #13044
  • a5ccfbb bump com.github.ben-manes.caffeine:caffeine
  • 84dddb0 bump js-yaml from 4.1.0 to 4.1.1 in /ui (#12978), closes #12978
  • c8f96d5 remove commit message prefix for dependabot npm pull requests (#12907), closes #12907
  • 0b853e0 add commit message prefix for dependabot npm pull requests (#12896), closes #12896
  • 6b94756 bump the build group in /ui with 9 updates (#12891), closes #12891
  • d2e031b improve grouping of dependabot pull requests for npm ecosystem (#12888), closes #12888
  • 53d279c bump com.vanniktech.maven.publish from 0.34.0 to 0.35.0
  • 96e4776 better grouping of dependabot pull requests for npm ecosystem (#12880), closes #12880
  • 42b0a8f bump software.amazon.awssdk:bom from 2.37.5 to 2.38.4
  • 8abd719 bump nl.basjes.gitignore:gitignore-reader
  • e3672c2 bump org.jooq:jooq from 3.20.8 to 3.20.9
  • 16eee64 bump commons-io:commons-io from 2.20.0 to 2.21.0
  • fde653d bump org.owasp.dependencycheck from 12.1.8 to 12.1.9
  • 0674a36 run dependabot for npm ecosystem monthly and group update pull requests (#12876), closes #12876
  • 12768d1 bump opensearchRestVersion from 3.3.1 to 3.3.2
  • 67d3f84 bump com.azure:azure-sdk-bom from 1.3.0 to 1.3.2
  • 17af9fb bump jacksonVersion from 2.20.0 to 2.20.1
  • 8da2757 bump nl.basjes.gitignore:gitignore-reader
  • d56381d bump software.amazon.awssdk:bom from 2.36.3 to 2.37.5
  • a133043 bump org.opensearch.client:opensearch-java
  • bb92592 bump org.aspectj:aspectjweaver from 1.9.24 to 1.9.25

deps-dev

  • e432372 bump storybook from 9.1.16 to 9.1.17 in /ui (#13761), closes #13761
  • 834dfd2 bump @types/node in /ui in the types group (#13724), closes #13724
  • abdbb8d bump @types/node in /ui in the types group (#13613), closes #13613
  • ac11e95 bump @types/node in /ui in the types group (#13564), closes #13564
  • ed83022 bump the patch group in /ui with 3 updates (#12895), closes #12895

gradle

  • b23c158 log at beginning and end of test tasks
  • 69cc6b2 insure test report is always generated

global

  • c0ab581 use npm ci instead of install
  • e15b53e add missing GH_PERSONAL_TOKEN in main-build.yml
  • 78c81f9 add GH_PERSONAL_TOKEN in release-docker.yml CI for helm chart
  • d167934 temporary revert deletion to make develop have plugins again

📝 Documentation

PurgeFiles

  • 851c631 update documentation and example (#13730), closes #13730

core

  • de5750f improve the pull request template (#13787), closes #13787
  • ecf9830 improve the pull request template (#12975), closes #12975

flow-properties

  • e0d0d03 add checks (#13968), closes #13968

flow-trigger

  • 1c658ae add example using preconditions on labels (#12918), closes #12905 #12918

foreach

  • aae3e66 improve explanation of concurrencyLimit semantics (#13085), closes #13085

task-runner

  • 60235a4 remove deprecated runner from example (#13654), closes #13654

global

  • d7caf9a indent properly core plugins examples (#13199), closes #13199
  • a3c781f add {tenant} placeholder in webhook trigger URL description (#12185), closes #12185

  • 8f56b0e align checkbox and augment click resilience (#13980), closes #13980
  • e21e0fc Revert "fix(system): MySQL fulltext search didn't work for suffix"
  • e0e745c Revert "fix(api): add netty-codec-multipart-vintage"
  • 0bc8e8d fix(flow) Improve Exception Handling with clear error message (#13674), closes #13674
  • e88dc7a fix(core) : removed top border for the first log entry (#13621), closes #13621
  • 018c229 Revert "feat(jdbc): method without auditlog registered for setting repository (#13543)" (#13581), closes #13543 #13581
  • 56bb3ca Fix week format in filter
  • 24a3bbd 11229 : Ensure that a label key cannot contain spaces, special characters or encoded values (e.g. emojis)
  • e0410c8 made system overview page responsive (#13527), closes #13527
  • ad55211 ui: button glow timing and banner placement (#13417), closes #13417
  • 4ec7f23 Amend inconsistency
  • f5665bf Update core/src/test/java/io/kestra/core/serializers/YamlParserTest.java
  • b6db688 Update core/src/test/resources/flows/valids/labels-deserialization.yaml
  • b18e3b7 core: expose TaskLogLineMatcher (#13300), closes #13300
  • 5b597b9 Fix ZIP download so that file extension remains .yaml
  • c0ecc2c revisions: introduce a generic Revisions component
  • 9fa94de core: rename Await.until(sleep) and (timeout) to avoid confusions
  • ea17077 e2e: reproduce and fix flake (#13075), closes #13075
  • e56e35e follow timezone from settings when displaying DATETIME KV (#9428) (#12363), closes #9428 #12363
  • 4525d1f Simplify SurveyDialog.vue translations by using $t in template (#12985), closes #12985
  • 16b1cc6 Fix(ui) increase modal width on mobile #12729 (#12904), closes #12729 #12904
  • 8a7f293 Revert "fix(core): bring the usage of restore url (#12762)" (#12915), closes #12762 #12915
  • ef5615e [npm] Bump the types group in /ui with 4 updates (#12901), closes #12901
  • a83fe7e [npm] bump posthog-js from 1.289.0 to 1.291.0 in /ui (#12897), closes #12897
  • 26290dd Setup is not usable on mobile #12723 (#12803), closes #12723 #12803
  • a65310b Adjust TopNavBar padding for small screens and add right-side gradient (#12799), closes #12799
  • 33299dc Issue - 10984 | Full dependency graphs for parent child namespaces.
  • 0b6a4d2 Revert "fix(core): apply timeRange filter in triggers (#12721)" (#12763), closes #12721 #12763
  • f10f7ea Fix(UI)/kv type boolean (#12643), closes #12643
  • 8fdbd0a Revert "build(deps): bump org.opensearch.client:opensearch-java"
  • 4e793ef Add limit() default method to StorageInterface for object name length validation
  • 65d42c0 fix(gantt):nested task alignment issue (#12333), closes #12333

Contributors

We'd like to thank the following people for their contributions:
2400031832, AJ Emerich, Aaryan meena, Aditya, Aditya Kumar Puri, Aditya Pandey, Aditya Tile, Adriana Arroyo Fernandez, Afroj Mulani, AkhilChowdary2222, Alankar Jagtap, Aleksa Radosavljević, Ameen PJ, Amit Dewal, Anna Geller, Arghyadeep, Arshdeep Singh, Ashutosh Jha, Asmita Das, AtulRaghuvanshi73, Avirup Banik, Bart Ledoux, Barthélémy Ledoux, Bharath A V, Bhuvan C V, Bikash Agarwala, Claude, Clément Doumouro, Copilot Autofix powered by AI, David Seselja, Debjyoti Shit, Deepika Vaddevalli, Devansh Pandey, Dheeraj_R_Gowda, EM, Eshaan Gupta, Florian Hussonnois, François Delbrayelle, Georg Traar, GitHub, GitHub Action, Gulshan Kumar, Harsh_w/n, Harshit Singh Rathore, Hemant M Mehta, Hritik Raj, Irfan, Iulian Ghita, Jay Balwani, Kanan, Karan Suresh, Karthik D, Kasyap Pentamaraju, Kavyakapoor, Kollakota Siva Sai, Krie, Krishna Bairagya, Kunal, Lee Kyeong Joon, Lee KyeongJoon, Leonardo Ishida, Loïc Mathieu, Ludovic DEHON, M s kulkarni, MSHIVVANI, Madhav Kaushik, Mahadeva Peruka, Mahijith Krishna Menon, Malay Dewangan, Md Noorullah, MdTanwer, MilosPaunovic, Miloš Paunović, Mohd Toukir Khan, Mustafa Tarek, Nancy Sangani, Narasimha Asuri, Nguyen Duc Anh, Nicolas K., Nirnay, Nishant Raj, Norman_Osbon, Omar Moustafa, Omkar Nagare, Pa1, Piyush Bhaskar, Pradumna Saraf, Prasanth, Pratik Dey, Purbasha Mitra, ROHITH, RONGALI MOHAN KRISHNA 2400033266, Ravi kumar, Raúl Soto, Richard-Mackey, Ridham Anand, Ritik Verma, Roman Acevedo, Ronin@73, SIVALANAGASHANKARNIVAS, Saif M, Sarvesh, Shankar, Shatrughan, Shivansh Sharma, Siddhant Kashyap, Siddhant Sonawane, Siva Sai, Sparsh Kapoor, Sumit Shandillya, SungJunBaek, Suraj, Suraj Bhandarkar S, Tanbir Ali, Tsaishashanth, VAMSIKRISHNA BATRAJU, Vaidesh, VaideshWaranR, Vedant794, Vinicius Wrubleski, Vipin Chandra Sao, Will Russell, XCode, YannC, YannC., Yaswanth B, Yongha Kwon, Yuvraj Karna, aflahaa, ameenpj, anglerfishlyy, ben8t, brian-mulier-p, brian.mulier, char zheng, dependabot[bot], devadhe sb, github-actions[bot], iitzIrFan, kkash08, lizi3, luoxin, luoxin5, maharaj21, mustafatarek, nKwiatkowski, neonbit101, pengpeng, sachin, sarika, sh, shashank.agrawal, suraj a, tharani-2006, tushar, tusharsh8860, vamsi172323, varunkasyap, vishnuvarthan, wang, wangk, wenhan-u7898909, yuri, yuri1969, zihenzzz, Ömer Çengel


Kestra Enterprise Edition Changes

Changelog

🚀 Features

API

  • 8f28c20 add logs to human task (#6295), closes #6295
  • 04a3449 add delete revision endpoint (#6275), closes #6275

ai

  • 9fc92b7 allow passing custom headers to supported LLM provider, closes #6043

assets

  • 8cd9c18 add support for recursive asset topology (#6325), closes #6240 #6325
  • 85a66ad add support for bulk deletion (#6324), closes #6248 #6324
  • e096355 add support for recursive assets topology, closes #6240
  • 0f4457e add support for bulk deletion, closes #6248
  • 269f89b asset tab to link all related asset in the execution (#6293), closes #6293
  • fb5a8e1 various improvements, closes #6274 #6282
  • 7ceccde add an AssetShipper task
  • 765baf1 introducing assets ui
  • 386a3c7 continue Assets implementation
  • e9ddb06 introduce Assets

blueprints

  • b307b6f use regular Inputs in Blueprint Templates
  • 09597d4 impl templated flow blueprints

core

  • 70fe20a add stable ids to left menu items for consistency (#6342), closes #6342
  • 0117ebc assets as tab in namespace (#6288), closes #6288
  • 9f5a43c improve left menu structure (#6152), closes #5415 #6152
  • d43f7b8 always bundle the fonts into the build (#6135), closes #6135
  • 584e694 list out the KV and secrets from upstream parent in ns context (#5972), closes #5972

execution

  • 0aa5ac6 add a system.from label, closes #4699
  • ded01b8 add an attemps on skipped tasks

executions

  • 2cee3d4 add support to ACL check inside the run context, closes #4228

filters

  • 7fa8786 add new operation to filters (#6057), closes #6057

flow

  • eef909a parent namespace topology

flows

  • 0fad5ae improve human task in bulk method, kill and force run (#5920), closes #5920

license

  • e1800bd add feature gating for ldap, closes #5375
  • f1c9f6d add feature gating for rbac namespace
  • c77f658 add feature gating for h2
  • d8e0e26 add feature gating for external secret managers
  • 556bf2f add feature limit for tenants
  • c68eac8 add feature limit for users
  • 0fdf487 add feature gating for unit-tests
  • 0d017c6 add feature gating for log shippers, closes #5375
  • c1e683f add check for worker group count, closes #5375
  • f366d94 add feature flag for custom roles, closes #5375
  • d49b261 add feature gating for task-runner, closes #5375
  • c3d8617 add feature flag for AI custom LLM, closes #5375
  • 69dbaaf add support for feature gating (#5375), closes #5375

ns-files

  • 1bc589c add a metadata layer on top for better performance & versioned ns files

plugin-metadata

  • b42a51c add plugin metadata (#6073), closes #6073

system

  • 3286599 replace our SecurityManager by a Java agent, closes #3151
  • a2e3591 display concurrency limits page based on property from endpoint (#6132), closes #5882 #6132
  • 1c3d6c0 monitor all cache in micrometer

trigger

  • 4dee845 add support for concurrent trigger execution

triggers

  • c5259f1 delete triggers (#5710), closes #5710

unit_test

  • f8e13fd add missing trigger support on unit test, closes #4859

global

  • e3703a1 add multi panel editor to custom blueprint (#6326), closes #6326
  • def9289 Added correct behavior in case license is expired or suspended (#6200), closes #6200
  • 987ff3a add a message in the banner to indicate that the license is in … (#6196), closes #6196
  • f699fc2 move refresh license button on stats page (#6197), closes #6197
  • ae4f18a license online polish (#6157), closes #6157
  • 84b42b7 online license (#6047), closes #6047
  • 3fd23f0 allows to export flows/triggers/executions as a streamed CSV files (#5952), closes #5952
  • 97eb8d2 align import flow on oss (#5889), closes #5889
  • 91979ae login with GH app for checkrun creation (#5876), closes #5876
  • 04b5a9f no-code for tests (#5705), closes #5705
  • 22d2151 set version as Kestra version in openapi spec (#5823), closes #5823
  • 58ecbd4 checkrun instead of comment (#5833), closes #5833
  • 984d639 checkrun instead of comment (#5831), closes #5831
  • 5fd8b12 write a comment on OSS PR to indicate EE state (#5755), closes #5755
  • cfdd610 Revert "feat: load jars from libs/ into CLASSPATH (#5712)", closes #5712
  • 80f316d load jars from libs/ into CLASSPATH (#5712), closes #5712

📘 Subtasks

core

  • 6413d9f properly highlight tenant-related menu items (#6354), closes #6283 #6354
  • 7ac9d4c fix inconsistencies in tenant & instance menu sections (#6349), closes #6283 #6349
  • 0279d12 remove the overview tab of tenant/iam menu section (#6346), closes #6283 #6346
  • f28944d simplify the tenant/iam menu section (#6340), closes #6283 #6340
  • 61d1da6 make the apps catalog a separate page (#6333), closes #6283 #6300 #6333
  • bb93e89 improve left menu styling and behavior (#6296), closes #6294 #6296
  • 728a09b replace legacy icons with new ones (#6246), closes #6245 #6246
  • af67d3d improve button labels on blueprint creation (#6243), closes #6242 #6243
  • 912ca0a localize to languages other than english
  • eecd516 add link to edit blueprint on a detail page (#6229), closes #6227 #6229
  • b21d987 only show dropdown menu for custom blueprints (#6230), closes #6230
  • 7c2af2b add default custom blueprint source yaml value (#6226), closes #6226
  • 4362f03 properly wrap code sections in templated blueprints helper markdown (#6224), closes #6222 #6224
  • 96012e1 reorganize menu items under instance administration iam section (#6218), closes #6203 #6218
  • d23ba32 make left menu appear as overlay on small screens (#6219), closes #6219
  • 9ab2dda introduce apps catalog settings as a standalone menu item (#6217), closes #6205 #6217
  • 23735d2 polishing of templated blueprints ui (#6201), closes #6179 #6201
  • cd21479 localize to languages other than english (#6202), closes #6202
  • 8621b33 remove duplicate key/value pair from translation files (#6198), closes #6198
  • 238a8b9 amend preprocessor options in vite config (#6131), closes #6131
  • a7925bd align font sizes with the new scss variables from ui-libs (#6130), closes #6130
  • c3d7673 properly load font weight 600 of public sans (#6116), closes #6116
  • 7ed57e0 enhance github issue templates by adding type (#5991), closes #5991
  • 282c824 add back the condition for the license banner (#5935), closes #5895 #5935
  • 789973e ensure the license banner does not block buttons (#5924), closes #5895 #5924
  • 0001f0c add toast confirmations for announcement actions (#5923), closes #5910 #5923
  • b0eb65b improve handling of local and cdn-loaded fonts (#5892), closes #5892

deps

  • 01f6c9e regular dependency update (#5918), closes #5918
  • d521d6c regular dependency update (#5730), closes #5730

iam

  • 5004a43 add cancel button to iam section creation dialogs (#6357), closes #6357

system

  • 6323587 share JDBC repository code in an abstract CRUD repository
  • 9521725 replace Flow by FlowWithSource in the trigger state
  • 5b12f7a reduce repository code duplication between OSS and EE, closes #1684
  • 24a576f remove leftovers inside the abstract Elasticsearch repository

test

  • 37613d8 resolve Mockito JDK21 warning
  • 1000c35 disable some asset tests for now
  • 9e76d1d rework and fix gradle check phase
  • 35db243 add missing tests for group claims sync, closes #6124

tests

  • 5c5c016 improve error status color scheme (#6231), closes #6228 #6231

ui

  • d7f0d65 Unify design on Overview (#6270), closes #6270

version

  • 18004e1 update to version '1.2.0'
  • b693fc9 update to version 1.2.0-rc1
  • 797c21c update to version 1.2.0-rc0
  • daa256f upgrade to v1.2.0
  • d1d0f15 bump ui-libs (#6062), closes #6062
  • 71d3fa3 upgrade to v1.2.0-SNAPSHOT

global

  • 4c1e6ac update EE plugins icons with new look & feel (#5930), closes #5930

🐛 Bug Fixes

apps

  • 845ed54 fix preview/dowload file from nested subflows (#5929), closes #5929
  • 9676e5a InputAndValue exceptions was changed
  • 2183d3e get the form data for app view (#5727), closes #5727

assets

  • ab4055f delete assets should delete topology nodes, closes #6331
  • 5de9b56 support 'q' filter on asset usage
  • d78468c cannot sort by executionId, closes #6268
  • 33fecb2 differentiate asset node from flow (#6261), closes #6261
  • 19d482b ensure asset namespace is correctly handled as assets are identified by only their ID (#6249), closes #6249
  • 9bd9353 make the asset type clickable and add in filter interface to do the filtering (#6259), closes #6259
  • 899d2b6 support a namespace parameter in the assets function, closes #6244

auditlog

  • 78e49ff possible NPE on audit log, closes #5673
  • 875a879 fix auditlogs details for testsuite and run (#4968), closes #4968

auths

  • b642509 add IP rate-limits to avoid spam on forgotten password, closes #4843
  • b62324a token not found when failing to send email for forgotten password
  • 2e0794c add cooldown property for user forgotten password, closes #4843

backup

  • bfc0107 backup dashboards as map to avoid stackoverflow, closes #6114
  • 9454d3e null-safe expirationDate KV backup + add system NS to namespaces (#5818), closes #5816 #5817 #5818

blueprints

  • 988448d tags is required to be not null in mysql
  • f797d72 compile issue of removed method

ci

  • 61e2b82 use ref in concurrency and in condition for image publishing (#6285), closes #6285
  • 1490594 change concurrency group + avoid publishing when even is oss-updated (#6281), closes #6281
  • 1c1a654 use statuses commit (#5877), closes #5877
  • 52710d0 failsafe global-create-new-release-branch.yml
  • 0875c4d failsafe global-create-new-release-branch.yml
  • 71850e7 failsafe global-create-new-release-branch.yml
  • 370671a failsafe global-create-new-release-branch.yml

cli

  • 0a85f33 also fetch parent namespaces resources for metadata migration, closes #6019
  • 519283a no-args will properly return help (#5856), closes #5842 #5856
  • 733c695 show available resources options in backup commands (#5840), closes #5728 #5840

core

  • 1127edf hide the instance menu item for non-superadmin users (#6373), closes #6372 #6373
  • 0dba8c4 ensure the blueprint use button works as expected (#6368), closes #6368
  • 85473e9 amend tenant links in left menu (#6353), closes #6283 #6353
  • 9951108 ns is not required, and allow custom ns creation (#6328), closes #6328
  • 5ab3e40 instance and tenant specific usages (#6322), closes #6322
  • f580a0f correct left menu back navigation history (#6273), closes #6204 #6273
  • 2d3fa09 add trigger disabled query filter
  • ce624a0 properly check hard/soft license limits
  • 445734d fix edit btn of custom blueprint and layout (#6194), closes #6194
  • 4f727cf remove PostConstruct and cleanup LicenseService
  • 6c40824 handle undefined namespace (#6172), closes #6172
  • 9631d96 simplify user form validation. (#6168), closes #6168
  • 05d1207 check license during validation not bean creation
  • a50342a Await util renaming (#6045), closes #6045
  • 43e571b responsiveness in system overview (#6034), closes #6034
  • b46e416 move useFeature() into component instance (#6035), closes #6035
  • 261b2be compute execution duration if absent
  • 9695fd8 acl.check was not called (#5986), closes #5986
  • 2f63dc8 ensure row unselected after actions (#5978), closes #5978
  • 9011534 add latest option for secret & storage types in tenant & namespace (#5943), closes #5767 #5943
  • 72adbb6 clear the worker group key from namespace (#5764), closes #5764
  • e93faa7 less aggressive user validation logic and form handling. (#5815), closes #5815
  • edb3446 refactor to ts and fix password match message (#5763), closes #5763
  • f9d244c bring the usage of restore url (#5717), closes #5717
  • ca6a1a7 bring dashboards selector in navbar of flow and namespaces (#5701), closes #5701
  • 00f9d13 use status from ui libs (#5698), closes #5698

dashboard

  • f4b1bab dashboards should filter on NORMAL kind, closes #6298

execution

  • 0c3c253 NORMAL kind should also be retrieved

executions

  • 186600e killing an execution should pop a queued one
  • 40fe744 allow only sorting in ES pageable
  • b9caf90 avoid Executor being stuck / slow startup due to flow init

filter

  • f0f7a17 update user value mapping to use user ID (#5973), closes #5973

flow

  • 423809f readOnly flow now send a 403 status
  • a557872 flow trigger with both conditions and preconditions

flows

  • 24658c2 remove alias for human task (#6348), closes #6348
  • 8d752d9 use equals ignore case to validate assignments (#6337), closes #6337

github

  • a82f437 update feature.yml (#5975), closes #5975
  • 5df7ee5 add templating for issues

iam

  • 5a4321d amend user breadcrumb when no display name is set (#6356), closes #6356
  • a7bad14 show the correct component for service accounts under tenants (#6355), closes #6321 #6355

kafka

  • d53f2d7 avoid QUEUED executions going to RUNNING from being stuck

license

  • 8cce104 fix feature gating for audit-logs
  • eb3e8e3 fix feature gating for AI LLM
  • 89edd6b enable by default unknown features
  • 3c358c5 make sure disable dedicated secret/storage, closes #5375

metadata

  • 5e424c1 add system namespace to migrated namespaces (#6056), closes #6019 #6056

namespace

  • f224bba properly detect the id and enable the tab (#5951), closes #5951

namespaces

  • 8297bd9 prevent users from opening creation page on open source edition (#6220), closes #6220

rbac

  • 12c2f13 fix default role with tenant (#5931), closes #5931
  • 03a64ec fix check for user is any group (#5659), closes #5659

revisions

  • bb3cc0e add retries to audit log fetch

scheduler

  • dca6523 mysql convert 'now' to UTC to avoid any offset error on next_execution_date, closes #5611

secrets

  • c1029c7 NPE when converting Tags models (#5981), closes #5981
  • 7f37bc3 check read only for the tenant / namespace instead of from the global configuration (#5934), closes #5934

test

  • b961e66 tag KafkaAssetShipperRunnerTest as flaky
  • ca06b8d set termination-grace-period: 5s everywhere

tests

  • 0777898 fix flaky test AbstractSchedulerWorkerGroupTest
  • 9b98b18 remove flakiness from FlowListenersRestoreCommandTest
  • 3b495ef add @primary to avoid duplicate beans
  • 3e41b78 missing JDBC EE H2 module + missing tenant
  • b027269 assert logs in Await.until
  • fdceb98 KafkaRunnerRetryTest.retryFailedFlowDuration flaky
  • 148d91f use another db name on webserver to avoid colliding with repositories
  • abe9c8d avoid backup tests from overflowing / taking wrong storage data (#5829), closes #5829

ui

  • 853dfff Drop "Administration" from Instance and Tenant (#6233), closes #6233

unsavedChanges

  • 92b9873 replace coreStore with unsavedChangesStore to manage unsaved changes (#5927), closes #5927

webserver

  • 07b5469 fix javadoc with Lombok builder

global

  • de24e48 make the isSuperAdminRoute more permissive to works with new admin route (#6352), closes #6350 #6352
  • 9f1d891 ui const renamed in OSS
  • 6d7a9b1 avoid configuration crashing if a secret plugin has no ID + added id to testsecretmanager class (#6169), closes #6169
  • 8799f19 use injection instead of store (#6187), closes #6187
  • 2a777a6 make sure we want h2Only enabled and not disabled to prevent starting (#6155), closes #6155
  • dd03103 implement getNamespacesForAction for default namespace (#6141), closes #6141
  • e140a77 protect license call on login (#6079), closes #6079
  • 2ff1f88 add requires to LLM configurations to avoid them being instantiated when not necessary (#6041), closes #6041
  • 7c8c4b6 add unsaved dialog on App.vue (#5955), closes #5955
  • 0b8e8da correct syntax for commit statuses description on OSS pr (#5917), closes #5917
  • e142450 use correct kestra run class (#5860), closes #5860
  • fa1c0d5 add if always to make sure job run even if needs failed
  • 492ab18 replace pr number by commit sha (#5865), closes #5865
  • 0230146 display payload in main CI (#5864), closes #5864
  • 5bddfa9 ci syntax (#5835), closes #5835
  • 178a87c classlibs load (#5749), closes #5712 #5749

🏭 Tests

executions

  • f291015 FIX tests in ExecutionControllerTest broken since new system.from label

reports

  • 553c7f8 try to unflaky AbstractFeatureUsageReportTest.shouldGetReportForAllTenant

global

  • 94d3c62 e2e enable skipped flow creation and execution tests (#5750), closes #5750

🔄️ Changes

core

  • e3ae5af unify the usage of translation helper (#6134), closes #6134
  • 0dace9c remove all traces of the old e2e setup (#6030), closes #6030
  • de0691d remove LogService
  • 9f0c1ea clean up usage of constants throughout the repositories (#5887), closes #5887
  • 4ba303d simplify translations by using $t in template section (#5848), closes #5848
  • 6b42a9d replace usage of getCurrentInstance with proper composables (#5847), closes #5846 #5847
  • b147c4e move component to enterprise repository where it's used (#5843), closes #5635 #5843
  • 25da474 uniform .gitignore file for javascript (#5740), closes #5740
  • 30c112f remove unnecessary typescript comments (#5647), closes #5647

iam

  • 170419c remove unused infrastructure permission details (#6142), closes #2969 #6142

global

  • 42f2823 unify management of anonymous routes (#5966), closes #5966

🛠 Build

deps

  • cd2783f bump net.bytebuddy:byte-buddy-agent from 1.18.1 to 1.18.3
  • b3038d5 bump mdast-util-to-hast from 13.2.0 to 13.2.1 in /ui-ee (#5990), closes #5990
  • eb2edc5 bump the minor group in /ui-ee with 3 updates (#6211), closes #6211
  • 14cdbf3 bump the patch group in /ui-ee with 6 updates (#6212), closes #6212
  • 9d82a69 bump the build group in /ui-ee with 3 updates (#6210), closes #6210
  • d735f4a bump org.aspectj:aspectjweaver from 1.9.25 to 1.9.25.1
  • c35f628 bump actions/upload-artifact from 5 to 6
  • 8f39962 bump the minor group in /ui-ee with 3 updates (#6150), closes #6150
  • d10d716 bump the patch group in /ui-ee with 5 updates (#6151), closes #6151
  • 9459550 bump the build group in /ui-ee with 6 updates (#6148), closes #6148
  • 6377b19 bump the minor group in /ui-ee with 11 updates (#6121), closes #6121
  • 6acaebb improve storybook related grouping of dependabot pull requests (#6123), closes #6123
  • b521ea7 bump the patch group in /ui-ee with 7 updates (#6094), closes #6094
  • df2f3ae bump the build group in /ui-ee with 3 updates (#6089), closes #6089
  • 96d0386 improve storybook related grouping of dependabot pull requests (#6023), closes #6023
  • 0f94859 improve grouping of dependabot pull requests for npm ecosystem (#6014), closes #6014
  • 7d72aac bump actions/checkout from 5 to 6
  • 8dc02ce bump com.gorylenko.gradle-git-properties
  • 48ccaab bump actions/github-script from 6 to 8
  • e3d612a bump net.e175.klaus:zip-prefixer from 0.3.1 to 0.4.0
  • fbe205b bump the patch group in /ui-ee with 5 updates (#5914), closes #5914
  • 20dd63b bump the build group in /ui-ee with 3 updates (#5911), closes #5911
  • efcbc4b bump core-js from 3.46.0 to 3.47.0 in /ui-ee (#5909), closes #5909
  • f821c80 remove commit message prefix for dependabot npm pull requests (#5811), closes #5811
  • c31d221 add commit message prefix for dependabot npm pull requests (#5804), closes #5804
  • 6039d50 bump the patch group in /ui-ee with 2 updates (#5803), closes #5803
  • 171c78d bump the build group in /ui-ee with 6 updates (#5799), closes #5799
  • b3d45ff improve grouping of dependabot pull requests for npm ecosystem (#5797), closes #5797
  • 810fb91 better grouping of dependabot pull requests for npm ecosystem (#5791), closes #5791
  • f1cc6d5 bump org.owasp.dependencycheck from 12.1.8 to 12.1.9
  • c6304ad run dependabot for npm ecosystem monthly and group update pull requests (#5789), closes #5789
  • 5f6b3de bump org.aspectj:aspectjweaver from 1.9.24 to 1.9.25

deps-dev

  • 314cc1e bump the minor group in /ui-ee with 2 updates (#6267), closes #6267
  • 5333171 bump storybook from 9.1.16 to 9.1.17 in /ui-ee (#6177), closes #6177
  • 94c0964 bump @types/node in /ui-ee in the types group (#6149), closes #6149
  • 7c7a1f6 bump @types/node in /ui-ee in the types group (#6118), closes #6118
  • 3cf2b56 bump @types/node in /ui-ee in the types group (#6090), closes #6090
  • 0b2df11 bump uuid (#6024), closes #6024
  • 03cb0b3 bump sass from 1.93.3 to 1.94.1 in /ui-ee (#5908), closes #5908
  • 7ba8713 bump js-yaml from 3.14.1 to 3.14.2 in /ui-ee (#5885), closes #5885

gradle

  • c7bbdb5 remove unused e2e task, regroup subprojects test configuration

global

  • 939723c dont send slack alert for cancelled main builds
  • 907b54c use npm ci instead of install
  • 9f96996 add e2e tests in PR CI (#5741), closes #5741

📝 Documentation

tests

  • 5ddb750 mark testSuiteId as optional in searchTestSuitesResults

  • c16238b fix(assets):edit from details page only (#6251), closes #6251
  • 96cc2b5 fix flake and add .env (#5929), closes #5929
  • 9d622ad [npm] bump the types group in /ui-ee with 3 updates (#5808), closes #5808

Contributors

We'd like to thank the following people for their contributions:
AJ Emerich, Bart Ledoux, Barthélémy Ledoux, Florian Hussonnois, François Delbrayelle, Georg Traar, GitHub, GitHub Action, Loïc Mathieu, Ludovic DEHON, Malay Dewangan, MilosPaunovic, Miloš Paunović, Nicolas K., Piyush Bhaskar, Roman Acevedo, YannC, YannC., ben8t, brian-mulier-p, brian.mulier, dependabot[bot], github-actions[bot], nKwiatkowski

Don't miss a new kestra release

NewReleases is sending notifications on new releases.