|
| 1 | +# Release Notes for development |
| 2 | +_Generated: 2025-11-14T00:04:02.126Z_ |
| 3 | + |
| 4 | +## Overview of new features |
| 5 | + |
| 6 | +- MQTT V5 and transactional communication support with remote servers |
| 7 | +- GeoHash routing |
| 8 | +- Any configured schema can be converted to any other schema ( limitations apply ) |
| 9 | +- Inter server fall back routing, allows the server to move to a different server if a connection fails |
| 10 | + |
| 11 | + |
| 12 | +### [MSG-10](https://mapsmessaging.atlassian.net/browse/MSG-10) — Complete the MQTT-V5 connection logic |
| 13 | + |
| 14 | +The server can now support client side MQTT V5 protocol messages to establish links with other servers |
| 15 | + |
| 16 | + |
| 17 | +### [MSG-11](https://mapsmessaging.atlassian.net/browse/MSG-11) — Add config to select v3, v4, or v5 |
| 18 | + |
| 19 | +By specifying mqtt-v3 or mqtt-v5 for the protocol on the inter server links the user can select which protocol version to use. By specifying just mqtt then the server will attempt to connect using either of them and once connected will use that version |
| 20 | + |
| 21 | + |
| 22 | +``` |
| 23 | + - |
| 24 | + name: zeropi04 |
| 25 | + url: tcp://10.140.62.208:1883/ |
| 26 | + protocol: mqtt # will use both |
| 27 | + transformation: "Message-Raw" |
| 28 | + remote: |
| 29 | + sessionId: local-Pull2-mqtt5 |
| 30 | + username: matthew |
| 31 | + password: doesntmatter |
| 32 | + links: |
| 33 | + - |
| 34 | + direction: pull |
| 35 | + local_namespace: /zeropi04/ |
| 36 | + remote_namespace: "/device/#" |
| 37 | + include_schema: true |
| 38 | +
|
| 39 | +
|
| 40 | + - |
| 41 | + name: zeropi04 |
| 42 | + url: tcp://10.140.62.208:1883/ |
| 43 | + protocol: mqtt-v3 # will only use MQTT V3.1(.1) |
| 44 | + transformation: "Message-Raw" |
| 45 | + remote: |
| 46 | + sessionId: local-Pull2-mqtt5 |
| 47 | + username: matthew |
| 48 | + password: doesntmatter |
| 49 | + links: |
| 50 | + - |
| 51 | + direction: pull |
| 52 | + local_namespace: /zeropi04/ |
| 53 | + remote_namespace: "/device/#" |
| 54 | + include_schema: true |
| 55 | +
|
| 56 | +
|
| 57 | + - |
| 58 | + name: zeropi04 |
| 59 | + url: tcp://10.140.62.208:1883/ |
| 60 | + protocol: mqtt-v5 # will only use MQTT V5 |
| 61 | + transformation: "Message-Raw" |
| 62 | + remote: |
| 63 | + sessionId: local-Pull2-mqtt5 |
| 64 | + username: matthew |
| 65 | + password: doesntmatter |
| 66 | + links: |
| 67 | + - |
| 68 | + direction: pull |
| 69 | + local_namespace: /zeropi04/ |
| 70 | + remote_namespace: "/device/#" |
| 71 | + include_schema: true |
| 72 | +``` |
| 73 | + |
| 74 | + |
| 75 | +Also adding, that now we have discovery working the plan is to integrate the discovery manager and the Network Connection Manager so that when the server discovers another messaging server it will pass the details to the Network Connection Manager. If it is configured to be able to auto connect then the server will use the config to establish a connection and either pull/push data depending on the config. |
| 76 | + |
| 77 | +So you can have a default config like |
| 78 | + |
| 79 | + |
| 80 | + |
| 81 | +``` |
| 82 | + name: {{hostname}} |
| 83 | + url: {{remote_url}} |
| 84 | + sessionId: {{auto-generate}} |
| 85 | + protocol: {{protocol_defined_in_discovery}} |
| 86 | + username: global_username |
| 87 | + password: global_token |
| 88 | + links: |
| 89 | + - |
| 90 | + direction: pull |
| 91 | + remote_namespace: # |
| 92 | + local_namespace: /{{hostname}}/ |
| 93 | +``` |
| 94 | + |
| 95 | + |
| 96 | +This would automatically connect to the discovered host, use the protocol that was being advertised with the username/password being that of the global one for the server. It would then subscribe to all topics and map them to the local namespace under the hostname. |
| 97 | +On a maps server it would also get the schemas for the topics and map them locally. Obviously this is a simple example of mapping everything but we can also add selectors, or break up the namespace. If we know its a maps server we can get a list of topics without actually subscribing to the server allowing the server to manage an “has interest” subscription. |
| 98 | + |
| 99 | + |
| 100 | +### [MSG-12](https://mapsmessaging.atlassian.net/browse/MSG-12) — Add support for transactional event passing |
| 101 | + |
| 102 | +QoS can now be set on each “link” configuration in the NetworkConnectionManager.yaml |
| 103 | + |
| 104 | +If the protocol doesn’t support the 3 different QoS then anything above 0 will be treated as transactional |
| 105 | +``` |
| 106 | + links: |
| 107 | + - |
| 108 | + direction: pull |
| 109 | + local_namespace: /zeropi05/ |
| 110 | + remote_namespace: "/device/#" |
| 111 | + include_schema: true |
| 112 | + qos: 2 # 0, 1 or 2 |
| 113 | +``` |
| 114 | + |
| 115 | + |
| 116 | + |
| 117 | +### [MSG-124](https://mapsmessaging.atlassian.net/browse/MSG-124) — Implement a geoHash message router |
| 118 | + |
| 119 | +**Description** |
| 120 | +Used for inter server connections to enable events to be routed to a geoHash topic name |
| 121 | + |
| 122 | + |
| 123 | +### [MSG-134](https://mapsmessaging.atlassian.net/browse/MSG-134) — Event looping occurs when multiple joins to remote and local loop configured |
| 124 | + |
| 125 | +The issue is that the message being delivered via the loop mechanism is being sent back into the engine without a clone being made, this causes the original topic/message to reset and send again, causing a messaging storm. |
| 126 | + |
| 127 | +The loop has been fixed to stop this and a fatal error induced if it happens again |
| 128 | + |
| 129 | + |
| 130 | +### [MSG-135](https://mapsmessaging.atlassian.net/browse/MSG-135) — Docker script fails to start the server |
| 131 | + |
| 132 | +The change to the lib layout resulted in the startDocker.sh unable to load the main Maps jar. The start script is now inline with the main start.sh script |
| 133 | + |
| 134 | +Do not move the 'www' directory to data, leave in MAPS_HOME |
| 135 | + |
| 136 | + |
| 137 | +### [MSG-142](https://mapsmessaging.atlassian.net/browse/MSG-142) — Configure a Schema Repository for the server |
| 138 | + |
| 139 | +The server schema support has been modified to remove the storage of the physical schema with the destination storage and into a Schema Repository. Currently only file is supported, in future this will encompase XRegistry and other Maps rest servers. |
| 140 | + |
| 141 | + |
| 142 | +Configurable schema repo ( currently file only supported ) when we get XRegistry we can add it or others |
| 143 | +Upgrade from previous version of schema |
| 144 | +Support for schema to schema data conversion |
| 145 | +regex topic name mapping for schemas, ( avoids adding a schema for each topic can map topics to a single schema ) |
| 146 | +More validation and tests of data coming in to the schema |
| 147 | +More validation and tests in the server around schemas |
| 148 | +New SchemaManager.yaml file to configure the schema repository |
| 149 | + |
| 150 | + |
| 151 | +### [MSG-40](https://mapsmessaging.atlassian.net/browse/MSG-40) — Improve storage behavior when running OOM (literally or via corrupt file) |
| 152 | + |
| 153 | +Fixed issues with the storage layer when changing configuration resulted in corruption of existing stores for that destination |
| 154 | +Add better exception handling in low memory environments |
| 155 | +Rename corrupted files for later processing |
| 156 | + |
| 157 | + |
| 158 | +### [MSG-73](https://mapsmessaging.atlassian.net/browse/MSG-73) — Concurrent modification logged |
| 159 | + |
| 160 | +The concurrent exception arose while the restapi attempted to get the number of events for a specific destination. This was a long running function. The function is now very lightweight and avoids the same paths as an active server |
| 161 | + |
| 162 | + |
| 163 | +### [MSG-95](https://mapsmessaging.atlassian.net/browse/MSG-95) — Create release notes automatically |
| 164 | + |
| 165 | +Release notes are not auto generated from github and jira |
| 166 | + |
| 167 | + |
| 168 | + |
| 169 | + |
| 170 | +## Miscellaneous (Fixes - 3rd party library updates) |
| 171 | +- `f7670fab` keep the www as part of MAPS_HOME — (2025-11-14) |
| 172 | +- `43ee86be` Fix initial boot issue for JWT Token secret generation — (2025-11-13) |
| 173 | +- `c1656f97` check and do no throw exceptions if no hardware supported — (2025-11-13) |
| 174 | +- `a226d846` ensure the Schema getAll returns all — (2025-11-13) |
| 175 | +- `42d90c18` update snapshot library versions, for initial testing — (2025-11-12) |
| 176 | +- `13378814` Bump logback.version from 1.5.20 to 1.5.21 — dependabot[bot] (2025-11-10) |
| 177 | +- `7655e4ab` Bump software.amazon.awssdk:bom from 2.37.1 to 2.38.2 — dependabot[bot] (2025-11-10) |
| 178 | +- `15601b7a` Bump io.nats:jnats from 2.23.0 to 2.24.0 — dependabot[bot] (2025-11-10) |
| 179 | +- `91faaa6f` Bump org.springframework:spring-websocket from 6.2.11 to 6.2.12 — dependabot[bot] (2025-11-10) |
| 180 | +- `aa9ebe5d` Include the release notes in the installation — (2025-11-10) |
| 181 | +- `947ac80d` code cleanup — (2025-11-10) |
| 182 | +- `df053571` Wild card subscription on changing destinations — (2025-11-10) |
| 183 | +- `985d1f6f` Bump software.amazon.awssdk:cognitoidentityprovider — dependabot[bot] (2025-11-07) |
| 184 | +- `daa41aee` Bump com.fasterxml.jackson.core:jackson-databind from 2.20.0 to 2.20.1 — dependabot[bot] (2025-11-07) |
| 185 | +- `4cf6a837` Bump org.springframework.boot:spring-boot-starter-websocket — dependabot[bot] (2025-11-07) |
| 186 | +- `303022f3` Bump org.apache.maven.plugins:maven-dependency-plugin — dependabot[bot] (2025-11-07) |
| 187 | +- `4065b73e` Bump org.graalvm.buildtools:graalvm-reachability-metadata — dependabot[bot] (2025-11-05) |
| 188 | +- `82663e40` Bump com.fazecast:jSerialComm from 2.11.2 to 2.11.4 — dependabot[bot] (2025-11-05) |
| 189 | +- `404624b2` Bump software.amazon.awssdk:cognitoidentity from 2.37.4 to 2.37.5 — dependabot[bot] (2025-11-05) |
| 190 | +- `a2a52b7d` Bump io.swagger.core.v3:swagger-jaxrs2-servlet-initializer-v2-jakarta — dependabot[bot] (2025-11-04) |
| 191 | +- `110cf560` Bump jersey.version from 3.1.11 to 4.0.0 — dependabot[bot] (2025-11-04) |
| 192 | +- `15d24d74` Bump software.amazon.awssdk:cognitoidentity from 2.37.2 to 2.37.4 — dependabot[bot] (2025-11-04) |
| 193 | +- `0b4ed26c` Bump software.amazon.awssdk:cognitoidentityprovider — dependabot[bot] (2025-11-04) |
| 194 | +- `85714343` Rollback schema changes and fix JUnit library issues — (2025-11-04) |
| 195 | +- `171235c5` Bump org.glassfish.tyrus.bundles:tyrus-standalone-client — dependabot[bot] (2025-11-03) |
| 196 | +- `6db50857` Bump com.fazecast:jSerialComm from 2.11.2 to 2.11.3 — dependabot[bot] (2025-11-03) |
| 197 | +- `1bac9cfe` Bump com.amazonaws:aws-java-sdk-cognitoidp from 1.12.791 to 1.12.793 — dependabot[bot] (2025-11-03) |
| 198 | +- `a4e3bc84` Bump software.amazon.awssdk:cognitoidentityprovider — dependabot[bot] (2025-11-03) |
| 199 | +- `54d83556` Bump software.amazon.awssdk:cognitoidentity from 2.34.5 to 2.37.2 — dependabot[bot] (2025-10-31) |
| 200 | +- `824d5a11` Bump software.amazon.awssdk:cognitoidentityprovider — dependabot[bot] (2025-10-31) |
| 201 | +- `1df63609` Bump org.quartz-scheduler:quartz from 2.5.0 to 2.5.1 — dependabot[bot] (2025-10-31) |
| 202 | +- `37d08137` Bump com.fasterxml.jackson.dataformat:jackson-dataformat-xml — dependabot[bot] (2025-10-31) |
| 203 | +- `c511cb01` Bump org.jacoco:jacoco-maven-plugin from 0.8.13 to 0.8.14 — dependabot[bot] (2025-10-30) |
| 204 | +- `0b1d87a4` Bump software.amazon.awssdk:bom from 2.36.3 to 2.37.1 — dependabot[bot] (2025-10-30) |
| 205 | +- `5cdb546e` Bump io.swagger.core.v3:swagger-jaxrs2-jakarta from 2.2.39 to 2.2.40 — dependabot[bot] (2025-10-30) |
| 206 | +- `c08821b6` Bump logback.version from 1.5.19 to 1.5.20 — dependabot[bot] (2025-10-30) |
| 207 | +- `e37af91e` allow the config to set the default schema on destinations — (2025-10-30) |
| 208 | +- `c6592be7` Bump software.amazon.awssdk:bom from 2.34.5 to 2.36.3 — dependabot[bot] (2025-10-28) |
| 209 | +- `3caf527f` Bump com.hivemq:hivemq-mqtt-client from 1.3.9 to 1.3.10 — dependabot[bot] (2025-10-24) |
| 210 | +- `5530a04e` Bump org.junit.jupiter:junit-jupiter-engine from 5.13.4 to 6.0.0 — dependabot[bot] (2025-10-24) |
| 211 | +- `7bdfd6a7` Bump org.owasp:dependency-check-maven from 12.1.6 to 12.1.8 — dependabot[bot] (2025-10-24) |
| 212 | +- `2c3b7de1` Loop connection failed — (2025-10-24) |
| 213 | +- `52db3cb7` Move release notes to it's own repo — (2025-10-21) |
| 214 | +- `688c5688` Release note autogeneration will look for Jira comments with — (2025-10-21) |
| 215 | +- `b6d6d66e` Bump org.codehaus.mojo:exec-maven-plugin from 3.5.1 to 3.6.2 — dependabot[bot] (2025-10-20) |
| 216 | +- `3d6960ff` Fix publish destination name lookup — (2025-10-14) |
| 217 | +- `d0eca7a8` Disable status updates — (2025-10-14) |
| 218 | +- `b14174ec` Bump io.swagger.core.v3:swagger-jaxrs2-servlet-initializer-v2-jakarta — dependabot[bot] (2025-10-13) |
| 219 | +- `137c3ff0` Bump io.swagger.core.v3:swagger-jaxrs2-jakarta from 2.2.37 to 2.2.39 — dependabot[bot] (2025-10-13) |
| 220 | +- `db55a83c` remove doc files — (2025-10-13) |
| 221 | +- `2f7aa449` Server Link Manager — (2025-10-10) |
| 222 | +- `5ff18cdc` Server Link Manager — (2025-10-10) |
| 223 | +- `e1cbe5cd` Contribution document — (2025-10-10) |
| 224 | +- `629ee795` Configure the orchistrator correctly to monitor and change links — (2025-10-10) |
| 225 | +- `eb16d5a2` adjust for jdk 21 / jre 21 — (2025-10-10) |
| 226 | +- `e5b2450d` wire in the use of the orchestrator to manage the switching — (2025-10-10) |
| 227 | +- `dafabdf3` posthog monitoring additions — (2025-10-09) |
| 228 | +- `5fa5cae2` posthog monitoring additions — (2025-10-09) |
| 229 | +- `9aeb469e` force updates — (2025-10-09) |
| 230 | +- `cb24a3aa` fix tests — (2025-10-09) |
| 231 | +- `84c9e92a` support for full CloudEvent schame / url and encoding new rest api to get the raw schema config ( no auth on this required ) additional work on link management. Still more to come — (2025-10-09) |
| 232 | +- `6dc253ec` initial cloudEvent support — (2025-10-09) |
| 233 | +- `55e19214` initial route management and selection — (2025-10-08) |
| 234 | +- `6d719259` initial version of posthog installation tracking — (2025-10-06) |
| 235 | +- `3f68d864` Bump logback.version from 1.5.18 to 1.5.19 — dependabot[bot] (2025-09-30) |
| 236 | +- `ae974cf5` make the arm version the same — (2025-09-30) |
| 237 | +- `ad8adf1d` docker does not seem to support IPv6 so use IPv4 — (2025-09-30) |
| 238 | +- `015cb08b` fix docker — (2025-09-30) |
| 239 | +- `73eeeb6a` fix docker — (2025-09-30) |
| 240 | +- `d656b185` load all jars — (2025-09-30) |
| 241 | +- `dade72b5` Bump org.projectlombok:lombok from 1.18.40 to 1.18.42 — dependabot[bot] (2025-09-29) |
| 242 | +- `67501067` Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.11.3 to 3.12.0 — dependabot[bot] (2025-09-29) |
| 243 | +- `cf2efb77` Bump software.amazon.awssdk:cognitoidentity from 2.34.3 to 2.34.5 — dependabot[bot] (2025-09-29) |
| 244 | +- `a76b168f` Bump software.amazon.awssdk:cognitoidentityprovider — dependabot[bot] (2025-09-29) |
| 245 | +- `8e412386` Bump org.springframework:spring-websocket from 6.2.10 to 6.2.11 — dependabot[bot] (2025-09-29) |
| 246 | +- `fc6078ee` Bump org.apache.maven.plugins:maven-compiler-plugin — dependabot[bot] (2025-09-29) |
| 247 | +- `c6734ed4` Bump org.owasp:dependency-check-maven from 12.1.3 to 12.1.6 — dependabot[bot] (2025-09-29) |
| 248 | +- `e0e36b91` Bump com.amazonaws:aws-java-sdk-cognitoidp from 1.12.788 to 1.12.791 — dependabot[bot] (2025-09-29) |
| 249 | +- `fb78a465` Bump org.apache.qpid:qpid-jms-client from 2.8.0 to 2.9.0 — dependabot[bot] (2025-09-29) |
| 250 | +- `a2a8018c` Bump software.amazon.awssdk:bom from 2.32.31 to 2.34.5 — dependabot[bot] (2025-09-29) |
| 251 | +- `da8538fe` Bump io.swagger.core.v3:swagger-jaxrs2-servlet-initializer-v2-jakarta — dependabot[bot] (2025-09-29) |
| 252 | +- `fea88669` Bump org.graalvm.buildtools:graalvm-reachability-metadata — dependabot[bot] (2025-09-29) |
| 253 | +- `8d05f223` fix broken links in read me — (2025-09-29) |
| 254 | +- `877d82ec` Bump io.swagger.core.v3:swagger-jaxrs2-jakarta from 2.2.36 to 2.2.37 — dependabot[bot] (2025-09-26) |
| 255 | +- `20896b72` Bump org.glassfish.jaxb:jaxb-runtime from 4.0.5 to 4.0.6 — dependabot[bot] (2025-09-26) |
| 256 | +- `95569454` Bump org.springframework.boot:spring-boot-starter-websocket — dependabot[bot] (2025-09-26) |
| 257 | +- `1f42a4ab` Bump org.graalvm.buildtools:native-maven-plugin from 0.11.0 to 0.11.1 — dependabot[bot] (2025-09-26) |
| 258 | +- `a2a13b0b` Bump jakarta.xml.bind:jakarta.xml.bind-api from 4.0.2 to 4.0.4 — dependabot[bot] (2025-09-26) |
| 259 | +- `ccfc6300` Bump io.nats:jnats from 2.21.5 to 2.23.0 — dependabot[bot] (2025-09-25) |
| 260 | +- `66cbad57` Bump software.amazon.awssdk:cognitoidentity from 2.33.8 to 2.34.3 — dependabot[bot] (2025-09-25) |
| 261 | +- `f6530b70` Bump com.google.code.gson:gson from 2.13.1 to 2.13.2 — dependabot[bot] (2025-09-15) |
| 262 | +- `a1e5c00f` Bump org.apache.maven.plugins:maven-surefire-plugin from 3.5.3 to 3.5.4 — dependabot[bot] (2025-09-15) |
| 263 | +- `7152d5b5` Bump jakarta.activation:jakarta.activation-api from 2.1.2 to 2.1.4 — dependabot[bot] (2025-09-15) |
0 commit comments