11.0.1
11.0.1 (2021-08-20)
Bug Fixes
- solace-message-client: disconnect from the broker gracefully (c66c154)
- testapp: mask password field (9494653)
Code Refactoring
- solace-message-client: remove automatic marshalling of message payload into JSON (f40d0cb)
Features
- solace-message-client: add convenience API for passing and receiving message headers (d6450da)
- solace-message-client: add Solace typedef for
Session
,MessageConsumer
,QueueBrowser
, and related objects (2e3b8ab) - solace-message-client: allow browsing messages in a queue, without removing/consuming the messages (c3bc031)
- solace-message-client: allow consuming messages sent to a queue or topic endpoint (b377ed5)
- solace-message-client: allow intercepting a message before sending it to the broker (df8e7ad)
- solace-message-client: notify when actually subscribed to a destination (245697e), closes #16
- solace-message-client: provide access to the message consumer object if connecting to a queue or topic endpoint (b37c0bf)
- solace-message-client: resolve guaranteed messaging promise after acknowledged by the broker (15fc874)
- solace-message-client: support sending messages to a queue (ab901cd)
- testapp: add toggle to follow message tail (55a517d)
- testapp: allow sending empty messages (9c260e8)
- testapp: display content of zipped messages (a119c65)
- testapp: display message content in a viewport (db13feb)
- testapp: log error when the connection to the broker fails (64052ff)
- testapp: persist session connect properties in local storage (59d328f)
- testapp: retry connecting during initial connection setup (cdf1ebe)
BREAKING CHANGES
-
solace-message-client: Refactoring the API for publishing messages introduced following breaking change:
- message payload is no longer automatically marshalled to JSON;
- removed option to set the message body format; instead, it is derived from passed data automatically;
if passing structured data in the form of aSDTField
, data is transported as structured message of the type
TEXT
,MAP
, orSTREAM
, or as binary message otherwise; - removed RxJS operator
mapToObject
for unmarshalling received JSON data;
To migrate:
- to send JSON serialized data (formerly via
MessageBodyFormat.JSON
or by default), you need to pass serialized data instead of the object literal; - to send a structured text message (formerly via
MessageBodyFormat.TEXT
), add transfer data to aSDTField
of the typeSTRING
, as following:solaceMessageClient.publish('topic', SolaceObjectFactory.createSDTField(SDTFieldType.STRING, 'payload'))
; - to send binary data (formerly via
MessageBodyFormat.BINARY
), pass transfer data either as string, array buffer like object, or data view instead; - if used a
format
function to convert data into a structured container (Structured Data Type), pass transfer data in the form of aSDTField
instead; - if used
mapToObject
RxJS operator to unmarshall received JSON data into a JavaScript object literal, you need to unmarshall received data yourself;