Releases: SnotyMe/snoty-backend
Releases · SnotyMe/snoty-backend
0.7.0
Notable Changes
- manual migration to Credentials required
- update your integrations, breaking changes to the API will prevent all integrations from getting loaded
- todoist: update the redirect URL to
/wiring/nodeapi/todoist/callbackin the Todoist Developer panel
Commits
Bug Fixes
- build: set scm property on version publication - by @SIMULATAN in fb2da51
- changelog: git-cliff v2.11 support, group dependency updates - by @SIMULATAN in 8018c87
- credentials: get endpoint throws 500 - by @SIMULATAN in ae085fc
- credentials: get endpoint always returns data - by @SIMULATAN in ece2786
- dev: match existing realms on
realmproperty instead ofid- by @SIMULATAN in 9cd6165 - flow: prevent triggering Flow multiple times (#164) - by @SIMULATAN in fae2705
- jobrunr: restart when DB connection is lost (#204) - by @SIMULATAN in 0f174b1
- keycloak: issuerUrl not configurable - by @SIMULATAN in a72944e
- notification: use
openin index and makeresolvedAtnullable - by @SIMULATAN in 6db11cb - notification:
descriptiondoesn't accept messages longer than 255 - by @SIMULATAN in ef3a93c - o11y: crash when manual instrumentation isn't configured - by @SIMULATAN in 3b78549
- runner: log output for orphaned START Nodes too - by @SIMULATAN in 549f4d2
- runner: transitive receive empty input not respected (#225) - by @SIMULATAN in d9c784e
- scheduling: kotlinx DateTime cannot be cast to Date - by @SIMULATAN in 4753ae3
- scheduling: execution doesn't exist during first log event - by @SIMULATAN in 6112e97
- scheduling: debug logs are lost when app logger has debug disabled - by @SIMULATAN in c3dcb17
Koin.getFromAllScopesreturns duplicate instances - by @SIMULATAN in 77df9ee- koin debug logging not enabled - by @SIMULATAN in acbbf87
- [breaking] conflicting Node routes disable each other - by @SIMULATAN in dad0820
- Keycloak service account not found - by @SIMULATAN in 6ee0482
Features
- api: support polymorphic IntermediateData serialization - by @SIMULATAN in c8057e8
- api: default enum names to Title Case - by @SIMULATAN in dde6ca1
- build: replace hard-coded repository - by @SIMULATAN in 1e5b5ec
- ci: publish snapshots - by @SIMULATAN in 23717d9
- credentials: initial implementation - by @SIMULATAN in a33be72
- credentials: migrate
Credential*Dto#datatoCredential- by @SIMULATAN in c42b1f5 - credentials: implement
MongoCredentialService- by @SIMULATAN in 8a364ab - integration-conventions: enable context parameters for integrations - by @SIMULATAN in c98855a
- node: support receiving empty inputs - by @SIMULATAN in 8c464de
- notification:
NotificationService+ SQL impl - by @SIMULATAN in d15c478 - notification: send Flow failure notifications - by @SIMULATAN in aeef64f
- notification: delete notifications - by @SIMULATAN in 6c6f896
- notification: implement Mongo service - by @SIMULATAN in f6ddb54
- o11y: support manual instrumentation - by @SIMULATAN in 423883b
- runner: improve logging of intermediate data - by @SIMULATAN in 07b3e1a
- runner: log output when no Nodes would receive it - by @SIMULATAN in 3edf01d
- sql: add log feature flag for Exposed - by @SIMULATAN in 0a43b68
- sql: feature flag for HikariCP log level - by @SIMULATAN in 326a373
- tests:
runNodeHandlerTestutility (#53) - by @SIMULATAN in d6acbfd - task to delete failed jobs (#205) - by @SIMULATAN in 0e5faa0
- support default HTTP proxy (#57) - by @SIMULATAN in 7e5cb4b
- consistent ID parse error handling - by @SIMULATAN in 87f98d8
Miscellaneous Chores
- [breaking] api: replace
metadatawithmetadataV2- by @SIMULATAN in 772581d - [breaking] config: consolidate Adapter system - by @SIMULATAN in 442b8ff
- credentials: make CredentialRef's
credentialIdnon-nullable - by @SIMULATAN in 598ad3c - infra: remove moodle service - by @SIMULATAN in dc52227
- mongodb: move mongo log feature flag to mongodb adapter - by @SIMULATAN in ed97661
- notification: link Node on Flow failure - by @SIMULATAN in 25ee39f
- scheduling: rename
Jobrunrinstances toJobRunr- by @SIMULATAN in 5d1f139 - scheduling: log when not scheduling job because schedule is Never - by @SIMULATAN in ac05f52
- do not retry scheduled Flows - by @SIMULATAN in c18a96c
- migrate Ktor engine from Apache to OkHttp - by @SIMULATAN in b0613ee
- remove Ktor example OpenAPI documentation.yaml - by @SIMULATAN in fdd1061
Tests
- credentials: implement spec + sql implementation test - by @SIMULATAN in 9485483
Nodes
EmitJson
- Miscellaneous Chores: move to
builtin.json.emitpackage - by @SIMULATAN in 259adb5
EntityDiff
- Bug Fixes: excluded fields missing from
Deleted#previous- by @SIMULATAN in 8332f05
Http
- Bug Fixes: make headers & body input fields optional - by @SIMULATAN in 3ee615d
- Features: support JSON Array deserialization - by @SIMULATAN in 0becd7c
- Features: user-defined Proxy support - by @SIMULATAN in 2ef865b
Mapper
- Bug Fixes: reject non-string values in UniDiff filter - by @SIMULATAN in 9f9e030
- Bug Fixes: test failures - by @SIMULATAN in 73b2e75
- Features: trim surrounding non-visible charts from every line (#201) - by @SIMULATAN in 1e20f9d
- Features: add
preserveFieldsto keep specific fields - by @SIMULATAN in 8a40ff8 - Features:
from_jsonFilter - by @SIMULATAN in 032bd01 - Miscellaneous Chores: hide
trimsetting - by @SIMULATAN in 35d164b - Miscellaneous Chores: register Filters using Koin Factories - by @SIMULATAN in 06ec592
Moodle
- Bug Fixes: auth failure notification isn't being resolved - by @SIMULATAN in fb16c08
- Features: send notification if token expired (#64) - by @SIMULATAN in e10eb31
ParseJson
- Features: parse JSON String in input to structured data - by @SIMULATAN in 8cf4f58
Split
- Features: split lists into individual output items (#188) - by @SIMULATAN in 6a816d2
- Features: support splitting by object values - by @SIMULATAN in 00d5de6
SplitNodeHandler
- Features: support path expressions - by @SIMULATAN in c31591e
UniDiff
- Miscellaneous Chores: deprecate - by @SIMULATAN in 4f06de7
Dependencies
- Update dependency jobrunr to v8.0.0 - 53f2b45
- remove Jackson - 9487e77
- Bump Kotlin, KSP, Ktor and Koin - c07bd11
- begin migration to kotlin.time.Instant/Clock - 7f2de03
- update ktor to v3.2.1 - 8194285
- update dependency gradle to v8.14.3 - d8c8624
- bump SQL-related dependencies - 54e9dcf
- revert Ktor version to 3.1.3 - 1b24dff
- update dependency com.github.dasniko:testcontainers-keycloak to v3.8.0 - 812eb8d
- update Kotlin to 2.2.20 - f6fc917
- update kotlinpoet to v2.2.0 - e6de205
- update dependency dev.openfeature:sdk to v1.18.1 - 7dbcaef
- update testcontainers to v2.0.2 - fe9190e
- update dependency gradle to v9.3 - 3978e1e...
0.7.0-rc.1
[0.7.0-rc.1] - 2026-01-28
Backend
Bug Fixes
- build: set scm property on version publication - by @SIMULATAN in fb2da51
- changelog: git-cliff v2.11 support, group dependency updates - by @SIMULATAN in 8018c87
- credentials: get endpoint throws 500 - by @SIMULATAN in ae085fc
- credentials: get endpoint always returns data - by @SIMULATAN in ece2786
- dev: match existing realms on
realmproperty instead ofid- by @SIMULATAN in 9cd6165 - flow: prevent triggering Flow multiple times (#164) - by @SIMULATAN in fae2705
- jobrunr: restart when DB connection is lost (#204) - by @SIMULATAN in 0f174b1
- keycloak: issuerUrl not configurable - by @SIMULATAN in a72944e
- notification: use
openin index and makeresolvedAtnullable - by @SIMULATAN in 6db11cb - notification:
descriptiondoesn't accept messages longer than 255 - by @SIMULATAN in ef3a93c - o11y: crash when manual instrumentation isn't configured - by @SIMULATAN in 3b78549
- runner: log output for orphaned START Nodes too - by @SIMULATAN in 549f4d2
- runner: transitive receive empty input not respected (#225) - by @SIMULATAN in d9c784e
- scheduling: kotlinx DateTime cannot be cast to Date - by @SIMULATAN in 4753ae3
- scheduling: execution doesn't exist during first log event - by @SIMULATAN in 6112e97
- scheduling: debug logs are lost when app logger has debug disabled - by @SIMULATAN in c3dcb17
Koin.getFromAllScopesreturns duplicate instances - by @SIMULATAN in 77df9ee- koin debug logging not enabled - by @SIMULATAN in acbbf87
- [breaking] conflicting Node routes disable each other - by @SIMULATAN in dad0820
- Keycloak service account not found - by @SIMULATAN in 6ee0482
Features
- api: support polymorphic IntermediateData serialization - by @SIMULATAN in c8057e8
- api: default enum names to Title Case - by @SIMULATAN in dde6ca1
- build: replace hard-coded repository - by @SIMULATAN in 1e5b5ec
- ci: publish snapshots - by @SIMULATAN in 23717d9
- credentials: initial implementation - by @SIMULATAN in a33be72
- credentials: migrate
Credential*Dto#datatoCredential- by @SIMULATAN in c42b1f5 - credentials: implement
MongoCredentialService- by @SIMULATAN in 8a364ab - integration-conventions: enable context parameters for integrations - by @SIMULATAN in c98855a
- node: support receiving empty inputs - by @SIMULATAN in 8c464de
- notification:
NotificationService+ SQL impl - by @SIMULATAN in d15c478 - notification: send Flow failure notifications - by @SIMULATAN in aeef64f
- notification: delete notifications - by @SIMULATAN in 6c6f896
- notification: implement Mongo service - by @SIMULATAN in f6ddb54
- o11y: support manual instrumentation - by @SIMULATAN in 423883b
- runner: improve logging of intermediate data - by @SIMULATAN in 07b3e1a
- runner: log output when no Nodes would receive it - by @SIMULATAN in 3edf01d
- sql: add log feature flag for Exposed - by @SIMULATAN in 0a43b68
- sql: feature flag for HikariCP log level - by @SIMULATAN in 326a373
- tests:
runNodeHandlerTestutility (#53) - by @SIMULATAN in d6acbfd - task to delete failed jobs (#205) - by @SIMULATAN in 0e5faa0
- support default HTTP proxy (#57) - by @SIMULATAN in 7e5cb4b
- consistent ID parse error handling - by @SIMULATAN in 87f98d8
Miscellaneous Chores
- [breaking] config: consolidate Adapter system - by @SIMULATAN in 442b8ff
- credentials: make CredentialRef's
credentialIdnon-nullable - by @SIMULATAN in 598ad3c - infra: remove moodle service - by @SIMULATAN in dc52227
- mongodb: move mongo log feature flag to mongodb adapter - by @SIMULATAN in ed97661
- notification: link Node on Flow failure - by @SIMULATAN in 25ee39f
- scheduling: rename
Jobrunrinstances toJobRunr- by @SIMULATAN in 5d1f139 - scheduling: log when not scheduling job because schedule is Never - by @SIMULATAN in ac05f52
- do not retry scheduled Flows - by @SIMULATAN in c18a96c
- chore!(api): replace
metadatawithmetadataV2
The old NodeDescriptor API broke anyway due to the addition of a NodeMetadata field in 8c464de - by @SIMULATAN in 772581d
- migrate Ktor engine from Apache to OkHttp - by @SIMULATAN in b0613ee
- remove Ktor example OpenAPI documentation.yaml - by @SIMULATAN in fdd1061
Tests
- credentials: implement spec + sql implementation test - by @SIMULATAN in 9485483
Nodes
EmitJson
- Miscellaneous Chores: move to
builtin.json.emitpackage - by @SIMULATAN in 259adb5
EntityDiff
- Bug Fixes: excluded fields missing from
Deleted#previous- by @SIMULATAN in 8332f05
Http
- Bug Fixes: make headers & body input fields optional - by @SIMULATAN in 3ee615d
- Features: support JSON Array deserialization - by @SIMULATAN in 0becd7c
- Features: user-defined Proxy support - by @SIMULATAN in 2ef865b
Mapper
- Bug Fixes: reject non-string values in UniDiff filter - by @SIMULATAN in 9f9e030
- Bug Fixes: test failures - by @SIMULATAN in 73b2e75
- Features: trim surrounding non-visible charts from every line (#201) - by @SIMULATAN in 1e20f9d
- Features: add
preserveFieldsto keep specific fields - by @SIMULATAN in 8a40ff8 - Features:
from_jsonFilter - by @SIMULATAN in 032bd01 - Miscellaneous Chores: hide
trimsetting - by @SIMULATAN in 35d164b - Miscellaneous Chores: register Filters using Koin Factories - by @SIMULATAN in 06ec592
Moodle
- Bug Fixes: auth failure notification isn't being resolved - by @SIMULATAN in fb16c08
- Features: send notification if token expired (#64) - by @SIMULATAN in e10eb31
ParseJson
- Features: parse JSON String in input to structured data - by @SIMULATAN in 8cf4f58
Split
- Features: split lists into individual output items (#188) - by @SIMULATAN in 6a816d2
- Features: support splitting by object values - by @SIMULATAN in 00d5de6
SplitNodeHandler
- Features: support path expressions - by @SIMULATAN in c31591e
UniDiff
- Miscellaneous Chores: deprecate - by @SIMULATAN in 4f06de7
Dependencies
- Update dependency jobrunr to v8.0.0 - 53f2b45
- remove Jackson - 9487e77
- Bump Kotlin, KSP, Ktor and Koin - c07bd11
- begin migration to kotlin.time.Instant/Clock - 7f2de03
- update ktor to v3.2.1 - 8194285
- update dependency gradle to v8.14.3 - d8c8624
- bump SQL-related dependencies - 54e9dcf
- revert Ktor version to 3.1.3 - 1b24dff
- update dependency com.github.dasniko:testcontainers-keycloak to v3.8.0 - 812eb8d
- update Kotlin to 2.2.20 - f6fc917
- update kotlinpoet to v2.2.0 - e6de205
- update dependency dev.openfeature:sdk to v1.18.1 - 7dbcaef
- update testcontainers to v2.0.2 - fe9190e
- update dependency gradle to v9.3 - 3978e1e
- update Kotlin, KSP and idea-ext - 9644ec9...
0.6.1
0.6.0
0.6.0 - 2025-04-20
Backend
Bug Fixes
- runner: abort recursive run without data - by @SIMULATAN in 28949eb
- runner: logs get lost due to lack of Node ID in MDC (#183) - by @SIMULATAN in 4051540
- sse: client gets disconnected frequently - by @SIMULATAN in 5724801
Features
- export: support exporting & importing Flow settings - by @SIMULATAN in 7aff906
- flow: modify Flow schedule (#180) - by @SIMULATAN in 7c76c67
- filter
executions/sseevents by type - by @SIMULATAN in 3abb61d - support user-scoped execution SSE endpoint - by @SIMULATAN in 401dafb
Miscellaneous Chores
- api: replace
addDataClassInitializerwith serialization (#156) - by @SIMULATAN in 359fdb7 - export: move and rename model - by @SIMULATAN in 7ce01d2
- plugin: inline metadata into
NodeHandlerContributor- by @SIMULATAN in ddc95d8 - plugin: enable pretty printing for node metadata - by @SIMULATAN in 7313467
- renovate: disable minor updates for infra/monitoring stack - by @SIMULATAN in 9cc8b95
Dependencies
- update Gradle to v8.13 - 680aeef
- update dependency com.github.dasniko:testcontainers-keycloak to v3.7.0 - 79748da
- update grafana/grafana docker tag to v11.6.0 - bc8aa8a
- pin monitoring docker images to major version - 4c32895
- update Kotlin to 2.2.0-Beta1 - 42b2a44
Nodes
EntityDiff
- Bug Fixes: excluded fields are removed from Node output - by @SIMULATAN in 0c7bb5d
Http
- Bug Fixes: headers aren't added - by @SIMULATAN in 01f8b43
- Features: add fetched URL to Node output - by @SIMULATAN in 9b07d4f
Mapper
- Features:
formatfilter - by @SIMULATAN in 233d04f - Features: support list indexes and escaping (#187) - by @SIMULATAN in 0e76ba4
Notion
- Bug Fixes: Serializer for class 'Task' is not found - by @SIMULATAN in 08e1a22
Todoist
- Bug Fixes: Serializer for class 'Task' is not found - by @SIMULATAN in 0413850
0.5.3
Full Changelog: 0.5.2...0.5.3