Skip to content

Releases: Cumulocity-IoT/cumulocity-dynamic-mapper

Release v4.7.0

07 Jan 14:34
e3c3d69
Compare
Choose a tag to compare

What's Changed


!! Breaking Change !!

Caution this release contains breaking changes which makes it necessary to migrate existing mappings! For details please read on.

  • The format used for serializing the mappings was changed. We provide a migration script which helps to you convert the existing mappings to the new format #291
  1. The script uses go-c8y-cli. Make sure you have set it up and using a session pointing to your Cumulocity Tenant where the mappings should be migrated
  2. Make sure the script has valid permission to be executed on your system. Otherwise add chmod +x dynamic-mapping-mgmt.sh
  3. Run script:
dynamic-mapping-mgmt.sh migrateMappings

  • Changed display names of options and mappings type to more user friendly names: PROCESSOR_EXTENSION_SOURCE to Extension Source
  • Additional mapping type Extension Source Target, Mapping handles payloads in custom format. In contrast to the Extension Source the completed processing of the payload: extract values from the incoming payload and then transform this to a Cumulocity API call. This requires that a custom processor extension in Java is implemented and uploaded through the "Processor extension" tab.
  • Add connectors to left side navigation, under Configuration -> Connectors -> <CONNECTOR #1>, <CONNECTOR #2>, ...
  • Add view to see event/errors logged by the mapping micro-service, under Monitoring -> Tab Mapping service events. This is helpful in cases where.a mapping could not be successfully loaded
  • Migration jsonata4Java -> dashjoin jsonata #293
  • Migration Cumulocity SDK 1020.155.0, JDK 21, spring boot 3.3.5
  • Add testcases (junit, mockit): ConnectorConfigurationComponentTest , MappingTreeTest, JsonataDashJoinLibTest
  • Scaling improvements by using mainly virtual threads where possible supported by Spring Boot & Java 21+.

Bugfixes

  • #288
  • #286
  • A lot of minor change not worthy an issue ;-)

Full Changelog: v4.6.1...v4.7.0

Release v4.6.1

02 Dec 05:40
Compare
Choose a tag to compare

What's New

  • A filter can be applied to a mapping (inbound) to control if the mapping should be used for this mapping

What's Changed

  • Bump chart.js from 4.4.3 to 4.4.4 in /dynamic-mapping-ui by @dependabot in #247
  • Bump @angular/language-service from 18.2.1 to 18.2.2 in /dynamic-mapping-ui by @dependabot in #246
  • Feature/realtime events by @ck-c8y in #260
  • Bump @c8y/devkit from 1020.18.1 to 1020.18.3 in /dynamic-mapping-ui by @dependabot in #244
  • Bump @angular-eslint/template-parser from 17.5.2 to 18.3.0 in /dynamic-mapping-ui by @dependabot in #245
  • Feature/caching external by @ck-c8y in #272
  • Feature/migration 1021 by @ck-c8y in #281
  • Feature/mapping-filter by @ck-c8y in #287

Full Changelog: v4.5.0...v4.6.1

Release v4.6.0

12 Nov 17:55
08d2705
Compare
Choose a tag to compare

New & Improved Features

Please note: This release is for Cumulocity 2021.0.x which is currently deployed on eu-latest environment. For earlier Cumulocity version please use 4.5.x version of the mapper.

This release includes a lot of performance and scalability improvements and also introduces the fresh new cumulocity branding

  • New Identity Cache that chaches per default 100.000 IDs so identity API isn't called each time. This cache is invalidated each 24 hrs and can be configured via the Service Configuration UI.
  • New cache pool for processing array messages concurrent instead sequentially.
  • Using WebSDK 2021.0.11 and Angular 18 including new cumulocity branding.

Minor Changes

  • Default microservice resources increased to 0.5 CPUs and 2G RAM due to metaspace issues duiring runtime.
  • Removed hard coded heap-size from pom.xml to scale with assigned resources.
  • Confirmation dialog if no connector is selected for a mapping
  • Display error message if a mapping could not be enabled for a connector
  • OTLP metrics improvements including the identify cache size & hit rate
  • OTLP logging is disabled per default can be enabled in applications.properties
  • #276
  • #271
  • #273
  • #268

What's Fixed

Full Changelog: v4.5.1...v4.6.0

Release v4.5.3_pre

14 Oct 08:46
Compare
Choose a tag to compare
Release v4.5.3_pre Pre-release
Pre-release

Fixes

#273
#270

  • Multiple minor bugfixes in UI and Microservices.

What's Changed

  • Breaking change: creating mappings in the stepper (wizard) can now only be completed, if a connector is chosen. This was implemented to reduce the potential misunderstandings
  • Bump @c8y/devkit from 1020.18.1 to 1020.18.3 in /dynamic-mapping-ui by @dependabot in #244
  • Bump @angular-eslint/template-parser from 17.5.2 to 18.3.0 in /dynamic-mapping-ui by @dependabot in #245
  • Feature/caching external by @sagIoTPower in #272
  • Snooping Experience improved by better guidance
  • Template Explorer to see snooped templates

The cache stores all known externalIDs with internal ID correlations so ideally the mapper can skip the C8Y Request when receiving a message to get the C8Y ID.

Cache is configured per default to 100.000. Can be changed via UI or API. Cache is invalidated each day. This can be also configured via UI (0 deactivates the cache invalidation).

Full Changelog: v4.5.2_pre...v4.5.3_pre

PreRelease v4.5.2

01 Oct 07:54
Compare
Choose a tag to compare
PreRelease v4.5.2 Pre-release
Pre-release

Fixes

#268
#267
#258 #264
#261
#259

What's Changed

  • Bump chart.js from 4.4.3 to 4.4.4 in /dynamic-mapping-ui by @dependabot in #247
  • Bump @angular/language-service from 18.2.1 to 18.2.2 in /dynamic-mapping-ui by @dependabot in #246
  • Feature/realtime events by @sagIoTPower in #260

Full Changelog: v4.5.0...v4.5.2_pre

Release v4.5.1

10 Sep 11:20
5025bbc
Compare
Choose a tag to compare

Fixing bugs

#253
#254

Fixing a bug that a connector config could not be updated.

Full Changelog: v4.5.0...v4.5.1

Release v4.5.0

05 Sep 13:13
Compare
Choose a tag to compare

New & Improved Features

  • Reviewed the UI to increase UX
  • Activate Mappings per Connector #184
  • Added Landing Page #250
  • Disable/Enable buttons on step 5 test mapping #249
  • Proper removal of Notification 2.0 subscribers #248

Please note: All C8Y messages for each connector will be queued if a connector is disabled. If a connector is removed the queues will be deleted by unsubscribing the subscriber.

  • Breaking Change: Renaming of MQTT Service to Cumulocity MQTT Service

Please note: Due to changing the type of MQTT Service to Cumulocity MQTT Service you have to delete the "old" MQTT Service connector via API and re-create it using the UI. You can use the following script to clean all connectors: https://github.com/SoftwareAG/cumulocity-dynamic-mapper/blob/394279acc4c838da94817690ad8b7727c05c7a91/resources/script/migrate/clean_connection_configuration.sh

Minor Changes

  • Bump cypress from 13.13.1 to 13.13.3 in /dynamic-mapping-ui by @dependabot in #234
  • Bump @angular/language-service from 17.3.12 to 18.2.1 in /dynamic-mapping-ui by @dependabot in #232
  • Bump org.apache.maven.plugins:maven-jar-plugin from 3.3.0 to 3.4.2 by @dependabot in #215
  • Bump com.github.loki4j:loki-logback-appender from 1.5.1 to 1.5.2 by @dependabot in #214
  • Bump org.apache.commons:commons-lang3 from 3.14.0 to 3.16.0 by @dependabot in #222
  • Bump @c8y/package-blueprint from 1020.4.1 to 1020.18.1 in /dynamic-mapping-ui by @dependabot in #231
  • Bump @angular-eslint/eslint-plugin-template from 17.5.2 to 18.3.0 in /dynamic-mapping-ui by @dependabot in #228
  • Bump org.apache.kafka:kafka-clients from 3.7.1 to 3.8.0 by @dependabot in #216
  • Bump com.google.protobuf:protobuf-java from 4.27.2 to 4.28.0 by @dependabot in #239
  • Bump org.springframework:spring-aspects from 6.1.11 to 6.1.12 by @dependabot in #240
  • Bump org.apache.commons:commons-lang3 from 3.16.0 to 3.17.0 by @dependabot in #241
  • Bump org.junit.jupiter:junit-jupiter from 5.10.3 to 5.11.0 by @dependabot in #242

What's Fixed

Full Changelog: v4.4.0...v4.5.0

Release v4.4.0

26 Jul 10:33
91a0c33
Compare
Choose a tag to compare

New Features

  • Reviewed complete UIs to improve first user experience #171:
    • include creating connectors as one step when creating a mapping
    • added a second stepper for the snooping process, this improves the usability as well
    • split long list of tabs to three main areas: mapping, monitoring, configuration
  • You can select connectors for mappings now, to only apply a mapping when the message is received over a specific connector #184
  • It is now possible to select device groups now for outbound mappings #199
  • It is possible to reset snooped messages now #188
  • New custom micrometer metrics for mappings to monitor the number of processed messages and processing time
  • New more readable and improved documentation

Bug fixed

#189
#182

What's Changed

  • Bump io.opentelemetry:opentelemetry-bom from 1.37.0 to 1.39.0 by @dependabot in #162
  • Bump org.springframework:spring-aspects from 6.1.6 to 6.1.8 by @dependabot in #163
  • Bump org.codehaus.mojo:build-helper-maven-plugin from 3.0.0 to 3.6.0 by @dependabot in #157
  • Feature websdk 1020 by @sagIoTPower in #172
  • Feature user exp by @sagIoTPower in #174
  • Adding custom Micrometer metrics for Mapper by @switschel in #183
  • Bump io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha from 2.4.0-alpha to 2.5.0-alpha by @dependabot in #167
  • Bump org.junit.jupiter:junit-jupiter from 5.9.0 to 5.10.3 by @dependabot in #186
  • Bump org.projectlombok:lombok from 1.18.32 to 1.18.34 by @dependabot in #185
  • Bump org.springframework:spring-aspects from 6.1.8 to 6.1.10 by @dependabot in #177
  • Bump com.google.protobuf:protobuf-java from 3.25.2 to 4.27.2 by @dependabot in #179
  • Bump @typescript-eslint/eslint-plugin from 6.21.0 to 7.16.0 in /dynamic-mapping-ui by @dependabot in #187
  • Bump @angular-eslint/eslint-plugin from 17.5.2 to 18.1.0 in /dynamic-mapping-ui by @dependabot in #181
  • Bump css-loader from 6.11.0 to 7.1.2 in /dynamic-mapping-ui by @dependabot in #145
  • Bump style-loader from 3.3.4 to 4.0.0 in /dynamic-mapping-ui by @dependabot in #127
  • Bump org.springframework:spring-aspects from 6.1.10 to 6.1.11 by @dependabot in #194
  • Bump org.apache.kafka:kafka-clients from 3.7.0 to 3.7.1 by @dependabot in #195
  • Bump io.opentelemetry:opentelemetry-bom from 1.39.0 to 1.40.0 by @dependabot in #196
  • Bump org.java-websocket:Java-WebSocket from 1.5.6 to 1.5.7 by @dependabot in #198
  • Bump io.netty:netty-all from 4.1.110.Final to 4.1.112.Final by @dependabot in #204
  • Preparing Releasr 4.4.0 by @switschel in #205
  • Bump @typescript-eslint/eslint-plugin from 7.16.1 to 7.17.0 in /dynamic-mapping-ui by @dependabot in #201
  • Prepare release 4.4.0 by @sagIoTPower in #207
  • Changing MQTT Service name in README by @switschel in #208

Full Changelog: v4.3.0...v4.4.0

Release v4.3.0

07 Jun 12:03
40fd8b3
Compare
Choose a tag to compare

What's Changed

  • new Mapper UI is deployable as standalone app and plugin now -> Standalone app is independent from Cumulocity UI version which allows to run the latest mapper on older Cumulocity IoT instances than 1019+. Successfully tested with 1018.
  • Cumulocity Edge support introduced
  • Auto detection of notification 2.0 and enable/disable outbound mappings
  • Outbound Mapping can be enabled/disabled via Configuration UI
  • Removed unnecessary browser console output
  • Notification 2.0 Implementation improvements
  • Trigger the device connectivity push connection status when a subscription for a device is existing
  • Supporting Cumulocity < 1019 where MQTT Service role is non-existing

If you run an instance <1019 please use the microservice dynamic-mapping-service-without-mqtt-service.zip and rename it to dynamic-mapping-service.zip before deploying.

Full Changelog: v4.2.3...v4.3.0

Release v4.2.3

13 May 11:29
17ca258
Compare
Choose a tag to compare

Fixed Bugs

  • Latest Mapper UI Plugin is not listed in Ecosystem plugin list due to name change.

Full Changelog: v4.2.2...v4.2.3