<commit_before># joynr 0.24.0

## API relevant changes

* **[All]** Added 'encrypt' to MessagingQos (incl. additional constructors, getter/setter),
  existing MessagingQos APIs remain working
* **[C++]** Providers can be (un)registered asynchronously through `(un)registerProviderAsync`
* **[All]** The 'GlobalDomainAccessController' interface has been split up into 3 interfaces:
  'GlobalDomainRoleController' (contains the 'role' based APIs),
  'GlobalDomainAccessController' (contains the read-only getter & broadcast APIs for
  master / mediator / owner access and registration control entries) and
  'GlobalDomainAccessControlListEditor' (contains the modification related APIs for
  master / mediator / owner access and registration control entries)
  See `basemodel/src/main/franca/joynr/*.fidl` for details.
* **[Java]** Moved and changed property `JeeIntegrationPropertyKeys.
  JEE_ENABLE_SHARED_SUBSCRIPTIONS="joynr.jeeintegration.enable.sharedsubscriptions"` to `MqttModule.
  PROPERTY_KEY_MQTT_ENABLE_SHARED_SUBSCRIPTIONS="joynr.messaging.mqtt.enable.sharedsubscriptions"`
* **[Java]** MQTT shared subscriptions are not restricted to JEE any longer
* **[All]** Added 'compress' to MessagingQos (available with Java/C++ solely via
  getter/setter, in JS also via constructor), existing MessagingQos APIs remain working

## Other changes
* **[C++]** Access control can be activated in the cluster-controller. Default: OFF.
  Refer to [cluster controller settings](ClusterControllerSettings.md) for more info.
* **[Java]** Added properties (`PROPERTY_KEY_MQTT_KEEP_ALIVE_TIMER_SEC`,
  `PROPERTY_KEY_MQTT_CONNECTION_TIMEOUT_SEC` and `PROPERTY_KEY_MQTT_TIME_TO_WAIT_MS`) to
  configure the MQTT connection. See [JavaSettings](JavaSettings.md) for more information.
* **[C++]** Moved to muesli 0.3.1 for serialization of boost::multi_index containers
* **[Java]** Allow to set prefixes of Mqtt topics, see [JavaSettings](JavaSettings.md).
* **[C++]** Allow to set prefixes of Mqtt topics in cluster-controller settings:<commit_msg>[wiki] fix release notes for joynr 0.24.0 after routing interface changes<commit_after># joynr 0.24.0

## API relevant changes

* **[All]** Added 'encrypt' to MessagingQos (incl. additional constructors, getter/setter),
  existing MessagingQos APIs remain working
* **[C++]** Providers can be (un)registered asynchronously through `(un)registerProviderAsync`
* **[All]** The 'GlobalDomainAccessController' interface has been split up into 3 interfaces:
  'GlobalDomainRoleController' (contains the 'role' based APIs),
  'GlobalDomainAccessController' (contains the read-only getter & broadcast APIs for
  master / mediator / owner access and registration control entries) and
  'GlobalDomainAccessControlListEditor' (contains the modification related APIs for
  master / mediator / owner access and registration control entries)
  See `basemodel/src/main/franca/joynr/*.fidl` for details.
* **[Java]** Moved and changed property `JeeIntegrationPropertyKeys.
  JEE_ENABLE_SHARED_SUBSCRIPTIONS="joynr.jeeintegration.enable.sharedsubscriptions"` to `MqttModule.
  PROPERTY_KEY_MQTT_ENABLE_SHARED_SUBSCRIPTIONS="joynr.messaging.mqtt.enable.sharedsubscriptions"`
* **[Java]** MQTT shared subscriptions are not restricted to JEE any longer
* **[All]** Added 'compress' to MessagingQos (available with Java/C++ solely via
  getter/setter, in JS also via constructor), existing MessagingQos APIs remain working
* **[All]** Multiple global transports cannot be used in parallel any longer, either Mqtt
  or Http have to be used
* **[All]** Mqtt / Jee joynr backend services are used by default now (set in default settings).
  * To use the http backend in **Java**, set DISCOVERYDIRECTORYURL and DOMAINACCESSCONTROLLERURL
    as explained in the [Java Configuration Reference](JavaSettings.md).
  * To use the http backend in **C++**, change the cluster controller's messaging settings:
    set "broker-url" to the bounceproxy's url (e.g. "http://localhost:8080/bounceproxy/"),
    set "capabilities-directory-url" to the capabilities directory's channel url (e.g.
    "http://localhost:8080/discovery/channels/discoverydirectory_channelid/"),
    set "capabilities-directory-channelid" to "discoverydirectory_channelid" (default is the
    serialized Mqtt address of the global discovery directory)
  * To use the http backend in **JS**, start a C++/Java cluster controller configured to use
    the http backend (see above)
* **[C++]** Removed messaging setting bounceproxy-url since it is not possible to use http
  (bounceproxy) in parallel with mqtt (broker)

## Other changes
* **[C++]** Access control can be activated in the cluster-controller. Default: OFF.
  Refer to [cluster controller settings](ClusterControllerSettings.md) for more info.
* **[Java]** Added properties (`PROPERTY_KEY_MQTT_KEEP_ALIVE_TIMER_SEC`,
  `PROPERTY_KEY_MQTT_CONNECTION_TIMEOUT_SEC` and `PROPERTY_KEY_MQTT_TIME_TO_WAIT_MS`) to
  configure the MQTT connection. See [JavaSettings](JavaSettings.md) for more information.
* **[C++]** Moved to muesli 0.3.1 for serialization of boost::multi_index containers
* **[Java]** Allow to set prefixes of Mqtt topics, see [JavaSettings](JavaSettings.md).
* **[C++]** Allow to set prefixes of Mqtt topics in cluster-controller settings:
{'fraction_non_alphanumeric': 0.10155068078668684, 'fraction_numerical': 0.00529500756429652, 'mean_word_length': 5.815721649484536, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6774756', 'n_tokens_mistral': 1580, 'n_tokens_neox': 1494, 'n_words': 531}