Release Notes: Solace PubSub+ Messaging API for JavaScript, Version 10.16.0
Release History for Solace PubSub+ Messaging API for JavaScript, Version 10.16.0
March 2024

New Features Introduced in Release 10.16.0 and Earlier Releases

This section lists the new features introduced in the Solace PubSub+ Messaging API for JavaScript between releases 10.16.0 and 10.7.0.
NameDescriptionIntroduced in Version
JS - Update API License Agreement
We have simplified the API license text, and clarified that distributing works containing the Solace APIs is allowed.
10.16.0
JavaScript API - Provide Ability to NACK a Specific AD Message and Force Re-delivery
The Messaging API for JavaScript now supports message NACK.
10.15.0
JavaScript API - Distributed Tracing - Context Propagation
Enables adding and extracting tracing metadata attached to events published and received by the Solace JavaScript API.
10.15.0
JavaScript API - Support for Partitioned Queues
This enhancement adds support for Partitioned Queues to the API. Partitioned Queues expand PubSub+ to provide deterministic, ordered, and non-exclusive message delivery for customers to scale the number of consumers when publishing ordered datasets. The ordered datasets are keyed to ensure all events in the dataset are sent to the same consumer without mis-ordering events.
10.13.0
Prevent Republishing of Guaranteed Messages that Exceed the Maximum Message Size
This feature prevents applications from sending guaranteed messages that exceed the maximum message size configured in the PubSub+ Event Broker to prevent erroneous states in the API.
10.10.0
Javascript - Add Way to Update OAuth Token on Reconnection
This feature allows an application to automatically update the OAuth token without the need to create a new session the next time the API tries to reconnect.
10.10.0
Create a TypeScript Type Definition for the JavaScript API
The TypeScript Definition file for the Javascript API provides TypeScript type information, which enables developers to make use of the Javascript API in their TypeScript projects.
10.9.0
Improve Logging in the SolClient-Full Library
Moved many connection-related and state-affecting logging messages from DEBUG to INFO, in keeping with industry practices.
10.9.0
OAuth/OIDC Support in Messaging API for JavaScript
OAuth / OpenID Connect has been added as a method of authenticating and authorizing clients connecting to the PubSub+ Event Broker using the SMF protocol. Clients using Solace APIs will be able to present a token as a credential during client login. This enables clients to integrate with modern identity and access management systems.
10.9.0
Solace PubSub+ Messaging API for JavaScript - Configure Topic-to-Queue Mappings
The Solace PubSub+ Messaging API for JavaScript now supports adding and removing subscriptions from endpoints that support them (topic-to-queue mapping).
10.8.0
Solace PubSub+ Messaging API for JavaScript - Provision Persistent Endpoint
The Solace PubSub+ Messaging API for JavaScript now supports provisioning of persistent endpoints (Queues, Topic Endpoint).
10.8.0

Issues Resolved in Release 10.16.0 and Earlier Releases

This section lists the history of resolved issues in the Solace PubSub+ Messaging API for JavaScript between releases 10.16.0 and 10.7.0.
Reference NumberDescriptionResolved in Version
SOL-112439
Versions 10.15.0 and earlier of the Solace Node.js API don't work with Node versions 21 and later due to the use of a property that is deprecated starting in Node version 21.
10.16.0
SOL-113035
When exceeding the maximum clients on a topic endpoint, clients using JavaScript 10.15.0 (and earlier) with Event Broker 10.7.1 (and later) will receive an UNKNOWN_ERROR ErrorSubcode instead of MAX_CLIENTS_FOR_TE. Upgrading the client to JavaScript 10.16.0 resolves this problem.
10.16.0
SOL-71852
JavaScript type definitions:
-solclient-full.js variant leads to runtime error
10.14.0
SOL-83128
JavaScript type definitions:
-"@types/long" package has been deprecated.
-"@types/events" dependency is missing in package.json.
-SessionProperties#publisherProperties should be optional.
-MessageConsumerProperties#queueProperties should be optional.
-MessageConsumerProperties#queueDescriptor should be of type `solace.QueueDescriptor`.
-QueueDescriptor#constructor name should be optional.
10.13.0
SOL-77811
JavaScript type definitions:
-Long type reports compilation errors
10.12.0
SOL-82069
JavaScript type definitions:
-correlationKey has changed type from object to nullable string
-requestTimeout has changed type from number to nullable number
10.12.0
SOL-69642
JavaScript type definitions:
-SDTMapContainer is missing the method `addField`
-Session type definition is too restrictive
-Message type definition is too restrictive
-MessageConsumer#disposed should be changed to boolean
-MessageConsumerProperties#queueProperties and SessionProperties#publisherProperties` should be changed to optional
10.11.0
SOL-71190
If an unhandled error causes a client connection to fail, the client will attempt to reconnect without waiting the configured reconnectRetryWaitInMsecs interval.
10.11.0
SOL-50699
The "ws" module that is used by the Solace JavaScript API can be flagged as vulnerable to CVE-2021-32640 during security scans that only check the version number of modules.
Note that the Solace JavaScript API is not actually vulnerable to the CVE because the JavaScript API only acts as a WebSocket client and not a server.
This fix updates the version of the "ws" module to prevent these scanners from flagging the API.
10.8.0
SOL-54781
The API will unexpectedly exit after reconnecting to the broker 10,000 times.
10.8.0

Changed Functionality in Release 10.16.0 and Earlier Releases

This section lists the history of changed functionality in the Solace PubSub+ Messaging API for JavaScript between releases 10.16.0 and 10.7.0.
Reference NumberDescriptionIntroduced in Version
SOL-95357
The API has been updated to decode "400 Invalid Queue or Topic Endpoint Durability" broker response.
For more information, see:
10.15.0
SOL-66699
The API has been updated to decode all broker response codes as of broker version 10.1.1.
10.11.0
SOL-64586
PubSub+ Messaging API for JavaScript now requires Node.js minimum version of 10.0.0 or greater.
10.10.0
SOL-66924
SessionProperty validators will now throw an OperationError instead of just logging a WARNING when validation fails.
10.10.0
SOL-45731
The format of reply-to topics has changed. The reply-to topic used by the API's request/reply helper methods used to be of the form:
#P2P/v:routerName/clientUsernameHash/clientName/#
The trailing # has been replaced with an underscore("_") such that the topic is now of the form:
#P2P/v:routerName/clientUsernameHash/clientName/_
10.7.0

Vulnerabilities Addressed in Release 10.16.0 and Earlier Releases

The following vulnerabilities have been resolved in the Solace PubSub+ Messaging API for JavaScript between releases 10.16.0 and 10.7.0.

None

Known Issues in Release 10.16.0 and Earlier Releases

This section describes known issues in the Solace PubSub+ Messaging API for JavaScript between releases 10.16.0 and 10.7.0.

None
For more details, refer to the Release Notes page for the individual Solace Messaging APIs.

Supported Environments