OpenNMS.js 2.0 adds a few new APIs, contains a ton of refactoring and build system updates, and has a number of breaking changes.
- updated CLI libraries to fix/improve table output
- better, faster build system to improve generated code
- improved handling of authentication in HTTP implementations
- support for
HEADrequests has been added to the HTTP implementations
- a number of metadata objects (notably
.equals()for comparison now
- property caching on v2 API calls is fixed when interacting with multiple servers/DAOs
- filter API now supports
alarmsCLI list command supports it)
- HTTP parameters in
OnmsHTTPOptionscan now have multiple values -- for example a parameter with value
[ 1, 2 ]will serialize to
api/Logmodule now only exports a single, simplified
typescript-loggingwas overly complicated and not really adding much in the way of value. Use
.setSilent()to change the logging level instead.
- A number of the TypeScript APIs have been clarified to be explicitly nullable (and/or
undefined-able) to make strict null- and type-checking validation pass.
PropertiesCacheand its associated interface,
ISearchPropertyAccessorare gone. This only affects you if you have implemented custom DAOs, which is very unlikely. :)
- The previously deprecated
AbstractHTTP(and sub-classes) has been removed. Access the
Clientno longer keeps a separate copy of the server object. Instead you should access the
- A number of API objects are now immutable/read-only to reduce side-effects:
OnmsServerobjects now have builders (use
.newBuilder()to create) rather than constructors with a bunch of arguments.
OnmsServeris no longer generated, it is computed based on the contents of the server object and should be repeatably equal if the contents are equal.