Features
- **core**: add a default lru cache on pebble template ([Ludovic DEHON](https://github.com/kestra-io/kestra/commit/9bd50b964b894878ca97c235f475411a1661133b))
- **runner-kafka**: performance optimization of KafkaFlowListeners ([Ludovic DEHON](https://github.com/kestra-io/kestra/commit/00ce27d0219c4efabceedf96398cba67bae03d26))
- **core**: add a retry on storage interface ([Ludovic DEHON](https://github.com/kestra-io/kestra/commit/8673accad6adeef3904939d1dd3003a163f58269))
- **kafka-runner**: create multiple stream thread to separate load (452) [452](https://github.com/kestra-io/kestra/pull/452) ([Ludovic DEHON](https://github.com/kestra-io/kestra/commit/95d2b2d6ad259a149c0154385a67209309d2a1c0))
- **repository-elasticsearch**: add metrics from elasticsearch client ([Ludovic DEHON](https://github.com/kestra-io/kestra/commit/9fc78595c8874fadb501f9242f65b0a1433db70e))
- **kafka-runner**: create state dir early to avoid concurrent access ([Ludovic DEHON](https://github.com/kestra-io/kestra/commit/e660ed843e7455eb3854b35aa95c15a7f4043ef6))
- **kafka-runner**: add consumer on GlobalStateProcessor to be notified about every change ([Ludovic DEHON](https://github.com/kestra-io/kestra/commit/7f36cb9924da3ce9ebdb038a7308b10bef923be1))
- **core**: add a keys peeble filters ([Ludovic DEHON](https://github.com/kestra-io/kestra/commit/cba08932c9ba01e33e86fc0604eb244d6c462b70))
- **kafka-runner**: scheduler could recreate deleted trigger during race condition (457) [457](https://github.com/kestra-io/kestra/pull/457) ([Ludovic DEHON](https://github.com/kestra-io/kestra/commit/30ff6acb6e72eb0441ade39cf6dec97c58608980))
- **ui**: update cytoscape and change dom node ([Ludovic DEHON](https://github.com/kestra-io/kestra/commit/5e1e6df56dc9e89abb39cb6409fb169fb276e9cc))
- **ui**: move to sass node package ([Ludovic DEHON](https://github.com/kestra-io/kestra/commit/a8bced96c7f6fae3119e4169fe0dc6aca2232c28))
- **kafka-runner**: used an in memory storage for flow & template (467) [467](https://github.com/kestra-io/kestra/pull/467) ([Ludovic DEHON](https://github.com/kestra-io/kestra/commit/adca9c77cc16f3ae155afadc294f2265eff8a87b))
- **core**: variable with date support for predefined string and type in existingFormat ([Ludovic DEHON](https://github.com/kestra-io/kestra/commit/004e08aaa1c490b1a01c8f9e93ed983b9bc8f9e5))
- **docker**: add arm64 support ([Ludovic DEHON](https://github.com/kestra-io/kestra/commit/604f98b3fa6eb70cc6861839131b3d7cdabd69dd))
- **ui**: refactor TopologyTree to remove deps from portal-vue ([Ludovic DEHON](https://github.com/kestra-io/kestra/commit/561ab18466cd10c1707e60651ca98a70b85e58c3))
- **cicd**: create a release on tag ([Ludovic DEHON](https://github.com/kestra-io/kestra/commit/ee6004e39d3173edc3327335da534b493a30a05c))
Bug Fixes
- **kafka-runner**: missing server-type condition for scheduler in order to monitor their stream ([Ludovic DEHON](https://github.com/kestra-io/kestra/commit/eb410908e6a2dc496aa0e3772b2401749dd82b26))
- **ui**: remove table window scrollbar ([Ludovic DEHON](https://github.com/kestra-io/kestra/commit/4ee56643f9f1e957a1e9d5e37d7c84f086932523))
- **core**: provide default value for variable configuration ([Ludovic DEHON](https://github.com/kestra-io/kestra/commit/5675a3fcfc486ebdb64ee82b589f0c133e31fb1c))
- **core**: state file must be named to be easily use on different task from the same flow ([Ludovic DEHON](https://github.com/kestra-io/kestra/commit/0b0e8def0f2c7a104723d3386ba8a319b609ba1a))
- **docker**: fix compose dependencies version ([Ludovic DEHON](https://github.com/kestra-io/kestra/commit/c2872084b12d62b62655fa6fb78fbd714b7e8582))
- **tasks**: Python buffered log by default so we force unbuffer to have all logs ([Ludovic DEHON](https://github.com/kestra-io/kestra/commit/cc0bba2a547445a0bb106a4a0e77f5fa101e23a0))
- **core**: flow listeners injection by blocked the startup, use a run ([Ludovic DEHON](https://github.com/kestra-io/kestra/commit/39d2b32649a62f11821ed1ef18a53dcf2e6309c2))
- **ui**: ctrl+s was not working anymore ([Ludovic DEHON](https://github.com/kestra-io/kestra/commit/0b31a5910276f48055dfda4b9252913b3eed1113))
- **cli**: restore-queue try to send invalid flow to queue ([Ludovic DEHON](https://github.com/kestra-io/kestra/commit/06896b8e5a752abee893adabaaaf6fcf7d02d662))
- **core**: don't report plugin usage if no plugins loaded ([Ludovic DEHON](https://github.com/kestra-io/kestra/commit/a7ae3123253d51e1c3e138083749761b006ffaee))
- **core**: loading template to early can lead to infinite wait startup on standalone ([Ludovic DEHON](https://github.com/kestra-io/kestra/commit/4fb6507e6b43ac6f04ff615bccf76396f3605d49))
- **kafka-runner**: add a Await on FlowJoinerTransformer ([Ludovic DEHON](https://github.com/kestra-io/kestra/commit/f879df4b5eb33fece6093d51448737c1bfb44bf3))
- **core**: collector host.uuid was filtering wrong values ([Ludovic DEHON](https://github.com/kestra-io/kestra/commit/4fc47d774bbe513713e16085f777f27de1be8577))
- **docker**: fix usage of docker on docker-compose ([Ludovic DEHON](https://github.com/kestra-io/kestra/commit/de0a0563023415f863c1fab58ae4305391a2e9d0))
- **core**: add timestamp as a valid date of variable renderer ([Ludovic DEHON](https://github.com/kestra-io/kestra/commit/850c3307e85e1dac78095445b08f4bbaa4bce05a))
- **kafka-runner**: only keep last flow version in memory and use store to get older version ([Ludovic DEHON](https://github.com/kestra-io/kestra/commit/92a856fa5b3fa3a29d251ec9873f631caa2678a0))
- **core**: Schedule with scheduleCondition was never triggered after first trigger ([Ludovic DEHON](https://github.com/kestra-io/kestra/commit/f636301e1380741436440bd160bbfba5907a739b))
- **kafka-runner**: prevent first startup error on topic creation ([Ludovic DEHON](https://github.com/kestra-io/kestra/commit/6b23cc128305a9f1448c1377afca6825d871023c))
- **core**: fix namespace collector stats ([Ludovic DEHON](https://github.com/kestra-io/kestra/commit/d8763de6113090478a1e83dc3620715b0b833006))
Chores
- **version**: update snapshot version 'v0.3.3-SNAPSHOT'. ([Ludovic DEHON](https://github.com/kestra-io/kestra/commit/4a956299b589697cb90e1ed103df4a6336162eda))
- **refactor**: add some helpers tools ([Ludovic DEHON](https://github.com/kestra-io/kestra/commit/79bcc338af9665d1668e7f40df6cae04a8c2a7d1))
- **docker**: add kafka plugins ([Ludovic DEHON](https://github.com/kestra-io/kestra/commit/2c11418d43cfb8ce73370d22d915c720c9ae9687))
- **deps**: update some js package ([Ludovic DEHON](https://github.com/kestra-io/kestra/commit/057e73a28ae684562886c027bee4214daa79fe05))
- **deps**: update monaco editor ([Ludovic DEHON](https://github.com/kestra-io/kestra/commit/e525e14d14978c25f77773ab6d21d30574853fbd))
- **ui**: remove deprecated sass division ([Ludovic DEHON](https://github.com/kestra-io/kestra/commit/8b015878b630e6dcc8bbd1f5e6b675404ec27161))
- **kafka-runner**: refactor the SafeKeyValueStore to handle prefixScan ([Ludovic DEHON](https://github.com/kestra-io/kestra/commit/2920d54921288dc5d1dbac74d20bfb93a0b4b250))
- **tests**: fix falling test ([Ludovic DEHON](https://github.com/kestra-io/kestra/commit/77e936707fd9fb2be233c618defe3d428db189ee))
- **core**: make public access on allTasksWithChilds ([Ludovic DEHON](https://github.com/kestra-io/kestra/commit/cd45aa0a99d0aaaf04cd73a3fc636b587ec78aad))
- **ui**: refactor flow Edit ([Ludovic DEHON](https://github.com/kestra-io/kestra/commit/3b83ef759125d069efb3f261dd3a1b30e0a24e04))
- **version**: update to version 'v0.4.0'. ([Ludovic DEHON](https://github.com/kestra-io/kestra/commit/3ed2e13ee1b7a4b8d22ee45610b61fc90dee22a9))