[OpenNMS/opennms] 46f95a: Add a path-outage graph provider to the Graph REST...

OpenNMS Machine User via opennms-cvs <[email protected]>
Newsgroups gmane.network.opennms.cvs
Message-ID <OpenNMS/opennms/push/refs/heads/master/[email protected]>
  Branch: refs/heads/master
  Home:   https://github.com/OpenNMS/opennms
  Commit: 46f95a68abe1422684ed87e1846b746c1a3238f4
      https://github.com/OpenNMS/opennms/commit/46f95a68abe1422684ed87e1846b746c1a3238f4
  Author: Marshall Massengill <[email protected]>
  Date:   2026-06-09 (Tue, 09 Jun 2026)

  Changed paths:
    M container/features/src/main/resources/features.xml
    A features/graph/provider/pathoutage/pom.xml
    A features/graph/provider/pathoutage/src/main/java/org/opennms/netmgt/graph/provider/pathoutage/PathOutageGraphProvider.java
    A features/graph/provider/pathoutage/src/main/resources/OSGI-INF/blueprint/blueprint.xml
    A features/graph/provider/pathoutage/src/test/java/org/opennms/netmgt/graph/provider/pathoutage/PathOutageGraphProviderTest.java
    M features/graph/provider/pom.xml

  Log Message:
  -----------
  Add a path-outage graph provider to the Graph REST API

The node parent / critical-path hierarchy (OnmsNode.getParent(), the
nodeParentID column) was only reachable through the legacy Vaadin
topology's PathOutageProvider; the new graph service had no equivalent,
so non-Vaadin clients couldn't read it.

Add features/graph/provider/pathoutage with a native GraphProvider that
builds the parent->child forest from NodeDao inside a read-only
transaction (getParent() is a lazy many-to-one). Vertices carry the
label and nodeID properties, with node and alarm-status enrichment
enabled, matching the other node-backed providers. Nodes that take part
in no parent-child relationship are omitted -- isolated dots convey
nothing in this graph -- so installs without node parents serve an empty
graph. Registered as a bare GraphProvider, the service wraps it in a
single-graph container served at /api/v2/graphs/pathoutage/pathoutage,
with cacheInvalidateInterval set so the graph follows provisioning
changes instead of caching the first load forever.


  Commit: f6d9c0203bc50ba2bdda10c443682a3da1732a5a
      https://github.com/OpenNMS/opennms/commit/f6d9c0203bc50ba2bdda10c443682a3da1732a5a
  Author: Marshall Massengill <[email protected]>
  Date:   2026-06-09 (Tue, 09 Jun 2026)

  Changed paths:
    M features/graph/provider/pathoutage/pom.xml
    A features/graph/provider/pathoutage/src/test/java/org/opennms/netmgt/graph/provider/pathoutage/PathOutageGraphProviderIT.java

  Log Message:
  -----------
  Add an integration test for the path-outage graph provider

The mockito unit tests can't cover the one risky part of the provider:
OnmsNode.getParent() is a lazy many-to-one, so building the graph has to
happen inside the provider's own read-only transaction. Exercise
loadGraph() against the real Hibernate NodeDao on a temporary database,
deliberately without a test-managed transaction -- the way the Graph
REST service calls it -- so a missing transaction wrapper would fail
with a LazyInitializationException.


  Commit: 5dcfa108333ec12aa5bd2ba1d68acb8af098b735
      https://github.com/OpenNMS/opennms/commit/5dcfa108333ec12aa5bd2ba1d68acb8af098b735
  Author: Marshall Massengill <[email protected]>
  Date:   2026-06-10 (Wed, 10 Jun 2026)

  Changed paths:
    M .version.txt
    M container/branding/pom.xml
    M container/bridge/api/pom.xml
    M container/bridge/pom.xml
    M container/bridge/proxy/pom.xml
    M container/bridge/rest/pom.xml
    M container/extender/pom.xml
    M container/features/pom.xml
    M container/jaas-login-module/pom.xml
    M container/karaf/pom.xml
    M container/noop-jetty-extension/pom.xml
    M container/pom.xml
    M container/servlet/pom.xml
    M container/shared/pom.xml
    M container/spring-extender/pom.xml
    M core/api/pom.xml
    M core/cache/pom.xml
    M core/camel/pom.xml
    M core/cli/pom.xml
    M core/commands/pom.xml
    M core/config/pom.xml
    M core/criteria/pom.xml
    M core/daemon/pom.xml
    M core/db-install/pom.xml
    M core/db/pom.xml
    M core/encrypt-util/pom.xml
    M core/fileutils/pom.xml
    M core/grpc/common/pom.xml
    M core/grpc/osgi/pom.xml
    M core/grpc/pom.xml
    M core/health/api/pom.xml
    M core/health/impl/pom.xml
    M core/health/pom.xml
    M core/health/rest-cxf/pom.xml
    M core/health/rest/pom.xml
    M core/health/shell/pom.xml
    M core/icmp-jna/pom.xml
    M core/ipc/common/kafka-shell/pom.xml
    M core/ipc/common/kafka/pom.xml
    M core/ipc/common/pom.xml
    M core/ipc/grpc/client/pom.xml
    M core/ipc/grpc/common/pom.xml
    M core/ipc/grpc/itests/pom.xml
    M core/ipc/grpc/pom.xml
    M core/ipc/grpc/server/pom.xml
    M core/ipc/osgi/pom.xml
    M core/ipc/pom.xml
    M core/ipc/rpc/api/pom.xml
    M core/ipc/rpc/camel/pom.xml
    M core/ipc/rpc/common/pom.xml
    M core/ipc/rpc/jms-impl/pom.xml
    M core/ipc/rpc/kafka/pom.xml
    M core/ipc/rpc/mock-impl/pom.xml
    M core/ipc/rpc/pom.xml
    M core/ipc/rpc/shell-commands/pom.xml
    M core/ipc/rpc/utils/pom.xml
    M core/ipc/rpc/xml/pom.xml
    M core/ipc/sink/api/pom.xml
    M core/ipc/sink/camel/client/pom.xml
    M core/ipc/sink/camel/common/pom.xml
    M core/ipc/sink/camel/itests/pom.xml
    M core/ipc/sink/camel/pom.xml
    M core/ipc/sink/camel/server/pom.xml
    M core/ipc/sink/common/pom.xml
    M core/ipc/sink/kafka/client/pom.xml
    M core/ipc/sink/kafka/itests/pom.xml
    M core/ipc/sink/kafka/pom.xml
    M core/ipc/sink/kafka/server/pom.xml
    M core/ipc/sink/mock-impl/pom.xml
    M core/ipc/sink/off-heap/pom.xml
    M core/ipc/sink/pom.xml
    M core/ipc/sink/xml/pom.xml
    M core/ipc/twin/api/pom.xml
    M core/ipc/twin/common/pom.xml
    M core/ipc/twin/grpc/common/pom.xml
    M core/ipc/twin/grpc/itests/pom.xml
    M core/ipc/twin/grpc/pom.xml
    M core/ipc/twin/grpc/publisher/pom.xml
    M core/ipc/twin/grpc/subscriber/pom.xml
    M core/ipc/twin/jms/itests/pom.xml
    M core/ipc/twin/jms/pom.xml
    M core/ipc/twin/jms/publisher/pom.xml
    M core/ipc/twin/jms/subscriber/pom.xml
    M core/ipc/twin/kafka/common/pom.xml
    M core/ipc/twin/kafka/itests/pom.xml
    M core/ipc/twin/kafka/pom.xml
    M core/ipc/twin/kafka/publisher/pom.xml
    M core/ipc/twin/kafka/subscriber/pom.xml
    M core/ipc/twin/memory/pom.xml
    M core/ipc/twin/pom.xml
    M core/ipc/twin/shell/pom.xml
    M core/ipc/twin/test/pom.xml
    M core/jmx/api/pom.xml
    M core/jmx/impl/pom.xml
    M core/jmx/pom.xml
    M core/jstl-support/pom.xml
    M core/lib/pom.xml
    M core/logging-api/pom.xml
    M core/mate/api/pom.xml
    M core/mate/model/pom.xml
    M core/mate/pom.xml
    M core/mate/shell-commands/pom.xml
    M core/password/pom.xml
    M core/pom.xml
    M core/profiler/pom.xml
    M core/runtime/pom.xml
    M core/schema/pom.xml
    M core/snmp/api/pom.xml
    M core/snmp/commands/pom.xml
    M core/snmp/impl-mock/pom.xml
    M core/snmp/impl-snmp4j/pom.xml
    M core/snmp/integration-tests/pom.xml
    M core/snmp/pom.xml
    M core/snmp/profile-mapper/pom.xml
    M core/snmp/proxy-rpc-impl/pom.xml
    M core/snmp/proxy-rpc-tests/pom.xml
    M core/soa/pom.xml
    M core/spring-web/pom.xml
    M core/spring/pom.xml
    M core/sysprops/pom.xml
    M core/tasks/pom.xml
    M core/test-api/activemq/pom.xml
    M core/test-api/alarms/pom.xml
    M core/test-api/camel/pom.xml
    M core/test-api/collection/pom.xml
    M core/test-api/db/pom.xml
    M core/test-api/dns/pom.xml
    M core/test-api/elasticsearch/pom.xml
    M core/test-api/http/pom.xml
    M core/test-api/kafka/pom.xml
    M core/test-api/karaf/pom.xml
    M core/test-api/lib/pom.xml
    M core/test-api/pom.xml
    M core/test-api/rest/pom.xml
    M core/test-api/schema/a/pom.xml
    M core/test-api/schema/b/pom.xml
    M core/test-api/schema/pom.xml
    M core/test-api/services/pom.xml
    M core/test-api/snmp/pom.xml
    M core/test-api/ssh/pom.xml
    M core/test-api/xml/pom.xml
    M core/tracing/api/pom.xml
    M core/tracing/jaeger-osgi/pom.xml
    M core/tracing/jaeger-tracer/pom.xml
    M core/tracing/pom.xml
    M core/tracing/registry/pom.xml
    M core/upgrade/pom.xml
    M core/web-assets/package.json
    M core/web-assets/pom.xml
    M core/web/pom.xml
    M core/xml/pom.xml
    M debian/changelog
    M dependencies/activemq-web/pom.xml
    M dependencies/activemq/pom.xml
    M dependencies/asterisk/pom.xml
    M dependencies/atomikos/pom.xml
    M dependencies/camel-test/pom.xml
    M dependencies/camel/pom.xml
    M dependencies/cassandra-test/pom.xml
    M dependencies/cxf/pom.xml
    M dependencies/dnsjava/pom.xml
    M dependencies/drools/pom.xml
    M dependencies/eclipse-npn-alpn/pom.xml
    M dependencies/felix/pom.xml
    M dependencies/groovy/pom.xml
    M dependencies/hibernate/pom.xml
    M dependencies/jackson1/pom.xml
    M dependencies/jackson2/pom.xml
    M dependencies/jasper/pom.xml
    M dependencies/jasypt/pom.xml
    M dependencies/javamail/pom.xml
    M dependencies/jaxb/pom.xml
    M dependencies/jcifs-shaded/pom.xml
    M dependencies/jcifs/pom.xml
    M dependencies/jinterop/pom.xml
    M dependencies/jmx/pom.xml
    M dependencies/jna/pom.xml
    M dependencies/jradius-extended/pom.xml
    M dependencies/jradius/pom.xml
    M dependencies/jrobin/pom.xml
    M dependencies/jrrd/pom.xml
    M dependencies/jrrd2/pom.xml
    M dependencies/jstl/pom.xml
    M dependencies/jung/pom.xml
    M dependencies/liquibase/pom.xml
    M dependencies/mina/pom.xml
    M dependencies/netty/pom.xml
    M dependencies/newts/pom.xml
    M dependencies/oia/pom.xml
    M dependencies/owasp/pom.xml
    M dependencies/pax-exam/pom.xml
    M dependencies/pom.xml
    M dependencies/quartz/pom.xml
    M dependencies/servlet/pom.xml
    M dependencies/smack/pom.xml
    M dependencies/snmp-test/pom.xml
    M dependencies/snmp/pom.xml
    M dependencies/snmp4j-agent/pom.xml
    M dependencies/snmp4j/pom.xml
    M dependencies/spring-security-core/pom.xml
    M dependencies/spring-security/pom.xml
    M dependencies/spring-test/pom.xml
    M dependencies/spring-web/pom.xml
    M dependencies/spring/pom.xml
    M dependencies/twitter4j/pom.xml
    M deploy/pom.xml
    M docs/antora.yml
    M docs/modules/releasenotes/pages/changelog.adoc
    M docs/modules/releasenotes/pages/whatsnew.adoc
    M features/activemq/broker-api/pom.xml
    M features/activemq/broker/pom.xml
    M features/activemq/component/pom.xml
    M features/activemq/pom.xml
    M features/activemq/pool/pom.xml
    M features/activemq/shell/pom.xml
    M features/alarms/history/api/pom.xml
    M features/alarms/history/elastic/pom.xml
    M features/alarms/history/pom.xml
    M features/alarms/history/rest/api/pom.xml
    M features/alarms/history/rest/impl/pom.xml
    M features/alarms/history/rest/pom.xml
    M features/alarms/pom.xml
    M features/amqp/alarm-northbounder/pom.xml
    M features/amqp/common/pom.xml
    M features/amqp/event-forwarder/pom.xml
    M features/amqp/event-receiver/pom.xml
    M features/amqp/pom.xml
    M features/api-layer/common/pom.xml
    M features/api-layer/core/pom.xml
    M features/api-layer/dao-common/pom.xml
    M features/api-layer/minion/pom.xml
    M features/api-layer/pom.xml
    M features/api-layer/sentinel/pom.xml
    M features/bsm/daemon/pom.xml
    M features/bsm/persistence/api/pom.xml
    M features/bsm/persistence/impl/pom.xml
    M features/bsm/persistence/pom.xml
    M features/bsm/pom.xml
    M features/bsm/rest/api/pom.xml
    M features/bsm/rest/impl/pom.xml
    M features/bsm/rest/pom.xml
    M features/bsm/service/api/pom.xml
    M features/bsm/service/impl/pom.xml
    M features/bsm/service/pom.xml
    M features/bsm/shell-commands/pom.xml
    M features/bsm/test-util/pom.xml
    M features/bsm/vaadin-adminpage/pom.xml
    M features/charts/pom.xml
    M features/collection/api/pom.xml
    M features/collection/client-rpc/pom.xml
    M features/collection/collectors/pom.xml
    M features/collection/core/pom.xml
    M features/collection/persistence-osgi/pom.xml
    M features/collection/persistence-rrd/pom.xml
    M features/collection/persistence-tcp/pom.xml
    M features/collection/pom.xml
    M features/collection/shell-commands/pom.xml
    M features/collection/snmp-collector/pom.xml
    M features/collection/test-api/pom.xml
    M features/collection/thresholding/api/pom.xml
    M features/collection/thresholding/impl/pom.xml
    M features/collection/thresholding/itests/pom.xml
    M features/collection/thresholding/pom.xml
    M features/collection/thresholding/thresholding-shell/pom.xml
    M features/config/dao/api/pom.xml
    M features/config/dao/impl/pom.xml
    M features/config/dao/pom.xml
    M features/config/mock/pom.xml
    M features/config/osgi/cm/pom.xml
    M features/config/osgi/del/pom.xml
    M features/config/osgi/pom.xml
    M features/config/pom.xml
    M features/config/rest/api/pom.xml
    M features/config/rest/impl/pom.xml
    M features/config/rest/pom.xml
    M features/config/service/api/pom.xml
    M features/config/service/impl/pom.xml
    M features/config/service/pom.xml
    M features/config/test/pom.xml
    M features/config/upgrade/pom.xml
    M features/config/util/pom.xml
    M features/container/minion/pom.xml
    M features/container/pom.xml
    M features/container/sentinel/pom.xml
    M features/datachoices/pom.xml
    M features/device-config/api/pom.xml
    M features/device-config/monitor-adaptor/pom.xml
    M features/device-config/monitor/pom.xml
    M features/device-config/persistence/api/pom.xml
    M features/device-config/persistence/impl/pom.xml
    M features/device-config/persistence/pom.xml
    M features/device-config/pom.xml
    M features/device-config/rest/pom.xml
    M features/device-config/retrieval/pom.xml
    M features/device-config/service/pom.xml
    M features/device-config/shell/pom.xml
    M features/device-config/sink/consumer/pom.xml
    M features/device-config/sink/dispatcher/pom.xml
    M features/device-config/sink/module/pom.xml
    M features/device-config/sink/pom.xml
    M features/device-config/ssh-scripting/pom.xml
    M features/device-config/tftp/pom.xml
    M features/dhcpd/pom.xml
    M features/discovery/pom.xml
    M features/distributed/collection/pom.xml
    M features/distributed/coordination/api/pom.xml
    M features/distributed/coordination/common/pom.xml
    M features/distributed/coordination/pom.xml
    M features/distributed/coordination/shell/pom.xml
    M features/distributed/coordination/zookeeper/pom.xml
    M features/distributed/core/api/pom.xml
    M features/distributed/core/impl/pom.xml
    M features/distributed/core/jms/pom.xml
    M features/distributed/core/pom.xml
    M features/distributed/core/shell/pom.xml
    M features/distributed/dao/api/pom.xml
    M features/distributed/dao/distributed/pom.xml
    M features/distributed/dao/healthcheck/pom.xml
    M features/distributed/dao/impl/pom.xml
    M features/distributed/dao/pom.xml
    M features/distributed/dao/shell/pom.xml
    M features/distributed/dao/test/pom.xml
    M features/distributed/datasource/pom.xml
    M features/distributed/distributed-cassandra/cassandra-api/pom.xml
    M features/distributed/distributed-cassandra/newts-impl/pom.xml
    M features/distributed/distributed-cassandra/pom.xml
    M features/distributed/kv-store/api/pom.xml
    M features/distributed/kv-store/blob/blob-itests/pom.xml
    M features/distributed/kv-store/blob/blob-shell/pom.xml
    M features/distributed/kv-store/blob/cassandra/pom.xml
    M features/distributed/kv-store/blob/in-memory/pom.xml
    M features/distributed/kv-store/blob/no-op/pom.xml
    M features/distributed/kv-store/blob/pom.xml
    M features/distributed/kv-store/blob/postgres-impl/pom.xml
    M features/distributed/kv-store/json/json-shell/pom.xml
    M features/distributed/kv-store/json/noop/pom.xml
    M features/distributed/kv-store/json/pom.xml
    M features/distributed/kv-store/json/postgres/pom.xml
    M features/distributed/kv-store/pom.xml
    M features/distributed/kv-store/postgres-shared/pom.xml
    M features/distributed/opennms-identity/pom.xml
    M features/distributed/pom.xml
    M features/distributed/service-registry/pom.xml
    M features/dnsresolver/api/pom.xml
    M features/dnsresolver/netty/pom.xml
    M features/dnsresolver/pom.xml
    M features/dnsresolver/shell/pom.xml
    M features/eif-adapter/pom.xml
    M features/elastic/client/pom.xml
    M features/elastic/pom.xml
    M features/endpoints/grafana/api/pom.xml
    M features/endpoints/grafana/client/pom.xml
    M features/endpoints/grafana/persistence/api/pom.xml
    M features/endpoints/grafana/persistence/impl/pom.xml
    M features/endpoints/grafana/persistence/pom.xml
    M features/endpoints/grafana/pom.xml
    M features/endpoints/grafana/rest/pom.xml
    M features/endpoints/grafana/service/pom.xml
    M features/endpoints/pom.xml
    M features/enlinkd/adapters/collectors/bridge/pom.xml
    M features/enlinkd/adapters/collectors/cdp/pom.xml
    M features/enlinkd/adapters/collectors/ipnettomedia/pom.xml
    M features/enlinkd/adapters/collectors/isis/pom.xml
    M features/enlinkd/adapters/collectors/lldp/pom.xml
    M features/enlinkd/adapters/collectors/ospf/pom.xml
    M features/enlinkd/adapters/collectors/pom.xml
    M features/enlinkd/adapters/common/pom.xml
    M features/enlinkd/adapters/discovers/bridge/pom.xml
    M features/enlinkd/adapters/discovers/pom.xml
    M features/enlinkd/adapters/pom.xml
    M features/enlinkd/adapters/updaters/bridge/pom.xml
    M features/enlinkd/adapters/updaters/cdp/pom.xml
    M features/enlinkd/adapters/updaters/isis/pom.xml
    M features/enlinkd/adapters/updaters/lldp/pom.xml
    M features/enlinkd/adapters/updaters/nodes/pom.xml
    M features/enlinkd/adapters/updaters/ospf/pom.xml
    M features/enlinkd/adapters/updaters/pom.xml
    M features/enlinkd/api/pom.xml
    M features/enlinkd/config/pom.xml
    M features/enlinkd/daemon/pom.xml
    M features/enlinkd/generator/pom.xml
    M features/enlinkd/persistence/api/pom.xml
    M features/enlinkd/persistence/impl/pom.xml
    M features/enlinkd/persistence/pom.xml
    M features/enlinkd/pom.xml
    M features/enlinkd/service/api/pom.xml
    M features/enlinkd/service/impl/pom.xml
    M features/enlinkd/service/pom.xml
    M features/enlinkd/shell/pom.xml
    M features/enlinkd/tests/pom.xml
    M features/events/api/pom.xml
    M features/events/collector/pom.xml
    M features/events/daemon/pom.xml
    M features/events/pom.xml
    M features/events/shell-commands/pom.xml
    M features/events/sink/dispatcher/pom.xml
    M features/events/sink/pom.xml
    M features/events/sink/shell-commands/pom.xml
    M features/events/syslog/pom.xml
    M features/events/traps/pom.xml
    M features/executor-factory/cassandra/pom.xml
    M features/executor-factory/pom.xml
    M features/flows/api/pom.xml
    M features/flows/classification/engine/api/pom.xml
    M features/flows/classification/engine/impl/pom.xml
    M features/flows/classification/engine/pom.xml
    M features/flows/classification/persistence/api/pom.xml
    M features/flows/classification/persistence/impl/pom.xml
    M features/flows/classification/persistence/pom.xml
    M features/flows/classification/pom.xml
    M features/flows/classification/shell/pom.xml
    M features/flows/elastic/pom.xml
    M features/flows/itests/pom.xml
    M features/flows/kafka-persistence/pom.xml
    M features/flows/pom.xml
    M features/flows/processing/pom.xml
    M features/flows/rest/api/pom.xml
    M features/flows/rest/impl/pom.xml
    M features/flows/rest/pom.xml
    M features/geocoder/api/pom.xml
    M features/geocoder/google/pom.xml
    M features/geocoder/mapquest/pom.xml
    M features/geocoder/nominatim/pom.xml
    M features/geocoder/pom.xml
    M features/geocoder/rest/pom.xml
    M features/geocoder/service/pom.xml
    M features/geolocation/api/pom.xml
    M features/geolocation/pom.xml
    M features/geolocation/rest/pom.xml
    M features/geolocation/service/pom.xml
    M features/graph/api/pom.xml
    M features/graph/dao/api/pom.xml
    M features/graph/dao/impl/pom.xml
    M features/graph/dao/pom.xml
    M features/graph/domain/pom.xml
    M features/graph/pom.xml
    M features/graph/provider/application/pom.xml
    M features/graph/provider/bsm/pom.xml
    M features/graph/provider/graphml/pom.xml
    M features/graph/provider/legacy/pom.xml
    M features/graph/provider/pathoutage/pom.xml
    M features/graph/provider/persistence-test/pom.xml
    M features/graph/provider/pom.xml
    M features/graph/provider/topology/pom.xml
    M features/graph/rest/api/pom.xml
    M features/graph/rest/impl/pom.xml
    M features/graph/rest/pom.xml
    M features/graph/service/pom.xml
    M features/graph/shell/pom.xml
    M features/graphml/api/pom.xml
    M features/graphml/pom.xml
    M features/graphml/rest/pom.xml
    M features/graphml/service/pom.xml
    M features/grpc/exporter/pom.xml
    M features/grpc/pom.xml
    M features/ifttt/pom.xml
    M features/inmemory-timeseries-plugin/pom.xml
    M features/instrumentationLogReader/pom.xml
    M features/jdbc-collector/pom.xml
    M features/jest/client/pom.xml
    M features/jest/dependencies/pom.xml
    M features/jest/feature/pom.xml
    M features/jest/jest-complete-osgi/pom.xml
    M features/jest/pom.xml
    M features/jmx-config-generator/pom.xml
    M features/juniper-tca-collector/pom.xml
    M features/kafka/consumer/pom.xml
    M features/kafka/pom.xml
    M features/kafka/producer/pom.xml
    M features/karaf-health/pom.xml
    M features/measurements/api/pom.xml
    M features/measurements/impl/pom.xml
    M features/measurements/pom.xml
    M features/measurements/rest/pom.xml
    M features/measurements/shell/pom.xml
    M features/mib-compiler/pom.xml
    M features/minion/core/features/pom.xml
    M features/minion/core/health-check/pom.xml
    M features/minion/core/impl/pom.xml
    M features/minion/core/pom.xml
    M features/minion/core/repository/pom.xml
    M features/minion/dominion/grpc-client/pom.xml
    M features/minion/dominion/pom.xml
    M features/minion/heartbeat/common/pom.xml
    M features/minion/heartbeat/consumer/pom.xml
    M features/minion/heartbeat/pom.xml
    M features/minion/heartbeat/producer/pom.xml
    M features/minion/pom.xml
    M features/minion/repository/pom.xml
    M features/minion/shell/collection/pom.xml
    M features/minion/shell/poller/pom.xml
    M features/minion/shell/pom.xml
    M features/minion/shell/provision/pom.xml
    M features/minion/status/pom.xml
    M features/name-cutter/pom.xml
    M features/newts-repository-converter/pom.xml
    M features/newts/pom.xml
    M features/notifications/api/pom.xml
    M features/notifications/pom.xml
    M features/notifications/shell/pom.xml
    M features/notifications/ticket-strategy/pom.xml
    M features/nrtg/api/pom.xml
    M features/nrtg/broker/pom.xml
    M features/nrtg/commander/pom.xml
    M features/nrtg/jar/nrtcollector/pom.xml
    M features/nrtg/jar/pom.xml
    M features/nrtg/nrtbroker-jms/pom.xml
    M features/nrtg/nrtbroker-local/pom.xml
    M features/nrtg/nrtcollector/pom.xml
    M features/nrtg/pom.xml
    M features/nrtg/protocolcollector/pom.xml
    M features/nrtg/protocolcollector/snmp/pom.xml
    M features/nrtg/protocolcollector/tca/pom.xml
    M features/nrtg/system-exports/pom.xml
    M features/nrtg/web/pom.xml
    M features/openconfig/api/pom.xml
    M features/openconfig/common/pom.xml
    M features/openconfig/pom.xml
    M features/openconfig/telemetry-client/pom.xml
    M features/opennms-es-rest/pom.xml
    M features/opennms-osgi-core-rest/pom.xml
    M features/opennms-osgi-core/pom.xml
    M features/osgi-jsr223/pom.xml
    M features/perspectivepoller/pom.xml
    M features/poller/api/pom.xml
    M features/poller/client-rpc/pom.xml
    M features/poller/monitors/core/pom.xml
    M features/poller/monitors/pom.xml
    M features/poller/pom.xml
    M features/poller/runtime/pom.xml
    M features/poller/shell/pom.xml
    M features/pom.xml
    M features/prometheus-collector/pom.xml
    M features/provisioning/api/pom.xml
    M features/provisioning/lib/pom.xml
    M features/provisioning/pom.xml
    M features/reporting/api/pom.xml
    M features/reporting/availability/pom.xml
    M features/reporting/core/pom.xml
    M features/reporting/dao/pom.xml
    M features/reporting/jasper-reports-compiler/pom.xml
    M features/reporting/jasper-reports-filter/pom.xml
    M features/reporting/jasper-reports/pom.xml
    M features/reporting/model/pom.xml
    M features/reporting/pom.xml
    M features/reporting/repository/pom.xml
    M features/reporting/rest/pom.xml
    M features/reporting/sdo/pom.xml
    M features/request-tracker/pom.xml
    M features/rest-provider/pom.xml
    M features/rest/common/pom.xml
    M features/rest/mapper/pom.xml
    M features/rest/model/pom.xml
    M features/rest/pom.xml
    M features/root-webapp/pom.xml
    M features/scv/api/pom.xml
    M features/scv/dominion-grpc-impl/pom.xml
    M features/scv/jceks-impl/pom.xml
    M features/scv/pom.xml
    M features/scv/rest/pom.xml
    M features/scv/scvcli/pom.xml
    M features/scv/shell/pom.xml
    M features/search/api/pom.xml
    M features/search/pom.xml
    M features/search/providers/pom.xml
    M features/search/rest/pom.xml
    M features/search/service/pom.xml
    M features/sentinel/core/pom.xml
    M features/sentinel/pom.xml
    M features/situation-feedback/api/pom.xml
    M features/situation-feedback/elastic/pom.xml
    M features/situation-feedback/pom.xml
    M features/situation-feedback/rest/api/pom.xml
    M features/situation-feedback/rest/impl/pom.xml
    M features/situation-feedback/rest/pom.xml
    M features/springframework-security/pom.xml
    M features/status/api/pom.xml
    M features/status/pom.xml
    M features/status/rest/pom.xml
    M features/system-report/pom.xml
    M features/telemetry/api/pom.xml
    M features/telemetry/common/pom.xml
    M features/telemetry/config/api/pom.xml
    M features/telemetry/config/jaxb/pom.xml
    M features/telemetry/config/pom.xml
    M features/telemetry/connectors/pom.xml
    M features/telemetry/daemon/pom.xml
    M features/telemetry/distributed/common/pom.xml
    M features/telemetry/distributed/minion/pom.xml
    M features/telemetry/distributed/pom.xml
    M features/telemetry/distributed/sentinel/pom.xml
    M features/telemetry/itests/pom.xml
    M features/telemetry/listeners/pom.xml
    M features/telemetry/pom.xml
    M features/telemetry/protocols/adapters/pom.xml
    M features/telemetry/protocols/bmp/adapter/pom.xml
    M features/telemetry/protocols/bmp/parser/pom.xml
    M features/telemetry/protocols/bmp/persistence/api/pom.xml
    M features/telemetry/protocols/bmp/persistence/impl/pom.xml
    M features/telemetry/protocols/bmp/persistence/pom.xml
    M features/telemetry/protocols/bmp/pom.xml
    M features/telemetry/protocols/bmp/stats/pom.xml
    M features/telemetry/protocols/bmp/transport/pom.xml
    M features/telemetry/protocols/cache/pom.xml
    M features/telemetry/protocols/common/pom.xml
    M features/telemetry/protocols/flows/pom.xml
    M features/telemetry/protocols/graphite/adapter/pom.xml
    M features/telemetry/protocols/graphite/pom.xml
    M features/telemetry/protocols/jti/adapter/pom.xml
    M features/telemetry/protocols/jti/pom.xml
    M features/telemetry/protocols/netflow/adapter/pom.xml
    M features/telemetry/protocols/netflow/parser/pom.xml
    M features/telemetry/protocols/netflow/pom.xml
    M features/telemetry/protocols/netflow/transport/pom.xml
    M features/telemetry/protocols/netflow/xml-provider/core/pom.xml
    M features/telemetry/protocols/netflow/xml-provider/minion/pom.xml
    M features/telemetry/protocols/netflow/xml-provider/pom.xml
    M features/telemetry/protocols/nxos/adapter/pom.xml
    M features/telemetry/protocols/nxos/pom.xml
    M features/telemetry/protocols/openconfig/adapter/pom.xml
    M features/telemetry/protocols/openconfig/connector/pom.xml
    M features/telemetry/protocols/openconfig/itests/pom.xml
    M features/telemetry/protocols/openconfig/pom.xml
    M features/telemetry/protocols/pom.xml
    M features/telemetry/protocols/sflow/adapter/pom.xml
    M features/telemetry/protocols/sflow/parser/pom.xml
    M features/telemetry/protocols/sflow/pom.xml
    M features/telemetry/registry/pom.xml
    M features/telemetry/shell/pom.xml
    M features/themes/dashboard-theme/pom.xml
    M features/themes/jmxconfiggenerator-theme/pom.xml
    M features/themes/onms-default-theme/pom.xml
    M features/themes/pom.xml
    M features/ticketing/api/pom.xml
    M features/ticketing/daemon/pom.xml
    M features/ticketing/drools-integration/pom.xml
    M features/ticketing/inmemory/pom.xml
    M features/ticketing/jira-client/pom.xml
    M features/ticketing/jira-integration/pom.xml
    M features/ticketing/pom.xml
    M features/ticketing/rt-integration/pom.xml
    M features/ticketing/tsrm-integration/pom.xml
    M features/timeformat/api/pom.xml
    M features/timeformat/impl/pom.xml
    M features/timeformat/pom.xml
    M features/timeseries-evaluate/pom.xml
    M features/timeseries-shell/pom.xml
    M features/timeseries/pom.xml
    M features/topologies/pom.xml
    M features/topologies/service/api/pom.xml
    M features/topologies/service/impl/pom.xml
    M features/topologies/service/pom.xml
    M features/topology-map/features/pom.xml
    M features/topology-map/features/runtime-base/pom.xml
    M features/topology-map/features/runtime-graphml/pom.xml
    M features/topology-map/org.opennms.features.topology.api/pom.xml
    M features/topology-map/org.opennms.features.topology.app/pom.xml
    M features/topology-map/org.opennms.features.topology.link/pom.xml
    M features/topology-map/org.opennms.features.topology.persistence/org.opennms.features.topology.persistence.api/pom.xml
    M features/topology-map/org.opennms.features.topology.persistence/org.opennms.features.topology.persistence.impl/pom.xml
    M features/topology-map/org.opennms.features.topology.persistence/pom.xml
    M features/topology-map/org.opennms.features.topology.shell/pom.xml
    M features/topology-map/plugins/org.opennms.features.topology.plugins.browsers/pom.xml
    M features/topology-map/plugins/org.opennms.features.topology.plugins.layout/pom.xml
    M features/topology-map/plugins/org.opennms.features.topology.plugins.netutils/pom.xml
    M features/topology-map/plugins/org.opennms.features.topology.plugins.topo.application/pom.xml
    M features/topology-map/plugins/org.opennms.features.topology.plugins.topo.asset/pom.xml
    M features/topology-map/plugins/org.opennms.features.topology.plugins.topo.bsm/pom.xml
    M features/topology-map/plugins/org.opennms.features.topology.plugins.topo.graphml/pom.xml
    M features/topology-map/plugins/org.opennms.features.topology.plugins.topo.history/pom.xml
    M features/topology-map/plugins/org.opennms.features.topology.plugins.topo.linkd/pom.xml
    M features/topology-map/plugins/org.opennms.features.topology.plugins.topo.pathoutage/pom.xml
    M features/topology-map/plugins/org.opennms.features.topology.plugins.topo.vmware/pom.xml
    M features/topology-map/plugins/pom.xml
    M features/topology-map/pom.xml
    M features/topology-map/poms/compiled/pom.xml
    M features/topology-map/poms/pom.xml
    M features/topology-map/poms/wrappers/pom.xml
    M features/topology-map/provision/pom.xml
    M features/topology-map/themes/default-theme/pom.xml
    M features/topology-map/themes/pom.xml
    M features/ui-extension/pom.xml
    M features/usageanalytics/api/pom.xml
    M features/usageanalytics/impl/pom.xml
    M features/usageanalytics/pom.xml
    M features/vaadin-components/core/pom.xml
    M features/vaadin-components/extender-service/pom.xml
    M features/vaadin-components/graph/pom.xml
    M features/vaadin-components/header/pom.xml
    M features/vaadin-components/pom.xml
    M features/vaadin-components/widgetset/pom.xml
    M features/vaadin-jmxconfiggenerator/pom.xml
    M features/vaadin-snmp-events-and-metrics/pom.xml
    M features/vaadin-surveillance-views/pom.xml
    M features/vaadin/pom.xml
    M features/wsman/pom.xml
    M features/zenith-connect/persistence/pom.xml
    M features/zenith-connect/pom.xml
    M features/zenith-connect/rest/pom.xml
    M integration-tests/config/pom.xml
    M integration-tests/pom.xml
    M integration-tests/trend-configuration/pom.xml
    M integrations/opennms-R/pom.xml
    M integrations/opennms-dns-provisioning-adapter/pom.xml
    M integrations/opennms-geoip-provisioning-adapter/pom.xml
    M integrations/opennms-jasper-extensions/pom.xml
    M integrations/opennms-jasperstudio-extension/pom.xml
    M integrations/opennms-puppet-provisioning-adapter/pom.xml
    M integrations/opennms-reverse-dns-provisioning-adapter/pom.xml
    M integrations/opennms-snmp-asset-provisioning-adapter/pom.xml
    M integrations/opennms-snmp-hardware-inventory-provisioning-adapter/pom.xml
    M integrations/opennms-snmp-metadata-provisioning-adapter/pom.xml
    M integrations/opennms-vmware/pom.xml
    M integrations/opennms-vtdxml-collector-handler/pom.xml
    M integrations/opennms-wsman-asset-provisioning-adapter/pom.xml
    M integrations/pom.xml
    M opennms-ackd/pom.xml
    M opennms-alarms/api/pom.xml
    M opennms-alarms/bsf-northbounder/pom.xml
    M opennms-alarms/daemon/pom.xml
    M opennms-alarms/drools-northbounder/pom.xml
    M opennms-alarms/email-northbounder/pom.xml
    M opennms-alarms/http-northbounder/pom.xml
    M opennms-alarms/integration-tests/pom.xml
    M opennms-alarms/jms-northbounder/pom.xml
    M opennms-alarms/pom.xml
    M opennms-alarms/snmptrap-northbounder/pom.xml
    M opennms-alarms/syslog-northbounder/pom.xml
    M opennms-assemblies/minion/pom.xml
    M opennms-assemblies/minion/src/main/filtered/debian/changelog
    M opennms-assemblies/pom.xml
    M opennms-assemblies/sentinel/pom.xml
    M opennms-assemblies/sentinel/src/main/filtered/debian/changelog
    M opennms-assemblies/version/pom.xml
    M opennms-assemblies/webapp-full/pom.xml
    M opennms-assemblies/xsds/pom.xml
    M opennms-asterisk/pom.xml
    M opennms-base-assembly/pom.xml
    M opennms-bootstrap/pom.xml
    M opennms-config-api/pom.xml
    M opennms-config-dao/common-api/pom.xml
    M opennms-config-dao/common-impl/pom.xml
    M opennms-config-dao/poll-outages/api/pom.xml
    M opennms-config-dao/poll-outages/impl/pom.xml
    M opennms-config-dao/poll-outages/itests/pom.xml
    M opennms-config-dao/poll-outages/pom.xml
    M opennms-config-dao/pom.xml
    M opennms-config-dao/thresholding/api/pom.xml
    M opennms-config-dao/thresholding/impl/pom.xml
    M opennms-config-dao/thresholding/pom.xml
    M opennms-config-jaxb/pom.xml
    M opennms-config-model/pom.xml
    M opennms-config-tester/pom.xml
    M opennms-config/pom.xml
    M opennms-correlation/drools-correlation-engine/pom.xml
    M opennms-correlation/opennms-correlator/pom.xml
    M opennms-correlation/pom.xml
    M opennms-dao-api/pom.xml
    M opennms-dao-mock/pom.xml
    M opennms-dao/pom.xml
    M opennms-enterprise-reporting/opennms-reportd/pom.xml
    M opennms-enterprise-reporting/pom.xml
    M opennms-full-assembly/pom.xml
    M opennms-full-assembly/src/test/java/org/opennms/assemblies/karaf/OnmsKarafTestCase.java
    M opennms-icmp/commands/pom.xml
    M opennms-icmp/opennms-icmp-api/pom.xml
    M opennms-icmp/opennms-icmp-best/pom.xml
    M opennms-icmp/opennms-icmp-jna/pom.xml
    M opennms-icmp/opennms-icmp-jni/pom.xml
    M opennms-icmp/opennms-icmp-jni6/pom.xml
    M opennms-icmp/opennms-icmp-proxy-rpc-impl/pom.xml
    M opennms-icmp/pom.xml
    M opennms-install/pom.xml
    M opennms-javamail/opennms-javamail-api/pom.xml
    M opennms-javamail/pom.xml
    M opennms-jetty/pom.xml
    M opennms-model/pom.xml
    M opennms-provision/opennms-detector-bsf/pom.xml
    M opennms-provision/opennms-detector-datagram/pom.xml
    M opennms-provision/opennms-detector-dhcp/pom.xml
    M opennms-provision/opennms-detector-generic/pom.xml
    M opennms-provision/opennms-detector-jdbc/pom.xml
    M opennms-provision/opennms-detector-jms/pom.xml
    M opennms-provision/opennms-detector-jmx/pom.xml
    M opennms-provision/opennms-detector-lineoriented/pom.xml
    M opennms-provision/opennms-detector-rdns-lookup/pom.xml
    M opennms-provision/opennms-detector-registry/pom.xml
    M opennms-provision/opennms-detector-simple/pom.xml
    M opennms-provision/opennms-detector-ssh/pom.xml
    M opennms-provision/opennms-detector-web/pom.xml
    M opennms-provision/opennms-detectorclient-rpc/pom.xml
    M opennms-provision/opennms-mock-simpleserver/pom.xml
    M opennms-provision/opennms-provision-api/pom.xml
    M opennms-provision/opennms-provision-geolocation/pom.xml
    M opennms-provision/opennms-provision-persistence/pom.xml
    M opennms-provision/opennms-provision-shell/pom.xml
    M opennms-provision/opennms-provisiond/pom.xml
    M opennms-provision/opennms-requisition-dns/pom.xml
    M opennms-provision/opennms-requisition-service/pom.xml
    M opennms-provision/opennms-snmp-scanners/pom.xml
    M opennms-provision/pom.xml
    M opennms-rrd/opennms-rrd-api/pom.xml
    M opennms-rrd/opennms-rrd-model/pom.xml
    M opennms-rrd/opennms-rrd-rrdtool/opennms-rrdtool-api/pom.xml
    M opennms-rrd/opennms-rrd-rrdtool/pom.xml
    M opennms-rrd/opennms-rrd-tcp/pom.xml
    M opennms-rrd/opennms-rrd-util/pom.xml
    M opennms-rrd/pom.xml
    M opennms-services/pom.xml
    M opennms-taglib/pom.xml
    M opennms-util/pom.xml
    M opennms-web-api/pom.xml
    M opennms-web-dependencies/pom.xml
    M opennms-webapp-rest/pom.xml
    M opennms-webapp/pom.xml
    M pom.xml
    M protocols/cifs/pom.xml
    M protocols/nsclient/pom.xml
    M protocols/pom.xml
    M protocols/radius/pom.xml
    M protocols/selenium-monitor/pom.xml
    M protocols/xml/pom.xml
    M smoke-test/pom.xml
    M tests/dao/pom.xml
    M tests/mock-elements/pom.xml
    M tests/mock-snmp-agent/pom.xml
    M tests/pom.xml
    R ui/.eslintrc
    R ui/.eslintrc-auto-import.json
    R ui/.prettierrc
    R ui/auto-imports.d.ts
    A ui/eslint.config.js
    M ui/package.json
    M ui/pnpm-lock.yaml
    M ui/pom.xml
    M ui/src/assets/LogoHorizon.vue
    M ui/src/components/Common/ActionDropdownButton.vue
    M ui/src/components/Common/ConfirmationDialog.vue
    M ui/src/components/Common/EmptyList.vue
    M ui/src/components/Common/MessageDialog.vue
    M ui/src/components/Common/Pagination.vue
    M ui/src/components/Common/Snackbar.vue
    M ui/src/components/Configuration/ConfigurationAdvancedPanel.vue
    M ui/src/components/Configuration/ConfigurationCopyPasteDisplay.vue
    M ui/src/components/Configuration/ConfigurationCronSelector.vue
    M ui/src/components/Configuration/ConfigurationDrawer.vue
    M ui/src/components/Configuration/ConfigurationEmptyTable.vue
    M ui/src/components/Configuration/ConfigurationGeneratedUrl.vue
    M ui/src/components/Configuration/ConfigurationHelpPanel.vue
    M ui/src/components/Configuration/ConfigurationHelper.ts
    M ui/src/components/Configuration/ConfigurationTable.vue
    M ui/src/components/Configuration/ConfigurationTableWrapper.vue
    M ui/src/components/Configuration/ConfigurationThreadPools.vue
    M ui/src/components/Configuration/ProvisionDForm.vue
    M ui/src/components/Configuration/hooks/provisionD.ts
    M ui/src/components/Device/DCBDiff.vue
    M ui/src/components/Device/DCBModal.vue
    M ui/src/components/Device/DCBModalConfigDiffContent.vue
    M ui/src/components/Device/DCBModalViewHistoryContent.vue
    M ui/src/components/Device/DCBSearch.vue
    M ui/src/components/Device/DCBTable.vue
    M ui/src/components/EventConfigEventCreate/AlarmDataInfo.vue
    M ui/src/components/EventConfigEventCreate/BasicInformation.vue
    M ui/src/components/EventConfigEventCreate/MaskElements.vue
    M ui/src/components/EventConfigEventCreate/MaskVarbinds.vue
    M ui/src/components/EventConfigEventCreate/VarbindsDecode.vue
    M ui/src/components/EventConfigEventCreate/constants.ts
    M ui/src/components/EventConfigEventCreate/eventValidator.ts
    M ui/src/components/EventConfiguration/Dialog/CreateEventConfigurationDialog.vue
    M ui/src/components/EventConfiguration/Dialog/UploadedFileRenameDialog.vue
    M ui/src/components/EventConfiguration/EventConfigSourceTable.vue
    M ui/src/components/EventConfiguration/EventConfigTabContainer.vue
    M ui/src/components/EventConfiguration/EventConfigUploadFilesTab.vue
    M ui/src/components/EventConfiguration/eventConfigXmlValidator.ts
    M ui/src/components/EventConfigurationDetail/Dialog/DeleteEventConfigEventDialog.vue
    M ui/src/components/EventConfigurationDetail/Dialog/DeleteEventConfigSourceDialog.vue
    M ui/src/components/EventConfigurationDetail/EventConfigEventTable.vue
    M ui/src/components/FileEditor/Console.vue
    M ui/src/components/FileEditor/Editor.vue
    M ui/src/components/FileEditor/FileSidebar.vue
    M ui/src/components/FileEditor/FileTreeItem.vue
    M ui/src/components/FileEditor/Help.vue
    M ui/src/components/FileEditor/NewFileInput.vue
    M ui/src/components/FileEditor/Search.vue
    M ui/src/components/FileEditor/TopBar.vue
    M ui/src/components/FileEditor/utils.ts
    M ui/src/components/Layout/BreadCrumbs.vue
    M ui/src/components/Layout/Footer.vue
    M ui/src/components/Logs/Editor.vue
    M ui/src/components/Logs/Logs.vue
    M ui/src/components/Logs/Search.vue
    M ui/src/components/Map/GridTabs.vue
    M ui/src/components/Map/LeafletMap.vue
    M ui/src/components/Map/MapAlarmsGrid.vue
    M ui/src/components/Map/MapNodesGrid.vue
    M ui/src/components/Map/MapSearch.vue
    M ui/src/components/Map/MarkerCluster.vue
    M ui/src/components/Map/MarkerClusterPopupContent.vue
    M ui/src/components/Map/MarkerPopup.vue
    M ui/src/components/Map/SeverityFilter.vue
    M ui/src/components/Menu/Menubar.vue
    M ui/src/components/Menu/Search.vue
    M ui/src/components/Menu/SearchHeader.vue
    M ui/src/components/Menu/SearchResult.vue
    M ui/src/components/Menu/SideMenu.vue
    M ui/src/components/Menu/UserNotificationsMenuItem.vue
    M ui/src/components/Menu/UserSelfServiceMenuItem.vue
    M ui/src/components/Menu/utils.ts
    M ui/src/components/Nodes/ColumnSelectionDrawer.vue
    M ui/src/components/Nodes/ColumnSelectionPanel.vue
    M ui/src/components/Nodes/EventsTable.vue
    M ui/src/components/Nodes/ExtendedSearchPanel.vue
    M ui/src/components/Nodes/InterfacesTabs.vue
    M ui/src/components/Nodes/IpInterfacesTable.vue
    M ui/src/components/Nodes/ManagementIPTooltipCell.vue
    M ui/src/components/Nodes/NodeAvailabilityGraph.vue
    M ui/src/components/Nodes/NodeDetailsDialog.vue
    M ui/src/components/Nodes/NodePreferencesDialog.vue
    M ui/src/components/Nodes/NodesTable.vue
    M ui/src/components/Nodes/OutagesTable.vue
    M ui/src/components/Nodes/SnmpInterfacesTable.vue
    M ui/src/components/Nodes/hooks/queryStringParser.ts
    M ui/src/components/Nodes/hooks/useNodeExport.ts
    M ui/src/components/Nodes/hooks/useNodeQuery.ts
    M ui/src/components/Nodes/utils.ts
    M ui/src/components/Plugin/Container.vue
    M ui/src/components/Plugin/utils.ts
    M ui/src/components/Resources/Graph.vue
    M ui/src/components/Resources/GraphContainer.vue
    M ui/src/components/Resources/GraphDataTable.vue
    M ui/src/components/Resources/Graphs.vue
    M ui/src/components/Resources/NodeResourceList.vue
    M ui/src/components/Resources/ResourceList.vue
    M ui/src/components/Resources/Resources.vue
    M ui/src/components/Resources/TimeControls.vue
    M ui/src/components/Resources/plugins/HtmlLegendPlugin.ts
    M ui/src/components/Resources/utils/Consolidator.ts
    M ui/src/components/Resources/utils/LegendFormatter.ts
    M ui/src/components/SCV/SCVAttribute.vue
    M ui/src/components/SCV/SCVForm.vue
    M ui/src/components/SCV/SCVList.vue
    M ui/src/components/SCV/ScvInputIcon.vue
    M ui/src/components/SCV/ScvSearchDrawer.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigAdvancedTab.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigDefaultsPanel.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigDefinitionBasicInformation.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigDefinitionsTab.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigDefinitionsTable.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigDetailsPanel.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigLookupPanel.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigLookupTab.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigPairedFieldInputs.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigProfileBasicInformation.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigProfilesTab.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigProfilesTable.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigTabContainer.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigUploadDownloadTab.vue
    M ui/src/components/SnmpDataCollection/Dialog/DataCollectionFilesUploadReportDialog.vue
    M ui/src/components/SnmpDataCollection/Dialog/DeleteConfirmationDialog.vue
    M ui/src/components/SnmpDataCollection/Dialog/SnmpDataCollectionChangeStatusDialog.vue
    M ui/src/components/SnmpDataCollection/Dialog/UploadedFileRenameDialog.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionProfile/ProfileRrdSettingsTab.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionProfile/ProfileSourcesTab.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionProfile/SnmpDataCollectionProfileDetails.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionProfilesTable.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/Drawer/MibGroupCreationDrawer.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/Drawer/ResourceTypeCreationDrawer.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/Drawer/SnmpDataCollectionSourceProfilesDrawer.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/Drawer/SystemDefinitionCreationDrawer.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/MibGroupsTable.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/ResourceTypesTable.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/SystemDefinitionsTable.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceImport.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourcesTable.vue
    M ui/src/components/SnmpDataCollection/snmpDataCollectionSourceXmlValidator.ts
    M ui/src/components/TrapdConfiguration/CreateSnmpV3User.vue
    M ui/src/components/TrapdConfiguration/GeneralConfiguration.vue
    M ui/src/components/TrapdConfiguration/SnmpV3UserManagement.vue
    M ui/src/components/TrapdConfiguration/TrapdAdvancedConfiguration.vue
    M ui/src/components/UsageStatistics/UsageStatisticsHeader.vue
    M ui/src/components/UsageStatistics/UsageStatisticsTable.vue
    M ui/src/components/ZenithConnect/ZenithConnectRegister.vue
    M ui/src/components/ZenithConnect/ZenithConnectRegisterResult.vue
    M ui/src/components/ZenithConnect/ZenithConnectView.vue
    M ui/src/composables/useDownload.ts
    M ui/src/composables/useQueryParams.ts
    M ui/src/composables/useRole.ts
    M ui/src/composables/useSnackbar.ts
    M ui/src/composables/useSpinner.ts
    M ui/src/containers/DeviceConfigBackup.vue
    M ui/src/containers/EventConfigEventCreate.vue
    M ui/src/containers/EventConfiguration.vue
    M ui/src/containers/EventConfigurationDetail.vue
    M ui/src/containers/FileEditor.vue
    M ui/src/containers/Home.vue
    M ui/src/containers/Logs.vue
    M ui/src/containers/Map.vue
    M ui/src/containers/NodeDetails.vue
    M ui/src/containers/Nodes.vue
    M ui/src/containers/OpenAPI.vue
    M ui/src/containers/Plugin.vue
    M ui/src/containers/ProvisionDConfig.vue
    M ui/src/containers/ResourceGraphs.vue
    M ui/src/containers/SecureCredentialsVault.vue
    M ui/src/containers/SnmpConfiguration.vue
    M ui/src/containers/SnmpDataCollection.vue
    M ui/src/containers/SnmpDataCollectionSourceDetail.vue
    M ui/src/containers/TrapdConfiguration.vue
    M ui/src/containers/UsageStatistics.vue
    M ui/src/containers/ZenithConnectSuccess.vue
    M ui/src/directives/v-date.ts
    M ui/src/lib/constants.ts
    M ui/src/lib/snmpConfigHelpers.ts
    M ui/src/lib/snmpValidator.ts
    M ui/src/lib/trapdValidator.ts
    M ui/src/main/App.vue
    R ui/src/main/auto-imports.d.ts
    M ui/src/main/router/index.ts
    M ui/src/mappers/eventConfig.mapper.ts
    M ui/src/mappers/trapdConfig.mapper.ts
    R ui/src/menu/auto-imports.d.ts
    M ui/src/services/alarmService.ts
    M ui/src/services/categoryService.ts
    M ui/src/services/configService.ts
    M ui/src/services/configurationService.ts
    M ui/src/services/deviceService.ts
    M ui/src/services/eventConfigService.ts
    M ui/src/services/eventService.ts
    M ui/src/services/geolocationService.ts
    M ui/src/services/graphService.ts
    M ui/src/services/helpService.ts
    M ui/src/services/ifService.ts
    M ui/src/services/infoService.ts
    M ui/src/services/ipInterfaceService.ts
    M ui/src/services/localStorageService.ts
    M ui/src/services/logsService.ts
    M ui/src/services/menuService.ts
    M ui/src/services/monitoringLocationService.ts
    M ui/src/services/monitoringSystemService.ts
    M ui/src/services/nodeService.ts
    M ui/src/services/pluginService.ts
    M ui/src/services/resourceService.ts
    M ui/src/services/scvService.ts
    M ui/src/services/searchService.ts
    M ui/src/services/snmpConfigService.ts
    M ui/src/services/snmpDataCollectionService.ts
    M ui/src/services/trapdConfigurationService.ts
    M ui/src/services/usageStatisticsService.ts
    M ui/src/services/whoAmIService.ts
    M ui/src/services/zenithConnectService.ts
    M ui/src/stores/appStore.ts
    M ui/src/stores/authStore.ts
    M ui/src/stores/configurationStore.ts
    M ui/src/stores/deviceStore.ts
    M ui/src/stores/eventConfigDetailStore.ts
    M ui/src/stores/eventConfigStore.ts
    M ui/src/stores/eventModificationStore.ts
    M ui/src/stores/eventStore.ts
    M ui/src/stores/fileEditorStore.ts
    M ui/src/stores/geolocationStore.ts
    M ui/src/stores/graphStore.ts
    M ui/src/stores/ifServiceStore.ts
    M ui/src/stores/infoStore.ts
    M ui/src/stores/ipInterfacesStore.ts
    M ui/src/stores/logStore.ts
    M ui/src/stores/mapStore.ts
    M ui/src/stores/menuStore.ts
    M ui/src/stores/monitoringSystemStore.ts
    M ui/src/stores/nodeStore.ts
    M ui/src/stores/nodeStructureStore.ts
    M ui/src/stores/pluginStore.ts
    M ui/src/stores/resourceStore.ts
    M ui/src/stores/scvStore.ts
    M ui/src/stores/searchStore.ts
    M ui/src/stores/snmpConfigStore.ts
    M ui/src/stores/snmpDataCollectionDetailStore.ts
    M ui/src/stores/snmpDataCollectionStore.ts
    M ui/src/stores/usageStatisticsStore.ts
    M ui/src/stores/zenithConnectStore.ts
    M ui/src/types/snmpDataCollection.ts
    M ui/src/types/timeSeries.ts
    M ui/tests/components/EventConfigEventCreate/BasicInformation.test.ts
    M ui/tests/components/EventConfiguration/Dialog/ChangeEventConfigSourceStatusDialog.test.ts
    M ui/tests/components/EventConfiguration/Dialog/CreateEventConfigurationDialog.test.ts
    M ui/tests/components/EventConfiguration/Dialog/DeleteEventConfigSourceDialog.test.ts
    M ui/tests/components/EventConfiguration/Dialog/UploadedFileRenameDialog.test.ts
    M ui/tests/components/EventConfiguration/EventConfigSourceTable.test.ts
    M ui/tests/components/EventConfiguration/EventConfigTabContainer.test.ts
    M ui/tests/components/EventConfiguration/EventConfigUploadFilesTab.test.ts
    M ui/tests/components/EventConfiguration/eventConfigXmlValidator.test.ts
    M ui/tests/components/EventConfigurationDetail/Dialog/ChangeEventConfigEventStatusDialog.test.ts
    M ui/tests/components/EventConfigurationDetail/Dialog/ChangeEventConfigSourceStatusDialog.test.ts
    M ui/tests/components/EventConfigurationDetail/Dialog/DeleteEventConfigEventDialog.test.ts
    M ui/tests/components/EventConfigurationDetail/Dialog/DeleteEventConfigSourceDialog.test.ts
    M ui/tests/components/EventConfigurationDetail/EventConfigEventTable.test.ts
    M ui/tests/components/Menu/menu-template-test.json
    M ui/tests/components/Nodes/hooks/queryStringParser.test.ts
    M ui/tests/components/Nodes/hooks/useNodeExport.test.ts
    M ui/tests/components/Nodes/hooks/useNodeQuery.test.ts
    M ui/tests/components/Nodes/hooks/utils.ts
    M ui/tests/components/Nodes/utils.test.ts
    M ui/tests/components/SnmpDataCollection/Dialog/DeleteConfirmationDialog.test.ts
    M ui/tests/components/SnmpDataCollection/Dialog/SnmpDataCollectionChangeStatusDialog.test.ts
    M ui/tests/components/SnmpDataCollection/Dialog/UploadedFileRenameDialog.test.ts
    M ui/tests/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/Drawer/MibGroupCreationDrawer.test.ts
    M ui/tests/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/Drawer/ResourceTypeCreationDrawer.test.ts
    M ui/tests/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/Drawer/SystemDefinitionCreationDrawer.test.ts
    M ui/tests/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/MibGroupsTable.test.ts
    M ui/tests/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/ResourceTypesTable.test.ts
    M ui/tests/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/SystemDefinitionsTable.test.ts
    M ui/tests/components/SnmpDataCollection/SnmpDataCollectionSourceImport.test.ts
    M ui/tests/components/SnmpDataCollection/SnmpDataCollectionSourcesTable.test.ts
    M ui/tests/components/SnmpDataCollection/snmpDataCollectionSourceXmlValidator.test.ts
    M ui/tests/components/TrapdConfiguration/CreateSnmpV3User.test.ts
    M ui/tests/components/TrapdConfiguration/GeneralConfiguration.test.ts
    M ui/tests/components/TrapdConfiguration/TrapdAdvancedConfiguration.test.ts
    M ui/tests/configuration.test.ts
    M ui/tests/containers/EventConfigurationDetail.test.ts
    M ui/tests/containers/SnmpDataCollectionSourceDetail.test.ts
    M ui/tests/containers/TrapdConfiguration.test.ts
    M ui/tests/lib/snmpValidator.test.ts
    M ui/tests/lib/sorting.test.ts
    M ui/tests/lib/timeSeriesHelpers.test.ts
    M ui/tests/lib/trapdValidatorJson.test.ts
    M ui/tests/lib/trapdValidatorXml.test.ts
    M ui/tests/scv.test.ts
    M ui/tests/services/snmpConfigService.test.ts
    M ui/tests/stores/eventModificationStore.test.ts
    M ui/tests/stores/nodeStructureStore.test.ts
    M ui/tests/stores/scvStore.test.ts
    M ui/tests/stores/snmpConfigStore.test.ts
    M ui/tests/stores/snmpDataCollectionDetailStore.test.ts
    M ui/tsconfig.json
    M ui/vite.config.menu.ts
    M ui/vite.config.ts

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/release-36.x' into topology-pathoutage-graph-r36

Adapts the pathoutage provider module's parent reference to the
36.0.2-SNAPSHOT version bump that came with the 36.0.1 release.


  Commit: 988c22531b680066e07d3929b6f36a0229f3f177
      https://github.com/OpenNMS/opennms/commit/988c22531b680066e07d3929b6f36a0229f3f177
  Author: Marshall Massengill <[email protected]>
  Date:   2026-06-11 (Thu, 11 Jun 2026)

  Changed paths:
    M features/graph/provider/pathoutage/src/main/java/org/opennms/netmgt/graph/provider/pathoutage/PathOutageGraphProvider.java

  Log Message:
  -----------
  NMS-19877: address review feedback

- Collect parent->child pairs in a child->parent map instead of a
  Set<int[]>: arrays compare by identity, so the set never actually
  de-duplicated; a map is value-based, and a child having exactly one
  parent makes duplicates structurally impossible.
- Drop the manual incrementing edge id and let GenericEdge derive its
  deterministic source->target id, stable regardless of
  NodeDao.findAll() ordering.


  Commit: 6a973ae08c76e00baf8396cadc77b6d8275936e1
      https://github.com/OpenNMS/opennms/commit/6a973ae08c76e00baf8396cadc77b6d8275936e1
  Author: Marshall Massengill <[email protected]>
  Date:   2026-06-26 (Fri, 26 Jun 2026)

  Changed paths:
    M .circleci/epoch
    M container/features/src/main/resources/features.xml
    A container/hawtio-osgi-patch/pom.xml
    M container/pom.xml
    M core/daemon/pom.xml
    M core/daemon/src/main/java/org/opennms/netmgt/vmmgr/Starter.java
    M core/daemon/src/main/resources/META-INF/opennms/applicationContext-daemon.xml
    M core/ipc/rpc/jms-impl/src/test/java/org/opennms/core/rpc/jms/EchoRpcIT.java
    M core/ipc/twin/jms/itests/src/test/java/org/opennms/core/ipc/twin/jms/JmsTwinIT.java
    M core/test-api/activemq/pom.xml
    M core/test-api/camel/src/main/resources/META-INF/opennms/applicationContext-queuingservice-mq-vm.xml
    M core/web-assets/package.json
    M core/web-assets/pnpm-lock.yaml
    M core/web-assets/src/main/assets/js/apps/add-to-ksc/add-to-ksc.html
    M core/web-assets/src/main/assets/js/apps/ksc-wizard/index.js
    M core/web-assets/src/main/assets/js/apps/search/template.ksc.html
    M dependencies/jasper/pom.xml
    M docs/modules/operation/pages/deep-dive/visualizations/ksc-reports.adoc
    M docs/modules/operation/pages/quick-start/visualize-data.adoc
    M docs/modules/reference/nav.adoc
    M docs/modules/reference/pages/glossary.adoc
    M docs/modules/reference/pages/provisioning/handlers/vmware.adoc
    M docs/modules/reference/pages/provisioning/policies.adoc
    A docs/modules/reference/pages/provisioning/policies/examples.adoc
    M docs/modules/reference/pages/provisioning/policies/ip-interface.adoc
    M docs/modules/reference/pages/provisioning/policies/metadata.adoc
    M docs/modules/reference/pages/provisioning/policies/node-category.adoc
    M docs/modules/reference/pages/provisioning/policies/script.adoc
    M docs/modules/reference/pages/provisioning/policies/snmp-interface.adoc
    M docs/modules/releasenotes/pages/whatsnew.adoc
    M features/activemq/component/src/main/resources/OSGI-INF/blueprint/blueprint.xml
    M features/distributed/core/jms/pom.xml
    M features/distributed/core/jms/src/main/resources/OSGI-INF/blueprint/blueprint.xml
    M features/minion/core/features/src/main/resources/features.xml
    M features/minion/heartbeat/consumer/src/main/java/org/opennms/minion/heartbeat/consumer/HeartbeatConsumer.java
    M features/reporting/dao/src/test/resources/etc/report-templates/sample-report.jrxml
    M features/reporting/jasper-reports-compiler/src/main/java/org/opennms/reporting/jasperreports/compiler/CustomJRJdtCompiler.java
    M features/reporting/jasper-reports/src/main/java/org/opennms/reporting/jasperreports/svclayer/JasperReportService.java
    M features/reporting/jasper-reports/src/test/resources/etc/report-templates/assets/styles/defaultStyles.jrtx
    M features/reporting/jasper-reports/src/test/resources/etc/report-templates/assets/styles/styles.jrtx
    M features/reporting/jasper-reports/src/test/resources/etc/report-templates/parameter-test.jrxml
    M features/reporting/jasper-reports/src/test/resources/etc/report-templates/resource-sub-uri-test.jrxml
    M features/reporting/jasper-reports/src/test/resources/etc/report-templates/subreport-expression-visitor-test.jrxml
    M features/reporting/jasper-reports/src/test/resources/etc/report-templates/subreports/resource-sub-uri-test_subreport1.jrxml
    M features/reporting/jasper-reports/src/test/resources/etc/report-templates/subreports/resource-sub-uri-test_subreport2.jrxml
    M features/reporting/repository/src/test/resources/etc/report-templates/sample-report.jrxml
    M features/scv/scvcli/pom.xml
    M features/scv/scvcli/src/main/java/org/opennms/features/scv/cli/ScvCli.java
    M features/scv/scvcli/src/main/java/org/opennms/features/scv/cli/commands/SetCommand.java
    A features/scv/scvcli/src/test/java/org/opennms/features/scv/cli/commands/SetCommandTest.java
    M features/search/providers/src/main/java/org/opennms/netmgt/search/providers/action/KscReportSearchProvider.java
    M features/topology-map/plugins/org.opennms.features.topology.plugins.netutils/src/main/resources/OSGI-INF/blueprint/blueprint.xml
    A integrations/opennms-jasper-extensions/jasperreports_extension.properties
    A integrations/opennms-jasper-extensions/src/main/java/org/opennms/netmgt/jasper/MeasurementExtensionsRegistryFactory.java
    M integrations/opennms-jasper-extensions/src/main/java/org/opennms/netmgt/jasper/grafana/GrafanaExecutorFactory.java
    M integrations/opennms-jasper-extensions/src/main/java/org/opennms/netmgt/jasper/measurement/MeasurementExecutorFactory.java
    M integrations/opennms-jasper-extensions/src/main/resources/jasperreports_extension.properties
    M integrations/opennms-jasper-extensions/src/test/java/org/opennms/netmgt/jasper/measurement/AbstractMeasurementQueryExecutorTest.java
    M integrations/opennms-jasper-extensions/src/test/java/org/opennms/netmgt/jasper/measurement/MeasurementQueryExecutorRemoteIT.java
    M integrations/opennms-jasper-extensions/src/test/resources/reports/AllChartsReport.jrxml
    M integrations/opennms-jasper-extensions/src/test/resources/reports/Forecast.jrxml
    M integrations/opennms-jasper-extensions/src/test/resources/reports/NoDataReport.jrxml
    M integrations/opennms-jasper-extensions/src/test/resources/reports/NodeAvailabilityMonthly.jrxml
    M integrations/opennms-jasper-extensions/src/test/resources/reports/ResourceTest.jrxml
    M integrations/opennms-jasper-extensions/src/test/resources/reports/RrdGraph.jrxml
    M integrations/opennms-vmware/src/main/java/org/opennms/netmgt/collectd/VmwareCimCollector.java
    M integrations/opennms-vmware/src/main/java/org/opennms/netmgt/poller/monitors/VmwareCimMonitor.java
    M integrations/opennms-vmware/src/main/java/org/opennms/netmgt/provision/service/vmware/VmwareImporter.java
    M integrations/opennms-vmware/src/main/java/org/opennms/protocols/vmware/VmwareViJavaAccess.java
    M integrations/opennms-vmware/src/test/java/org/opennms/netmgt/collectd/vmware/VmwareViJavaAccessTest.java
    A integrations/opennms-vmware/src/test/java/org/opennms/protocols/vmware/VmwareCimReachabilityTest.java
    M opennms-base-assembly/pom.xml
    M opennms-base-assembly/src/main/filtered/bin/scvcli
    M opennms-base-assembly/src/main/filtered/etc/report-templates/AssetManagementMaintExpired.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/AssetManagementMaintStrategy.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/AvailabilitySummary.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/AveragePeakTrafficRates.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/DiskUsageForCTX.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/Early-Morning-Report.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/EventAnalysis.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/Grafana-Dashboard-Report-1ppp.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/Grafana-Dashboard-Report-2ppp.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/Grafana-Dashboard-Report-4ppp.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/InterfaceAvailabilityReport.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/NodeAvailabilityReport.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/ResponseTime.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/ResponseTimeCharts.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/ResponseTimeSummary.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/SerialInterfaceUtilizationSummary.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/SnmpInterfaceOperAvailabilityReport.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/TopIOWait.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/TotalBytesTransferredByInterface.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/assets/styles/defaultStyles.jrtx
    M opennms-base-assembly/src/main/filtered/etc/report-templates/assets/styles/styles.jrtx
    M opennms-base-assembly/src/main/filtered/etc/report-templates/sample-report.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/subreports/95thPercentileTrafficRate_subreport.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/subreports/AvailabilitySummaryChart_subreport.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/subreports/DiskUsageForCTXServers_subreport1.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/subreports/InterfaceAvailabilityReport_subreport1.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/subreports/NodeId_to_NodeLabel_subreport.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/subreports/PeakTraffic_subreport.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/subreports/ResponseTimeSummary_Availability_Offenders_subreport.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/subreports/ResponseTimeSummary_Availability_subreport.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/subreports/ResponseTimeSummary_Response_Offenders_subreport.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/subreports/ResponseTimeSummary_subreport.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/subreports/ResponseTime_subreport1.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/subreports/Top25PercentDown_subreport.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/subreports/TotalBytesTransferredByInterface_subreport1.jrxml
    M opennms-config/src/main/java/org/opennms/netmgt/config/SnmpPeerFactory.java
    M opennms-dao/src/main/java/org/opennms/netmgt/dao/support/InterfaceSnmpResourceType.java
    M opennms-enterprise-reporting/opennms-reportd/src/main/java/org/opennms/netmgt/reporting/service/DefaultReportService.java
    M opennms-full-assembly/pom.xml
    M opennms-jetty/src/main/resources/org/opennms/netmgt/jetty/jetty.xml
    M opennms-services/src/main/java/org/opennms/netmgt/snmpinterfacepoller/pollable/PollableSnmpInterface.java
    M opennms-web-api/src/main/java/org/opennms/web/api/Util.java
    M opennms-web-api/src/main/java/org/opennms/web/svclayer/support/DefaultSiteStatusViewService.java
    M opennms-web-api/src/main/java/org/opennms/web/svclayer/support/DefaultSurveillanceService.java
    M opennms-web-api/src/test/java/org/opennms/web/api/UtilTest.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/support/CriteriaBehaviors.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/NodeRestService.java
    M opennms-webapp-rest/src/main/webapp/WEB-INF/menu/menu-template-alt.json
    M opennms-webapp-rest/src/main/webapp/WEB-INF/menu/menu-template-default.json
    M opennms-webapp-rest/src/main/webapp/WEB-INF/menu/menu-template-legacy.json
    M opennms-webapp-rest/src/main/webapp/WEB-INF/menu/menu-template.json
    M opennms-webapp-rest/src/test/java/org/opennms/web/rest/support/menu/MenuProviderTest.java
    M opennms-webapp-rest/src/test/java/org/opennms/web/rest/v2/NodeRestServiceIT.java
    M opennms-webapp-rest/src/test/resources/menu/menu-template.json
    M opennms-webapp/src/main/java/org/opennms/web/element/ElementUtil.java
    M opennms-webapp/src/main/webapp/KSC/customGraphChooseResource.jsp
    M opennms-webapp/src/main/webapp/KSC/index.jsp
    M opennms-webapp/src/main/webapp/WEB-INF/dispatcher-servlet.xml
    M opennms-webapp/src/main/webapp/WEB-INF/jsp/KSC/customGraphEditDetails.jsp
    M opennms-webapp/src/main/webapp/WEB-INF/jsp/KSC/customReport.jsp
    M opennms-webapp/src/main/webapp/WEB-INF/jsp/KSC/customView.jsp
    M opennms-webapp/src/main/webapp/WEB-INF/jsp/graph/results.jsp
    M opennms-webapp/src/main/webapp/admin/nodemanagement/managenode.jsp
    M opennms-webapp/src/main/webapp/element/index.jsp
    M opennms-webapp/src/main/webapp/element/linkednode.jsp
    M opennms-webapp/src/main/webapp/includes/search-box.jsp
    M opennms-webapp/src/main/webapp/report/index.jsp
    M pom.xml
    M smoke-test/src/test/java/org/opennms/smoketest/MenuHeaderIT.java
    M smoke-test/src/test/java/org/opennms/smoketest/SearchPageIT.java
    M smoke-test/src/test/java/org/opennms/smoketest/UIRefreshIT.java
    M smoke-test/src/test/java/org/opennms/smoketest/WebappIT.java
    M smoke-test/src/test/java/org/opennms/smoketest/minion/MinionRestIT.java
    A smoke-test/src/test/java/org/opennms/smoketest/rest/HawtioRestIT.java
    M smoke-test/src/test/java/org/opennms/smoketest/sentinel/SentinelRestIT.java
    M smoke-test/src/test/java/org/opennms/smoketest/ui/NodeListIT.java
    M ui/README.md
    M ui/copilot-instructions.md
    M ui/package.json
    R ui/src/components/Common/ActionDropdownButton.vue
    M ui/src/components/Common/ConfirmationDialog.vue
    M ui/src/components/Common/EmptyList.vue
    M ui/src/components/Common/MessageDialog.vue
    M ui/src/components/Common/Pagination.vue
    M ui/src/components/Common/Snackbar.vue
    M ui/src/components/Common/Spinner.vue
    M ui/src/components/Common/TableCard.vue
    M ui/src/components/Logs/Editor.vue
    M ui/src/components/Logs/Logs.vue
    R ui/src/components/Logs/Search.vue
    A ui/src/components/Nodes/AssetFilterPanel.vue
    M ui/src/components/Nodes/ExtendedSearchPanel.vue
    M ui/src/components/Nodes/NodeAdvancedFiltersDrawer.vue
    M ui/src/components/Nodes/NodesTable.vue
    M ui/src/components/Nodes/hooks/queryStringParser.ts
    M ui/src/components/Nodes/hooks/useNodeQuery.ts
    M ui/src/components/PrimeVueTest.vue
    M ui/src/components/SCV/SCVAttribute.vue
    M ui/src/components/SCV/SCVForm.vue
    M ui/src/components/SCV/SCVList.vue
    M ui/src/components/SCV/ScvInputIcon.vue
    M ui/src/components/SCV/ScvSearchDrawer.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionProfile/ProfileRrdSettingsTab.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionProfile/ProfileSourcesTab.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/Drawer/SnmpDataCollectionSourceProfilesDrawer.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/Drawer/SystemDefinitionCreationDrawer.vue
    M ui/src/components/UsageStatistics/UsageStatisticsHeader.vue
    M ui/src/components/UsageStatistics/UsageStatisticsTable.vue
    M ui/src/components/ZenithConnect/ZenithConnectRegister.vue
    M ui/src/components/ZenithConnect/ZenithConnectRegisterResult.vue
    M ui/src/components/ZenithConnect/ZenithConnectView.vue
    M ui/src/composables/useSnackbar.ts
    M ui/src/containers/Logs.vue
    M ui/src/containers/Nodes.vue
    M ui/src/containers/OpenAPI.vue
    M ui/src/containers/SecureCredentialsVault.vue
    M ui/src/containers/SnmpDataCollectionSourceDetail.vue
    M ui/src/containers/UsageStatistics.vue
    M ui/src/containers/ZenithConnect.vue
    M ui/src/containers/ZenithConnectSuccess.vue
    M ui/src/services/themeService.ts
    M ui/src/stores/logStore.ts
    M ui/src/stores/nodeStructureStore.ts
    M ui/src/styles/_severities.scss
    M ui/src/styles/_transitionDataTable.scss
    M ui/src/styles/opennms-feather-styles.scss
    A ui/src/styles/primevue-overrides.scss
    M ui/src/styles/vars.scss
    M ui/src/theme/opennms-preset.ts
    M ui/src/theme/primevue-setup.ts
    M ui/src/types/index.ts
    M ui/tests/components/EventConfiguration/Dialog/ChangeEventConfigSourceStatusDialog.test.ts
    M ui/tests/components/EventConfiguration/Dialog/DeleteEventConfigSourceDialog.test.ts
    M ui/tests/components/EventConfiguration/Dialog/EventConfigFilesUploadReportDialog.test.ts
    M ui/tests/components/EventConfigurationDetail/Dialog/ChangeEventConfigEventStatusDialog.test.ts
    M ui/tests/components/EventConfigurationDetail/Dialog/ChangeEventConfigSourceStatusDialog.test.ts
    M ui/tests/components/EventConfigurationDetail/Dialog/DeleteEventConfigEventDialog.test.ts
    M ui/tests/components/EventConfigurationDetail/Dialog/DeleteEventConfigSourceDialog.test.ts
    M ui/tests/components/Menu/menu-template-test.json
    M ui/tests/components/Menu/utils.test.ts
    M ui/tests/components/Nodes/hooks/queryStringParser.test.ts
    M ui/tests/components/Nodes/hooks/useNodeQuery.test.ts
    A ui/tests/components/SCV/ScvSearchDrawer.test.ts
    M ui/tests/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/MibGroupsTable.test.ts
    M ui/tests/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/ResourceTypesTable.test.ts
    M ui/tests/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/SystemDefinitionsTable.test.ts
    A ui/tests/composables/useSnackbar.test.ts
    M ui/tests/scv.test.ts
    M ui/tests/stores/nodeStructureStore.test.ts

  Log Message:
  -----------
  Merge remote-tracking branch 'upstream/release-36.x' into NMS-19877-topology-pathoutage-smoke


  Commit: 92e6fd67435d75f190527efbaaef845047161400
      https://github.com/OpenNMS/opennms/commit/92e6fd67435d75f190527efbaaef845047161400
  Author: Marshall Massengill <[email protected]>
  Date:   2026-06-26 (Fri, 26 Jun 2026)

  Changed paths:
    M features/graph/provider/pathoutage/src/main/java/org/opennms/netmgt/graph/provider/pathoutage/PathOutageGraphProvider.java
    M features/graph/provider/pathoutage/src/test/java/org/opennms/netmgt/graph/provider/pathoutage/PathOutageGraphProviderTest.java

  Log Message:
  -----------
  NMS-19877: query only parented nodes for the path-outage graph

Replace nodeDao.findAll() with a findMatching(isNotNull("parent")) criteria
query so parentless nodes never reach memory or the build loop; the
top-level parents are still resolved through getParent(). Update the
mock-backed unit test to stub findMatching accordingly (the IT already
exercises the real query). Addresses review feedback.


  Commit: 03cff92d54f3b6a72a5e124f4ed9eb477710f146
      https://github.com/OpenNMS/opennms/commit/03cff92d54f3b6a72a5e124f4ed9eb477710f146
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M docs/modules/operation/pages/deep-dive/kafka-producer/configure-kafka.adoc
    M features/kafka/producer/src/main/java/org/opennms/features/kafka/producer/OpennmsKafkaProducer.java
    M features/kafka/producer/src/main/java/org/opennms/features/kafka/producer/datasync/KafkaAlarmDataSync.java
    M features/kafka/producer/src/main/resources/OSGI-INF/blueprint/blueprint-kafka-producer.xml
    M features/kafka/producer/src/test/java/org/opennms/features/kafka/producer/KafkaForwarderIT.java

  Log Message:
  -----------
  NMS-19954: Add clear-based alarm reconciliation (alarmSyncClear) to the Kafka producer

Adds an alarmSyncClear option that changes how alarm synchronization
reconciles reduction keys present on the topic but no longer in the
database. When enabled, such orphans are republished with severity
CLEARED instead of a null tombstone, with a note appended to the log
message. This avoids writing null values that some downstream consumers
(e.g. Kafka Connect sinks) mishandle.

The clear is idempotent: once the topic shows a key as CLEARED, later
reconciliation cycles leave it alone. alarmSyncClear only takes effect
when alarmSync is enabled; otherwise it is warned about and ignored.


  Commit: e530c2676480c590240f41e338f348d4def097c3
      https://github.com/OpenNMS/opennms/commit/e530c2676480c590240f41e338f348d4def097c3
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M docs/modules/operation/pages/deep-dive/kafka-producer/configure-kafka.adoc
    M features/kafka/producer/src/main/java/org/opennms/features/kafka/producer/OpennmsKafkaProducer.java
    M features/kafka/producer/src/main/java/org/opennms/features/kafka/producer/datasync/KafkaAlarmDataSync.java
    M features/kafka/producer/src/main/resources/OSGI-INF/blueprint/blueprint-kafka-producer.xml
    M features/kafka/producer/src/test/java/org/opennms/features/kafka/producer/KafkaForwarderIT.java

  Log Message:
  -----------
  NMS-19955: Add append-only alarm stream mode (alarmStream) to the Kafka producer

Adds an alarmStream option that switches the alarms topic to append-only
event semantics. Updates remain keyed by reduction key, but deletes are
silent: no null tombstone is emitted. Consumers see alarm raises and the
CLEARED update as ordinary records and stop seeing a key once resolved.
This suits consumers that treat the topic as an event stream rather than
a compacted KTable.

Silent deletes rely on the preceding CLEARED update, so stream mode is
incompatible with the default tombstone reconciliation. When alarmStream
and alarmSync are enabled without alarmSyncClear, synchronization is
disabled at startup with a warning rather than leaking tombstones onto
the stream. isReady() is now null-safe so a disabled datasync does not
fail on an incoming snapshot.


  Commit: 0607a7014539d37f1a47e6592bec0f61a8ed9990
      https://github.com/OpenNMS/opennms/commit/0607a7014539d37f1a47e6592bec0f61a8ed9990
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M features/kafka/producer/src/main/java/org/opennms/features/kafka/producer/datasync/KafkaAlarmDataSync.java
    M features/kafka/producer/src/test/java/org/opennms/features/kafka/producer/KafkaForwarderIT.java

  Log Message:
  -----------
  NMS-19955: Address Copilot review comments

- Reword the stream-mode guard warning to state the datasync stream will not be initialized.
- Carry over the alarmSyncClear reconciliation comment/warning clarifications.
- Narrow a test's catch to ConditionTimeoutException so failures are not masked.


  Commit: 843f3f5b5f95652ef93d053bdfea408e2b4b607a
      https://github.com/OpenNMS/opennms/commit/843f3f5b5f95652ef93d053bdfea408e2b4b607a
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M .circleci/epoch
    A container/hawtio-osgi-patch/pom.xml
    M container/pom.xml
    M core/daemon/src/main/java/org/opennms/netmgt/vmmgr/Starter.java
    M dependencies/jasper/pom.xml
    M docs/modules/reference/nav.adoc
    M docs/modules/reference/pages/glossary.adoc
    A docs/modules/reference/pages/performance-data-collection/collectors/vmware-datastore.adoc
    M docs/modules/releasenotes/pages/whatsnew.adoc
    M features/bsm/rest/impl/pom.xml
    M features/pom.xml
    M features/reporting/dao/src/test/resources/etc/report-templates/sample-report.jrxml
    M features/reporting/jasper-reports-compiler/src/main/java/org/opennms/reporting/jasperreports/compiler/CustomJRJdtCompiler.java
    M features/reporting/jasper-reports/src/main/java/org/opennms/reporting/jasperreports/svclayer/JasperReportService.java
    M features/reporting/jasper-reports/src/test/resources/etc/report-templates/assets/styles/defaultStyles.jrtx
    M features/reporting/jasper-reports/src/test/resources/etc/report-templates/assets/styles/styles.jrtx
    M features/reporting/jasper-reports/src/test/resources/etc/report-templates/parameter-test.jrxml
    M features/reporting/jasper-reports/src/test/resources/etc/report-templates/resource-sub-uri-test.jrxml
    M features/reporting/jasper-reports/src/test/resources/etc/report-templates/subreport-expression-visitor-test.jrxml
    M features/reporting/jasper-reports/src/test/resources/etc/report-templates/subreports/resource-sub-uri-test_subreport1.jrxml
    M features/reporting/jasper-reports/src/test/resources/etc/report-templates/subreports/resource-sub-uri-test_subreport2.jrxml
    M features/reporting/repository/src/test/resources/etc/report-templates/sample-report.jrxml
    M features/scv/scvcli/pom.xml
    M features/scv/scvcli/src/main/java/org/opennms/features/scv/cli/ScvCli.java
    M features/scv/scvcli/src/main/java/org/opennms/features/scv/cli/commands/SetCommand.java
    A features/scv/scvcli/src/test/java/org/opennms/features/scv/cli/commands/SetCommandTest.java
    M features/status/rest/pom.xml
    A features/topology-views/pom.xml
    A features/topology-views/src/main/java/org/opennms/netmgt/topology/assets/TopologyAsset.java
    A features/topology-views/src/main/java/org/opennms/netmgt/topology/assets/TopologyAssetDao.java
    A features/topology-views/src/main/java/org/opennms/netmgt/topology/assets/impl/TopologyAssetKvStore.java
    A features/topology-views/src/main/java/org/opennms/netmgt/topology/views/TopologyView.java
    A features/topology-views/src/main/java/org/opennms/netmgt/topology/views/TopologyViewDao.java
    A features/topology-views/src/main/java/org/opennms/netmgt/topology/views/impl/TopologyViewJsonStore.java
    A features/topology-views/src/main/java/org/opennms/netmgt/topology/views/package-info.java
    A features/topology-views/src/main/resources/META-INF/opennms/component-dao.xml
    A features/topology-views/src/test/java/org/opennms/netmgt/topology/assets/TopologyAssetDaoIT.java
    A features/topology-views/src/test/java/org/opennms/netmgt/topology/views/TopologyViewDaoIT.java
    A integrations/opennms-jasper-extensions/jasperreports_extension.properties
    A integrations/opennms-jasper-extensions/src/main/java/org/opennms/netmgt/jasper/MeasurementExtensionsRegistryFactory.java
    M integrations/opennms-jasper-extensions/src/main/java/org/opennms/netmgt/jasper/grafana/GrafanaExecutorFactory.java
    M integrations/opennms-jasper-extensions/src/main/java/org/opennms/netmgt/jasper/measurement/MeasurementExecutorFactory.java
    M integrations/opennms-jasper-extensions/src/main/resources/jasperreports_extension.properties
    M integrations/opennms-jasper-extensions/src/test/java/org/opennms/netmgt/jasper/measurement/AbstractMeasurementQueryExecutorTest.java
    M integrations/opennms-jasper-extensions/src/test/java/org/opennms/netmgt/jasper/measurement/MeasurementQueryExecutorRemoteIT.java
    M integrations/opennms-jasper-extensions/src/test/resources/reports/AllChartsReport.jrxml
    M integrations/opennms-jasper-extensions/src/test/resources/reports/Forecast.jrxml
    M integrations/opennms-jasper-extensions/src/test/resources/reports/NoDataReport.jrxml
    M integrations/opennms-jasper-extensions/src/test/resources/reports/NodeAvailabilityMonthly.jrxml
    M integrations/opennms-jasper-extensions/src/test/resources/reports/ResourceTest.jrxml
    M integrations/opennms-jasper-extensions/src/test/resources/reports/RrdGraph.jrxml
    M integrations/opennms-vmware/src/main/java/org/opennms/netmgt/collectd/VmwareCollector.java
    A integrations/opennms-vmware/src/test/java/org/opennms/netmgt/collectd/VmwareCollectorDatastoreCollectTest.java
    A integrations/opennms-vmware/src/test/java/org/opennms/netmgt/collectd/VmwareCollectorDatastoreExtractorTest.java
    M opennms-assemblies/xsds/src/license/THIRD-PARTY.properties
    M opennms-base-assembly/pom.xml
    M opennms-base-assembly/src/main/filtered/bin/scvcli
    M opennms-base-assembly/src/main/filtered/etc/report-templates/AssetManagementMaintExpired.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/AssetManagementMaintStrategy.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/AvailabilitySummary.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/AveragePeakTrafficRates.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/DiskUsageForCTX.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/Early-Morning-Report.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/EventAnalysis.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/Grafana-Dashboard-Report-1ppp.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/Grafana-Dashboard-Report-2ppp.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/Grafana-Dashboard-Report-4ppp.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/InterfaceAvailabilityReport.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/NodeAvailabilityReport.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/ResponseTime.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/ResponseTimeCharts.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/ResponseTimeSummary.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/SerialInterfaceUtilizationSummary.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/SnmpInterfaceOperAvailabilityReport.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/TopIOWait.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/TotalBytesTransferredByInterface.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/assets/styles/defaultStyles.jrtx
    M opennms-base-assembly/src/main/filtered/etc/report-templates/assets/styles/styles.jrtx
    M opennms-base-assembly/src/main/filtered/etc/report-templates/sample-report.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/subreports/95thPercentileTrafficRate_subreport.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/subreports/AvailabilitySummaryChart_subreport.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/subreports/DiskUsageForCTXServers_subreport1.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/subreports/InterfaceAvailabilityReport_subreport1.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/subreports/NodeId_to_NodeLabel_subreport.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/subreports/PeakTraffic_subreport.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/subreports/ResponseTimeSummary_Availability_Offenders_subreport.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/subreports/ResponseTimeSummary_Availability_subreport.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/subreports/ResponseTimeSummary_Response_Offenders_subreport.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/subreports/ResponseTimeSummary_subreport.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/subreports/ResponseTime_subreport1.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/subreports/Top25PercentDown_subreport.jrxml
    M opennms-base-assembly/src/main/filtered/etc/report-templates/subreports/TotalBytesTransferredByInterface_subreport1.jrxml
    A opennms-base-assembly/src/main/filtered/etc/resource-types.d/vmware-datastore-resource.xml
    A opennms-base-assembly/src/main/filtered/etc/snmp-graph.properties.d/vmware-datastore-graph.properties
    M opennms-base-assembly/src/main/filtered/etc/vmware-datacollection-config.xml
    M opennms-config/src/main/java/org/opennms/netmgt/filter/JdbcFilterDao.java
    A opennms-config/src/test/java/org/opennms/netmgt/filter/JdbcFilterDaoParenthesizationTest.java
    M opennms-dao/src/test/java/org/opennms/netmgt/dao/support/JdbcFilterDaoIT.java
    M opennms-enterprise-reporting/opennms-reportd/src/main/java/org/opennms/netmgt/reporting/service/DefaultReportService.java
    M opennms-full-assembly/src/license/THIRD-PARTY.properties
    M opennms-provision/opennms-provision-api/src/main/java/org/opennms/netmgt/provision/support/BaseDetectorHandler.java
    M opennms-services/src/main/java/org/opennms/netmgt/snmpinterfacepoller/pollable/PollableSnmpInterface.java
    M opennms-webapp-rest/pom.xml
    A opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/TopologyAssetDTO.java
    A opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/TopologyAssetRestService.java
    A opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/TopologyViewDTO.java
    A opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/TopologyViewRestService.java
    A opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/infopanel/EdgeInfo.java
    A opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/infopanel/InfoPanelItem.java
    A opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/infopanel/InfoPanelRenderer.java
    A opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/infopanel/MeasurementsWrapper.java
    A opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/infopanel/NodeDaoWrapper.java
    A opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/infopanel/ResourceDaoWrapper.java
    A opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/infopanel/TopologyInfopanelRestService.java
    A opennms-webapp-rest/src/test/java/org/opennms/web/rest/v2/TopologyAssetRestServiceIT.java
    A opennms-webapp-rest/src/test/java/org/opennms/web/rest/v2/TopologyViewRestServiceIT.java
    A opennms-webapp-rest/src/test/java/org/opennms/web/rest/v2/infopanel/InfoPanelRendererTest.java
    A opennms-webapp-rest/src/test/java/org/opennms/web/rest/v2/infopanel/TopologyInfopanelRestServiceIT.java
    M opennms-webapp/pom.xml
    M pom.xml
    M smoke-test/src/test/java/org/opennms/smoketest/SearchPageIT.java
    M smoke-test/src/test/java/org/opennms/smoketest/minion/MinionRestIT.java
    A smoke-test/src/test/java/org/opennms/smoketest/rest/HawtioRestIT.java
    M smoke-test/src/test/java/org/opennms/smoketest/sentinel/SentinelRestIT.java
    M smoke-test/src/test/java/org/opennms/smoketest/ui/NodeListIT.java
    A ui/src/components/Common/FormField.vue
    R ui/src/components/Common/Pagination.vue
    A ui/src/components/Common/TogglePanel.vue
    M ui/src/components/EventConfigEventCreate/AlarmDataInfo.vue
    M ui/src/components/EventConfigEventCreate/BasicInformation.vue
    M ui/src/components/EventConfigEventCreate/MaskElements.vue
    M ui/src/components/EventConfigEventCreate/MaskVarbinds.vue
    M ui/src/components/EventConfigEventCreate/VarbindsDecode.vue
    M ui/src/components/EventConfiguration/Dialog/CreateEventConfigurationDialog.vue
    M ui/src/components/EventConfiguration/Dialog/EventConfigFilesUploadReportDialog.vue
    M ui/src/components/EventConfiguration/Dialog/UploadedFileRenameDialog.vue
    M ui/src/components/EventConfiguration/EventConfigSourceTable.vue
    M ui/src/components/EventConfiguration/EventConfigTabContainer.vue
    M ui/src/components/EventConfiguration/EventConfigUploadFilesTab.vue
    M ui/src/components/EventConfigurationDetail/EventConfigEventTable.vue
    M ui/src/components/Logs/Editor.vue
    M ui/src/components/Logs/Logs.vue
    R ui/src/components/Logs/Search.vue
    M ui/src/components/Nodes/AssetFilterPanel.vue
    M ui/src/components/Nodes/ColumnSelectionDrawer.vue
    R ui/src/components/Nodes/ColumnSelectionPanel.vue
    M ui/src/components/Nodes/EventsTable.vue
    M ui/src/components/Nodes/ExtendedSearchPanel.vue
    M ui/src/components/Nodes/FlowTooltipCell.vue
    M ui/src/components/Nodes/InterfacesTabs.vue
    M ui/src/components/Nodes/IpInterfacesTable.vue
    M ui/src/components/Nodes/ManagementIPTooltipCell.vue
    M ui/src/components/Nodes/NodeActionsDropdown.vue
    M ui/src/components/Nodes/NodeAdvancedFiltersDrawer.vue
    M ui/src/components/Nodes/NodeAvailabilityGraph.vue
    M ui/src/components/Nodes/NodeDetailsDialog.vue
    M ui/src/components/Nodes/NodeDownloadDropdown.vue
    R ui/src/components/Nodes/NodePreferencesDialog.vue
    M ui/src/components/Nodes/NodeTooltipCell.vue
    M ui/src/components/Nodes/NodesTable.vue
    M ui/src/components/Nodes/OutagesTable.vue
    M ui/src/components/Nodes/SnmpInterfacesTable.vue
    M ui/src/components/SCV/SCVAttribute.vue
    M ui/src/components/SCV/SCVForm.vue
    M ui/src/components/SCV/SCVList.vue
    M ui/src/components/SCV/ScvInputIcon.vue
    M ui/src/components/SCV/ScvSearchDrawer.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigAdvancedTab.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigDefaultsPanel.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigDefinitionBasicInformation.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigDefinitionsTable.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigDetailsPanel.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigLookupPanel.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigPairedFieldInputs.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigProfileBasicInformation.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigProfilesTable.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigTabContainer.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigUploadDownloadTab.vue
    M ui/src/components/SnmpDataCollection/Dialog/DataCollectionFilesUploadReportDialog.vue
    M ui/src/components/SnmpDataCollection/Dialog/DeleteConfirmationDialog.vue
    M ui/src/components/SnmpDataCollection/Dialog/SnmpDataCollectionChangeStatusDialog.vue
    M ui/src/components/SnmpDataCollection/Dialog/UploadedFileRenameDialog.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionProfile/ProfileDetailsTab.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionProfile/ProfileRrdSettingsTab.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionProfile/ProfileSourcesTab.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionProfile/SnmpDataCollectionProfileDetails.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionProfilesTable.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/Drawer/MibGroupCreationDrawer.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/Drawer/ResourceTypeCreationDrawer.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/Drawer/SnmpDataCollectionSourceProfilesDrawer.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/Drawer/SystemDefinitionCreationDrawer.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/MibGroupsTable.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/ResourceTypesTable.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/SystemDefinitionsTable.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceImport.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourcesTable.vue
    M ui/src/components/TrapdConfiguration/CreateSnmpV3User.vue
    M ui/src/components/TrapdConfiguration/GeneralConfiguration.vue
    M ui/src/components/TrapdConfiguration/SnmpV3UserManagement.vue
    M ui/src/components/TrapdConfiguration/TrapdAdvancedConfiguration.vue
    M ui/src/components/UsageStatistics/UsageStatisticsHeader.vue
    M ui/src/components/UsageStatistics/UsageStatisticsTable.vue
    M ui/src/components/ZenithConnect/ZenithConnectRegister.vue
    M ui/src/components/ZenithConnect/ZenithConnectRegisterResult.vue
    M ui/src/components/ZenithConnect/ZenithConnectView.vue
    M ui/src/composables/useSnackbar.ts
    M ui/src/containers/EventConfigEventCreate.vue
    M ui/src/containers/EventConfiguration.vue
    M ui/src/containers/EventConfigurationDetail.vue
    M ui/src/containers/Logs.vue
    M ui/src/containers/NodeDetails.vue
    M ui/src/containers/Nodes.vue
    M ui/src/containers/OpenAPI.vue
    M ui/src/containers/SecureCredentialsVault.vue
    M ui/src/containers/SnmpConfiguration.vue
    M ui/src/containers/SnmpDataCollection.vue
    M ui/src/containers/SnmpDataCollectionSourceDetail.vue
    M ui/src/containers/TrapdConfiguration.vue
    M ui/src/containers/UsageStatistics.vue
    M ui/src/containers/ZenithConnect.vue
    M ui/src/containers/ZenithConnectSuccess.vue
    M ui/src/main/router/index.ts
    M ui/src/stores/logStore.ts
    M ui/src/stores/snmpDataCollectionStore.ts
    A ui/src/styles/onms-grid.scss
    M ui/src/styles/primevue-overrides.scss
    M ui/src/theme/opennms-preset.ts
    M ui/src/theme/primevue-setup.ts
    M ui/src/types/index.ts
    M ui/src/types/snmpConfig.ts
    M ui/src/types/snmpDataCollection.ts
    A ui/tests/components/Common/FormField.test.ts
    M ui/tests/components/EventConfigEventCreate/BasicInformation.test.ts
    M ui/tests/components/EventConfiguration/Dialog/ChangeEventConfigSourceStatusDialog.test.ts
    M ui/tests/components/EventConfiguration/Dialog/CreateEventConfigurationDialog.test.ts
    M ui/tests/components/EventConfiguration/Dialog/DeleteEventConfigSourceDialog.test.ts
    M ui/tests/components/EventConfiguration/Dialog/EventConfigFilesUploadReportDialog.test.ts
    M ui/tests/components/EventConfiguration/Dialog/UploadedFileRenameDialog.test.ts
    M ui/tests/components/EventConfiguration/EventConfigEventCreate.test.ts
    M ui/tests/components/EventConfiguration/EventConfigSourceTable.test.ts
    M ui/tests/components/EventConfiguration/EventConfigTabContainer.test.ts
    M ui/tests/components/EventConfiguration/EventConfigUploadFilesTab.test.ts
    M ui/tests/components/EventConfigurationDetail/Dialog/ChangeEventConfigEventStatusDialog.test.ts
    M ui/tests/components/EventConfigurationDetail/Dialog/ChangeEventConfigSourceStatusDialog.test.ts
    M ui/tests/components/EventConfigurationDetail/Dialog/DeleteEventConfigEventDialog.test.ts
    M ui/tests/components/EventConfigurationDetail/Dialog/DeleteEventConfigSourceDialog.test.ts
    M ui/tests/components/EventConfigurationDetail/EventConfigEventTable.test.ts
    A ui/tests/components/Nodes/AssetFilterPanel.test.ts
    A ui/tests/components/Nodes/ColumnSelectionDrawer.test.ts
    A ui/tests/components/Nodes/EventsTable.test.ts
    A ui/tests/components/Nodes/ExtendedSearchPanel.test.ts
    A ui/tests/components/Nodes/InterfacesTabs.test.ts
    A ui/tests/components/Nodes/IpInterfacesTable.test.ts
    A ui/tests/components/Nodes/NodeActionsDropdown.test.ts
    A ui/tests/components/Nodes/NodeAdvancedFiltersDrawer.test.ts
    A ui/tests/components/Nodes/NodeAvailabilityGraph.test.ts
    A ui/tests/components/Nodes/NodeDetailsDialog.test.ts
    A ui/tests/components/Nodes/NodeDownloadDropdown.test.ts
    A ui/tests/components/Nodes/NodeTooltipCell.test.ts
    A ui/tests/components/Nodes/NodesTable.test.ts
    A ui/tests/components/Nodes/OutagesTable.test.ts
    A ui/tests/components/Nodes/SnmpInterfacesTable.test.ts
    A ui/tests/components/SCV/ScvSearchDrawer.test.ts
    M ui/tests/components/SnmpDataCollection/Dialog/DataCollectionFilesUploadReportDialog.test.ts
    M ui/tests/components/SnmpDataCollection/Dialog/DeleteConfirmationDialog.test.ts
    M ui/tests/components/SnmpDataCollection/Dialog/SnmpDataCollectionChangeStatusDialog.test.ts
    M ui/tests/components/SnmpDataCollection/Dialog/UploadedFileRenameDialog.test.ts
    M ui/tests/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/Drawer/MibGroupCreationDrawer.test.ts
    M ui/tests/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/Drawer/ResourceTypeCreationDrawer.test.ts
    M ui/tests/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/Drawer/SystemDefinitionCreationDrawer.test.ts
    M ui/tests/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/MibGroupsTable.test.ts
    M ui/tests/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/ResourceTypesTable.test.ts
    M ui/tests/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/SystemDefinitionsTable.test.ts
    M ui/tests/components/SnmpDataCollection/SnmpDataCollectionSourceImport.test.ts
    M ui/tests/components/SnmpDataCollection/SnmpDataCollectionSourcesTable.test.ts
    M ui/tests/components/TrapdConfiguration/CreateSnmpV3User.test.ts
    M ui/tests/components/TrapdConfiguration/GeneralConfiguration.test.ts
    M ui/tests/components/TrapdConfiguration/SnmpV3UserManagement.test.ts
    M ui/tests/components/TrapdConfiguration/TrapdAdvancedConfiguration.test.ts
    M ui/tests/containers/EventConfiguration.test.ts
    A ui/tests/containers/NodeDetails.test.ts
    M ui/tests/containers/SnmpDataCollection.test.ts
    M ui/tests/containers/SnmpDataCollectionSourceDetail.test.ts
    M ui/tests/containers/TrapdConfiguration.test.ts
    M ui/tests/scv.test.ts

  Log Message:
  -----------
  Merge remote-tracking branch 'upstream/release-36.x' into NMS-19955-alarm-stream


  Commit: c7162b244aa661500600e8979bd37132bb3c4dd2
      https://github.com/OpenNMS/opennms/commit/c7162b244aa661500600e8979bd37132bb3c4dd2
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M core/ipc/rpc/camel/src/main/java/org/opennms/core/rpc/camel/CamelRpcClientFactory.java
    A core/ipc/rpc/camel/src/test/java/org/opennms/core/rpc/camel/LocalRpcTimeoutTest.java
    M docs/modules/development/nav.adoc
    M docs/modules/development/pages/rest/acknowledgements.adoc
    M docs/modules/development/pages/rest/alarms.adoc
    A docs/modules/development/pages/rest/applications.adoc
    A docs/modules/development/pages/rest/asset_suggestions.adoc
    M docs/modules/development/pages/rest/classifications.adoc
    M docs/modules/development/pages/rest/config_management.adoc
    A docs/modules/development/pages/rest/datachoices.adoc
    M docs/modules/development/pages/rest/device_config.adoc
    M docs/modules/development/pages/rest/emailnbi-config.adoc
    A docs/modules/development/pages/rest/endpoints_grafana.adoc
    M docs/modules/development/pages/rest/events.adoc
    A docs/modules/development/pages/rest/filesystem.adoc
    M docs/modules/development/pages/rest/flows.adoc
    M docs/modules/development/pages/rest/foreign_sources.adoc
    A docs/modules/development/pages/rest/foreign_sources_config.adoc
    A docs/modules/development/pages/rest/geocoding.adoc
    A docs/modules/development/pages/rest/geolocation.adoc
    M docs/modules/development/pages/rest/graph.adoc
    A docs/modules/development/pages/rest/graphml.adoc
    M docs/modules/development/pages/rest/groups.adoc
    A docs/modules/development/pages/rest/hardware_inventory.adoc
    M docs/modules/development/pages/rest/ksc_reports.adoc
    A docs/modules/development/pages/rest/logs.adoc
    M docs/modules/development/pages/rest/measurements.adoc
    M docs/modules/development/pages/rest/meta-data.adoc
    A docs/modules/development/pages/rest/minions.adoc
    A docs/modules/development/pages/rest/monitoring_locations.adoc
    M docs/modules/development/pages/rest/nodes.adoc
    M docs/modules/development/pages/rest/notifications.adoc
    M docs/modules/development/pages/rest/outage_timeline.adoc
    M docs/modules/development/pages/rest/outages.adoc
    A docs/modules/development/pages/rest/plugins.adoc
    A docs/modules/development/pages/rest/provisiond_status.adoc
    A docs/modules/development/pages/rest/reports.adoc
    A docs/modules/development/pages/rest/requisition_names.adoc
    M docs/modules/development/pages/rest/requisitions.adoc
    M docs/modules/development/pages/rest/resources.adoc
    M docs/modules/development/pages/rest/rtc.adoc
    M docs/modules/development/pages/rest/scheduled_outages.adoc
    A docs/modules/development/pages/rest/search.adoc
    M docs/modules/development/pages/rest/situation-feedback.adoc
    M docs/modules/development/pages/rest/situations.adoc
    M docs/modules/development/pages/rest/snmp_configuration_legacy.adoc
    M docs/modules/development/pages/rest/snmpinterfaces.adoc
    M docs/modules/development/pages/rest/snmpmetadata.adoc
    M docs/modules/development/pages/rest/snmptrapnbi-config.adoc
    A docs/modules/development/pages/rest/status.adoc
    M docs/modules/development/pages/rest/syslognbi-config.adoc
    M docs/modules/development/pages/rest/user-defined-links.adoc
    M docs/modules/development/pages/rest/users.adoc
    A docs/modules/development/pages/rest/web_assets.adoc
    A docs/modules/development/pages/rest/whoami.adoc
    M docs/modules/operation/pages/deep-dive/elasticsearch/features/alarm-history.adoc
    M docs/modules/operation/pages/deep-dive/elasticsearch/features/event-forwarder.adoc
    M docs/modules/operation/pages/deep-dive/elasticsearch/introduction.adoc
    M docs/modules/operation/pages/deep-dive/flows/basic.adoc
    M smoke-test/src/test/java/org/opennms/smoketest/NodeDetailPageIT.java
    M smoke-test/src/test/java/org/opennms/smoketest/ui/NodeListIT.java

  Log Message:
  -----------
  Merge remote-tracking branch 'upstream/release-36.x' into NMS-19955-alarmStream-smoke


  Commit: 66ff68bd7bf51332eabc46e98056e74b1130a492
      https://github.com/OpenNMS/opennms/commit/66ff68bd7bf51332eabc46e98056e74b1130a492
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M docs/modules/operation/pages/deep-dive/kafka-producer/configure-kafka.adoc
    M features/kafka/producer/src/main/java/org/opennms/features/kafka/producer/OpennmsKafkaProducer.java
    M features/kafka/producer/src/main/java/org/opennms/features/kafka/producer/datasync/KafkaAlarmDataSync.java
    M features/kafka/producer/src/main/resources/OSGI-INF/blueprint/blueprint-kafka-producer.xml
    M features/kafka/producer/src/test/java/org/opennms/features/kafka/producer/KafkaForwarderIT.java

  Log Message:
  -----------
  Merge pull request #8617 from OpenNMS/NMS-19955-alarmStream-smoke


  Commit: 51187f5873be268a6446e78eb746f1aa8cf83515
      https://github.com/OpenNMS/opennms/commit/51187f5873be268a6446e78eb746f1aa8cf83515
  Author: Atlassian Bamboo <[email protected]>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M .version.txt
    M container/branding/pom.xml
    M container/bridge/api/pom.xml
    M container/bridge/pom.xml
    M container/bridge/proxy/pom.xml
    M container/bridge/rest/pom.xml
    M container/extender/pom.xml
    M container/features/pom.xml
    M container/hawtio-osgi-patch/pom.xml
    M container/jaas-login-module/pom.xml
    M container/karaf/pom.xml
    M container/noop-jetty-extension/pom.xml
    M container/pom.xml
    M container/servlet/pom.xml
    M container/shared/pom.xml
    M container/spring-extender/pom.xml
    M core/api/pom.xml
    M core/cache/pom.xml
    M core/camel/pom.xml
    M core/cli/pom.xml
    M core/commands/pom.xml
    M core/config/pom.xml
    M core/criteria/pom.xml
    M core/daemon/pom.xml
    M core/db-install/pom.xml
    M core/db/pom.xml
    M core/encrypt-util/pom.xml
    M core/fileutils/pom.xml
    M core/grpc/common/pom.xml
    M core/grpc/osgi/pom.xml
    M core/grpc/pom.xml
    M core/health/api/pom.xml
    M core/health/impl/pom.xml
    M core/health/pom.xml
    M core/health/rest-cxf/pom.xml
    M core/health/rest/pom.xml
    M core/health/shell/pom.xml
    M core/icmp-jna/pom.xml
    M core/ipc/common/kafka-shell/pom.xml
    M core/ipc/common/kafka/pom.xml
    M core/ipc/common/pom.xml
    M core/ipc/grpc/client/pom.xml
    M core/ipc/grpc/common/pom.xml
    M core/ipc/grpc/itests/pom.xml
    M core/ipc/grpc/pom.xml
    M core/ipc/grpc/server/pom.xml
    M core/ipc/osgi/pom.xml
    M core/ipc/pom.xml
    M core/ipc/rpc/api/pom.xml
    M core/ipc/rpc/camel/pom.xml
    M core/ipc/rpc/common/pom.xml
    M core/ipc/rpc/jms-impl/pom.xml
    M core/ipc/rpc/kafka/pom.xml
    M core/ipc/rpc/mock-impl/pom.xml
    M core/ipc/rpc/pom.xml
    M core/ipc/rpc/shell-commands/pom.xml
    M core/ipc/rpc/utils/pom.xml
    M core/ipc/rpc/xml/pom.xml
    M core/ipc/sink/api/pom.xml
    M core/ipc/sink/camel/client/pom.xml
    M core/ipc/sink/camel/common/pom.xml
    M core/ipc/sink/camel/itests/pom.xml
    M core/ipc/sink/camel/pom.xml
    M core/ipc/sink/camel/server/pom.xml
    M core/ipc/sink/common/pom.xml
    M core/ipc/sink/kafka/client/pom.xml
    M core/ipc/sink/kafka/itests/pom.xml
    M core/ipc/sink/kafka/pom.xml
    M core/ipc/sink/kafka/server/pom.xml
    M core/ipc/sink/mock-impl/pom.xml
    M core/ipc/sink/off-heap/pom.xml
    M core/ipc/sink/pom.xml
    M core/ipc/sink/xml/pom.xml
    M core/ipc/twin/api/pom.xml
    M core/ipc/twin/common/pom.xml
    M core/ipc/twin/grpc/common/pom.xml
    M core/ipc/twin/grpc/itests/pom.xml
    M core/ipc/twin/grpc/pom.xml
    M core/ipc/twin/grpc/publisher/pom.xml
    M core/ipc/twin/grpc/subscriber/pom.xml
    M core/ipc/twin/jms/itests/pom.xml
    M core/ipc/twin/jms/pom.xml
    M core/ipc/twin/jms/publisher/pom.xml
    M core/ipc/twin/jms/subscriber/pom.xml
    M core/ipc/twin/kafka/common/pom.xml
    M core/ipc/twin/kafka/itests/pom.xml
    M core/ipc/twin/kafka/pom.xml
    M core/ipc/twin/kafka/publisher/pom.xml
    M core/ipc/twin/kafka/subscriber/pom.xml
    M core/ipc/twin/memory/pom.xml
    M core/ipc/twin/pom.xml
    M core/ipc/twin/shell/pom.xml
    M core/ipc/twin/test/pom.xml
    M core/jmx/api/pom.xml
    M core/jmx/impl/pom.xml
    M core/jmx/pom.xml
    M core/jstl-support/pom.xml
    M core/lib/pom.xml
    M core/logging-api/pom.xml
    M core/mate/api/pom.xml
    M core/mate/model/pom.xml
    M core/mate/pom.xml
    M core/mate/shell-commands/pom.xml
    M core/password/pom.xml
    M core/pom.xml
    M core/profiler/pom.xml
    M core/runtime/pom.xml
    M core/schema/pom.xml
    M core/snmp/api/pom.xml
    M core/snmp/commands/pom.xml
    M core/snmp/impl-mock/pom.xml
    M core/snmp/impl-snmp4j/pom.xml
    M core/snmp/integration-tests/pom.xml
    M core/snmp/pom.xml
    M core/snmp/profile-mapper/pom.xml
    M core/snmp/proxy-rpc-impl/pom.xml
    M core/snmp/proxy-rpc-tests/pom.xml
    M core/soa/pom.xml
    M core/spring-web/pom.xml
    M core/spring/pom.xml
    M core/sysprops/pom.xml
    M core/tasks/pom.xml
    M core/test-api/activemq/pom.xml
    M core/test-api/alarms/pom.xml
    M core/test-api/camel/pom.xml
    M core/test-api/collection/pom.xml
    M core/test-api/db/pom.xml
    M core/test-api/dns/pom.xml
    M core/test-api/elasticsearch/pom.xml
    M core/test-api/http/pom.xml
    M core/test-api/kafka/pom.xml
    M core/test-api/karaf/pom.xml
    M core/test-api/lib/pom.xml
    M core/test-api/pom.xml
    M core/test-api/rest/pom.xml
    M core/test-api/schema/a/pom.xml
    M core/test-api/schema/b/pom.xml
    M core/test-api/schema/pom.xml
    M core/test-api/services/pom.xml
    M core/test-api/snmp/pom.xml
    M core/test-api/ssh/pom.xml
    M core/test-api/xml/pom.xml
    M core/tracing/api/pom.xml
    M core/tracing/jaeger-osgi/pom.xml
    M core/tracing/jaeger-tracer/pom.xml
    M core/tracing/pom.xml
    M core/tracing/registry/pom.xml
    M core/upgrade/pom.xml
    M core/web-assets/package.json
    M core/web-assets/pom.xml
    M core/web/pom.xml
    M core/xml/pom.xml
    M dependencies/activemq-web/pom.xml
    M dependencies/activemq/pom.xml
    M dependencies/asterisk/pom.xml
    M dependencies/atomikos/pom.xml
    M dependencies/camel-test/pom.xml
    M dependencies/camel/pom.xml
    M dependencies/cassandra-test/pom.xml
    M dependencies/cxf/pom.xml
    M dependencies/dnsjava/pom.xml
    M dependencies/drools/pom.xml
    M dependencies/eclipse-npn-alpn/pom.xml
    M dependencies/felix/pom.xml
    M dependencies/groovy/pom.xml
    M dependencies/hibernate/pom.xml
    M dependencies/jackson1/pom.xml
    M dependencies/jackson2/pom.xml
    M dependencies/jasper/pom.xml
    M dependencies/jasypt/pom.xml
    M dependencies/javamail/pom.xml
    M dependencies/jaxb/pom.xml
    M dependencies/jcifs-shaded/pom.xml
    M dependencies/jcifs/pom.xml
    M dependencies/jinterop/pom.xml
    M dependencies/jmx/pom.xml
    M dependencies/jna/pom.xml
    M dependencies/jradius-extended/pom.xml
    M dependencies/jradius/pom.xml
    M dependencies/jrobin/pom.xml
    M dependencies/jrrd/pom.xml
    M dependencies/jrrd2/pom.xml
    M dependencies/jstl/pom.xml
    M dependencies/jung/pom.xml
    M dependencies/liquibase/pom.xml
    M dependencies/mina/pom.xml
    M dependencies/netty/pom.xml
    M dependencies/newts/pom.xml
    M dependencies/oia/pom.xml
    M dependencies/owasp/pom.xml
    M dependencies/pax-exam/pom.xml
    M dependencies/pom.xml
    M dependencies/quartz/pom.xml
    M dependencies/servlet/pom.xml
    M dependencies/smack/pom.xml
    M dependencies/snmp-test/pom.xml
    M dependencies/snmp/pom.xml
    M dependencies/snmp4j-agent/pom.xml
    M dependencies/snmp4j/pom.xml
    M dependencies/spring-security-core/pom.xml
    M dependencies/spring-security/pom.xml
    M dependencies/spring-test/pom.xml
    M dependencies/spring-web/pom.xml
    M dependencies/spring/pom.xml
    M dependencies/twitter4j/pom.xml
    M deploy/pom.xml
    M docs/antora.yml
    M features/activemq/broker-api/pom.xml
    M features/activemq/broker/pom.xml
    M features/activemq/component/pom.xml
    M features/activemq/pom.xml
    M features/activemq/pool/pom.xml
    M features/activemq/shell/pom.xml
    M features/alarms/history/api/pom.xml
    M features/alarms/history/elastic/pom.xml
    M features/alarms/history/pom.xml
    M features/alarms/history/rest/api/pom.xml
    M features/alarms/history/rest/impl/pom.xml
    M features/alarms/history/rest/pom.xml
    M features/alarms/pom.xml
    M features/amqp/alarm-northbounder/pom.xml
    M features/amqp/common/pom.xml
    M features/amqp/event-forwarder/pom.xml
    M features/amqp/event-receiver/pom.xml
    M features/amqp/pom.xml
    M features/api-layer/common/pom.xml
    M features/api-layer/core/pom.xml
    M features/api-layer/dao-common/pom.xml
    M features/api-layer/minion/pom.xml
    M features/api-layer/pom.xml
    M features/api-layer/sentinel/pom.xml
    M features/bsm/daemon/pom.xml
    M features/bsm/persistence/api/pom.xml
    M features/bsm/persistence/impl/pom.xml
    M features/bsm/persistence/pom.xml
    M features/bsm/pom.xml
    M features/bsm/rest/api/pom.xml
    M features/bsm/rest/impl/pom.xml
    M features/bsm/rest/pom.xml
    M features/bsm/service/api/pom.xml
    M features/bsm/service/impl/pom.xml
    M features/bsm/service/pom.xml
    M features/bsm/shell-commands/pom.xml
    M features/bsm/test-util/pom.xml
    M features/bsm/vaadin-adminpage/pom.xml
    M features/charts/pom.xml
    M features/collection/api/pom.xml
    M features/collection/client-rpc/pom.xml
    M features/collection/collectors/pom.xml
    M features/collection/core/pom.xml
    M features/collection/persistence-osgi/pom.xml
    M features/collection/persistence-rrd/pom.xml
    M features/collection/persistence-tcp/pom.xml
    M features/collection/pom.xml
    M features/collection/shell-commands/pom.xml
    M features/collection/snmp-collector/pom.xml
    M features/collection/test-api/pom.xml
    M features/collection/thresholding/api/pom.xml
    M features/collection/thresholding/impl/pom.xml
    M features/collection/thresholding/itests/pom.xml
    M features/collection/thresholding/pom.xml
    M features/collection/thresholding/thresholding-shell/pom.xml
    M features/config/dao/api/pom.xml
    M features/config/dao/impl/pom.xml
    M features/config/dao/pom.xml
    M features/config/mock/pom.xml
    M features/config/osgi/cm/pom.xml
    M features/config/osgi/del/pom.xml
    M features/config/osgi/pom.xml
    M features/config/pom.xml
    M features/config/rest/api/pom.xml
    M features/config/rest/impl/pom.xml
    M features/config/rest/pom.xml
    M features/config/service/api/pom.xml
    M features/config/service/impl/pom.xml
    M features/config/service/pom.xml
    M features/config/test/pom.xml
    M features/config/upgrade/pom.xml
    M features/config/util/pom.xml
    M features/container/minion/pom.xml
    M features/container/pom.xml
    M features/container/sentinel/pom.xml
    M features/datachoices/pom.xml
    M features/device-config/api/pom.xml
    M features/device-config/monitor-adaptor/pom.xml
    M features/device-config/monitor/pom.xml
    M features/device-config/persistence/api/pom.xml
    M features/device-config/persistence/impl/pom.xml
    M features/device-config/persistence/pom.xml
    M features/device-config/pom.xml
    M features/device-config/rest/pom.xml
    M features/device-config/retrieval/pom.xml
    M features/device-config/service/pom.xml
    M features/device-config/shell/pom.xml
    M features/device-config/sink/consumer/pom.xml
    M features/device-config/sink/dispatcher/pom.xml
    M features/device-config/sink/module/pom.xml
    M features/device-config/sink/pom.xml
    M features/device-config/ssh-scripting/pom.xml
    M features/device-config/tftp/pom.xml
    M features/dhcpd/pom.xml
    M features/discovery/pom.xml
    M features/distributed/collection/pom.xml
    M features/distributed/coordination/api/pom.xml
    M features/distributed/coordination/common/pom.xml
    M features/distributed/coordination/pom.xml
    M features/distributed/coordination/shell/pom.xml
    M features/distributed/coordination/zookeeper/pom.xml
    M features/distributed/core/api/pom.xml
    M features/distributed/core/impl/pom.xml
    M features/distributed/core/jms/pom.xml
    M features/distributed/core/pom.xml
    M features/distributed/core/shell/pom.xml
    M features/distributed/dao/api/pom.xml
    M features/distributed/dao/distributed/pom.xml
    M features/distributed/dao/healthcheck/pom.xml
    M features/distributed/dao/impl/pom.xml
    M features/distributed/dao/pom.xml
    M features/distributed/dao/shell/pom.xml
    M features/distributed/dao/test/pom.xml
    M features/distributed/datasource/pom.xml
    M features/distributed/distributed-cassandra/cassandra-api/pom.xml
    M features/distributed/distributed-cassandra/newts-impl/pom.xml
    M features/distributed/distributed-cassandra/pom.xml
    M features/distributed/kv-store/api/pom.xml
    M features/distributed/kv-store/blob/blob-itests/pom.xml
    M features/distributed/kv-store/blob/blob-shell/pom.xml
    M features/distributed/kv-store/blob/cassandra/pom.xml
    M features/distributed/kv-store/blob/in-memory/pom.xml
    M features/distributed/kv-store/blob/no-op/pom.xml
    M features/distributed/kv-store/blob/pom.xml
    M features/distributed/kv-store/blob/postgres-impl/pom.xml
    M features/distributed/kv-store/json/json-shell/pom.xml
    M features/distributed/kv-store/json/noop/pom.xml
    M features/distributed/kv-store/json/pom.xml
    M features/distributed/kv-store/json/postgres/pom.xml
    M features/distributed/kv-store/pom.xml
    M features/distributed/kv-store/postgres-shared/pom.xml
    M features/distributed/opennms-identity/pom.xml
    M features/distributed/pom.xml
    M features/distributed/service-registry/pom.xml
    M features/dnsresolver/api/pom.xml
    M features/dnsresolver/netty/pom.xml
    M features/dnsresolver/pom.xml
    M features/dnsresolver/shell/pom.xml
    M features/eif-adapter/pom.xml
    M features/elastic/client/pom.xml
    M features/elastic/pom.xml
    M features/endpoints/grafana/api/pom.xml
    M features/endpoints/grafana/client/pom.xml
    M features/endpoints/grafana/persistence/api/pom.xml
    M features/endpoints/grafana/persistence/impl/pom.xml
    M features/endpoints/grafana/persistence/pom.xml
    M features/endpoints/grafana/pom.xml
    M features/endpoints/grafana/rest/pom.xml
    M features/endpoints/grafana/service/pom.xml
    M features/endpoints/pom.xml
    M features/enlinkd/adapters/collectors/bridge/pom.xml
    M features/enlinkd/adapters/collectors/cdp/pom.xml
    M features/enlinkd/adapters/collectors/ipnettomedia/pom.xml
    M features/enlinkd/adapters/collectors/isis/pom.xml
    M features/enlinkd/adapters/collectors/lldp/pom.xml
    M features/enlinkd/adapters/collectors/ospf/pom.xml
    M features/enlinkd/adapters/collectors/pom.xml
    M features/enlinkd/adapters/common/pom.xml
    M features/enlinkd/adapters/discovers/bridge/pom.xml
    M features/enlinkd/adapters/discovers/pom.xml
    M features/enlinkd/adapters/pom.xml
    M features/enlinkd/adapters/updaters/bridge/pom.xml
    M features/enlinkd/adapters/updaters/cdp/pom.xml
    M features/enlinkd/adapters/updaters/isis/pom.xml
    M features/enlinkd/adapters/updaters/lldp/pom.xml
    M features/enlinkd/adapters/updaters/nodes/pom.xml
    M features/enlinkd/adapters/updaters/ospf/pom.xml
    M features/enlinkd/adapters/updaters/pom.xml
    M features/enlinkd/api/pom.xml
    M features/enlinkd/config/pom.xml
    M features/enlinkd/daemon/pom.xml
    M features/enlinkd/generator/pom.xml
    M features/enlinkd/persistence/api/pom.xml
    M features/enlinkd/persistence/impl/pom.xml
    M features/enlinkd/persistence/pom.xml
    M features/enlinkd/pom.xml
    M features/enlinkd/service/api/pom.xml
    M features/enlinkd/service/impl/pom.xml
    M features/enlinkd/service/pom.xml
    M features/enlinkd/shell/pom.xml
    M features/enlinkd/tests/pom.xml
    M features/events/api/pom.xml
    M features/events/collector/pom.xml
    M features/events/daemon/pom.xml
    M features/events/pom.xml
    M features/events/shell-commands/pom.xml
    M features/events/sink/dispatcher/pom.xml
    M features/events/sink/pom.xml
    M features/events/sink/shell-commands/pom.xml
    M features/events/syslog/pom.xml
    M features/events/traps/pom.xml
    M features/executor-factory/cassandra/pom.xml
    M features/executor-factory/pom.xml
    M features/flows/api/pom.xml
    M features/flows/classification/engine/api/pom.xml
    M features/flows/classification/engine/impl/pom.xml
    M features/flows/classification/engine/pom.xml
    M features/flows/classification/persistence/api/pom.xml
    M features/flows/classification/persistence/impl/pom.xml
    M features/flows/classification/persistence/pom.xml
    M features/flows/classification/pom.xml
    M features/flows/classification/shell/pom.xml
    M features/flows/elastic/pom.xml
    M features/flows/itests/pom.xml
    M features/flows/kafka-persistence/pom.xml
    M features/flows/pom.xml
    M features/flows/processing/pom.xml
    M features/flows/rest/api/pom.xml
    M features/flows/rest/impl/pom.xml
    M features/flows/rest/pom.xml
    M features/geocoder/api/pom.xml
    M features/geocoder/google/pom.xml
    M features/geocoder/mapquest/pom.xml
    M features/geocoder/nominatim/pom.xml
    M features/geocoder/pom.xml
    M features/geocoder/rest/pom.xml
    M features/geocoder/service/pom.xml
    M features/geolocation/api/pom.xml
    M features/geolocation/pom.xml
    M features/geolocation/rest/pom.xml
    M features/geolocation/service/pom.xml
    M features/graph/api/pom.xml
    M features/graph/dao/api/pom.xml
    M features/graph/dao/impl/pom.xml
    M features/graph/dao/pom.xml
    M features/graph/domain/pom.xml
    M features/graph/pom.xml
    M features/graph/provider/application/pom.xml
    M features/graph/provider/bsm/pom.xml
    M features/graph/provider/graphml/pom.xml
    M features/graph/provider/legacy/pom.xml
    M features/graph/provider/persistence-test/pom.xml
    M features/graph/provider/pom.xml
    M features/graph/provider/topology/pom.xml
    M features/graph/rest/api/pom.xml
    M features/graph/rest/impl/pom.xml
    M features/graph/rest/pom.xml
    M features/graph/service/pom.xml
    M features/graph/shell/pom.xml
    M features/graphml/api/pom.xml
    M features/graphml/pom.xml
    M features/graphml/rest/pom.xml
    M features/graphml/service/pom.xml
    M features/grpc/exporter/pom.xml
    M features/grpc/pom.xml
    M features/ifttt/pom.xml
    M features/inmemory-timeseries-plugin/pom.xml
    M features/instrumentationLogReader/pom.xml
    M features/jdbc-collector/pom.xml
    M features/jest/client/pom.xml
    M features/jest/dependencies/pom.xml
    M features/jest/feature/pom.xml
    M features/jest/jest-complete-osgi/pom.xml
    M features/jest/pom.xml
    M features/jmx-config-generator/pom.xml
    M features/juniper-tca-collector/pom.xml
    M features/kafka/consumer/pom.xml
    M features/kafka/pom.xml
    M features/kafka/producer/pom.xml
    M features/karaf-health/pom.xml
    M features/measurements/api/pom.xml
    M features/measurements/impl/pom.xml
    M features/measurements/pom.xml
    M features/measurements/rest/pom.xml
    M features/measurements/shell/pom.xml
    M features/mib-compiler/pom.xml
    M features/minion/core/features/pom.xml
    M features/minion/core/health-check/pom.xml
    M features/minion/core/impl/pom.xml
    M features/minion/core/pom.xml
    M features/minion/core/repository/pom.xml
    M features/minion/dominion/grpc-client/pom.xml
    M features/minion/dominion/pom.xml
    M features/minion/heartbeat/common/pom.xml
    M features/minion/heartbeat/consumer/pom.xml
    M features/minion/heartbeat/pom.xml
    M features/minion/heartbeat/producer/pom.xml
    M features/minion/pom.xml
    M features/minion/repository/pom.xml
    M features/minion/shell/collection/pom.xml
    M features/minion/shell/poller/pom.xml
    M features/minion/shell/pom.xml
    M features/minion/shell/provision/pom.xml
    M features/minion/status/pom.xml
    M features/name-cutter/pom.xml
    M features/newts-repository-converter/pom.xml
    M features/newts/pom.xml
    M features/notifications/api/pom.xml
    M features/notifications/pom.xml
    M features/notifications/shell/pom.xml
    M features/notifications/ticket-strategy/pom.xml
    M features/nrtg/api/pom.xml
    M features/nrtg/broker/pom.xml
    M features/nrtg/commander/pom.xml
    M features/nrtg/jar/nrtcollector/pom.xml
    M features/nrtg/jar/pom.xml
    M features/nrtg/nrtbroker-jms/pom.xml
    M features/nrtg/nrtbroker-local/pom.xml
    M features/nrtg/nrtcollector/pom.xml
    M features/nrtg/pom.xml
    M features/nrtg/protocolcollector/pom.xml
    M features/nrtg/protocolcollector/snmp/pom.xml
    M features/nrtg/protocolcollector/tca/pom.xml
    M features/nrtg/system-exports/pom.xml
    M features/nrtg/web/pom.xml
    M features/openconfig/api/pom.xml
    M features/openconfig/common/pom.xml
    M features/openconfig/pom.xml
    M features/openconfig/telemetry-client/pom.xml
    M features/opennms-es-rest/pom.xml
    M features/opennms-osgi-core-rest/pom.xml
    M features/opennms-osgi-core/pom.xml
    M features/osgi-jsr223/pom.xml
    M features/perspectivepoller/pom.xml
    M features/poller/api/pom.xml
    M features/poller/client-rpc/pom.xml
    M features/poller/monitors/core/pom.xml
    M features/poller/monitors/pom.xml
    M features/poller/pom.xml
    M features/poller/runtime/pom.xml
    M features/poller/shell/pom.xml
    M features/pom.xml
    M features/prometheus-collector/pom.xml
    M features/provisioning/api/pom.xml
    M features/provisioning/lib/pom.xml
    M features/provisioning/pom.xml
    M features/reporting/api/pom.xml
    M features/reporting/availability/pom.xml
    M features/reporting/core/pom.xml
    M features/reporting/dao/pom.xml
    M features/reporting/jasper-reports-compiler/pom.xml
    M features/reporting/jasper-reports-filter/pom.xml
    M features/reporting/jasper-reports/pom.xml
    M features/reporting/model/pom.xml
    M features/reporting/pom.xml
    M features/reporting/repository/pom.xml
    M features/reporting/rest/pom.xml
    M features/reporting/sdo/pom.xml
    M features/request-tracker/pom.xml
    M features/rest-provider/pom.xml
    M features/rest/common/pom.xml
    M features/rest/mapper/pom.xml
    M features/rest/model/pom.xml
    M features/rest/pom.xml
    M features/root-webapp/pom.xml
    M features/scv/api/pom.xml
    M features/scv/dominion-grpc-impl/pom.xml
    M features/scv/jceks-impl/pom.xml
    M features/scv/pom.xml
    M features/scv/rest/pom.xml
    M features/scv/scvcli/pom.xml
    M features/scv/shell/pom.xml
    M features/search/api/pom.xml
    M features/search/pom.xml
    M features/search/providers/pom.xml
    M features/search/rest/pom.xml
    M features/search/service/pom.xml
    M features/sentinel/core/pom.xml
    M features/sentinel/pom.xml
    M features/situation-feedback/api/pom.xml
    M features/situation-feedback/elastic/pom.xml
    M features/situation-feedback/pom.xml
    M features/situation-feedback/rest/api/pom.xml
    M features/situation-feedback/rest/impl/pom.xml
    M features/situation-feedback/rest/pom.xml
    M features/springframework-security/pom.xml
    M features/status/api/pom.xml
    M features/status/pom.xml
    M features/status/rest/pom.xml
    M features/system-report/pom.xml
    M features/telemetry/api/pom.xml
    M features/telemetry/common/pom.xml
    M features/telemetry/config/api/pom.xml
    M features/telemetry/config/jaxb/pom.xml
    M features/telemetry/config/pom.xml
    M features/telemetry/connectors/pom.xml
    M features/telemetry/daemon/pom.xml
    M features/telemetry/distributed/common/pom.xml
    M features/telemetry/distributed/minion/pom.xml
    M features/telemetry/distributed/pom.xml
    M features/telemetry/distributed/sentinel/pom.xml
    M features/telemetry/itests/pom.xml
    M features/telemetry/listeners/pom.xml
    M features/telemetry/pom.xml
    M features/telemetry/protocols/adapters/pom.xml
    M features/telemetry/protocols/bmp/adapter/pom.xml
    M features/telemetry/protocols/bmp/parser/pom.xml
    M features/telemetry/protocols/bmp/persistence/api/pom.xml
    M features/telemetry/protocols/bmp/persistence/impl/pom.xml
    M features/telemetry/protocols/bmp/persistence/pom.xml
    M features/telemetry/protocols/bmp/pom.xml
    M features/telemetry/protocols/bmp/stats/pom.xml
    M features/telemetry/protocols/bmp/transport/pom.xml
    M features/telemetry/protocols/cache/pom.xml
    M features/telemetry/protocols/common/pom.xml
    M features/telemetry/protocols/flows/pom.xml
    M features/telemetry/protocols/graphite/adapter/pom.xml
    M features/telemetry/protocols/graphite/pom.xml
    M features/telemetry/protocols/jti/adapter/pom.xml
    M features/telemetry/protocols/jti/pom.xml
    M features/telemetry/protocols/netflow/adapter/pom.xml
    M features/telemetry/protocols/netflow/parser/pom.xml
    M features/telemetry/protocols/netflow/pom.xml
    M features/telemetry/protocols/netflow/transport/pom.xml
    M features/telemetry/protocols/netflow/xml-provider/core/pom.xml
    M features/telemetry/protocols/netflow/xml-provider/minion/pom.xml
    M features/telemetry/protocols/netflow/xml-provider/pom.xml
    M features/telemetry/protocols/nxos/adapter/pom.xml
    M features/telemetry/protocols/nxos/pom.xml
    M features/telemetry/protocols/openconfig/adapter/pom.xml
    M features/telemetry/protocols/openconfig/connector/pom.xml
    M features/telemetry/protocols/openconfig/itests/pom.xml
    M features/telemetry/protocols/openconfig/pom.xml
    M features/telemetry/protocols/pom.xml
    M features/telemetry/protocols/sflow/adapter/pom.xml
    M features/telemetry/protocols/sflow/parser/pom.xml
    M features/telemetry/protocols/sflow/pom.xml
    M features/telemetry/registry/pom.xml
    M features/telemetry/shell/pom.xml
    M features/themes/dashboard-theme/pom.xml
    M features/themes/jmxconfiggenerator-theme/pom.xml
    M features/themes/onms-default-theme/pom.xml
    M features/themes/pom.xml
    M features/ticketing/api/pom.xml
    M features/ticketing/daemon/pom.xml
    M features/ticketing/drools-integration/pom.xml
    M features/ticketing/inmemory/pom.xml
    M features/ticketing/jira-client/pom.xml
    M features/ticketing/jira-integration/pom.xml
    M features/ticketing/pom.xml
    M features/ticketing/rt-integration/pom.xml
    M features/ticketing/tsrm-integration/pom.xml
    M features/timeformat/api/pom.xml
    M features/timeformat/impl/pom.xml
    M features/timeformat/pom.xml
    M features/timeseries-evaluate/pom.xml
    M features/timeseries-shell/pom.xml
    M features/timeseries/pom.xml
    M features/topologies/pom.xml
    M features/topologies/service/api/pom.xml
    M features/topologies/service/impl/pom.xml
    M features/topologies/service/pom.xml
    M features/topology-map/features/pom.xml
    M features/topology-map/features/runtime-base/pom.xml
    M features/topology-map/features/runtime-graphml/pom.xml
    M features/topology-map/org.opennms.features.topology.api/pom.xml
    M features/topology-map/org.opennms.features.topology.app/pom.xml
    M features/topology-map/org.opennms.features.topology.link/pom.xml
    M features/topology-map/org.opennms.features.topology.persistence/org.opennms.features.topology.persistence.api/pom.xml
    M features/topology-map/org.opennms.features.topology.persistence/org.opennms.features.topology.persistence.impl/pom.xml
    M features/topology-map/org.opennms.features.topology.persistence/pom.xml
    M features/topology-map/org.opennms.features.topology.shell/pom.xml
    M features/topology-map/plugins/org.opennms.features.topology.plugins.browsers/pom.xml
    M features/topology-map/plugins/org.opennms.features.topology.plugins.layout/pom.xml
    M features/topology-map/plugins/org.opennms.features.topology.plugins.netutils/pom.xml
    M features/topology-map/plugins/org.opennms.features.topology.plugins.topo.application/pom.xml
    M features/topology-map/plugins/org.opennms.features.topology.plugins.topo.asset/pom.xml
    M features/topology-map/plugins/org.opennms.features.topology.plugins.topo.bsm/pom.xml
    M features/topology-map/plugins/org.opennms.features.topology.plugins.topo.graphml/pom.xml
    M features/topology-map/plugins/org.opennms.features.topology.plugins.topo.history/pom.xml
    M features/topology-map/plugins/org.opennms.features.topology.plugins.topo.linkd/pom.xml
    M features/topology-map/plugins/org.opennms.features.topology.plugins.topo.pathoutage/pom.xml
    M features/topology-map/plugins/org.opennms.features.topology.plugins.topo.vmware/pom.xml
    M features/topology-map/plugins/pom.xml
    M features/topology-map/pom.xml
    M features/topology-map/poms/compiled/pom.xml
    M features/topology-map/poms/pom.xml
    M features/topology-map/poms/wrappers/pom.xml
    M features/topology-map/provision/pom.xml
    M features/topology-map/themes/default-theme/pom.xml
    M features/topology-map/themes/pom.xml
    M features/topology-views/pom.xml
    M features/ui-extension/pom.xml
    M features/usageanalytics/api/pom.xml
    M features/usageanalytics/impl/pom.xml
    M features/usageanalytics/pom.xml
    M features/vaadin-components/core/pom.xml
    M features/vaadin-components/extender-service/pom.xml
    M features/vaadin-components/graph/pom.xml
    M features/vaadin-components/header/pom.xml
    M features/vaadin-components/pom.xml
    M features/vaadin-components/widgetset/pom.xml
    M features/vaadin-jmxconfiggenerator/pom.xml
    M features/vaadin-snmp-events-and-metrics/pom.xml
    M features/vaadin-surveillance-views/pom.xml
    M features/vaadin/pom.xml
    M features/wsman/pom.xml
    M features/zenith-connect/persistence/pom.xml
    M features/zenith-connect/pom.xml
    M features/zenith-connect/rest/pom.xml
    M integration-tests/config/pom.xml
    M integration-tests/pom.xml
    M integration-tests/trend-configuration/pom.xml
    M integrations/opennms-R/pom.xml
    M integrations/opennms-dns-provisioning-adapter/pom.xml
    M integrations/opennms-geoip-provisioning-adapter/pom.xml
    M integrations/opennms-jasper-extensions/pom.xml
    M integrations/opennms-jasperstudio-extension/pom.xml
    M integrations/opennms-puppet-provisioning-adapter/pom.xml
    M integrations/opennms-reverse-dns-provisioning-adapter/pom.xml
    M integrations/opennms-snmp-asset-provisioning-adapter/pom.xml
    M integrations/opennms-snmp-hardware-inventory-provisioning-adapter/pom.xml
    M integrations/opennms-snmp-metadata-provisioning-adapter/pom.xml
    M integrations/opennms-vmware/pom.xml
    M integrations/opennms-vtdxml-collector-handler/pom.xml
    M integrations/opennms-wsman-asset-provisioning-adapter/pom.xml
    M integrations/pom.xml
    M opennms-ackd/pom.xml
    M opennms-alarms/api/pom.xml
    M opennms-alarms/bsf-northbounder/pom.xml
    M opennms-alarms/daemon/pom.xml
    M opennms-alarms/drools-northbounder/pom.xml
    M opennms-alarms/email-northbounder/pom.xml
    M opennms-alarms/http-northbounder/pom.xml
    M opennms-alarms/integration-tests/pom.xml
    M opennms-alarms/jms-northbounder/pom.xml
    M opennms-alarms/pom.xml
    M opennms-alarms/snmptrap-northbounder/pom.xml
    M opennms-alarms/syslog-northbounder/pom.xml
    M opennms-assemblies/minion/pom.xml
    M opennms-assemblies/pom.xml
    M opennms-assemblies/sentinel/pom.xml
    M opennms-assemblies/version/pom.xml
    M opennms-assemblies/webapp-full/pom.xml
    M opennms-assemblies/xsds/pom.xml
    M opennms-asterisk/pom.xml
    M opennms-base-assembly/pom.xml
    M opennms-base-assembly/src/main/filtered/etc/log4j2.xml
    M opennms-bootstrap/pom.xml
    M opennms-config-api/pom.xml
    M opennms-config-dao/common-api/pom.xml
    M opennms-config-dao/common-impl/pom.xml
    M opennms-config-dao/poll-outages/api/pom.xml
    M opennms-config-dao/poll-outages/impl/pom.xml
    M opennms-config-dao/poll-outages/itests/pom.xml
    M opennms-config-dao/poll-outages/pom.xml
    M opennms-config-dao/pom.xml
    M opennms-config-dao/thresholding/api/pom.xml
    M opennms-config-dao/thresholding/impl/pom.xml
    M opennms-config-dao/thresholding/pom.xml
    M opennms-config-jaxb/pom.xml
    M opennms-config-model/pom.xml
    M opennms-config-tester/pom.xml
    M opennms-config/pom.xml
    M opennms-correlation/drools-correlation-engine/pom.xml
    M opennms-correlation/opennms-correlator/pom.xml
    M opennms-correlation/pom.xml
    M opennms-dao-api/pom.xml
    M opennms-dao-mock/pom.xml
    M opennms-dao/pom.xml
    M opennms-enterprise-reporting/opennms-reportd/pom.xml
    M opennms-enterprise-reporting/pom.xml
    M opennms-full-assembly/pom.xml
    M opennms-full-assembly/src/test/java/org/opennms/assemblies/karaf/OnmsKarafTestCase.java
    M opennms-icmp/commands/pom.xml
    M opennms-icmp/opennms-icmp-api/pom.xml
    M opennms-icmp/opennms-icmp-best/pom.xml
    M opennms-icmp/opennms-icmp-jna/pom.xml
    M opennms-icmp/opennms-icmp-jni/pom.xml
    M opennms-icmp/opennms-icmp-jni6/pom.xml
    M opennms-icmp/opennms-icmp-proxy-rpc-impl/pom.xml
    M opennms-icmp/pom.xml
    M opennms-install/pom.xml
    M opennms-javamail/opennms-javamail-api/pom.xml
    M opennms-javamail/pom.xml
    M opennms-jetty/pom.xml
    M opennms-model/pom.xml
    M opennms-provision/opennms-detector-bsf/pom.xml
    M opennms-provision/opennms-detector-datagram/pom.xml
    M opennms-provision/opennms-detector-dhcp/pom.xml
    M opennms-provision/opennms-detector-generic/pom.xml
    M opennms-provision/opennms-detector-jdbc/pom.xml
    M opennms-provision/opennms-detector-jms/pom.xml
    M opennms-provision/opennms-detector-jmx/pom.xml
    M opennms-provision/opennms-detector-lineoriented/pom.xml
    M opennms-provision/opennms-detector-rdns-lookup/pom.xml
    M opennms-provision/opennms-detector-registry/pom.xml
    M opennms-provision/opennms-detector-simple/pom.xml
    M opennms-provision/opennms-detector-ssh/pom.xml
    M opennms-provision/opennms-detector-web/pom.xml
    M opennms-provision/opennms-detectorclient-rpc/pom.xml
    M opennms-provision/opennms-mock-simpleserver/pom.xml
    M opennms-provision/opennms-provision-api/pom.xml
    M opennms-provision/opennms-provision-geolocation/pom.xml
    M opennms-provision/opennms-provision-persistence/pom.xml
    M opennms-provision/opennms-provision-shell/pom.xml
    M opennms-provision/opennms-provisiond/pom.xml
    M opennms-provision/opennms-requisition-dns/pom.xml
    M opennms-provision/opennms-requisition-service/pom.xml
    M opennms-provision/opennms-snmp-scanners/pom.xml
    M opennms-provision/pom.xml
    M opennms-rrd/opennms-rrd-api/pom.xml
    M opennms-rrd/opennms-rrd-model/pom.xml
    M opennms-rrd/opennms-rrd-rrdtool/opennms-rrdtool-api/pom.xml
    M opennms-rrd/opennms-rrd-rrdtool/pom.xml
    M opennms-rrd/opennms-rrd-tcp/pom.xml
    M opennms-rrd/opennms-rrd-util/pom.xml
    M opennms-rrd/pom.xml
    M opennms-services/pom.xml
    M opennms-taglib/pom.xml
    M opennms-util/pom.xml
    M opennms-web-api/pom.xml
    M opennms-web-dependencies/pom.xml
    M opennms-webapp-rest/pom.xml
    M opennms-webapp/pom.xml
    M pom.xml
    M protocols/cifs/pom.xml
    M protocols/nsclient/pom.xml
    M protocols/pom.xml
    M protocols/radius/pom.xml
    M protocols/selenium-monitor/pom.xml
    M protocols/xml/pom.xml
    M smoke-test/pom.xml
    M tests/dao/pom.xml
    M tests/mock-elements/pom.xml
    M tests/mock-snmp-agent/pom.xml
    M tests/pom.xml
    M ui/pom.xml
    M ui/tests/components/Menu/menu-template-test.json

  Log Message:
  -----------
  Merge remote-tracking branch 'horizon/master-36' into release-36.x


  Commit: d1c5cf5aaab1067f509c3f233769b95304d5a5d7
      https://github.com/OpenNMS/opennms/commit/d1c5cf5aaab1067f509c3f233769b95304d5a5d7
  Author: Atlassian Bamboo <[email protected]>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M .version.txt
    M container/branding/pom.xml
    M container/bridge/api/pom.xml
    M container/bridge/pom.xml
    M container/bridge/proxy/pom.xml
    M container/bridge/rest/pom.xml
    M container/extender/pom.xml
    M container/features/pom.xml
    M container/hawtio-osgi-patch/pom.xml
    M container/jaas-login-module/pom.xml
    M container/karaf/pom.xml
    M container/noop-jetty-extension/pom.xml
    M container/pom.xml
    M container/servlet/pom.xml
    M container/shared/pom.xml
    M container/spring-extender/pom.xml
    M core/api/pom.xml
    M core/cache/pom.xml
    M core/camel/pom.xml
    M core/cli/pom.xml
    M core/commands/pom.xml
    M core/config/pom.xml
    M core/criteria/pom.xml
    M core/daemon/pom.xml
    M core/db-install/pom.xml
    M core/db/pom.xml
    M core/encrypt-util/pom.xml
    M core/fileutils/pom.xml
    M core/grpc/common/pom.xml
    M core/grpc/osgi/pom.xml
    M core/grpc/pom.xml
    M core/health/api/pom.xml
    M core/health/impl/pom.xml
    M core/health/pom.xml
    M core/health/rest-cxf/pom.xml
    M core/health/rest/pom.xml
    M core/health/shell/pom.xml
    M core/icmp-jna/pom.xml
    M core/ipc/common/kafka-shell/pom.xml
    M core/ipc/common/kafka/pom.xml
    M core/ipc/common/pom.xml
    M core/ipc/grpc/client/pom.xml
    M core/ipc/grpc/common/pom.xml
    M core/ipc/grpc/itests/pom.xml
    M core/ipc/grpc/pom.xml
    M core/ipc/grpc/server/pom.xml
    M core/ipc/osgi/pom.xml
    M core/ipc/pom.xml
    M core/ipc/rpc/api/pom.xml
    M core/ipc/rpc/camel/pom.xml
    M core/ipc/rpc/common/pom.xml
    M core/ipc/rpc/jms-impl/pom.xml
    M core/ipc/rpc/kafka/pom.xml
    M core/ipc/rpc/mock-impl/pom.xml
    M core/ipc/rpc/pom.xml
    M core/ipc/rpc/shell-commands/pom.xml
    M core/ipc/rpc/utils/pom.xml
    M core/ipc/rpc/xml/pom.xml
    M core/ipc/sink/api/pom.xml
    M core/ipc/sink/camel/client/pom.xml
    M core/ipc/sink/camel/common/pom.xml
    M core/ipc/sink/camel/itests/pom.xml
    M core/ipc/sink/camel/pom.xml
    M core/ipc/sink/camel/server/pom.xml
    M core/ipc/sink/common/pom.xml
    M core/ipc/sink/kafka/client/pom.xml
    M core/ipc/sink/kafka/itests/pom.xml
    M core/ipc/sink/kafka/pom.xml
    M core/ipc/sink/kafka/server/pom.xml
    M core/ipc/sink/mock-impl/pom.xml
    M core/ipc/sink/off-heap/pom.xml
    M core/ipc/sink/pom.xml
    M core/ipc/sink/xml/pom.xml
    M core/ipc/twin/api/pom.xml
    M core/ipc/twin/common/pom.xml
    M core/ipc/twin/grpc/common/pom.xml
    M core/ipc/twin/grpc/itests/pom.xml
    M core/ipc/twin/grpc/pom.xml
    M core/ipc/twin/grpc/publisher/pom.xml
    M core/ipc/twin/grpc/subscriber/pom.xml
    M core/ipc/twin/jms/itests/pom.xml
    M core/ipc/twin/jms/pom.xml
    M core/ipc/twin/jms/publisher/pom.xml
    M core/ipc/twin/jms/subscriber/pom.xml
    M core/ipc/twin/kafka/common/pom.xml
    M core/ipc/twin/kafka/itests/pom.xml
    M core/ipc/twin/kafka/pom.xml
    M core/ipc/twin/kafka/publisher/pom.xml
    M core/ipc/twin/kafka/subscriber/pom.xml
    M core/ipc/twin/memory/pom.xml
    M core/ipc/twin/pom.xml
    M core/ipc/twin/shell/pom.xml
    M core/ipc/twin/test/pom.xml
    M core/jmx/api/pom.xml
    M core/jmx/impl/pom.xml
    M core/jmx/pom.xml
    M core/jstl-support/pom.xml
    M core/lib/pom.xml
    M core/logging-api/pom.xml
    M core/mate/api/pom.xml
    M core/mate/model/pom.xml
    M core/mate/pom.xml
    M core/mate/shell-commands/pom.xml
    M core/password/pom.xml
    M core/pom.xml
    M core/profiler/pom.xml
    M core/runtime/pom.xml
    M core/schema/pom.xml
    M core/snmp/api/pom.xml
    M core/snmp/commands/pom.xml
    M core/snmp/impl-mock/pom.xml
    M core/snmp/impl-snmp4j/pom.xml
    M core/snmp/integration-tests/pom.xml
    M core/snmp/pom.xml
    M core/snmp/profile-mapper/pom.xml
    M core/snmp/proxy-rpc-impl/pom.xml
    M core/snmp/proxy-rpc-tests/pom.xml
    M core/soa/pom.xml
    M core/spring-web/pom.xml
    M core/spring/pom.xml
    M core/sysprops/pom.xml
    M core/tasks/pom.xml
    M core/test-api/activemq/pom.xml
    M core/test-api/alarms/pom.xml
    M core/test-api/camel/pom.xml
    M core/test-api/collection/pom.xml
    M core/test-api/db/pom.xml
    M core/test-api/dns/pom.xml
    M core/test-api/elasticsearch/pom.xml
    M core/test-api/http/pom.xml
    M core/test-api/kafka/pom.xml
    M core/test-api/karaf/pom.xml
    M core/test-api/lib/pom.xml
    M core/test-api/pom.xml
    M core/test-api/rest/pom.xml
    M core/test-api/schema/a/pom.xml
    M core/test-api/schema/b/pom.xml
    M core/test-api/schema/pom.xml
    M core/test-api/services/pom.xml
    M core/test-api/snmp/pom.xml
    M core/test-api/ssh/pom.xml
    M core/test-api/xml/pom.xml
    M core/tracing/api/pom.xml
    M core/tracing/jaeger-osgi/pom.xml
    M core/tracing/jaeger-tracer/pom.xml
    M core/tracing/pom.xml
    M core/tracing/registry/pom.xml
    M core/upgrade/pom.xml
    M core/web-assets/package.json
    M core/web-assets/pom.xml
    M core/web/pom.xml
    M core/xml/pom.xml
    M dependencies/activemq-web/pom.xml
    M dependencies/activemq/pom.xml
    M dependencies/asterisk/pom.xml
    M dependencies/atomikos/pom.xml
    M dependencies/camel-test/pom.xml
    M dependencies/camel/pom.xml
    M dependencies/cassandra-test/pom.xml
    M dependencies/cxf/pom.xml
    M dependencies/dnsjava/pom.xml
    M dependencies/drools/pom.xml
    M dependencies/eclipse-npn-alpn/pom.xml
    M dependencies/felix/pom.xml
    M dependencies/groovy/pom.xml
    M dependencies/hibernate/pom.xml
    M dependencies/jackson1/pom.xml
    M dependencies/jackson2/pom.xml
    M dependencies/jasper/pom.xml
    M dependencies/jasypt/pom.xml
    M dependencies/javamail/pom.xml
    M dependencies/jaxb/pom.xml
    M dependencies/jcifs-shaded/pom.xml
    M dependencies/jcifs/pom.xml
    M dependencies/jinterop/pom.xml
    M dependencies/jmx/pom.xml
    M dependencies/jna/pom.xml
    M dependencies/jradius-extended/pom.xml
    M dependencies/jradius/pom.xml
    M dependencies/jrobin/pom.xml
    M dependencies/jrrd/pom.xml
    M dependencies/jrrd2/pom.xml
    M dependencies/jstl/pom.xml
    M dependencies/jung/pom.xml
    M dependencies/liquibase/pom.xml
    M dependencies/mina/pom.xml
    M dependencies/netty/pom.xml
    M dependencies/newts/pom.xml
    M dependencies/oia/pom.xml
    M dependencies/owasp/pom.xml
    M dependencies/pax-exam/pom.xml
    M dependencies/pom.xml
    M dependencies/quartz/pom.xml
    M dependencies/servlet/pom.xml
    M dependencies/smack/pom.xml
    M dependencies/snmp-test/pom.xml
    M dependencies/snmp/pom.xml
    M dependencies/snmp4j-agent/pom.xml
    M dependencies/snmp4j/pom.xml
    M dependencies/spring-security-core/pom.xml
    M dependencies/spring-security/pom.xml
    M dependencies/spring-test/pom.xml
    M dependencies/spring-web/pom.xml
    M dependencies/spring/pom.xml
    M dependencies/twitter4j/pom.xml
    M deploy/pom.xml
    M docs/antora.yml
    M features/activemq/broker-api/pom.xml
    M features/activemq/broker/pom.xml
    M features/activemq/component/pom.xml
    M features/activemq/pom.xml
    M features/activemq/pool/pom.xml
    M features/activemq/shell/pom.xml
    M features/alarms/history/api/pom.xml
    M features/alarms/history/elastic/pom.xml
    M features/alarms/history/pom.xml
    M features/alarms/history/rest/api/pom.xml
    M features/alarms/history/rest/impl/pom.xml
    M features/alarms/history/rest/pom.xml
    M features/alarms/pom.xml
    M features/amqp/alarm-northbounder/pom.xml
    M features/amqp/common/pom.xml
    M features/amqp/event-forwarder/pom.xml
    M features/amqp/event-receiver/pom.xml
    M features/amqp/pom.xml
    M features/api-layer/common/pom.xml
    M features/api-layer/core/pom.xml
    M features/api-layer/dao-common/pom.xml
    M features/api-layer/minion/pom.xml
    M features/api-layer/pom.xml
    M features/api-layer/sentinel/pom.xml
    M features/bsm/daemon/pom.xml
    M features/bsm/persistence/api/pom.xml
    M features/bsm/persistence/impl/pom.xml
    M features/bsm/persistence/pom.xml
    M features/bsm/pom.xml
    M features/bsm/rest/api/pom.xml
    M features/bsm/rest/impl/pom.xml
    M features/bsm/rest/pom.xml
    M features/bsm/service/api/pom.xml
    M features/bsm/service/impl/pom.xml
    M features/bsm/service/pom.xml
    M features/bsm/shell-commands/pom.xml
    M features/bsm/test-util/pom.xml
    M features/bsm/vaadin-adminpage/pom.xml
    M features/charts/pom.xml
    M features/collection/api/pom.xml
    M features/collection/client-rpc/pom.xml
    M features/collection/collectors/pom.xml
    M features/collection/core/pom.xml
    M features/collection/persistence-osgi/pom.xml
    M features/collection/persistence-rrd/pom.xml
    M features/collection/persistence-tcp/pom.xml
    M features/collection/pom.xml
    M features/collection/shell-commands/pom.xml
    M features/collection/snmp-collector/pom.xml
    M features/collection/test-api/pom.xml
    M features/collection/thresholding/api/pom.xml
    M features/collection/thresholding/impl/pom.xml
    M features/collection/thresholding/itests/pom.xml
    M features/collection/thresholding/pom.xml
    M features/collection/thresholding/thresholding-shell/pom.xml
    M features/config/dao/api/pom.xml
    M features/config/dao/impl/pom.xml
    M features/config/dao/pom.xml
    M features/config/mock/pom.xml
    M features/config/osgi/cm/pom.xml
    M features/config/osgi/del/pom.xml
    M features/config/osgi/pom.xml
    M features/config/pom.xml
    M features/config/rest/api/pom.xml
    M features/config/rest/impl/pom.xml
    M features/config/rest/pom.xml
    M features/config/service/api/pom.xml
    M features/config/service/impl/pom.xml
    M features/config/service/pom.xml
    M features/config/test/pom.xml
    M features/config/upgrade/pom.xml
    M features/config/util/pom.xml
    M features/container/minion/pom.xml
    M features/container/pom.xml
    M features/container/sentinel/pom.xml
    M features/datachoices/pom.xml
    M features/device-config/api/pom.xml
    M features/device-config/monitor-adaptor/pom.xml
    M features/device-config/monitor/pom.xml
    M features/device-config/persistence/api/pom.xml
    M features/device-config/persistence/impl/pom.xml
    M features/device-config/persistence/pom.xml
    M features/device-config/pom.xml
    M features/device-config/rest/pom.xml
    M features/device-config/retrieval/pom.xml
    M features/device-config/service/pom.xml
    M features/device-config/shell/pom.xml
    M features/device-config/sink/consumer/pom.xml
    M features/device-config/sink/dispatcher/pom.xml
    M features/device-config/sink/module/pom.xml
    M features/device-config/sink/pom.xml
    M features/device-config/ssh-scripting/pom.xml
    M features/device-config/tftp/pom.xml
    M features/dhcpd/pom.xml
    M features/discovery/pom.xml
    M features/distributed/collection/pom.xml
    M features/distributed/coordination/api/pom.xml
    M features/distributed/coordination/common/pom.xml
    M features/distributed/coordination/pom.xml
    M features/distributed/coordination/shell/pom.xml
    M features/distributed/coordination/zookeeper/pom.xml
    M features/distributed/core/api/pom.xml
    M features/distributed/core/impl/pom.xml
    M features/distributed/core/jms/pom.xml
    M features/distributed/core/pom.xml
    M features/distributed/core/shell/pom.xml
    M features/distributed/dao/api/pom.xml
    M features/distributed/dao/distributed/pom.xml
    M features/distributed/dao/healthcheck/pom.xml
    M features/distributed/dao/impl/pom.xml
    M features/distributed/dao/pom.xml
    M features/distributed/dao/shell/pom.xml
    M features/distributed/dao/test/pom.xml
    M features/distributed/datasource/pom.xml
    M features/distributed/distributed-cassandra/cassandra-api/pom.xml
    M features/distributed/distributed-cassandra/newts-impl/pom.xml
    M features/distributed/distributed-cassandra/pom.xml
    M features/distributed/kv-store/api/pom.xml
    M features/distributed/kv-store/blob/blob-itests/pom.xml
    M features/distributed/kv-store/blob/blob-shell/pom.xml
    M features/distributed/kv-store/blob/cassandra/pom.xml
    M features/distributed/kv-store/blob/in-memory/pom.xml
    M features/distributed/kv-store/blob/no-op/pom.xml
    M features/distributed/kv-store/blob/pom.xml
    M features/distributed/kv-store/blob/postgres-impl/pom.xml
    M features/distributed/kv-store/json/json-shell/pom.xml
    M features/distributed/kv-store/json/noop/pom.xml
    M features/distributed/kv-store/json/pom.xml
    M features/distributed/kv-store/json/postgres/pom.xml
    M features/distributed/kv-store/pom.xml
    M features/distributed/kv-store/postgres-shared/pom.xml
    M features/distributed/opennms-identity/pom.xml
    M features/distributed/pom.xml
    M features/distributed/service-registry/pom.xml
    M features/dnsresolver/api/pom.xml
    M features/dnsresolver/netty/pom.xml
    M features/dnsresolver/pom.xml
    M features/dnsresolver/shell/pom.xml
    M features/eif-adapter/pom.xml
    M features/elastic/client/pom.xml
    M features/elastic/pom.xml
    M features/endpoints/grafana/api/pom.xml
    M features/endpoints/grafana/client/pom.xml
    M features/endpoints/grafana/persistence/api/pom.xml
    M features/endpoints/grafana/persistence/impl/pom.xml
    M features/endpoints/grafana/persistence/pom.xml
    M features/endpoints/grafana/pom.xml
    M features/endpoints/grafana/rest/pom.xml
    M features/endpoints/grafana/service/pom.xml
    M features/endpoints/pom.xml
    M features/enlinkd/adapters/collectors/bridge/pom.xml
    M features/enlinkd/adapters/collectors/cdp/pom.xml
    M features/enlinkd/adapters/collectors/ipnettomedia/pom.xml
    M features/enlinkd/adapters/collectors/isis/pom.xml
    M features/enlinkd/adapters/collectors/lldp/pom.xml
    M features/enlinkd/adapters/collectors/ospf/pom.xml
    M features/enlinkd/adapters/collectors/pom.xml
    M features/enlinkd/adapters/common/pom.xml
    M features/enlinkd/adapters/discovers/bridge/pom.xml
    M features/enlinkd/adapters/discovers/pom.xml
    M features/enlinkd/adapters/pom.xml
    M features/enlinkd/adapters/updaters/bridge/pom.xml
    M features/enlinkd/adapters/updaters/cdp/pom.xml
    M features/enlinkd/adapters/updaters/isis/pom.xml
    M features/enlinkd/adapters/updaters/lldp/pom.xml
    M features/enlinkd/adapters/updaters/nodes/pom.xml
    M features/enlinkd/adapters/updaters/ospf/pom.xml
    M features/enlinkd/adapters/updaters/pom.xml
    M features/enlinkd/api/pom.xml
    M features/enlinkd/config/pom.xml
    M features/enlinkd/daemon/pom.xml
    M features/enlinkd/generator/pom.xml
    M features/enlinkd/persistence/api/pom.xml
    M features/enlinkd/persistence/impl/pom.xml
    M features/enlinkd/persistence/pom.xml
    M features/enlinkd/pom.xml
    M features/enlinkd/service/api/pom.xml
    M features/enlinkd/service/impl/pom.xml
    M features/enlinkd/service/pom.xml
    M features/enlinkd/shell/pom.xml
    M features/enlinkd/tests/pom.xml
    M features/events/api/pom.xml
    M features/events/collector/pom.xml
    M features/events/daemon/pom.xml
    M features/events/pom.xml
    M features/events/shell-commands/pom.xml
    M features/events/sink/dispatcher/pom.xml
    M features/events/sink/pom.xml
    M features/events/sink/shell-commands/pom.xml
    M features/events/syslog/pom.xml
    M features/events/traps/pom.xml
    M features/executor-factory/cassandra/pom.xml
    M features/executor-factory/pom.xml
    M features/flows/api/pom.xml
    M features/flows/classification/engine/api/pom.xml
    M features/flows/classification/engine/impl/pom.xml
    M features/flows/classification/engine/pom.xml
    M features/flows/classification/persistence/api/pom.xml
    M features/flows/classification/persistence/impl/pom.xml
    M features/flows/classification/persistence/pom.xml
    M features/flows/classification/pom.xml
    M features/flows/classification/shell/pom.xml
    M features/flows/elastic/pom.xml
    M features/flows/itests/pom.xml
    M features/flows/kafka-persistence/pom.xml
    M features/flows/pom.xml
    M features/flows/processing/pom.xml
    M features/flows/rest/api/pom.xml
    M features/flows/rest/impl/pom.xml
    M features/flows/rest/pom.xml
    M features/geocoder/api/pom.xml
    M features/geocoder/google/pom.xml
    M features/geocoder/mapquest/pom.xml
    M features/geocoder/nominatim/pom.xml
    M features/geocoder/pom.xml
    M features/geocoder/rest/pom.xml
    M features/geocoder/service/pom.xml
    M features/geolocation/api/pom.xml
    M features/geolocation/pom.xml
    M features/geolocation/rest/pom.xml
    M features/geolocation/service/pom.xml
    M features/graph/api/pom.xml
    M features/graph/dao/api/pom.xml
    M features/graph/dao/impl/pom.xml
    M features/graph/dao/pom.xml
    M features/graph/domain/pom.xml
    M features/graph/pom.xml
    M features/graph/provider/application/pom.xml
    M features/graph/provider/bsm/pom.xml
    M features/graph/provider/graphml/pom.xml
    M features/graph/provider/legacy/pom.xml
    M features/graph/provider/persistence-test/pom.xml
    M features/graph/provider/pom.xml
    M features/graph/provider/topology/pom.xml
    M features/graph/rest/api/pom.xml
    M features/graph/rest/impl/pom.xml
    M features/graph/rest/pom.xml
    M features/graph/service/pom.xml
    M features/graph/shell/pom.xml
    M features/graphml/api/pom.xml
    M features/graphml/pom.xml
    M features/graphml/rest/pom.xml
    M features/graphml/service/pom.xml
    M features/grpc/exporter/pom.xml
    M features/grpc/pom.xml
    M features/ifttt/pom.xml
    M features/inmemory-timeseries-plugin/pom.xml
    M features/instrumentationLogReader/pom.xml
    M features/jdbc-collector/pom.xml
    M features/jest/client/pom.xml
    M features/jest/dependencies/pom.xml
    M features/jest/feature/pom.xml
    M features/jest/jest-complete-osgi/pom.xml
    M features/jest/pom.xml
    M features/jmx-config-generator/pom.xml
    M features/juniper-tca-collector/pom.xml
    M features/kafka/consumer/pom.xml
    M features/kafka/pom.xml
    M features/kafka/producer/pom.xml
    M features/karaf-health/pom.xml
    M features/measurements/api/pom.xml
    M features/measurements/impl/pom.xml
    M features/measurements/pom.xml
    M features/measurements/rest/pom.xml
    M features/measurements/shell/pom.xml
    M features/mib-compiler/pom.xml
    M features/minion/core/features/pom.xml
    M features/minion/core/health-check/pom.xml
    M features/minion/core/impl/pom.xml
    M features/minion/core/pom.xml
    M features/minion/core/repository/pom.xml
    M features/minion/dominion/grpc-client/pom.xml
    M features/minion/dominion/pom.xml
    M features/minion/heartbeat/common/pom.xml
    M features/minion/heartbeat/consumer/pom.xml
    M features/minion/heartbeat/pom.xml
    M features/minion/heartbeat/producer/pom.xml
    M features/minion/pom.xml
    M features/minion/repository/pom.xml
    M features/minion/shell/collection/pom.xml
    M features/minion/shell/poller/pom.xml
    M features/minion/shell/pom.xml
    M features/minion/shell/provision/pom.xml
    M features/minion/status/pom.xml
    M features/name-cutter/pom.xml
    M features/newts-repository-converter/pom.xml
    M features/newts/pom.xml
    M features/notifications/api/pom.xml
    M features/notifications/pom.xml
    M features/notifications/shell/pom.xml
    M features/notifications/ticket-strategy/pom.xml
    M features/nrtg/api/pom.xml
    M features/nrtg/broker/pom.xml
    M features/nrtg/commander/pom.xml
    M features/nrtg/jar/nrtcollector/pom.xml
    M features/nrtg/jar/pom.xml
    M features/nrtg/nrtbroker-jms/pom.xml
    M features/nrtg/nrtbroker-local/pom.xml
    M features/nrtg/nrtcollector/pom.xml
    M features/nrtg/pom.xml
    M features/nrtg/protocolcollector/pom.xml
    M features/nrtg/protocolcollector/snmp/pom.xml
    M features/nrtg/protocolcollector/tca/pom.xml
    M features/nrtg/system-exports/pom.xml
    M features/nrtg/web/pom.xml
    M features/openconfig/api/pom.xml
    M features/openconfig/common/pom.xml
    M features/openconfig/pom.xml
    M features/openconfig/telemetry-client/pom.xml
    M features/opennms-es-rest/pom.xml
    M features/opennms-osgi-core-rest/pom.xml
    M features/opennms-osgi-core/pom.xml
    M features/osgi-jsr223/pom.xml
    M features/perspectivepoller/pom.xml
    M features/poller/api/pom.xml
    M features/poller/client-rpc/pom.xml
    M features/poller/monitors/core/pom.xml
    M features/poller/monitors/pom.xml
    M features/poller/pom.xml
    M features/poller/runtime/pom.xml
    M features/poller/shell/pom.xml
    M features/pom.xml
    M features/prometheus-collector/pom.xml
    M features/provisioning/api/pom.xml
    M features/provisioning/lib/pom.xml
    M features/provisioning/pom.xml
    M features/reporting/api/pom.xml
    M features/reporting/availability/pom.xml
    M features/reporting/core/pom.xml
    M features/reporting/dao/pom.xml
    M features/reporting/jasper-reports-compiler/pom.xml
    M features/reporting/jasper-reports-filter/pom.xml
    M features/reporting/jasper-reports/pom.xml
    M features/reporting/model/pom.xml
    M features/reporting/pom.xml
    M features/reporting/repository/pom.xml
    M features/reporting/rest/pom.xml
    M features/reporting/sdo/pom.xml
    M features/request-tracker/pom.xml
    M features/rest-provider/pom.xml
    M features/rest/common/pom.xml
    M features/rest/mapper/pom.xml
    M features/rest/model/pom.xml
    M features/rest/pom.xml
    M features/root-webapp/pom.xml
    M features/scv/api/pom.xml
    M features/scv/dominion-grpc-impl/pom.xml
    M features/scv/jceks-impl/pom.xml
    M features/scv/pom.xml
    M features/scv/rest/pom.xml
    M features/scv/scvcli/pom.xml
    M features/scv/shell/pom.xml
    M features/search/api/pom.xml
    M features/search/pom.xml
    M features/search/providers/pom.xml
    M features/search/rest/pom.xml
    M features/search/service/pom.xml
    M features/sentinel/core/pom.xml
    M features/sentinel/pom.xml
    M features/situation-feedback/api/pom.xml
    M features/situation-feedback/elastic/pom.xml
    M features/situation-feedback/pom.xml
    M features/situation-feedback/rest/api/pom.xml
    M features/situation-feedback/rest/impl/pom.xml
    M features/situation-feedback/rest/pom.xml
    M features/springframework-security/pom.xml
    M features/status/api/pom.xml
    M features/status/pom.xml
    M features/status/rest/pom.xml
    M features/system-report/pom.xml
    M features/telemetry/api/pom.xml
    M features/telemetry/common/pom.xml
    M features/telemetry/config/api/pom.xml
    M features/telemetry/config/jaxb/pom.xml
    M features/telemetry/config/pom.xml
    M features/telemetry/connectors/pom.xml
    M features/telemetry/daemon/pom.xml
    M features/telemetry/distributed/common/pom.xml
    M features/telemetry/distributed/minion/pom.xml
    M features/telemetry/distributed/pom.xml
    M features/telemetry/distributed/sentinel/pom.xml
    M features/telemetry/itests/pom.xml
    M features/telemetry/listeners/pom.xml
    M features/telemetry/pom.xml
    M features/telemetry/protocols/adapters/pom.xml
    M features/telemetry/protocols/bmp/adapter/pom.xml
    M features/telemetry/protocols/bmp/parser/pom.xml
    M features/telemetry/protocols/bmp/persistence/api/pom.xml
    M features/telemetry/protocols/bmp/persistence/impl/pom.xml
    M features/telemetry/protocols/bmp/persistence/pom.xml
    M features/telemetry/protocols/bmp/pom.xml
    M features/telemetry/protocols/bmp/stats/pom.xml
    M features/telemetry/protocols/bmp/transport/pom.xml
    M features/telemetry/protocols/cache/pom.xml
    M features/telemetry/protocols/common/pom.xml
    M features/telemetry/protocols/flows/pom.xml
    M features/telemetry/protocols/graphite/adapter/pom.xml
    M features/telemetry/protocols/graphite/pom.xml
    M features/telemetry/protocols/jti/adapter/pom.xml
    M features/telemetry/protocols/jti/pom.xml
    M features/telemetry/protocols/netflow/adapter/pom.xml
    M features/telemetry/protocols/netflow/parser/pom.xml
    M features/telemetry/protocols/netflow/pom.xml
    M features/telemetry/protocols/netflow/transport/pom.xml
    M features/telemetry/protocols/netflow/xml-provider/core/pom.xml
    M features/telemetry/protocols/netflow/xml-provider/minion/pom.xml
    M features/telemetry/protocols/netflow/xml-provider/pom.xml
    M features/telemetry/protocols/nxos/adapter/pom.xml
    M features/telemetry/protocols/nxos/pom.xml
    M features/telemetry/protocols/openconfig/adapter/pom.xml
    M features/telemetry/protocols/openconfig/connector/pom.xml
    M features/telemetry/protocols/openconfig/itests/pom.xml
    M features/telemetry/protocols/openconfig/pom.xml
    M features/telemetry/protocols/pom.xml
    M features/telemetry/protocols/sflow/adapter/pom.xml
    M features/telemetry/protocols/sflow/parser/pom.xml
    M features/telemetry/protocols/sflow/pom.xml
    M features/telemetry/registry/pom.xml
    M features/telemetry/shell/pom.xml
    M features/themes/dashboard-theme/pom.xml
    M features/themes/jmxconfiggenerator-theme/pom.xml
    M features/themes/onms-default-theme/pom.xml
    M features/themes/pom.xml
    M features/ticketing/api/pom.xml
    M features/ticketing/daemon/pom.xml
    M features/ticketing/drools-integration/pom.xml
    M features/ticketing/inmemory/pom.xml
    M features/ticketing/jira-client/pom.xml
    M features/ticketing/jira-integration/pom.xml
    M features/ticketing/pom.xml
    M features/ticketing/rt-integration/pom.xml
    M features/ticketing/tsrm-integration/pom.xml
    M features/timeformat/api/pom.xml
    M features/timeformat/impl/pom.xml
    M features/timeformat/pom.xml
    M features/timeseries-evaluate/pom.xml
    M features/timeseries-shell/pom.xml
    M features/timeseries/pom.xml
    M features/topologies/pom.xml
    M features/topologies/service/api/pom.xml
    M features/topologies/service/impl/pom.xml
    M features/topologies/service/pom.xml
    M features/topology-map/features/pom.xml
    M features/topology-map/features/runtime-base/pom.xml
    M features/topology-map/features/runtime-graphml/pom.xml
    M features/topology-map/org.opennms.features.topology.api/pom.xml
    M features/topology-map/org.opennms.features.topology.app/pom.xml
    M features/topology-map/org.opennms.features.topology.link/pom.xml
    M features/topology-map/org.opennms.features.topology.persistence/org.opennms.features.topology.persistence.api/pom.xml
    M features/topology-map/org.opennms.features.topology.persistence/org.opennms.features.topology.persistence.impl/pom.xml
    M features/topology-map/org.opennms.features.topology.persistence/pom.xml
    M features/topology-map/org.opennms.features.topology.shell/pom.xml
    M features/topology-map/plugins/org.opennms.features.topology.plugins.browsers/pom.xml
    M features/topology-map/plugins/org.opennms.features.topology.plugins.layout/pom.xml
    M features/topology-map/plugins/org.opennms.features.topology.plugins.netutils/pom.xml
    M features/topology-map/plugins/org.opennms.features.topology.plugins.topo.application/pom.xml
    M features/topology-map/plugins/org.opennms.features.topology.plugins.topo.asset/pom.xml
    M features/topology-map/plugins/org.opennms.features.topology.plugins.topo.bsm/pom.xml
    M features/topology-map/plugins/org.opennms.features.topology.plugins.topo.graphml/pom.xml
    M features/topology-map/plugins/org.opennms.features.topology.plugins.topo.history/pom.xml
    M features/topology-map/plugins/org.opennms.features.topology.plugins.topo.linkd/pom.xml
    M features/topology-map/plugins/org.opennms.features.topology.plugins.topo.pathoutage/pom.xml
    M features/topology-map/plugins/org.opennms.features.topology.plugins.topo.vmware/pom.xml
    M features/topology-map/plugins/pom.xml
    M features/topology-map/pom.xml
    M features/topology-map/poms/compiled/pom.xml
    M features/topology-map/poms/pom.xml
    M features/topology-map/poms/wrappers/pom.xml
    M features/topology-map/provision/pom.xml
    M features/topology-map/themes/default-theme/pom.xml
    M features/topology-map/themes/pom.xml
    M features/topology-views/pom.xml
    M features/ui-extension/pom.xml
    M features/usageanalytics/api/pom.xml
    M features/usageanalytics/impl/pom.xml
    M features/usageanalytics/pom.xml
    M features/vaadin-components/core/pom.xml
    M features/vaadin-components/extender-service/pom.xml
    M features/vaadin-components/graph/pom.xml
    M features/vaadin-components/header/pom.xml
    M features/vaadin-components/pom.xml
    M features/vaadin-components/widgetset/pom.xml
    M features/vaadin-jmxconfiggenerator/pom.xml
    M features/vaadin-snmp-events-and-metrics/pom.xml
    M features/vaadin-surveillance-views/pom.xml
    M features/vaadin/pom.xml
    M features/wsman/pom.xml
    M features/zenith-connect/persistence/pom.xml
    M features/zenith-connect/pom.xml
    M features/zenith-connect/rest/pom.xml
    M integration-tests/config/pom.xml
    M integration-tests/pom.xml
    M integration-tests/trend-configuration/pom.xml
    M integrations/opennms-R/pom.xml
    M integrations/opennms-dns-provisioning-adapter/pom.xml
    M integrations/opennms-geoip-provisioning-adapter/pom.xml
    M integrations/opennms-jasper-extensions/pom.xml
    M integrations/opennms-jasperstudio-extension/pom.xml
    M integrations/opennms-puppet-provisioning-adapter/pom.xml
    M integrations/opennms-reverse-dns-provisioning-adapter/pom.xml
    M integrations/opennms-snmp-asset-provisioning-adapter/pom.xml
    M integrations/opennms-snmp-hardware-inventory-provisioning-adapter/pom.xml
    M integrations/opennms-snmp-metadata-provisioning-adapter/pom.xml
    M integrations/opennms-vmware/pom.xml
    M integrations/opennms-vtdxml-collector-handler/pom.xml
    M integrations/opennms-wsman-asset-provisioning-adapter/pom.xml
    M integrations/pom.xml
    M opennms-ackd/pom.xml
    M opennms-alarms/api/pom.xml
    M opennms-alarms/bsf-northbounder/pom.xml
    M opennms-alarms/daemon/pom.xml
    M opennms-alarms/drools-northbounder/pom.xml
    M opennms-alarms/email-northbounder/pom.xml
    M opennms-alarms/http-northbounder/pom.xml
    M opennms-alarms/integration-tests/pom.xml
    M opennms-alarms/jms-northbounder/pom.xml
    M opennms-alarms/pom.xml
    M opennms-alarms/snmptrap-northbounder/pom.xml
    M opennms-alarms/syslog-northbounder/pom.xml
    M opennms-assemblies/minion/pom.xml
    M opennms-assemblies/pom.xml
    M opennms-assemblies/sentinel/pom.xml
    M opennms-assemblies/version/pom.xml
    M opennms-assemblies/webapp-full/pom.xml
    M opennms-assemblies/xsds/pom.xml
    M opennms-asterisk/pom.xml
    M opennms-base-assembly/pom.xml
    M opennms-base-assembly/src/main/filtered/etc/log4j2.xml
    M opennms-bootstrap/pom.xml
    M opennms-config-api/pom.xml
    M opennms-config-dao/common-api/pom.xml
    M opennms-config-dao/common-impl/pom.xml
    M opennms-config-dao/poll-outages/api/pom.xml
    M opennms-config-dao/poll-outages/impl/pom.xml
    M opennms-config-dao/poll-outages/itests/pom.xml
    M opennms-config-dao/poll-outages/pom.xml
    M opennms-config-dao/pom.xml
    M opennms-config-dao/thresholding/api/pom.xml
    M opennms-config-dao/thresholding/impl/pom.xml
    M opennms-config-dao/thresholding/pom.xml
    M opennms-config-jaxb/pom.xml
    M opennms-config-model/pom.xml
    M opennms-config-tester/pom.xml
    M opennms-config/pom.xml
    M opennms-correlation/drools-correlation-engine/pom.xml
    M opennms-correlation/opennms-correlator/pom.xml
    M opennms-correlation/pom.xml
    M opennms-dao-api/pom.xml
    M opennms-dao-mock/pom.xml
    M opennms-dao/pom.xml
    M opennms-enterprise-reporting/opennms-reportd/pom.xml
    M opennms-enterprise-reporting/pom.xml
    M opennms-full-assembly/pom.xml
    M opennms-full-assembly/src/test/java/org/opennms/assemblies/karaf/OnmsKarafTestCase.java
    M opennms-icmp/commands/pom.xml
    M opennms-icmp/opennms-icmp-api/pom.xml
    M opennms-icmp/opennms-icmp-best/pom.xml
    M opennms-icmp/opennms-icmp-jna/pom.xml
    M opennms-icmp/opennms-icmp-jni/pom.xml
    M opennms-icmp/opennms-icmp-jni6/pom.xml
    M opennms-icmp/opennms-icmp-proxy-rpc-impl/pom.xml
    M opennms-icmp/pom.xml
    M opennms-install/pom.xml
    M opennms-javamail/opennms-javamail-api/pom.xml
    M opennms-javamail/pom.xml
    M opennms-jetty/pom.xml
    M opennms-model/pom.xml
    M opennms-provision/opennms-detector-bsf/pom.xml
    M opennms-provision/opennms-detector-datagram/pom.xml
    M opennms-provision/opennms-detector-dhcp/pom.xml
    M opennms-provision/opennms-detector-generic/pom.xml
    M opennms-provision/opennms-detector-jdbc/pom.xml
    M opennms-provision/opennms-detector-jms/pom.xml
    M opennms-provision/opennms-detector-jmx/pom.xml
    M opennms-provision/opennms-detector-lineoriented/pom.xml
    M opennms-provision/opennms-detector-rdns-lookup/pom.xml
    M opennms-provision/opennms-detector-registry/pom.xml
    M opennms-provision/opennms-detector-simple/pom.xml
    M opennms-provision/opennms-detector-ssh/pom.xml
    M opennms-provision/opennms-detector-web/pom.xml
    M opennms-provision/opennms-detectorclient-rpc/pom.xml
    M opennms-provision/opennms-mock-simpleserver/pom.xml
    M opennms-provision/opennms-provision-api/pom.xml
    M opennms-provision/opennms-provision-geolocation/pom.xml
    M opennms-provision/opennms-provision-persistence/pom.xml
    M opennms-provision/opennms-provision-shell/pom.xml
    M opennms-provision/opennms-provisiond/pom.xml
    M opennms-provision/opennms-requisition-dns/pom.xml
    M opennms-provision/opennms-requisition-service/pom.xml
    M opennms-provision/opennms-snmp-scanners/pom.xml
    M opennms-provision/pom.xml
    M opennms-rrd/opennms-rrd-api/pom.xml
    M opennms-rrd/opennms-rrd-model/pom.xml
    M opennms-rrd/opennms-rrd-rrdtool/opennms-rrdtool-api/pom.xml
    M opennms-rrd/opennms-rrd-rrdtool/pom.xml
    M opennms-rrd/opennms-rrd-tcp/pom.xml
    M opennms-rrd/opennms-rrd-util/pom.xml
    M opennms-rrd/pom.xml
    M opennms-services/pom.xml
    M opennms-taglib/pom.xml
    M opennms-util/pom.xml
    M opennms-web-api/pom.xml
    M opennms-web-dependencies/pom.xml
    M opennms-webapp-rest/pom.xml
    M opennms-webapp/pom.xml
    M pom.xml
    M protocols/cifs/pom.xml
    M protocols/nsclient/pom.xml
    M protocols/pom.xml
    M protocols/radius/pom.xml
    M protocols/selenium-monitor/pom.xml
    M protocols/xml/pom.xml
    M smoke-test/pom.xml
    M tests/dao/pom.xml
    M tests/mock-elements/pom.xml
    M tests/mock-snmp-agent/pom.xml
    M tests/pom.xml
    M ui/pom.xml
    M ui/tests/components/Menu/menu-template-test.json

  Log Message:
  -----------
  36.0.2 -> 36.0.3-SNAPSHOT


  Commit: 199c3b5b33836bdacc1600d85156589980cbf3d0
      https://github.com/OpenNMS/opennms/commit/199c3b5b33836bdacc1600d85156589980cbf3d0
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M core/web/src/main/java/org/opennms/core/web/HttpClientWrapper.java
    M core/web/src/main/java/org/opennms/core/web/HttpClientWrapperConfigHelper.java
    A core/web/src/main/java/org/opennms/core/web/SslContextFactory.java
    A core/web/src/test/java/org/opennms/core/web/SslContextFactoryTest.java
    A core/web/src/test/resources/tls/client-truststore.p12
    A core/web/src/test/resources/tls/client.p12
    M docs/modules/reference/pages/performance-data-collection/collectors/prometheus.adoc
    M features/prometheus-collector/src/main/java/org/opennms/netmgt/collectd/prometheus/PrometheusScraper.java
    A features/prometheus-collector/src/test/java/org/opennms/netmgt/collectd/prometheus/PrometheusScraperMutualTlsIT.java
    A features/prometheus-collector/src/test/resources/tls/client-truststore.p12
    A features/prometheus-collector/src/test/resources/tls/client.p12
    A features/prometheus-collector/src/test/resources/tls/server-truststore.p12
    A features/prometheus-collector/src/test/resources/tls/server.p12

  Log Message:
  -----------
  NMS-19974: Add mutual TLS support to the Prometheus collector

New service parameters (key-store, key-store-type, key-store-password,
key-password, trust-store, trust-store-type, trust-store-password,
hostname-verification) allow scraping HTTPS endpoints that use a
private CA and/or require a client certificate.

- HttpClientWrapper: new setSSLContext(scheme, context[, verifyHostname])
  for caller-supplied SSLContexts. Contexts registered through it use
  standard hostname verification, while useRelaxedSSL/trustSelfSigned
  keep the previous allow-all behavior. Also fixes duplicate() never
  copying SSL contexts (it iterated the empty target map).
- SslContextFactory: builds an SSLContext from keystore/truststore
  files (PKCS12 by default, JKS supported).
- HttpClientWrapperConfigHelper.setSSLContextIfConfigured() parses the
  parameters from a service parameter map, so other collectors based
  on HttpClientWrapper can reuse the same parameter names.
- Keystore passwords can reference the secure credentials vault via
  ${scv:alias:key} metadata interpolation.
- Keystore files must exist on the system that performs the collection;
  they are not distributed to Minions.

The mutual TLS integration test uses the JDK's built-in HttpsServer
with needClientAuth because the module's WireMock (1.57) predates
client certificate support. The committed PKCS12 test stores use a
server certificate that is valid only for the hostname localhost so
hostname verification can be tested via 127.0.0.1.


  Commit: 1c51e9929ee9b65b3f7263fa4aae548e3be79a07
      https://github.com/OpenNMS/opennms/commit/1c51e9929ee9b65b3f7263fa4aae548e3be79a07
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M docs/modules/reference/pages/performance-data-collection/collectors/http.adoc
    M docs/modules/reference/pages/performance-data-collection/collectors/xml.adoc
    M features/collection/collectors/src/main/java/org/opennms/netmgt/collectd/HttpCollector.java
    A features/collection/collectors/src/test/java/org/opennms/netmgt/collectd/HttpCollectorMutualTlsIT.java
    A features/collection/collectors/src/test/resources/tls/client-truststore.p12
    A features/collection/collectors/src/test/resources/tls/client.p12
    A features/collection/collectors/src/test/resources/tls/server-truststore.p12
    A features/collection/collectors/src/test/resources/tls/server.p12
    M protocols/xml/src/main/java/org/opennms/protocols/http/HttpUrlConnection.java
    A protocols/xml/src/test/java/org/opennms/protocols/http/HttpUrlConnectionMutualTlsIT.java
    A protocols/xml/src/test/resources/tls/client-truststore.p12
    A protocols/xml/src/test/resources/tls/client.p12
    A protocols/xml/src/test/resources/tls/server-truststore.p12
    A protocols/xml/src/test/resources/tls/server.p12

  Log Message:
  -----------
  NMS-19974: Support mutual TLS in the HTTP and XML/JSON collectors

Wire the TLS service parameters introduced for the Prometheus collector
(key-store, key-store-type, key-store-password, key-password,
trust-store, trust-store-type, trust-store-password,
hostname-verification) into the other HttpClientWrapper-based
collectors:

- HttpCollector reads them from the service parameter map. The
  historical behavior of accepting any server certificate for HTTPS
  URIs is unchanged when the parameters are not set; setting them
  switches to validated TLS with hostname verification.
- HttpUrlConnection, the shared HTTP transport for the XML and JSON
  collectors, reads the same parameter names from the request element
  in the collection configuration. They take precedence over
  disable-ssl-verification when both are set, and support ${scv:...}
  interpolation like the other request attributes.

The integration tests use the JDK's built-in HttpsServer with
needClientAuth and the same PKCS12 test stores as the Prometheus
collector tests. Note that the HttpCollector reports TLS failures via
a FAILED collection status rather than an exception, matching its
per-URI error handling.


  Commit: 14ee20d39b639a581074f8bfec58885ba0f138ce
      https://github.com/OpenNMS/opennms/commit/14ee20d39b639a581074f8bfec58885ba0f138ce
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M core/web/pom.xml
    M core/web/src/main/java/org/opennms/core/web/HttpClientWrapper.java
    M core/web/src/main/java/org/opennms/core/web/HttpClientWrapperConfigHelper.java
    A core/web/src/test/java/org/opennms/core/web/HttpClientWrapperTest.java
    M core/web/src/test/java/org/opennms/core/web/SslContextFactoryTest.java
    A core/web/src/test/resources/tls/client.jks
    M docs/modules/reference/pages/performance-data-collection/collectors/http.adoc
    M docs/modules/reference/pages/performance-data-collection/collectors/prometheus.adoc
    M docs/modules/reference/pages/performance-data-collection/collectors/xml.adoc
    M features/collection/collectors/src/test/java/org/opennms/netmgt/collectd/HttpCollectorMutualTlsIT.java
    M features/prometheus-collector/src/test/java/org/opennms/netmgt/collectd/prometheus/PrometheusScraperMutualTlsIT.java
    M protocols/xml/pom.xml
    M protocols/xml/src/main/java/org/opennms/protocols/http/HttpUrlConnection.java
    M protocols/xml/src/test/java/org/opennms/protocols/http/HttpUrlConnectionMutualTlsIT.java

  Log Message:
  -----------
  NMS-19974: Harden the collector TLS support after adversarial review

- Only follow HTTP redirects to the same host when a client keystore is
  configured, so the client certificate is not presented to arbitrary
  redirect targets (new SameHostRedirectStrategy on HttpClientWrapper,
  applied by setSSLContextIfConfigured when key-store is set).
- Accept only 'true'/'false' for the hostname-verification parameter;
  any other value is ignored with a warning instead of silently
  disabling hostname verification.
- Treat blank key-store/trust-store paths as unset, so an unresolvable
  metadata reference (which interpolates to an empty string) does not
  permanently fail the collection.
- useRelaxedSSL and trustSelfSigned now clear the hostname-verification
  flag for their scheme, so calling them after setSSLContext cannot
  produce a relaxed-trust context with strict hostname verification.
- HttpUrlConnection.connect() assigns the client wrapper only after it
  is fully configured, so a failed TLS configuration cannot leave a
  half-configured client for a subsequent getInputStream() call.
- Exclude the TLS test key material from the published opennms-xml
  test-jar.
- Test hardening: bind the test HTTPS servers to 127.0.0.1 explicitly
  (hosts resolving localhost to ::1 only could satisfy the negative
  tests with a plain connection failure), pin the hostname-mismatch and
  missing-trust-anchor failures to their specific SSL exceptions, and
  add coverage for JKS keystores with a separate key password, the
  HttpClientWrapper.duplicate() fix, and both redirect behaviors.
- HttpClientWrapper.duplicate() also copies the redirect flags, and
  toString() includes the new fields.
- core/web needs jcl-over-slf4j in test scope: DefaultRedirectStrategy
  uses commons-logging, which the pom excludes from httpclient.

Documented the redirect restriction in the Prometheus, HTTP, and
XML/JSON collector pages.


  Commit: 1f3a15d8ce2f57dee5553c59bed7e2d87e25b0fe
      https://github.com/OpenNMS/opennms/commit/1f3a15d8ce2f57dee5553c59bed7e2d87e25b0fe
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M core/web/src/main/java/org/opennms/core/web/HttpClientWrapper.java
    M core/web/src/test/java/org/opennms/core/web/HttpClientWrapperTest.java
    M docs/modules/reference/pages/performance-data-collection/collectors/http.adoc
    M docs/modules/reference/pages/performance-data-collection/collectors/prometheus.adoc
    M docs/modules/reference/pages/performance-data-collection/collectors/xml.adoc

  Log Message:
  -----------
  NMS-19974: Restrict mutual TLS redirects to the same scheme and port

The same-host redirect strategy compared only the hostname, so a
redirect could still move the request to plain HTTP on the same host
(exposing bearer or basic-auth credentials to the network) or to a
different port, where a different service on the same host would
receive the mTLS-authenticated request. Compare the scheme and the
effective port as well, treating an absent port as the scheme default
so that an explicit :443 still matches an implicit https URL, and
letting scheme-relative locations inherit the request scheme.

Addresses the review feedback on PR #8622.


  Commit: 09a8bcd4fbf88242c82fb3dc137b8cb7e5ceebed
      https://github.com/OpenNMS/opennms/commit/09a8bcd4fbf88242c82fb3dc137b8cb7e5ceebed
  Author: Chandra Gorantla <[email protected]>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M container/features/pom.xml
    M container/features/src/main/resources/features-experimental.xml
    M container/features/src/main/resources/features.xml
    M container/features/src/main/resources/spring-legacy.xml
    M container/karaf/src/main/filtered-resources/etc/blacklisted.properties
    M container/karaf/src/main/filtered-resources/etc/custom.properties
    M container/karaf/src/main/filtered-resources/etc/startup.properties
    M container/shared/pom.xml
    M container/shared/src/main/filtered-resources/etc/blacklisted.properties
    M container/shared/src/main/filtered-resources/etc/startup.properties
    M container/spring-extender/pom.xml
    M container/spring-extender/src/main/java/org/opennms/netmgt/shared/bootstrap/Activator.java
    A container/spring-extender/src/main/java/org/opennms/netmgt/shared/bootstrap/NamespaceProviderRegistry.java
    A container/spring-extender/src/main/java/org/opennms/netmgt/shared/bootstrap/OsgiCompatNamespaceHandler.java
    A container/spring-extender/src/main/java/org/opennms/netmgt/shared/bootstrap/OsgiServiceReferenceFactoryBean.java
    A container/spring-extender/src/main/java/org/opennms/netmgt/shared/bootstrap/SpringContextTracker.java
    A container/spring-extender/src/main/resources/META-INF/spring-osgi.xsd
    A container/spring-extender/src/test/java/org/opennms/netmgt/shared/bootstrap/OsgiServiceReferenceFactoryBeanTest.java
    A container/spring-extender/src/test/java/org/opennms/netmgt/shared/bootstrap/SpringContextTrackerTest.java
    M core/camel/pom.xml
    M core/camel/src/main/java/org/opennms/core/camel/CustomHttpClientConfigurer.java
    M core/camel/src/main/java/org/opennms/core/camel/IndexNameFunction.java
    M core/camel/src/main/java/org/opennms/core/camel/XmlFrameDecoderFactory.java
    M core/camel/src/test/java/org/opennms/core/camel/JaxbUtilsUnmarshalProcessorTest.java
    M core/ipc/rpc/camel/pom.xml
    M core/ipc/rpc/camel/src/main/java/org/opennms/core/rpc/camel/CamelRpcClientFactory.java
    M core/ipc/rpc/camel/src/main/java/org/opennms/core/rpc/camel/CamelRpcServerProcessor.java
    M core/ipc/rpc/camel/src/main/java/org/opennms/core/rpc/camel/CamelRpcServerRouteManager.java
    M core/ipc/rpc/camel/src/test/java/org/opennms/core/rpc/camel/EchoRpcIT.java
    M core/ipc/rpc/jms-impl/src/main/resources/META-INF/opennms/applicationContext-rpc-client-jms.xml
    M core/ipc/rpc/jms-impl/src/main/resources/OSGI-INF/blueprint/blueprint-rpc-server.xml
    M core/ipc/rpc/jms-impl/src/test/java/org/opennms/core/rpc/jms/EchoRpcBlueprintIT.java
    M core/ipc/rpc/jms-impl/src/test/java/org/opennms/core/rpc/jms/EchoRpcIT.java
    M core/ipc/rpc/jms-impl/src/test/java/org/opennms/core/rpc/jms/EchoRpcThreadIT.java
    M core/ipc/sink/camel/client/src/main/java/org/opennms/core/ipc/sink/camel/client/CamelRemoteMessageDispatcherFactory.java
    M core/ipc/sink/camel/client/src/main/resources/OSGI-INF/blueprint/blueprint-ipc-client.xml
    M core/ipc/sink/camel/common/pom.xml
    M core/ipc/sink/camel/itests/src/test/java/org/opennms/core/ipc/sink/camel/itests/HeartbeatSinkBlueprintIT.java
    M core/ipc/sink/camel/itests/src/test/java/org/opennms/core/ipc/sink/camel/itests/HeartbeatSinkPerfIT.java
    M core/ipc/sink/camel/itests/src/test/java/org/opennms/core/ipc/sink/camel/itests/SinkBlueprintMessageFailureIT.java
    M core/ipc/sink/camel/server/src/main/java/org/opennms/core/ipc/sink/camel/server/CamelMessageConsumerManager.java
    M core/ipc/sink/camel/server/src/main/resources/META-INF/opennms/applicationContext-ipc-sink-camel-server.xml
    M core/ipc/sink/camel/server/src/main/resources/OSGI-INF/blueprint/blueprint-ipc-server.xml
    M core/ipc/sink/kafka/itests/pom.xml
    M core/ipc/sink/kafka/itests/src/test/java/org/opennms/core/ipc/sink/kafka/itests/KafkaDispatcherBlueprintIT.java
    M core/ipc/twin/jms/itests/src/test/java/org/opennms/core/ipc/twin/jms/JmsTwinIT.java
    M core/ipc/twin/jms/publisher/pom.xml
    M core/ipc/twin/jms/publisher/src/main/java/org/opennms/core/ipc/twin/jms/publisher/JmsTwinPublisher.java
    M core/ipc/twin/jms/publisher/src/main/resources/META-INF/opennms/applicationContext-twin-jms-publisher.xml
    M core/ipc/twin/jms/subscriber/pom.xml
    M core/ipc/twin/jms/subscriber/src/main/java/org/opennms/core/ipc/twin/jms/subscriber/JmsTwinSubscriber.java
    M core/ipc/twin/jms/subscriber/src/main/resources/OSGI-INF/blueprint/blueprint-twin-subscriber.xml
    M core/snmp/proxy-rpc-tests/src/test/java/org/opennms/netmgt/snmp/proxy/common/LocationAwareSnmpClientIT.java
    M core/test-api/alarms/src/main/java/org/opennms/core/test/alarms/driver/AlarmdDriver.java
    M core/test-api/db/src/main/java/org/opennms/core/test/db/TemporaryDatabaseExecutionListener.java
    M core/test-api/db/src/main/resources/META-INF/opennms/applicationContext-testDao.xml
    M core/test-api/karaf/pom.xml
    M core/test-api/lib/src/main/java/org/opennms/core/test/BeanUtilsTestContextInjectionExecutionListener.java
    M core/test-api/lib/src/main/java/org/opennms/test/OpenNMSConfigurationExecutionListener.java
    M core/test-api/rest/src/main/java/org/opennms/core/test/rest/AbstractSpringJerseyRestTestCase.java
    M core/test-api/xml/src/main/java/org/opennms/core/test/xml/XmlTest.java
    M dependencies/camel-test/pom.xml
    M dependencies/camel/pom.xml
    M dependencies/hibernate/pom.xml
    M dependencies/spring-security/pom.xml
    M docs/modules/releasenotes/nav.adoc
    A docs/modules/releasenotes/pages/spring-hibernate-upgrade.adoc
    M docs/modules/releasenotes/pages/whatsnew.adoc
    M features/activemq/broker/pom.xml
    M features/amqp/alarm-northbounder/src/main/resources/OSGI-INF/blueprint/blueprint-alarm-northbounder.xml
    M features/amqp/event-forwarder/src/main/resources/OSGI-INF/blueprint/blueprint-event-forwarder.xml
    M features/amqp/event-receiver/src/main/resources/OSGI-INF/blueprint/blueprint-event-receiver.xml
    M features/bsm/daemon/src/test/java/org/opennms/netmgt/bsm/daemon/BsmdIT.java
    M features/bsm/persistence/api/src/main/java/org/opennms/netmgt/bsm/persistence/api/ApplicationEdgeEntity.java
    M features/bsm/persistence/api/src/main/java/org/opennms/netmgt/bsm/persistence/api/BusinessServiceChildEdgeEntity.java
    M features/bsm/persistence/api/src/main/java/org/opennms/netmgt/bsm/persistence/api/BusinessServiceEdgeEntity.java
    M features/bsm/persistence/api/src/main/java/org/opennms/netmgt/bsm/persistence/api/BusinessServiceEntity.java
    M features/bsm/persistence/api/src/main/java/org/opennms/netmgt/bsm/persistence/api/IPServiceEdgeEntity.java
    M features/bsm/persistence/api/src/main/java/org/opennms/netmgt/bsm/persistence/api/SingleReductionKeyEdgeEntity.java
    M features/bsm/persistence/api/src/main/java/org/opennms/netmgt/bsm/persistence/api/functions/map/AbstractMapFunctionEntity.java
    M features/bsm/persistence/api/src/main/java/org/opennms/netmgt/bsm/persistence/api/functions/reduce/AbstractReductionFunctionEntity.java
    M features/bsm/persistence/impl/src/main/java/org/opennms/netmgt/bsm/persistence/impl/BusinessServiceDaoImpl.java
    M features/bsm/persistence/impl/src/test/java/org/opennms/netmgt/bsm/persistence/IPServiceEdgeDaoIT.java
    M features/bsm/service/impl/src/main/java/org/opennms/netmgt/bsm/service/internal/BusinessServiceManagerImpl.java
    M features/bsm/vaadin-adminpage/pom.xml
    M features/container/sentinel/pom.xml
    M features/container/sentinel/src/main/internal/features-processing.xml
    M features/device-config/monitor-adaptor/src/main/java/org/opennms/features/deviceconfig/monitor/adaptor/DeviceConfigMonitorAdaptor.java
    M features/device-config/monitor-adaptor/src/test/java/org/opennms/features/deviceconfig/monitor/adaptor/DeviceConfigMonitorAdaptorIT.java
    M features/device-config/monitor-adaptor/src/test/java/org/opennms/features/deviceconfig/monitor/adaptor/DeviceConfigMonitorAdaptorTest.java
    M features/device-config/persistence/api/src/main/java/org/opennms/features/deviceconfig/persistence/api/DeviceConfig.java
    M features/device-config/persistence/impl/src/main/java/org/opennms/features/deviceconfig/persistence/impl/DeviceConfigDaoImpl.java
    M features/device-config/persistence/impl/src/test/java/org/opennms/features/deviceconfig/persistence/DeviceConfigDaoIT.java
    M features/device-config/sink/consumer/src/main/java/org/opennms/features/deviceconfig/sink/consumer/DeviceConfigConsumer.java
    M features/device-config/sink/consumer/src/main/resources/OSGI-INF/blueprint/blueprint.xml
    M features/distributed/core/jms/pom.xml
    M features/distributed/dao/distributed/src/test/java/org/opennms/netmgt/dao/BlueprintDistPollerDaoDistributedIT.java
    M features/distributed/dao/impl/pom.xml
    M features/eif-adapter/pom.xml
    M features/eif-adapter/src/main/java/org/opennms/features/eifadapter/EifMessageDecoder.java
    M features/eif-adapter/src/main/resources/OSGI-INF/blueprint/blueprint-eif-adapter.xml
    M features/eif-adapter/src/test/java/org/opennms/features/eifadapter/EifAdapterBlueprintTest.java
    M features/endpoints/grafana/api/src/main/java/org/opennms/netmgt/endpoints/grafana/api/GrafanaEndpoint.java
    M features/endpoints/grafana/persistence/impl/src/main/java/org/opennms/netmgt/endpoints/grafana/persistence/impl/GrafanaEndpointDaoImpl.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/BridgeBridgeLink.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/BridgeDot1dBaseTypeUserType.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/BridgeDot1dStpPortEnableUserType.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/BridgeDot1dStpPortStateUserType.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/BridgeDot1dStpProtocolSpecificationUserType.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/BridgeElement.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/BridgeMacLink.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/BridgeMacLinkTypeUserType.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/BridgeStpLink.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/CdpElement.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/CdpGlobalDeviceIdFormatUserType.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/CdpLink.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/CiscoNetworkProtocolTypeUserType.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/ImportAsExternUserType.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/IpNetToMedia.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/IsIsAdminStateUserType.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/IsIsElement.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/IsIsISAdjNeighSysTypeUserType.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/IsIsISAdjStateUserType.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/IsIsLink.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/LldpChassisIdSubTypeUserType.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/LldpElement.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/LldpLink.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/LldpPortIdSubTypeUserType.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/OspfArea.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/OspfElement.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/OspfLink.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/StatusUserType.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/TruthValueUserType.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/UserDefinedLink.java
    M features/enlinkd/persistence/impl/src/main/java/org/opennms/netmgt/enlinkd/persistence/impl/BridgeBridgeLinkDaoHibernate.java
    M features/enlinkd/persistence/impl/src/main/java/org/opennms/netmgt/enlinkd/persistence/impl/BridgeElementDaoHibernate.java
    M features/enlinkd/persistence/impl/src/main/java/org/opennms/netmgt/enlinkd/persistence/impl/BridgeMacLinkDaoHibernate.java
    M features/enlinkd/persistence/impl/src/main/java/org/opennms/netmgt/enlinkd/persistence/impl/BridgeStpLinkDaoHibernate.java
    M features/enlinkd/persistence/impl/src/main/java/org/opennms/netmgt/enlinkd/persistence/impl/CdpElementDaoHibernate.java
    M features/enlinkd/persistence/impl/src/main/java/org/opennms/netmgt/enlinkd/persistence/impl/CdpLinkDaoHibernate.java
    M features/enlinkd/persistence/impl/src/main/java/org/opennms/netmgt/enlinkd/persistence/impl/IpNetToMediaDaoHibernate.java
    M features/enlinkd/persistence/impl/src/main/java/org/opennms/netmgt/enlinkd/persistence/impl/IsIsElementDaoHibernate.java
    M features/enlinkd/persistence/impl/src/main/java/org/opennms/netmgt/enlinkd/persistence/impl/IsIsLinkDaoHibernate.java
    M features/enlinkd/persistence/impl/src/main/java/org/opennms/netmgt/enlinkd/persistence/impl/LldpElementDaoHibernate.java
    M features/enlinkd/persistence/impl/src/main/java/org/opennms/netmgt/enlinkd/persistence/impl/LldpLinkDaoHibernate.java
    M features/enlinkd/persistence/impl/src/main/java/org/opennms/netmgt/enlinkd/persistence/impl/OspfAreaDaoHibernate.java
    M features/enlinkd/persistence/impl/src/main/java/org/opennms/netmgt/enlinkd/persistence/impl/OspfElementDaoHibernate.java
    M features/enlinkd/persistence/impl/src/main/java/org/opennms/netmgt/enlinkd/persistence/impl/OspfLinkDaoHibernate.java
    M features/enlinkd/persistence/impl/src/main/java/org/opennms/netmgt/enlinkd/persistence/impl/TopologyEntityDaoHibernate.java
    M features/enlinkd/persistence/impl/src/main/java/org/opennms/netmgt/enlinkd/persistence/impl/UserDefinedLinkDaoHibernate.java
    M features/enlinkd/service/impl/src/main/java/org/opennms/netmgt/enlinkd/service/impl/BridgeTopologyServiceImpl.java
    M features/enlinkd/service/impl/src/main/java/org/opennms/netmgt/enlinkd/service/impl/CdpTopologyServiceImpl.java
    M features/enlinkd/service/impl/src/main/java/org/opennms/netmgt/enlinkd/service/impl/IpNetToMediaTopologyServiceImpl.java
    M features/enlinkd/service/impl/src/main/java/org/opennms/netmgt/enlinkd/service/impl/IsisTopologyServiceImpl.java
    M features/enlinkd/service/impl/src/main/java/org/opennms/netmgt/enlinkd/service/impl/LldpTopologyServiceImpl.java
    M features/enlinkd/service/impl/src/main/java/org/opennms/netmgt/enlinkd/service/impl/OspfTopologyServiceImpl.java
    M features/enlinkd/service/impl/src/main/java/org/opennms/netmgt/enlinkd/service/impl/UserDefinedLinkTopologyServiceImpl.java
    M features/enlinkd/tests/src/test/java/org/opennms/netmgt/enlinkd/EnLinkdBuilderITCase.java
    M features/enlinkd/tests/src/test/java/org/opennms/netmgt/enlinkd/EnLinkdIT.java
    M features/enlinkd/tests/src/test/java/org/opennms/netmgt/enlinkd/Nms0000EnIT.java
    M features/enlinkd/tests/src/test/java/org/opennms/netmgt/enlinkd/Nms0001EnIT.java
    M features/enlinkd/tests/src/test/java/org/opennms/netmgt/enlinkd/Nms0002EnIT.java
    M features/enlinkd/tests/src/test/java/org/opennms/netmgt/enlinkd/Nms0123EnIT.java
    M features/enlinkd/tests/src/test/java/org/opennms/netmgt/enlinkd/Nms10205bEnIT.java
    M features/enlinkd/tests/src/test/java/org/opennms/netmgt/enlinkd/Nms13593EnIT.java
    M features/enlinkd/tests/src/test/java/org/opennms/netmgt/enlinkd/Nms13637EnIT.java
    M features/enlinkd/tests/src/test/java/org/opennms/netmgt/enlinkd/Nms13923EnIT.java
    M features/enlinkd/tests/src/test/java/org/opennms/netmgt/enlinkd/Nms17216EnIT.java
    M features/enlinkd/tests/src/test/java/org/opennms/netmgt/enlinkd/Nms18541EnIT.java
    M features/enlinkd/tests/src/test/java/org/opennms/netmgt/enlinkd/Nms4930EnIT.java
    M features/enlinkd/tests/src/test/java/org/opennms/netmgt/enlinkd/Nms6802EnIT.java
    M features/enlinkd/tests/src/test/java/org/opennms/netmgt/enlinkd/Nms7467EnIT.java
    M features/enlinkd/tests/src/test/java/org/opennms/netmgt/enlinkd/Nms7563EnIT.java
    M features/enlinkd/tests/src/test/java/org/opennms/netmgt/enlinkd/Nms7777DWEnIT.java
    M features/enlinkd/tests/src/test/java/org/opennms/netmgt/enlinkd/Nms7918EnIT.java
    M features/enlinkd/tests/src/test/java/org/opennms/netmgt/enlinkd/Nms8000EnIT.java
    M features/enlinkd/tests/src/test/java/org/opennms/netmgt/enlinkd/NodeTopologyServiceIT.java
    M features/enlinkd/tests/src/test/resources/META-INF/opennms/applicationContext-enhancedLinkdTest.xml
    M features/events/api/pom.xml
    M features/events/daemon/pom.xml
    M features/events/daemon/src/test/java/org/opennms/netmgt/eventd/EventdIT.java
    M features/events/daemon/src/test/java/org/opennms/netmgt/eventd/nms16978/EventUtilHibernateIT.java
    M features/events/daemon/src/test/java/org/opennms/netmgt/eventd/nms16978/EventdIT.java
    M features/events/daemon/src/test/java/org/opennms/netmgt/eventd/nms16978/HibernateEventWriterIT.java
    M features/events/syslog/blueprint-syslog-listener-camel-netty.xml
    M features/events/syslog/pom.xml
    M features/events/syslog/src/main/java/org/opennms/netmgt/syslogd/SyslogReceiverCamelNettyImpl.java
    M features/events/syslog/src/test/java/org/opennms/netmgt/syslogd/SyslogdReceiverCamelNettyBlueprintIT.java
    M features/events/syslog/src/test/java/org/opennms/netmgt/syslogd/SyslogdReceiverJavaNetBlueprintIT.java
    M features/events/traps/src/test/java/org/opennms/netmgt/trapd/TrapHandlerITCase.java
    M features/events/traps/src/test/java/org/opennms/netmgt/trapd/TrapdSinkPatternWiringIT.java
    M features/flows/classification/persistence/api/src/main/java/org/opennms/netmgt/flows/classification/persistence/api/Group.java
    M features/flows/classification/persistence/api/src/main/java/org/opennms/netmgt/flows/classification/persistence/api/Rule.java
    M features/flows/classification/persistence/impl/src/main/java/org/opennms/netmgt/flows/classification/persistence/impl/ClassificationGroupDaoImpl.java
    M features/flows/classification/persistence/impl/src/test/java/org/opennms/netmgt/flows/classification/persistence/impl/ClassificationGroupDaoIT.java
    M features/flows/itests/src/test/java/org/opennms/netmgt/flows/elastic/NodeIdentificationIT.java
    M features/geolocation/service/src/test/java/org/opennms/features/geolocation/services/DefaultGeolocationServiceIT.java
    M features/graph/dao/api/src/main/java/org/opennms/netmgt/graph/AbstractGraphEntity.java
    M features/graph/dao/api/src/main/java/org/opennms/netmgt/graph/FocusEntity.java
    M features/graph/dao/api/src/main/java/org/opennms/netmgt/graph/PropertyEntity.java
    M features/graph/dao/impl/src/main/java/org/opennms/netmgt/graph/dao/hibernate/GraphContainerDaoImpl.java
    M features/graph/service/src/main/java/org/opennms/netmgt/graph/persistence/DefaultGraphRepository.java
    M features/graph/service/src/test/java/org/opennms/netmgt/graph/search/NodeSearchProviderIT.java
    M features/measurements/rest/src/test/java/org/opennms/web/rest/v1/MeasurementRestServiceIT.java
    M features/minion/heartbeat/consumer/src/main/java/org/opennms/minion/heartbeat/consumer/HeartbeatConsumer.java
    M features/minion/heartbeat/consumer/src/test/java/org/opennms/minion/heartbeat/consumer/HeartbeatConsumerIT.java
    M features/minion/repository/src/main/resources/features.boot
    M features/newts/src/main/java/org/opennms/netmgt/newts/support/CassandraPoolConfiguration.java
    M features/newts/src/main/resources/META-INF/opennms/applicationContext-timeseries-newts.xml
    M features/perspectivepoller/src/main/java/org/opennms/netmgt/perspectivepoller/PerspectivePollerd.java
    M features/perspectivepoller/src/test/java/org/opennms/netmgt/perspectivepoller/PerspectivePollerdIT.java
    M features/poller/api/pom.xml
    M features/poller/monitors/core/src/test/java/org/opennms/netmgt/poller/monitors/PageSequenceMonitorIT.java
    M features/poller/monitors/core/src/test/resources/loginTestWar/WEB-INF/applicationContext-security.xml
    M features/reporting/core/src/main/java/org/opennms/reporting/core/svclayer/support/DefaultReportStoreService.java
    M features/reporting/core/src/main/resources/META-INF/opennms/applicationContext-reportingCore.xml
    M features/search/providers/src/test/java/org/opennms/netmgt/search/providers/node/NodeAssetSearchProviderIT.java
    M features/springframework-security/src/main/java/org/opennms/web/springframework/security/UpperCaseMd5PasswordEncoder.java
    M features/springframework-security/src/main/java/org/opennms/web/springframework/security/XRequestedWithAwareBasicAuthEntryPoint.java
    M features/springframework-security/src/main/java/org/opennms/web/springframework/security/XRequestedWithAwareLoginUrlAuthEntryPoint.java
    M features/springframework-security/src/test/java/org/opennms/web/springframework/security/UpperCaseMd5PasswordEncoderTest.java
    M features/status/api/src/test/java/org/opennms/features/status/api/node/strategy/DefaultNodeStatusCalculatorIT.java
    M features/system-report/src/main/java/org/opennms/systemreport/dao/EventCountDaoHibernate.java
    M features/telemetry/itests/src/test/java/org/opennms/netmgt/telemetry/itests/BmpAdapterIT.java
    M features/telemetry/itests/src/test/java/org/opennms/netmgt/telemetry/itests/JtiIT.java
    M features/telemetry/itests/src/test/java/org/opennms/netmgt/telemetry/itests/ThresholdingIT.java
    M features/telemetry/protocols/bmp/persistence/api/src/main/java/org/opennms/netmgt/telemetry/protocols/bmp/persistence/api/BmpAsnInfo.java
    M features/telemetry/protocols/bmp/persistence/api/src/main/java/org/opennms/netmgt/telemetry/protocols/bmp/persistence/api/BmpAsnPathAnalysis.java
    M features/telemetry/protocols/bmp/persistence/api/src/main/java/org/opennms/netmgt/telemetry/protocols/bmp/persistence/api/BmpBaseAttribute.java
    M features/telemetry/protocols/bmp/persistence/api/src/main/java/org/opennms/netmgt/telemetry/protocols/bmp/persistence/api/BmpCollector.java
    M features/telemetry/protocols/bmp/persistence/api/src/main/java/org/opennms/netmgt/telemetry/protocols/bmp/persistence/api/BmpGlobalIpRib.java
    M features/telemetry/protocols/bmp/persistence/api/src/main/java/org/opennms/netmgt/telemetry/protocols/bmp/persistence/api/BmpIpRibLog.java
    M features/telemetry/protocols/bmp/persistence/api/src/main/java/org/opennms/netmgt/telemetry/protocols/bmp/persistence/api/BmpPeer.java
    M features/telemetry/protocols/bmp/persistence/api/src/main/java/org/opennms/netmgt/telemetry/protocols/bmp/persistence/api/BmpRouteInfo.java
    M features/telemetry/protocols/bmp/persistence/api/src/main/java/org/opennms/netmgt/telemetry/protocols/bmp/persistence/api/BmpRouter.java
    M features/telemetry/protocols/bmp/persistence/api/src/main/java/org/opennms/netmgt/telemetry/protocols/bmp/persistence/api/BmpRpkiInfo.java
    M features/telemetry/protocols/bmp/persistence/api/src/main/java/org/opennms/netmgt/telemetry/protocols/bmp/persistence/api/BmpStatsByAsn.java
    M features/telemetry/protocols/bmp/persistence/api/src/main/java/org/opennms/netmgt/telemetry/protocols/bmp/persistence/api/BmpStatsByPeer.java
    M features/telemetry/protocols/bmp/persistence/api/src/main/java/org/opennms/netmgt/telemetry/protocols/bmp/persistence/api/BmpStatsByPrefix.java
    M features/telemetry/protocols/bmp/persistence/api/src/main/java/org/opennms/netmgt/telemetry/protocols/bmp/persistence/api/BmpStatsIpOrigins.java
    M features/telemetry/protocols/bmp/persistence/api/src/main/java/org/opennms/netmgt/telemetry/protocols/bmp/persistence/api/BmpStatsPeerRib.java
    M features/telemetry/protocols/bmp/persistence/api/src/main/java/org/opennms/netmgt/telemetry/protocols/bmp/persistence/api/BmpUnicastPrefix.java
    M features/telemetry/protocols/bmp/persistence/impl/src/main/java/org/opennms/netmgt/telemetry/protocols/bmp/persistence/impl/BmpGlobalIpRibDaoImpl.java
    M features/telemetry/protocols/bmp/persistence/impl/src/test/java/org/opennms/netmgt/telemetry/protocols/bmp/persistence/impl/BmpDaoIT.java
    M features/telemetry/protocols/bmp/stats/src/main/java/org/opennms/netmgt/telemetry/protocols/bmp/adapter/stats/BmpStatsAggregator.java
    M features/telemetry/protocols/bmp/stats/src/main/java/org/opennms/netmgt/telemetry/protocols/bmp/adapter/stats/RpkiValidatorClient.java
    M features/telemetry/protocols/bmp/stats/src/main/resources/OSGI-INF/blueprint/blueprint.xml
    M features/telemetry/protocols/openconfig/itests/src/test/java/org/opennms/features/telemetry/protocols/openconfig/OpenConfigIT.java
    M features/ticketing/daemon/src/test/java/org/opennms/netmgt/ticketd/DefaultTicketerServiceLayerIT.java
    M features/timeseries/src/test/java/org/opennms/netmgt/timeseries/samplewrite/TimeseriesRoundtripIT.java
    M features/topology-map/org.opennms.features.topology.app/pom.xml
    M features/topology-map/org.opennms.features.topology.persistence/org.opennms.features.topology.persistence.api/src/main/java/org/opennms/netmgt/topology/persistence/api/VertexPositionEntity.java
    M features/topology-map/plugins/org.opennms.features.topology.plugins.topo.asset/src/test/java/org/opennms/features/topology/plugins/topo/asset/PersistenceNodeProviderIT.java
    M features/topology-map/plugins/org.opennms.features.topology.plugins.topo.linkd/src/test/resources/META-INF/opennms/applicationContext-LinkdTopologyProviderTestIT.xml
    M features/vaadin-components/widgetset/pom.xml
    M features/vaadin-jmxconfiggenerator/pom.xml
    M features/vaadin-snmp-events-and-metrics/pom.xml
    M features/vaadin-surveillance-views/pom.xml
    M features/wsman/src/main/java/org/opennms/netmgt/provision/detector/wsman/WsManDetectorFactory.java
    M integrations/opennms-reverse-dns-provisioning-adapter/src/main/java/org/opennms/netmgt/provision/DefaultReverseDnsProvisioningAdapterService.java
    A integrations/opennms-reverse-dns-provisioning-adapter/src/test/java/org/opennms/netmgt/provision/DefaultReverseDnsProvisioningAdapterServiceTest.java
    M integrations/opennms-snmp-hardware-inventory-provisioning-adapter/src/main/java/org/opennms/netmgt/provision/SnmpHardwareInventoryProvisioningAdapter.java
    M integrations/opennms-snmp-hardware-inventory-provisioning-adapter/src/test/java/org/opennms/netmgt/provision/AbstractSingleHardwareAdapterTest.java
    M integrations/opennms-snmp-hardware-inventory-provisioning-adapter/src/test/java/org/opennms/netmgt/provision/HwEntityAliasIT.java
    M integrations/opennms-snmp-hardware-inventory-provisioning-adapter/src/test/java/org/opennms/netmgt/provision/SnmpHardwareInventoryProvisioningAdapterIT.java
    M integrations/opennms-wsman-asset-provisioning-adapter/src/test/java/org/opennms/netmgt/provision/WsManAssetProvisioningAdapterIT.java
    M opennms-alarms/daemon/src/test/java/org/opennms/netmgt/alarmd/AlarmLifecycleListenerManagerIT.java
    M opennms-alarms/daemon/src/test/java/org/opennms/netmgt/alarmd/AlarmPersisterExtensionIT.java
    M opennms-alarms/daemon/src/test/java/org/opennms/netmgt/alarmd/AlarmdIT.java
    M opennms-alarms/daemon/src/test/java/org/opennms/netmgt/alarmd/drools/DroolsAlarmContextIT.java
    M opennms-alarms/daemon/src/test/java/org/opennms/netmgt/alarmd/examples/DroolsExampleIT.java
    M opennms-config/src/main/java/org/opennms/netmgt/filter/JdbcFilterDao.java
    M opennms-dao/pom.xml
    M opennms-dao/src/main/java/org/opennms/netmgt/dao/hibernate/AbstractDaoHibernate.java
    M opennms-dao/src/main/java/org/opennms/netmgt/dao/hibernate/AcknowledgmentDaoHibernate.java
    M opennms-dao/src/main/java/org/opennms/netmgt/dao/hibernate/AlarmAssociationDaoHibernate.java
    M opennms-dao/src/main/java/org/opennms/netmgt/dao/hibernate/AlarmDaoHibernate.java
    M opennms-dao/src/main/java/org/opennms/netmgt/dao/hibernate/ApplicationDaoHibernate.java
    M opennms-dao/src/main/java/org/opennms/netmgt/dao/hibernate/AssetRecordDaoHibernate.java
    M opennms-dao/src/main/java/org/opennms/netmgt/dao/hibernate/CategoryDaoHibernate.java
    M opennms-dao/src/main/java/org/opennms/netmgt/dao/hibernate/DefaultSessionUtils.java
    M opennms-dao/src/main/java/org/opennms/netmgt/dao/hibernate/EventConfEventDaoHibernate.java
    M opennms-dao/src/main/java/org/opennms/netmgt/dao/hibernate/EventConfSourceDaoHibernate.java
    M opennms-dao/src/main/java/org/opennms/netmgt/dao/hibernate/EventDaoHibernate.java
    M opennms-dao/src/main/java/org/opennms/netmgt/dao/hibernate/FilterFavoriteDaoHibernate.java
    M opennms-dao/src/main/java/org/opennms/netmgt/dao/hibernate/GenericHibernateAccessor.java
    M opennms-dao/src/main/java/org/opennms/netmgt/dao/hibernate/HibernateCriteriaConverter.java
    M opennms-dao/src/main/java/org/opennms/netmgt/dao/hibernate/HibernateFilterManager.java
    M opennms-dao/src/main/java/org/opennms/netmgt/dao/hibernate/HibernateUtils.java
    M opennms-dao/src/main/java/org/opennms/netmgt/dao/hibernate/HwEntityAttributeTypeDaoHibernate.java
    M opennms-dao/src/main/java/org/opennms/netmgt/dao/hibernate/HwEntityDaoHibernate.java
    M opennms-dao/src/main/java/org/opennms/netmgt/dao/hibernate/IpInterfaceDaoHibernate.java
    M opennms-dao/src/main/java/org/opennms/netmgt/dao/hibernate/MinionDaoHibernate.java
    M opennms-dao/src/main/java/org/opennms/netmgt/dao/hibernate/MonitoredServiceDaoHibernate.java
    M opennms-dao/src/main/java/org/opennms/netmgt/dao/hibernate/NodeDaoHibernate.java
    M opennms-dao/src/main/java/org/opennms/netmgt/dao/hibernate/OutageDaoHibernate.java
    M opennms-dao/src/main/java/org/opennms/netmgt/dao/hibernate/PathOutageDaoHibernate.java
    M opennms-dao/src/main/java/org/opennms/netmgt/dao/hibernate/RequisitionedCategoryAssociationDaoHibernate.java
    M opennms-dao/src/main/java/org/opennms/netmgt/dao/hibernate/ResourceReferenceDaoHibernate.java
    M opennms-dao/src/main/java/org/opennms/netmgt/dao/hibernate/ServiceTypeDaoHibernate.java
    M opennms-dao/src/main/java/org/opennms/netmgt/dao/hibernate/SnmpCollectionMibGroupDaoHibernate.java
    M opennms-dao/src/main/java/org/opennms/netmgt/dao/hibernate/SnmpCollectionProfileDaoHibernate.java
    M opennms-dao/src/main/java/org/opennms/netmgt/dao/hibernate/SnmpCollectionResourceTypeDaoHibernate.java
    M opennms-dao/src/main/java/org/opennms/netmgt/dao/hibernate/SnmpCollectionSourceDaoHibernate.java
    M opennms-dao/src/main/java/org/opennms/netmgt/dao/hibernate/SnmpCollectionSystemDefDaoHibernate.java
    M opennms-dao/src/main/java/org/opennms/netmgt/dao/hibernate/SnmpInterfaceDaoHibernate.java
    M opennms-dao/src/main/resources/META-INF/opennms/applicationContext-shared.xml
    M opennms-dao/src/test/java/org/opennms/netmgt/config/NotificationManagerIT.java
    A opennms-dao/src/test/java/org/opennms/netmgt/dao/ApplicationDaoIT.java
    M opennms-dao/src/test/java/org/opennms/netmgt/dao/AuthorizationIT.java
    M opennms-dao/src/test/java/org/opennms/netmgt/dao/EventConfSourceDaoIT.java
    A opennms-dao/src/test/java/org/opennms/netmgt/dao/GenericPersistenceAccessorIT.java
    M opennms-dao/src/test/java/org/opennms/netmgt/dao/MinionDaoIT.java
    M opennms-dao/src/test/java/org/opennms/netmgt/dao/NodeDaoIT.java
    M opennms-dao/src/test/java/org/opennms/netmgt/dao/OutageDaoIT.java
    M opennms-dao/src/test/java/org/opennms/netmgt/dao/SnmpCollectionSourceDaoIT.java
    M opennms-dao/src/test/java/org/opennms/netmgt/dao/hibernate/AnnotationIT.java
    M opennms-dao/src/test/java/org/opennms/netmgt/dao/hibernate/IpInterfaceDaoHibernateIT.java
    M opennms-dao/src/test/java/org/opennms/netmgt/dao/support/JdbcFilterDaoIT.java
    M opennms-dao/src/test/java/org/opennms/netmgt/dao/support/SnmpDataCollectionSyncToDbIT.java
    M opennms-enterprise-reporting/opennms-reportd/src/main/java/org/opennms/netmgt/reporting/service/DefaultReportService.java
    M opennms-full-assembly/pom.xml
    M opennms-icmp/opennms-icmp-proxy-rpc-impl/src/test/java/org/opennms/netmgt/icmp/proxy/LocationAwarePingClientIT.java
    M opennms-icmp/opennms-icmp-proxy-rpc-impl/src/test/java/org/opennms/netmgt/icmp/proxy/LocationAwarePingSweepClientIT.java
    M opennms-install/src/test/java/org/opennms/install/InstallerTest.java
    M opennms-jetty/src/main/resources/beanRefContext.xml
    M opennms-model/src/main/java/org/opennms/netmgt/model/AlarmAssociation.java
    M opennms-model/src/main/java/org/opennms/netmgt/model/CharacterUserType.java
    M opennms-model/src/main/java/org/opennms/netmgt/model/HwEntityAttributeType.java
    M opennms-model/src/main/java/org/opennms/netmgt/model/InetAddressUserType.java
    M opennms-model/src/main/java/org/opennms/netmgt/model/NodeLabelSourceUserType.java
    M opennms-model/src/main/java/org/opennms/netmgt/model/NodeTypeUserType.java
    M opennms-model/src/main/java/org/opennms/netmgt/model/OnmsAcknowledgment.java
    M opennms-model/src/main/java/org/opennms/netmgt/model/OnmsAlarm.java
    M opennms-model/src/main/java/org/opennms/netmgt/model/OnmsApplication.java
    M opennms-model/src/main/java/org/opennms/netmgt/model/OnmsAssetRecord.java
    M opennms-model/src/main/java/org/opennms/netmgt/model/OnmsCategory.java
    M opennms-model/src/main/java/org/opennms/netmgt/model/OnmsCriteria.java
    M opennms-model/src/main/java/org/opennms/netmgt/model/OnmsEvent.java
    M opennms-model/src/main/java/org/opennms/netmgt/model/OnmsFilterFavorite.java
    M opennms-model/src/main/java/org/opennms/netmgt/model/OnmsHwEntity.java
    M opennms-model/src/main/java/org/opennms/netmgt/model/OnmsHwEntityAlias.java
    M opennms-model/src/main/java/org/opennms/netmgt/model/OnmsHwEntityAttribute.java
    M opennms-model/src/main/java/org/opennms/netmgt/model/OnmsIpInterface.java
    M opennms-model/src/main/java/org/opennms/netmgt/model/OnmsMemo.java
    M opennms-model/src/main/java/org/opennms/netmgt/model/OnmsMonitoredService.java
    M opennms-model/src/main/java/org/opennms/netmgt/model/OnmsNode.java
    M opennms-model/src/main/java/org/opennms/netmgt/model/OnmsNotification.java
    M opennms-model/src/main/java/org/opennms/netmgt/model/OnmsOutage.java
    M opennms-model/src/main/java/org/opennms/netmgt/model/OnmsServiceType.java
    M opennms-model/src/main/java/org/opennms/netmgt/model/OnmsSeverityUserType.java
    M opennms-model/src/main/java/org/opennms/netmgt/model/OnmsSnmpInterface.java
    M opennms-model/src/main/java/org/opennms/netmgt/model/OnmsUserNotification.java
    M opennms-model/src/main/java/org/opennms/netmgt/model/PrimaryTypeUserType.java
    M opennms-model/src/main/java/org/opennms/netmgt/model/ReportCatalogEntry.java
    M opennms-model/src/main/java/org/opennms/netmgt/model/RequisitionedCategoryAssociation.java
    M opennms-model/src/main/java/org/opennms/netmgt/model/ResourceReference.java
    M opennms-model/src/main/java/org/opennms/netmgt/model/StatisticsReport.java
    M opennms-model/src/main/java/org/opennms/netmgt/model/StatisticsReportData.java
    M opennms-model/src/test/java/org/opennms/netmgt/model/InetAddressUserTypeTest.java
    M opennms-model/src/test/java/org/opennms/netmgt/model/OnmsEventTest.java
    M opennms-provision/opennms-detectorclient-rpc/src/test/java/org/opennms/netmgt/provision/detector/client/rpc/LocationAwareDetectorClientIT.java
    M opennms-provision/opennms-provision-geolocation/src/test/java/org/opennms/netmgt/provision/GeolocationProvisioningAdapterIT.java
    M opennms-provision/opennms-provisiond/src/main/java/org/opennms/netmgt/provision/service/DefaultPluginRegistry.java
    M opennms-rrd/opennms-rrd-api/pom.xml
    M opennms-services/src/main/java/org/opennms/netmgt/poller/QueryManagerDaoImpl.java
    M opennms-services/src/main/java/org/opennms/netmgt/snmpinterfacepoller/DefaultPollContext.java
    M opennms-services/src/test/java/org/opennms/netmgt/collectd/HttpCollectorIT.java
    M opennms-services/src/test/java/org/opennms/netmgt/poller/PollContextIT.java
    M opennms-services/src/test/java/org/opennms/netmgt/poller/PollerIT.java
    M opennms-services/src/test/java/org/opennms/netmgt/poller/PollerRpcTimeoutIT.java
    M opennms-services/src/test/java/org/opennms/netmgt/rtc/AvailabilityServiceIT.java
    M opennms-services/src/test/java/org/opennms/netmgt/snmpinterfacepoller/pollable/PollContextIT.java
    M opennms-services/src/test/resources/META-INF/opennms/applicationContext-snmpPollerTest.xml
    M opennms-services/src/test/resources/META-INF/opennms/applicationContext-test-sessionFactory.xml
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/AbstractDaoRestServiceWithDTO.java
    M opennms-webapp-rest/src/main/webapp/WEB-INF/web.xml
    M opennms-webapp-rest/src/test/java/org/opennms/web/rest/v1/AlarmRestServiceIT.java
    M opennms-webapp-rest/src/test/java/org/opennms/web/rest/v1/MinionRestServiceIT.java
    M opennms-webapp-rest/src/test/java/org/opennms/web/rest/v1/TimelineRestServiceIT.java
    M opennms-webapp-rest/src/test/java/org/opennms/web/rest/v2/MetadataRestIT.java
    M opennms-webapp-rest/src/test/java/org/opennms/web/rest/v2/MinionRestServiceIT.java
    M opennms-webapp-rest/src/test/java/org/opennms/web/rest/v2/NodeRestServiceIT.java
    M opennms-webapp-rest/src/test/resources/dispatcher-servlet.xml
    M opennms-webapp/pom.xml
    A opennms-webapp/src/main/java/org/opennms/web/controller/OnmsMultiActionController.java
    M opennms-webapp/src/main/java/org/opennms/web/controller/alarm/AlarmDetailController.java
    M opennms-webapp/src/main/java/org/opennms/web/controller/alarm/AlarmFilterController.java
    M opennms-webapp/src/main/java/org/opennms/web/controller/alarm/AlarmTicketController.java
    M opennms-webapp/src/main/java/org/opennms/web/controller/event/EventController.java
    M opennms-webapp/src/main/java/org/opennms/web/controller/statisticsReports/ReportController.java
    M opennms-webapp/src/main/java/org/opennms/web/outage/DaoWebOutageRepository.java
    M opennms-webapp/src/main/java/org/opennms/web/services/FilterFavoriteService.java
    M opennms-webapp/src/main/resources/org/opennms/web/svclayer/applicationContext-svclayer.xml
    M opennms-webapp/src/main/webapp/WEB-INF/applicationContext-spring-security.xml
    M opennms-webapp/src/main/webapp/WEB-INF/dispatcher-servlet.xml
    M opennms-webapp/src/main/webapp/WEB-INF/spring-security.d/activeDirectory.xml.disabled
    M opennms-webapp/src/main/webapp/WEB-INF/spring-security.d/attribute-preauth.xml
    M opennms-webapp/src/main/webapp/WEB-INF/spring-security.d/header-preauth.xml
    M opennms-webapp/src/main/webapp/WEB-INF/spring-security.d/ldap.xml.disabled
    M opennms-webapp/src/main/webapp/WEB-INF/spring-security.d/radius.xml.disabled
    M opennms-webapp/src/main/webapp/WEB-INF/spring-security.d/sso_activeDirectory_kerb_ldap.xml.disabled
    M opennms-webapp/src/main/webapp/WEB-INF/spring-security.d/sso_freeIPA_kerb_ldap.xml.disabled
    M opennms-webapp/src/main/webapp/WEB-INF/web.xml
    A opennms-webapp/src/test/java/org/opennms/web/controller/OnmsMultiActionControllerTest.java
    M opennms-webapp/src/test/java/org/opennms/web/services/FilterFavoriteServiceIT.java
    M opennms-webapp/src/test/resources/applicationContext-ldapTest.xml
    M pom.xml
    M protocols/selenium-monitor/pom.xml
    M smoke-test/src/main/java/org/opennms/smoketest/containers/MinionContainer.java
    M smoke-test/src/main/java/org/opennms/smoketest/containers/OpenNMSContainer.java
    M smoke-test/src/main/java/org/opennms/smoketest/containers/SentinelContainer.java
    M smoke-test/src/main/java/org/opennms/smoketest/stacks/NetworkProtocol.java
    M smoke-test/src/main/java/org/opennms/smoketest/utils/HibernateDaoFactory.java
    M smoke-test/src/main/java/org/opennms/smoketest/utils/RestHealthClient.java
    A smoke-test/src/test/java/org/opennms/smoketest/JettyHttpsIT.java
    A smoke-test/src/test/java/org/opennms/smoketest/NginxHttpsProxyIT.java
    A smoke-test/src/test/java/org/opennms/smoketest/utils/SelfSignedTlsHelper.java
    A smoke-test/src/test/resources/https-server/https.properties
    A smoke-test/src/test/resources/https-server/jetty.xml
    A smoke-test/src/test/resources/https-server/nginx.conf

  Log Message:
  -----------
  NMS-18185 : Upgrade Spring and Hibernate to 5.x (#8590)

* NMS-15863: Migrate persistence layer to Hibernate 5.6 and Spring 4.3 (#8548)

* NMS-15863: Update dependencies and config for Hibernate 5 / Spring 4.3

* NMS-15863: Migrate persistence layer to Hibernate 5 / Spring 4.3

* NMS-15863: Fix tests for Hibernate 5 / Spring 4.3 migration

* NMS-15863: few more fixes

* NMS-15863: Add Transactional wherever missing

Also fix several tests

* NMS-15863: More fixes to upgrade to Hibernate 5

* NMS-15863: Some more fixes in tests

* NMS-15863: Fix for some of the smoke tests

* NMS-15863: Fix more issues related to Hibernate5 needing explicit commit

* NMS-15863: More hibernate 5 related fixes

* NMS-15863: Some more cleanup

* NMS-15863: Don't rethrow for exceptions

* NMS-19858: Upgrade Spring to 5.3, Spring Security to 5.8, and Camel to 3.x (#8571)

* NMS-19858: Upgrade Spring to 5.3 and Spring Security to 5.8

* NMS-19858: Replace Gemini Blueprint with a Spring 5.3 extender

* NMS-19858: Fix test execution listeners for Spring 5 getTestMethod behavior

* NMS-19858: Fix cassandraSession wiring for Spring 5 null bean handling

* NMS-19858: Fix tests for Spring5 behavior changes

* NMS-19858: Raise blueprint dependency timeout for slower sentinel boot

* NMS-19871: Upgrade camel to 3.x

* NMS-19858: More updates to fix camel upgrade issues

* NMS-19858: Add smoke test for Jetty/Nginx HTTPS validation

* NMS-19858: Fix few more review comments

* NMS-19858: Remove camel-activemq bundle

* NMS-19858: Fix test

* NMS-18185: Add few tests for spring extender

* NMS-18185: Prevent recursion stack overflow errors

* NMS-18185: Remove opennms.home setting

* NMS-18185: shutdown fail-fast via ContextClosedEvent

Also fix  context-creation retry with backoff

* NMS-18185: Spring 5.3 spring-jms feature ships the JMS 2.0 API (javax.jms-api 2.0.1) instead of the 1.1 spec

* NMS-18185: binder.closeNoCatch() restores request rejection on bind error

* force rebuild

* NMS-18185: Add @Transactional on some of the missing workflows

* NMS-18185: UpperCaseMd5PasswordEncoder implements PasswordEncoder

Also removed stale OpenID exports

* NMS-18185: Add doc for spring/hibernate upgrade

* Revert "force rebuild"

This reverts commit 9f39ec170226b7b72ef295379b07d09c33c56e15.

* NMS-18185: Address review comments

Update spring related features, custom properties etc, mostly cleanup


  Commit: b67b3c0095697fe0c5117bd900d756721988c8a4
      https://github.com/OpenNMS/opennms/commit/b67b3c0095697fe0c5117bd900d756721988c8a4
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M features/graph/provider/pathoutage/src/main/java/org/opennms/netmgt/graph/provider/pathoutage/PathOutageGraphProvider.java
    M features/graph/provider/pathoutage/src/test/java/org/opennms/netmgt/graph/provider/pathoutage/PathOutageGraphProviderIT.java
    M features/graph/provider/pathoutage/src/test/java/org/opennms/netmgt/graph/provider/pathoutage/PathOutageGraphProviderTest.java

  Log Message:
  -----------
  NMS-19877: read nodeParentID off the column, skip dangling parents

Resolve cgorantla's review: OnmsNode.getParent() returns a lazy proxy whose
label read throws ObjectNotFoundException when the parent row was deleted
(NMS-19971). Read the parent id from the nodeParentID column via
getNodeParentId() and resolve labels from NodeDao.getAllLabelsById(), skipping
any child whose parent id is missing from the map (a dangling reference).
Adds unit coverage for the dangling-parent case.


  Commit: 920371c8e603a7baab2d36c4ae8cf4eeba8eb34a
      https://github.com/OpenNMS/opennms/commit/920371c8e603a7baab2d36c4ae8cf4eeba8eb34a
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M core/web/pom.xml
    M core/web/src/main/java/org/opennms/core/web/HttpClientWrapper.java
    M core/web/src/main/java/org/opennms/core/web/HttpClientWrapperConfigHelper.java
    A core/web/src/main/java/org/opennms/core/web/SslContextFactory.java
    A core/web/src/test/java/org/opennms/core/web/HttpClientWrapperTest.java
    A core/web/src/test/java/org/opennms/core/web/SslContextFactoryTest.java
    A core/web/src/test/resources/tls/client-truststore.p12
    A core/web/src/test/resources/tls/client.jks
    A core/web/src/test/resources/tls/client.p12
    M docs/modules/reference/pages/performance-data-collection/collectors/http.adoc
    M docs/modules/reference/pages/performance-data-collection/collectors/prometheus.adoc
    M docs/modules/reference/pages/performance-data-collection/collectors/xml.adoc
    M features/collection/collectors/src/main/java/org/opennms/netmgt/collectd/HttpCollector.java
    A features/collection/collectors/src/test/java/org/opennms/netmgt/collectd/HttpCollectorMutualTlsIT.java
    A features/collection/collectors/src/test/resources/tls/client-truststore.p12
    A features/collection/collectors/src/test/resources/tls/client.p12
    A features/collection/collectors/src/test/resources/tls/server-truststore.p12
    A features/collection/collectors/src/test/resources/tls/server.p12
    M features/prometheus-collector/src/main/java/org/opennms/netmgt/collectd/prometheus/PrometheusScraper.java
    A features/prometheus-collector/src/test/java/org/opennms/netmgt/collectd/prometheus/PrometheusScraperMutualTlsIT.java
    A features/prometheus-collector/src/test/resources/tls/client-truststore.p12
    A features/prometheus-collector/src/test/resources/tls/client.p12
    A features/prometheus-collector/src/test/resources/tls/server-truststore.p12
    A features/prometheus-collector/src/test/resources/tls/server.p12
    M protocols/xml/pom.xml
    M protocols/xml/src/main/java/org/opennms/protocols/http/HttpUrlConnection.java
    A protocols/xml/src/test/java/org/opennms/protocols/http/HttpUrlConnectionMutualTlsIT.java
    A protocols/xml/src/test/resources/tls/client-truststore.p12
    A protocols/xml/src/test/resources/tls/client.p12
    A protocols/xml/src/test/resources/tls/server-truststore.p12
    A protocols/xml/src/test/resources/tls/server.p12

  Log Message:
  -----------
  Merge pull request #8622 from OpenNMS/NMS-19974-mutualTLS-smoke

NMS-19974: Mutual TLS support for collectors (XML/Prometheus/HTTPS)


  Commit: 951751ccf80e414f3ac0bdfbea9ec670c18024aa
      https://github.com/OpenNMS/opennms/commit/951751ccf80e414f3ac0bdfbea9ec670c18024aa
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-10 (Fri, 10 Jul 2026)

  Changed paths:
    M container/features/src/main/resources/features.xml
    A features/graph/provider/pathoutage/pom.xml
    A features/graph/provider/pathoutage/src/main/java/org/opennms/netmgt/graph/provider/pathoutage/PathOutageGraphProvider.java
    A features/graph/provider/pathoutage/src/main/resources/OSGI-INF/blueprint/blueprint.xml
    A features/graph/provider/pathoutage/src/test/java/org/opennms/netmgt/graph/provider/pathoutage/PathOutageGraphProviderIT.java
    A features/graph/provider/pathoutage/src/test/java/org/opennms/netmgt/graph/provider/pathoutage/PathOutageGraphProviderTest.java
    M features/graph/provider/pom.xml

  Log Message:
  -----------
  Merge pull request #8565 from OpenNMS/NMS-19877-topology-pathoutage-smoke

NMS-19877: Topology (Preview) graph-service provider for the path outage hierarchy


  Commit: e40c0a6bf238fc060a2dbef38d215f0f5884430a
      https://github.com/OpenNMS/opennms/commit/e40c0a6bf238fc060a2dbef38d215f0f5884430a
  Author: Chandra Gorantla <[email protected]>
  Date:   2026-07-10 (Fri, 10 Jul 2026)

  Changed paths:
    M core/daemon/src/main/java/org/opennms/netmgt/vmmgr/Invoker.java

  Log Message:
  -----------
  NMS-19036: Measure OpenNMS and daemon starup times (#8625)


  Commit: 8930987a4c8803886cbcb3221458085fa06d5bdb
      https://github.com/OpenNMS/opennms/commit/8930987a4c8803886cbcb3221458085fa06d5bdb
  Author: Morteza E <[email protected]>
  Date:   2026-07-10 (Fri, 10 Jul 2026)

  Changed paths:
    M features/graph/provider/pathoutage/pom.xml

  Log Message:
  -----------
  fix pathoutage version


  Commit: 2d242c0271692409497531f190441c295ca06b1c
      https://github.com/OpenNMS/opennms/commit/2d242c0271692409497531f190441c295ca06b1c
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-10 (Fri, 10 Jul 2026)

  Changed paths:
    M integrations/opennms-vmware/src/main/java/org/opennms/netmgt/collectd/VmwareCollector.java
    M integrations/opennms-vmware/src/test/java/org/opennms/netmgt/collectd/VmwareCollectorDatastoreCollectTest.java

  Log Message:
  -----------
  NMS-19977: don't let datastore-capacity collection fail the whole VMware collection

The datastore-capacity group added in 36.0.2 dispatches on resourceType
vmwareDatastoreCapacity and treats the collected managed object as a
HostSystem. getHostSystemByManagedObjectId() builds the reference without
contacting the server, so it never returns null for a non-HostSystem moid;
the == null guard is therefore ineffective. When the group is evaluated
against a VirtualMachine (for example after a config merge places it in a
VirtualMachine collection), getDatastores() throws ManagedObjectNotFound,
and the getName() call in that catch block's log message issues another
request that throws the same exception. That second throw escaped the
handler and failed the entire collection, so all VMs stopped collecting.

Remove the getName() calls from the exception handlers (they each issue a
request that can re-throw) and log the managed object id / cached datastore
label instead, so a non-HostSystem entity is logged and skipped as the
vmware-datastore documentation already describes. Add a regression test
that reproduces the VirtualMachine case.

In 36.0.1 the same misconfigured group was inert (treated as an empty
performance group), which is why downgrading only the opennms-vmware jar
restored collection.


  Commit: 5cb9db511451d26fa102de6f54aa1cdca3e3c0e7
      https://github.com/OpenNMS/opennms/commit/5cb9db511451d26fa102de6f54aa1cdca3e3c0e7
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-13 (Mon, 13 Jul 2026)

  Changed paths:
    M opennms-config/src/main/java/org/opennms/netmgt/filter/JdbcFilterDao.java
    A opennms-config/src/test/java/org/opennms/netmgt/filter/JdbcFilterDaoToInetAddressTest.java

  Log Message:
  -----------
  NMS-20004: tolerate unrepresentable ipaddr values in filter results

A single ipinterface row whose ipaddr value cannot be converted to an
InetAddress aborted the whole filter evaluation with an opaque
UndeclaredThrowableException (null message): the result-row conversion
in JdbcFilterDao used InetAddress.getByName(), which throws for IPv6
zone ids naming an interface that does not resolve on this host, does
a DNS lookup per row for hostname-like values, and silently turns an
empty string into the loopback address. The default rule *.*.*.*
matches every interface, so one bad row could break every package
filter evaluation for pollerd, collectd, threshd, and notifd.

Convert result rows tolerantly instead: accept only IP literals (no
DNS resolution; numeric zone ids convert exactly as before), fall back
to the zone-stripped address for interface-name zones, and log-and-skip
anything that still cannot be represented rather than failing the
evaluation.


  Commit: 67376d513280e313c949b4856b2e28b431a41381
      https://github.com/OpenNMS/opennms/commit/67376d513280e313c949b4856b2e28b431a41381
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-13 (Mon, 13 Jul 2026)

  Changed paths:
    M integrations/opennms-vmware/src/main/java/org/opennms/netmgt/collectd/VmwareCollector.java
    M integrations/opennms-vmware/src/test/java/org/opennms/netmgt/collectd/VmwareCollectorDatastoreCollectTest.java

  Log Message:
  -----------
  Merge pull request #8626 from OpenNMS/NMS-19977-VMwareFix-smoke

NMS-19977: Datastore-capacity collection regression


  Commit: 74a821c45e091cb5cbf9bbfb2c081d5e8f9265f5
      https://github.com/OpenNMS/opennms/commit/74a821c45e091cb5cbf9bbfb2c081d5e8f9265f5
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-13 (Mon, 13 Jul 2026)

  Changed paths:
    M opennms-config/src/main/java/org/opennms/netmgt/filter/JdbcFilterDao.java
    M opennms-config/src/test/java/org/opennms/netmgt/filter/JdbcFilterDaoToInetAddressTest.java

  Log Message:
  -----------
  NMS-20004: never resolve zone ids locally; reject zone suffixes on IPv4

Interface-name zones now always fall back to the zone-stripped address
instead of first attempting resolution against this host's interfaces,
which made results depend on the evaluating host's interface names.
Zone suffixes on IPv4 literals (never valid) are skipped outright
rather than reaching InetAddress.getByName with an unparseable value.


  Commit: 2d9c2d60a3293641c4514ff2bce039dec8ef30d2
      https://github.com/OpenNMS/opennms/commit/2d9c2d60a3293641c4514ff2bce039dec8ef30d2
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-13 (Mon, 13 Jul 2026)

  Changed paths:
    A core/schema/src/main/liquibase/36.0.3/changelog.xml
    M core/schema/src/main/liquibase/changelog.xml

  Log Message:
  -----------
  NMS-19971: FK with ON DELETE SET NULL for node.nodeparentid

node.nodeparentid (the path-outage/critical-path parent, OnmsNode.getParent())
had no foreign-key constraint, so deleting a parent node left its children
pointing at a nonexistent row. Dereferencing the lazy parent proxy for such a
dangling reference throws Hibernate ObjectNotFoundException, and no deletion
path cleaned it up: DefaultProvisionService.deleteNode() removes only the node
row, and vacuumd deletes type-'D' nodes via raw SQL that bypasses application
logic entirely.

Fix at the database level so every deletion path is covered. New 36.0.3
changeset: null out already-dangling references, index node(nodeparentid),
then add a self-referential FK node.nodeparentid -> node.nodeid with
onDelete=SET NULL -- the pattern ipInterface already uses for snmpinterfaceid
(snmpinterface_fkey2). Registered in the master changelog after 36.0.1.


  Commit: 5932d2603c99d4ae037d2ab711a43040ad39b38d
      https://github.com/OpenNMS/opennms/commit/5932d2603c99d4ae037d2ab711a43040ad39b38d
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-13 (Mon, 13 Jul 2026)

  Changed paths:
    M features/topology-map/plugins/org.opennms.features.topology.plugins.topo.pathoutage/src/test/java/org/opennms/features/topology/plugins/topo/pathoutage/PathOutageStatusProviderIT.java

  Log Message:
  -----------
  NMS-19971: save path-outage test nodes parent-first

The new node.nodeparentid FK rejects a child row inserted before its parent.
PathOutageStatusProviderIT saved its generated nodes while iterating a HashMap
keySet (undefined order), so a child could be inserted first and trip
node_nodeparentid_fkey. Save in ascending node-id order instead; every
generated child has a larger id than its parent, so parents insert first.


  Commit: 1bb0b0f11baa24153291ac83b6df4df79550d76a
      https://github.com/OpenNMS/opennms/commit/1bb0b0f11baa24153291ac83b6df4df79550d76a
  Author: Scott Theleman <[email protected]>
  Date:   2026-07-13 (Mon, 13 Jul 2026)

  Changed paths:
    M smoke-test/src/test/java/org/opennms/smoketest/MenuHeaderIT.java
    R ui/src/components/Common/ShimFeatherMegaMenu/index.d.ts
    R ui/src/components/Common/ShimFeatherMegaMenu/index.ts
    M ui/src/components/Common/TogglePanel.vue
    M ui/src/components/Configuration/ConfigurationAdvancedPanel.vue
    M ui/src/components/Configuration/ConfigurationCopyPasteDisplay.vue
    M ui/src/components/Configuration/ConfigurationCronSelector.vue
    M ui/src/components/Configuration/ConfigurationDrawer.vue
    M ui/src/components/Configuration/ConfigurationEmptyTable.vue
    M ui/src/components/Configuration/ConfigurationGeneratedUrl.vue
    M ui/src/components/Configuration/ConfigurationHelpPanel.vue
    M ui/src/components/Configuration/ConfigurationTable.vue
    M ui/src/components/Configuration/ConfigurationTableWrapper.vue
    M ui/src/components/Configuration/ConfigurationThreadPools.vue
    M ui/src/components/Configuration/ProvisionDForm.vue
    M ui/src/components/Configuration/configuration.types.d.ts
    M ui/src/components/Device/DCBGroupFilters.vue
    M ui/src/components/Device/DCBModal.vue
    M ui/src/components/Device/DCBModalConfigDiffContent.vue
    M ui/src/components/Device/DCBModalViewHistoryContent.vue
    M ui/src/components/Device/DCBSearch.vue
    M ui/src/components/Device/DCBTable.vue
    M ui/src/components/Device/DCBTableStatusDropdown.vue
    M ui/src/components/FileEditor/Console.vue
    M ui/src/components/FileEditor/Editor.vue
    M ui/src/components/FileEditor/FileSidebar.vue
    M ui/src/components/FileEditor/FileTreeItem.vue
    M ui/src/components/FileEditor/Help.vue
    M ui/src/components/FileEditor/NewFileInput.vue
    M ui/src/components/FileEditor/Search.vue
    M ui/src/components/FileEditor/TopBar.vue
    M ui/src/components/Map/GridTabs.vue
    M ui/src/components/Map/LeafletMap.vue
    M ui/src/components/Map/MapAlarmsGrid.vue
    M ui/src/components/Map/MapNodesGrid.vue
    M ui/src/components/Map/MapSearch.vue
    M ui/src/components/Map/MarkerClusterPopupContent.vue
    M ui/src/components/Map/SeverityFilter.vue
    A ui/src/components/Map/SortableTh.vue
    M ui/src/components/Resources/Graph.vue
    M ui/src/components/Resources/GraphContainer.vue
    M ui/src/components/Resources/GraphDataTable.vue
    M ui/src/components/Resources/Graphs.vue
    M ui/src/components/Resources/NodeResourceList.vue
    M ui/src/components/Resources/ResourceList.vue
    M ui/src/components/Resources/Resources.vue
    M ui/src/components/Resources/TimeControls.vue
    M ui/src/containers/DeviceConfigBackup.vue
    M ui/src/containers/FileEditor.vue
    M ui/src/containers/Map.vue
    M ui/src/containers/ProvisionDConfig.vue
    M ui/src/containers/ResourceGraphs.vue
    M ui/src/theme/opennms-preset.ts
    M ui/tests/configuration.test.ts
    M ui/tests/deviceConfigBackup.test.ts

  Log Message:
  -----------
  NMS-19948: Primevue migration: Device Config, External Requisitions, etc. (#8621)

* NMS-19948: Migrate File Editor screen to PrimeVue

Convert containers/FileEditor.vue and its FileEditor components from
FeatherDS to PrimeVue: FeatherButton->Button, FeatherInput->FormField/
InputText (search) + InputText (new-file), feather grid->onms-grid, and
FeatherDS SCSS color vars->PrimeVue tokens. VAceEditor retained.
FeatherIcon/typography/mixins deferred to Phase 6.

* NMS-19948: Migrate Device Config Backup screen to PrimeVue

Convert containers/DeviceConfigBackup.vue and its Device/DCB* components
from FeatherDS to PrimeVue:
- DCBTable: raw table + FeatherSortHeader/FeatherCheckbox -> DataTable
  (lazy, scrollable, server-sort via @sort); infinite scroll retained via
  useScroll on the DataTable scroll container. Custom select-all/per-row
  Checkbox binary preserves the 'all' server-wide selection semantics.
- FeatherDropdown (status filter, group filters) -> popup Menu.
- FeatherDialog -> PrimeVue Dialog; FeatherChip -> Chip; FeatherButton ->
  Button (+ v-tooltip); FeatherInput search -> FormField/InputText.
- FeatherDS SCSS color vars -> PrimeVue tokens.
- Rewrite deviceConfigBackup.test.ts for PrimeVue (plugin + tooltip
  directive, native disabled + checkbox input assertions).

VAceEditor/diff view unchanged. FeatherIcon/typography mixins deferred to
Phase 6.

* NMS-19948: Fix DataTable sorted-header dark-mode background + DCB select-all guard

- opennms-preset.ts: pin datatable headerCell.selectedBackground/selectedColor
  to the normal header background/color in both color schemes. Aura defaults
  the sorted-column header to {highlight.background} (light primary.50 tint),
  which read wrong on the dark header. Applies to all DataTables app-wide.
- DCBTable.vue: make singleConfigSelectedHasNoServiceName null-safe when no
  config is selected (fixes clicking the Select All checkbox).

* NMS-19948: Migrate External Requisitions (ProvisionDConfig) to PrimeVue

Convert containers/ProvisionDConfig.vue and the Configuration/* components
from FeatherDS to PrimeVue:
- ConfigurationTable: raw table + FeatherSortHeader/FeatherPagination ->
  client-side DataTable (sortable columns + paginator).
- FeatherExpansionPanel -> TogglePanel (ThreadPools chips in #header slot);
  FeatherAutocomplete -> AutoComplete; FeatherSelect -> Select; FeatherInput ->
  FormField/InputText; FeatherCheckbox -> Checkbox; FeatherRadio -> RadioButton;
  FeatherChip -> Chip; FeatherButton -> Button (+ v-tooltip); FeatherSpinner ->
  Button :loading.
- Keep the hand-rolled ConfigurationDrawer/HelpPanel (help-panel-shift +
  animations); swap only their inner components + color vars.
- Drop Feather-internal DOM hacks (fillAutoComplete, forceSetHint) now that
  PrimeVue binds hints/values reactively; retarget the drawer error-bounce to
  FormField/PrimeVue selectors.
- FeatherDS SCSS color vars -> PrimeVue tokens (spacing vars deferred).
- Rewrite configuration.test.ts for PrimeVue (plugin + tooltip directive,
  native disabled, options-prop assertions for teleported Selects).

FeatherIcon/typography mixins deferred to Phase 6.

* NMS-19948: ProvisionDConfig drawer spacing + icon alignment fixes

- ProvisionDForm: enlarge + vertically center the External Source help icon;
  add space above the Rescan Behavior group.
- ConfigurationAdvancedPanel: enlarge + vertically center the delete icons.
- ConfigurationCronSelector: add vertical space around the Advanced (Cron)
  Schedule checkbox (below Schedule Type, above Rescan Behavior).
- ConfigurationThreadPools: add space between FormField sections.

* NMS-19948: tighten drawer icon alignment to input row + Advanced Add spacing

- ProvisionDForm / ConfigurationAdvancedPanel: align the External Source help
  icon and Advanced Options delete icons to the input row (offset past the
  FormField label, centered in the input height) instead of the whole field.
- ConfigurationAdvancedPanel: add top spacing above the Advanced Options Add button.

* NMS-19948: fix TogglePanel double-toggle on +/- button; enlarge table action icons

- TogglePanel: clicking the built-in +/- toggle button rapidly expanded then
  collapsed the panel. The toggle swaps the Plus<->Minus icon, detaching the
  clicked node, so the bubbled header handler's event.target.closest('button')
  returned null and fired a second toggle. Guard via event.composedPath()
  (captured at dispatch, stable through propagation) instead. Affects all
  panels using TogglePanel (ThreadPools, Advanced Options, SNMP config, etc.).
- ConfigurationTable: enlarge the edit/delete action icons to 1.25em.

* NMS-19948: Migrate Resource Graphs to PrimeVue; remove ShimFeatherMegaMenu

- TimeControls: replace ShimFeatherMegaMenu (which imported FeatherMegaMenu.vue
  directly from node_modules) with an inline Button + PrimeVue Popover; delete
  the ShimFeatherMegaMenu shim dir. FeatherDateInput -> DatePicker,
  FeatherSelect -> Select, FeatherButton -> Button.
- Graph: FeatherButton -> Button; FeatherTabs -> PrimeVue Tabs/TabList/Tab/
  TabPanels/TabPanel.
- FeatherList family -> plain styled <ul>/<li> (TimeControls, ResourceList,
  NodeResourceList).
- FeatherInput -> FormField/InputText; FeatherCheckbox -> Checkbox.
- GraphDataTable: keep the raw table (dynamic columns/text-select), swap only
  the checkbox.
- Color vars -> PrimeVue tokens; grids -> onms-grid.

resourceGraphs.test.ts covers utils only (no rework). FeatherIcon/typography/
table mixins deferred to Phase 6.

* NMS-19948: fix TimeControls build error (missing typography mixin import)

The teleported popover styles live in a second, non-scoped <style> block; SCSS
@import is per-block, so @include body-small there needs its own import of the
typography mixins. Verified with vite build.

* NMS-19948: Migrate Maps to PrimeVue (Leaflet untouched)

- New SortableTh.vue: drop-in for FeatherSortHeader (clickable th, ASC/DESC,
  emits sort-changed {property, value}); used in MapAlarmsGrid/MapNodesGrid
  (raw tables kept per scope).
- GridTabs: FeatherTabs -> PrimeVue Tabs bound to the route (router nav).
- MapSearch: FeatherAutocomplete(multi) -> AutoComplete(multiple).
- SeverityFilter + alarm ack: FeatherSelect -> Select (FormField).
- FeatherCheckbox -> Checkbox; generic surface/text color vars -> PrimeVue
  tokens; grids -> onms-grid.
- Severity color vars (//) left as FeatherDS so map
  severity colors stay consistent with the app-wide _severities.scss until it
  migrates as a unit.

Leaflet/vue-leaflet/MarkerCluster unchanged. map.test.ts (util only) unchanged.
Verified: tsc, eslint, test, vite build.

* Style and PR review fixes

* NMS-19948: fix duplicate DOM id for Raw values checkbox in GraphDataTable

Bind checkbox inputId and label for to the unique id prop so each graph's
Raw values checkbox toggles independently on the resource-graphs page.


  Commit: 14fe0f2bc9a180f17fbe9c32cdd9029d8bf2c1a6
      https://github.com/OpenNMS/opennms/commit/14fe0f2bc9a180f17fbe9c32cdd9029d8bf2c1a6
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-14 (Tue, 14 Jul 2026)

  Changed paths:
    A core/schema/src/main/liquibase/36.0.3/changelog.xml
    M core/schema/src/main/liquibase/changelog.xml
    M features/topology-map/plugins/org.opennms.features.topology.plugins.topo.pathoutage/src/test/java/org/opennms/features/topology/plugins/topo/pathoutage/PathOutageStatusProviderIT.java

  Log Message:
  -----------
  Merge pull request #8629 from OpenNMS/mm/NMS-19971-smoke

NMS-19971: Foreign Key with ON DELETE SET NULL for node.nodeparentid


  Commit: 3a1519249350fc638a4e1e921b4f0c9fe339bbc4
      https://github.com/OpenNMS/opennms/commit/3a1519249350fc638a4e1e921b4f0c9fe339bbc4
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-14 (Tue, 14 Jul 2026)

  Changed paths:
    M opennms-config/src/main/java/org/opennms/netmgt/filter/JdbcFilterDao.java

  Log Message:
  -----------
  NMS-20004: use Guava InetAddresses for literal validation in filter results

Review feedback: replace the hand-rolled IPv4/IPv6 literal regexes with
InetAddresses.isInetAddress, which never resolves hostnames and validates
more precisely. It must run on the zone-stripped address part because
Guava 31.1 rejects scoped addresses; the zone handling is unchanged.


  Commit: 21f35cec1f1f3cc6b3b76bfe95d68926b58dd4d1
      https://github.com/OpenNMS/opennms/commit/21f35cec1f1f3cc6b3b76bfe95d68926b58dd4d1
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-14 (Tue, 14 Jul 2026)

  Changed paths:
    M opennms-config/src/main/java/org/opennms/netmgt/filter/JdbcFilterDao.java
    A opennms-config/src/test/java/org/opennms/netmgt/filter/JdbcFilterDaoToInetAddressTest.java

  Log Message:
  -----------
  Merge pull request #8627 from OpenNMS/NMS-20004-IPv6ZoneIDFix-smoke

NMS-20004: tolerate unrepresentable ipaddr values in filter results


  Commit: 898b560ebbb1460d7389babe21dd6905f78aec2f
      https://github.com/OpenNMS/opennms/commit/898b560ebbb1460d7389babe21dd6905f78aec2f
  Author: CI/CD System <[email protected]>
  Date:   2026-07-14 (Tue, 14 Jul 2026)

  Changed paths:
    M opennms-config/src/main/java/org/opennms/netmgt/filter/JdbcFilterDao.java
    A opennms-config/src/test/java/org/opennms/netmgt/filter/JdbcFilterDaoToInetAddressTest.java

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/foundation-2024' into foundation-2025


  Commit: 0e4003c92b1d02974281a5fdba893d9ba769c4fd
      https://github.com/OpenNMS/opennms/commit/0e4003c92b1d02974281a5fdba893d9ba769c4fd
  Author: CI/CD System <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M opennms-config/src/main/java/org/opennms/netmgt/filter/JdbcFilterDao.java
    A opennms-config/src/test/java/org/opennms/netmgt/filter/JdbcFilterDaoToInetAddressTest.java

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/foundation-2025' into release-36.x


  Commit: dff6d640765adbaa6a14978bbaba7453795ae109
      https://github.com/OpenNMS/opennms/commit/dff6d640765adbaa6a14978bbaba7453795ae109
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    A core/mate/api/src/main/java/org/opennms/core/mate/api/LazyScope.java
    A core/mate/api/src/test/java/org/opennms/core/mate/api/LazyScopeTest.java
    M features/collection/thresholding/impl/src/main/java/org/opennms/netmgt/threshd/ThresholdEntity.java
    M features/collection/thresholding/impl/src/main/java/org/opennms/netmgt/threshd/ThresholdingSetImpl.java
    M features/collection/thresholding/impl/src/main/java/org/opennms/netmgt/threshd/ThresholdingVisitorImpl.java

  Log Message:
  -----------
  NMS-20007: Make thresholding metadata scope creation lazy and shared per collection set

Since NMS-16966, applyThresholds/passedThresholdFilters/evaluateAndCreateEvents
each eagerly built an entity scope (3 read-only DB transactions loading the
node, interface and service entity graphs) per collection resource and per
threshold entity, on every collection cycle - even when no threshold definition
contains a metadata expression. On interface-heavy systems this produces tens
of thousands of database transactions per second (SUPPORT-3261).

Two changes:

1. Introduce LazyScope, a memoizing Scope wrapper, and build thresholding
   scopes lazily. Interpolation only consults a scope when the input contains
   an actual ${} expression, so configurations without metadata expressions
   now perform zero database work in the thresholding path.

2. Share one scope across the whole collection set. The scope only depends on
   session-level state (node id, host address, service name), never on the
   individual resource, so ThresholdingVisitorImpl builds a single lazy scope
   per visit. Configurations that do use metadata expressions go from one
   scope build per resource per threshold entity to at most one per service
   per collection cycle.


  Commit: 93a247e775db32109fdb69979cf5cceaf20e89ff
      https://github.com/OpenNMS/opennms/commit/93a247e775db32109fdb69979cf5cceaf20e89ff
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M opennms-services/src/main/java/org/opennms/netmgt/collectd/CollectableService.java

  Log Message:
  -----------
  NMS-20008: Honor thresholding-enabled parameter in collectd

The thresholding-enabled service parameter was only honored by the poller
(LatencyStoringServiceMonitorAdaptor); collectd created a thresholding
session and ran threshold processing on every collection regardless of the
parameter, so setting thresholding-enabled=false in
collectd-configuration.xml silently did nothing (SUPPORT-3261).

CollectableService now skips thresholding session creation when the
parameter is explicitly set to false. Default remains enabled, preserving
existing behavior for configurations that do not set the parameter.


  Commit: e978b72035943c63d1d18fdc25b6e2a6909a3ef0
      https://github.com/OpenNMS/opennms/commit/e978b72035943c63d1d18fdc25b6e2a6909a3ef0
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M features/poller/client-rpc/src/main/java/org/opennms/netmgt/poller/client/rpc/PollerRequestBuilderImpl.java

  Log Message:
  -----------
  NMS-20009: Build poller metadata scope once per request instead of twice

execute() built the node/interface/service scope twice per poll - once for
the configured attributes and once for the monitor's runtime attributes -
at three read-only database transactions per build (SUPPORT-3261).
Memoize it on the request builder.


  Commit: 0c8a83a6e4dd0dd9c4b33fcddba9185a3d68104c
      https://github.com/OpenNMS/opennms/commit/0c8a83a6e4dd0dd9c4b33fcddba9185a3d68104c
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M core/mate/api/src/main/java/org/opennms/core/mate/api/LazyScope.java

  Log Message:
  -----------
  NMS-20007: Fail with a clear message if a lazy scope supplier returns null

Addresses Copilot review feedback: split the eager null check on the
supplier from the memoization, and name the failure when a supplier
produces a null scope at materialization time.


  Commit: f7c5ca73434b1768d57ae0d4ed979fb96e81b2f0
      https://github.com/OpenNMS/opennms/commit/f7c5ca73434b1768d57ae0d4ed979fb96e81b2f0
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M opennms-services/src/main/java/org/opennms/netmgt/collectd/CollectableService.java
    M opennms-services/src/test/java/org/opennms/netmgt/collectd/CollectableServiceTest.java

  Log Message:
  -----------
  NMS-20008: Add tests for thresholding-enabled handling, clarify default comment

Addresses Copilot review feedback: the comment now states that the poller's
default for the same parameter is false while collectd defaults to enabled,
and CollectableServiceTest verifies the thresholding session is not created
when thresholding-enabled=false and is created when the parameter is absent
or true.


  Commit: 0acd5f77d19f69515f23f8eb503ac2cf8c64222c
      https://github.com/OpenNMS/opennms/commit/0acd5f77d19f69515f23f8eb503ac2cf8c64222c
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M features/poller/client-rpc/src/main/java/org/opennms/netmgt/poller/client/rpc/PollerRequestBuilderImpl.java

  Log Message:
  -----------
  NMS-20009: Invalidate the memoized scope when its inputs change

Addresses Copilot review feedback: withService and withPatternVariables now
reset the cached scope, so a builder mutated after a getScope() call sees
fresh values, matching pre-memoization semantics. execute() still builds the
scope only once since nothing mutates between its two uses.


  Commit: ba59e8aedb4632a333ac8489de6d064b3f8146db
      https://github.com/OpenNMS/opennms/commit/ba59e8aedb4632a333ac8489de6d064b3f8146db
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M core/ipc/rpc/camel/src/main/java/org/opennms/core/rpc/camel/CamelRpcClientFactory.java
    R core/ipc/rpc/camel/src/test/java/org/opennms/core/rpc/camel/LocalRpcTimeoutTest.java

  Log Message:
  -----------
  NMS-20006: revert NMS-19951 local RPC TTL bound (PR #8604)

Reverts the change from PR #8604 (NMS-19951) that bounded local
(same-location) RPC execution with .orTimeout(TTL / default RPC
timeout). Local execution once again returns module.execute(request)
directly, and the LocalRpcTimeoutTest added by that PR is removed.

This restores the code in core/ipc/rpc/camel/CamelRpcClientFactory.java
byte-for-byte to its pre-PR state.


  Commit: 02936fa106accdb313266660f7b465fc14b91a17
      https://github.com/OpenNMS/opennms/commit/02936fa106accdb313266660f7b465fc14b91a17
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M opennms-services/src/main/java/org/opennms/netmgt/collectd/CollectableService.java
    M opennms-services/src/test/java/org/opennms/netmgt/collectd/CollectableServiceTest.java

  Log Message:
  -----------
  Merge pull request #8632 from OpenNMS/mm/NMS-20008-smoke

NMS-20008: thresholding-enabled parameter is ignored by collectd


  Commit: 62d360fed68d3634d981674680e2f0ce57837c11
      https://github.com/OpenNMS/opennms/commit/62d360fed68d3634d981674680e2f0ce57837c11
  Author: CI/CD System <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M opennms-services/src/main/java/org/opennms/netmgt/collectd/CollectableService.java
    M opennms-services/src/test/java/org/opennms/netmgt/collectd/CollectableServiceTest.java

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/foundation-2024' into foundation-2025


  Commit: 1b6b557d545a0697cc87c8d69f1b41dfaecfae4a
      https://github.com/OpenNMS/opennms/commit/1b6b557d545a0697cc87c8d69f1b41dfaecfae4a
  Author: Scott Theleman <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M core/web-assets/src/main/assets/style/opennms-theme.scss
    M core/web-assets/src/main/assets/style/vaadin-theme.scss
    M smoke-test/src/main/java/org/opennms/smoketest/selenium/AbstractOpenNMSSeleniumHelper.java
    M smoke-test/src/test/java/org/opennms/smoketest/MenuHeaderIT.java
    M smoke-test/src/test/java/org/opennms/smoketest/ProvisioningNewUIIT.java
    M smoke-test/src/test/java/org/opennms/smoketest/QuickAddNodeIT.java
    M smoke-test/src/test/java/org/opennms/smoketest/UIRefreshIT.java
    M smoke-test/src/test/java/org/opennms/smoketest/UserIT.java
    M ui/src/components/Menu/Menubar.vue
    M ui/src/components/Menu/Search.vue
    M ui/src/components/Menu/SearchResult.vue
    M ui/src/components/Menu/SideMenu.vue
    M ui/src/components/Menu/UserNotificationsMenuItem.vue
    M ui/src/components/Menu/UserSelfServiceMenuItem.vue
    M ui/src/components/Menu/utils.ts
    M ui/src/main/App.vue
    M ui/tests/components/Nodes/InterfacesTabs.test.ts
    M ui/tests/containers/SnmpDataCollection.test.ts
    M ui/tests/containers/TrapdConfiguration.test.ts

  Log Message:
  -----------
  NMS-19976: Primevue migration: Menubar (#8630)

* NMS-19976: Migrate top Menubar to PrimeVue (replace FeatherAppBar)

Replace FeatherAppBar/FeatherAppBarLink (used only as a fixed 3-column flex
bar) with a plain fixed <header>, the logo link with a plain anchor around the
existing product-logo SVG, and the Add-a-Node FeatherButton with a PrimeVue
Button. Search, the user dropdowns and the light/dark toggle are unchanged.
Introduces --onms-header-height so the side menu stays aligned.

* NMS-19976: Migrate SideMenu to PrimeVue TieredMenu rail (replace FeatherSidenav)

Replace FeatherSidenav/FeatherDock with a custom fixed rail hosting a PrimeVue
TieredMenu: icon-only when collapsed, expand on hover, pin via a toggle button
(persisted to the menu store), 2-level flyout submenus, and content pushed
aside via pushedSelector. The rail is pinned dark in both themes to match the
top bar. Feather icon components are kept and rendered via the TieredMenu #item
slot. Adds createPrimeMenuModel() in utils.ts to transform the raw menu data
into PrimeVue MenuItem[] (the Feather transform is left in place for now).

* NMS-19976: Migrate user-dropdown menus to PrimeVue Popover

Replace FeatherDropdown/FeatherDropdownItem/FeatherButton in
UserNotificationsMenuItem and UserSelfServiceMenuItem with a
primevue/popover (appendTo="self", pinned under the trigger) and
primevue/button. Driven by the existing `expanded` prop, so Menubar's
hover/mutual-exclusion coordination is unchanged. Feather icons retained
for Phase 6. Removes the last FeatherDropdown usages and the unresolved
FeatherButton component warning.

* NMS-19976: Offset legacy/SPA content below fixed Vue menus

The migrated top bar and side rail are position:fixed. Give each host a
collapsed/base left+top offset it owns (JSP #content = header+rail+gap,
Vaadin topology likewise via --onms-legacy-content-offset, SPA .app-layout
= 3rem), and add a top offset for the fixed header. SideMenu.applyPush now
only sets padding-left for the pinned-expanded rail (rail + 0.25rem gap)
and clears it otherwise, so it never clobbers the collapsed base/gap.

* NMS-19976: Make the side menu rail and flyouts scroll vertically

The TieredMenu item list scrolls when taller than the rail (overflow-y
on .p-tieredmenu + min-height:0). Because a scroll container clips the
side-opening flyouts on both axes, open first-level flyouts are promoted
to position:fixed (anchored to their item's rect) so they escape the
clip. Flyouts are also constrained to the rail's vertical band: a flyout
taller than the available height caps its max-height and scrolls
internally. Since fixed flyouts are detached from the rail, leaving the
rail (mouseleave) also closes the open flyout via TieredMenu.hide() so
it doesn't linger orphaned. Driven by a MutationObserver + scroll/resize
listeners, torn down on unmount.

* NMS-19976: Migrate Search UI off FeatherDS color vars

Search.vue/SearchResult.vue used no Feather interactive components (plain
<input> + custom dropdown), so convert their FeatherDS color vars to
PrimeVue tokens (content background/border, text/muted, highlight for
hover+keyboard-select). Remove dead :deep(.feather-input-*) overrides
left from a former FeatherInput and the now-unused @featherds/styles
mixin imports. FeatherIcon kept for the Phase 6 icon pass.

* !smoke lint fix

* NMS-19948: unmount tab-container test wrappers to fix flaky HTMLElement error

PrimeVue TabList schedules setTimeout(updateInkBar, 150) in mounted() and
never clears it in beforeUnmount(). When a test mounts a Tabs-rendering
component without unmounting, that orphaned timer outlives the test file and
fires against the torn-down happy-dom environment, throwing 'HTMLElement is
not defined' (flaky on CI, timing-dependent). Unmounting in afterEach clears
the component's template refs so updateInkBar hits its early-return guard
before touching any DOM helper.

Fixes the observed failure in SnmpDataCollection.test.ts and the same latent
flake in TrapdConfiguration.test.ts and InterfacesTabs.test.ts.

* NMS-19976: Smoke test fixes !smoke

* NMS-19976: fix and speed up PrimeVue side-menu navigation in smoke tests

Wait for the TieredMenu flyout to render after clicking a top-level item
instead of querying for the submenu link once immediately -- the immediate
query raced the async flyout render and failed on CI. Right after navigation
the top link is present but the Vue menu app is still settling, so the first
click is often a no-op; only click to open when the submenu isn't already open
(toggle-safe) and let the short-cap retry re-click once it is interactive.

Drop the implicit wait to 0 for the duration of these menu helpers so the
explicit waits aren't blocked for the full LOAD_TIMEOUT while the flyout is
absent. Apply the same treatment to clickSelfServiceItem and fix its
self-service selectors for the migrated UserSelfServiceMenuItem markup.

Reduces per-menu-item time from ~10s to ~1s.

* Fix more smoke tests !smoke

* Apply suggestions from code review

Co-authored-by: Copilot Autofix powered by AI <[email protected]>

---------

Co-authored-by: Copilot Autofix powered by AI <[email protected]>


  Commit: 0794baa700270e6bb98a8e99115a476cd7a576af
      https://github.com/OpenNMS/opennms/commit/0794baa700270e6bb98a8e99115a476cd7a576af
  Author: CI/CD System <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M opennms-services/src/main/java/org/opennms/netmgt/collectd/CollectableService.java
    M opennms-services/src/test/java/org/opennms/netmgt/collectd/CollectableServiceTest.java

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/foundation-2025' into release-36.x


  Commit: e328f31dee837e1637cfcc5f63f6174004829776
      https://github.com/OpenNMS/opennms/commit/e328f31dee837e1637cfcc5f63f6174004829776
  Author: Chandra Gorantla <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M features/notifications/ticket-strategy/src/main/java/org/opennms/netmgt/notifd/TicketNotificationStrategy.java
    M features/notifications/ticket-strategy/src/test/java/org/opennms/netmgt/notifd/TicketNotificationStrategyTest.java

  Log Message:
  -----------
  NMS-20026: Fix TicketNotificationStrategy wiring


  Commit: d7dd307d0cf8ebf050a4de878410ca71c8dd677c
      https://github.com/OpenNMS/opennms/commit/d7dd307d0cf8ebf050a4de878410ca71c8dd677c
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-16 (Thu, 16 Jul 2026)

  Changed paths:
    M core/ipc/rpc/camel/src/main/java/org/opennms/core/rpc/camel/CamelRpcClientFactory.java
    R core/ipc/rpc/camel/src/test/java/org/opennms/core/rpc/camel/LocalRpcTimeoutTest.java

  Log Message:
  -----------
  Merge pull request #8635 from OpenNMS/mm/NMS-20006-smoke

NMS-20006: revert NMS-19951 local RPC TTL bound (PR #8604)


  Commit: c56be3d4e4910c3d90655a2bf44711b8203b4df9
      https://github.com/OpenNMS/opennms/commit/c56be3d4e4910c3d90655a2bf44711b8203b4df9
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-16 (Thu, 16 Jul 2026)

  Changed paths:
    A core/mate/api/src/main/java/org/opennms/core/mate/api/LazyScope.java
    A core/mate/api/src/test/java/org/opennms/core/mate/api/LazyScopeTest.java
    M features/collection/thresholding/impl/src/main/java/org/opennms/netmgt/threshd/ThresholdEntity.java
    M features/collection/thresholding/impl/src/main/java/org/opennms/netmgt/threshd/ThresholdingSetImpl.java
    M features/collection/thresholding/impl/src/main/java/org/opennms/netmgt/threshd/ThresholdingVisitorImpl.java

  Log Message:
  -----------
  Merge pull request #8631 from OpenNMS/mm/NMS-20007-smoke

NMS-20007: Thresholding builds metadata scopes per resource and per threshold


  Commit: 58fe97cbc3037340136408509e7b19a42cb1f87a
      https://github.com/OpenNMS/opennms/commit/58fe97cbc3037340136408509e7b19a42cb1f87a
  Author: CI/CD System <[email protected]>
  Date:   2026-07-16 (Thu, 16 Jul 2026)

  Changed paths:
    M core/ipc/rpc/camel/src/main/java/org/opennms/core/rpc/camel/CamelRpcClientFactory.java
    R core/ipc/rpc/camel/src/test/java/org/opennms/core/rpc/camel/LocalRpcTimeoutTest.java
    A core/mate/api/src/main/java/org/opennms/core/mate/api/LazyScope.java
    A core/mate/api/src/test/java/org/opennms/core/mate/api/LazyScopeTest.java
    M features/collection/thresholding/impl/src/main/java/org/opennms/netmgt/threshd/ThresholdEntity.java
    M features/collection/thresholding/impl/src/main/java/org/opennms/netmgt/threshd/ThresholdingSetImpl.java
    M features/collection/thresholding/impl/src/main/java/org/opennms/netmgt/threshd/ThresholdingVisitorImpl.java

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/foundation-2024' into foundation-2025


  Commit: 9ce795e2e8f1f2e4f872cde8c95597aa80e69eae
      https://github.com/OpenNMS/opennms/commit/9ce795e2e8f1f2e4f872cde8c95597aa80e69eae
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-17 (Fri, 17 Jul 2026)

  Changed paths:
    M features/poller/client-rpc/src/main/java/org/opennms/netmgt/poller/client/rpc/PollerRequestBuilderImpl.java

  Log Message:
  -----------
  Merge pull request #8633 from OpenNMS/mm/NMS-20009-smoke

NMS-20009: Poller builds the metadata scope twice per poll


  Commit: 0277892a040c6c4cd083d9076490292fcee2b59a
      https://github.com/OpenNMS/opennms/commit/0277892a040c6c4cd083d9076490292fcee2b59a
  Author: CI/CD System <[email protected]>
  Date:   2026-07-17 (Fri, 17 Jul 2026)

  Changed paths:
    M core/ipc/rpc/camel/src/main/java/org/opennms/core/rpc/camel/CamelRpcClientFactory.java
    R core/ipc/rpc/camel/src/test/java/org/opennms/core/rpc/camel/LocalRpcTimeoutTest.java
    A core/mate/api/src/main/java/org/opennms/core/mate/api/LazyScope.java
    A core/mate/api/src/test/java/org/opennms/core/mate/api/LazyScopeTest.java
    M features/collection/thresholding/impl/src/main/java/org/opennms/netmgt/threshd/ThresholdEntity.java
    M features/collection/thresholding/impl/src/main/java/org/opennms/netmgt/threshd/ThresholdingSetImpl.java
    M features/collection/thresholding/impl/src/main/java/org/opennms/netmgt/threshd/ThresholdingVisitorImpl.java

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/foundation-2025' into release-36.x


  Commit: da5dee55992b696d75cdcbfc839bba111490b4d1
      https://github.com/OpenNMS/opennms/commit/da5dee55992b696d75cdcbfc839bba111490b4d1
  Author: CI/CD System <[email protected]>
  Date:   2026-07-17 (Fri, 17 Jul 2026)

  Changed paths:
    M features/poller/client-rpc/src/main/java/org/opennms/netmgt/poller/client/rpc/PollerRequestBuilderImpl.java

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/foundation-2024' into foundation-2025


  Commit: 69ccc0290c07251b23abba908af362108a2326d5
      https://github.com/OpenNMS/opennms/commit/69ccc0290c07251b23abba908af362108a2326d5
  Author: Chandra Gorantla <[email protected]>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M features/collection/client-rpc/src/main/resources/META-INF/opennms/applicationContext-rpc-collector.xml
    M features/collection/client-rpc/src/main/resources/OSGI-INF/blueprint/blueprint.xml
    A features/collection/client-rpc/src/test/java/org/opennms/netmgt/collection/client/rpc/CollectorExecutorLifecycleTest.java
    M features/poller/client-rpc/src/main/resources/META-INF/opennms/applicationContext-rpc-poller.xml
    M features/poller/client-rpc/src/main/resources/OSGI-INF/blueprint/blueprint.xml
    A features/poller/client-rpc/src/test/java/org/opennms/netmgt/poller/client/rpc/PollerExecutorLifecycleTest.java

  Log Message:
  -----------
  NMS-20046: Handle Poller/Collect RPC executor shutdown

Currently daemon shutdown is taking longer as orderly shutdown waits
for all the current jobs to execute properly. We need force shutdown
for RPCs as they have longer timeout


  Commit: 3219789618208820049415e6ba6d8bd8c0b12586
      https://github.com/OpenNMS/opennms/commit/3219789618208820049415e6ba6d8bd8c0b12586
  Author: Chandra Gorantla <[email protected]>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M features/collection/client-rpc/src/main/resources/META-INF/opennms/applicationContext-rpc-collector.xml
    M features/collection/client-rpc/src/main/resources/OSGI-INF/blueprint/blueprint.xml
    R features/collection/client-rpc/src/test/java/org/opennms/netmgt/collection/client/rpc/CollectorExecutorLifecycleTest.java
    M features/poller/client-rpc/src/main/resources/META-INF/opennms/applicationContext-rpc-poller.xml
    M features/poller/client-rpc/src/main/resources/OSGI-INF/blueprint/blueprint.xml
    R features/poller/client-rpc/src/test/java/org/opennms/netmgt/poller/client/rpc/PollerExecutorLifecycleTest.java

  Log Message:
  -----------
  Revert "NMS-20046: Handle Poller/Collect RPC executor shutdown"

This reverts commit 69ccc0290c07251b23abba908af362108a2326d5.


  Commit: 8f35e86a6fa16f1a45ba33d151bace5414aebdf5
      https://github.com/OpenNMS/opennms/commit/8f35e86a6fa16f1a45ba33d151bace5414aebdf5
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M core/ipc/rpc/api/src/main/java/org/opennms/core/rpc/api/RpcExceptionUtils.java
    M core/ipc/rpc/camel/src/main/java/org/opennms/core/rpc/camel/CamelRpcClientFactory.java
    A core/ipc/rpc/camel/src/test/java/org/opennms/core/rpc/camel/LocalRpcTimeoutTest.java
    M docs/modules/reference/pages/configuration/ttl-rpc.adoc

  Log Message:
  -----------
  NMS-20006: bound local RPC execution to a fixed, configurable timeout

Local (same-location) RPC execution in CamelRpcClientFactory is bounded
again so a module future that never completes cannot wedge its caller
(the NMS-19951 goal), but the bound is no longer the request TTL: it is
a fixed timeout, 30 minutes by default, configurable via the
org.opennms.core.ipc.rpc.local.timeout system property (0 disables).
TTL values resolved from snmp-config, service parameters, or the
collection interval no longer affect local execution, so
slow-but-completing local operations cannot be failed by configuration
intended for the Minion path.

RpcExceptionUtils now maps java.util.concurrent.TimeoutException to
onTimedOut, so an expired local execution is reported as a timeout
(e.g. CollectionTimedOut) rather than as an unexpected exception.


  Commit: cdd72bcb46bf3af04c3cf91e6a8e280db0fa6c36
      https://github.com/OpenNMS/opennms/commit/cdd72bcb46bf3af04c3cf91e6a8e280db0fa6c36
  Author: CI/CD System <[email protected]>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/foundation-2024' into foundation-2025


  Commit: 5e25bc2b22dbf3425f931a9f631df7cbde0180fe
      https://github.com/OpenNMS/opennms/commit/5e25bc2b22dbf3425f931a9f631df7cbde0180fe
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M smoke-test/src/main/java/org/opennms/smoketest/selenium/AbstractOpenNMSSeleniumHelper.java

  Log Message:
  -----------
  NMS-20049: harden smoke test login against CSRF/session race

Deleting cookies while the previous test's page is still loaded lets a
background request (e.g. a Vaadin heartbeat) race the login.jsp load
and swap the session cookie after the form is rendered. The form's
CSRF token then no longer matches, j_spring_security_check rejects the
POST and forwards to accessDenied.jsp, which passes login()'s
post-login checks. skipPasswordGate() then blocks for the full
timeout and the test runs unauthenticated, showing up as unrelated
flaky failures (GraphMLTopologyIT, TopologyIT, NodeDetailPageIT).

login() now parks on about:blank after cookie deletion so nothing can
race the form render, retries up to three times if the POST lands on
accessDenied.jsp, and skipPasswordGate() returns immediately when not
on the gate page instead of waiting for a button that never appears.


  Commit: d2a3b830e19da855eaac19015043696aac003e9d
      https://github.com/OpenNMS/opennms/commit/d2a3b830e19da855eaac19015043696aac003e9d
  Author: Scott Theleman <[email protected]>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M ui/DEVELOPMENT.md
    M ui/MENU_TEMPLATES.md
    M ui/README.md
    A ui/THIRD-PARTY-LICENSE.md
    M ui/copilot-instructions.md
    M ui/eslint.config.js
    M ui/package.json
    M ui/pnpm-lock.yaml
    A ui/scripts/generate-icons.mjs
    M ui/src/assets/Backup.vue
    M ui/src/assets/Compare.vue
    M ui/src/assets/Endpoints.vue
    M ui/src/assets/FileEditor.vue
    M ui/src/assets/Logs.vue
    M ui/src/assets/Speed.vue
    M ui/src/components/Configuration/ConfigurationAdvancedPanel.vue
    M ui/src/components/Configuration/ConfigurationCopyPasteDisplay.vue
    M ui/src/components/Configuration/ConfigurationCronSelector.vue
    M ui/src/components/Configuration/ConfigurationDrawer.vue
    M ui/src/components/Configuration/ConfigurationEmptyTable.vue
    M ui/src/components/Configuration/ConfigurationGeneratedUrl.vue
    M ui/src/components/Configuration/ConfigurationHeader.vue
    M ui/src/components/Configuration/ConfigurationHelpPanel.vue
    M ui/src/components/Configuration/ConfigurationHelper.ts
    M ui/src/components/Configuration/ConfigurationTable.vue
    M ui/src/components/Configuration/ConfigurationTableWrapper.vue
    M ui/src/components/Configuration/ConfigurationThreadPools.vue
    M ui/src/components/Configuration/ProvisionDForm.vue
    M ui/src/components/Device/DCBGroupFilters.vue
    M ui/src/components/Device/DCBModalConfigDiffContent.vue
    M ui/src/components/Device/DCBModalViewHistoryContent.vue
    M ui/src/components/Device/DCBSearch.vue
    M ui/src/components/Device/DCBTable.vue
    M ui/src/components/Device/DCBTableStatusDropdown.vue
    M ui/src/components/EventConfigEventCreate/AlarmDataInfo.vue
    M ui/src/components/EventConfigEventCreate/BasicInformation.vue
    M ui/src/components/EventConfigEventCreate/MaskElements.vue
    M ui/src/components/EventConfigEventCreate/MaskVarbinds.vue
    M ui/src/components/EventConfigEventCreate/VarbindsDecode.vue
    M ui/src/components/EventConfigEventCreate/constants.ts
    M ui/src/components/EventConfiguration/EventConfigSourceTable.vue
    M ui/src/components/EventConfiguration/EventConfigUploadFilesTab.vue
    M ui/src/components/EventConfigurationDetail/EventConfigEventTable.vue
    M ui/src/components/FileEditor/Console.vue
    M ui/src/components/FileEditor/FileSidebar.vue
    M ui/src/components/FileEditor/FileTreeItem.vue
    M ui/src/components/FileEditor/Help.vue
    M ui/src/components/FileEditor/Search.vue
    M ui/src/components/FileEditor/TopBar.vue
    M ui/src/components/Layout/BreadCrumbs.vue
    A ui/src/components/Layout/OnmsAppLayout.vue
    M ui/src/components/Logs/Editor.vue
    M ui/src/components/Map/LeafletMap.vue
    M ui/src/components/Map/MapAlarmsGrid.vue
    M ui/src/components/Map/MapNodesGrid.vue
    M ui/src/components/Map/MapSearch.vue
    M ui/src/components/Map/MarkerClusterPopupContent.vue
    M ui/src/components/Map/MarkerPopup.vue
    M ui/src/components/Map/SeverityFilter.vue
    M ui/src/components/Map/SortableTh.vue
    M ui/src/components/Map/utils.ts
    M ui/src/components/Menu/Menubar.vue
    M ui/src/components/Menu/Search.vue
    M ui/src/components/Menu/SearchResult.vue
    M ui/src/components/Menu/SideMenu.vue
    M ui/src/components/Menu/UserNotificationsMenuItem.vue
    M ui/src/components/Menu/UserSelfServiceMenuItem.vue
    M ui/src/components/Menu/useMenuIcons.ts
    M ui/src/components/Menu/utils.ts
    M ui/src/components/Nodes/AssetFilterPanel.vue
    M ui/src/components/Nodes/ColumnSelectionDrawer.vue
    M ui/src/components/Nodes/ExtendedSearchPanel.vue
    M ui/src/components/Nodes/FlowTooltipCell.vue
    M ui/src/components/Nodes/NodeActionsDropdown.vue
    M ui/src/components/Nodes/NodeAdvancedFiltersDrawer.vue
    M ui/src/components/Nodes/NodeDownloadDropdown.vue
    M ui/src/components/Nodes/NodesTable.vue
    M ui/src/components/Nodes/hooks/useNodeQuery.ts
    R ui/src/components/PrimeVueTest.vue
    M ui/src/components/Resources/Graph.vue
    M ui/src/components/Resources/GraphContainer.vue
    M ui/src/components/Resources/GraphDataTable.vue
    M ui/src/components/Resources/TimeControls.vue
    M ui/src/components/SCV/SCVAttribute.vue
    M ui/src/components/SCV/SCVForm.vue
    M ui/src/components/SCV/SCVList.vue
    M ui/src/components/SCV/ScvInputIcon.vue
    M ui/src/components/SCV/ScvSearchDrawer.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigDefaultsPanel.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigDefinitionBasicInformation.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigDefinitionsTab.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigDefinitionsTable.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigDetailsPanel.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigLookupPanel.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigLookupTab.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigPairedFieldInputs.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigProfileBasicInformation.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigProfilesTab.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigProfilesTable.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigUploadDownloadTab.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionProfile/ProfileDetailsTab.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionProfile/ProfileRrdSettingsTab.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionProfile/ProfileSourcesTab.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionProfile/SnmpDataCollectionProfileDetails.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionProfilesTable.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/Drawer/MibGroupCreationDrawer.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/Drawer/ResourceTypeCreationDrawer.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/Drawer/SnmpDataCollectionSourceProfilesDrawer.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/Drawer/SystemDefinitionCreationDrawer.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/MibGroupsTable.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/ResourceTypesTable.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/SystemDefinitionsTable.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceImport.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourcesTable.vue
    M ui/src/components/TrapdConfiguration/CreateSnmpV3User.vue
    M ui/src/components/TrapdConfiguration/GeneralConfiguration.vue
    M ui/src/components/TrapdConfiguration/SnmpV3UserManagement.vue
    M ui/src/components/TrapdConfiguration/TrapdAdvancedConfiguration.vue
    M ui/src/components/UsageStatistics/UsageStatisticsHeader.vue
    M ui/src/components/ZenithConnect/ZenithConnectRegister.vue
    M ui/src/components/ZenithConnect/ZenithConnectRegisterResult.vue
    M ui/src/components/ZenithConnect/ZenithConnectView.vue
    A ui/src/components/icons/OnmsIcon.vue
    A ui/src/components/icons/account/Group.vue
    A ui/src/components/icons/action/AccountCircle.vue
    A ui/src/components/icons/action/Add.vue
    A ui/src/components/icons/action/AddCircleAlt.vue
    A ui/src/components/icons/action/AddComment.vue
    A ui/src/components/icons/action/AddNote.vue
    A ui/src/components/icons/action/AddUser.vue
    A ui/src/components/icons/action/Archive.vue
    A ui/src/components/icons/action/AssignTo.vue
    A ui/src/components/icons/action/AttachEmail.vue
    A ui/src/components/icons/action/AttachFile.vue
    A ui/src/components/icons/action/Build.vue
    A ui/src/components/icons/action/Business.vue
    A ui/src/components/icons/action/Calendar.vue
    A ui/src/components/icons/action/CalendarEndDate.vue
    A ui/src/components/icons/action/CalendarStartDate.vue
    A ui/src/components/icons/action/Cancel.vue
    A ui/src/components/icons/action/ChangeOwner.vue
    A ui/src/components/icons/action/CheckCircle.vue
    A ui/src/components/icons/action/Cloud.vue
    A ui/src/components/icons/action/CloudDownload.vue
    A ui/src/components/icons/action/CloudUpload.vue
    A ui/src/components/icons/action/Code.vue
    A ui/src/components/icons/action/Comment.vue
    A ui/src/components/icons/action/ContactSupport.vue
    A ui/src/components/icons/action/ContentCopy.vue
    A ui/src/components/icons/action/ContentPaste.vue
    A ui/src/components/icons/action/Cycle.vue
    A ui/src/components/icons/action/Dashboard.vue
    A ui/src/components/icons/action/DateRange.vue
    A ui/src/components/icons/action/Delete.vue
    A ui/src/components/icons/action/DownloadFile.vue
    A ui/src/components/icons/action/Edit.vue
    A ui/src/components/icons/action/EditMode.vue
    A ui/src/components/icons/action/Email.vue
    A ui/src/components/icons/action/EmailDraft.vue
    A ui/src/components/icons/action/EmailInbox.vue
    A ui/src/components/icons/action/EmailSecure.vue
    A ui/src/components/icons/action/ExitToApp.vue
    A ui/src/components/icons/action/Expand.vue
    A ui/src/components/icons/action/Feedback.vue
    A ui/src/components/icons/action/FeedbackAlt.vue
    A ui/src/components/icons/action/FileCopy.vue
    A ui/src/components/icons/action/FilterAlt.vue
    A ui/src/components/icons/action/Group.vue
    A ui/src/components/icons/action/Help.vue
    A ui/src/components/icons/action/Hide.vue
    A ui/src/components/icons/action/Home.vue
    A ui/src/components/icons/action/Info.vue
    A ui/src/components/icons/action/InformationExchange.vue
    A ui/src/components/icons/action/LightDarkMode.vue
    A ui/src/components/icons/action/Link.vue
    A ui/src/components/icons/action/List.vue
    A ui/src/components/icons/action/Location.vue
    A ui/src/components/icons/action/LocationCity.vue
    A ui/src/components/icons/action/Lock.vue
    A ui/src/components/icons/action/LockPasswordProtected.vue
    A ui/src/components/icons/action/LogIn.vue
    A ui/src/components/icons/action/LogOut.vue
    A ui/src/components/icons/action/LoggerConfigs.vue
    A ui/src/components/icons/action/ManageProfile.vue
    A ui/src/components/icons/action/MarkComplete.vue
    A ui/src/components/icons/action/MarkIncomplete.vue
    A ui/src/components/icons/action/MarkRead.vue
    A ui/src/components/icons/action/MarkUnread.vue
    A ui/src/components/icons/action/Notifications.vue
    A ui/src/components/icons/action/Options.vue
    A ui/src/components/icons/action/Person.vue
    A ui/src/components/icons/action/Pin.vue
    A ui/src/components/icons/action/PlayCircle.vue
    A ui/src/components/icons/action/Print.vue
    A ui/src/components/icons/action/Remove.vue
    A ui/src/components/icons/action/RemoveUser.vue
    A ui/src/components/icons/action/Reporting.vue
    A ui/src/components/icons/action/Restore.vue
    A ui/src/components/icons/action/Search.vue
    A ui/src/components/icons/action/Send.vue
    A ui/src/components/icons/action/SendWorkflow.vue
    A ui/src/components/icons/action/Settings.vue
    A ui/src/components/icons/action/Share.vue
    A ui/src/components/icons/action/Sort.vue
    A ui/src/components/icons/action/Subscriptions.vue
    A ui/src/components/icons/action/SupportCenter.vue
    A ui/src/components/icons/action/Unlock.vue
    A ui/src/components/icons/action/UpdateSchedules.vue
    A ui/src/components/icons/action/UpdateUtilities.vue
    A ui/src/components/icons/action/UploadFile.vue
    A ui/src/components/icons/action/VerifedUser.vue
    A ui/src/components/icons/action/View.vue
    A ui/src/components/icons/action/ViewDetails.vue
    A ui/src/components/icons/action/Workflow.vue
    A ui/src/components/icons/communication/Certificate.vue
    A ui/src/components/icons/communication/CertificateAlt.vue
    A ui/src/components/icons/communication/Chat.vue
    A ui/src/components/icons/communication/Contacts.vue
    A ui/src/components/icons/communication/Documentation.vue
    A ui/src/components/icons/communication/IdCard.vue
    A ui/src/components/icons/communication/Phone.vue
    A ui/src/components/icons/content/BlogArticle.vue
    A ui/src/components/icons/content/Video.vue
    A ui/src/components/icons/datavis/AreaChart.vue
    A ui/src/components/icons/datavis/BarChart.vue
    A ui/src/components/icons/datavis/ColumnChart.vue
    A ui/src/components/icons/datavis/DonutChart.vue
    A ui/src/components/icons/datavis/Gauge.vue
    A ui/src/components/icons/datavis/LineChart.vue
    A ui/src/components/icons/datavis/PieChart.vue
    A ui/src/components/icons/datavis/PolarChart.vue
    A ui/src/components/icons/datavis/Reporting.vue
    A ui/src/components/icons/datavis/StackedBarChart.vue
    A ui/src/components/icons/datavis/StackedColumnChart.vue
    A ui/src/components/icons/datavis/TreeDiagram.vue
    A ui/src/components/icons/file/Attachment.vue
    A ui/src/components/icons/file/Folder.vue
    A ui/src/components/icons/file/FolderAdd.vue
    A ui/src/components/icons/file/FolderLocked.vue
    A ui/src/components/icons/file/FolderOpen.vue
    A ui/src/components/icons/file/Generic.vue
    A ui/src/components/icons/file/Image.vue
    A ui/src/components/icons/file/Pdf.vue
    A ui/src/components/icons/file/Text.vue
    A ui/src/components/icons/file/WordDoc.vue
    A ui/src/components/icons/file/Xls.vue
    A ui/src/components/icons/file/Zip.vue
    A ui/src/components/icons/hardware/ApplianceProfiles.vue
    A ui/src/components/icons/hardware/Appliances.vue
    A ui/src/components/icons/hardware/AppliancesAlt.vue
    A ui/src/components/icons/hardware/DesktopWindows.vue
    A ui/src/components/icons/hardware/Instances.vue
    A ui/src/components/icons/hardware/KeyboardArrowDown.vue
    A ui/src/components/icons/hardware/KeyboardArrowUp.vue
    A ui/src/components/icons/hardware/Laptop.vue
    A ui/src/components/icons/hardware/MinionProfiles.vue
    A ui/src/components/icons/hardware/Network.vue
    A ui/src/components/icons/hardware/NetworkProfiles.vue
    A ui/src/components/icons/hardware/Router.vue
    A ui/src/components/icons/hardware/Security.vue
    A ui/src/components/icons/hardware/Server.vue
    A ui/src/components/icons/hardware/VirtualMachine.vue
    A ui/src/components/icons/hardware/VirtualMachineAlt.vue
    A ui/src/components/icons/medical/Ambulance.vue
    A ui/src/components/icons/medical/CostSavings.vue
    A ui/src/components/icons/medical/Drug.vue
    A ui/src/components/icons/medical/DrugGroupId.vue
    A ui/src/components/icons/medical/Hospital.vue
    A ui/src/components/icons/medical/Patient.vue
    A ui/src/components/icons/medical/Payor.vue
    A ui/src/components/icons/medical/Provider.vue
    A ui/src/components/icons/medical/ProviderOffice.vue
    A ui/src/components/icons/medical/Treatment.vue
    A ui/src/components/icons/medical/TreatmentCycle.vue
    A ui/src/components/icons/medical/TreatmentSchedule.vue
    A ui/src/components/icons/medical/Vitals.vue
    A ui/src/components/icons/navigation/Apps.vue
    A ui/src/components/icons/navigation/AppsGetMore.vue
    A ui/src/components/icons/navigation/ArrowBack.vue
    A ui/src/components/icons/navigation/ArrowDropDown.vue
    A ui/src/components/icons/navigation/Cancel.vue
    A ui/src/components/icons/navigation/ChevronLeft.vue
    A ui/src/components/icons/navigation/ChevronRight.vue
    A ui/src/components/icons/navigation/ExpandLess.vue
    A ui/src/components/icons/navigation/ExpandMore.vue
    A ui/src/components/icons/navigation/FirstPage.vue
    A ui/src/components/icons/navigation/Fullscreen.vue
    A ui/src/components/icons/navigation/FullscreenExit.vue
    A ui/src/components/icons/navigation/GridView.vue
    A ui/src/components/icons/navigation/LastPage.vue
    A ui/src/components/icons/navigation/Menu.vue
    A ui/src/components/icons/navigation/MenuClose.vue
    A ui/src/components/icons/navigation/MenuOpen.vue
    A ui/src/components/icons/navigation/MoreHoriz.vue
    A ui/src/components/icons/navigation/MoreVert.vue
    A ui/src/components/icons/navigation/Refresh.vue
    A ui/src/components/icons/navigation/SubdirectoryArrowLeft.vue
    A ui/src/components/icons/navigation/SubdirectoryArrowRight.vue
    A ui/src/components/icons/navigation/UnfoldLess.vue
    A ui/src/components/icons/navigation/UnfoldMore.vue
    A ui/src/components/icons/network/AggregationLayer.vue
    A ui/src/components/icons/network/AggregationLayerAlt1.vue
    A ui/src/components/icons/network/AggregationLayerAlt2.vue
    A ui/src/components/icons/network/AggregationLayerAlt3.vue
    A ui/src/components/icons/network/AggregationLayerAlt4.vue
    A ui/src/components/icons/network/AggregationLayerAlt5.vue
    A ui/src/components/icons/network/ApiConfig.vue
    A ui/src/components/icons/network/ApiEndpoints.vue
    A ui/src/components/icons/network/ApplianceProfiles.vue
    A ui/src/components/icons/network/Appliances.vue
    A ui/src/components/icons/network/AppliancesAlt.vue
    A ui/src/components/icons/network/Build.vue
    A ui/src/components/icons/network/CertificateAlt.vue
    A ui/src/components/icons/network/Cloud.vue
    A ui/src/components/icons/network/CloudBackUp.vue
    A ui/src/components/icons/network/CloudDownload.vue
    A ui/src/components/icons/network/CloudService.vue
    A ui/src/components/icons/network/CloudUpload.vue
    A ui/src/components/icons/network/Code.vue
    A ui/src/components/icons/network/Compare.vue
    A ui/src/components/icons/network/Compare1.vue
    A ui/src/components/icons/network/Compliance.vue
    A ui/src/components/icons/network/Configuration.vue
    A ui/src/components/icons/network/Connection.vue
    A ui/src/components/icons/network/ContainerAdd.vue
    A ui/src/components/icons/network/ContainerTransient.vue
    A ui/src/components/icons/network/ContainerUnknown.vue
    A ui/src/components/icons/network/Database.vue
    A ui/src/components/icons/network/Desktop.vue
    A ui/src/components/icons/network/Digitize.vue
    A ui/src/components/icons/network/DistributedMonitoring.vue
    A ui/src/components/icons/network/ElectricalServices.vue
    A ui/src/components/icons/network/EndUser.vue
    A ui/src/components/icons/network/ExitCompare.vue
    A ui/src/components/icons/network/ExitCompareModeAlt.vue
    A ui/src/components/icons/network/ExtractData.vue
    A ui/src/components/icons/network/Firewall.vue
    A ui/src/components/icons/network/Instances.vue
    A ui/src/components/icons/network/Inventory.vue
    A ui/src/components/icons/network/InventoryAdd.vue
    A ui/src/components/icons/network/InventoryAlt.vue
    A ui/src/components/icons/network/InventoryConfirm.vue
    A ui/src/components/icons/network/InventoryDelete.vue
    A ui/src/components/icons/network/Laptop.vue
    A ui/src/components/icons/network/LogFile.vue
    A ui/src/components/icons/network/LoggerConfigs.vue
    A ui/src/components/icons/network/Logs.vue
    A ui/src/components/icons/network/LogsAlt.vue
    A ui/src/components/icons/network/Microservices.vue
    A ui/src/components/icons/network/Minion.vue
    A ui/src/components/icons/network/MinionProfiles.vue
    A ui/src/components/icons/network/Monitoring.vue
    A ui/src/components/icons/network/NetworkProfiles.vue
    A ui/src/components/icons/network/Nodes.vue
    A ui/src/components/icons/network/Policy.vue
    A ui/src/components/icons/network/Power.vue
    A ui/src/components/icons/network/RouterLan.vue
    A ui/src/components/icons/network/RouterWan.vue
    A ui/src/components/icons/network/Security.vue
    A ui/src/components/icons/network/SecurityScan.vue
    A ui/src/components/icons/network/Server.vue
    A ui/src/components/icons/network/ServerClock.vue
    A ui/src/components/icons/network/Switch.vue
    A ui/src/components/icons/network/Terminal.vue
    A ui/src/components/icons/network/UpdateUtilities.vue
    A ui/src/components/icons/network/Utilities.vue
    A ui/src/components/icons/network/ViewCode.vue
    A ui/src/components/icons/network/VirtualMachine.vue
    A ui/src/components/icons/network/VirtualMachineAlt.vue
    A ui/src/components/icons/network/VirtualMachineAlt2.vue
    A ui/src/components/icons/network/WifiRouter.vue
    A ui/src/components/icons/notification/Connected.vue
    A ui/src/components/icons/notification/Error.vue
    A ui/src/components/icons/notification/NotificationSelected.vue
    A ui/src/components/icons/notification/NotificationSoundSelected.vue
    A ui/src/components/icons/notification/NotificationsOff.vue
    A ui/src/components/icons/notification/Unconnected.vue
    A ui/src/components/icons/notification/Warning.vue
    A ui/src/components/icons/notification/Wifi.vue
    A ui/src/components/icons/notification/WifiNoConnection.vue
    A ui/src/components/icons/notification/WifiOff.vue
    A ui/src/components/icons/notification/WifiSignalBad.vue
    A ui/src/components/icons/notification/WifiStatusBar.vue
    A ui/src/components/icons/status/Available.vue
    A ui/src/components/icons/status/Unavailable.vue
    A ui/src/composables/useOutsideClick.ts
    M ui/src/composables/useQueryParams.ts
    M ui/src/containers/DeviceConfigBackup.vue
    M ui/src/containers/EventConfigEventCreate.vue
    M ui/src/containers/EventConfigurationDetail.vue
    M ui/src/containers/FileEditor.vue
    M ui/src/containers/Home.vue
    M ui/src/containers/Logs.vue
    M ui/src/containers/Nodes.vue
    M ui/src/containers/ProvisionDConfig.vue
    M ui/src/containers/ResourceGraphs.vue
    M ui/src/containers/SnmpDataCollection.vue
    M ui/src/containers/SnmpDataCollectionSourceDetail.vue
    M ui/src/containers/UsageStatistics.vue
    M ui/src/containers/ZenithConnectSuccess.vue
    M ui/src/lib/constants.ts
    M ui/src/lib/sorting.ts
    M ui/src/lib/trapdValidator.ts
    M ui/src/main/App.vue
    M ui/src/main/index.html
    M ui/src/main/main.ts
    M ui/src/main/router/index.ts
    M ui/src/menu/index.html
    M ui/src/menu/main.ts
    M ui/src/stores/mapStore.ts
    M ui/src/stores/nodeStructureStore.ts
    A ui/src/styles/_onms-color-utils.scss
    A ui/src/styles/_onms-elevation.scss
    A ui/src/styles/_onms-table.scss
    A ui/src/styles/_onms-tokens.scss
    A ui/src/styles/_onms-typography.scss
    M ui/src/styles/_severities.scss
    M ui/src/styles/_transitionDataTable.scss
    A ui/src/styles/onms-base.scss
    M ui/src/styles/onms-grid.scss
    A ui/src/styles/onms-theme.scss
    R ui/src/styles/opennms-feather-styles.scss
    A ui/src/styles/opennms-styles.scss
    M ui/src/styles/themes.scss
    M ui/src/theme/opennms-preset.ts
    M ui/src/types/index.ts
    M ui/src/types/snmpConfig.ts
    M ui/tests/components/Menu/utils.test.ts
    M ui/tests/components/Nodes/AssetFilterPanel.test.ts
    M ui/tests/components/Nodes/ExtendedSearchPanel.test.ts
    M ui/tests/components/Nodes/NodesTable.test.ts
    M ui/tests/components/TrapdConfiguration/CreateSnmpV3User.test.ts
    M ui/tests/components/TrapdConfiguration/SnmpV3UserManagement.test.ts
    M ui/tests/components/TrapdConfiguration/TrapdAdvancedConfiguration.test.ts
    M ui/tests/lib/sorting.test.ts
    M ui/vite.config.menu.ts
    M ui/vite.config.ts

  Log Message:
  -----------
  NMS-19981: PrimeVue migration: Replace Feather icons, completely remove Feather (#8636)

* NMS-19981: Vendor all FeatherDS icons as local OnmsIcon components

Generate local template-only SFCs for all 262 @featherds/icon glyphs into
src/components/icons/<category>/<Name>.vue (SVG geometry copied verbatim via a
one-time render-to-string generator, scripts/generate-icons.mjs), plus a
self-contained OnmsIcon wrapper (depends only on vue) replacing FeatherIcon
with the same :icon/flex/title API. No app code wired to these yet.

* NMS-19981: Repoint icon usage to vendored OnmsIcon

Rewrite all @featherds/icon imports across src to the local vendored icons +
OnmsIcon wrapper (<FeatherIcon> -> <OnmsIcon>; deep icon imports ->
@/components/icons/<cat>/<Name>.vue). Rename the .feather-icon CSS class to
.onms-icon in the 5 consuming components; retype icon components from
typeof FeatherIcon/DefineComponent to vue Component in Menu/utils.ts and
UserSelfServiceMenuItem.vue; convert SideMenu's PrimeIcons toggle/submenu
chevron to OnmsIcon (ChevronLeft/ChevronRight); rename 5 test stubs; ignore
scripts/ in eslint.

No @featherds/icon imports remain in src. The package stays in package.json:
other still-present @featherds/* packages (@featherds/input-helper source)
import it transitively and rely on it being hoisted; it will be removed when
those packages are dropped later in Phase 6.

* NMS-19981: Vendor FeatherDS typography mixins as onms- mixins

Replace @featherds/styles/mixins/typography with local, self-contained
src/styles/_onms-typography.scss (all 15 typography mixins as onms-*, Feather
metrics inlined, Inter/OpenSans literals, color via var(--p-text-color)).
Repoint all 54 consumers (both @import and @use forms) and rename @include
sites to onms-. Other @featherds/styles imports remain for later Phase 6 steps.

* NMS-19981: Migrate FeatherDS grid classes to onms-grid

Replace the remaining feather-row/feather-col-12 (Home, UsageStatistics)
with onms-row/onms-col-12, and feather-container (ProvisionDConfig) with a
new .onms-container in onms-grid.scss (max-width 75rem + 1.5rem padding,
matching FeatherDS). Remove the now-unused @featherds/styles/lib/grid import
from App.vue. No responsive/offset variants were in use.

* NMS-19981: Vendor FeatherDS elevation mixin as onms-elevation

Replace @featherds/styles/mixins/elevation with local self-contained
src/styles/_onms-elevation.scss: parameterized onms-elevation($level) with the
Material box-shadow ramp inlined as literals (levels 0-4; app uses 1/2) and the
elevated surface via var(--p-content-background). Rewrite the 9 @include sites
(incl. one namespaced @use) and remove the dead elevation import from 7 files
that imported but never used it.

* NMS-19981: Vendor FeatherDS type/enum shims into @/types

Define SORT (enum; asc/desc/none values preserved), ISelectItemType and
IAutocompleteItemType (loose index-signature interfaces) locally in
src/types/index.ts, and repoint all imports from @featherds/{table,select,
autocomplete} to @/types (8 SORT + 13 ISelectItemType + 6 IAutocompleteItemType
sites). @featherds/select and @featherds/autocomplete now have no source usage;
@featherds/table remains only via its table SCSS (separate cleanup).

* NMS-19981: Vendor FeatherDS table SCSS as onms-table

Add src/styles/_onms-table.scss with onms-table()/onms-table-condensed() mixins
(the only two the app used) copied verbatim from @featherds/table, typography via
onms-typography and border/text tokens mapped to --p-*. Rewrite the 4 @include
consumers (GraphDataTable, Map alarm/node grids, MarkerClusterPopupContent) and
remove the dead @use import from 4 files (NodeAdvancedFiltersDrawer, 3 SnmpConfig
tabs). @featherds/table now has no source usage.

* NMS-19981: Fix Geographical Map overlay controls

- Search box: reposition top-left (was hidden under the fixed menu bar), add a
  magnifying-glass icon + a translucent light panel/padding, white input.
- Show Severity: drop the '>=' from the label, force dark-on-white so it reads
  over the always-light map in dark mode, translucent panel/padding.
- Push Leaflet zoom/layer controls below the fixed menu bar; drop the layers
  control's expanded list below its icon so it no longer overlaps Show Severity.
- Stop the map + controls shifting up on first click: disable Leaflet keyboard
  focus and drop the container tabindex (the browser was scrolling the
  focus-target container into view from under the fixed menu bar).

* NMS-19981: Fix Map table sticky header (CSS position:sticky, drop JS scroll-transform hack)

* NMS-19981: Lock Map sticky header immediately (move top gap to scroll container)

* NMS-19981: Make Map Search & Show Severity controls theme-aware (dark mode)

* NMS-19981: Lay Alarm Action label + dropdown on one line inline with tabs

* NMS-19981: Keep Map popups below top menu on open (menu-aware autoPan), fix double scroll

* NMS-19981: Remove remaining Feather components; vendor OnmsAppLayout + useOutsideClick; drop 40 @featherds packages

* NMS-19981: Add themes/variables token-migration implementation plan

* NMS-19981: Add owned onms- token layer (tokens, theme, color-utils)

* NMS-19981: Wire onms- theme into SPA + menu builds; migrate global style files off Feather tokens

* NMS-19981: Repoint var($token) consumers (~30 files) to onms-tokens; add primary-text-on-surface

* NMS-19981: Repoint raw var(--feather-*) literals to var(--onms-*)

* NMS-19981: Convert local feather severity overrides + preset comment to onms

* NMS-19981: Vendor base reset (onms-base); drop Feather theme + @featherds/styles; FeatherDS fully removed from UI

* NMS-19981: Update docs for FeatherDS removal (PrimeVue + onms- layer)

* NMS-19981: De-Feather cleanup (comments, class/type renames, dead code, opennms-styles rename) + fix SPA content top-offset below fixed menubar

* Small version updates !smoke

* Remove design docs

* NMS-19981: Add Apache-2.0 attribution for vendored FeatherDS code

Add ui/THIRD-PARTY-LICENSE.md documenting the FeatherDS (@featherds/*
0.12.x, (C) NantHealth, Apache-2.0) code vendored during the de-Feather
work: the 262 icon SFCs plus the derived composable, styles, types, and
layout files, marked verbatim vs modified, with the full Apache-2.0 text
(satisfies Apache-2.0 section 4). Reference it from ui/README.md and add a
source-level attribution note to useOutsideClick.ts reconciling the AGPLv3
header with the upstream Apache-2.0 grant.

* NMS-19981: Restore Leaflet keyboard nav (WCAG 2.1.1); handle focus-scroll via CSS

Re-enable Leaflet keyboard support on the map (arrow-key pan / +- zoom) that
was previously disabled to stop a click-focus scroll shift under the fixed
menu bar; removing it failed WCAG 2.1.1. Instead reserve the menu-bar height
with scroll-margin-top on the .leaflet-container so the focus-triggered
scroll-into-view stops below the bar rather than sliding the map under it.

* NMS-19981: Open map popups below the marker; stop autoPan map-jump

Marker and cluster popups previously opened above the marker with autoPan on,
so clicking a marker in the upper part of the map (under the fixed menu bar)
panned the whole map down to fit the popup. Turn autoPan off and, in a
popupopen handler, offset each popup below its marker by the popup's own
measured height (Leaflet has no popup direction option). Hide the now-pointless
tip via .onms-popup-below. Bottom-edge markers, where a below-popup would run
past the map's lower edge, get a one-directional pan-up nudge to reveal it;
top markers never shift.

Also close the open popup on Esc regardless of focus: Leaflet's own Esc-to-close
only fires while the map container is focused, so tabbing into the popup's links
blurred it and broke Esc. A document keydown listener, attached only while a
popup is open and running in the bubble phase, closes the popup without
competing with the menu search's Esc handler (which stops propagation first).

* NMS-19981: Keep legacy JSP text/link colors readable in dark mode

The standalone menu bundle applies the .open-light/.open-dark theme class to
<html>/<body> of legacy JSP pages, but those pages are not dark-theme aware
(their background stays light). In dark mode the themed tokens then flipped to
their on-dark values, making legacy content unreadable: links
(--onms-clickable-normal, light blue) and all text via the typography mixins'
--p-text-color (white) on a light page.

Pin both tokens to their light-theme values on the legacy content containers
(#content, breadcrumb nav, footer). Elements keep using the shared tokens, so
links, headings, footer and table text are all covered. The Vue menu mounts
inside #content and legitimately tracks the theme (inline Popovers use
--p-text-color), so it is re-asserted to the dark values under .open-dark and
renders unchanged.

* NMS-19981: Force native <select> to light rendering on legacy pages

In dark mode PrimeVue sets color-scheme: dark on the document, so the browser
painted native <select> controls (e.g. the Alarm/Event/Outage list filters,
select.form-control.custom-select) with a dark background — while their text is
pinned to the light-theme --p-text-color, leaving dark-on-dark and unreadable.
Legacy JSP pages are light-only, so set color-scheme: light on <select> to
render native controls (and their option popups) light in both modes. The Vue
menu uses PrimeVue components rather than native <select>, so it is unaffected.


  Commit: 23d61a501fc3ca7607a34e131406b031800988ba
      https://github.com/OpenNMS/opennms/commit/23d61a501fc3ca7607a34e131406b031800988ba
  Author: Christian Pape <[email protected]>
  Date:   2026-07-22 (Wed, 22 Jul 2026)

  Changed paths:
    M pom.xml

  Log Message:
  -----------
  NMS-19996: Bumped netty version


  Commit: dd6e40cceb81da19172ad358ee98a415ad843530
      https://github.com/OpenNMS/opennms/commit/dd6e40cceb81da19172ad358ee98a415ad843530
  Author: Christian Pape <[email protected]>
  Date:   2026-07-22 (Wed, 22 Jul 2026)

  Changed paths:
    M pom.xml

  Log Message:
  -----------
  NMS-20034: Bumped mina version


  Commit: ffb62839abb62b58293a48203bae68013059f0ea
      https://github.com/OpenNMS/opennms/commit/ffb62839abb62b58293a48203bae68013059f0ea
  Author: Christian Pape <[email protected]>
  Date:   2026-07-22 (Wed, 22 Jul 2026)

  Changed paths:
    M pom.xml

  Log Message:
  -----------
  NMS-19931: Bumped jackson-databind version


  Commit: c85a7faec1640b5443ece44c14fbe15bc38aa89a
      https://github.com/OpenNMS/opennms/commit/c85a7faec1640b5443ece44c14fbe15bc38aa89a
  Author: CI/CD System <[email protected]>
  Date:   2026-07-22 (Wed, 22 Jul 2026)

  Changed paths:
    M pom.xml

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/foundation-2024' into foundation-2025


  Commit: 01723b76d91c7455bea56e773fb5a53af110b5ff
      https://github.com/OpenNMS/opennms/commit/01723b76d91c7455bea56e773fb5a53af110b5ff
  Author: CI/CD System <[email protected]>
  Date:   2026-07-22 (Wed, 22 Jul 2026)

  Changed paths:
    M features/poller/client-rpc/src/main/java/org/opennms/netmgt/poller/client/rpc/PollerRequestBuilderImpl.java
    M pom.xml

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/foundation-2025' into release-36.x


  Commit: 572db79e320b4841376b5eb58dc9b921a68aaac2
      https://github.com/OpenNMS/opennms/commit/572db79e320b4841376b5eb58dc9b921a68aaac2
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-22 (Wed, 22 Jul 2026)

  Changed paths:
    M core/ipc/rpc/api/src/main/java/org/opennms/core/rpc/api/RpcExceptionUtils.java
    M core/ipc/rpc/camel/src/main/java/org/opennms/core/rpc/camel/CamelRpcClientFactory.java
    A core/ipc/rpc/camel/src/test/java/org/opennms/core/rpc/camel/LocalRpcTimeoutTest.java
    M docs/modules/reference/pages/configuration/ttl-rpc.adoc

  Log Message:
  -----------
  Merge pull request #8641 from OpenNMS/mm/NMS-20006-smoke

NMS-20006: bound local RPC execution with a timeout decoupled from the TTL


  Commit: 32415ae77aadde9fb098d1c5f474431eabba495f
      https://github.com/OpenNMS/opennms/commit/32415ae77aadde9fb098d1c5f474431eabba495f
  Author: Christian Pape <[email protected]>
  Date:   2026-07-22 (Wed, 22 Jul 2026)

  Changed paths:
    M features/vaadin-surveillance-views/src/main/java/org/opennms/features/vaadin/surveillanceviews/ui/SurveillanceViewTable.java
    M opennms-webapp/src/main/java/org/opennms/web/controller/notification/NotificationFilterController.java
    M opennms-webapp/src/main/java/org/opennms/web/nodelabel/NodeLabelChangeServlet.java
    M opennms-webapp/src/main/webapp/WEB-INF/jsp/alarm/list.jsp
    M opennms-webapp/src/main/webapp/WEB-INF/jsp/notification/list.jsp
    M opennms-webapp/src/main/webapp/WEB-INF/jsp/outage/list.jsp
    M opennms-webapp/src/main/webapp/WEB-INF/templates/navbar.ftl
    M opennms-webapp/src/main/webapp/admin/nodelabel.jsp
    M opennms-webapp/src/main/webapp/element/node.jsp

  Log Message:
  -----------
  NMS-17875: Fixed XSS issues

(cherry picked from commit 627a2fbb7f29d978182877482d2801c7fba7e376)


  Commit: b6f6dde420a94c47288cef7596a7fd5f8fe9672e
      https://github.com/OpenNMS/opennms/commit/b6f6dde420a94c47288cef7596a7fd5f8fe9672e
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-22 (Wed, 22 Jul 2026)

  Changed paths:
    M smoke-test/src/main/java/org/opennms/smoketest/selenium/AbstractOpenNMSSeleniumHelper.java

  Log Message:
  -----------
  Merge pull request #8649 from OpenNMS/mm/NMS-20049-smoke

NMS-20049: harden smoke test login against CSRF/session race


  Commit: bde5a682dc6dc80c330d7ffda72af2f7eac82452
      https://github.com/OpenNMS/opennms/commit/bde5a682dc6dc80c330d7ffda72af2f7eac82452
  Author: CI/CD System <[email protected]>
  Date:   2026-07-22 (Wed, 22 Jul 2026)

  Changed paths:
    M core/ipc/rpc/api/src/main/java/org/opennms/core/rpc/api/RpcExceptionUtils.java
    M core/ipc/rpc/camel/src/main/java/org/opennms/core/rpc/camel/CamelRpcClientFactory.java
    A core/ipc/rpc/camel/src/test/java/org/opennms/core/rpc/camel/LocalRpcTimeoutTest.java
    M docs/modules/reference/pages/configuration/ttl-rpc.adoc
    M smoke-test/src/main/java/org/opennms/smoketest/selenium/AbstractOpenNMSSeleniumHelper.java

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/foundation-2024' into foundation-2025


  Commit: 1d59bcf917d84dd2c150e06a98cb65141f5626e2
      https://github.com/OpenNMS/opennms/commit/1d59bcf917d84dd2c150e06a98cb65141f5626e2
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-22 (Wed, 22 Jul 2026)

  Changed paths:
    M features/vaadin-surveillance-views/src/main/java/org/opennms/features/vaadin/surveillanceviews/ui/SurveillanceViewTable.java
    M opennms-webapp/src/main/java/org/opennms/web/controller/notification/NotificationFilterController.java
    M opennms-webapp/src/main/java/org/opennms/web/nodelabel/NodeLabelChangeServlet.java
    M opennms-webapp/src/main/webapp/WEB-INF/jsp/alarm/list.jsp
    M opennms-webapp/src/main/webapp/WEB-INF/jsp/notification/list.jsp
    M opennms-webapp/src/main/webapp/WEB-INF/jsp/outage/list.jsp
    M opennms-webapp/src/main/webapp/WEB-INF/templates/navbar.ftl
    M opennms-webapp/src/main/webapp/admin/nodelabel.jsp
    M opennms-webapp/src/main/webapp/element/node.jsp

  Log Message:
  -----------
  Merge pull request #8651 from OpenNMS/mm/NMS-17875-2023-smoke

NMS-17875: (Porting to F2023) Fixed XSS issues


  Commit: d7f5e3c385eabbd148b474a638a5e46e5aca1c6e
      https://github.com/OpenNMS/opennms/commit/d7f5e3c385eabbd148b474a638a5e46e5aca1c6e
  Author: CI/CD System <[email protected]>
  Date:   2026-07-22 (Wed, 22 Jul 2026)

  Changed paths:

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/foundation-2023' into foundation-2024


  Commit: a5fa123ca6de4eae06b78ba4eaad808ce5768d9e
      https://github.com/OpenNMS/opennms/commit/a5fa123ca6de4eae06b78ba4eaad808ce5768d9e
  Author: Scott Theleman <[email protected]>
  Date:   2026-07-22 (Wed, 22 Jul 2026)

  Changed paths:
    M features/config/test/src/test/java/org/opennms/features/config/service/config/FakeXsdForTest.java
    M features/config/upgrade/pom.xml
    A features/config/upgrade/src/main/java/org/opennms/config/upgrade/TrapdSnmpv3UserIdBackfill.java
    M features/config/upgrade/src/main/java/org/opennms/config/upgrade/UpgradeConfigService.java
    M features/config/upgrade/src/main/resources/changelog-cm/36.0.0/changelog-cm.xml
    A features/config/upgrade/src/test/java/liquibase/ext2/cm/change/TrapdSchemaHashTest.java
    A features/config/upgrade/src/test/java/org/opennms/config/upgrade/TrapdSnmpv3UserIdBackfillIT.java
    M features/scv/api/src/main/java/org/opennms/features/scv/utils/ScvUtils.java
    M opennms-config-jaxb/src/main/java/org/opennms/netmgt/config/trapd/Snmpv3User.java
    M opennms-config-jaxb/src/main/java/org/opennms/netmgt/config/trapd/TrapdConfiguration.java
    A opennms-config-jaxb/src/main/resources/xsds/trapd-configuration-1.1.xsd
    M opennms-config-jaxb/src/test/java/org/opennms/netmgt/config/trapd/TrapdConfigurationTest.java
    M opennms-dao/src/main/java/org/opennms/netmgt/dao/jaxb/DefaultTrapdConfigDao.java
    M opennms-webapp-rest/pom.xml
    A opennms-webapp-rest/src/main/java/org/opennms/web/rest/support/MaskedCredential.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/support/SecurityHelper.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/TrapdRestService.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/api/TrapdRestApi.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/model/Snmpv3UserDto.java
    M opennms-webapp-rest/src/test/java/org/opennms/web/rest/support/SecurityHelperTest.java
    M opennms-webapp-rest/src/test/java/org/opennms/web/rest/v2/TrapdRestServiceIT.java
    M ui/src/components/TrapdConfiguration/CreateSnmpV3User.vue
    M ui/src/components/TrapdConfiguration/SnmpV3UserManagement.vue
    M ui/src/components/TrapdConfiguration/TrapdAdvancedConfiguration.vue
    M ui/src/lib/scvValidator.ts
    A ui/src/lib/securityHelper.ts
    M ui/src/lib/snmpValidator.ts
    M ui/src/lib/trapdValidator.ts
    M ui/src/mappers/trapdConfig.mapper.ts
    M ui/src/types/trapConfig.d.ts
    M ui/tests/components/TrapdConfiguration/CreateSnmpV3User.test.ts
    M ui/tests/components/TrapdConfiguration/TrapdAdvancedConfiguration.test.ts
    A ui/tests/lib/trapdValidatorForm.test.ts
    A ui/tests/mappers/trapdConfig.mapper.test.ts

  Log Message:
  -----------
  NMS-19723: Mask credentials for Trapd config Rest API and UI (#8511)

* NMS-19723: Mask credentials for Trapd config Rest API

* NMS-19723: Backfill trapd SNMPv3 user ids at startup via UpgradeConfigService

* NMS-19723: Consolidate trapd CM config-name constant into TrapdConfiguration

* NMS-19723: Move SCV expression pattern into ScvUtils

* NMS-19723: Reject duplicate SNMPv3 user ids in Trapd config requests

* NMS-19723: Fix stale trapd v1.1 XSD hash in changelog and tripwire test

* NMS-19723: adminRole is a computed value, need to call '.value'

* Help updates for Snmpv3User

* NMS-19723: Fix tests after adminRole change. !smoke


  Commit: d0c28cc52d7d7a94d9148d54b82040c3f136220d
      https://github.com/OpenNMS/opennms/commit/d0c28cc52d7d7a94d9148d54b82040c3f136220d
  Author: Chandra Gorantla <[email protected]>
  Date:   2026-07-22 (Wed, 22 Jul 2026)

  Changed paths:
    M features/collection/client-rpc/src/main/resources/META-INF/opennms/applicationContext-rpc-collector.xml
    A features/collection/client-rpc/src/test/java/org/opennms/netmgt/collection/client/rpc/CollectorExecutorLifecycleTest.java
    M features/poller/client-rpc/src/main/resources/META-INF/opennms/applicationContext-rpc-poller.xml
    A features/poller/client-rpc/src/test/java/org/opennms/netmgt/poller/client/rpc/PollerExecutorLifecycleTest.java

  Log Message:
  -----------
  NMS-20046: Handle Poller/Collect RPC executor shutdown (#8646)

Currently daemon shutdown is taking longer as orderly shutdown waits
for all the current jobs to execute properly. We need force shutdown
for RPCs as they have longer timeout


  Commit: 0f4367597bdfaffaf20d967c4ccc8b5b8ebfe225
      https://github.com/OpenNMS/opennms/commit/0f4367597bdfaffaf20d967c4ccc8b5b8ebfe225
  Author: CI/CD System <[email protected]>
  Date:   2026-07-22 (Wed, 22 Jul 2026)

  Changed paths:
    M core/ipc/rpc/api/src/main/java/org/opennms/core/rpc/api/RpcExceptionUtils.java
    M core/ipc/rpc/camel/src/main/java/org/opennms/core/rpc/camel/CamelRpcClientFactory.java
    A core/ipc/rpc/camel/src/test/java/org/opennms/core/rpc/camel/LocalRpcTimeoutTest.java
    M docs/modules/reference/pages/configuration/ttl-rpc.adoc
    M smoke-test/src/main/java/org/opennms/smoketest/selenium/AbstractOpenNMSSeleniumHelper.java

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/foundation-2025' into release-36.x


  Commit: e171e3e24d30dcb02daed5af3ac7f88814f6c3a0
      https://github.com/OpenNMS/opennms/commit/e171e3e24d30dcb02daed5af3ac7f88814f6c3a0
  Author: CI/CD System <[email protected]>
  Date:   2026-07-22 (Wed, 22 Jul 2026)

  Changed paths:
    M features/collection/client-rpc/src/main/resources/META-INF/opennms/applicationContext-rpc-collector.xml
    A features/collection/client-rpc/src/test/java/org/opennms/netmgt/collection/client/rpc/CollectorExecutorLifecycleTest.java
    M features/poller/client-rpc/src/main/resources/META-INF/opennms/applicationContext-rpc-poller.xml
    A features/poller/client-rpc/src/test/java/org/opennms/netmgt/poller/client/rpc/PollerExecutorLifecycleTest.java

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/foundation-2024' into foundation-2025


  Commit: 9c6a375d70671f8a585081c59c8ad1f4a4fb6b0e
      https://github.com/OpenNMS/opennms/commit/9c6a375d70671f8a585081c59c8ad1f4a4fb6b0e
  Author: CI/CD System <[email protected]>
  Date:   2026-07-23 (Thu, 23 Jul 2026)

  Changed paths:
    M features/collection/client-rpc/src/main/resources/META-INF/opennms/applicationContext-rpc-collector.xml
    A features/collection/client-rpc/src/test/java/org/opennms/netmgt/collection/client/rpc/CollectorExecutorLifecycleTest.java
    M features/poller/client-rpc/src/main/resources/META-INF/opennms/applicationContext-rpc-poller.xml
    A features/poller/client-rpc/src/test/java/org/opennms/netmgt/poller/client/rpc/PollerExecutorLifecycleTest.java

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/foundation-2025' into release-36.x


  Commit: 93da0275a4ecdfcaca502dc295107f7c7bfde1c7
      https://github.com/OpenNMS/opennms/commit/93da0275a4ecdfcaca502dc295107f7c7bfde1c7
  Author: Christian Pape <[email protected]>
  Date:   2026-07-23 (Thu, 23 Jul 2026)

  Changed paths:
    M features/minion/core/repository/src/assembly/repo.xml
    M features/minion/repository/src/assembly/repo.xml

  Log Message:
  -----------
  NMS-19961: Prevent old bcprov-jdk18on version from being included


  Commit: 19f04680f2e52632bba61a5bc0618c60164b5c49
      https://github.com/OpenNMS/opennms/commit/19f04680f2e52632bba61a5bc0618c60164b5c49
  Author: CI/CD System <[email protected]>
  Date:   2026-07-23 (Thu, 23 Jul 2026)

  Changed paths:
    M features/minion/core/repository/src/assembly/repo.xml
    M features/minion/repository/src/assembly/repo.xml

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/foundation-2024' into foundation-2025


  Commit: 4dc92b1cb234004f692fa057f82e8ad6b25a9d4f
      https://github.com/OpenNMS/opennms/commit/4dc92b1cb234004f692fa057f82e8ad6b25a9d4f
  Author: Dino <[email protected]>
  Date:   2026-07-23 (Thu, 23 Jul 2026)

  Changed paths:
    M core/grpc/osgi/pom.xml
    M core/ipc/grpc/itests/pom.xml
    M core/ipc/twin/grpc/itests/pom.xml
    M core/ipc/twin/kafka/itests/pom.xml
    M features/scv/dominion-grpc-impl/pom.xml
    M features/telemetry/protocols/openconfig/itests/pom.xml
    M pom.xml

  Log Message:
  -----------
  NMS-20047: newts delete() fix (#8655)

* NMS-20047: tick pom to newts 3.0.1 to pick up newts fix

* Newts 3.0.1 depends on newer Guava, so bump it to 33.3.1 and consolidate the guava*Version tags down


  Commit: 412c73b3c2a087029957a0cb99e7f572f902a1ef
      https://github.com/OpenNMS/opennms/commit/412c73b3c2a087029957a0cb99e7f572f902a1ef
  Author: CI/CD System <[email protected]>
  Date:   2026-07-23 (Thu, 23 Jul 2026)

  Changed paths:
    M features/minion/core/repository/src/assembly/repo.xml
    M features/minion/repository/src/assembly/repo.xml

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/foundation-2025' into release-36.x


  Commit: 15ffd2fcca77cf7a9a6fd59b9f91495c4c181302
      https://github.com/OpenNMS/opennms/commit/15ffd2fcca77cf7a9a6fd59b9f91495c4c181302
  Author: Morteza E <[email protected]>
  Date:   2026-07-23 (Thu, 23 Jul 2026)

  Changed paths:
    M opennms-container/common.mk
    M opennms-container/core/Dockerfile
    M opennms-container/minion/Dockerfile
    M opennms-container/sentinel/Dockerfile
    M smoke-test/src/main/java/org/opennms/smoketest/containers/MockCloudContainer.java

  Log Message:
  -----------
  Update base images


  Commit: 1c8971f83896e958d21f5b405766c38a71d06599
      https://github.com/OpenNMS/opennms/commit/1c8971f83896e958d21f5b405766c38a71d06599
  Author: Morteza E <[email protected]>
  Date:   2026-07-23 (Thu, 23 Jul 2026)

  Changed paths:
    M opennms-container/common.mk
    M opennms-container/core/Dockerfile
    M opennms-container/minion/Dockerfile
    M opennms-container/sentinel/Dockerfile
    M smoke-test/src/main/java/org/opennms/smoketest/containers/MockCloudContainer.java

  Log Message:
  -----------
  Update base images


  Commit: be1a23ef4cddcc669afdce854c6243c6c4816747
      https://github.com/OpenNMS/opennms/commit/be1a23ef4cddcc669afdce854c6243c6c4816747
  Author: Morteza E <[email protected]>
  Date:   2026-07-23 (Thu, 23 Jul 2026)

  Changed paths:
    M .circleci/epoch

  Log Message:
  -----------
  !debs !rpms


  Commit: 14de97f7f743e1b36c525336e99bb4f0d2f02dfd
      https://github.com/OpenNMS/opennms/commit/14de97f7f743e1b36c525336e99bb4f0d2f02dfd
  Author: Morteza E <[email protected]>
  Date:   2026-07-23 (Thu, 23 Jul 2026)

  Changed paths:
    M .circleci/epoch

  Log Message:
  -----------
  Revert "!debs !rpms"

This reverts commit be1a23ef4cddcc669afdce854c6243c6c4816747.


  Commit: a396a1467952c01d0f55e06cb81144b6f2364a2e
      https://github.com/OpenNMS/opennms/commit/a396a1467952c01d0f55e06cb81144b6f2364a2e
  Author: Morteza E <[email protected]>
  Date:   2026-07-23 (Thu, 23 Jul 2026)

  Changed paths:
    M core/grpc/osgi/pom.xml
    M core/ipc/grpc/itests/pom.xml
    M core/ipc/twin/grpc/itests/pom.xml
    M core/ipc/twin/kafka/itests/pom.xml
    M features/scv/dominion-grpc-impl/pom.xml
    M features/telemetry/protocols/openconfig/itests/pom.xml
    M opennms-container/common.mk
    M opennms-container/core/Dockerfile
    M opennms-container/minion/Dockerfile
    M opennms-container/sentinel/Dockerfile
    M pom.xml
    M smoke-test/src/main/java/org/opennms/smoketest/containers/MockCloudContainer.java

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/foundation-2024' into foundation-2025


  Commit: c268b258e14a8724d914ae654635baa3d5cd99e2
      https://github.com/OpenNMS/opennms/commit/c268b258e14a8724d914ae654635baa3d5cd99e2
  Author: Morteza E <[email protected]>
  Date:   2026-07-23 (Thu, 23 Jul 2026)

  Changed paths:
    M pom.xml

  Log Message:
  -----------
  add guava32Version back


  Commit: a315934b7046cb34a09eb26fd20273d7da25a031
      https://github.com/OpenNMS/opennms/commit/a315934b7046cb34a09eb26fd20273d7da25a031
  Author: Morteza E <[email protected]>
  Date:   2026-07-23 (Thu, 23 Jul 2026)

  Changed paths:
    M pom.xml

  Log Message:
  -----------
  add guava32Version back


  Commit: 48dfbe737cea79cfb3c5bf997bc874ef0ed8cae0
      https://github.com/OpenNMS/opennms/commit/48dfbe737cea79cfb3c5bf997bc874ef0ed8cae0
  Author: CI/CD System <[email protected]>
  Date:   2026-07-23 (Thu, 23 Jul 2026)

  Changed paths:

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/merge-foundation/foundation-2024-to-foundation-2025' into foundation-2025


  Commit: 59c0c7fda476427f4d63db07df4a76e6ddeb16ec
      https://github.com/OpenNMS/opennms/commit/59c0c7fda476427f4d63db07df4a76e6ddeb16ec
  Author: mershad-manesh <[email protected]>
  Date:   2026-07-23 (Thu, 23 Jul 2026)

  Changed paths:
    M .circleci/epoch

  Log Message:
  -----------
  Update epoch


  Commit: 25631a5ddf6d57f01dec6655226dee99c577f44c
      https://github.com/OpenNMS/opennms/commit/25631a5ddf6d57f01dec6655226dee99c577f44c
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-23 (Thu, 23 Jul 2026)

  Changed paths:
    A docs/modules/deployment/images/deployment/architecture/dedicated-timeseries.svg
    A docs/modules/deployment/images/deployment/architecture/distributed.svg
    A docs/modules/deployment/images/deployment/architecture/example-enterprise.svg
    A docs/modules/deployment/images/deployment/architecture/example-flow-heavy.svg
    A docs/modules/deployment/images/deployment/architecture/external-postgres.svg
    A docs/modules/deployment/images/deployment/architecture/fault-management.svg
    A docs/modules/deployment/images/deployment/architecture/message-broker.svg
    A docs/modules/deployment/images/deployment/architecture/metrics-pipeline.svg
    A docs/modules/deployment/images/deployment/architecture/minions.svg
    A docs/modules/deployment/images/deployment/architecture/single-host.svg
    M docs/modules/deployment/nav.adoc
    A docs/modules/deployment/pages/architecture/data-domains.adoc
    A docs/modules/deployment/pages/architecture/deployment-scenarios.adoc
    A docs/modules/deployment/pages/architecture/deployments-in-practice.adoc
    A docs/modules/deployment/pages/architecture/introduction.adoc

  Log Message:
  -----------
  Add Architecture and Deployment Planning docs chapter

Add a four-page chapter to the Deployment module that frames OpenNMS as a
platform for data ingestion. It covers the data domains and pull/push
ingestion, a scenario-based growth path from a single host to a
distributed deployment, and four worked example deployments in an OSS
stack, with accompanying SVG diagrams.


  Commit: 54ada3651fd207fe3faeb3d1272986187f235de7
      https://github.com/OpenNMS/opennms/commit/54ada3651fd207fe3faeb3d1272986187f235de7
  Author: Morteza E <[email protected]>
  Date:   2026-07-23 (Thu, 23 Jul 2026)

  Changed paths:
    M core/grpc/osgi/pom.xml
    M core/ipc/grpc/itests/pom.xml
    M core/ipc/twin/grpc/itests/pom.xml
    M core/ipc/twin/kafka/itests/pom.xml
    M features/scv/dominion-grpc-impl/pom.xml
    M features/telemetry/protocols/openconfig/itests/pom.xml
    M pom.xml

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/foundation-2025' into release-36.x


  Commit: abab65242a07db09e7c55b1cb6ee89a8ac74ce44
      https://github.com/OpenNMS/opennms/commit/abab65242a07db09e7c55b1cb6ee89a8ac74ce44
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-23 (Thu, 23 Jul 2026)

  Changed paths:
    M docs/modules/deployment/pages/architecture/introduction.adoc

  Log Message:
  -----------
  Update introduction.adoc

Co-authored-by: Dino <[email protected]>


  Commit: bc96994fa50f76789e35c9cae96cd56cf4951e8b
      https://github.com/OpenNMS/opennms/commit/bc96994fa50f76789e35c9cae96cd56cf4951e8b
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-24 (Fri, 24 Jul 2026)

  Changed paths:
    M opennms-provision/opennms-provisiond/src/main/java/org/opennms/netmgt/provision/service/NodeScan.java
    A opennms-provision/opennms-provisiond/src/test/java/org/opennms/netmgt/provision/service/NodeScanTest.java

  Log Message:
  -----------
  NMS-19096: Refresh NodeScan scan stamp on each scheduled run

A NodeScan scheduled with scheduleWithFixedDelay is reused for every
periodic run, but m_scanStamp was set once in the constructor and never
advanced. Obsolete-interface deletion compares each interface's
ipLastCapsdPoll against this stamp, so a long-lived scheduled scan kept
comparing against a stale stamp and could not reap non-primary interfaces
that had gone away; only a manual rescan, which builds a fresh NodeScan,
removed them. Advance the stamp in reset(), which already runs at the
start of every scan.


  Commit: 51831d94d4c0815f0c827e0911fa01253c52474a
      https://github.com/OpenNMS/opennms/commit/51831d94d4c0815f0c827e0911fa01253c52474a
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-24 (Fri, 24 Jul 2026)

  Changed paths:
    A docs/modules/deployment/images/deployment/architecture/dedicated-timeseries.svg
    A docs/modules/deployment/images/deployment/architecture/distributed.svg
    A docs/modules/deployment/images/deployment/architecture/example-enterprise.svg
    A docs/modules/deployment/images/deployment/architecture/example-flow-heavy.svg
    A docs/modules/deployment/images/deployment/architecture/external-postgres.svg
    A docs/modules/deployment/images/deployment/architecture/fault-management.svg
    A docs/modules/deployment/images/deployment/architecture/message-broker.svg
    A docs/modules/deployment/images/deployment/architecture/metrics-pipeline.svg
    A docs/modules/deployment/images/deployment/architecture/minions.svg
    A docs/modules/deployment/images/deployment/architecture/single-host.svg
    M docs/modules/deployment/nav.adoc
    A docs/modules/deployment/pages/architecture/data-domains.adoc
    A docs/modules/deployment/pages/architecture/deployment-scenarios.adoc
    A docs/modules/deployment/pages/architecture/deployments-in-practice.adoc
    A docs/modules/deployment/pages/architecture/introduction.adoc

  Log Message:
  -----------
  Merge pull request #8656 from marshallmassengill/mm/architecture-planning-docs

Docs: Add Architecture and Deployment Planning docs chapter


  Commit: 98c2793aca24e4c036aaf2ecbd7816ce4cf14a0f
      https://github.com/OpenNMS/opennms/commit/98c2793aca24e4c036aaf2ecbd7816ce4cf14a0f
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-24 (Fri, 24 Jul 2026)

  Changed paths:
    R opennms-provision/opennms-provisiond/src/test/java/org/opennms/netmgt/provision/service/NodeScanTest.java
    M opennms-provision/opennms-provisiond/src/test/java/org/opennms/netmgt/provision/service/ProvisionerIT.java

  Log Message:
  -----------
  NMS-19096: Replace scan-stamp unit test with a behavioral IT

The NodeScanTest only reflected reset() and asserted it reassigned
m_scanStamp, which restates the implementation rather than testing
behavior. Replace it with ProvisionerIT#testReusedNodeScanReapsVanishedInterfaceNms19096,
which reuses a single NodeScan instance across two runs (as the scheduler
does) and asserts that an SNMP-discovered interface which disappears
between runs is reaped. This fails against the frozen-stamp behavior and
passes with the fix.


  Commit: 5933d811cd2366504f08bfa595b8eb06f2f4488f
      https://github.com/OpenNMS/opennms/commit/5933d811cd2366504f08bfa595b8eb06f2f4488f
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-24 (Fri, 24 Jul 2026)

  Changed paths:
    M opennms-provision/opennms-provisiond/src/test/java/org/opennms/netmgt/provision/service/ProvisionerIT.java

  Log Message:
  -----------
  NMS-19096: Strengthen the NodeScan reap IT assertions

Address review feedback: assert the reused NodeScan advances its scan
stamp between runs (via getScanStamp()), and assert specifically that
198.51.100.204 is present after the first scan and removed after the
second while the primary 198.51.100.201 is retained.


  Commit: d4c68c3072c31ad18a124e44514f8c9fac7c843d
      https://github.com/OpenNMS/opennms/commit/d4c68c3072c31ad18a124e44514f8c9fac7c843d
  Author: mershad-manesh <[email protected]>
  Date:   2026-07-24 (Fri, 24 Jul 2026)

  Changed paths:
    M .circleci/epoch

  Log Message:
  -----------
  Update epoch


  Commit: e5cdcd9e059d5a0a7654fee654a737a65a78be09
      https://github.com/OpenNMS/opennms/commit/e5cdcd9e059d5a0a7654fee654a737a65a78be09
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-24 (Fri, 24 Jul 2026)

  Changed paths:
    M docs/modules/deployment/pages/core/getting-started.adoc

  Log Message:
  -----------
  docs: Fix malformed system requirements xref on the core install page

The requirements bullet ended with a bare `xref:system-requirements.adoc`
with no target brackets. Without them it is not a macro at all, so
AsciiDoc rendered the raw text instead of a link.

Use the module-relative resource ID form already used elsewhere in the
deployment module (nav.adoc, air-gap/air-gap-install.adoc) and leave the
brackets empty so Antora supplies the page title.


  Commit: 27f33084d9303815c0e6aefdbe693124e8bbbd82
      https://github.com/OpenNMS/opennms/commit/27f33084d9303815c0e6aefdbe693124e8bbbd82
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-24 (Fri, 24 Jul 2026)

  Changed paths:
    M docs/modules/deployment/pages/core/getting-started.adoc

  Log Message:
  -----------
  Merge pull request #8662 from marshallmassengill/mm/docs-install-xref-f2024

docs: Fix malformed system requirements xref on the core install page


  Commit: c184b1c3b2b489836b62d9165774eb030467e532
      https://github.com/OpenNMS/opennms/commit/c184b1c3b2b489836b62d9165774eb030467e532
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-24 (Fri, 24 Jul 2026)

  Changed paths:
    M docs/modules/deployment/pages/core/centos-rhel10/install-core.adoc
    M docs/modules/deployment/pages/core/centos-rhel10/postgresql.adoc
    R docs/modules/deployment/pages/core/centos/adoptium.adoc
    M docs/modules/deployment/pages/repos/rhel-centos/horizon-rhel10.adoc

  Log Message:
  -----------
  docs: Correct the RHEL 10 installation directions

Remove the Java install step from the RHEL 10 directions. It added the
third-party Adoptium repository, which is not needed: the package
dependencies pull in a JDK, as they do on CentOS/RHEL 9. The adoptium.adoc
partial had no other consumer, so remove it.

Drop `dnf -qy module disable postgresql` from the PostgreSQL setup, since
RHEL 10 no longer ships a postgresql DNF module. The CentOS/RHEL 9
directions are unchanged and keep the step.

State in the repository note that RHEL 10 uses the RHEL 9 repository file
and needs gpgcheck disabled, rather than only referring to NMS-19071.


  Commit: ef87f141abc6012139914a76b438022bf618ef67
      https://github.com/OpenNMS/opennms/commit/ef87f141abc6012139914a76b438022bf618ef67
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-24 (Fri, 24 Jul 2026)

  Changed paths:
    M docs/antora.yml
    M docs/modules/deployment/pages/air-gap/air-gap-install.adoc
    M docs/modules/deployment/pages/minion/centos-rhel9/install-minion.adoc
    M docs/modules/deployment/pages/sentinel/runtime/centos-rhel9/install-sentinel.adoc
    M docs/modules/deployment/pages/upgrade/debian/up-debian.adoc
    M docs/modules/deployment/pages/upgrade/rhel/up-rhel.adoc
    M docs/modules/development/pages/build-from-source.adoc

  Log Message:
  -----------
  docs: Update Java references from 17 to 21

Set compatible-javajdk to 21, which drives the JDK row in the system
requirements table and the Java prerequisite lines on the Minion and
Sentinel install pages.

Correct headings and prose that still said Java 17 while the command
underneath already installed 21: Minion and Sentinel on CentOS/RHEL 9,
the RHEL and Debian upgrade paths, and the air-gap install.

Update the build-from-source prerequisite. The root pom enforces Java
[21,22) and compiles at source and target 21.


  Commit: 192f1702f6722b4e083120dd00db3c940fc80a8b
      https://github.com/OpenNMS/opennms/commit/192f1702f6722b4e083120dd00db3c940fc80a8b
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-24 (Fri, 24 Jul 2026)

  Changed paths:
    M opennms-provision/opennms-provisiond/src/main/java/org/opennms/netmgt/provision/service/NodeScan.java
    M opennms-provision/opennms-provisiond/src/test/java/org/opennms/netmgt/provision/service/ProvisionerIT.java

  Log Message:
  -----------
  Merge pull request #8661 from OpenNMS/mm/NMS-19096-smoke

NMS-19096: Refresh NodeScan scan stamp on each scheduled run


  Commit: 51c331c2de659228cfc02888c4ca4d1e8773794f
      https://github.com/OpenNMS/opennms/commit/51c331c2de659228cfc02888c4ca4d1e8773794f
  Author: mershad-manesh <[email protected]>
  Date:   2026-07-24 (Fri, 24 Jul 2026)

  Changed paths:
    M pom.xml

  Log Message:
  -----------
  bump dropwizardMetricsVersion (#8663)


  Commit: 76e4a4613fc88dfe742223c63e8052d30d329cf8
      https://github.com/OpenNMS/opennms/commit/76e4a4613fc88dfe742223c63e8052d30d329cf8
  Author: Morteza E <[email protected]>
  Date:   2026-07-24 (Fri, 24 Jul 2026)

  Changed paths:
    A docs/modules/deployment/images/deployment/architecture/dedicated-timeseries.svg
    A docs/modules/deployment/images/deployment/architecture/distributed.svg
    A docs/modules/deployment/images/deployment/architecture/example-enterprise.svg
    A docs/modules/deployment/images/deployment/architecture/example-flow-heavy.svg
    A docs/modules/deployment/images/deployment/architecture/external-postgres.svg
    A docs/modules/deployment/images/deployment/architecture/fault-management.svg
    A docs/modules/deployment/images/deployment/architecture/message-broker.svg
    A docs/modules/deployment/images/deployment/architecture/metrics-pipeline.svg
    A docs/modules/deployment/images/deployment/architecture/minions.svg
    A docs/modules/deployment/images/deployment/architecture/single-host.svg
    M docs/modules/deployment/nav.adoc
    A docs/modules/deployment/pages/architecture/data-domains.adoc
    A docs/modules/deployment/pages/architecture/deployment-scenarios.adoc
    A docs/modules/deployment/pages/architecture/deployments-in-practice.adoc
    A docs/modules/deployment/pages/architecture/introduction.adoc

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/foundation-2025' into release-36.x


  Commit: 545d20c4c523de8bdcb582c6db7303d6d8cb0240
      https://github.com/OpenNMS/opennms/commit/545d20c4c523de8bdcb582c6db7303d6d8cb0240
  Author: CI/CD System <[email protected]>
  Date:   2026-07-24 (Fri, 24 Jul 2026)

  Changed paths:
    M docs/modules/deployment/pages/core/install.adoc
    M opennms-provision/opennms-provisiond/src/main/java/org/opennms/netmgt/provision/service/NodeScan.java
    M opennms-provision/opennms-provisiond/src/test/java/org/opennms/netmgt/provision/service/ProvisionerIT.java

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/foundation-2024' into foundation-2025


  Commit: aaadc5d04c53234c3633bab8e54c83181bf89f6b
      https://github.com/OpenNMS/opennms/commit/aaadc5d04c53234c3633bab8e54c83181bf89f6b
  Author: CI/CD System <[email protected]>
  Date:   2026-07-25 (Sat, 25 Jul 2026)

  Changed paths:
    M docs/modules/deployment/pages/core/install.adoc
    M opennms-provision/opennms-provisiond/src/main/java/org/opennms/netmgt/provision/service/NodeScan.java
    M opennms-provision/opennms-provisiond/src/test/java/org/opennms/netmgt/provision/service/ProvisionerIT.java

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/foundation-2025' into release-36.x


  Commit: a09977636d9d43374d606a86ea6ea6a13c0ed187
      https://github.com/OpenNMS/opennms/commit/a09977636d9d43374d606a86ea6ea6a13c0ed187
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-27 (Mon, 27 Jul 2026)

  Changed paths:
    M docs/modules/deployment/pages/core/install.adoc

  Log Message:
  -----------
  docs: Add a shared Set up Java section to the core install page

Java setup previously appeared only inside the RHEL 10 tab, where it added
the third-party Adoptium repository. Give it its own section between the
PostgreSQL and core install steps so it applies to every supported
distribution.

State the required Java version, point readers at their own package
manager for a distribution OpenJDK build, and link the Adoptium
installation documentation for Eclipse Temurin rather than repeating
vendor repository setup that only covered RPM-based systems.

The version in the first sentence uses page-component-version, so it
renders the component version for both Horizon and Meridian.


  Commit: 6f238fef7ab87a5d2299a4f35eab3008ed36a438
      https://github.com/OpenNMS/opennms/commit/6f238fef7ab87a5d2299a4f35eab3008ed36a438
  Author: Chandra Gorantla <[email protected]>
  Date:   2026-07-27 (Mon, 27 Jul 2026)

  Changed paths:
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/DiscoveryRestService.java
    M opennms-webapp-rest/src/test/java/org/opennms/web/rest/v2/DiscoveryRestServiceIT.java
    M opennms-webapp/src/main/webapp/WEB-INF/applicationContext-spring-security.xml

  Log Message:
  -----------
  NMS-20056: Fix discovery Rest to restrict endpoints to Admins (#8658)


  Commit: ca467608b7ae0e5faadf0691039b04c033dcb0e7
      https://github.com/OpenNMS/opennms/commit/ca467608b7ae0e5faadf0691039b04c033dcb0e7
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-27 (Mon, 27 Jul 2026)

  Changed paths:
    M docs/antora.yml
    M docs/modules/deployment/pages/air-gap/air-gap-install.adoc
    M docs/modules/deployment/pages/core/centos-rhel10/install-core.adoc
    M docs/modules/deployment/pages/core/centos-rhel10/postgresql.adoc
    R docs/modules/deployment/pages/core/centos/adoptium.adoc
    M docs/modules/deployment/pages/core/install.adoc
    M docs/modules/deployment/pages/minion/centos-rhel9/install-minion.adoc
    M docs/modules/deployment/pages/repos/rhel-centos/horizon-rhel10.adoc
    M docs/modules/deployment/pages/sentinel/runtime/centos-rhel9/install-sentinel.adoc
    M docs/modules/deployment/pages/upgrade/debian/up-debian.adoc
    M docs/modules/deployment/pages/upgrade/rhel/up-rhel.adoc
    M docs/modules/development/pages/build-from-source.adoc

  Log Message:
  -----------
  Merge pull request #8664 from marshallmassengill/mm/docs-r36

Docs: Updates for H36 for RHEL 10 directions and Java 21


  Commit: 951f984d5d113c20f27d4e6f8dacd56013c8eca3
      https://github.com/OpenNMS/opennms/commit/951f984d5d113c20f27d4e6f8dacd56013c8eca3
  Author: CI/CD System <[email protected]>
  Date:   2026-07-27 (Mon, 27 Jul 2026)

  Changed paths:
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/DiscoveryRestService.java
    M opennms-webapp-rest/src/test/java/org/opennms/web/rest/v2/DiscoveryRestServiceIT.java
    M opennms-webapp/src/main/webapp/WEB-INF/applicationContext-spring-security.xml

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/foundation-2023' into foundation-2024


  Commit: 2577d90b75f443f19987b8c8d40c60cdb9c815d5
      https://github.com/OpenNMS/opennms/commit/2577d90b75f443f19987b8c8d40c60cdb9c815d5
  Author: Scott Theleman <[email protected]>
  Date:   2026-07-27 (Mon, 27 Jul 2026)

  Changed paths:
    M opennms-webapp/src/main/webapp/WEB-INF/jsp/admin/userGroupView/groups/list.jsp
    M opennms-webapp/src/main/webapp/admin/userGroupView/users/list.jsp
    M ui/src/components/Common/FormField.vue
    A ui/src/components/Common/OnmsIconButton.vue
    M ui/src/components/Configuration/ConfigurationAdvancedPanel.vue
    M ui/src/components/Configuration/ConfigurationCopyPasteDisplay.vue
    M ui/src/components/Configuration/ConfigurationCronSelector.vue
    M ui/src/components/Configuration/ConfigurationDrawer.vue
    M ui/src/components/Configuration/ConfigurationHelpPanel.vue
    M ui/src/components/Configuration/ConfigurationTable.vue
    M ui/src/components/Configuration/ConfigurationThreadPools.vue
    M ui/src/components/Configuration/ProvisionDForm.vue
    M ui/src/components/Device/DCBModalConfigDiffContent.vue
    M ui/src/components/Device/DCBModalViewHistoryContent.vue
    M ui/src/components/Device/DCBSearch.vue
    M ui/src/components/Device/DCBTable.vue
    M ui/src/components/EventConfigEventCreate/BasicInformation.vue
    M ui/src/components/EventConfiguration/Dialog/CreateEventConfigurationDialog.vue
    M ui/src/components/EventConfiguration/Dialog/UploadedFileRenameDialog.vue
    M ui/src/components/EventConfiguration/EventConfigSourceTable.vue
    M ui/src/components/EventConfiguration/EventConfigUploadFilesTab.vue
    M ui/src/components/EventConfigurationDetail/EventConfigEventTable.vue
    M ui/src/components/FileEditor/FileSidebar.vue
    M ui/src/components/FileEditor/Search.vue
    M ui/src/components/Layout/Footer.vue
    M ui/src/components/Logs/Editor.vue
    M ui/src/components/Map/LeafletMap.vue
    M ui/src/components/Map/SeverityFilter.vue
    M ui/src/components/Nodes/AssetFilterPanel.vue
    M ui/src/components/Nodes/ColumnSelectionDrawer.vue
    M ui/src/components/Nodes/ExtendedSearchPanel.vue
    M ui/src/components/Nodes/NodeActionsDropdown.vue
    M ui/src/components/Nodes/NodeAdvancedFiltersDrawer.vue
    M ui/src/components/Nodes/NodeDownloadDropdown.vue
    M ui/src/components/Nodes/NodesTable.vue
    M ui/src/components/Resources/Graph.vue
    M ui/src/components/Resources/Graphs.vue
    M ui/src/components/Resources/NodeResourceList.vue
    M ui/src/components/SCV/SCVAttribute.vue
    M ui/src/components/SCV/ScvInputIcon.vue
    M ui/src/components/SCV/ScvSearchDrawer.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigDefinitionsTable.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigProfilesTable.vue
    M ui/src/components/SnmpDataCollection/Dialog/UploadedFileRenameDialog.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionProfile/ProfileRrdSettingsTab.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionProfile/ProfileSourcesTab.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionProfile/SnmpDataCollectionProfileDetails.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionProfilesTable.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/Drawer/MibGroupCreationDrawer.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/Drawer/ResourceTypeCreationDrawer.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/Drawer/SnmpDataCollectionSourceProfilesDrawer.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/MibGroupsTable.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/ResourceTypesTable.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/SystemDefinitionsTable.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceImport.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourcesTable.vue
    M ui/src/components/TrapdConfiguration/CreateSnmpV3User.vue
    M ui/src/components/TrapdConfiguration/SnmpV3UserManagement.vue
    M ui/src/components/ZenithConnect/ZenithConnectRegisterResult.vue
    M ui/src/components/ZenithConnect/ZenithConnectView.vue
    M ui/src/containers/DeviceConfigBackup.vue
    M ui/src/containers/SnmpDataCollection.vue
    M ui/src/styles/primevue-overrides.scss
    A ui/tests/components/Common/OnmsIconButton.test.ts

  Log Message:
  -----------
  NMS-20033: UI styling, behavior and pr review issues (post-PrimeVue migration) (#8657)

* NMS-20033: Add OnmsIconButton seam component

* Remove stale feather references

* Restore spacing lost with orphaned FeatherDS utility classes (NMS-20033)

* Resolve Leaflet map popup, overlay, layers, Esc, keep-alive, and resize issues (NMS-20033)

- Popups: extend the popupopen overflow pan to all axes (left/right/top +
  bottom), keeping autoPan off, so edge-marker popups no longer clip.
- Search/severity overlays: give .geo-map position: relative so they anchor to
  the map area instead of the viewport (were sliding under the pinned rail).
- Layers control: bridge the 5px hover gap with a transparent ::before so it no
  longer collapses mid-traverse; make the list theme-aware (--p-content-
  background/--p-text-color) instead of hardcoded #fff/#333.
- Esc cross-talk: ignore Esc originating in the map search (PrimeVue
  AutoComplete doesn't stopPropagation) so dismissing suggestions doesn't also
  close the marker popup.
- keep-alive: remove the document Esc listener in onDeactivated (Map is
  <keep-alive>'d and never unmounts, so onBeforeUnmount didn't fire).
- Resize: ResizeObserver -> debounced invalidateSize so the map reflows when
  the side menu is pinned (padding-left on .app-layout) or on any resize.

- Reduce map control top inset from 80px to 2em (NMS-20033)

* Align and size-normalize DCB action-button icons (NMS-20033)

* Outline all text-variant Cancel buttons (NMS-20033)

* dcb fix

* Show border on outlined+text buttons (NMS-20033)

* Normalize search-input icon size to 1.5rem (NMS-20033)

* Destroy Chart.js instances to stop canvas reuse errors on resource graphs (NMS-20033)

* Await graph definitions before navigating on Graph All (NMS-20033)

* Seed resource graphs reactively from the store (NMS-20033)

* Uppercase resource-graph tabs; fix oversized profiles autocomplete (NMS-20033)

- Graph.vue: uppercase the Graph/Data tab labels (text-transform on .p-tab).
- SnmpDataCollectionSourceProfilesDrawer: the Add Profile AutoComplete isn't in
  a FormField, so its input inherited the global 3.75rem .p-inputtext height and
  read too tall. Constrain it to the app-standard 3rem (the value FormField
  applies), matching the correctly-sized System Definition MIB Groups control.

* Promote 3rem input height to global; wrap two form autocompletes in FormField (NMS-20033)

- Wrap the 'Add Profile' (SnmpDataCollectionSourceProfilesDrawer) and 'Add
  Source' (ProfileSourcesTab) autocompletes in FormField for label/structure
  consistency; remove the bespoke height CSS added earlier (global now covers it).

* Give the footer a dark background in dark mode (NMS-20033)

* Migrate SNMP config table icon buttons to OnmsIconButton (NMS-20033)

* Reattach map popup Esc listener on keep-alive reactivation (NMS-20033)

* Share one debounced graph search across keystrokes (NMS-20033) !smoke


  Commit: c15531dc4df6f3cf27436651075d47214395cd42
      https://github.com/OpenNMS/opennms/commit/c15531dc4df6f3cf27436651075d47214395cd42
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-27 (Mon, 27 Jul 2026)

  Changed paths:
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/gwt-unitCache/gwt-unitCache-00000138297CB60C
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/gwt-unitCache/gwt-unitCache-00000138297DB8FB
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/gwt-unitCache/gwt-unitCache-0000013829825EEF
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/gwt-unitCache/gwt-unitCache-0000013829848D35
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/gwt-unitCache/gwt-unitCache-00000138298589F1
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/gwt-unitCache/gwt-unitCache-000001382A763EFE
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/gwt-unitCache/gwt-unitCache-000001382A785794
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/gwt-unitCache/gwt-unitCache-000001382A794D3E
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/gwt-unitCache/gwt-unitCache-000001382AE1788A
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/gwt-unitCache/gwt-unitCache-0000013833C11F8C
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/gwt-unitCache/gwt-unitCache-0000013833C4C56E
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/src/org/opennms/gwtterminal/GWTTerminal.gwt.xml
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/src/org/opennms/gwtterminal/client/Code.java
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/src/org/opennms/gwtterminal/client/GWTTerminal.java
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/src/org/opennms/gwtterminal/client/GreetingService.java
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/src/org/opennms/gwtterminal/client/GreetingServiceAsync.java
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/src/org/opennms/gwtterminal/client/GwtTerm.java
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/src/org/opennms/gwtterminal/client/Key.java
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/src/org/opennms/gwtterminal/client/KeyBuffer.java
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/src/org/opennms/gwtterminal/client/TermHandler.java
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/src/org/opennms/gwtterminal/server/GreetingServiceImpl.java
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/src/org/opennms/gwtterminal/shared/FieldVerifier.java
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/test-classes/org/opennms/gwtterminal/TermHandlerTest$SudoKeyDownEvent.class
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/test-classes/org/opennms/gwtterminal/TermHandlerTest$SudoKeyPressEvent.class
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/test-classes/org/opennms/gwtterminal/TermHandlerTest.class
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/test/org/opennms/gwtterminal/TermHandlerTest.java
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/GWTTerminal.css
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/GWTTerminal.html
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/WEB-INF/classes/org/opennms/gwtterminal/GWTTerminal.gwt.xml
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/WEB-INF/classes/org/opennms/gwtterminal/client/Code.class
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/WEB-INF/classes/org/opennms/gwtterminal/client/GWTTerminal.class
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/WEB-INF/classes/org/opennms/gwtterminal/client/GreetingService.class
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/WEB-INF/classes/org/opennms/gwtterminal/client/GreetingServiceAsync.class
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/WEB-INF/classes/org/opennms/gwtterminal/client/GwtTerm.class
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/WEB-INF/classes/org/opennms/gwtterminal/client/Key.class
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/WEB-INF/classes/org/opennms/gwtterminal/client/KeyBuffer.class
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/WEB-INF/classes/org/opennms/gwtterminal/client/TermHandler.class
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/WEB-INF/classes/org/opennms/gwtterminal/server/GreetingServiceImpl.class
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/WEB-INF/classes/org/opennms/gwtterminal/shared/FieldVerifier.class
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/WEB-INF/deploy/gwtterminal/rpcPolicyManifest/manifest.txt
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/WEB-INF/deploy/gwtterminal/rpcPolicyManifest/manifests/E8324028FC2A5579ABCCBEF1ED875E35.txt
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/WEB-INF/lib/gwt-servlet.jar
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/WEB-INF/web.xml
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/gwtterminal/F28EB24DE6839E4F41DC17E91E4C1791.gwt.rpc
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/gwtterminal/clear.cache.gif
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/gwtterminal/gwt/clean/clean.css
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/gwtterminal/gwt/clean/clean_rtl.css
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/gwtterminal/gwt/clean/images/circles.png
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/gwtterminal/gwt/clean/images/circles_ie6.png
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/gwtterminal/gwt/clean/images/corner.png
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/gwtterminal/gwt/clean/images/corner_ie6.png
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/gwtterminal/gwt/clean/images/hborder.png
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/gwtterminal/gwt/clean/images/hborder_ie6.png
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/gwtterminal/gwt/clean/images/thumb_horz.png
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/gwtterminal/gwt/clean/images/thumb_vertical.png
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/gwtterminal/gwt/clean/images/vborder.png
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/gwtterminal/gwt/clean/images/vborder_ie6.png
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/gwtterminal/gwtterminal.nocache.js
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/gwtterminal/hosted.html
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/terminal.js
    M pom.xml

  Log Message:
  -----------
  NMS-20079: Remove the checked-in GWT sandbox from topology-map plugins

The sandbox directory was an Eclipse-only GWT terminal-widget experiment
added in 2012 (c87937f682b, 'The project is not maven and will run in
eclipse'). It has no pom.xml, is not part of the reactor, and consists
largely of checked-in build output (compiled classes, gwt-servlet.jar,
gwt-unitCache binaries) totalling ~58 MB of tracked blobs. Its only
reference was the license-check exclusion in the root pom.


  Commit: 1bd0635a9acd2409684e79dd384b819c95bddd16
      https://github.com/OpenNMS/opennms/commit/1bd0635a9acd2409684e79dd384b819c95bddd16
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-27 (Mon, 27 Jul 2026)

  Changed paths:
    M core/web-assets/pnpm-lock.yaml
    M core/web-assets/src/main/assets/js/vaadin/location-component_connector.js
    M core/web-assets/src/main/assets/js/vendor/leaflet-js.js
    M core/web-assets/src/main/assets/modules/lib/loader/index.ts
    R core/web-assets/src/main/assets/static/legacy/leaflet.markercluster/MIT-LICENCE.txt
    R core/web-assets/src/main/assets/static/legacy/leaflet.markercluster/dist/MarkerCluster.Default.css
    R core/web-assets/src/main/assets/static/legacy/leaflet.markercluster/dist/MarkerCluster.css
    R core/web-assets/src/main/assets/static/legacy/leaflet.markercluster/dist/leaflet.markercluster-src.js
    R core/web-assets/src/main/assets/static/legacy/leaflet.markercluster/dist/leaflet.markercluster.js
    R core/web-assets/src/main/assets/static/legacy/leaflet.markercluster/package.json
    R core/web-assets/src/main/assets/static/legacy/leaflet.markercluster/src/DistanceGrid.js
    R core/web-assets/src/main/assets/static/legacy/leaflet.markercluster/src/MarkerCluster.QuickHull.js
    R core/web-assets/src/main/assets/static/legacy/leaflet.markercluster/src/MarkerCluster.Spiderfier.js
    R core/web-assets/src/main/assets/static/legacy/leaflet.markercluster/src/MarkerCluster.js
    R core/web-assets/src/main/assets/static/legacy/leaflet.markercluster/src/MarkerClusterGroup.Refresh.js
    R core/web-assets/src/main/assets/static/legacy/leaflet.markercluster/src/MarkerClusterGroup.js
    R core/web-assets/src/main/assets/static/legacy/leaflet.markercluster/src/MarkerOpacity.js
    R core/web-assets/src/main/assets/static/legacy/leaflet.markercluster/src/copyright.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/LICENSE
    R core/web-assets/src/main/assets/static/legacy/leaflet/dist/images/layers-2x.png
    R core/web-assets/src/main/assets/static/legacy/leaflet/dist/images/layers.png
    R core/web-assets/src/main/assets/static/legacy/leaflet/dist/images/marker-icon-2x.png
    R core/web-assets/src/main/assets/static/legacy/leaflet/dist/images/marker-icon.png
    R core/web-assets/src/main/assets/static/legacy/leaflet/dist/images/marker-shadow.png
    R core/web-assets/src/main/assets/static/legacy/leaflet/dist/leaflet-src.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/dist/leaflet-src.map
    R core/web-assets/src/main/assets/static/legacy/leaflet/dist/leaflet.css
    R core/web-assets/src/main/assets/static/legacy/leaflet/dist/leaflet.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/package.json
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/Leaflet.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/control/Control.Attribution.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/control/Control.Layers.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/control/Control.Scale.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/control/Control.Zoom.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/control/Control.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/copyright.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/core/Browser.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/core/Class.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/core/Class.leafdoc
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/core/Events.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/core/Events.leafdoc
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/core/Handler.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/core/Util.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/dom/DomEvent.DoubleTap.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/dom/DomEvent.Pointer.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/dom/DomEvent.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/dom/DomUtil.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/dom/Draggable.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/dom/PosAnimation.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geo/LatLng.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geo/LatLngBounds.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geo/crs/CRS.EPSG3395.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geo/crs/CRS.EPSG3857.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geo/crs/CRS.EPSG4326.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geo/crs/CRS.Earth.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geo/crs/CRS.Simple.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geo/crs/CRS.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geo/projection/Projection.LonLat.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geo/projection/Projection.Mercator.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geo/projection/Projection.SphericalMercator.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geo/projection/Projection.leafdoc
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geometry/Bounds.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geometry/LineUtil.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geometry/Point.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geometry/PolyUtil.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geometry/Transformation.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/images/layers.svg
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/images/logo.svg
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/images/marker.svg
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/DivOverlay.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/FeatureGroup.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/GeoJSON.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/ImageOverlay.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/Layer.Interactive.leafdoc
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/Layer.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/LayerGroup.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/Popup.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/Tooltip.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/marker/DivIcon.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/marker/Icon.Default.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/marker/Icon.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/marker/Marker.Drag.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/marker/Marker.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/tile/GridLayer.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/tile/TileLayer.WMS.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/tile/TileLayer.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/vector/Canvas.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/vector/Circle.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/vector/CircleMarker.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/vector/Path.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/vector/Polygon.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/vector/Polyline.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/vector/Rectangle.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/vector/Renderer.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/vector/SVG.VML.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/vector/SVG.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/map/Map.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/map/Map.methodOptions.leafdoc
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/map/handler/Map.BoxZoom.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/map/handler/Map.DoubleClickZoom.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/map/handler/Map.Drag.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/map/handler/Map.Keyboard.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/map/handler/Map.ScrollWheelZoom.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/map/handler/Map.Tap.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/map/handler/Map.TouchZoom.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/OpenLayers.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/blank.gif
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/cloud-popup-relative.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/drag-rectangle-off.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/drag-rectangle-on.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/east-mini.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/layer-switcher-maximize.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/layer-switcher-minimize.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/marker-blue.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/marker-gold.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/marker-green.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/marker.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/measuring-stick-off.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/measuring-stick-on.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/north-mini.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/panning-hand-off.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/panning-hand-on.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/slider.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/south-mini.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/west-mini.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/zoom-minus-mini.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/zoom-plus-mini.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/zoom-world-mini.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/zoombar.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/Firebug/errorIcon.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/Firebug/firebug.css
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/Firebug/firebug.html
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/Firebug/firebug.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/Firebug/firebugx.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/Firebug/infoIcon.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/Firebug/license.txt
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/Firebug/readme.txt
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/Firebug/warningIcon.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/Gears/gears_init.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Ajax.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/BaseTypes.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/BaseTypes/Bounds.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/BaseTypes/Class.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/BaseTypes/Element.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/BaseTypes/LonLat.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/BaseTypes/Pixel.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/BaseTypes/Size.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Console.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/ArgParser.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/Attribution.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/Button.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/DragFeature.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/DragPan.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/DrawFeature.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/EditingToolbar.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/GetFeature.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/Graticule.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/KeyboardDefaults.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/LayerSwitcher.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/Measure.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/ModifyFeature.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/MouseDefaults.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/MousePosition.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/MouseToolbar.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/NavToolbar.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/Navigation.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/NavigationHistory.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/OverviewMap.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/Pan.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/PanPanel.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/PanZoom.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/PanZoomBar.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/Panel.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/Permalink.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/SLDSelect.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/Scale.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/ScaleLine.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/SelectFeature.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/Snapping.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/Split.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/TransformFeature.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/WMSGetFeatureInfo.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/WMTSGetFeatureInfo.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/ZoomBox.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/ZoomIn.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/ZoomOut.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/ZoomPanel.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/ZoomToMaxExtent.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Events.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Feature.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Feature/Vector.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Feature/WFS.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Filter.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Filter/Comparison.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Filter/FeatureId.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Filter/Logical.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Filter/Spatial.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/ArcXML.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/ArcXML/Features.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/Atom.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/CSWGetDomain.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/CSWGetDomain/v2_0_2.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/CSWGetRecords.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/CSWGetRecords/v2_0_2.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/Context.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/Filter.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/Filter/v1.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/Filter/v1_0_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/Filter/v1_1_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/GML.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/GML/Base.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/GML/v2.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/GML/v3.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/GPX.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/GeoJSON.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/GeoRSS.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/JSON.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/KML.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/OSM.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/OWSCommon/v1.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/OWSCommon/v1_0_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/OWSCommon/v1_1_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/OWSContext.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/OWSContext/v0_3_1.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/SLD.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/SLD/v1.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/SLD/v1_0_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/SOSCapabilities.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/SOSCapabilities/v1_0_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/SOSGetFeatureOfInterest.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/SOSGetObservation.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/Text.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WFS.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WFSCapabilities.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WFSCapabilities/v1.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WFSCapabilities/v1_0_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WFSCapabilities/v1_1_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WFSDescribeFeatureType.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WFST.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WFST/v1.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WFST/v1_0_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WFST/v1_1_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WKT.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WMC.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WMC/v1.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WMC/v1_0_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WMC/v1_1_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WMSCapabilities.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WMSCapabilities/v1.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WMSCapabilities/v1_1.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WMSCapabilities/v1_1_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WMSCapabilities/v1_1_1.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WMSCapabilities/v1_3.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WMSCapabilities/v1_3_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WMSDescribeLayer.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WMSDescribeLayer/v1_1.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WMSGetFeatureInfo.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WMTSCapabilities.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WMTSCapabilities/v1_0_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/XML.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Geometry.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Geometry/Collection.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Geometry/Curve.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Geometry/LineString.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Geometry/LinearRing.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Geometry/MultiLineString.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Geometry/MultiPoint.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Geometry/MultiPolygon.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Geometry/Point.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Geometry/Polygon.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Geometry/Rectangle.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Geometry/Surface.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Handler.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Handler/Box.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Handler/Click.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Handler/Drag.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Handler/Feature.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Handler/Hover.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Handler/Keyboard.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Handler/MouseWheel.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Handler/Path.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Handler/Point.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Handler/Polygon.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Handler/RegularPolygon.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Icon.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/ar.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/be-tarask.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/bg.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/br.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/ca.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/cs-CZ.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/da-DK.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/de.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/el.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/en-CA.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/en.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/es.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/fi.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/fr.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/fur.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/gl.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/gsw.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/hr.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/hsb.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/hu.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/ia.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/id.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/io.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/is.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/it.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/ja.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/km.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/ksh.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/nb.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/nds.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/nl.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/nn.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/oc.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/pt-BR.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/pt.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/ru.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/sk.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/sv-SE.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/te.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/vi.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/zh-CN.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/zh-TW.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/ArcGIS93Rest.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/ArcIMS.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/Boxes.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/EventPane.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/FixedZoomLevels.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/GML.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/GeoRSS.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/Google.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/Google/v3.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/Grid.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/HTTPRequest.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/Image.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/KaMap.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/KaMapCache.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/MapGuide.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/MapServer.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/MapServer/Untiled.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/Markers.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/MultiMap.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/PointTrack.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/SphericalMercator.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/TMS.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/Text.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/TileCache.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/Vector.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/Vector/RootContainer.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/VirtualEarth.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/WFS.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/WMS.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/WMS/Post.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/WMS/Untiled.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/WMTS.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/WorldWind.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/XYZ.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/Yahoo.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/Zoomify.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Map.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Marker.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Marker/Box.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Popup.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Popup/Anchored.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Popup/AnchoredBubble.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Popup/Framed.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Popup/FramedCloud.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Projection.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Protocol.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Protocol/HTTP.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Protocol/SOS.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Protocol/SOS/v1_0_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Protocol/SQL.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Protocol/SQL/Gears.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Protocol/WFS.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Protocol/WFS/v1.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Protocol/WFS/v1_0_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Protocol/WFS/v1_1_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Renderer.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Renderer/Canvas.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Renderer/Elements.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Renderer/SVG.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Renderer/VML.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Request.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Request/XMLHttpRequest.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Rule.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/SingleFile.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Strategy.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Strategy/BBOX.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Strategy/Cluster.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Strategy/Filter.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Strategy/Fixed.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Strategy/Paging.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Strategy/Refresh.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Strategy/Save.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Style.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Style2.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/StyleMap.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Symbolizer.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Symbolizer/Line.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Symbolizer/Point.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Symbolizer/Polygon.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Symbolizer/Raster.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Symbolizer/Text.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Tile.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Tile/Image.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Tile/Image/IFrame.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Tile/WFS.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Tween.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Util.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/Rico/Color.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/Rico/Corner.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/license.txt
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/news.txt
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/readme.txt
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/release-license.txt
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/repository-license.txt
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/framedCloud.css
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/google.css
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/ie6-style.css
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/add_point_off.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/add_point_on.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/blank.gif
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/close.gif
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/drag-rectangle-off.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/drag-rectangle-on.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/draw_line_off.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/draw_line_on.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/draw_point_off.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/draw_point_on.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/draw_polygon_off.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/draw_polygon_on.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/editing_tool_bar.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/move_feature_off.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/move_feature_on.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/navigation_history.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/overview_replacement.gif
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/pan-panel-NOALPHA.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/pan-panel.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/pan_off.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/pan_on.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/panning-hand-off.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/panning-hand-on.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/remove_point_off.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/remove_point_on.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/ruler.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/save_features_off.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/save_features_on.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/view_next_off.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/view_next_on.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/view_previous_off.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/view_previous_on.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/zoom-panel-NOALPHA.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/zoom-panel.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/style.css

  Log Message:
  -----------
  NMS-20080: Remove vendored legacy OpenLayers and Leaflet from web-assets

OpenLayers 2.10 was compiled into the shipped leaflet-js bundle via a
require() but no code calls its API; the bundle shrinks accordingly.
The vendored leaflet and leaflet.markercluster copies duplicate the npm
packages; only three marker PNGs were referenced, now imported from the
npm leaflet package instead. Because pnpm-workspace.yaml globs src/**,
the vendored package.json files were also treated as workspace packages,
installing their 2016-era devDependencies on every build - the lockfile
loses 1,244 lines with them.


  Commit: 9fe97582aed19c45312aa9c3fbdbe917f29a2f96
      https://github.com/OpenNMS/opennms/commit/9fe97582aed19c45312aa9c3fbdbe917f29a2f96
  Author: CI/CD System <[email protected]>
  Date:   2026-07-27 (Mon, 27 Jul 2026)

  Changed paths:
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/DiscoveryRestService.java
    M opennms-webapp-rest/src/test/java/org/opennms/web/rest/v2/DiscoveryRestServiceIT.java
    M opennms-webapp/src/main/webapp/WEB-INF/applicationContext-spring-security.xml

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/foundation-2024' into foundation-2025


  Commit: 593698d5ae0019a2c065db6f17e579dc446b44d6
      https://github.com/OpenNMS/opennms/commit/593698d5ae0019a2c065db6f17e579dc446b44d6
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-27 (Mon, 27 Jul 2026)

  Changed paths:
    R opennms-webapp/src/main/webapp/xml/all-events.xml
    R opennms-webapp/src/main/webapp/xml/nodes-limit-20.xml

  Log Message:
  -----------
  NMS-20082: Remove sample REST dumps served as webapp static content

opennms-webapp/src/main/webapp/xml/ held two checked-in sample REST
responses (all-events.xml, nodes-limit-20.xml) referenced by nothing
and served publicly by the webapp. They contained sample node and
event data, so this was minor information disclosure as well as dead
weight.


  Commit: 333d7b8a7104d1ec5c7d0b9a2022738be409f8c2
      https://github.com/OpenNMS/opennms/commit/333d7b8a7104d1ec5c7d0b9a2022738be409f8c2
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-27 (Mon, 27 Jul 2026)

  Changed paths:
    M core/web-assets/pnpm-lock.yaml
    M core/web-assets/src/main/assets/js/vaadin/location-component_connector.js
    M core/web-assets/src/main/assets/js/vendor/leaflet-js.js
    M core/web-assets/src/main/assets/modules/lib/loader/index.ts
    R core/web-assets/src/main/assets/static/legacy/leaflet.markercluster/MIT-LICENCE.txt
    R core/web-assets/src/main/assets/static/legacy/leaflet.markercluster/dist/MarkerCluster.Default.css
    R core/web-assets/src/main/assets/static/legacy/leaflet.markercluster/dist/MarkerCluster.css
    R core/web-assets/src/main/assets/static/legacy/leaflet.markercluster/dist/leaflet.markercluster-src.js
    R core/web-assets/src/main/assets/static/legacy/leaflet.markercluster/dist/leaflet.markercluster.js
    R core/web-assets/src/main/assets/static/legacy/leaflet.markercluster/package.json
    R core/web-assets/src/main/assets/static/legacy/leaflet.markercluster/src/DistanceGrid.js
    R core/web-assets/src/main/assets/static/legacy/leaflet.markercluster/src/MarkerCluster.QuickHull.js
    R core/web-assets/src/main/assets/static/legacy/leaflet.markercluster/src/MarkerCluster.Spiderfier.js
    R core/web-assets/src/main/assets/static/legacy/leaflet.markercluster/src/MarkerCluster.js
    R core/web-assets/src/main/assets/static/legacy/leaflet.markercluster/src/MarkerClusterGroup.Refresh.js
    R core/web-assets/src/main/assets/static/legacy/leaflet.markercluster/src/MarkerClusterGroup.js
    R core/web-assets/src/main/assets/static/legacy/leaflet.markercluster/src/MarkerOpacity.js
    R core/web-assets/src/main/assets/static/legacy/leaflet.markercluster/src/copyright.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/LICENSE
    R core/web-assets/src/main/assets/static/legacy/leaflet/dist/images/layers-2x.png
    R core/web-assets/src/main/assets/static/legacy/leaflet/dist/images/layers.png
    R core/web-assets/src/main/assets/static/legacy/leaflet/dist/images/marker-icon-2x.png
    R core/web-assets/src/main/assets/static/legacy/leaflet/dist/images/marker-icon.png
    R core/web-assets/src/main/assets/static/legacy/leaflet/dist/images/marker-shadow.png
    R core/web-assets/src/main/assets/static/legacy/leaflet/dist/leaflet-src.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/dist/leaflet-src.map
    R core/web-assets/src/main/assets/static/legacy/leaflet/dist/leaflet.css
    R core/web-assets/src/main/assets/static/legacy/leaflet/dist/leaflet.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/package.json
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/Leaflet.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/control/Control.Attribution.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/control/Control.Layers.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/control/Control.Scale.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/control/Control.Zoom.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/control/Control.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/copyright.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/core/Browser.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/core/Class.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/core/Class.leafdoc
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/core/Events.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/core/Events.leafdoc
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/core/Handler.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/core/Util.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/dom/DomEvent.DoubleTap.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/dom/DomEvent.Pointer.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/dom/DomEvent.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/dom/DomUtil.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/dom/Draggable.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/dom/PosAnimation.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geo/LatLng.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geo/LatLngBounds.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geo/crs/CRS.EPSG3395.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geo/crs/CRS.EPSG3857.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geo/crs/CRS.EPSG4326.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geo/crs/CRS.Earth.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geo/crs/CRS.Simple.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geo/crs/CRS.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geo/projection/Projection.LonLat.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geo/projection/Projection.Mercator.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geo/projection/Projection.SphericalMercator.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geo/projection/Projection.leafdoc
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geometry/Bounds.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geometry/LineUtil.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geometry/Point.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geometry/PolyUtil.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geometry/Transformation.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/images/layers.svg
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/images/logo.svg
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/images/marker.svg
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/DivOverlay.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/FeatureGroup.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/GeoJSON.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/ImageOverlay.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/Layer.Interactive.leafdoc
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/Layer.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/LayerGroup.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/Popup.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/Tooltip.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/marker/DivIcon.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/marker/Icon.Default.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/marker/Icon.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/marker/Marker.Drag.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/marker/Marker.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/tile/GridLayer.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/tile/TileLayer.WMS.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/tile/TileLayer.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/vector/Canvas.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/vector/Circle.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/vector/CircleMarker.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/vector/Path.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/vector/Polygon.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/vector/Polyline.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/vector/Rectangle.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/vector/Renderer.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/vector/SVG.VML.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/vector/SVG.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/map/Map.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/map/Map.methodOptions.leafdoc
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/map/handler/Map.BoxZoom.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/map/handler/Map.DoubleClickZoom.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/map/handler/Map.Drag.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/map/handler/Map.Keyboard.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/map/handler/Map.ScrollWheelZoom.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/map/handler/Map.Tap.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/map/handler/Map.TouchZoom.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/OpenLayers.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/blank.gif
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/cloud-popup-relative.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/drag-rectangle-off.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/drag-rectangle-on.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/east-mini.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/layer-switcher-maximize.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/layer-switcher-minimize.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/marker-blue.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/marker-gold.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/marker-green.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/marker.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/measuring-stick-off.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/measuring-stick-on.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/north-mini.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/panning-hand-off.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/panning-hand-on.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/slider.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/south-mini.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/west-mini.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/zoom-minus-mini.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/zoom-plus-mini.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/zoom-world-mini.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/zoombar.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/Firebug/errorIcon.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/Firebug/firebug.css
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/Firebug/firebug.html
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/Firebug/firebug.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/Firebug/firebugx.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/Firebug/infoIcon.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/Firebug/license.txt
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/Firebug/readme.txt
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/Firebug/warningIcon.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/Gears/gears_init.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Ajax.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/BaseTypes.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/BaseTypes/Bounds.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/BaseTypes/Class.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/BaseTypes/Element.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/BaseTypes/LonLat.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/BaseTypes/Pixel.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/BaseTypes/Size.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Console.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/ArgParser.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/Attribution.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/Button.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/DragFeature.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/DragPan.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/DrawFeature.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/EditingToolbar.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/GetFeature.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/Graticule.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/KeyboardDefaults.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/LayerSwitcher.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/Measure.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/ModifyFeature.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/MouseDefaults.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/MousePosition.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/MouseToolbar.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/NavToolbar.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/Navigation.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/NavigationHistory.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/OverviewMap.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/Pan.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/PanPanel.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/PanZoom.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/PanZoomBar.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/Panel.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/Permalink.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/SLDSelect.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/Scale.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/ScaleLine.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/SelectFeature.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/Snapping.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/Split.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/TransformFeature.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/WMSGetFeatureInfo.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/WMTSGetFeatureInfo.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/ZoomBox.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/ZoomIn.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/ZoomOut.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/ZoomPanel.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/ZoomToMaxExtent.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Events.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Feature.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Feature/Vector.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Feature/WFS.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Filter.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Filter/Comparison.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Filter/FeatureId.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Filter/Logical.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Filter/Spatial.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/ArcXML.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/ArcXML/Features.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/Atom.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/CSWGetDomain.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/CSWGetDomain/v2_0_2.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/CSWGetRecords.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/CSWGetRecords/v2_0_2.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/Context.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/Filter.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/Filter/v1.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/Filter/v1_0_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/Filter/v1_1_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/GML.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/GML/Base.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/GML/v2.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/GML/v3.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/GPX.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/GeoJSON.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/GeoRSS.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/JSON.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/KML.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/OSM.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/OWSCommon/v1.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/OWSCommon/v1_0_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/OWSCommon/v1_1_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/OWSContext.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/OWSContext/v0_3_1.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/SLD.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/SLD/v1.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/SLD/v1_0_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/SOSCapabilities.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/SOSCapabilities/v1_0_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/SOSGetFeatureOfInterest.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/SOSGetObservation.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/Text.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WFS.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WFSCapabilities.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WFSCapabilities/v1.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WFSCapabilities/v1_0_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WFSCapabilities/v1_1_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WFSDescribeFeatureType.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WFST.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WFST/v1.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WFST/v1_0_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WFST/v1_1_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WKT.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WMC.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WMC/v1.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WMC/v1_0_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WMC/v1_1_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WMSCapabilities.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WMSCapabilities/v1.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WMSCapabilities/v1_1.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WMSCapabilities/v1_1_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WMSCapabilities/v1_1_1.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WMSCapabilities/v1_3.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WMSCapabilities/v1_3_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WMSDescribeLayer.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WMSDescribeLayer/v1_1.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WMSGetFeatureInfo.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WMTSCapabilities.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WMTSCapabilities/v1_0_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/XML.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Geometry.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Geometry/Collection.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Geometry/Curve.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Geometry/LineString.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Geometry/LinearRing.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Geometry/MultiLineString.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Geometry/MultiPoint.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Geometry/MultiPolygon.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Geometry/Point.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Geometry/Polygon.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Geometry/Rectangle.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Geometry/Surface.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Handler.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Handler/Box.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Handler/Click.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Handler/Drag.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Handler/Feature.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Handler/Hover.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Handler/Keyboard.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Handler/MouseWheel.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Handler/Path.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Handler/Point.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Handler/Polygon.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Handler/RegularPolygon.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Icon.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/ar.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/be-tarask.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/bg.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/br.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/ca.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/cs-CZ.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/da-DK.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/de.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/el.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/en-CA.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/en.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/es.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/fi.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/fr.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/fur.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/gl.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/gsw.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/hr.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/hsb.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/hu.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/ia.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/id.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/io.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/is.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/it.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/ja.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/km.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/ksh.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/nb.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/nds.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/nl.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/nn.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/oc.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/pt-BR.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/pt.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/ru.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/sk.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/sv-SE.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/te.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/vi.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/zh-CN.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/zh-TW.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/ArcGIS93Rest.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/ArcIMS.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/Boxes.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/EventPane.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/FixedZoomLevels.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/GML.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/GeoRSS.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/Google.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/Google/v3.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/Grid.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/HTTPRequest.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/Image.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/KaMap.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/KaMapCache.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/MapGuide.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/MapServer.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/MapServer/Untiled.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/Markers.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/MultiMap.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/PointTrack.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/SphericalMercator.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/TMS.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/Text.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/TileCache.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/Vector.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/Vector/RootContainer.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/VirtualEarth.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/WFS.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/WMS.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/WMS/Post.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/WMS/Untiled.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/WMTS.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/WorldWind.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/XYZ.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/Yahoo.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/Zoomify.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Map.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Marker.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Marker/Box.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Popup.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Popup/Anchored.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Popup/AnchoredBubble.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Popup/Framed.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Popup/FramedCloud.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Projection.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Protocol.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Protocol/HTTP.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Protocol/SOS.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Protocol/SOS/v1_0_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Protocol/SQL.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Protocol/SQL/Gears.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Protocol/WFS.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Protocol/WFS/v1.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Protocol/WFS/v1_0_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Protocol/WFS/v1_1_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Renderer.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Renderer/Canvas.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Renderer/Elements.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Renderer/SVG.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Renderer/VML.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Request.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Request/XMLHttpRequest.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Rule.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/SingleFile.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Strategy.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Strategy/BBOX.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Strategy/Cluster.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Strategy/Filter.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Strategy/Fixed.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Strategy/Paging.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Strategy/Refresh.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Strategy/Save.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Style.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Style2.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/StyleMap.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Symbolizer.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Symbolizer/Line.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Symbolizer/Point.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Symbolizer/Polygon.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Symbolizer/Raster.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Symbolizer/Text.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Tile.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Tile/Image.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Tile/Image/IFrame.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Tile/WFS.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Tween.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Util.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/Rico/Color.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/Rico/Corner.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/license.txt
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/news.txt
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/readme.txt
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/release-license.txt
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/repository-license.txt
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/framedCloud.css
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/google.css
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/ie6-style.css
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/add_point_off.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/add_point_on.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/blank.gif
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/close.gif
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/drag-rectangle-off.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/drag-rectangle-on.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/draw_line_off.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/draw_line_on.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/draw_point_off.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/draw_point_on.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/draw_polygon_off.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/draw_polygon_on.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/editing_tool_bar.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/move_feature_off.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/move_feature_on.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/navigation_history.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/overview_replacement.gif
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/pan-panel-NOALPHA.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/pan-panel.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/pan_off.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/pan_on.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/panning-hand-off.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/panning-hand-on.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/remove_point_off.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/remove_point_on.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/ruler.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/save_features_off.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/save_features_on.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/view_next_off.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/view_next_on.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/view_previous_off.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/view_previous_on.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/zoom-panel-NOALPHA.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/zoom-panel.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/style.css

  Log Message:
  -----------
  Merge pull request #8672 from OpenNMS/mm/NMS-20080-smoke

NMS-20080: Remove vendored legacy OpenLayers and Leaflet from web-assets


  Commit: 19bdcd031a6f8b9507dd3434cd91b4095d9c5900
      https://github.com/OpenNMS/opennms/commit/19bdcd031a6f8b9507dd3434cd91b4095d9c5900
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-27 (Mon, 27 Jul 2026)

  Changed paths:
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/gwt-unitCache/gwt-unitCache-00000138297CB60C
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/gwt-unitCache/gwt-unitCache-00000138297DB8FB
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/gwt-unitCache/gwt-unitCache-0000013829825EEF
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/gwt-unitCache/gwt-unitCache-0000013829848D35
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/gwt-unitCache/gwt-unitCache-00000138298589F1
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/gwt-unitCache/gwt-unitCache-000001382A763EFE
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/gwt-unitCache/gwt-unitCache-000001382A785794
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/gwt-unitCache/gwt-unitCache-000001382A794D3E
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/gwt-unitCache/gwt-unitCache-000001382AE1788A
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/gwt-unitCache/gwt-unitCache-0000013833C11F8C
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/gwt-unitCache/gwt-unitCache-0000013833C4C56E
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/src/org/opennms/gwtterminal/GWTTerminal.gwt.xml
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/src/org/opennms/gwtterminal/client/Code.java
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/src/org/opennms/gwtterminal/client/GWTTerminal.java
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/src/org/opennms/gwtterminal/client/GreetingService.java
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/src/org/opennms/gwtterminal/client/GreetingServiceAsync.java
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/src/org/opennms/gwtterminal/client/GwtTerm.java
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/src/org/opennms/gwtterminal/client/Key.java
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/src/org/opennms/gwtterminal/client/KeyBuffer.java
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/src/org/opennms/gwtterminal/client/TermHandler.java
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/src/org/opennms/gwtterminal/server/GreetingServiceImpl.java
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/src/org/opennms/gwtterminal/shared/FieldVerifier.java
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/test-classes/org/opennms/gwtterminal/TermHandlerTest$SudoKeyDownEvent.class
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/test-classes/org/opennms/gwtterminal/TermHandlerTest$SudoKeyPressEvent.class
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/test-classes/org/opennms/gwtterminal/TermHandlerTest.class
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/test/org/opennms/gwtterminal/TermHandlerTest.java
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/GWTTerminal.css
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/GWTTerminal.html
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/WEB-INF/classes/org/opennms/gwtterminal/GWTTerminal.gwt.xml
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/WEB-INF/classes/org/opennms/gwtterminal/client/Code.class
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/WEB-INF/classes/org/opennms/gwtterminal/client/GWTTerminal.class
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/WEB-INF/classes/org/opennms/gwtterminal/client/GreetingService.class
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/WEB-INF/classes/org/opennms/gwtterminal/client/GreetingServiceAsync.class
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/WEB-INF/classes/org/opennms/gwtterminal/client/GwtTerm.class
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/WEB-INF/classes/org/opennms/gwtterminal/client/Key.class
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/WEB-INF/classes/org/opennms/gwtterminal/client/KeyBuffer.class
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/WEB-INF/classes/org/opennms/gwtterminal/client/TermHandler.class
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/WEB-INF/classes/org/opennms/gwtterminal/server/GreetingServiceImpl.class
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/WEB-INF/classes/org/opennms/gwtterminal/shared/FieldVerifier.class
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/WEB-INF/deploy/gwtterminal/rpcPolicyManifest/manifest.txt
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/WEB-INF/deploy/gwtterminal/rpcPolicyManifest/manifests/E8324028FC2A5579ABCCBEF1ED875E35.txt
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/WEB-INF/lib/gwt-servlet.jar
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/WEB-INF/web.xml
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/gwtterminal/F28EB24DE6839E4F41DC17E91E4C1791.gwt.rpc
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/gwtterminal/clear.cache.gif
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/gwtterminal/gwt/clean/clean.css
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/gwtterminal/gwt/clean/clean_rtl.css
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/gwtterminal/gwt/clean/images/circles.png
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/gwtterminal/gwt/clean/images/circles_ie6.png
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/gwtterminal/gwt/clean/images/corner.png
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/gwtterminal/gwt/clean/images/corner_ie6.png
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/gwtterminal/gwt/clean/images/hborder.png
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/gwtterminal/gwt/clean/images/hborder_ie6.png
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/gwtterminal/gwt/clean/images/thumb_horz.png
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/gwtterminal/gwt/clean/images/thumb_vertical.png
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/gwtterminal/gwt/clean/images/vborder.png
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/gwtterminal/gwt/clean/images/vborder_ie6.png
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/gwtterminal/gwtterminal.nocache.js
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/gwtterminal/hosted.html
    R features/topology-map/plugins/org.opennms.features.topology.plugins.sandbox/widgets/GWTTerminal/war/terminal.js
    M pom.xml

  Log Message:
  -----------
  Merge pull request #8669 from OpenNMS/mm/NMS-20079-smoke

NMS-20079: Remove the checked-in GWT sandbox from topology-map plugins


  Commit: 3336b3ca0a4ed207a2b96ff2ab53b95504c2dfab
      https://github.com/OpenNMS/opennms/commit/3336b3ca0a4ed207a2b96ff2ab53b95504c2dfab
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-27 (Mon, 27 Jul 2026)

  Changed paths:
    M debian/rules
    R features/ticketing/otrs-integration-31/src/license/THIRD-PARTY.properties
    R features/ticketing/otrs-integration-common/src/license/THIRD-PARTY.properties
    M pom.xml
    M tools/packages/opennms/opennms.spec

  Log Message:
  -----------
  NMS-20084: Remove OTRS orphan directories and packaging tombstones

The two otrs-integration directories each held a single stale
THIRD-PARTY.properties and were not in the ticketing module list.
The plugin-provisioning-map/-link spec stanzas had no %files sections
(rpmbuild never emitted them) and no Obsoletes lines, and debian/rules
generated postinst scripts for those same packages that debian/control
never declares. rancidApiVersion was referenced by nothing. The
functioning Conflicts/Replaces/Obsoletes upgrade-path entries for
otrs/remedy/rancid in debian/control and opennms.spec are untouched.


  Commit: 449164be07a11c5df9048246a7cfc0ec4e2b3c21
      https://github.com/OpenNMS/opennms/commit/449164be07a11c5df9048246a7cfc0ec4e2b3c21
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-27 (Mon, 27 Jul 2026)

  Changed paths:
    M pom.xml

  Log Message:
  -----------
  NMS-20085: Remove unused dependencyManagement entries from the root pom

22 managed artifacts that no module declares and no code imports,
including four org.opennms.dependencies aggregates that do not exist
as modules, EOL libraries (ehcache 1.8.0, dbunit 2.4.8, jcommon,
wsdl4j), standing CVE surface (xstream, commons-fileupload), the
stale opennms-rrd-jrobin entry left from the Horizon 36 JoeSNMP/RRD
cleanup, and JUnit 5 API entries with zero org.junit.jupiter imports
in the tree. Four version properties whose only consumer was a
removed entry go with them. junit-vintage-engine, curator-recipes,
and the xstreamVersion property (used by the servicemix bundle lists
in container poms) are untouched.


  Commit: 85cacd25ca53e5d889b1561e30d2e102e8f3c5dd
      https://github.com/OpenNMS/opennms/commit/85cacd25ca53e5d889b1561e30d2e102e8f3c5dd
  Author: Scott Theleman <[email protected]>
  Date:   2026-07-27 (Mon, 27 Jul 2026)

  Changed paths:
    M opennms-webapp/src/main/webapp/includes/bootstrap.jsp
    M ui/src/menu/main.ts
    M ui/src/styles/opennms-styles.scss

  Log Message:
  -----------
  NMS-19975: Fix flicker when navigating to JSP pages (#8670)


  Commit: f145aa27c31829f6b05b7da681cb688a8237227b
      https://github.com/OpenNMS/opennms/commit/f145aa27c31829f6b05b7da681cb688a8237227b
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    R opennms-webapp/src/main/webapp/xml/all-events.xml
    R opennms-webapp/src/main/webapp/xml/nodes-limit-20.xml

  Log Message:
  -----------
  Merge pull request #8674 from OpenNMS/mm/NMS-20082-smoke

NMS-20082: Remove sample REST dumps served as webapp static content


  Commit: fbb57581bc0e06e5fd587b89e19985ccebba0945
      https://github.com/OpenNMS/opennms/commit/fbb57581bc0e06e5fd587b89e19985ccebba0945
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    M debian/rules
    R features/ticketing/otrs-integration-31/src/license/THIRD-PARTY.properties
    R features/ticketing/otrs-integration-common/src/license/THIRD-PARTY.properties
    M pom.xml
    M tools/packages/opennms/opennms.spec

  Log Message:
  -----------
  Merge pull request #8676 from OpenNMS/mm/NMS-20084-smoke

NMS-20084: Remove OTRS orphan directories and packaging tombstones


  Commit: 97453e8eb7f4dc938066a138701810a71f10ef6b
      https://github.com/OpenNMS/opennms/commit/97453e8eb7f4dc938066a138701810a71f10ef6b
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    M pom.xml

  Log Message:
  -----------
  Merge pull request #8677 from OpenNMS/mm/NMS-20085-smoke

NMS-20085: Remove unused dependencyManagement entries from the root pom


  Commit: 2c455f659fc054a64afdb883f06480a505cb131c
      https://github.com/OpenNMS/opennms/commit/2c455f659fc054a64afdb883f06480a505cb131c
  Author: mershad-manesh <[email protected]>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    M docs/antora.yml
    M docs/modules/deployment/pages/time-series-storage/newts/cassandra-jmx.adoc
    M docs/modules/deployment/pages/time-series-storage/newts/cassandra-newts-jmx.adoc
    M docs/modules/deployment/pages/time-series-storage/newts/configuration.adoc
    M docs/modules/development/pages/rest/snmp-datacollection-config-rest-api.adoc
    M docs/modules/development/pages/source-copyright.adoc
    M docs/modules/reference/pages/configuration/system-properties.adoc
    M docs/modules/reference/pages/karaf-shell/karaf-shell.adoc
    M docs/modules/reference/pages/performance-data-collection/collectors/xml-examples.adoc
    M docs/modules/write-the-docs/pages/build-docs.adoc

  Log Message:
  -----------
  Fix a few issues with docs (#8665)


  Commit: be23ef02bcab700af7a0feac7997392da423374f
      https://github.com/OpenNMS/opennms/commit/be23ef02bcab700af7a0feac7997392da423374f
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    R opennms-webapp/src/main/webapp/images/_notes/bkg-nav-active.jpg.mno
    R opennms-webapp/src/main/webapp/images/activemq.png
    R opennms-webapp/src/main/webapp/images/arrow-boxed-16x16.gif
    R opennms-webapp/src/main/webapp/images/arrow-boxed-large.gif
    R opennms-webapp/src/main/webapp/images/bl.gif
    R opennms-webapp/src/main/webapp/images/br.gif
    R opennms-webapp/src/main/webapp/images/card-mc.jpg
    R opennms-webapp/src/main/webapp/images/card-visa.jpg
    R opennms-webapp/src/main/webapp/images/copy.gif
    R opennms-webapp/src/main/webapp/images/fake-graph.png
    R opennms-webapp/src/main/webapp/images/favico.ico
    R opennms-webapp/src/main/webapp/images/first.gif
    R opennms-webapp/src/main/webapp/images/footerbg.png
    R opennms-webapp/src/main/webapp/images/getacro.gif
    R opennms-webapp/src/main/webapp/images/headingbg.png
    R opennms-webapp/src/main/webapp/images/indicator.gif
    R opennms-webapp/src/main/webapp/images/ionic.png
    R opennms-webapp/src/main/webapp/images/jrobin.png
    R opennms-webapp/src/main/webapp/images/last.gif
    R opennms-webapp/src/main/webapp/images/logokaraf.png
    R opennms-webapp/src/main/webapp/images/minus.gif
    R opennms-webapp/src/main/webapp/images/next.gif
    R opennms-webapp/src/main/webapp/images/nrtg/pause.png
    R opennms-webapp/src/main/webapp/images/nrtg/play.png
    R opennms-webapp/src/main/webapp/images/o-192.png
    R opennms-webapp/src/main/webapp/images/o-blue-trans.png
    R opennms-webapp/src/main/webapp/images/o-blue-trans.svg
    R opennms-webapp/src/main/webapp/images/o-green-trans.png
    R opennms-webapp/src/main/webapp/images/pg-power.jpg
    R opennms-webapp/src/main/webapp/images/plan-icons/icon-bru.jpg
    R opennms-webapp/src/main/webapp/images/plus.gif
    R opennms-webapp/src/main/webapp/images/prev.gif
    R opennms-webapp/src/main/webapp/images/products/product1.png
    R opennms-webapp/src/main/webapp/images/products/product2.png
    R opennms-webapp/src/main/webapp/images/rrdtool.gif
    R opennms-webapp/src/main/webapp/images/star_empty.png
    R opennms-webapp/src/main/webapp/images/star_filled.png
    R opennms-webapp/src/main/webapp/images/tab.gif
    R opennms-webapp/src/main/webapp/images/table/csv.gif
    R opennms-webapp/src/main/webapp/images/table/filter.gif
    R opennms-webapp/src/main/webapp/images/table/filterArrow.gif
    R opennms-webapp/src/main/webapp/images/table/firstPage.gif
    R opennms-webapp/src/main/webapp/images/table/firstPageDisabled.gif
    R opennms-webapp/src/main/webapp/images/table/lastPage.gif
    R opennms-webapp/src/main/webapp/images/table/lastPageDisabled.gif
    R opennms-webapp/src/main/webapp/images/table/nextPage.gif
    R opennms-webapp/src/main/webapp/images/table/nextPageDisabled.gif
    R opennms-webapp/src/main/webapp/images/table/pdf.gif
    R opennms-webapp/src/main/webapp/images/table/prevPage.gif
    R opennms-webapp/src/main/webapp/images/table/prevPageDisabled.gif
    R opennms-webapp/src/main/webapp/images/table/rowsDisplayed.gif
    R opennms-webapp/src/main/webapp/images/table/separator.gif
    R opennms-webapp/src/main/webapp/images/table/sortAsc.gif
    R opennms-webapp/src/main/webapp/images/table/sortDesc.gif
    R opennms-webapp/src/main/webapp/images/table/xls.gif
    R opennms-webapp/src/main/webapp/images/textures/debut_dark.png
    R opennms-webapp/src/main/webapp/images/textures/gray_jean.png
    R opennms-webapp/src/main/webapp/images/tl.gif
    R opennms-webapp/src/main/webapp/images/tomcat.gif
    R opennms-webapp/src/main/webapp/images/tr.gif
    R opennms-webapp/src/main/webapp/images/wallpapers/IMG_9269-X2.jpg

  Log Message:
  -----------
  NMS-20091: Remove unreferenced images from the webapp images directory

61 of 115 files under images/ are referenced by nothing: dead
third-party and branding logos, pre-Bootstrap table sprites, a
Dreamweaver _notes artifact, and orphaned files under nrtg/,
products/, plan-icons/, textures/, and wallpapers/. The non-compact
table/*.gif set was the eXtremeComponents default image path, but the
only ec:table pages (Statistics Reports) explicitly set
imagePath="images/table/compact/*.gif", so the compact set stays.
No dynamically constructed images/ paths exist in JSP/JS/Java; the
eXtremeComponents imagePath mechanism was the one exception and is
accounted for.


  Commit: bc7d374e8c5155b323f52ee4b1f43f374e5cf250
      https://github.com/OpenNMS/opennms/commit/bc7d374e8c5155b323f52ee4b1f43f374e5cf250
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    M pom.xml

  Log Message:
  -----------
  NMS-20093: Restore xstream and kotlin-stdlib dependencyManagement pins

NMS-20085 removed these as unused, but they were pinning the versions
of transitive dependencies that ship in $OPENNMS_HOME/lib: removing
them downgraded xstream 1.4.21 -> 1.4.20 (via drools-xml-support;
1.4.21 was a CVE-motivated bump) and kotlin-stdlib/-common
1.9.10 -> 1.4.10 (via okhttp). CI stayed green because the transitive
consumers declare and work with the older releases - the pins exist to
override them with patched versions. The restored entries carry
comments naming the transitive consumer they govern. Verified via
dependency:tree on opennms-base-assembly, which is the resolution that
populates lib/.


  Commit: ecd8020cfc6e47bdbb835f47f9b2b13ffe711082
      https://github.com/OpenNMS/opennms/commit/ecd8020cfc6e47bdbb835f47f9b2b13ffe711082
  Author: Morteza E <[email protected]>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/DiscoveryRestService.java
    M opennms-webapp-rest/src/test/java/org/opennms/web/rest/v2/DiscoveryRestServiceIT.java
    M opennms-webapp/src/main/webapp/WEB-INF/applicationContext-spring-security.xml

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/foundation-2025' into release-36.x


  Commit: 335dad1b93efc079f6df33f650f2eb7c43b60047
      https://github.com/OpenNMS/opennms/commit/335dad1b93efc079f6df33f650f2eb7c43b60047
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    R opennms-webapp/src/main/webapp/images/_notes/bkg-nav-active.jpg.mno
    R opennms-webapp/src/main/webapp/images/activemq.png
    R opennms-webapp/src/main/webapp/images/arrow-boxed-16x16.gif
    R opennms-webapp/src/main/webapp/images/arrow-boxed-large.gif
    R opennms-webapp/src/main/webapp/images/bl.gif
    R opennms-webapp/src/main/webapp/images/br.gif
    R opennms-webapp/src/main/webapp/images/card-mc.jpg
    R opennms-webapp/src/main/webapp/images/card-visa.jpg
    R opennms-webapp/src/main/webapp/images/copy.gif
    R opennms-webapp/src/main/webapp/images/fake-graph.png
    R opennms-webapp/src/main/webapp/images/favico.ico
    R opennms-webapp/src/main/webapp/images/first.gif
    R opennms-webapp/src/main/webapp/images/footerbg.png
    R opennms-webapp/src/main/webapp/images/getacro.gif
    R opennms-webapp/src/main/webapp/images/headingbg.png
    R opennms-webapp/src/main/webapp/images/indicator.gif
    R opennms-webapp/src/main/webapp/images/ionic.png
    R opennms-webapp/src/main/webapp/images/jrobin.png
    R opennms-webapp/src/main/webapp/images/last.gif
    R opennms-webapp/src/main/webapp/images/logokaraf.png
    R opennms-webapp/src/main/webapp/images/minus.gif
    R opennms-webapp/src/main/webapp/images/next.gif
    R opennms-webapp/src/main/webapp/images/nrtg/pause.png
    R opennms-webapp/src/main/webapp/images/nrtg/play.png
    R opennms-webapp/src/main/webapp/images/o-192.png
    R opennms-webapp/src/main/webapp/images/o-blue-trans.png
    R opennms-webapp/src/main/webapp/images/o-blue-trans.svg
    R opennms-webapp/src/main/webapp/images/o-green-trans.png
    R opennms-webapp/src/main/webapp/images/pg-power.jpg
    R opennms-webapp/src/main/webapp/images/plan-icons/icon-bru.jpg
    R opennms-webapp/src/main/webapp/images/plus.gif
    R opennms-webapp/src/main/webapp/images/prev.gif
    R opennms-webapp/src/main/webapp/images/products/product1.png
    R opennms-webapp/src/main/webapp/images/products/product2.png
    R opennms-webapp/src/main/webapp/images/rrdtool.gif
    R opennms-webapp/src/main/webapp/images/star_empty.png
    R opennms-webapp/src/main/webapp/images/star_filled.png
    R opennms-webapp/src/main/webapp/images/tab.gif
    R opennms-webapp/src/main/webapp/images/table/csv.gif
    R opennms-webapp/src/main/webapp/images/table/filter.gif
    R opennms-webapp/src/main/webapp/images/table/filterArrow.gif
    R opennms-webapp/src/main/webapp/images/table/firstPage.gif
    R opennms-webapp/src/main/webapp/images/table/firstPageDisabled.gif
    R opennms-webapp/src/main/webapp/images/table/lastPage.gif
    R opennms-webapp/src/main/webapp/images/table/lastPageDisabled.gif
    R opennms-webapp/src/main/webapp/images/table/nextPage.gif
    R opennms-webapp/src/main/webapp/images/table/nextPageDisabled.gif
    R opennms-webapp/src/main/webapp/images/table/pdf.gif
    R opennms-webapp/src/main/webapp/images/table/prevPage.gif
    R opennms-webapp/src/main/webapp/images/table/prevPageDisabled.gif
    R opennms-webapp/src/main/webapp/images/table/rowsDisplayed.gif
    R opennms-webapp/src/main/webapp/images/table/separator.gif
    R opennms-webapp/src/main/webapp/images/table/sortAsc.gif
    R opennms-webapp/src/main/webapp/images/table/sortDesc.gif
    R opennms-webapp/src/main/webapp/images/table/xls.gif
    R opennms-webapp/src/main/webapp/images/textures/debut_dark.png
    R opennms-webapp/src/main/webapp/images/textures/gray_jean.png
    R opennms-webapp/src/main/webapp/images/tl.gif
    R opennms-webapp/src/main/webapp/images/tomcat.gif
    R opennms-webapp/src/main/webapp/images/tr.gif
    R opennms-webapp/src/main/webapp/images/wallpapers/IMG_9269-X2.jpg

  Log Message:
  -----------
  Merge pull request #8682 from OpenNMS/mm/NMS-20091-smoke

NMS-20091: Remove unreferenced images from the webapp images directory


  Commit: 940ff375e7956a9353dd22b5df0e051bba0ce193
      https://github.com/OpenNMS/opennms/commit/940ff375e7956a9353dd22b5df0e051bba0ce193
  Author: Scott Theleman <[email protected]>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    M .gitignore
    M ui/eslint.config.js
    M ui/package.json
    A ui/packages/onms-ui/README.md
    A ui/packages/onms-ui/package.json
    A ui/packages/onms-ui/src/components/OnmsAutoComplete.vue
    A ui/packages/onms-ui/src/components/OnmsButton.vue
    A ui/packages/onms-ui/src/components/OnmsCheckbox.vue
    A ui/packages/onms-ui/src/components/OnmsDialog.vue
    A ui/packages/onms-ui/src/components/OnmsIcon.vue
    A ui/packages/onms-ui/src/components/OnmsIconButton.vue
    A ui/packages/onms-ui/src/components/OnmsInputText.vue
    A ui/packages/onms-ui/src/components/OnmsPassword.vue
    A ui/packages/onms-ui/src/components/OnmsSelect.vue
    A ui/packages/onms-ui/src/components/OnmsSpinner.vue
    A ui/packages/onms-ui/src/components/OnmsTag.vue
    A ui/packages/onms-ui/src/components/OnmsTextarea.vue
    A ui/packages/onms-ui/src/components/OnmsToastHost.vue
    A ui/packages/onms-ui/src/composables/useOnmsToast.ts
    A ui/packages/onms-ui/src/index.ts
    A ui/packages/onms-ui/src/types.ts
    M ui/pnpm-lock.yaml
    M ui/pnpm-workspace.yaml
    M ui/src/components/Common/ConfirmationDialog.vue
    M ui/src/components/Common/EmptyList.vue
    M ui/src/components/Common/MessageDialog.vue
    R ui/src/components/Common/OnmsIconButton.vue
    R ui/src/components/Common/Snackbar.vue
    M ui/src/components/Common/Spinner.vue
    M ui/src/components/Configuration/ConfigurationAdvancedPanel.vue
    M ui/src/components/Configuration/ConfigurationCopyPasteDisplay.vue
    M ui/src/components/Configuration/ConfigurationCronSelector.vue
    M ui/src/components/Configuration/ConfigurationDrawer.vue
    M ui/src/components/Configuration/ConfigurationEmptyTable.vue
    M ui/src/components/Configuration/ConfigurationHelpPanel.vue
    M ui/src/components/Configuration/ConfigurationTable.vue
    M ui/src/components/Configuration/ConfigurationTableWrapper.vue
    M ui/src/components/Configuration/ConfigurationThreadPools.vue
    M ui/src/components/Configuration/ProvisionDForm.vue
    M ui/src/components/Device/DCBGroupFilters.vue
    M ui/src/components/Device/DCBModal.vue
    M ui/src/components/Device/DCBModalConfigDiffContent.vue
    M ui/src/components/Device/DCBModalViewHistoryContent.vue
    M ui/src/components/Device/DCBSearch.vue
    M ui/src/components/Device/DCBTable.vue
    M ui/src/components/Device/DCBTableStatusDropdown.vue
    M ui/src/components/EventConfigEventCreate/AlarmDataInfo.vue
    M ui/src/components/EventConfigEventCreate/BasicInformation.vue
    M ui/src/components/EventConfigEventCreate/MaskElements.vue
    M ui/src/components/EventConfigEventCreate/MaskVarbinds.vue
    M ui/src/components/EventConfigEventCreate/VarbindsDecode.vue
    M ui/src/components/EventConfiguration/Dialog/CreateEventConfigurationDialog.vue
    M ui/src/components/EventConfiguration/Dialog/UploadedFileRenameDialog.vue
    M ui/src/components/EventConfiguration/EventConfigSourceTable.vue
    M ui/src/components/EventConfiguration/EventConfigUploadFilesTab.vue
    M ui/src/components/EventConfigurationDetail/EventConfigEventTable.vue
    M ui/src/components/FileEditor/Console.vue
    M ui/src/components/FileEditor/FileSidebar.vue
    M ui/src/components/FileEditor/FileTreeItem.vue
    M ui/src/components/FileEditor/Help.vue
    M ui/src/components/FileEditor/NewFileInput.vue
    M ui/src/components/FileEditor/Search.vue
    M ui/src/components/FileEditor/TopBar.vue
    M ui/src/components/Logs/Editor.vue
    M ui/src/components/Map/MapAlarmsGrid.vue
    M ui/src/components/Map/MapSearch.vue
    M ui/src/components/Map/MarkerClusterPopupContent.vue
    M ui/src/components/Map/MarkerPopup.vue
    M ui/src/components/Map/SeverityFilter.vue
    M ui/src/components/Menu/Menubar.vue
    M ui/src/components/Menu/Search.vue
    M ui/src/components/Menu/SearchResult.vue
    M ui/src/components/Menu/SideMenu.vue
    M ui/src/components/Menu/UserNotificationsMenuItem.vue
    M ui/src/components/Menu/UserSelfServiceMenuItem.vue
    M ui/src/components/Nodes/AssetFilterPanel.vue
    M ui/src/components/Nodes/ColumnSelectionDrawer.vue
    M ui/src/components/Nodes/EventsTable.vue
    M ui/src/components/Nodes/ExtendedSearchPanel.vue
    M ui/src/components/Nodes/FlowTooltipCell.vue
    M ui/src/components/Nodes/NodeActionsDropdown.vue
    M ui/src/components/Nodes/NodeAdvancedFiltersDrawer.vue
    M ui/src/components/Nodes/NodeDetailsDialog.vue
    M ui/src/components/Nodes/NodeDownloadDropdown.vue
    M ui/src/components/Nodes/NodesTable.vue
    M ui/src/components/Resources/Graph.vue
    M ui/src/components/Resources/GraphDataTable.vue
    M ui/src/components/Resources/Graphs.vue
    M ui/src/components/Resources/NodeResourceList.vue
    M ui/src/components/Resources/ResourceList.vue
    M ui/src/components/Resources/TimeControls.vue
    M ui/src/components/SCV/SCVAttribute.vue
    M ui/src/components/SCV/SCVForm.vue
    M ui/src/components/SCV/ScvInputIcon.vue
    M ui/src/components/SCV/ScvSearchDrawer.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigDefaultsPanel.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigDefinitionBasicInformation.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigDefinitionsTab.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigDefinitionsTable.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigDetailsPanel.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigLookupPanel.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigPairedFieldInputs.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigProfileBasicInformation.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigProfilesTab.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigProfilesTable.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigUploadDownloadTab.vue
    M ui/src/components/SnmpDataCollection/Dialog/UploadedFileRenameDialog.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionProfile/ProfileDetailsTab.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionProfile/ProfileRrdSettingsTab.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionProfile/ProfileSourcesTab.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionProfile/SnmpDataCollectionProfileDetails.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionProfilesTable.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/Drawer/MibGroupCreationDrawer.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/Drawer/ResourceTypeCreationDrawer.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/Drawer/SnmpDataCollectionSourceProfilesDrawer.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/Drawer/SystemDefinitionCreationDrawer.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/MibGroupsTable.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/ResourceTypesTable.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/SystemDefinitionsTable.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceImport.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourcesTable.vue
    M ui/src/components/TrapdConfiguration/CreateSnmpV3User.vue
    M ui/src/components/TrapdConfiguration/GeneralConfiguration.vue
    M ui/src/components/TrapdConfiguration/SnmpV3UserManagement.vue
    M ui/src/components/TrapdConfiguration/TrapdAdvancedConfiguration.vue
    M ui/src/components/UsageStatistics/UsageStatisticsHeader.vue
    M ui/src/components/ZenithConnect/ZenithConnectRegister.vue
    M ui/src/components/ZenithConnect/ZenithConnectRegisterResult.vue
    M ui/src/components/ZenithConnect/ZenithConnectView.vue
    R ui/src/components/icons/OnmsIcon.vue
    M ui/src/composables/useSnackbar.ts
    M ui/src/containers/EventConfigEventCreate.vue
    M ui/src/containers/EventConfiguration.vue
    M ui/src/containers/EventConfigurationDetail.vue
    M ui/src/containers/FileEditor.vue
    M ui/src/containers/ProvisionDConfig.vue
    M ui/src/containers/SnmpDataCollection.vue
    M ui/src/containers/SnmpDataCollectionSourceDetail.vue
    M ui/src/containers/ZenithConnectSuccess.vue
    M ui/src/main/App.vue
    R ui/tests/components/Common/OnmsIconButton.test.ts
    M ui/tests/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/Drawer/ResourceTypeCreationDrawer.test.ts
    M ui/tests/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/Drawer/SystemDefinitionCreationDrawer.test.ts
    M ui/tests/composables/useSnackbar.test.ts
    A ui/tests/onms-ui/OnmsAutoComplete.test.ts
    A ui/tests/onms-ui/OnmsButton.test.ts
    A ui/tests/onms-ui/OnmsCheckbox.test.ts
    A ui/tests/onms-ui/OnmsDialog.test.ts
    A ui/tests/onms-ui/OnmsIcon.test.ts
    A ui/tests/onms-ui/OnmsIconButton.test.ts
    A ui/tests/onms-ui/OnmsInputText.test.ts
    A ui/tests/onms-ui/OnmsPassword.test.ts
    A ui/tests/onms-ui/OnmsSelect.test.ts
    A ui/tests/onms-ui/OnmsSpinner.test.ts
    A ui/tests/onms-ui/OnmsTag.test.ts
    A ui/tests/onms-ui/OnmsTextarea.test.ts
    A ui/tests/onms-ui/package.test.ts
    A ui/tests/onms-ui/useOnmsToast.test.ts
    M ui/tsconfig.json

  Log Message:
  -----------
  NMS-20029: UI seam layer, Phase 1 (#8671)

First tranche of implementing a "seam" UI component wrapper layer.


  Commit: 5192beeb64b21453700f67443be6714d1af86d33
      https://github.com/OpenNMS/opennms/commit/5192beeb64b21453700f67443be6714d1af86d33
  Author: Morteza E <[email protected]>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    A docs/modules/deployment/images/deployment/architecture/dedicated-timeseries.svg
    A docs/modules/deployment/images/deployment/architecture/distributed.svg
    A docs/modules/deployment/images/deployment/architecture/example-enterprise.svg
    A docs/modules/deployment/images/deployment/architecture/example-flow-heavy.svg
    A docs/modules/deployment/images/deployment/architecture/external-postgres.svg
    A docs/modules/deployment/images/deployment/architecture/fault-management.svg
    A docs/modules/deployment/images/deployment/architecture/message-broker.svg
    A docs/modules/deployment/images/deployment/architecture/metrics-pipeline.svg
    A docs/modules/deployment/images/deployment/architecture/minions.svg
    A docs/modules/deployment/images/deployment/architecture/single-host.svg
    M docs/modules/deployment/nav.adoc
    M docs/modules/deployment/pages/air-gap/air-gap-install.adoc
    A docs/modules/deployment/pages/architecture/data-domains.adoc
    A docs/modules/deployment/pages/architecture/deployment-scenarios.adoc
    A docs/modules/deployment/pages/architecture/deployments-in-practice.adoc
    A docs/modules/deployment/pages/architecture/introduction.adoc
    M docs/modules/deployment/pages/core/centos-rhel10/install-core.adoc
    M docs/modules/deployment/pages/core/centos-rhel10/postgresql.adoc
    R docs/modules/deployment/pages/core/centos/adoptium.adoc
    M docs/modules/deployment/pages/core/install.adoc
    M docs/modules/deployment/pages/minion/centos-rhel9/install-minion.adoc
    M docs/modules/deployment/pages/repos/rhel-centos/horizon-rhel10.adoc
    M docs/modules/deployment/pages/sentinel/runtime/centos-rhel9/install-sentinel.adoc
    M docs/modules/deployment/pages/time-series-storage/newts/cassandra-jmx.adoc
    M docs/modules/deployment/pages/time-series-storage/newts/cassandra-newts-jmx.adoc
    M docs/modules/deployment/pages/time-series-storage/newts/configuration.adoc
    M docs/modules/deployment/pages/upgrade/debian/up-debian.adoc
    M docs/modules/deployment/pages/upgrade/rhel/up-rhel.adoc
    M docs/modules/development/pages/build-from-source.adoc
    M docs/modules/development/pages/rest/snmp-datacollection-config-rest-api.adoc
    M docs/modules/development/pages/source-copyright.adoc
    M docs/modules/operation/pages/deep-dive/kafka-producer/configure-kafka.adoc
    M docs/modules/reference/pages/configuration/system-properties.adoc
    M docs/modules/reference/pages/configuration/ttl-rpc.adoc
    M docs/modules/reference/pages/karaf-shell/karaf-shell.adoc
    M docs/modules/reference/pages/performance-data-collection/collectors/http.adoc
    M docs/modules/reference/pages/performance-data-collection/collectors/prometheus.adoc
    M docs/modules/reference/pages/performance-data-collection/collectors/xml-examples.adoc
    M docs/modules/reference/pages/performance-data-collection/collectors/xml.adoc
    M docs/modules/releasenotes/nav.adoc
    A docs/modules/releasenotes/pages/spring-hibernate-upgrade.adoc
    M docs/modules/releasenotes/pages/whatsnew.adoc
    M docs/modules/write-the-docs/pages/build-docs.adoc

  Log Message:
  -----------
  Update the release notes


  Commit: be20ddf9ac3ca5c0b884cc6381bf0e29658ff8dc
      https://github.com/OpenNMS/opennms/commit/be20ddf9ac3ca5c0b884cc6381bf0e29658ff8dc
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    M container/features/pom.xml
    M container/features/src/main/resources/features.xml
    M features/jmx-config-generator/pom.xml
    R features/jmx-config-generator/src/main/filtered/features.xml
    M opennms-full-assembly/pom.xml

  Log Message:
  -----------
  NMS-20095: Remove orphaned Karaf feature definitions

Seven feature definitions nothing can install: opennms-perspective-poller
and opennms-telemetry-daemon package daemons that run in the core JVM
(enabled by default in service-configuration.xml; their documented
configuration never involves Karaf, and neither feature was staged into
the shipped repo). twitter4j, smack, opennms-bootstrap, and
lmax-disruptor are library wrappers orphaned by the 2015-2018
run-services-in-Karaf work; smack's definition has a malformed bundle
URL and has never been resolvable. netty4's last consumer
(cassandra-driver) now uses the consolidated netty feature. Also
removes the duplicate jmxconfiggenerator features file and its
attach-artifact execution, and the corresponding staging/verify list
entries. opennms-blobstore-noop and nrtg/osgi-nrtg-jms are kept as
installable alternative modes. No code is removed; wrapped jars still
ship in lib/ where used. Verified by full build (karaf verify +
features-add-to-repository), re-run after the scope trim.


  Commit: 1030674860ed21fcb27eed674533f28dc0c7507d
      https://github.com/OpenNMS/opennms/commit/1030674860ed21fcb27eed674533f28dc0c7507d
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    M container/features/pom.xml
    M container/features/src/main/resources/features.xml
    M features/jmx-config-generator/pom.xml
    R features/jmx-config-generator/src/main/filtered/features.xml
    M opennms-full-assembly/pom.xml

  Log Message:
  -----------
  Merge pull request #8686 from OpenNMS/mm/NMS-20095-smoke

NMS-20095: Remove orphaned Karaf feature definitions


  Commit: a51e1be3eb392ad2bd3b98a8d4ad740182fc024c
      https://github.com/OpenNMS/opennms/commit/a51e1be3eb392ad2bd3b98a8d4ad740182fc024c
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    M pom.xml

  Log Message:
  -----------
  NMS-20093: Restore junit-jupiter-api and junit-platform-engine pins

Third casualty of the NMS-20085 pin removal, this one on the test
classpath: without the managed version, junit-jupiter-api resolves to
a transitive's 5.6.2, skewing junit-platform-commons (1.6.2) against
the still-pinned vintage-engine (5.9.2 / platform 1.9.2). The
surefire/failsafe JUnit Platform provider then fails at startup with
NoClassDefFoundError: ClassNamePatternFilterUtils in
features.kafka.producer and features.flows.itests - surfaced by CI on
PR 8683, whose branch is based on the merged NMS-20085. Local builds
with -DskipTests never exercise this. Verified: dependency:tree shows
5.9.2/1.9.2 restored and the kafka producer test suite runs green.


  Commit: 2388f33ecfc4df3231e90b94d3b801613978122f
      https://github.com/OpenNMS/opennms/commit/2388f33ecfc4df3231e90b94d3b801613978122f
  Author: Christian Pape <[email protected]>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M pom.xml

  Log Message:
  -----------
  NMS-20090: Bumped PostgrSQL JDBC version


  Commit: 0f7af8ca65cb1b0a77da0df956f54f5e6be5748d
      https://github.com/OpenNMS/opennms/commit/0f7af8ca65cb1b0a77da0df956f54f5e6be5748d
  Author: Christian Pape <[email protected]>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M pom.xml

  Log Message:
  -----------
  NMS-20089: Bumped log4j version


  Commit: f7cd600d11d211b4af85b41eacf7b16a8e062e32
      https://github.com/OpenNMS/opennms/commit/f7cd600d11d211b4af85b41eacf7b16a8e062e32
  Author: Christian Pape <[email protected]>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M pom.xml

  Log Message:
  -----------
  NMS-20087: Bumped ActiveMQ version


  Commit: 5661a6fd8be192f4f9a1ffaa7ea18528466782aa
      https://github.com/OpenNMS/opennms/commit/5661a6fd8be192f4f9a1ffaa7ea18528466782aa
  Author: Scott Theleman <[email protected]>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M ui/eslint.config.js
    M ui/packages/onms-ui/README.md
    M ui/packages/onms-ui/package.json
    A ui/packages/onms-ui/src/components/OnmsCard.vue
    A ui/packages/onms-ui/src/components/OnmsChip.vue
    A ui/packages/onms-ui/src/components/OnmsColumn.ts
    A ui/packages/onms-ui/src/components/OnmsConfirmationDialog.vue
    A ui/packages/onms-ui/src/components/OnmsDatePicker.vue
    A ui/packages/onms-ui/src/components/OnmsDrawer.vue
    A ui/packages/onms-ui/src/components/OnmsInputNumber.vue
    M ui/packages/onms-ui/src/components/OnmsInputText.vue
    A ui/packages/onms-ui/src/components/OnmsListbox.vue
    A ui/packages/onms-ui/src/components/OnmsMenu.vue
    A ui/packages/onms-ui/src/components/OnmsMessageDialog.vue
    A ui/packages/onms-ui/src/components/OnmsMultiSelect.vue
    A ui/packages/onms-ui/src/components/OnmsPanel.vue
    A ui/packages/onms-ui/src/components/OnmsPopover.vue
    A ui/packages/onms-ui/src/components/OnmsRadioButton.vue
    A ui/packages/onms-ui/src/components/OnmsSearchInput.vue
    A ui/packages/onms-ui/src/components/OnmsTab.vue
    A ui/packages/onms-ui/src/components/OnmsTabList.vue
    A ui/packages/onms-ui/src/components/OnmsTabPanel.vue
    A ui/packages/onms-ui/src/components/OnmsTabPanels.vue
    A ui/packages/onms-ui/src/components/OnmsTable.vue
    A ui/packages/onms-ui/src/components/OnmsTabs.vue
    M ui/packages/onms-ui/src/components/OnmsToastHost.vue
    A ui/packages/onms-ui/src/components/OnmsToggleSwitch.vue
    M ui/packages/onms-ui/src/composables/useOnmsToast.ts
    A ui/packages/onms-ui/src/icons/SearchGlyph.vue
    M ui/packages/onms-ui/src/index.ts
    M ui/packages/onms-ui/src/types.ts
    R ui/src/components/Common/ConfirmationDialog.vue
    R ui/src/components/Common/MessageDialog.vue
    M ui/src/components/Common/TogglePanel.vue
    M ui/src/components/Configuration/ConfigurationTable.vue
    M ui/src/components/Configuration/ConfigurationTableWrapper.vue
    M ui/src/components/Configuration/ConfigurationThreadPools.vue
    M ui/src/components/Configuration/ProvisionDForm.vue
    M ui/src/components/Device/DCBGroupFilters.vue
    M ui/src/components/Device/DCBModalConfigDiffContent.vue
    M ui/src/components/Device/DCBSearch.vue
    M ui/src/components/Device/DCBTable.vue
    M ui/src/components/Device/DCBTableStatusDropdown.vue
    M ui/src/components/EventConfiguration/Dialog/ChangeEventConfigSourceStatusDialog.vue
    M ui/src/components/EventConfiguration/Dialog/DeleteEventConfigSourceDialog.vue
    M ui/src/components/EventConfiguration/Dialog/EventConfigFilesUploadReportDialog.vue
    M ui/src/components/EventConfiguration/EventConfigSourceTable.vue
    M ui/src/components/EventConfiguration/EventConfigTabContainer.vue
    M ui/src/components/EventConfigurationDetail/Dialog/ChangeEventConfigEventStatusDialog.vue
    M ui/src/components/EventConfigurationDetail/Dialog/ChangeEventConfigSourceStatusDialog.vue
    M ui/src/components/EventConfigurationDetail/Dialog/DeleteEventConfigEventDialog.vue
    M ui/src/components/EventConfigurationDetail/Dialog/DeleteEventConfigSourceDialog.vue
    M ui/src/components/EventConfigurationDetail/EventConfigEventTable.vue
    M ui/src/components/FileEditor/FileSidebar.vue
    M ui/src/components/FileEditor/Search.vue
    M ui/src/components/Logs/Logs.vue
    M ui/src/components/Map/GridTabs.vue
    M ui/src/components/Menu/SideMenu.vue
    M ui/src/components/Menu/UserNotificationsMenuItem.vue
    M ui/src/components/Menu/UserSelfServiceMenuItem.vue
    M ui/src/components/Menu/utils.ts
    M ui/src/components/Nodes/AssetFilterPanel.vue
    M ui/src/components/Nodes/ColumnSelectionDrawer.vue
    M ui/src/components/Nodes/EventsTable.vue
    M ui/src/components/Nodes/ExtendedSearchPanel.vue
    M ui/src/components/Nodes/InterfacesTabs.vue
    M ui/src/components/Nodes/IpInterfacesTable.vue
    M ui/src/components/Nodes/NodeActionsDropdown.vue
    M ui/src/components/Nodes/NodeAdvancedFiltersDrawer.vue
    M ui/src/components/Nodes/NodeDownloadDropdown.vue
    M ui/src/components/Nodes/NodesTable.vue
    M ui/src/components/Nodes/OutagesTable.vue
    M ui/src/components/Nodes/SnmpInterfacesTable.vue
    M ui/src/components/Resources/Graph.vue
    M ui/src/components/Resources/TimeControls.vue
    M ui/src/components/SCV/SCVList.vue
    M ui/src/components/SCV/ScvSearchDrawer.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigAdvancedTab.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigDefaultsPanel.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigDefinitionBasicInformation.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigDefinitionsTab.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigDefinitionsTable.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigDetailsPanel.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigLookupPanel.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigPairedFieldInputs.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigProfilesTab.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigProfilesTable.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigTabContainer.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigUploadDownloadTab.vue
    M ui/src/components/SnmpDataCollection/Dialog/DataCollectionFilesUploadReportDialog.vue
    M ui/src/components/SnmpDataCollection/Dialog/DeleteConfirmationDialog.vue
    M ui/src/components/SnmpDataCollection/Dialog/SnmpDataCollectionChangeStatusDialog.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionProfile/ProfileDetailsTab.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionProfile/ProfileRrdSettingsTab.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionProfile/ProfileSourcesTab.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionProfile/SnmpDataCollectionProfileDetails.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionProfilesTable.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/Drawer/MibGroupCreationDrawer.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/Drawer/ResourceTypeCreationDrawer.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/Drawer/SnmpDataCollectionSourceProfilesDrawer.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/Drawer/SystemDefinitionCreationDrawer.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/MibGroupsTable.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/ResourceTypesTable.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceDetail/SystemDefinitionsTable.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourceImport.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourcesTable.vue
    M ui/src/components/TrapdConfiguration/Dialog/DeleteUserConfirmationDialog.vue
    M ui/src/components/TrapdConfiguration/GeneralConfiguration.vue
    M ui/src/components/TrapdConfiguration/SnmpV3UserManagement.vue
    M ui/src/components/TrapdConfiguration/TrapdAdvancedConfiguration.vue
    M ui/src/components/UsageStatistics/UsageStatisticsTable.vue
    M ui/src/components/ZenithConnect/ZenithConnectRegister.vue
    M ui/src/components/ZenithConnect/ZenithConnectRegisterResult.vue
    M ui/src/components/ZenithConnect/ZenithConnectView.vue
    M ui/src/composables/useSnackbar.ts
    M ui/src/containers/FileEditor.vue
    M ui/src/containers/SnmpDataCollection.vue
    M ui/src/containers/SnmpDataCollectionSourceDetail.vue
    M ui/src/containers/TrapdConfiguration.vue
    M ui/src/containers/ZenithConnectSuccess.vue
    M ui/src/stores/deviceStore.ts
    M ui/tests/components/EventConfiguration/Dialog/ChangeEventConfigSourceStatusDialog.test.ts
    M ui/tests/components/EventConfiguration/Dialog/DeleteEventConfigSourceDialog.test.ts
    M ui/tests/components/EventConfiguration/Dialog/EventConfigFilesUploadReportDialog.test.ts
    M ui/tests/components/EventConfigurationDetail/Dialog/ChangeEventConfigEventStatusDialog.test.ts
    M ui/tests/components/EventConfigurationDetail/Dialog/ChangeEventConfigSourceStatusDialog.test.ts
    M ui/tests/components/EventConfigurationDetail/Dialog/DeleteEventConfigEventDialog.test.ts
    M ui/tests/components/EventConfigurationDetail/Dialog/DeleteEventConfigSourceDialog.test.ts
    M ui/tests/components/Menu/utils.test.ts
    M ui/tests/components/Nodes/NodeAdvancedFiltersDrawer.test.ts
    M ui/tests/components/Nodes/NodesTable.test.ts
    M ui/tests/components/SnmpDataCollection/Dialog/DataCollectionFilesUploadReportDialog.test.ts
    M ui/tests/components/SnmpDataCollection/Dialog/DeleteConfirmationDialog.test.ts
    M ui/tests/components/SnmpDataCollection/Dialog/SnmpDataCollectionChangeStatusDialog.test.ts
    M ui/tests/components/TrapdConfiguration/TrapdAdvancedConfiguration.test.ts
    A ui/tests/deviceConfigBackupPagination.test.ts
    A ui/tests/deviceConfigBackupSelectAll.test.ts
    A ui/tests/onms-ui/OnmsCard.test.ts
    A ui/tests/onms-ui/OnmsChip.test.ts
    A ui/tests/onms-ui/OnmsColumn.test.ts
    A ui/tests/onms-ui/OnmsConfirmationDialog.test.ts
    A ui/tests/onms-ui/OnmsDatePicker.test.ts
    A ui/tests/onms-ui/OnmsDrawer.test.ts
    A ui/tests/onms-ui/OnmsInputNumber.test.ts
    M ui/tests/onms-ui/OnmsInputText.test.ts
    A ui/tests/onms-ui/OnmsListbox.test.ts
    A ui/tests/onms-ui/OnmsMenu.test.ts
    A ui/tests/onms-ui/OnmsMessageDialog.test.ts
    A ui/tests/onms-ui/OnmsMultiSelect.test.ts
    A ui/tests/onms-ui/OnmsPanel.test.ts
    A ui/tests/onms-ui/OnmsPopover.test.ts
    A ui/tests/onms-ui/OnmsRadioButton.test.ts
    A ui/tests/onms-ui/OnmsSearchInput.test.ts
    A ui/tests/onms-ui/OnmsTable.test.ts
    A ui/tests/onms-ui/OnmsTabs.test.ts
    A ui/tests/onms-ui/OnmsToggleSwitch.test.ts
    M ui/tests/onms-ui/package.test.ts
    M ui/tests/onms-ui/useOnmsToast.test.ts

  Log Message:
  -----------
  NMS-20081: UI seam layer, Phase 2 (#8688)

* NMS-20081: add OnmsTabs family seam wrappers and sweep tabs usage

* NMS-20081: add OnmsMenu seam wrapper and OnmsMenuItem type; sweep menus

* NMS-20081: add OnmsDrawer seam wrapper and sweep drawers

* NMS-20081: add OnmsChip seam wrapper and sweep chips

* NMS-20081: add OnmsToggleSwitch/OnmsRadioButton seam wrappers and sweep

* NMS-20081: add OnmsInputNumber seam wrapper and sweep

* NMS-20081: fix OnmsInputNumber pt merge clobbering unsafePt

* NMS-20081: add OnmsSearchInput composite and sweep search fields

* NMS-20081: add OnmsPopover seam wrapper and sweep

* NMS-20081: add OnmsPanel/OnmsCard seam wrappers and sweep

* NMS-20081: add OnmsListbox/OnmsMultiSelect/OnmsDatePicker seam wrappers and sweep

* NMS-20081: absorb Confirmation/Message dialogs into @opennms/onms-ui

* NMS-20081: bump onms-ui to 0.2.0; document tranche-2 seam surface

* NMS-20081: final-review fixes — test hygiene and README caveat

* NMS-20081: add OnmsColumn typed re-export and table event types

* NMS-20081: add OnmsTable seam wrapper with baked th scope=col

* NMS-20081: migrate simple tables to OnmsTable/OnmsColumn

* NMS-20081: migrate client-paginated tables to OnmsTable/OnmsColumn

* NMS-20081: migrate lazy server-paginated tables to OnmsTable/OnmsColumn

* NMS-20081: migrate RRD row-editor and virtual-scroll tables to OnmsTable

* NMS-20081: convert DCBTable to paginated OnmsTable, drop custom infinite scroll

* NMS-20081: preserve DCB page size across search/filter refetches; pagination tests

* NMS-20081: bump onms-ui to 0.3.0; ban direct DataTable/Column imports

* NMS-20081: init DCB paginator page size from store to survive remount

* NMS-20029: address tranche-1 PR review follow-ups (trim resync, toast dedup release, version single-source, SPDX, severity map)

* NMS-20081: DCB select-all resolves all matching configs at action time


  Commit: 71a153e8cbfd9c4624d18608a65eebefb6f9e637
      https://github.com/OpenNMS/opennms/commit/71a153e8cbfd9c4624d18608a65eebefb6f9e637
  Author: mershad-manesh <[email protected]>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M .circleci/epoch

  Log Message:
  -----------
  Update epoch


  Commit: 156776f85224cdeaa3b00cf15e7b9c1e05f30686
      https://github.com/OpenNMS/opennms/commit/156776f85224cdeaa3b00cf15e7b9c1e05f30686
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M core/lib/src/main/java/org/opennms/core/utils/ConfigFileConstants.java
    M dependencies/pom.xml
    R dependencies/smack/pom.xml
    M docs/modules/operation/pages/deep-dive/meta-data.adoc
    M docs/modules/operation/pages/deep-dive/notifications/commands.adoc
    M docs/modules/operation/pages/deep-dive/notifications/introduction.adoc
    M docs/modules/reference/pages/daemons/daemon-config-files/notifd.adoc
    M docs/modules/releasenotes/pages/changelog.adoc
    M opennms-base-assembly/src/main/filtered/etc/examples/destinationPaths.xml
    M opennms-base-assembly/src/main/filtered/etc/examples/notificationCommands.xml
    M opennms-base-assembly/src/main/filtered/etc/notificationCommands.xml
    R opennms-base-assembly/src/main/filtered/etc/xmpp-configuration.properties
    M opennms-config-api/src/main/java/org/opennms/netmgt/config/api/UserConfig.java
    M opennms-config-model/src/main/resources/xsds/users.xsd
    M opennms-config-tester/src/main/resources/META-INF/opennms/applicationContext-configTester.xml
    M opennms-config-tester/src/test/java/org/opennms/netmgt/config/tester/ConfigTesterTest.java
    M opennms-config/src/main/java/org/opennms/netmgt/config/NotificationManager.java
    M opennms-config/src/main/java/org/opennms/netmgt/config/UserManager.java
    M opennms-services/pom.xml
    M opennms-services/src/main/java/org/opennms/netmgt/notifd/BSFNotificationStrategy.java
    M opennms-services/src/main/java/org/opennms/netmgt/notifd/HttpNotificationStrategy.java
    M opennms-services/src/main/java/org/opennms/netmgt/notifd/NotificationTask.java
    R opennms-services/src/main/java/org/opennms/netmgt/notifd/XMPPGroupNotificationStrategy.java
    R opennms-services/src/main/java/org/opennms/netmgt/notifd/XMPPNotificationManager.java
    R opennms-services/src/main/java/org/opennms/netmgt/notifd/XMPPNotificationStrategy.java
    R opennms-services/src/test/java/org/opennms/netmgt/notifd/XMPPNotificationTest.java
    M opennms-webapp/src/main/java/org/opennms/web/admin/users/UpdateUserServlet.java
    M opennms-webapp/src/main/java/org/opennms/web/admin/users/parsers/NotificationInfo.java
    M opennms-webapp/src/main/webapp/admin/userGroupView/users/list.jsp
    M opennms-webapp/src/main/webapp/admin/userGroupView/users/modifyUser.jsp
    M opennms-webapp/src/main/webapp/admin/userGroupView/users/userDetail.jsp
    M pom.xml
    M smoke-test/src/test/java/org/opennms/smoketest/UserIT.java

  Log Message:
  -----------
  NMS-20099: Remove the XMPP (Jabber) notification channel

Removes the XMPPNotificationStrategy, XMPPGroupNotificationStrategy,
and XMPPNotificationManager along with the smack dependency module,
etc/xmpp-configuration.properties, the xmppMessage/xmppGroupMessage
default notification commands, the -xmpp notification parameter, and
the XMPP address field in the user admin pages.

The xmppAddress contact type remains valid in users.xsd and ContactType
because the user admin page wrote an empty xmppAddress contact on every
save, so existing users.xml files would otherwise fail validation.


  Commit: 848693946b76a0e244773d90e5214f23d5e8ac7d
      https://github.com/OpenNMS/opennms/commit/848693946b76a0e244773d90e5214f23d5e8ac7d
  Author: Chandra Gorantla <[email protected]>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M opennms-web-api/src/main/java/org/opennms/web/api/RestUtils.java
    M opennms-web-api/src/main/java/org/opennms/web/svclayer/support/DefaultRequisitionAccessService.java
    A opennms-web-api/src/test/java/org/opennms/web/api/RestUtilsTest.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v1/AssetRecordResource.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v1/CategoryRestService.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v1/NodeRestService.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v1/OnmsIpInterfaceResource.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v1/OnmsMonitoredServiceResource.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v1/OnmsSnmpInterfaceResource.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/AbstractDaoRestServiceWithDTO.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/NodeCategoriesRestService.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/NodeIpInterfacesRestService.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/NodeSnmpInterfacesRestService.java
    M opennms-webapp-rest/src/test/java/org/opennms/web/rest/v1/CategoryRestServiceIT.java
    M opennms-webapp-rest/src/test/java/org/opennms/web/rest/v1/NodeRestServiceIT.java
    M opennms-webapp-rest/src/test/java/org/opennms/web/rest/v2/AlarmRestServiceIT.java
    M opennms-webapp-rest/src/test/java/org/opennms/web/rest/v2/MonitoringLocationRestServiceIT.java
    M opennms-webapp-rest/src/test/java/org/opennms/web/rest/v2/NodeRestServiceIT.java

  Log Message:
  -----------
  NMS-20055: Fix rest endpoints that expose protected fields (#8659)

* NMS-20055: Fix rest endpoints that expose protected fields

* NMS-20055: Address review comments

* NMS-20055: Avoid nested properties update for blocked fields

guard some primary key fields

* NMS-20055: Add some more tests

* NMS-20055: More coverage for some of missed Rest API


  Commit: 3fe2678de6f6ef8bfdfd9fd57a4b9ba746eb8230
      https://github.com/OpenNMS/opennms/commit/3fe2678de6f6ef8bfdfd9fd57a4b9ba746eb8230
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M docs/modules/operation/nav.adoc
    M docs/modules/operation/pages/deep-dive/notifications/bonus-strategies.adoc
    A docs/modules/operation/pages/deep-dive/notifications/strategies/ticket.adoc
    M features/notifications/ticket-strategy/src/main/java/org/opennms/netmgt/notifd/TicketNotificationStrategy.java
    M features/notifications/ticket-strategy/src/test/java/org/opennms/netmgt/notifd/TicketNotificationStrategyTest.java
    M opennms-base-assembly/src/main/filtered/etc/examples/destinationPaths.xml
    M opennms-base-assembly/src/main/filtered/etc/examples/notificationCommands.xml

  Log Message:
  -----------
  NMS-20101: Make TicketNotificationStrategy usable and document it

The strategy shipped with no reference in any notificationCommands.xml,
so it was unreachable without hand-written configuration, and its
delivery-time alarm lookup fails when a destination path fires before
alarmd has associated the event with an alarm.

Adds a createTicket example command and a Create-Ticket example
destination path with a non-zero initial-delay to work around the
alarmd race, plus a strategy page in the notifications docs covering
the prerequisites and caveats.

Replaces the hardcoded admin ticket user with an optional ticketUser
argument that can be set per notification; absent or blank values fall
back to admin, preserving the previous behavior.


  Commit: a69eb0e560aa8a85cf220ea7dcee89f858708885
      https://github.com/OpenNMS/opennms/commit/a69eb0e560aa8a85cf220ea7dcee89f858708885
  Author: Chandra Gorantla <[email protected]>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M features/notifications/ticket-strategy/src/main/java/org/opennms/netmgt/notifd/TicketNotificationStrategy.java
    M features/notifications/ticket-strategy/src/test/java/org/opennms/netmgt/notifd/TicketNotificationStrategyTest.java

  Log Message:
  -----------
  NMS-20026: Fix TicketNotificationStrategy wiring (#8637)


  Commit: 5e003e7e5438a3baf1a4cfdd723bc11ac34650bb
      https://github.com/OpenNMS/opennms/commit/5e003e7e5438a3baf1a4cfdd723bc11ac34650bb
  Author: CI/CD System <[email protected]>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M opennms-web-api/src/main/java/org/opennms/web/api/RestUtils.java
    M opennms-web-api/src/main/java/org/opennms/web/svclayer/support/DefaultRequisitionAccessService.java
    A opennms-web-api/src/test/java/org/opennms/web/api/RestUtilsTest.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v1/AssetRecordResource.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v1/CategoryRestService.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v1/NodeRestService.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v1/OnmsIpInterfaceResource.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v1/OnmsMonitoredServiceResource.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v1/OnmsSnmpInterfaceResource.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/AbstractDaoRestServiceWithDTO.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/NodeCategoriesRestService.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/NodeIpInterfacesRestService.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/NodeSnmpInterfacesRestService.java
    M opennms-webapp-rest/src/test/java/org/opennms/web/rest/v1/CategoryRestServiceIT.java
    M opennms-webapp-rest/src/test/java/org/opennms/web/rest/v1/NodeRestServiceIT.java
    M opennms-webapp-rest/src/test/java/org/opennms/web/rest/v2/AlarmRestServiceIT.java
    M opennms-webapp-rest/src/test/java/org/opennms/web/rest/v2/MonitoringLocationRestServiceIT.java
    M opennms-webapp-rest/src/test/java/org/opennms/web/rest/v2/NodeRestServiceIT.java

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/foundation-2023' into foundation-2024


  Commit: 7577c600430af0aa4b84c5ff5cdd9eab9df26da4
      https://github.com/OpenNMS/opennms/commit/7577c600430af0aa4b84c5ff5cdd9eab9df26da4
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M docs/modules/operation/pages/deep-dive/notifications/strategies/ticket.adoc
    M features/notifications/ticket-strategy/src/main/java/org/opennms/netmgt/notifd/TicketNotificationStrategy.java
    M opennms-base-assembly/src/main/filtered/etc/examples/destinationPaths.xml

  Log Message:
  -----------
  NMS-20101: Address review feedback

Adds the missing space in the send() info log message, corrects the
stale copy-pasted javadoc on getAlarmTypeFromUEI, and makes the
target wording in the docs and example comment agnostic to whether
the destination path targets a user or a group.


  Commit: 6182b206b041eee69a561655c2046abe58b4da6f
      https://github.com/OpenNMS/opennms/commit/6182b206b041eee69a561655c2046abe58b4da6f
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M core/grpc/osgi/pom.xml
    M core/ipc/grpc/itests/pom.xml
    M core/ipc/rpc/api/src/main/java/org/opennms/core/rpc/api/RpcExceptionUtils.java
    M core/ipc/rpc/camel/src/main/java/org/opennms/core/rpc/camel/CamelRpcClientFactory.java
    M core/ipc/rpc/camel/src/test/java/org/opennms/core/rpc/camel/LocalRpcTimeoutTest.java
    M core/ipc/twin/grpc/itests/pom.xml
    M core/ipc/twin/kafka/itests/pom.xml
    A core/mate/api/src/main/java/org/opennms/core/mate/api/LazyScope.java
    A core/mate/api/src/test/java/org/opennms/core/mate/api/LazyScopeTest.java
    M docs/modules/deployment/pages/core/getting-started.adoc
    M docs/modules/reference/pages/configuration/ttl-rpc.adoc
    M features/collection/client-rpc/src/main/resources/META-INF/opennms/applicationContext-rpc-collector.xml
    A features/collection/client-rpc/src/test/java/org/opennms/netmgt/collection/client/rpc/CollectorExecutorLifecycleTest.java
    M features/collection/thresholding/impl/src/main/java/org/opennms/netmgt/threshd/ThresholdEntity.java
    M features/collection/thresholding/impl/src/main/java/org/opennms/netmgt/threshd/ThresholdingSetImpl.java
    M features/collection/thresholding/impl/src/main/java/org/opennms/netmgt/threshd/ThresholdingVisitorImpl.java
    M features/minion/core/repository/src/assembly/repo.xml
    M features/minion/repository/src/assembly/repo.xml
    M features/poller/client-rpc/src/main/java/org/opennms/netmgt/poller/client/rpc/PollerRequestBuilderImpl.java
    M features/poller/client-rpc/src/main/resources/META-INF/opennms/applicationContext-rpc-poller.xml
    A features/poller/client-rpc/src/test/java/org/opennms/netmgt/poller/client/rpc/PollerExecutorLifecycleTest.java
    M features/scv/dominion-grpc-impl/pom.xml
    M features/telemetry/protocols/openconfig/itests/pom.xml
    M opennms-container/common.mk
    M opennms-container/core/Dockerfile
    M opennms-container/minion/Dockerfile
    M opennms-container/sentinel/Dockerfile
    M opennms-provision/opennms-provisiond/src/main/java/org/opennms/netmgt/provision/service/NodeScan.java
    M opennms-provision/opennms-provisiond/src/test/java/org/opennms/netmgt/provision/service/ProvisionerIT.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/DiscoveryRestService.java
    M opennms-webapp-rest/src/test/java/org/opennms/web/rest/v2/DiscoveryRestServiceIT.java
    M opennms-webapp/src/main/webapp/WEB-INF/applicationContext-spring-security.xml
    M pom.xml
    M smoke-test/src/main/java/org/opennms/smoketest/containers/MockCloudContainer.java
    M smoke-test/src/main/java/org/opennms/smoketest/selenium/AbstractOpenNMSSeleniumHelper.java

  Log Message:
  -----------
  Merge remote-tracking branch 'upstream/foundation-2024' into mm/NMS-20101-smoke

# Conflicts:
#	features/notifications/ticket-strategy/src/test/java/org/opennms/netmgt/notifd/TicketNotificationStrategyTest.java


  Commit: 224a50e5ff78c9923bc721d19fa9f9eae48f2b7d
      https://github.com/OpenNMS/opennms/commit/224a50e5ff78c9923bc721d19fa9f9eae48f2b7d
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M docs/modules/operation/pages/deep-dive/notifications/strategies/ticket.adoc
    M features/notifications/ticket-strategy/src/main/java/org/opennms/netmgt/notifd/TicketNotificationStrategy.java
    M features/notifications/ticket-strategy/src/test/java/org/opennms/netmgt/notifd/TicketNotificationStrategyTest.java
    M opennms-base-assembly/src/main/filtered/etc/examples/destinationPaths.xml

  Log Message:
  -----------
  NMS-20101: Skip ticket creation when the alarm already has a ticket

A group destination path target runs the createTicket command once per
member, and repeat notifications or escalations re-run it for the same
alarm; the ticketer creates a new ticket on every create event, so each
run produced another ticket.

Uses the tticketid the strategy already fetches to skip the create
event when the alarm has a ticket.  Near-simultaneous deliveries can
still race the asynchronous ticket creation, so the examples and docs
now recommend a single-user target instead of a group.


  Commit: 0a7834a63f0742b196caac726439a68b9b815af0
      https://github.com/OpenNMS/opennms/commit/0a7834a63f0742b196caac726439a68b9b815af0
  Author: mershad-manesh <[email protected]>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M docs/antora.yml

  Log Message:
  -----------
  Update antora.yml


  Commit: 7a6bcc5db8defe63bb9466dd511937fa228d09cf
      https://github.com/OpenNMS/opennms/commit/7a6bcc5db8defe63bb9466dd511937fa228d09cf
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M pom.xml

  Log Message:
  -----------
  Merge pull request #8684 from OpenNMS/mm/NMS-20093-smoke

NMS-20093: Restore xstream and kotlin-stdlib dependencyManagement pins


  Commit: 38686a8e992af2efe8b3be657db2962662fc2bc1
      https://github.com/OpenNMS/opennms/commit/38686a8e992af2efe8b3be657db2962662fc2bc1
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M pom.xml

  Log Message:
  -----------
  Merge remote-tracking branch 'upstream/release-36.x' into mm/NMS-20099-smoke


  Commit: bbc2aaf3bbaa2a225ce2337c3880469dc7ff3aed
      https://github.com/OpenNMS/opennms/commit/bbc2aaf3bbaa2a225ce2337c3880469dc7ff3aed
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M docs/modules/operation/pages/deep-dive/notifications/strategies/ticket.adoc
    M features/notifications/ticket-strategy/src/main/java/org/opennms/netmgt/notifd/TicketNotificationStrategy.java
    M features/notifications/ticket-strategy/src/test/java/org/opennms/netmgt/notifd/TicketNotificationStrategyTest.java

  Log Message:
  -----------
  NMS-20101: Only skip ticket creation while the alarm's ticket is active

Tickets that are closed, resolved, or cancelled, or whose creation
failed, no longer block a new ticket, so a re-fired problem can open a
fresh one.  Unknown state values stay on the blocking side, which also
covers a NULL tticketstate reading as 0 (OPEN) through JDBC getInt().
The comparison uses TroubleTicketState.getValue(), which matches the
ordinal the database stores for every current constant.

Allowing a retry after CREATE_FAILED goes beyond the alarmd drools
rules, which only create when the state is null; for a
notification-driven path a failed create should not permanently block
the channel.

Also returns a clean error instead of an NPE when the event row no
longer exists, and adds a point-of-use docs note recommending
single-user targets.


  Commit: a6962a26ac9ebd88808599fc65e18500433f8d85
      https://github.com/OpenNMS/opennms/commit/a6962a26ac9ebd88808599fc65e18500433f8d85
  Author: Christian Pape <[email protected]>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M dependencies/activemq/pom.xml

  Log Message:
  -----------
  NMS-20089: Fixing tests


  Commit: 8c29a74f25c2033a450ff2c2b9320c9d6d491cae
      https://github.com/OpenNMS/opennms/commit/8c29a74f25c2033a450ff2c2b9320c9d6d491cae
  Author: Morteza E <[email protected]>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M dependencies/activemq/pom.xml
    M features/notifications/ticket-strategy/src/main/java/org/opennms/netmgt/notifd/TicketNotificationStrategy.java
    M features/notifications/ticket-strategy/src/test/java/org/opennms/netmgt/notifd/TicketNotificationStrategyTest.java
    M opennms-web-api/src/main/java/org/opennms/web/api/RestUtils.java
    M opennms-web-api/src/main/java/org/opennms/web/svclayer/support/DefaultRequisitionAccessService.java
    A opennms-web-api/src/test/java/org/opennms/web/api/RestUtilsTest.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v1/AssetRecordResource.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v1/CategoryRestService.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v1/NodeRestService.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v1/OnmsIpInterfaceResource.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v1/OnmsMonitoredServiceResource.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v1/OnmsSnmpInterfaceResource.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/AbstractDaoRestServiceWithDTO.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/NodeCategoriesRestService.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/NodeIpInterfacesRestService.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/NodeSnmpInterfacesRestService.java
    M opennms-webapp-rest/src/test/java/org/opennms/web/rest/v1/CategoryRestServiceIT.java
    M opennms-webapp-rest/src/test/java/org/opennms/web/rest/v1/NodeRestServiceIT.java
    M opennms-webapp-rest/src/test/java/org/opennms/web/rest/v2/AlarmRestServiceIT.java
    M opennms-webapp-rest/src/test/java/org/opennms/web/rest/v2/MonitoringLocationRestServiceIT.java
    M opennms-webapp-rest/src/test/java/org/opennms/web/rest/v2/NodeRestServiceIT.java
    M pom.xml

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/foundation-2024' into foundation-2025


  Commit: c91d0b2d953d939daae06e205bcf4710d7543b4e
      https://github.com/OpenNMS/opennms/commit/c91d0b2d953d939daae06e205bcf4710d7543b4e
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M docs/modules/operation/nav.adoc
    M docs/modules/operation/pages/deep-dive/notifications/bonus-strategies.adoc
    A docs/modules/operation/pages/deep-dive/notifications/strategies/ticket.adoc
    M features/notifications/ticket-strategy/src/main/java/org/opennms/netmgt/notifd/TicketNotificationStrategy.java
    M features/notifications/ticket-strategy/src/test/java/org/opennms/netmgt/notifd/TicketNotificationStrategyTest.java
    M opennms-base-assembly/src/main/filtered/etc/examples/destinationPaths.xml
    M opennms-base-assembly/src/main/filtered/etc/examples/notificationCommands.xml

  Log Message:
  -----------
  Merge pull request #8691 from OpenNMS/mm/NMS-20101-smoke

NMS-20101: Make TicketNotificationStrategy usable and document it


  Commit: 67f611b3a54c19c382b2761b7ed07aaa1274a2a0
      https://github.com/OpenNMS/opennms/commit/67f611b3a54c19c382b2761b7ed07aaa1274a2a0
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M core/lib/src/main/java/org/opennms/core/utils/ConfigFileConstants.java
    M dependencies/pom.xml
    R dependencies/smack/pom.xml
    M docs/modules/operation/pages/deep-dive/meta-data.adoc
    M docs/modules/operation/pages/deep-dive/notifications/commands.adoc
    M docs/modules/operation/pages/deep-dive/notifications/introduction.adoc
    M docs/modules/reference/pages/daemons/daemon-config-files/notifd.adoc
    M docs/modules/releasenotes/pages/changelog.adoc
    M opennms-base-assembly/src/main/filtered/etc/examples/destinationPaths.xml
    M opennms-base-assembly/src/main/filtered/etc/examples/notificationCommands.xml
    M opennms-base-assembly/src/main/filtered/etc/notificationCommands.xml
    R opennms-base-assembly/src/main/filtered/etc/xmpp-configuration.properties
    M opennms-config-api/src/main/java/org/opennms/netmgt/config/api/UserConfig.java
    M opennms-config-model/src/main/resources/xsds/users.xsd
    M opennms-config-tester/src/main/resources/META-INF/opennms/applicationContext-configTester.xml
    M opennms-config-tester/src/test/java/org/opennms/netmgt/config/tester/ConfigTesterTest.java
    M opennms-config/src/main/java/org/opennms/netmgt/config/NotificationManager.java
    M opennms-config/src/main/java/org/opennms/netmgt/config/UserManager.java
    M opennms-services/pom.xml
    M opennms-services/src/main/java/org/opennms/netmgt/notifd/BSFNotificationStrategy.java
    M opennms-services/src/main/java/org/opennms/netmgt/notifd/HttpNotificationStrategy.java
    M opennms-services/src/main/java/org/opennms/netmgt/notifd/NotificationTask.java
    R opennms-services/src/main/java/org/opennms/netmgt/notifd/XMPPGroupNotificationStrategy.java
    R opennms-services/src/main/java/org/opennms/netmgt/notifd/XMPPNotificationManager.java
    R opennms-services/src/main/java/org/opennms/netmgt/notifd/XMPPNotificationStrategy.java
    R opennms-services/src/test/java/org/opennms/netmgt/notifd/XMPPNotificationTest.java
    M opennms-webapp/src/main/java/org/opennms/web/admin/users/UpdateUserServlet.java
    M opennms-webapp/src/main/java/org/opennms/web/admin/users/parsers/NotificationInfo.java
    M opennms-webapp/src/main/webapp/admin/userGroupView/users/list.jsp
    M opennms-webapp/src/main/webapp/admin/userGroupView/users/modifyUser.jsp
    M opennms-webapp/src/main/webapp/admin/userGroupView/users/userDetail.jsp
    M pom.xml
    M smoke-test/src/test/java/org/opennms/smoketest/UserIT.java

  Log Message:
  -----------
  Merge pull request #8690 from OpenNMS/mm/NMS-20099-smoke

NMS-20099: Remove the XMPP (Jabber) notification channel


  Commit: 4e651466e3775480ff185188d4604a9f13bd292e
      https://github.com/OpenNMS/opennms/commit/4e651466e3775480ff185188d4604a9f13bd292e
  Author: Morteza E <[email protected]>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M dependencies/activemq/pom.xml
    M features/notifications/ticket-strategy/src/main/java/org/opennms/netmgt/notifd/TicketNotificationStrategy.java
    M features/notifications/ticket-strategy/src/test/java/org/opennms/netmgt/notifd/TicketNotificationStrategyTest.java
    M opennms-web-api/src/main/java/org/opennms/web/api/RestUtils.java
    M opennms-web-api/src/main/java/org/opennms/web/svclayer/support/DefaultRequisitionAccessService.java
    A opennms-web-api/src/test/java/org/opennms/web/api/RestUtilsTest.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v1/AssetRecordResource.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v1/CategoryRestService.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v1/NodeRestService.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v1/OnmsIpInterfaceResource.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v1/OnmsMonitoredServiceResource.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v1/OnmsSnmpInterfaceResource.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/AbstractDaoRestServiceWithDTO.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/NodeCategoriesRestService.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/NodeIpInterfacesRestService.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/NodeSnmpInterfacesRestService.java
    M opennms-webapp-rest/src/test/java/org/opennms/web/rest/v1/CategoryRestServiceIT.java
    M opennms-webapp-rest/src/test/java/org/opennms/web/rest/v1/NodeRestServiceIT.java
    M opennms-webapp-rest/src/test/java/org/opennms/web/rest/v2/AlarmRestServiceIT.java
    M opennms-webapp-rest/src/test/java/org/opennms/web/rest/v2/MonitoringLocationRestServiceIT.java
    M opennms-webapp-rest/src/test/java/org/opennms/web/rest/v2/NodeRestServiceIT.java
    M pom.xml

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/foundation-2025' into release-36.x


  Commit: e2af7698745903e126aa933fff8cf0f0a69eafa8
      https://github.com/OpenNMS/opennms/commit/e2af7698745903e126aa933fff8cf0f0a69eafa8
  Author: Morteza E <[email protected]>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M features/events/syslog/pom.xml

  Log Message:
  -----------
  Add a dependency to pom file for syslog feature


  Commit: 136b92d401f652793fc6c9d78bd2fbc3cd42381d
      https://github.com/OpenNMS/opennms/commit/136b92d401f652793fc6c9d78bd2fbc3cd42381d
  Author: Morteza E <[email protected]>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M docs/modules/operation/nav.adoc
    M docs/modules/operation/pages/deep-dive/notifications/bonus-strategies.adoc
    A docs/modules/operation/pages/deep-dive/notifications/strategies/ticket.adoc
    M features/notifications/ticket-strategy/src/main/java/org/opennms/netmgt/notifd/TicketNotificationStrategy.java
    M features/notifications/ticket-strategy/src/test/java/org/opennms/netmgt/notifd/TicketNotificationStrategyTest.java
    M opennms-base-assembly/src/main/filtered/etc/examples/destinationPaths.xml
    M opennms-base-assembly/src/main/filtered/etc/examples/notificationCommands.xml

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/foundation-2024' into foundation-2025


  Commit: d134e47160ea34556c6cb0c72e3023c3f4b45553
      https://github.com/OpenNMS/opennms/commit/d134e47160ea34556c6cb0c72e3023c3f4b45553
  Author: Morteza E <[email protected]>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M features/events/syslog/pom.xml

  Log Message:
  -----------
  Add a dependency to pom file for syslog feature


  Commit: a4504b149b5eb49e6c236d7405cc6f1a9196e89f
      https://github.com/OpenNMS/opennms/commit/a4504b149b5eb49e6c236d7405cc6f1a9196e89f
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M docs/modules/releasenotes/pages/whatsnew.adoc

  Log Message:
  -----------
  NMS-20099: Add release-note breaking-changes entry for the XMPP removal

The XMPP notification removal merged without a whatsnew.adoc entry;
this documents the removed strategies, the ignored
xmpp-configuration.properties, and that users.xml files with
xmppAddress contacts remain valid.


  Commit: 85b8687060547f31936867e8fa13bb34f974333c
      https://github.com/OpenNMS/opennms/commit/85b8687060547f31936867e8fa13bb34f974333c
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M docs/modules/releasenotes/pages/whatsnew.adoc

  Log Message:
  -----------
  Merge pull request #8705 from marshallmassengill/NMS-20099-whatsnew

NMS-20099: Add release-note breaking-changes entry for the XMPP removal


  Commit: 6336811bed215c9652c5eb655e39cba9344fb2a3
      https://github.com/OpenNMS/opennms/commit/6336811bed215c9652c5eb655e39cba9344fb2a3
  Author: Morteza E <[email protected]>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M .circleci/epoch

  Log Message:
  -----------
  force a build


  Commit: 7bb6e66d51c32a7000b0ef1d37928dd97d9b120a
      https://github.com/OpenNMS/opennms/commit/7bb6e66d51c32a7000b0ef1d37928dd97d9b120a
  Author: CI/CD System <[email protected]>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/merge-foundation/foundation-2025-to-release-36.x' into release-36.x


  Commit: 6dae6d8406232ba72c5463fe7245e8e733fded27
      https://github.com/OpenNMS/opennms/commit/6dae6d8406232ba72c5463fe7245e8e733fded27
  Author: CI/CD System <[email protected]>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M docs/modules/operation/nav.adoc
    M docs/modules/operation/pages/deep-dive/notifications/bonus-strategies.adoc
    A docs/modules/operation/pages/deep-dive/notifications/strategies/ticket.adoc
    M features/notifications/ticket-strategy/src/main/java/org/opennms/netmgt/notifd/TicketNotificationStrategy.java
    M features/notifications/ticket-strategy/src/test/java/org/opennms/netmgt/notifd/TicketNotificationStrategyTest.java
    M opennms-base-assembly/src/main/filtered/etc/examples/destinationPaths.xml
    M opennms-base-assembly/src/main/filtered/etc/examples/notificationCommands.xml

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/foundation-2025' into release-36.x


  Commit: 4fb713db8a61f5d91495ec9e595e5e53469b6a6e
      https://github.com/OpenNMS/opennms/commit/4fb713db8a61f5d91495ec9e595e5e53469b6a6e
  Author: Chandra Gorantla <[email protected]>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M opennms-container/core/container-fs/health.sh

  Log Message:
  -----------
  NMS-20116: Fix container health.sh (#8704)


  Commit: aa863a812a51a977759b0a109994639b53e884d0
      https://github.com/OpenNMS/opennms/commit/aa863a812a51a977759b0a109994639b53e884d0
  Author: CI/CD System <[email protected]>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M opennms-container/core/container-fs/health.sh

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/foundation-2024' into foundation-2025


  Commit: 3305a86e36bf86e5441bfdcd6800627d467f0b61
      https://github.com/OpenNMS/opennms/commit/3305a86e36bf86e5441bfdcd6800627d467f0b61
  Author: CI/CD System <[email protected]>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M opennms-container/core/container-fs/health.sh

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/foundation-2025' into release-36.x


  Commit: 5173dff2b5a99d3ffde90fc8f1bbfbeafe624ca2
      https://github.com/OpenNMS/opennms/commit/5173dff2b5a99d3ffde90fc8f1bbfbeafe624ca2
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M core/lib/src/main/java/org/opennms/core/utils/ConfigFileConstants.java
    M dependencies/pom.xml
    R dependencies/twitter4j/pom.xml
    M docs/modules/operation/pages/deep-dive/meta-data.adoc
    M docs/modules/operation/pages/deep-dive/notifications/commands.adoc
    M docs/modules/operation/pages/deep-dive/notifications/introduction.adoc
    M docs/modules/reference/pages/daemons/daemon-config-files/notifd.adoc
    M docs/modules/releasenotes/pages/changelog.adoc
    M features/config/test/src/test/java/org/opennms/features/config/service/util/BeanFieldCopyUtilTest.java
    M features/distributed/dao/api/pom.xml
    M features/distributed/dao/impl/pom.xml
    M integration-tests/config/src/test/java/org/opennms/netmgt/config/WillItUnmarshalIT.java
    R opennms-base-assembly/src/main/filtered/bin/microblog-auth
    R opennms-base-assembly/src/main/filtered/etc/microblog-configuration.xml
    M opennms-base-assembly/src/main/filtered/etc/notificationCommands.xml
    M opennms-config-api/src/main/java/org/opennms/netmgt/config/api/UserConfig.java
    M opennms-config-model/pom.xml
    R opennms-config-model/src/main/java/org/opennms/netmgt/config/microblog/MicroblogConfiguration.java
    R opennms-config-model/src/main/java/org/opennms/netmgt/config/microblog/MicroblogProfile.java
    R opennms-config-model/src/main/java/org/opennms/netmgt/config/microblog/package-info.java
    R opennms-config-model/src/main/resources/xsds/microblog-configuration.xsd
    M opennms-config-model/src/main/resources/xsds/users.xsd
    R opennms-config-model/src/test/java/org/opennms/netmgt/config/microblog/MicroblogConfigurationTest.java
    M opennms-config-tester/src/main/resources/META-INF/opennms/applicationContext-configTester.xml
    M opennms-config-tester/src/test/java/org/opennms/netmgt/config/tester/ConfigTesterTest.java
    M opennms-config/src/main/java/org/opennms/netmgt/config/NotificationManager.java
    M opennms-config/src/main/java/org/opennms/netmgt/config/UserManager.java
    R opennms-dao-api/src/main/java/org/opennms/netmgt/dao/api/MicroblogConfigurationDao.java
    R opennms-dao/src/main/java/org/opennms/netmgt/dao/jaxb/DefaultMicroblogConfigurationDao.java
    M opennms-services/pom.xml
    M opennms-services/src/main/java/org/opennms/netmgt/notifd/BSFNotificationStrategy.java
    M opennms-services/src/main/java/org/opennms/netmgt/notifd/HttpNotificationStrategy.java
    R opennms-services/src/main/java/org/opennms/netmgt/notifd/MicroblogAuthorization.java
    R opennms-services/src/main/java/org/opennms/netmgt/notifd/MicroblogClient.java
    R opennms-services/src/main/java/org/opennms/netmgt/notifd/MicroblogDMNotificationStrategy.java
    R opennms-services/src/main/java/org/opennms/netmgt/notifd/MicroblogNotificationStrategy.java
    R opennms-services/src/main/java/org/opennms/netmgt/notifd/MicroblogReplyNotificationStrategy.java
    M opennms-services/src/main/java/org/opennms/netmgt/notifd/NotificationTask.java
    R opennms-services/src/test/java/org/opennms/netmgt/notifd/MicroblogClientTest.java
    R opennms-services/src/test/resources/microblog-configuration.xml
    M opennms-webapp/src/main/java/org/opennms/web/admin/users/UpdateUserServlet.java
    M opennms-webapp/src/main/webapp/admin/userGroupView/users/modifyUser.jsp
    M pom.xml
    M smoke-test/src/test/java/org/opennms/smoketest/UserIT.java

  Log Message:
  -----------
  NMS-20098: Remove the microblog notification channel (#8689)

Removes the Microblog* notification strategies, the twitter4j dependency
module, the microblog config model and DAO, the shipped etc/bin files,
the -ublog notification parameter, and the user-profile Microblog field.

The microblog contact type remains valid in users.xsd and ContactType
because the user admin page wrote an empty microblog contact on every
save, so existing users.xml files would otherwise fail validation.


  Commit: 17a2fc34a3abb70aea755f2f58506c27ebf055e6
      https://github.com/OpenNMS/opennms/commit/17a2fc34a3abb70aea755f2f58506c27ebf055e6
  Author: Scott Theleman <[email protected]>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M .gitignore
    M ui/eslint.config.js
    A ui/packages/onms-ui-example-plugin/README.md
    A ui/packages/onms-ui-example-plugin/package.json
    A ui/packages/onms-ui-example-plugin/src/ExampleApp.vue
    A ui/packages/onms-ui-example-plugin/src/main.ts
    A ui/packages/onms-ui-example-plugin/tsconfig.json
    A ui/packages/onms-ui-example-plugin/vite.config.ts
    M ui/packages/onms-ui/README.md
    M ui/packages/onms-ui/package.json
    A ui/packages/onms-ui/src/directives/OnmsTooltip.ts
    M ui/packages/onms-ui/src/index.ts
    M ui/pnpm-lock.yaml
    M ui/src/components/Configuration/ConfigurationAdvancedPanel.vue
    M ui/src/components/Configuration/ConfigurationCopyPasteDisplay.vue
    M ui/src/components/Configuration/ConfigurationTable.vue
    M ui/src/components/Configuration/ProvisionDForm.vue
    M ui/src/components/Device/DCBModalConfigDiffContent.vue
    M ui/src/components/Device/DCBModalViewHistoryContent.vue
    M ui/src/components/Device/DCBTable.vue
    M ui/src/components/EventConfiguration/EventConfigUploadFilesTab.vue
    M ui/src/components/FileEditor/FileSidebar.vue
    M ui/src/components/Nodes/FlowTooltipCell.vue
    M ui/src/components/Nodes/ManagementIPTooltipCell.vue
    M ui/src/components/Nodes/NodeTooltipCell.vue
    M ui/src/components/SCV/ScvInputIcon.vue
    M ui/src/components/SnmpDataCollection/SnmpDataCollectionSourcesTable.vue
    M ui/src/main/main.ts
    M ui/src/theme/primevue-setup.ts
    M ui/tests/components/EventConfiguration/EventConfigUploadFilesTab.test.ts
    M ui/tests/components/Nodes/NodeTooltipCell.test.ts
    M ui/tests/components/SnmpDataCollection/SnmpDataCollectionSourcesTable.test.ts
    M ui/tests/configuration.test.ts
    M ui/tests/deviceConfigBackup.test.ts
    M ui/tests/deviceConfigBackupPagination.test.ts
    M ui/tests/onms-ui/OnmsTable.test.ts
    A ui/tests/onms-ui/OnmsTooltip.test.ts
    A ui/tests/onms-ui/exports.test.ts
    M ui/vite.config.ts

  Log Message:
  -----------
  NMS-20054: Plugin shared UI, Phase 1 (#8717)

* NMS-20054: seam the tooltip directive as v-onms-tooltip

* NMS-20054: cover expansion slot scope and object-form expandedRows contracts

* NMS-20054: expose @opennms/onms-ui as window.OnmsUI for plugins

* NMS-20054: add onms-ui example plugin (externalized reference consumer)

* NMS-20054: dev harness for the example plugin; bump onms-ui to 0.4.0

* NMS-20054: contain example-plugin dev middleware to its dist directory

* NMS-20054: make ProductLogo alias absolute so pnpm dev resolves it

* NMS-20054: Generalize plugin dev server; add servicenow plugin dev harness

* small update to force smoke tests !smoke


  Commit: b1a5c92b9f1251db30f6f8e438684fb5b8624ed0
      https://github.com/OpenNMS/opennms/commit/b1a5c92b9f1251db30f6f8e438684fb5b8624ed0
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M dependencies/spring-security/pom.xml
    M pom.xml

  Log Message:
  -----------
  NMS-20092: Remove EOL BouncyCastle jdk15on and SAML-era deps from spring-security (#8683)

bcprov-ext/bcprov/bcpkix-jdk15on 1.70 shipped a second, EOL crypto
provider alongside the jdk18on 1.84 the rest of the build uses. esapi
and xmlsec lost their last consumer when spring-security-saml2-core
was dropped; their orphaned root-pom property/dependencyManagement
entries go too. Removing esapi also drops its transitive baggage
(antisamy, bcutil-jdk15on, neko-htmlunit, xom, httpclient5/httpcore5)
- 12 jars out of lib/ total, verified by diffing the assembled lib/
against a pre-change baseline. Login + authenticated REST verified on
a local build. LDAP/Kerberos spring-security artifacts untouched.


  Commit: 6c4a4b7a983a5b604fbc77c63a6e2d7e1fa00eed
      https://github.com/OpenNMS/opennms/commit/6c4a4b7a983a5b604fbc77c63a6e2d7e1fa00eed
  Author: Marshall Massengill <[email protected]>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    R dependencies/activemq-web/pom.xml
    R dependencies/activemq-web/src/license/THIRD-PARTY.properties
    M dependencies/pom.xml
    M features/config/pom.xml
    R features/config/util/pom.xml
    R features/config/util/src/license/THIRD-PARTY.properties
    R features/config/util/src/main/java/org/opennms/features/config/util/json/YesNoDeserializer.java
    R features/config/util/src/test/java/org/opennms/features/config/util/YesNoDeserializerTest.java
    M features/events/syslog/src/main/java/org/opennms/netmgt/syslogd/RadixTreeParser.java
    R features/executor-factory/cassandra/pom.xml
    R features/executor-factory/cassandra/src/license/THIRD-PARTY.properties
    R features/executor-factory/cassandra/src/main/java/org/opennms/core/concurrent/cassandra/ExecutorFactoryCassandraSEPImpl.java
    R features/executor-factory/pom.xml
    R features/nrtg/commander/logs/NRTCollector/NRTCollector.log
    R features/nrtg/commander/pom.xml
    R features/nrtg/commander/src/license/THIRD-PARTY.properties
    R features/nrtg/commander/src/main/java/org/opennms/nrtg/commander/internal/CollectionCommanderStarter.java
    R features/nrtg/commander/src/main/java/org/opennms/nrtg/commander/internal/JmsExceptionListener.java
    R features/nrtg/commander/src/main/java/org/opennms/nrtg/commander/internal/JobPublisher.java
    R features/nrtg/commander/src/main/java/org/opennms/nrtg/commander/internal/PooledJobPublisher.java
    R features/nrtg/commander/src/main/java/org/opennms/nrtg/commander/internal/SimpleJobPublisher.java
    R features/nrtg/commander/src/main/java/org/opennms/nrtg/commander/internal/config/AppConfig.java
    R features/nrtg/commander/src/main/resources/logback.xml
    R features/nrtg/commander/src/test/resources/logback-test.xml
    R features/nrtg/jar/nrtcollector/logs/NRTCollector/NRTCollector.log
    R features/nrtg/jar/nrtcollector/pom.xml
    R features/nrtg/jar/nrtcollector/src/license/THIRD-PARTY.properties
    R features/nrtg/jar/nrtcollector/src/main/java/org/opennms/nrtg/jar/nrtcollector/AppConfig.java
    R features/nrtg/jar/nrtcollector/src/main/java/org/opennms/nrtg/jar/nrtcollector/NrtCollectorStarter.java
    R features/nrtg/jar/nrtcollector/src/main/resources/OSGI-INF/blueprint/blueprint.xml
    R features/nrtg/jar/nrtcollector/src/main/resources/logback.xml
    R features/nrtg/jar/pom.xml
    M features/nrtg/pom.xml
    R features/nrtg/system-exports/pom.xml
    M features/poller/pom.xml
    R features/poller/runtime/pom.xml
    M features/pom.xml
    M features/topology-map/poms/pom.xml
    R features/topology-map/poms/wrappers/pom.xml
    R opennms-alarms/http-northbounder/pom.xml
    R opennms-alarms/http-northbounder/src/license/THIRD-PARTY.properties
    R opennms-alarms/http-northbounder/src/main/java/org/opennms/netmgt/alarmd/northbounder/http/HttpNorthbounder.java
    R opennms-alarms/http-northbounder/src/main/java/org/opennms/netmgt/alarmd/northbounder/http/HttpNorthbounderConfig.java
    R opennms-alarms/http-northbounder/src/main/resources/META-INF/opennms/component-dao.xml
    R opennms-alarms/http-northbounder/src/test/java/org/opennms/netmgt/alarmd/northbounder/http/HttpNorthBounderTest.java
    R opennms-alarms/http-northbounder/src/test/java/org/opennms/netmgt/alarmd/northbounder/http/JAXBTest.java
    R opennms-alarms/http-northbounder/src/test/resources/test-context.xml
    M opennms-alarms/pom.xml
    R opennms-provision/opennms-snmp-scanners/pom.xml
    R opennms-provision/opennms-snmp-scanners/src/license/THIRD-PARTY.properties
    R opennms-provision/opennms-snmp-scanners/src/main/java/org/opennms/netmgt/provision/scan/snmp/AbstractSnmpScanner.java
    R opennms-provision/opennms-snmp-scanners/src/main/java/org/opennms/netmgt/provision/scan/snmp/SnmpNodeScanner.java
    R opennms-provision/opennms-snmp-scanners/src/test/java/org/opennms/netmgt/provision/scan/snmp/SnmpNodeScannerTest.java
    R opennms-provision/opennms-snmp-scanners/src/test/resources/emptyContext.xml
    R opennms-provision/opennms-snmp-scanners/src/test/resources/org/opennms/netmgt/provision/scan/snmp/snmpTestData1.properties
    M opennms-provision/pom.xml
    M pom.xml

  Log Message:
  -----------
  NMS-20096: Remove dead Maven modules that nothing consumes (#8687)

Ten modules built on every CI run whose artifacts appear in no
dependency, Karaf feature, or assembly: executor-factory (one class,
referenced only by a commented-out line removed with it),
poller/runtime and nrtg/system-exports (pom-only, no sources),
topology-map poms/wrappers (parent pom with zero children),
config/util (one deserializer used only by its own test),
nrtg/commander and nrtg/jar (standalone NRTG variants outside every
feature definition; broker and nrtbroker-jms stay behind the
osgi-nrtg-jms feature), opennms-snmp-scanners (superseded by the
provision-service NodeScan machinery), activemq-web (ActiveMQ web
console aggregator, zero consumers), and http-northbounder (never
wired into the assembly, xsds, or features unlike the other six
northbounders, so its Spring context never loads).


  Commit: a732dd79748e36b2e3ce3d020fdee364b51c54f0
      https://github.com/OpenNMS/opennms/commit/a732dd79748e36b2e3ce3d020fdee364b51c54f0
  Author: Marshall Massengill <[email protected]>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M docs/modules/operation/pages/deep-dive/notifications/commands.adoc
    M docs/modules/operation/pages/deep-dive/notifications/introduction.adoc
    M docs/modules/reference/pages/configuration/system-properties.adoc
    M docs/modules/releasenotes/pages/changelog.adoc
    M docs/modules/releasenotes/pages/whatsnew.adoc
    M opennms-base-assembly/src/main/filtered/etc/examples/notificationCommands.xml
    M opennms-base-assembly/src/main/filtered/etc/notificationCommands.xml
    R opennms-services/src/main/java/org/opennms/netmgt/notifd/IrcCatNotificationStrategy.java
    R opennms-services/src/test/java/org/opennms/netmgt/notifd/IrcCatNotificationStrategyTest.java

  Log Message:
  -----------
  NMS-20112: Remove the IRCcat notification channel (#8731)

Removes IrcCatNotificationStrategy and its test, the stock and example
ircCat notification commands, and the irccat.host/irccat.port system
properties. The command used contact-type email, so no contact type or
users.xml compatibility shim is needed.


  Commit: 8c1624d92ad57ffed7dbfd1d205813fac2f92c7b
      https://github.com/OpenNMS/opennms/commit/8c1624d92ad57ffed7dbfd1d205813fac2f92c7b
  Author: Chandra Gorantla <[email protected]>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M docs/modules/operation/pages/deep-dive/notifications/strategies/ticket.adoc
    M features/notifications/ticket-strategy/src/main/java/org/opennms/netmgt/notifd/TicketNotificationStrategy.java
    M features/notifications/ticket-strategy/src/test/java/org/opennms/netmgt/notifd/TicketNotificationStrategyTest.java
    M opennms-base-assembly/src/main/filtered/etc/examples/destinationPaths.xml
    M opennms-base-assembly/src/main/filtered/etc/examples/notificationCommands.xml

  Log Message:
  -----------
  NMS-20105: Close the trouble ticket when the alarm clears (#8720)

* NMS-20105: Close the trouble ticket when the alarm clears

The notification command now sends a close for a cleared alarm that still has an
active ticket, instead of creating another one, so the resolution delivery
completes the workflow. Renames the example command to troubleTicket.

* NMS-20105: Address review comments


  Commit: 20c92605c2ac42a4e7942285d5bdbbd5cacba5e7
      https://github.com/OpenNMS/opennms/commit/20c92605c2ac42a4e7942285d5bdbbd5cacba5e7
  Author: CI/CD System <[email protected]>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M docs/modules/operation/pages/deep-dive/notifications/strategies/ticket.adoc
    M features/notifications/ticket-strategy/src/main/java/org/opennms/netmgt/notifd/TicketNotificationStrategy.java
    M features/notifications/ticket-strategy/src/test/java/org/opennms/netmgt/notifd/TicketNotificationStrategyTest.java
    M opennms-base-assembly/src/main/filtered/etc/examples/destinationPaths.xml
    M opennms-base-assembly/src/main/filtered/etc/examples/notificationCommands.xml

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/foundation-2024' into foundation-2025


  Commit: 6aa55c122ccb5e0042cb3c717aafc43f45d5fa06
      https://github.com/OpenNMS/opennms/commit/6aa55c122ccb5e0042cb3c717aafc43f45d5fa06
  Author: CI/CD System <[email protected]>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M docs/modules/operation/pages/deep-dive/notifications/strategies/ticket.adoc
    M features/notifications/ticket-strategy/src/main/java/org/opennms/netmgt/notifd/TicketNotificationStrategy.java
    M features/notifications/ticket-strategy/src/test/java/org/opennms/netmgt/notifd/TicketNotificationStrategyTest.java
    M opennms-base-assembly/src/main/filtered/etc/examples/destinationPaths.xml
    M opennms-base-assembly/src/main/filtered/etc/examples/notificationCommands.xml

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/foundation-2025' into release-36.x


  Commit: 345d4513c20fc2b7c60ce900b5b73a2eeffa4ced
      https://github.com/OpenNMS/opennms/commit/345d4513c20fc2b7c60ce900b5b73a2eeffa4ced
  Author: Morteza E <[email protected]>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M opennms-container/common.mk
    M opennms-container/core/Dockerfile
    M opennms-container/minion/Dockerfile
    M opennms-container/sentinel/Dockerfile
    M smoke-test/src/main/java/org/opennms/smoketest/containers/MockCloudContainer.java

  Log Message:
  -----------
  Update base image


  Commit: 15857256fd475ed6486c967f5c9e4ae04753a492
      https://github.com/OpenNMS/opennms/commit/15857256fd475ed6486c967f5c9e4ae04753a492
  Author: Morteza E <[email protected]>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M opennms-container/common.mk
    M opennms-container/core/Dockerfile
    M opennms-container/minion/Dockerfile
    M opennms-container/sentinel/Dockerfile
    M smoke-test/src/main/java/org/opennms/smoketest/containers/MockCloudContainer.java

  Log Message:
  -----------
  Update base image


  Commit: 19e0ef0974a7aa46c9f833594a7e6c1bb52401dd
      https://github.com/OpenNMS/opennms/commit/19e0ef0974a7aa46c9f833594a7e6c1bb52401dd
  Author: Scott Theleman <[email protected]>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M .circleci/main/jobs/build/build-ui.yml

  Log Message:
  -----------
  NMS-20159: Run pnpm lint in CI for UI builds (#8739)


  Commit: d361c17677477314374224afc50585d7404aae4a
      https://github.com/OpenNMS/opennms/commit/d361c17677477314374224afc50585d7404aae4a
  Author: Christian Pape <[email protected]>
  Date:   2026-08-05 (Wed, 05 Aug 2026)

  Changed paths:
    M container/karaf/pom.xml
    M container/karaf/src/main/internal/features-processing.xml
    M container/shared/pom.xml
    M container/shared/src/main/internal/features-processing.xml
    M features/minion/repository/pom.xml
    M features/sentinel/repository/pom.xml
    M opennms-full-assembly/pom.xml
    M opennms-full-assembly/src/assembly/components/osgi.xml
    M pom.xml

  Log Message:
  -----------
  NMS-20061: Use jline version 3.30.16


  Commit: cd5d20e369d0fe8f974e2d41d9de21983c3751fd
      https://github.com/OpenNMS/opennms/commit/cd5d20e369d0fe8f974e2d41d9de21983c3751fd
  Author: Morteza E <[email protected]>
  Date:   2026-08-05 (Wed, 05 Aug 2026)

  Changed paths:
    M container/karaf/pom.xml
    M container/karaf/src/main/internal/features-processing.xml
    M container/shared/pom.xml
    M container/shared/src/main/internal/features-processing.xml
    M features/minion/repository/pom.xml
    M opennms-container/common.mk
    M opennms-container/core/Dockerfile
    M opennms-container/minion/Dockerfile
    M opennms-container/sentinel/Dockerfile
    M opennms-full-assembly/pom.xml
    M opennms-full-assembly/src/assembly/components/osgi.xml
    M pom.xml
    M smoke-test/src/main/java/org/opennms/smoketest/containers/MockCloudContainer.java

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/foundation-2024' into foundation-2025


  Commit: 3e8957b13a9d1956b033e6ac4569d38be53f964b
      https://github.com/OpenNMS/opennms/commit/3e8957b13a9d1956b033e6ac4569d38be53f964b
  Author: Dino <[email protected]>
  Date:   2026-08-05 (Wed, 05 Aug 2026)

  Changed paths:
    M container/features/pom.xml
    M container/features/src/main/resources/features-sentinel.xml
    M container/features/src/main/resources/features.xml
    M features/sentinel/repository/pom.xml

  Log Message:
  -----------
  NMS-20164: Lock OSGi resolved dependencies to the root pom versions (#8741)

* NMS-20164: Lock OSGi resolved dependencies to the root pom versions


  Commit: ced46e5dc09ebb62313c79f1fb58249aec7e3bd3
      https://github.com/OpenNMS/opennms/commit/ced46e5dc09ebb62313c79f1fb58249aec7e3bd3
  Author: mershad-manesh <[email protected]>
  Date:   2026-08-05 (Wed, 05 Aug 2026)

  Changed paths:
    M .circleci/README.md
    M .circleci/epoch
    M .circleci/main/jobs/tests/integration/integration-test.yml
    M .circleci/main/parameters.yml
    M .circleci/main/workflows/workflows_v2.json
    M .circleci/pyscripts/library/cci_components/workflow.py
    M .circleci/pyscripts/process_generate.py

  Log Message:
  -----------
  NMS-20104: Add ability to run full integration tests on CircleCI (#8694)

* Allow the user to run a full integration test build

* test what happens when we give !integration

* Update the readme file to add the new integration option


  Commit: 0431c2c2666b60f8f46b3f6071718dcd5f771350
      https://github.com/OpenNMS/opennms/commit/0431c2c2666b60f8f46b3f6071718dcd5f771350
  Author: Morteza E <[email protected]>
  Date:   2026-08-05 (Wed, 05 Aug 2026)

  Changed paths:
    M container/karaf/pom.xml
    M container/karaf/src/main/internal/features-processing.xml
    M container/shared/pom.xml
    M container/shared/src/main/internal/features-processing.xml
    M features/minion/repository/pom.xml
    M opennms-full-assembly/pom.xml
    M opennms-full-assembly/src/assembly/components/osgi.xml
    M pom.xml

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/foundation-2025' into release-36.x


  Commit: f73af2fa771f8df12b4a226cf8f9e7975f6a806a
      https://github.com/OpenNMS/opennms/commit/f73af2fa771f8df12b4a226cf8f9e7975f6a806a
  Author: joseanesONMS <[email protected]>
  Date:   2026-08-05 (Wed, 05 Aug 2026)

  Changed paths:
    M ui/packages/onms-ui/src/components/OnmsAutoComplete.vue
    M ui/tests/onms-ui/OnmsAutoComplete.test.ts

  Log Message:
  -----------
  NMS-20029: forward the #option slot in OnmsAutoComplete (#8742)


  Commit: 3dde578d02fe18ff07befd48175f8ad5632351c4
      https://github.com/OpenNMS/opennms/commit/3dde578d02fe18ff07befd48175f8ad5632351c4
  Author: mershad-manesh <[email protected]>
  Date:   2026-08-05 (Wed, 05 Aug 2026)

  Changed paths:
    M .circleci/config.yml

  Log Message:
  -----------
  Pin CirlceCI CLI to version 0.1.38646


  Commit: b1b77d7ad68bd7d0ad1afbaf294f035968db42ee
      https://github.com/OpenNMS/opennms/commit/b1b77d7ad68bd7d0ad1afbaf294f035968db42ee
  Author: mershad-manesh <[email protected]>
  Date:   2026-08-05 (Wed, 05 Aug 2026)

  Changed paths:
    M .circleci/epoch

  Log Message:
  -----------
  Update epoch


  Commit: 91ab0941c84716d31f9b84a0c87c8d1365ffe941
      https://github.com/OpenNMS/opennms/commit/91ab0941c84716d31f9b84a0c87c8d1365ffe941
  Author: Morteza E <[email protected]>
  Date:   2026-08-05 (Wed, 05 Aug 2026)

  Changed paths:
    M .circleci/README.md
    M .circleci/main/jobs/tests/integration/integration-test.yml
    M .circleci/main/parameters.yml
    M .circleci/main/workflows/workflows_v2.json
    M .circleci/pyscripts/library/cci_components/workflow.py
    M .circleci/pyscripts/process_generate.py
    M container/features/pom.xml
    M container/features/src/main/resources/features-sentinel.xml
    M container/features/src/main/resources/features.xml
    M features/sentinel/repository/pom.xml

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/foundation-2023' into foundation-2024


  Commit: e670f05583a5dbc04e1a1c6d4d958eda5c21719b
      https://github.com/OpenNMS/opennms/commit/e670f05583a5dbc04e1a1c6d4d958eda5c21719b
  Author: mershad-manesh <[email protected]>
  Date:   2026-08-05 (Wed, 05 Aug 2026)

  Changed paths:
    M .circleci/config.yml

  Log Message:
  -----------
  Pin CirlceCI CLI to version 0.1.38646


  Commit: 6773de846d171d614db9c67b3e91de444274714b
      https://github.com/OpenNMS/opennms/commit/6773de846d171d614db9c67b3e91de444274714b
  Author: mershad-manesh <[email protected]>
  Date:   2026-08-05 (Wed, 05 Aug 2026)

  Changed paths:
    M .circleci/config.yml

  Log Message:
  -----------
  Pin CirlceCI CLI to version 0.1.38646


  Commit: 0fdeed04fff6e7dd5f9401d7f3b65aef6f54b35f
      https://github.com/OpenNMS/opennms/commit/0fdeed04fff6e7dd5f9401d7f3b65aef6f54b35f
  Author: Morteza E <[email protected]>
  Date:   2026-08-05 (Wed, 05 Aug 2026)

  Changed paths:
    M .circleci/epoch

  Log Message:
  -----------
  force a build


  Commit: 7342905636cdde8c2f04c385f5f9bdac43d5beb7
      https://github.com/OpenNMS/opennms/commit/7342905636cdde8c2f04c385f5f9bdac43d5beb7
  Author: Scott Theleman <[email protected]>
  Date:   2026-08-05 (Wed, 05 Aug 2026)

  Changed paths:
    M ui/src/components/Menu/SideMenu.vue
    M ui/src/components/Menu/utils.ts
    M ui/tests/components/Menu/utils.test.ts

  Log Message:
  -----------
  NMS-20167: Sidemenu flicker, expand/collapse hotkey (#8749)

* NMS-20167: Remove menu flyout on mouse hover. Add tooltips for collapsed menu items.

* NMS-20167: Use Ctrl-Backslash to expand/collapse side menu.

* NMS-20167: Fixes

Stale flyout on Ctrl+\ toggle
Disable Ctrl+\ hotkey when typing / in an input/edit field
Fix comment wrapping


  Commit: 6c445ae6c327120986085fa07be7141036575d4e
      https://github.com/OpenNMS/opennms/commit/6c445ae6c327120986085fa07be7141036575d4e
  Author: Marshall Massengill <[email protected]>
  Date:   2026-08-05 (Wed, 05 Aug 2026)

  Changed paths:
    M container/features/pom.xml
    M container/features/src/main/resources/features-core.xml
    M container/features/src/main/resources/features.xml
    M container/karaf/src/main/filtered-resources/etc/custom.properties
    A dependencies/angus-mail-shaded/pom.xml
    M dependencies/cxf/pom.xml
    R dependencies/javamail/pom.xml
    R dependencies/javamail/src/license/THIRD-PARTY.properties
    M dependencies/jaxb/pom.xml
    M dependencies/pom.xml
    M docs/modules/operation/pages/deep-dive/admin/configuration/token-authentication.adoc
    M docs/modules/operation/pages/deep-dive/meta-data.adoc
    M docs/modules/operation/pages/deep-dive/notifications/configuration.adoc
    M docs/modules/reference/pages/daemons/daemon-config-files/notifd.adoc
    M docs/modules/reference/pages/service-assurance/monitors/MailTransportMonitor.adoc
    M docs/modules/releasenotes/pages/whatsnew.adoc
    M features/poller/monitors/core/pom.xml
    M features/poller/monitors/core/src/main/java/org/opennms/netmgt/poller/monitors/MailTransportMonitor.java
    M features/wsman/pom.xml
    M opennms-ackd/pom.xml
    M opennms-ackd/src/main/java/org/opennms/netmgt/ackd/readers/MailAckProcessor.java
    M opennms-ackd/src/test/java/org/opennms/netmgt/ackd/readers/JavaMailAckReaderIT.java
    M opennms-base-assembly/pom.xml
    M opennms-base-assembly/src/main/filtered/bin/newts-repository-converter
    M opennms-base-assembly/src/main/filtered/etc/examples/javamail-configuration.properties
    M opennms-base-assembly/src/main/filtered/etc/javamail-configuration.properties
    M opennms-base-assembly/src/main/filtered/etc/javamail-configuration.xml
    A opennms-config/src/main/java/org/opennms/netmgt/config/tokenauth/TokenScope.java
    M opennms-config/src/main/resources/META-INF/opennms/applicationContext-token-auth.xml
    A opennms-config/src/test/java/org/opennms/netmgt/config/tokenauth/TokenScopeTest.java
    M opennms-enterprise-reporting/opennms-reportd/pom.xml
    M opennms-enterprise-reporting/opennms-reportd/src/main/java/org/opennms/netmgt/reporting/service/JavaMailDeliveryService.java
    M opennms-javamail/opennms-javamail-api/pom.xml
    M opennms-javamail/opennms-javamail-api/src/main/java/org/opennms/javamail/JavaMailer.java
    M opennms-javamail/opennms-javamail-api/src/main/java/org/opennms/javamail/JavaMailer2.java
    M opennms-javamail/opennms-javamail-api/src/main/java/org/opennms/javamail/JavaMailerConfig.java
    M opennms-javamail/opennms-javamail-api/src/main/java/org/opennms/javamail/JavaReadMailer.java
    M opennms-javamail/opennms-javamail-api/src/main/java/org/opennms/javamail/JavaSendMailer.java
    A opennms-javamail/opennms-javamail-api/src/test/java/org/opennms/javamail/JavaMailerConfigTokenTest.java
    M opennms-javamail/opennms-javamail-api/src/test/java/org/opennms/javamail/JavaMailerTest.java
    A opennms-javamail/opennms-javamail-api/src/test/java/org/opennms/javamail/JavaMailerWireTest.java
    M opennms-javamail/opennms-javamail-api/src/test/java/org/opennms/javamail/JavaReadMailerTest.java
    M opennms-javamail/opennms-javamail-api/src/test/java/org/opennms/javamail/JavaSendMailerTest.java
    M opennms-services/pom.xml
    M opennms-web-api/pom.xml
    M opennms-web-api/src/main/java/org/opennms/web/svclayer/support/DefaultSchedulerService.java
    M opennms-web-dependencies/pom.xml
    M opennms-webapp-rest/pom.xml
    M pom.xml

  Log Message:
  -----------
  NMS-20102: Migrate all mail sending/reading from JavaMail 1.4.7 to Jakarta Mail 2.1 (Part of rework JavaMailNotificationStrategy) (#8701)

* NMS-20102: Jakarta Mail 2.1 build plumbing and MOXy javax.mail shim

Adds dependencyManagement for jakarta.mail-api 2.1.5, angus-mail 2.0.5,
angus-activation 2.0.3, and bumps jakarta.activation-api to 2.1.4 (the
jakarta-namespace line needed by angus; javax-namespace activation
classes continue to come from com.sun.activation:jakarta.activation
1.2.1, which opennms-webapp-rest now references directly).

EclipseLink MOXy 2.5.1 hard-references javax.mail.internet.MimeMultipart
from XMLBinaryDataHelper's initializer, so a javax.mail-namespace API
must stay on the classpath after the jakarta migration. jaxb-dependencies
switches from javax.mail:mail 1.4.7 to com.sun.mail:mailapi 1.6.7: API
classes only, no transport providers, and a distinct Maven GA so it
cannot collide with jakarta.mail-api 2.1.x under dependencyConvergence.
The Karaf javax.mail feature repoints to the jakarta.mail-api 1.6.7
bundle, matching the copy CXF's cxf-specs feature already installs.

* NMS-20102: Remove the jmta local-MTA transport

alt.dev.jmta:jmta:1.0 (2004) subclasses javax.mail.Transport and cannot
load under Jakarta Mail 2.x. The use-jmta attribute and the useJMTA
property remain accepted so existing configuration files keep loading;
JavaMailer now logs a one-time WARN and sends via the configured
transport instead. On the JavaSendMailer path use-jmta was already
inert: the transport always came from sendmail-protocol@transport,
which the schema restricts to smtp|smtps, so the removed "mta" branch
there was unreachable. Shipped defaults change to use-jmta="false".

Behavior change for installs that relied on the local MTA transport:
mail now goes over SMTP to the configured sendmail host (default
127.0.0.1:25) instead of through the in-process JMTA class.

* NMS-20102: Migrate mail code to Jakarta Mail 2.1 / Eclipse Angus

Renames javax.mail.* to jakarta.mail.* and javax.activation.* to
jakarta.activation.* across the mail senders/readers (opennms-javamail,
ackd, poller MailTransportMonitor, reportd, web-api) and their tests.
opennms-javamail-api now depends on jakarta.mail-api with angus-mail
and angus-activation as runtime providers, flowing transitively to all
consumers; direct importers declare jakarta.mail-api explicitly.

Spring 4.2.9's MimeMessageHelper is compiled against javax.mail, so
JavaSendMailer.buildMimeMessage() and reportd's JavaMailDeliveryService
build their MIME messages directly (same structure: single-part message
for sendmail, mixed multipart with a plain/HTML alternative and the
report attachment for reportd). This also drops opennms-javamail-api's
mandatory org.springframework.mail.javamail OSGi import.

Container: new jakarta.mail Karaf feature (API + Angus bundles at the
system start level); the opennms-javamail feature uses it; the
javax.mail feature remains for the MOXy shim consumers. custom.properties
exports the jakarta.mail/jakarta.activation packages from the flat
classpath. The wsman bundle marks jakarta.mail optional: it accidentally
embeds poller-monitors-core's whole org.opennms.netmgt.poller.monitors
package (split package with WsManMonitor), and the unused embedded
MailTransportMonitor copy is where its mail import comes from.

* NMS-20102: Ban javax.mail:mail and legacy mail spec jars

Inverts the enforcer rule that required javax.mail:mail: the banned list
now covers javax.mail:mail, com.sun.mail:javax.mail/jakarta.mail, the
merged org.eclipse.angus:jakarta.mail artifact (would duplicate the
API + angus-mail classes), and geronimo-javamail_1.4_spec, which reached
$OPENNMS_HOME/lib undeclared through abdera-parser/axiom and is now
excluded at its source in cxf-dependencies. com.sun.mail:mailapi remains
allowed as the MOXy shim.

Also fixes the newts-repository-converter activation-jar glob, which
matched nothing (lib/jdk9plus ships the servicemix activation-api jar,
not javax.activation-*.jar).

* NMS-20102: Wire JavaSendMailer's built properties into its Session

createProps() assembled <javamail-property> entries and the computed
mail.smtp.* keys, then returned the JVM-default session's properties
instead ("//get rid of this"), so none of it ever reached the Session;
configureProperties() additionally merged everything into a local
variable that went nowhere. The Session now receives the merged set:
javamail-configuration.properties (only when useJmProps=true, matching
the constructor contract), overlaid by <javamail-property> entries,
with computed keys filled in only where absent so user values win.
Session-property-driven features - mail.smtp.auth.mechanisms=XOAUTH2
in particular - become usable on the XML config path.

Applied property names are logged at INFO on session creation since
previously-inert <javamail-property> entries in existing configuration
files take effect on upgrade.

Also assigns the parent JavaMailer2 session, which reportd reads via
getSession() and previously received as null.

* NMS-20102: Resolve ${token:<name>} in mail credentials for XOAUTH2

Adds TokenScope, a mate Scope over the token-auth TokenProvider under
the "token" context, registered in the token-auth application context.
JavaMailerConfig now interpolates credentials against a FallbackScope
of the SCV scope and the token scope, each independently optional, so
${token:<name>} works wherever ${scv:...} already did: the
authenticateUser/authenticatePassword properties and the XML
user-auth fields (both resolved at connect time, so tokens are always
fresh via the token cache).

With Angus providing the XOAUTH2 SASL mechanism natively, OAuth2 SMTP
(Microsoft 365 client-credentials, Gmail) needs only configuration:
a token-auth definition for the provider's token endpoint, plus
authenticate=true, mail.smtp.auth.mechanisms=XOAUTH2, and
${token:<name>} as the password. No mail-code OAuth client required.

The token scope resolves per interpolation (no caching in the scope) -
covered by tests asserting fetch-per-call semantics.

* NMS-20102: Add wire-level mail tests (GreenMail + fake-SMTP XOAUTH2)

The mail code had no non-manual wire coverage: every send/receive test
was @Ignore'd against real servers. JavaMailerWireTest runs the actual
Angus SMTP/IMAP providers against an embedded GreenMail 2.x on dynamic
ports: plain send, authenticated send, JavaSendMailer end-to-end from a
SendmailConfig (locks in the createProps fix), and JavaReadMailer over
IMAP.

XOAUTH2 is asserted byte-level against a minimal in-test SMTP server,
since GreenMail doesn't implement that SASL mechanism: the client must
emit AUTH XOAUTH2 with base64("user=<u>\x01auth=Bearer <token>\x01\x01"),
which is the exact string Microsoft 365 and Gmail validate.

greenmail excludes org.eclipse.angus:jakarta.mail (the banned merged
API+impl jar); the split artifacts provide the same classes. The tests
set mail.smtp timeouts so protocol mismatches fail in seconds instead
of hanging the build.

* NMS-20102: Document XOAUTH2 mail authentication and migration notes

Adds a worked Microsoft 365 client-credentials example to the token
authentication page (token-auth block plus both the properties-file and
javamail-configuration.xml recipes), references the token context from
the notifd config-file table and the metadata DSL page, and comments the
XOAUTH2 pattern in the shipped javamail-configuration.properties.

Release notes cover the Jakarta Mail migration and its three upgrade
notes: checkserveridentity now defaults to true on SSL/TLS connections,
use-jmta is accepted but inert, and <javamail-property> entries take
effect on the sendmail path.

* NMS-20102: Apply adversarial-review findings

Code fixes:
- angus-mail on the flat classpath is replaced by angus-mail-shaded,
  which strips META-INF/mailcap and META-INF/javamail(.default).providers.
  Those javax-era resource names list jakarta-namespace classes, and the
  javax.activation command map reads them from every jar: with
  com.sun.activation as the javax impl, a text/plain DataHandler lookup
  fails outright (reproduced), taking down unrelated javax consumers.
  The jakarta runtime keeps working via META-INF/jakarta.mailcap and
  ServiceLoader, both retained; Karaf features keep vanilla angus-mail
  (bundle isolation makes the resources harmless there).
- reportd attachments carry their real MIME type again (PDF/CSV/XLS
  registered on the data source); a bare FileDataSource labeled every
  report application/octet-stream.
- JavaSendMailer only advertises mail.smtp(s).auth=true when a user-auth
  is actually configured; use-authentication="true" without credentials
  kept sending unauthenticated before the session properties became
  real, and now warns instead of failing the connect.
- transport 'mta' (still possible via the unvalidated properties file)
  maps to smtp with a warning instead of NoSuchProviderException; the
  removed-JMTA warning is per-mailer instead of once per JVM.
- TokenScope resolves to empty (WARN) on token-provider failures so a
  transient token-endpoint outage cannot abort mailer construction.
- JavaMailerConfig.getProperties is no longer synchronized: credential
  interpolation may fetch an OAuth token over HTTP, and the class
  monitor serialized every mail path in the JVM on that request.
- custom.properties additionally exports jakarta.activation.spi, so
  angus-activation wires both packages to the same provider.

Tests: XOAUTH2 wire test now drives the full documented composition
(${token:name} in javamail-configuration.properties resolved through
the token scope to the Bearer token on the wire); new authenticated
JavaSendMailer wire test; fake SMTP thread is a daemon; JavaSendMailer
wire tests set mail timeouts via <javamail-property>; test scope/system
property state is restored after each class.

Docs: metadata page no longer suggests readmail-config credentials
interpolate (they do not); XOAUTH2 mechanism line documented as
required rather than advisory; M365 prerequisites include the mailbox
permission grant; release notes cover the provider-less javax.mail API
(third-party plugins) and MailTransportMonitor sendmail-test behavior;
MailTransportMonitor reference page marks use-jmta deprecated; shipped
and example properties files carry the XOAUTH2 recipe with a
duplicate-key note.

* NMS-20102: Address Copilot review feedback

JavaSendMailer.buildMimeMessage() parses the to address with
InternetAddress.parse(to, false), matching JavaMailer, so
comma-separated recipient lists in sendmail-message work; the previous
single-address constructor matched the old MimeMessageHelper behavior
but diverged from the rest of the module. Wire test now sends to two
recipients. Also drops the duplicated mail.smtp.quitwait defaulting
block (pre-existing) and restores the opennms.home system property
after each JavaMailerWireTest.

* NMS-20102: Keep the message body on streamed mail attachments

JavaMailer.buildMessage() has two attachment branches: the file branch
builds a multipart with the message text followed by the attachment,
while the stream branch (added in 1dfc6c9e481, 2010) added only the
attachment part. Callers that set an input stream therefore lost the
message text entirely -- DefaultReportWrapperService sets both, so every
emailed database report arrived as a bare PDF or CSV with no body.

The stream branch now adds the text part first, matching the file
branch. Covered by a GreenMail wire test asserting both parts and their
order; the test fails on the previous behavior with one part instead of
two.

Pre-existing on release-36.x and unrelated to the Jakarta migration,
folded in here since this is the mail rework.

* NMS-20102: Document mail server TLS certificate verification

Angus enforces certificate trust and host-name verification
independently, and mail.smtp.ssl.trust suppresses only the first --
including when set to "*", the conventional workaround for self-signed
certificates. Installations carrying it therefore still fail
host-name verification after the upgrade, which the release note did
not convey.

Adds a Mail server TLS section to the notification configuration page
covering both properties, the two distinct failure messages, and which
property applies to each; the release note is trimmed to the behavior
change and points there. Verified against a STARTTLS server presenting
a certificate for a different name.

* NMS-20102: Trim the Jakarta Mail release note

Condense the whatsnew entry to the changes an upgrader has to act on and
push the detail to the notifications and token-authentication pages.
Also drop the note about readmail-config not supporting metadata
expressions, which does not belong in the list of what does.


  Commit: fe0cc01c0c813722dadfb1f53ac45138c1c0027e
      https://github.com/OpenNMS/opennms/commit/fe0cc01c0c813722dadfb1f53ac45138c1c0027e
  Author: Scott Theleman <[email protected]>
  Date:   2026-08-05 (Wed, 05 Aug 2026)

  Changed paths:
    M ui/src/components/Menu/SideMenu.vue
    M ui/src/theme/primevue-setup.ts
    A ui/tests/components/Menu/SideMenu.test.ts

  Log Message:
  -----------
  NMS-20171: Fix various SideMenu issues (#8751)


  Commit: bcc2528a52c24e09c0f85064b769ce4bc03fc65b
      https://github.com/OpenNMS/opennms/commit/bcc2528a52c24e09c0f85064b769ce4bc03fc65b
  Author: CI/CD System <[email protected]>
  Date:   2026-08-05 (Wed, 05 Aug 2026)

  Changed paths:
    M .circleci/epoch

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/foundation-2023' into foundation-2024


  Commit: 589c655b262efc5226b971e80706f6ba09f26dba
      https://github.com/OpenNMS/opennms/commit/589c655b262efc5226b971e80706f6ba09f26dba
  Author: Scott Theleman <[email protected]>
  Date:   2026-08-05 (Wed, 05 Aug 2026)

  Changed paths:
    A ui/CLAUDE.md

  Log Message:
  -----------
  NMS-20173: Add ui/CLAUDE.md documenting UI conventions for Claude Code (#8752)


  Commit: d94d2e6ee87dbebf2b12df1581099710ead893a5
      https://github.com/OpenNMS/opennms/commit/d94d2e6ee87dbebf2b12df1581099710ead893a5
  Author: Chandra Gorantla <[email protected]>
  Date:   2026-08-05 (Wed, 05 Aug 2026)

  Changed paths:
    M container/features/src/main/resources/features.xml
    M container/karaf/src/main/filtered-resources/etc/custom.properties
    M core/daemon/pom.xml
    M core/daemon/src/main/java/org/opennms/netmgt/vmmgr/Invoker.java
    M core/daemon/src/main/java/org/opennms/netmgt/vmmgr/Manager.java
    M core/daemon/src/main/java/org/opennms/netmgt/vmmgr/Starter.java
    A core/daemon/src/main/java/org/opennms/netmgt/vmmgr/StartupLifecycleHook.java
    M docs/modules/operation/nav.adoc
    A docs/modules/operation/pages/deep-dive/admin/high-availability.adoc
    M docs/modules/reference/pages/karaf-shell/karaf-shell.adoc
    M features/events/syslog/src/test/java/org/opennms/netmgt/syslogd/SyslogMessageTest.java
    A features/ha-management/ha-api/pom.xml
    A features/ha-management/ha-api/src/main/java/org/opennms/netmgt/ha/HaConfiguration.java
    A features/ha-management/ha-api/src/main/java/org/opennms/netmgt/ha/HaInstanceState.java
    A features/ha-management/ha-api/src/main/java/org/opennms/netmgt/ha/HaMode.java
    A features/ha-management/ha-api/src/main/java/org/opennms/netmgt/ha/HaRole.java
    A features/ha-management/ha-daemon/pom.xml
    A features/ha-management/ha-daemon/src/main/java/org/opennms/netmgt/ha/DbConnectionFactory.java
    A features/ha-management/ha-daemon/src/main/java/org/opennms/netmgt/ha/HaConfigSyncer.java
    A features/ha-management/ha-daemon/src/main/java/org/opennms/netmgt/ha/HaHeartbeatWriter.java
    A features/ha-management/ha-daemon/src/main/java/org/opennms/netmgt/ha/HaStartupCoordinator.java
    A features/ha-management/ha-daemon/src/main/java/org/opennms/netmgt/ha/HaStartupLifecycleHook.java
    A features/ha-management/ha-daemon/src/main/java/org/opennms/netmgt/ha/HaStatusSchema.java
    A features/ha-management/ha-daemon/src/main/java/org/opennms/netmgt/ha/HaSyncFiles.java
    A features/ha-management/ha-daemon/src/main/resources/META-INF/services/org.opennms.netmgt.vmmgr.StartupLifecycleHook
    A features/ha-management/ha-daemon/src/test/java/org/opennms/netmgt/ha/DbConnectionFactoryTest.java
    A features/ha-management/ha-daemon/src/test/java/org/opennms/netmgt/ha/HaConfigSyncerTest.java
    A features/ha-management/ha-daemon/src/test/java/org/opennms/netmgt/ha/HaStartupCoordinatorTest.java
    A features/ha-management/ha-daemon/src/test/java/org/opennms/netmgt/ha/HaStartupLifecycleHookTest.java
    A features/ha-management/ha-rest/pom.xml
    A features/ha-management/ha-rest/src/main/java/org/opennms/netmgt/ha/rest/HaRestService.java
    A features/ha-management/ha-rest/src/main/java/org/opennms/netmgt/ha/rest/dto/HaInstanceStatusDto.java
    A features/ha-management/ha-rest/src/main/java/org/opennms/netmgt/ha/rest/dto/HaStatusCollectionDto.java
    A features/ha-management/ha-rest/src/main/java/org/opennms/netmgt/ha/rest/impl/HaRestServiceImpl.java
    A features/ha-management/ha-rest/src/main/resources/OSGI-INF/blueprint/blueprint.xml
    A features/ha-management/ha-shell/pom.xml
    A features/ha-management/ha-shell/src/main/java/org/opennms/netmgt/ha/shell/HaConfigCommand.java
    A features/ha-management/ha-shell/src/main/java/org/opennms/netmgt/ha/shell/HaFailoverCommand.java
    A features/ha-management/ha-shell/src/main/java/org/opennms/netmgt/ha/shell/HaStatusCommand.java
    A features/ha-management/pom.xml
    M features/pom.xml
    M opennms-base-assembly/pom.xml
    A opennms-base-assembly/src/main/filtered-meridian/etc/ha-configuration.xml
    M opennms-base-assembly/src/main/filtered/etc/opennms.service
    M opennms-full-assembly/pom.xml
    M opennms-webapp/src/main/webapp/WEB-INF/applicationContext-spring-security.xml

  Log Message:
  -----------
  NMS-20109: Active/passive HA for OpenNMS core (#8700)

* WIP; testing

(cherry picked from commit 99ab08c00edc9df5453e7f3c90b3fe62a456d527)

* WIP

(cherry picked from commit b81400fbf988a99bf2512d8b2512ea365c23de14)

* test and iterate, test and iterate, test and

(cherry picked from commit 203bf32e3b4cbba44e2117f11f7d4593effadf36)

* WIP

(cherry picked from commit 853cf8a9ec43f42814304754d047ea887eefc236)

* don't rely on local clock

(cherry picked from commit 7b39e322211f2b90905e2d7a0a97fa1a17c0de55)

* periodically re-read the ha-configuration.xml sow e can change values on the fly

(cherry picked from commit d04e0a9f0b7a52919f5f19f8b32c847faecf70ca)

* skip syncing files in examples/ dir

(cherry picked from commit a98638e6d45c78f75315461cc59c62997c37c2f1)

* rest and shell refinements, correct some log messages

(cherry picked from commit 77b60c30a44409184ebfea73204366b451b5a208)

* Fixups for the config shell command

(cherry picked from commit e7bc80fce5b76c37fb7d2fb974972fbdb4995682)

* terminate immediately on split-brain detected instead of manager shutdown

(cherry picked from commit 5f54bea669cbe69c67bbb578e94a66837aaa6d6d)

* split-brain improvements; add active_since timestamp for tracking who became active when, and expose that value in both karaf shell and in ha rest api.

(cherry picked from commit 726f4cad4f4deae0b806af35cebdcc9acc7897bd)

* Convert to ShellTable for niceness

(cherry picked from commit 2b0ef35822c4f3747aace4ddbc015c812e37047d)

* NMS-20109: Make HA management an optional feature

- Create ha_instance_status from the coordinator at startup (advisory-lock
  serialized, includes agent_last_seen) instead of the core Liquibase
  changelog
- Write only last_heartbeat from the heartbeat cycle; state columns change
  on transitions only
- Add <mode>heartbeat-only</mode>: an external supervisor owns the state
  machine and OpenNMS only publishes liveness, never gating startup
- Move the HA REST endpoints out of opennms-webapp-rest into the ha-rest
  OSGi whiteboard bundle; enforce authorization via Spring Security
  intercept-urls
- Replace the filesystem-API config sync with a binary manifest transfer
  (sha256 diff, atomic apply, deletion propagation, sync-excludes); the
  hasync account no longer needs ROLE_FILESYSTEM_EDITOR

* NMS-20109: Handle some corner cases

Fail-closed startup
Partner check before claiming ACTIVE
No assume-inactive-on-error

* NMS-20109: Fail closed on HA config errors and harden sync path handling

- Abort startup instead of proceeding standalone when the HA config is
  unreadable, required fields are missing, or coordination throws;
  coordinator mode now requires a distinct partner-instance-id (enforced
  at load, REST update, and reload)
- Clamp failover-threshold to at least 2x the heartbeat interval and
  enforce a minimum sync interval before scheduling
- Suppress config sync in heartbeat-only mode, including config reloads
- Halt the JVM when failover cannot stop services after the step-down
  is advertised, instead of running on undetectable
- Config sync: support the ${scv:alias:attr|default} fallback syntax and
  resolve credentials via the stock vault (honors the configured keystore
  type); advertise the serving node's exclusions in the manifest and use
  the union of both nodes' lists for deletion propagation; canonicalize
  paths before exclusion matching; reject symlink escapes from etc/ and
  skip symlinks when building manifests; re-check HA state before every
  file write and deletion so a mid-cycle promotion aborts the pass
- Copy mode and sync-excludes in the ha-config shell command
- Use subtree intercept-url patterns for /rest/ha so trailing-slash
  variants keep requiring ROLE_ADMIN
- Document featuresBoot.d feature activation in the config template

* NMS-20109: Publish HA state after shutdown completes; lifecycle SPI

- Defer the STANDBY/FAILED row write until the service Invoker has
  finished stopping, so the partner can never promote alongside a node
  that is still draining; a hung drain falls back to heartbeat staleness
  at the failover threshold. The split-brain yield keeps its immediate
  write since the halt is instantaneous.
- Arbitrate split-brain only against a partner whose heartbeat is within
  the failover threshold: an ACTIVE row with a dead heartbeat means the
  partner stopped while holding the role, so the survivor continues as
  the sole active instance instead of halting in deference to it.
- Replace the reflective HA hooks in Starter and Manager with a
  StartupLifecycleHook SPI discovered via ServiceLoader; ha-daemon
  registers the implementation, and its absence is a no-op.
- Clarify the sync-excludes example in the config template.

* NMS-20109: Add docs for HA feature

* NMS-20109: Bound JDBC reads, mask sync password, unify heartbeat task

* NMS-20109: Survive status signals while gated; heartbeat through the drain

- register the SIGUSR1 status handler before the startup gate can block,
  so "opennms status" no longer kills a waiting standby; an empty status
  file is written when no services exist yet
- keep the heartbeat publishing liveness until the terminal state is
  written post-drain: the partner promotes on the state write, never on
  staleness beside a still-draining node (a hung drain is escalated by
  the service manager's stop timeout)
- promote when the partner row stays missing beyond the failover
  threshold instead of waiting forever
- serialize config-sync passes so a reschedule cannot overlap a
  still-running pass

* NMS-20109 : Update docs

* Restart in systemd unit and note in docs

* Fix conditional in nav while I'm here

* NMS-20109: Read partner identity once per monitor cycle

- Snapshot partner-instance-id in each monitor path so a cycle reasons about
  one partner throughout; a change during the anti-flap wait now restarts the
  verification instead of concluding about a different node.
- Reset the missing-row timer when partner-instance-id changes, so a new
  partner gets the full threshold before its absence counts toward promotion.
- Invoke the Manager MBean on the platform server instead of the first entry
  of MBeanServerFactory.findMBeanServer(null), whose ordering is unspecified;
  a miss would turn a planned failover into an immediate halt.
- Do not serve sync files through symlinks, which could otherwise alias an
  excluded file; manifests never advertise them.
- Cancel the superseded monitor and sync tasks before releasing the startup
  gate on promotion.

* NMS-20109: Report heartbeat staleness separately from role and state

- Rename the derived status flag from "degraded" to heartbeat-stale (STALE in
  the shell table) and compute it from heartbeat age alone. It also flagged a
  SECONDARY holding ACTIVE and the DEGRADED state, so both rows read
  DEGRADED=YES after a healthy failover, which reads as total failure.
- Align the class defaults with the shipped template — failover threshold 60s,
  sync interval 60s — and name the enforced minimums in the javadoc.

* NMS-20109: Handle some more edge case and docs

 - Manifest self-identification (#ha-manifest 1) refusing unmarked responses before any fetch or delete
 - partner-rest-url restart-only, with tests on both the REST and reload paths
 - Template defaults to https, plus a WARN when sync runs over http
 - Loud ERROR when a node's own status row has vanished
 - ROLE_REST dropped from the template, javadoc, and docs; this comment condensed
 - Docs: STANDBY vs DEGRADED distinction, automatic return as DEGRADED with a restart policy, and systemctl stop for maintenance

* Fix unrelated bug in syslog tests

* NMS-20109: Update docs on second node installation

---------

Co-authored-by: Dino <[email protected]>


  Commit: 2f48ba5e3d8bb76fbc5d42acc4eaa61fe8bcb333
      https://github.com/OpenNMS/opennms/commit/2f48ba5e3d8bb76fbc5d42acc4eaa61fe8bcb333
  Author: Morteza E <[email protected]>
  Date:   2026-08-05 (Wed, 05 Aug 2026)

  Changed paths:
    M .circleci/README.md
    M .circleci/config.yml
    M .circleci/main/jobs/tests/integration/integration-test.yml
    M .circleci/main/parameters.yml
    M .circleci/main/workflows/workflows_v2.json
    M .circleci/pyscripts/library/cci_components/workflow.py
    M .circleci/pyscripts/process_generate.py
    M container/features/pom.xml
    M container/features/src/main/resources/features-sentinel.xml
    M container/features/src/main/resources/features.xml

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/foundation-2024' into foundation-2025


  Commit: 0495ab3af5da51ac8d450620be31fab7721028e7
      https://github.com/OpenNMS/opennms/commit/0495ab3af5da51ac8d450620be31fab7721028e7
  Author: Dino <[email protected]>
  Date:   2026-08-05 (Wed, 05 Aug 2026)

  Changed paths:
    M docs/modules/releasenotes/pages/whatsnew.adoc

  Log Message:
  -----------
  NMS-20165: announce beanshell support deprecated (#8745)


  Commit: 7d28224f13b104e07a76a9521ecf0f32e62866c3
      https://github.com/OpenNMS/opennms/commit/7d28224f13b104e07a76a9521ecf0f32e62866c3
  Author: Scott Theleman <[email protected]>
  Date:   2026-08-06 (Thu, 06 Aug 2026)

  Changed paths:
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/NodeRestService.java
    M opennms-webapp-rest/src/test/java/org/opennms/web/rest/v2/NodeRestServiceIT.java
    M opennms-webapp-rest/src/test/java/org/opennms/web/rest/v2/SnmpInterfaceRestServiceIT.java
    M ui/src/components/Nodes/AssetFilterPanel.vue
    M ui/src/components/Nodes/NodeAdvancedFiltersDrawer.vue
    A ui/src/components/Nodes/NodeInterfacesPanel.vue
    M ui/src/components/Nodes/NodesTable.vue
    M ui/src/components/Nodes/hooks/queryStringParser.ts
    A ui/src/components/Nodes/hooks/useInterfaceListing.ts
    M ui/src/components/Nodes/hooks/useNodeQuery.ts
    M ui/src/containers/Nodes.vue
    M ui/src/services/index.ts
    M ui/src/services/ipInterfaceService.ts
    A ui/src/services/snmpInterfaceService.ts
    M ui/src/stores/nodeStore.ts
    M ui/src/stores/nodeStructureStore.ts
    M ui/src/types/index.ts
    M ui/tests/components/Nodes/AssetFilterPanel.test.ts
    M ui/tests/components/Nodes/ColumnSelectionDrawer.test.ts
    M ui/tests/components/Nodes/NodeAdvancedFiltersDrawer.test.ts
    A ui/tests/components/Nodes/NodeInterfacesPanel.test.ts
    M ui/tests/components/Nodes/NodesTable.test.ts
    M ui/tests/components/Nodes/hooks/queryStringParser.test.ts
    A ui/tests/components/Nodes/hooks/useInterfaceListing.test.ts
    M ui/tests/components/Nodes/hooks/useNodeQuery.test.ts
    A ui/tests/containers/Nodes.test.ts
    A ui/tests/services/ipInterfaceService.test.ts
    A ui/tests/services/snmpInterfaceService.test.ts
    A ui/tests/stores/nodeStore.test.ts
    M ui/tests/stores/nodeStructureStore.test.ts

  Log Message:
  -----------
  NMS-20125: Node List parity enhancements (#8736)

* NMS-20125: add nodesWithOutages FIQL search to v2 NodeRestService

* NMS-20125: add pure interface-listing logic for Vue node list

* NMS-20125: add batched SNMP interface fetching for Vue node list

* NMS-20125: add Show interfaces mode to Vue node list

* NMS-20125: fix SNMP-narrowing fetch race and wildcard under-fetch

- Gate the SNMP interface fetch in NodesTable.vue on nodes/showInterfaces
  changing rather than interfaceListMode

- Add NodesTable.test.ts coverage for the narrowing FIQL, default-mode
  no-fetch, wildcard omission, and fetch dedupe.

* NMS-20125: add nodesWithOutages filter to Vue node list

* NMS-20125: redirect legacy nodeId query param to node detail page

* NMS-20125: exclude deleted nodes from node list queries and widen asset-column filtering

* NMS-20125: address final review findings for node list parity

Fixes five Important issues from the whole-branch review:

1. Invert the snmpMatchType-undefined default in getInterfaceListMode
2. Extract one shared, exported normalizeMacSearch() (useInterfaceListing.ts)
   that strips all non-hex characters and lowercases, and use it in
   useInterfaceListing's maclike match, NodesTable.vue's buildSnmpNarrowing,
   and useNodeQuery.ts's buildMaclikeQuery.
3. Widen NodesTable.vue's buildSnmpNarrowing under-fetch guard 
4. Add server-side IT coverage locking in the composed FIQL wire shapes the
   Vue page emits
5. Add a useNodeQuery.test.ts case asserting the exact _s produced for a
   searchTerm that looks like an IP

Also: Nodes.vue's legacy ?nodeId=<n> redirect now uses
window.location.replace instead of .assign, so Back doesn't return to the
bookmark URL and immediately re-redirect.

* NMS-20125: show interface expander only in Show Interfaces mode and only for expandable nodes

* NMS-20125: auto-expand qualifying rows once the async SNMP fetch resolves in maclike/snmpParm mode

* NMS-20125: validate node search input and correct wildcard help text

* NMS-20125: re-validate injected search terms in the queryFilter watch

* NMS-20125: Node list help updates

* NMS-20125: clarify Show Interfaces help for MAC/SNMP filter modes

* NMS-20125: offer all asset columns in the Asset Fields filter dropdown

* NMS-20125: drive AssetFilterPanel toggle tests through OnmsToggleSwitch emit

* NMS-20125: document Featured Fields Only toggle in Advanced Filters help

* NMS-20125: Small fix, force smoke tests !smoke

* NMS-20125: snmpParm takes priority over maclike in interface listing, matching legacy

* NMS-20125: remove unused getNodeIdRedirect(), point nodeId NOTE at the live redirect path

* NMS-20125: fix FIQL precedence in getNodeIpInterfaceQuery via the two-group form

* NMS-20125: sequence getSnmpInterfacesForNodes requests so the latest always wins

* NMS-20125: fix lint errors in nodeStore sequencing tests

* NMS-20125: clarify interface footer with total vs per-page node counts

* NMS-20125: auto-expand default-mode interface rows when the IP batch resolves

* NMS-20125: reset catch-up generation keys on page/toggle/mode change

* NMS-20125: double-encode node search terms instead of blocking special characters

* NMS-20125: strengthen IT coverage for grouped FIQL and outage suppression clauses

* NMS-20125: address review nits in interface listing, asset dropdown, and labels

* NMS-20125: correct comparator comment to cite the actual nullability evidence


  Commit: 926023b89b99243a733dcd7a6d972850c9024f63
      https://github.com/OpenNMS/opennms/commit/926023b89b99243a733dcd7a6d972850c9024f63
  Author: Marshall Massengill <[email protected]>
  Date:   2026-08-06 (Thu, 06 Aug 2026)

  Changed paths:
    M core/lib/src/main/java/org/opennms/core/utils/ConfigFileConstants.java
    R dependencies/asterisk/pom.xml
    M dependencies/pom.xml
    M docs/modules/operation/pages/deep-dive/notifications/commands.adoc
    M docs/modules/operation/pages/deep-dive/notifications/introduction.adoc
    M docs/modules/reference/pages/configuration/system-properties.adoc
    M docs/modules/reference/pages/daemons/introduction.adoc
    M docs/modules/releasenotes/pages/changelog.adoc
    M docs/modules/releasenotes/pages/whatsnew.adoc
    M integration-tests/config/pom.xml
    M integration-tests/config/src/test/java/org/opennms/netmgt/config/WillItUnmarshalIT.java
    R opennms-asterisk/pom.xml
    R opennms-asterisk/src/license/THIRD-PARTY.properties
    R opennms-asterisk/src/main/java/org/opennms/netmgt/asterisk/agi/AsteriskGateway.java
    R opennms-asterisk/src/main/java/org/opennms/netmgt/asterisk/agi/jmx/AsteriskGateway.java
    R opennms-asterisk/src/main/java/org/opennms/netmgt/asterisk/agi/jmx/AsteriskGatewayMBean.java
    R opennms-asterisk/src/main/java/org/opennms/netmgt/asterisk/agi/scripts/BaseOnmsAgiScript.java
    R opennms-asterisk/src/main/java/org/opennms/netmgt/asterisk/agi/scripts/LouieLouieLyricsAgiScript.java
    R opennms-asterisk/src/main/java/org/opennms/netmgt/asterisk/agi/scripts/ReadNoticeDetailsAgiScript.java
    R opennms-asterisk/src/main/java/org/opennms/netmgt/asterisk/monitor/AsteriskSIPPeerMonitor.java
    R opennms-asterisk/src/main/java/org/opennms/netmgt/asterisk/utils/AsteriskConfig.java
    R opennms-asterisk/src/main/java/org/opennms/netmgt/asterisk/utils/AsteriskOriginator.java
    R opennms-asterisk/src/main/java/org/opennms/netmgt/asterisk/utils/AsteriskOriginatorException.java
    R opennms-asterisk/src/main/java/org/opennms/netmgt/asterisk/utils/AsteriskUtils.java
    R opennms-asterisk/src/main/java/org/opennms/netmgt/notifd/asterisk/AsteriskOriginateNotificationStrategy.java
    R opennms-asterisk/src/main/resources/META-INF/opennms/applicationContext-asteriskGateway.xml
    R opennms-asterisk/src/main/resources/META-INF/services/org.opennms.netmgt.poller.ServiceMonitor
    R opennms-asterisk/src/main/resources/beanRefContext.xml
    M opennms-base-assembly/pom.xml
    R opennms-base-assembly/src/main/filtered/etc/ami-config.xml
    R opennms-base-assembly/src/main/filtered/etc/asterisk-configuration.properties
    M opennms-base-assembly/src/main/filtered/etc/examples/notificationCommands.xml
    M opennms-base-assembly/src/main/filtered/etc/log4j2.xml
    M opennms-base-assembly/src/main/filtered/etc/notificationCommands.xml
    M opennms-base-assembly/src/main/filtered/etc/opennms.properties
    M opennms-config-model/pom.xml
    R opennms-config-model/src/main/java/org/opennms/netmgt/config/ami/AmiAgentConfig.java
    R opennms-config-model/src/main/java/org/opennms/netmgt/config/ami/AmiConfig.java
    R opennms-config-model/src/main/java/org/opennms/netmgt/config/ami/Definition.java
    R opennms-config-model/src/main/java/org/opennms/netmgt/config/ami/Range.java
    R opennms-config-model/src/main/java/org/opennms/netmgt/config/ami/package-info.java
    R opennms-config-model/src/main/resources/xsds/ami-config.xsd
    R opennms-config-model/src/test/java/org/opennms/netmgt/config/ami/AmiConfigTest.java
    M opennms-config-tester/src/main/resources/META-INF/opennms/applicationContext-configTester.xml
    M opennms-config-tester/src/test/java/org/opennms/netmgt/config/tester/ConfigTesterTest.java
    R opennms-config/src/main/java/org/opennms/netmgt/config/AmiPeerFactory.java
    M opennms-config/src/main/resources/META-INF/opennms/component-dao.xml
    R opennms-config/src/test/java/org/opennms/netmgt/config/AmiPeerFactoryTest.java
    R opennms-config/src/test/resources/etc/ami-config.xml
    M pom.xml
    M ui/tests/fileEditor.test.ts

  Log Message:
  -----------
  NMS-20114: Remove the Asterisk notification strategy, AGI gateway, and AMI configuration (#8737)

* NMS-20114: Remove the Asterisk notification strategy and AGI gateway

AsteriskOriginateNotificationStrategy originated a call over the Asterisk
Manager Interface and passed the notice details as channel variables; the
bundled FastAGI server read them back to the answering party using canned
Asterisk sound files. That gateway is named in no shipped
service-configuration.xml, so nothing started it, and asterisk-java
1.0.0-final dates to 2009.

AsteriskSIPPeerMonitor goes as well. Its SipShowPeerAction is the AMI form
of "sip show peer", which is chan_sip only; Asterisk deprecated that channel
driver in 17 and removed it in 21, so the monitor reports Down regardless of
peer state on current versions.

SNMP data collection for Asterisk servers is untouched:
etc/datacollection/asterisk.xml and asterisk-graph.properties remain, keyed
on sysoid .1.3.6.1.4.1.22736.1.

integration-tests/config reached opennms-services transitively through
opennms-asterisk, which is how ServiceConfigurationPublicConstructorIT
resolved the daemon classes named in service-configuration.xml. It now
declares that dependency directly.

ConfigFileConstants id 74 is retired rather than renumbered, matching the
gaps already in that table.

* NMS-20114: Remove the orphaned AMI peer configuration

AmiPeerFactory and ami-config.xml existed only to hand AMI credentials to
AsteriskOriginator and AsteriskSIPPeerMonitor. Both are gone, leaving no
consumers, so the factory, the org.opennms.netmgt.config.ami model, the XSD,
the shipped ami-config.xml, and the config-tester and WillItUnmarshal
coverage for it are removed.

ConfigFileConstants id 75 is retired rather than renumbered, matching the
gaps already in that table.

The fileEditor unit test used ami-config.xml as arbitrary sample data for
its root-level-file case; it now names categories.xml instead.

* NMS-20114: Add release notes for the Asterisk removal


  Commit: 7636080573061bde33cb937b0c00b7883ed1f09e
      https://github.com/OpenNMS/opennms/commit/7636080573061bde33cb937b0c00b7883ed1f09e
  Author: Chandra Gorantla <[email protected]>
  Date:   2026-08-06 (Thu, 06 Aug 2026)

  Changed paths:
    M opennms-util/src/main/java/org/opennms/core/utils/jexl/OnmsJexlUberspect.java
    A opennms-util/src/test/java/org/opennms/core/utils/jexl/OnmsJexlSandboxBypassTest.java

  Log Message:
  -----------
  NMS-20051: Fix JEXL sandbox bypass (#8754)


  Commit: 20426f3bdaee02e1c51073185f7ead09fb28ecab
      https://github.com/OpenNMS/opennms/commit/20426f3bdaee02e1c51073185f7ead09fb28ecab
  Author: Chandra Gorantla <[email protected]>
  Date:   2026-08-06 (Thu, 06 Aug 2026)

  Changed paths:
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/AlarmRestService.java
    M opennms-webapp-rest/src/test/java/org/opennms/web/rest/v2/AlarmRestServiceIT.java

  Log Message:
  -----------
  NMS-20030: Fix v2 alarm rest api access issue (#8755)


  Commit: b6d93514c1438635aecbedb5d74f48e7a34a1b98
      https://github.com/OpenNMS/opennms/commit/b6d93514c1438635aecbedb5d74f48e7a34a1b98
  Author: Scott Theleman <[email protected]>
  Date:   2026-08-06 (Thu, 06 Aug 2026)

  Changed paths:
    M ui/src/components/Nodes/AssetFilterPanel.vue
    M ui/src/components/Nodes/ColumnSelectionDrawer.vue
    M ui/src/components/Nodes/ExtendedSearchPanel.vue
    M ui/src/components/Nodes/NodeAdvancedFiltersDrawer.vue
    M ui/src/components/Nodes/NodeInterfacesPanel.vue
    M ui/src/components/Nodes/NodesTable.vue
    M ui/src/components/Nodes/hooks/useNodeQuery.ts
    M ui/src/components/Nodes/utils.ts
    M ui/src/containers/Nodes.vue
    M ui/src/main/App.vue
    A ui/src/stores/nodeListStore.ts
    R ui/src/stores/nodeStructureStore.ts
    M ui/src/types/index.ts
    M ui/tests/components/Nodes/AssetFilterPanel.test.ts
    M ui/tests/components/Nodes/ColumnSelectionDrawer.test.ts
    M ui/tests/components/Nodes/ExtendedSearchPanel.test.ts
    M ui/tests/components/Nodes/NodeAdvancedFiltersDrawer.test.ts
    M ui/tests/components/Nodes/NodeInterfacesPanel.test.ts
    M ui/tests/components/Nodes/NodesTable.test.ts
    M ui/tests/components/Nodes/hooks/useNodeQuery.test.ts
    M ui/tests/containers/Nodes.test.ts
    A ui/tests/stores/nodeListStore.test.ts
    R ui/tests/stores/nodeStructureStore.test.ts

  Log Message:
  -----------
  NMS-20175: Node List UI Fixes - less default columns, indentation (#8756)

* NMS-20175: trim default node list columns to reduce header cramping

* NMS-20175: align expanded interface list with the first data column

* NMS-20175: rename Node Structure naming to Node List

* NMS-20175: reorder outages toggle under down-nodes-only in Advanced Filters

* NMS-20175: match chip order to Advanced Filters toggle order


  Commit: 9fed4e502eec38cf00ab5439a34671f621185df7
      https://github.com/OpenNMS/opennms/commit/9fed4e502eec38cf00ab5439a34671f621185df7
  Author: CI/CD System <[email protected]>
  Date:   2026-08-06 (Thu, 06 Aug 2026)

  Changed paths:
    M opennms-util/src/main/java/org/opennms/core/utils/jexl/OnmsJexlUberspect.java
    A opennms-util/src/test/java/org/opennms/core/utils/jexl/OnmsJexlSandboxBypassTest.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/AlarmRestService.java
    M opennms-webapp-rest/src/test/java/org/opennms/web/rest/v2/AlarmRestServiceIT.java

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/foundation-2023' into foundation-2024


  Commit: 8c95520dd86b4e846f30f35ec9d236cfad510579
      https://github.com/OpenNMS/opennms/commit/8c95520dd86b4e846f30f35ec9d236cfad510579
  Author: CI/CD System <[email protected]>
  Date:   2026-08-07 (Fri, 07 Aug 2026)

  Changed paths:
    M opennms-util/src/main/java/org/opennms/core/utils/jexl/OnmsJexlUberspect.java
    A opennms-util/src/test/java/org/opennms/core/utils/jexl/OnmsJexlSandboxBypassTest.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/AlarmRestService.java
    M opennms-webapp-rest/src/test/java/org/opennms/web/rest/v2/AlarmRestServiceIT.java

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/foundation-2024' into foundation-2025


  Commit: 3eef0ac8dffd04f6d4415195da34324d18c8f89e
      https://github.com/OpenNMS/opennms/commit/3eef0ac8dffd04f6d4415195da34324d18c8f89e
  Author: Morteza E <[email protected]>
  Date:   2026-08-07 (Fri, 07 Aug 2026)

  Changed paths:
    M .circleci/README.md
    M .circleci/main/jobs/tests/integration/integration-test.yml
    M .circleci/main/parameters.yml
    M .circleci/main/workflows/workflows_v2.json
    M .circleci/pyscripts/library/cci_components/workflow.py
    M .circleci/pyscripts/process_generate.py
    M container/features/pom.xml
    M container/features/src/main/resources/features-sentinel.xml
    M container/features/src/main/resources/features.xml
    M opennms-util/src/main/java/org/opennms/core/utils/jexl/OnmsJexlUberspect.java
    A opennms-util/src/test/java/org/opennms/core/utils/jexl/OnmsJexlSandboxBypassTest.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/AlarmRestService.java
    M opennms-webapp-rest/src/test/java/org/opennms/web/rest/v2/AlarmRestServiceIT.java

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/foundation-2025' into release-36.x


  Commit: 24ff8c664530b63d55f9238636203e6e47aaffda
      https://github.com/OpenNMS/opennms/commit/24ff8c664530b63d55f9238636203e6e47aaffda
  Author: Scott Theleman <[email protected]>
  Date:   2026-08-07 (Fri, 07 Aug 2026)

  Changed paths:
    M features/springframework-security/src/main/java/org/opennms/web/springframework/security/LoginModuleUtils.java
    A features/springframework-security/src/test/java/org/opennms/web/springframework/security/LoginModuleUtilsTest.java
    M opennms-webapp/src/main/webapp/WEB-INF/applicationContext-spring-security.xml
    M opennms-webapp/src/main/webapp/includes/bootstrap.jsp
    M ui/src/components/Menu/UserSelfServiceMenuItem.vue
    M ui/src/services/localStorageService.ts
    M ui/src/services/themeService.ts
    A ui/tests/components/Menu/UserSelfServiceMenuItem.test.ts
    A ui/tests/services/localStorageService.test.ts
    A ui/tests/services/themeService.test.ts

  Log Message:
  -----------
  NMS-20174: Fix Menubar/SideMenu issues in Firefox and Safari on JSP pages (#8758)

* NMS-20174: Fix Vue menu not rendering in Safari/Firefox on JSP pages

* NMS-20174: Never use saved REST/API requests as post-login redirect target

* NMS-20174: Don't let blocked localStorage prevent the menu app from mounting

* NMS-20174: Fix logout from JSP pages silently failing in Firefox

* NMS-20174: Cache-bust the Vue menu bundle links in bootstrap.jsp

* NMS-20174: Update stale isInvalidSavedRequestUrl javadoc


  Commit: 31d8d8958651456859ddfca8ef1c80245194fda8
      https://github.com/OpenNMS/opennms/commit/31d8d8958651456859ddfca8ef1c80245194fda8
  Author: Marshall Massengill <[email protected]>
  Date:   2026-08-07 (Fri, 07 Aug 2026)

  Changed paths:
    M ui/src/containers/OpenAPI.vue
    A ui/tests/containers/OpenAPI.test.ts

  Log Message:
  -----------
  NMS-20166: Improve the OpenAPI Docs UI page (#8746)

* NMS-20166: Stop the OpenAPI docs page jumping when a nav entry or tab is clicked

Two things on this page call Element.scrollIntoView, and it scrolls every
scrollable ancestor rather than only the intended pane. RapiDoc does it twice per
nav click, for the operation and for the nav link. PrimeVue's Tab does it too, in
scrollInView with block 'nearest', when a tab takes focus.

Which boxes are scrollable is not entirely ours to decide: PrimeVue's theme is
generated at runtime, and a box with overflow hidden on one axis has the other
computed to auto, which quietly makes it a scroll container. So the layout is
tightened where it can be, and the offsets are put back where it cannot.

- Puts each doc in its own tab, so only one is displayed rather than stacking two
  full-height rows and guaranteeing the page overflowed.
- Measures the space left below the breadcrumbs and above the footer, on mount and
  whenever the chrome reflows, rather than subtracting a fixed offset from 100vh.
- Clips the column and the tab boxes. clip rather than hidden, since a hidden box is
  still programmatically scrollable.
- Restores the vertical scroll of every scrollable box in the column's light DOM and
  above it after a click, which is what makes this hold whatever the theme leaves
  scrollable. querySelectorAll does not pierce shadow roots, so RapiDoc's own panes
  are untouched and still scroll to the clicked operation. Horizontal offsets are
  left alone, since the tab strip is legitimately scrollable sideways.
- Holds the document at the top while the column fits. A click is not the only thing
  that moves the page: switching tabs focuses the new tab and panel, and the browser
  scrolls a focused element into view on its own, after the frames the click handler
  watches. Skipped when the viewport is too short to hold the column, since the page
  then does need to scroll.
- Drops the IntersectionObserver that deferred the V1 doc; its tab being opened is
  now the trigger.

Everything here stays inside the page. Nothing is written to documentElement, so the
fixed app chrome and the side menu's flyouts, which need overflow visible, are
unaffected.

* NMS-20166: Share the in-flight OpenAPI spec fetch

Cache the pending promise rather than its result, so opening the V1 tab
before the mount-time fetch resolves joins that request instead of
issuing a second pair. The entry is dropped again if the fetch fails, so
a later call still retries.


  Commit: 783a348874ed5598dd5e4cdea355ba40327df508
      https://github.com/OpenNMS/opennms/commit/783a348874ed5598dd5e4cdea355ba40327df508
  Author: mershad-manesh <[email protected]>
  Date:   2026-08-07 (Fri, 07 Aug 2026)

  Changed paths:
    M .circleci/epoch

  Log Message:
  -----------
  Update epoch


  Commit: ec05fda75d8da50da0edc7f59406c6c461289931
      https://github.com/OpenNMS/opennms/commit/ec05fda75d8da50da0edc7f59406c6c461289931
  Author: Marshall Massengill <[email protected]>
  Date:   2026-08-07 (Fri, 07 Aug 2026)

  Changed paths:
    M docs/modules/operation/nav.adoc
    M docs/modules/operation/pages/deep-dive/notifications/bonus-strategies.adoc
    A docs/modules/operation/pages/deep-dive/notifications/strategies/scripting.adoc
    M docs/modules/releasenotes/pages/changelog.adoc
    M docs/modules/releasenotes/pages/whatsnew.adoc
    M opennms-services/pom.xml
    M opennms-services/src/main/java/org/opennms/netmgt/notifd/BSFNotificationStrategy.java
    M opennms-services/src/test/java/org/opennms/netmgt/notifd/BSFNotificationStrategyIT.java

  Log Message:
  -----------
  NMS-20111: Updates BSF in Notifd to JSR-223 (#8718)

* NMS-20111: Port BSFNotificationStrategy to JSR-223

Apache BSF is retired to the Apache Attic; the strategy now runs
scripts through javax.script. The class name, all 25 script variable
names, the results["status"]=="OK" contract, run-type exec/eval
semantics, and the 0/-1 return mapping are unchanged, so existing
notificationCommands.xml entries and scripts keep working. The engine
is chosen by lang-class (JSR-223 name) or the file extension, with
BSF's .gy alias mapped to Groovy; bsf-engine and file-extensions are
accepted but ignored with a warning.

Compiled scripts are cached per path+engine with lastModified
invalidation (Groovy leaks a class per compilation, same rationale as
provisiond's JSR223ScriptCache); the compile attempt catches Throwable
because BeanShell declares Compilable but its compile() throws
Error("unimplemented"), in which case scripts are evaluated from
source on a fresh per-invocation engine. Bindings are built per
invocation, which drops the old static synchronized serialization of
every scripted notification and the declare/undeclare dance.

The IT grows from one to nine cases (eval, Groovy, .gy, lang-class
resolution, missing file, non-OK status, invalid run-type, deprecated
switches) and uses the database populator's actual node id: node ids
are sequence-assigned, so the hardcoded 1 only worked while the class
had a single test.

* NMS-20111: Document the scripted notification strategy

The strategy was never documented; adds a Scripted Notifications page
(parameters, script variables, the results.status success contract,
BSF migration notes) to the notification strategies section, plus the
release-note entries for the JSR-223 port.

* NMS-20111: Apply adversarial-review findings

- BeanShell scripts see null variables again: bsh's JSR-223 engine
  treats a null binding as an undefined variable, breaking scripts
  that test node fields against null (worked under BSF). The
  BeanShell path now drives bsh.Interpreter directly, as BSF did;
  Interpreter.set defines nulls properly. Reflective, since bsh is a
  runtime-scope dependency.
- The command's <substitution> element is honored when the argument
  value is empty, so the strategy's own switches (file-name,
  lang-class, run-type) can be configured in notificationCommands.xml
  the way the docs show; notifd passes empty values for switches
  without a notification parameter, which previously made the
  documented setup - and the bsf-engine deprecation warning -
  unreachable.
- Compile failures no longer latch the script-cache entry when the
  script itself is at fault: a fixed script compiles again. Only
  engines that cannot compile (BeanShell throws Error) latch. Cache
  keys derive from lang-class/extension so cache hits build no
  throwaway engine, and mtime comparison uses != so restored-older
  files also invalidate.
- Groovy engines come from a runtime-scope groovy-dependencies entry
  instead of relying on provision-persistence keeping groovy on the
  classpath; a GLOBAL_SCOPE bindings object avoids a bsh NPE path.
- IT covers the review gaps: null bindings, substitution-shaped
  config, cache reuse + mtime invalidation, missing file-name.
- Docs: substitution vs notification-parameter configuration spelled
  out, microblog_username listed as deprecated, release note no
  longer overstates engine-state isolation and mentions strict UTF-8.

* NMS-20111: Trim the whats-new entry to a single line

Review feedback on #8718: whats-new items should stay within two lines so the page
is quick to scan, with the detail in the deep-dive documentation.

The entry now states the change and links to Scripted Notifications. Everything it
listed was already covered there, apart from the UTF-8 caveat, which moves into that
page's notes on migrating BSF-era scripts.


  Commit: a6d757ac2dff116ba3caffe6c4faa71d536c436b
      https://github.com/OpenNMS/opennms/commit/a6d757ac2dff116ba3caffe6c4faa71d536c436b
  Author: mershad-manesh <[email protected]>
  Date:   2026-08-07 (Fri, 07 Aug 2026)

  Changed paths:
    M opennms-container/core/plugins.sh

  Log Message:
  -----------
  Update plugins.sh

We don't need Cloudsmith CLI here


  Commit: c686867898112105fa1bfa64ac17251aa5131d8a
      https://github.com/OpenNMS/opennms/commit/c686867898112105fa1bfa64ac17251aa5131d8a
  Author: Marshall Massengill <[email protected]>
  Date:   2026-08-07 (Fri, 07 Aug 2026)

  Changed paths:
    M docs/modules/operation/nav.adoc
    M docs/modules/operation/pages/deep-dive/notifications/bonus-strategies.adoc
    M docs/modules/operation/pages/deep-dive/notifications/introduction.adoc
    R docs/modules/operation/pages/deep-dive/notifications/strategies/mattermost.adoc
    R docs/modules/operation/pages/deep-dive/notifications/strategies/slack.adoc
    A docs/modules/operation/pages/deep-dive/notifications/strategies/webhook.adoc
    M docs/modules/operation/pages/quick-start/beyond-qs.adoc
    M docs/modules/releasenotes/pages/changelog.adoc
    M docs/modules/releasenotes/pages/whatsnew.adoc
    M opennms-services/pom.xml
    R opennms-services/src/main/java/org/opennms/netmgt/notifd/AbstractSlackCompatibleNotificationStrategy.java
    R opennms-services/src/main/java/org/opennms/netmgt/notifd/MattermostNotificationStrategy.java
    R opennms-services/src/main/java/org/opennms/netmgt/notifd/SlackNotificationStrategy.java
    A opennms-services/src/main/java/org/opennms/netmgt/notifd/WebhookNotificationStrategy.java
    R opennms-services/src/test/java/org/opennms/netmgt/notifd/MattermostNotificationStrategyIT.java
    R opennms-services/src/test/java/org/opennms/netmgt/notifd/MattermostNotificationStrategyTestServlet.java
    R opennms-services/src/test/java/org/opennms/netmgt/notifd/SlackCompatibleNotificationStrategyTest.java
    R opennms-services/src/test/java/org/opennms/netmgt/notifd/SlackNotificationStrategyIT.java
    A opennms-services/src/test/java/org/opennms/netmgt/notifd/WebhookNotificationStrategyIT.java
    A opennms-services/src/test/java/org/opennms/netmgt/notifd/WebhookNotificationStrategyTest.java
    A opennms-services/src/test/java/org/opennms/netmgt/notifd/WebhookNotificationStrategyTestServlet.java
    R opennms-services/src/test/resources/MattermostNotificationStrategyTest/WEB-INF/web.xml
    A opennms-services/src/test/resources/WebhookNotificationStrategyTest/WEB-INF/web.xml

  Log Message:
  -----------
  NMS-20113: Replace the Slack and Mattermost notification channels with a generic webhook (#8734)

* NMS-20113: Replace the Slack and Mattermost notification channels with a generic webhook

The Slack and Mattermost strategies shared a base class that built one
hardcoded JSON shape, so no other receiver could be expressed, and it
treated only a literal "ok" response body as success, which meant a
receiver answering 204 with no body was always logged as failed.

Adds WebhookNotificationStrategy, which takes the URL, method, content
type, headers, and body template from the notification command. Values
substituted into a JSON body are escaped, with a |raw modifier for
fragments that are themselves JSON, and the rendered body is parsed
before it is sent so a template mistake is reported locally instead of
as an opaque 400. Any 2xx counts as success, narrowed by an optional
-success-match for receivers that report failure behind a 200.

Template tokens deliberately exclude colons so they cannot collide with
the metadata DSL, which notifd resolves against notification parameters
before the command runs.

Removes the two strategies, their shared base class, and their tests,
and replaces the two documentation pages with a single webhook page
carrying Slack, Mattermost, Microsoft Teams, Discord, and non-chat
examples plus a migration table.

* NMS-20113: Review fixes for the webhook notification strategy

Log only the scheme and host of the webhook URL. Slack, Discord and
Teams URLs carry their credential in the path or query, so the previous
error log wrote a secret to notifd.log on any connection failure.

Reject blank bodies and trailing content when validating a JSON payload.
ObjectMapper.readTree maps blank input to a MissingNode and stops at the
first value, so {"text": "x"} oops was passing the check the strategy
advertises and failing at the receiver instead.

Also warn on an unknown template modifier rather than emitting the token
verbatim, ignore a negative timeout, and document that substitution
applies to the body alone and that a header must be declared as an
argument for its system property to take effect.

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <[email protected]>

* NMS-20113: Fix three escaped tokens in the webhook documentation

AsciiDoc honors a backslash escape before a brace only when the braces
hold a valid attribute name, so ${...}, ${customBlocks|raw} and
${scv:...} kept their backslash and rendered as $\{...} on the page.
None of the three needs escaping, because none of them parses as an
attribute reference in the first place.

---------

Co-authored-by: Copilot Autofix powered by AI <[email protected]>


  Commit: 8b2bc3587b3b95b7560802c682b1b61be833af65
      https://github.com/OpenNMS/opennms/commit/8b2bc3587b3b95b7560802c682b1b61be833af65
  Author: CI/CD System <[email protected]>
  Date:   2026-08-07 (Fri, 07 Aug 2026)

  Changed paths:
    M opennms-container/core/plugins.sh

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/foundation-2024' into foundation-2025


  Commit: a480037d3ce4fbcd3a40563c80c0021b8f1c403e
      https://github.com/OpenNMS/opennms/commit/a480037d3ce4fbcd3a40563c80c0021b8f1c403e
  Author: Scott Theleman <[email protected]>
  Date:   2026-08-07 (Fri, 07 Aug 2026)

  Changed paths:
    M core/web-assets/src/main/assets/style/opennms-theme.scss
    M features/springframework-security/src/test/java/org/opennms/web/springframework/security/LoginModuleUtilsTest.java
    M opennms-services/src/test/resources/opennmsPageSequence.xml
    R opennms-web-api/src/main/java/org/opennms/web/svclayer/NodeListService.java
    R opennms-web-api/src/main/java/org/opennms/web/svclayer/model/NodeListCommand.java
    R opennms-web-api/src/main/java/org/opennms/web/svclayer/model/NodeListModel.java
    R opennms-web-api/src/main/java/org/opennms/web/svclayer/support/DefaultNodeListService.java
    M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/NodeRestService.java
    M opennms-webapp-rest/src/main/webapp/WEB-INF/menu/menu-template-alt.json
    M opennms-webapp-rest/src/main/webapp/WEB-INF/menu/menu-template-default.json
    M opennms-webapp-rest/src/main/webapp/WEB-INF/menu/menu-template-legacy.json
    M opennms-webapp-rest/src/main/webapp/WEB-INF/menu/menu-template.json
    M opennms-webapp-rest/src/test/java/org/opennms/web/rest/support/menu/MenuProviderTest.java
    M opennms-webapp-rest/src/test/resources/dispatcher-servlet.xml
    M opennms-webapp-rest/src/test/resources/menu/menu-template.json
    R opennms-webapp/src/main/java/org/opennms/web/controller/node/NodeListController.java
    M opennms-webapp/src/main/java/org/opennms/web/element/ElementIdNotFoundException.java
    M opennms-webapp/src/main/java/org/opennms/web/element/ElementUtil.java
    M opennms-webapp/src/main/resources/org/opennms/web/svclayer/applicationContext-svclayer.xml
    M opennms-webapp/src/main/webapp/WEB-INF/applicationContext-spring-security.xml
    R opennms-webapp/src/main/webapp/WEB-INF/jsp/element/nodeList.jsp
    R opennms-webapp/src/main/webapp/WEB-INF/tags/element/nodelist.tag
    R opennms-webapp/src/main/webapp/WEB-INF/tags/element/pagedList.tag
    M smoke-test/src/main/java/org/opennms/smoketest/selenium/AbstractOpenNMSSeleniumHelper.java
    M smoke-test/src/test/java/org/opennms/smoketest/AdminPasswordGateIT.java
    M smoke-test/src/test/java/org/opennms/smoketest/MenuHeaderIT.java
    R smoke-test/src/test/java/org/opennms/smoketest/NodeListPageIT.java
    M smoke-test/src/test/java/org/opennms/smoketest/ProvisioningNewUIIT.java
    M smoke-test/src/test/java/org/opennms/smoketest/ui/NodeListIT.java
    M ui/src/components/Nodes/hooks/useInterfaceListing.ts
    M ui/src/styles/opennms-styles.scss
    M ui/tests/components/Menu/menu-template-test.json
    M ui/tests/components/Menu/utils.test.ts

  Log Message:
  -----------
  NMS-18217: Remove legacy Node List page (#8761)

* NMS-18217: remove legacy JSP node list page and DefaultNodeListService

* NMS-18217: update smoke tests for legacy node list removal

* NMS-18217: fix remaining smoke tests and stale comments referencing removed node list

* NMS-18217: address PR review feedback

- Drop the dead nodePage() call in ProvisioningNewUIIT (immediately
  overwritten by direct node-detail navigation) and remove the now
  caller-less nodePage() helper
- Replace the last /element/nodeList.htm reference (stale example URL
  in LoginModuleUtilsTest) with a surviving page
- Fix pre-existing ElementIdNotFoundException bug: the 6-arg
  constructor accepted browseUri but never assigned it, so the
  'browse the node list' link on the element-id-not-found error page
  never rendered for those call sites

* NMS-18217: force light color-scheme for native checkboxes and radios on legacy pages

Extends the existing <select> fix: in dark mode PrimeVue sets
color-scheme: dark on the document, making native form controls render
dark on the light-only legacy JSP pages (e.g. the alarm list's Ack
checkboxes).


  Commit: 717c67f6f0857c1a474917d4ab7d9623d94f8787
      https://github.com/OpenNMS/opennms/commit/717c67f6f0857c1a474917d4ab7d9623d94f8787
  Author: Scott Theleman <[email protected]>
  Date:   2026-08-07 (Fri, 07 Aug 2026)

  Changed paths:
    M ui/package.json
    M ui/packages/onms-ui/src/components/OnmsTabs.vue
    M ui/pnpm-lock.yaml
    M ui/src/composables/useDownload.ts
    M ui/src/services/snmpDataCollectionService.ts
    A ui/tests/components/Device/dcbModalConfigDiffContent.test.ts
    M ui/tests/components/Nodes/EventsTable.test.ts
    M ui/tests/components/Nodes/IpInterfacesTable.test.ts
    M ui/tests/components/Nodes/OutagesTable.test.ts
    M ui/tests/components/Nodes/SnmpInterfacesTable.test.ts
    M ui/tests/components/TrapdConfiguration/GeneralConfiguration.test.ts
    M ui/tsconfig.json

  Log Message:
  -----------
  NMS-19725: Dependabot updates for Vue UI (August 2026) (#8763)

* NMS-19725: Update Vue UI dependencies from open Dependabot PRs (August 2026)

Dependency updates in /ui:
- axios 1.15.0 -> 1.19.0, ace-builds -> 1.44.0, fast-xml-parser -> 5.10.1
- fast-xml-builder -> 1.3.0 (transient, pnpm override)
- typescript ~5.4.5 -> ~5.9.3, vue-tsc 2.2.12 -> 3.3.9,
  @vitejs/plugin-vue 5.2.4 -> 6.0.8 (requires moduleResolution: bundler)
- diff 8 -> 9 (removed stale @types/diff; diff ships its own types)
- removed unused uuid + @types/uuid (last usage removed in NMS-18195)
- happy-dom 9.20.3 -> 20.11.2 plus transient overrides (shell-quote,
  immutable, svgo, brace-expansion, js-cookie, js-yaml, postcss) to
  remediate all osv-scanner findings with CVSS >= 4.0

Code adjustments for the updates:
- axios >= 1.19 header typings include null: assert content-type headers
  as string | undefined in useDownload.ts and snmpDataCollectionService.ts
- vue-tsc 3 strictness: non-null assertion on optional value prop passed
  to PrimeVue Tabs in OnmsTabs.vue

Test cleanup:
- GeneralConfiguration.test.ts: pass numbers (not strings) to numeric
  refs bound to OnmsInputNumber, silencing Vue prop type warnings
- Nodes table tests: mock store fetch actions BEFORE mounting so the
  onMounted fetch no longer fires real network requests (silences
  unhandled ECONNREFUSED AggregateErrors); simplified the OutagesTable
  double-mount workaround this enables

* NMS-19725: Address PR review feedback


  Commit: b7aab90f77a7edfbe9fefae2e8c9ef10339b9413
      https://github.com/OpenNMS/opennms/commit/b7aab90f77a7edfbe9fefae2e8c9ef10339b9413
  Author: Morteza E <[email protected]>
  Date:   2026-08-10 (Mon, 10 Aug 2026)

  Changed paths:

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/foundation-2025' into release-36.x


  Commit: 96c423c955b20f2a18243b0d793faeffe03fd5e4
      https://github.com/OpenNMS/opennms/commit/96c423c955b20f2a18243b0d793faeffe03fd5e4
  Author: mershad-manesh <[email protected]>
  Date:   2026-08-10 (Mon, 10 Aug 2026)

  Changed paths:
    M .circleci/epoch

  Log Message:
  -----------
  Update epoch


  Commit: deed6ca25be50d415538bf1e2e044346df9ac479
      https://github.com/OpenNMS/opennms/commit/deed6ca25be50d415538bf1e2e044346df9ac479
  Author: Scott Theleman <[email protected]>
  Date:   2026-08-10 (Mon, 10 Aug 2026)

  Changed paths:
    M opennms-webapp-rest/src/main/webapp/WEB-INF/menu/menu-template-default.json
    M opennms-webapp-rest/src/main/webapp/WEB-INF/menu/menu-template.json
    M smoke-test/src/test/java/org/opennms/smoketest/MenuHeaderIT.java

  Log Message:
  -----------
  NMS-20176: Reorder Resource Graphs menu items (#8764)

* NMS-20176: Reorder Resource Graphs menu items, JSP page first and Vue page as Preview

* NMS-20176: Update MenuHeaderIT checks for reordered Resource Graphs menu items


  Commit: 8daf4d0c9a499f38332bc24135b55690c5a9ba31
      https://github.com/OpenNMS/opennms/commit/8daf4d0c9a499f38332bc24135b55690c5a9ba31
  Author: Marshall Massengill <[email protected]>
  Date:   2026-08-10 (Mon, 10 Aug 2026)

  Changed paths:
    M docs/modules/operation/pages/deep-dive/notifications/strategies/scripting.adoc
    M docs/modules/operation/pages/deep-dive/notifications/strategies/webhook.adoc

  Log Message:
  -----------
  Docs: Fix argument element order in notification command examples (#8770)

* NMS-20113: Fix argument element order in notification command examples

The XML examples put <switch> before <substitution> inside <argument>,
but notificationCommands.xsd declares the sequence as substitution then
switch. Copying an example into notificationCommands.xml therefore fails
to unmarshal, and the failure is quiet: notifd keeps its previous
configuration and emits reloadDaemonConfigFailed, while a matching
notification still queues a task that never runs.

scripting.adoc carried the same inversion before the webhook page
existed, so it is corrected here as well.

* NMS-20113: Note that bsf_notif_strategy.log() does not work under BeanShell

The variables table offered bsf_notif_strategy.log(level, format, args...)
without qualification, but the method takes varargs and BeanShell 2.0b6
does not resolve such calls. Under BeanShell every form fails, including
the two-argument one, with "Method log( ... ) not found"; BeanShell raises
it at dispatch level so the script cannot catch it, and the notification
ends with a -1 return code. The same call succeeds under Groovy.

Verified against both shipped engines on a release-36.x build.


  Commit: 8acf0e58faf3200530bb4fa7d32264da0d8b283a
      https://github.com/OpenNMS/opennms/commit/8acf0e58faf3200530bb4fa7d32264da0d8b283a
  Author: Scott Theleman <[email protected]>
  Date:   2026-08-10 (Mon, 10 Aug 2026)

  Changed paths:
    M core/web-assets/.node-version
    M core/web-assets/package.json
    M core/web-assets/pnpm-lock.yaml
    M core/web-assets/src/main/assets/js/vendor/ipaddress-js.js
    M core/web-assets/src/test/javascript/ipaddress.test.js

  Log Message:
  -----------
  NMS-20181: Dependency updates for core/web-assets, August 2026 (#8767)

* Dependency updates for core/web-assets, August 2026

* NMS-20181: Revert TypeScript to ~5.9.3

TypeScript 6.0 buys nothing here: no script runs tsc (webpack transpiles
via babel), and @typescript-eslint 7.18.0 on this branch supports
<5.6.0 — a compiler major on release-36.x is risk without payoff. The
TS 6 bump belongs on develop together with @typescript-eslint 8.x.

169 jest tests pass after the revert.

* NMS-20181: Fix checkIpRange for IPv6; pin new leading-zero validation

checkIpRange's IPv6 branch called compareTo() on a native BigInt (jsbn
was dropped in ip-address 9), throwing TypeError and silently bypassing
the range validation in add-er.jsp/add-ir.jsp for IPv6. Compare with >=
like the IPv4 branch. Predates this PR.

Also pin ip-address 10.5.0's new rejection of leading-zero IPv4 octets
(ambiguous: octal to C parsers, decimal to Java) with explicit tests,
and cover inverted and mixed-family ranges.

* NMS-20181: Update .node-version to 22.22.2

Was 16.15.1 while engines requires >=22, tar@7 requires >=18, and the
Maven build pins v22.22.2 — aligns local nvm/fnm users with CI.

* NMS-20181: Remove dead phantomjs-prebuilt devDependency

Nothing uses it: tests are jest + jsdom, there is no karma, and no
reference exists in src/, pom.xml, or webpack.config.js. Removing it
drops [email protected] and its whole subtree (uuid@3, form-data@2,
har-validator, http-signature, sshpk, hoek, stringstream, ...) — 71
lockfile entries — and retires the unfixable 'request' CVE row.

Also prune the ten overrides that subtree was the last consumer of
(atob, cryptiles, deep-extend, form-data@>=2<3, fstream, growl, hoek,
sshpk, stringstream, uuid@<4). Verified the lockfile diff is pure
removal — no remaining package changed resolution. This also moots the
review finding that the uuid@<4 -> ^11.1.1 override left request
un-loadable (require('uuid/v4') hit ERR_PACKAGE_PATH_NOT_EXPORTED).

Build passes; 174 jest tests pass.

* NMS-20181: Override @tootallnate/once to 2.0.1

GHSA-vpq2-c234-7xj6 (CVSS 3.3, via jsdom's http-proxy-agent chain);
advisory postdates the original scan. Patch-level fix. 174 tests pass.


  Commit: 3ad55bddc49fc2b0514d888637202c81e0c645db
      https://github.com/OpenNMS/opennms/commit/3ad55bddc49fc2b0514d888637202c81e0c645db
  Author: Christian Pape <[email protected]>
  Date:   2026-08-11 (Tue, 11 Aug 2026)

  Changed paths:
    M container/shared/pom.xml
    M container/shared/src/main/internal/features-processing.xml
    M features/flows/itests/src/test/java/org/opennms/netmgt/flows/elastic/FlowQueryIT.java
    M features/minion/repository/src/assembly/repo.xml
    M features/sentinel/repository/src/assembly/repo.xml
    M pom.xml

  Log Message:
  -----------
  NMS-20132: Replaced jackson 2.21.3 with 2.21.5


  Commit: 8c8564911a9bdb88ad38102db893b4cc7bcab90b
      https://github.com/OpenNMS/opennms/commit/8c8564911a9bdb88ad38102db893b4cc7bcab90b
  Author: Morteza E <[email protected]>
  Date:   2026-08-11 (Tue, 11 Aug 2026)

  Changed paths:
    M container/shared/pom.xml
    M container/shared/src/main/internal/features-processing.xml
    M features/minion/repository/src/assembly/repo.xml
    M pom.xml

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/foundation-2024' into foundation-2025


  Commit: 1286570c83597a3d4d1b204f6fac5da3d717053f
      https://github.com/OpenNMS/opennms/commit/1286570c83597a3d4d1b204f6fac5da3d717053f
  Author: Scott Theleman <[email protected]>
  Date:   2026-08-11 (Tue, 11 Aug 2026)

  Changed paths:
    M ui/src/components/Menu/Menubar.vue
    M ui/src/components/Menu/Search.vue

  Log Message:
  -----------
  NMS-20201: Make top menubar more responsive at narrow window widths (#8771)


  Commit: 198260b76e6a0a7106f56512d59b46b8e2904282
      https://github.com/OpenNMS/opennms/commit/198260b76e6a0a7106f56512d59b46b8e2904282
  Author: mershad-manesh <[email protected]>
  Date:   2026-08-11 (Tue, 11 Aug 2026)

  Changed paths:
    M opennms-webapp-rest/src/main/webapp/WEB-INF/menu/menu-template-alt.json
    M opennms-webapp-rest/src/main/webapp/WEB-INF/menu/menu-template-default.json
    M opennms-webapp-rest/src/main/webapp/WEB-INF/menu/menu-template.json

  Log Message:
  -----------
  Update the URL to docs and remove API Documentation from Help menu (#8768)


  Commit: fdc2954587ab398734cb7cb7ea8e8a6fc496c14a
      https://github.com/OpenNMS/opennms/commit/fdc2954587ab398734cb7cb7ea8e8a6fc496c14a
  Author: CI/CD System <[email protected]>
  Date:   2026-08-11 (Tue, 11 Aug 2026)

  Changed paths:
    M container/shared/pom.xml
    M container/shared/src/main/internal/features-processing.xml
    M features/minion/repository/src/assembly/repo.xml
    M pom.xml

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/foundation-2025' into release-36.x


  Commit: 9a116b0801e09440005beb6807cb7d5bcb633713
      https://github.com/OpenNMS/opennms/commit/9a116b0801e09440005beb6807cb7d5bcb633713
  Author: Scott Theleman <[email protected]>
  Date:   2026-08-11 (Tue, 11 Aug 2026)

  Changed paths:
    M .circleci/main/jobs/build/build-ui.yml
    M .gitignore
    M ui/eslint.config.js
    M ui/package.json
    M ui/packages/onms-ui-example-plugin/README.md
    M ui/packages/onms-ui-example-plugin/package.json
    A ui/packages/onms-ui-example-plugin/scripts/verify-dist.mjs
    M ui/packages/onms-ui-example-plugin/src/main.ts
    M ui/packages/onms-ui-example-plugin/vite.config.ts
    M ui/packages/onms-ui/README.md
    M ui/pnpm-lock.yaml
    M ui/tests/onms-ui/OnmsTooltip.test.ts
    M ui/tests/onms-ui/exports.test.ts
    M ui/vite.config.menu.ts
    M ui/vite.config.ts

  Log Message:
  -----------
  NMS-20150: Fix plugin UI issues (#8772)

* NMS-20150: Fix plugin UI dev-harness and vite config review items

- Load .env.local (first-wins) in dotenv.config() so plugin dev-harness
  env vars work from .env.local as documented (both vite configs)
- Install the plugin dev middleware after Vite's internal middlewares so
  it sits behind the DNS-rebinding host check; match on req.originalUrl
  because Vite 6's SPA html fallback (which runs before post-hooks)
  rewrites req.url for Accept: */* requests
- Gate the exampleUiExtension middleware on VITE_EXAMPLE_PLUGIN to match
  its route registration in main.ts
- Use fileURLToPath instead of URL#pathname for aliases (pathname
  percent-encodes, breaking checkouts with spaces in the path)
- Give vite.config.menu.ts the same absolute ProductLogo alias fix that
  vite.config.ts already carries
- Add missing AGPL headers to files introduced by NMS-20054

* NMS-20150: Run example plugin as a contract test in CI; extend PrimeVue ban to plugin code

- Add check:example-plugin (typecheck + build of
  @opennms/onms-ui-example-plugin) and run it in the build-ui CI job, so
  the reference plugin fails the build on any @opennms/onms-ui API drift
- Ban ALL primevue imports in plugin sources via no-restricted-imports
  (plugins compile against the host's window globals, which do not
  include PrimeVue)
- State the ban's actual scope in the onms-ui README

* NMS-20150: Example plugin README fixes for external readers

- Note that @opennms/onms-ui is private/unpublished and the dependency
  pinning advice applies only once it is published; document the interim
  (build against the window.OnmsUI runtime contract)
- Correct the dev-harness URL to /#/example-plugin (hash history)
- Remove internal task numbering; point at the actual files wiring the
  dev harness
- Update the stale claim that no repo-root gate reaches this package
  (CI now runs pnpm check:example-plugin)

* NMS-20150: Replace vite-plugin-externals with rollup-plugin-external-globals

vite-plugin-externals last shipped in 2023 and pulled deprecated
transitive deps (sourcemap-codec 1.4, magic-string 0.25, es-module-lexer
0.4, fs-extra 10) into the lockfile — a poor recommendation for the
plugin-developer toolchain the example package documents.

rollup-plugin-external-globals (0.13.0, rollup 4 peer) does the same
import-to-window-global rewrite for ES-module output. Plain rollup
external + output.globals is NOT equivalent here: output.globals only
applies to umd/iife, and plugins must build ES modules for the host's
<script type=module> loader.

Verified in the dev harness: module loads, mounts, and renders against
window.OnmsUI with zero PrimeVue/Vue code bundled (6.3 kB output).

* fix comments

* NMS-20150: Load config env via loadEnv so gates match import.meta.env

The VITE_EXAMPLE_PLUGIN gate (and VITE_APP_LOGO_NAME /
VITE_SERVICENOW_PLUGIN_DIST) read process.env populated by dotenv from
only .env.local/.env, while app code reads import.meta.env which also
includes the mode files (.env.development[.local]). Putting the flag in
a mode file registered the route without the middleware, so the module
request fell through to the SPA fallback and returned index.html.

Switch both vite configs to defineConfig(({ mode }) => ...) with
loadEnv(mode, __dirname, ''), which reads exactly the file set Vite
gives app code; drop the dotenv dependency.

* NMS-20150: Assert the built plugin artifact honors the externals contract

vite build exits 0 even when rollup-plugin-external-globals silently
bails (its transform returns early on a this.parse() failure, or when no
globals key appears as a substring of the code). Since the ids stay
external either way, a bail leaves a bare import in the ES output that
only breaks at runtime in the host browser — the CI gate previously only
proved the build ran.

Add scripts/verify-dist.mjs to the example package: fails if any
externalized id survives as a real import, or if the window.Vue /
window.OnmsUI rewrites are missing. Chain it into check:example-plugin,
document it in the README, and give **/scripts/**/*.mjs Node globals in
the eslint config.

* NMS-20150: Document why the redundant rollupOptions.external is kept

externalGlobals >= 0.13 installs its own resolver that already marks
every id in its map as external, so the explicit list is belt-and-braces:
it states the contract in standard rollup vocabulary and keeps older
plugin versions externalizing correctly.

* NMS-20150: Use primevue/** so the plugin PrimeVue ban crosses path levels

no-restricted-imports patterns are gitignore-style globs where * stops
at /, so primevue/* let deep subpaths like primevue/a/b escape the ban.

* NMS-20150: Declare rollup devDependency in the example plugin package

rollup-plugin-external-globals declares a rollup peerDependency
(^2.25.0 || ^3.3.0 || ^4.1.4) that was only satisfied via the hoisted
transitive dep from vite. This package is a template for external
plugin developers, so declare it explicitly rather than relying on
hoisting/auto-installed peers, which yarn and strict setups don't do.

* NMS-20150: Gitignore ui/*.local Vite env overrides

Both vite configs document .env.local / .env.development.local as the
place for dev-harness flags and machine-local paths, but nothing ignored
them. .env and .env.development stay tracked.

* NMS-20150: Run unit tests before the example-plugin contract check in CI

Surfaces test failures without waiting on the extra plugin
typecheck+build; build:all already ran, so ordering costs nothing.


  Commit: 3af8ab34e1b046f87aaae3fa361a3badcc9f13cb
      https://github.com/OpenNMS/opennms/commit/3af8ab34e1b046f87aaae3fa361a3badcc9f13cb
  Author: CI/CD System <[email protected]>
  Date:   2026-08-11 (Tue, 11 Aug 2026)

  Changed paths:
    M container/shared/pom.xml
    M container/shared/src/main/internal/features-processing.xml
    M features/minion/repository/src/assembly/repo.xml
    M pom.xml

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/merge-foundation/foundation-2025-to-release-36.x' into release-36.x


  Commit: c580f0d16af06c38b7e843d1656418b127387eb9
      https://github.com/OpenNMS/opennms/commit/c580f0d16af06c38b7e843d1656418b127387eb9
  Author: Marshall Massengill <[email protected]>
  Date:   2026-08-11 (Tue, 11 Aug 2026)

  Changed paths:
    M opennms-assemblies/webapp-full/pom.xml
    A opennms-openapi-docs/README.adoc
    A opennms-openapi-docs/pom.xml
    A opennms-openapi-docs/src/main/java/org/opennms/openapi/OpenApiDocGenerator.java
    A opennms-openapi-docs/src/main/java/org/opennms/openapi/OpenApiDocWriter.java
    A opennms-openapi-docs/src/test/java/org/opennms/openapi/OpenApiDocsContentTest.java
    A opennms-openapi-docs/src/test/java/org/opennms/openapi/OpenApiResourceCoverageTest.java
    M opennms-webapp-rest/pom.xml
    A opennms-webapp-rest/src/main/java/org/opennms/web/rest/support/openapi/AbstractStaticOpenApiResource.java
    A opennms-webapp-rest/src/main/java/org/opennms/web/rest/support/openapi/AbstractSwaggerUiResource.java
    A opennms-webapp-rest/src/main/java/org/opennms/web/rest/v1/OpenApiResource.java
    A opennms-webapp-rest/src/main/java/org/opennms/web/rest/v1/SwaggerUiResource.java
    A opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/OpenApiResource.java
    A opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/SwaggerUiResource.java
    A opennms-webapp-rest/src/main/resources/openapi/swagger-ui.properties
    M opennms-webapp-rest/src/main/webapp/WEB-INF/applicationContext-cxf-rest-v1.xml
    M opennms-webapp-rest/src/main/webapp/WEB-INF/applicationContext-cxf-rest-v2.xml
    M opennms-webapp-rest/src/main/webapp/WEB-INF/menu/menu-template-alt.json
    M opennms-webapp-rest/src/main/webapp/WEB-INF/menu/menu-template-default.json
    M opennms-webapp-rest/src/main/webapp/WEB-INF/menu/menu-template.json
    A opennms-webapp-rest/src/test/java/org/opennms/web/rest/support/openapi/StaticOpenApiResourceTest.java
    A opennms-webapp-rest/src/test/java/org/opennms/web/rest/support/openapi/SwaggerUiResourceTest.java
    R opennms-webapp-rest/src/test/java/org/opennms/web/rest/v2/OpenApiIT.java
    A opennms-webapp-rest/src/test/resources/openapi/openapi-stub.json
    M opennms-webapp/src/main/webapp/includes/help-documentation.jsp
    M pom.xml
    M smoke-test/src/test/java/org/opennms/smoketest/MenuHeaderIT.java
    A smoke-test/src/test/java/org/opennms/smoketest/rest/OpenApiRestIT.java
    M ui/src/containers/OpenAPI.vue
    M ui/tests/containers/OpenAPI.test.ts
    A ui/tests/containers/OpenAPIFetch.test.ts

  Log Message:
  -----------
  NMS-20163: Generate the OpenAPI documents at build time (#8743)

* NMS-20163: Generate the OpenAPI documents at build time

Both CXF servlets registered OpenApiFeature, which ran swagger-jaxrs2's reader over
every deployed resource class on the first request to openapi.json. The new
opennms-openapi-docs module generates the v1 and v2 documents during the build and
commits them; OpenApiResource serves them from the classpath.

- The committed documents are canonically identical to what the runtime produced,
  checked against a pristine release-36.x instance: v1 is 199 paths and 152 schemas,
  v2 is 223 and 104. Raw text differs only in key ordering inside objects, because
  the generator sorts the resource classes for determinism where CXF used its scan
  order.
- OpenApiDocsUpToDateTest fails the build when a ReST change leaves the committed
  documents stale; refresh with -Dopenapi.regenerate=true. A module contributing
  classes to org.opennms.web.rest.v1 or .v2 has to be a test-scope dependency of
  opennms-openapi-docs, and OpenApiDocsContentTest guards the five that exist today.
- First request to openapi.json drops from ~1.3s to under 0.05s.
- Eight jars leave WEB-INF/lib: swagger-jaxrs2, swagger-integration, classgraph,
  jvm-driver, narcissus and the three cxf-rt-rs-service-description artifacts. One
  arrives, opennms-openapi-docs at 51 KB.
- Swagger UI keeps its api-docs paths, now served by a resource of our own rather
  than by the feature, and moves from 3.23.11 to 5.25.3. 3.23.11 merges the page's
  query string over its constructor options, so ?url= chose which document the
  browser fetched, which is GHSA-qrmm-w75w-3wpx and CVE-2018-25031, both fixed in
  4.1.3. That removes the ability to point one context's UI at another document;
  each context serves its own, so the help page link is unaffected. The webjar drops
  from 3.0 MB to 1.1 MB, and the favicons that used to 404 no longer do.

* NMS-20163: Move OpenApiDocGenerator to src/main/java

The generator is build tooling, not a test, so it does not belong in test
sources. Its dependencies move from test to provided scope: the generator
compiles against them and needs them to load the ReST resource classes,
while provided scope keeps them out of anything that consumes this
artifact, so the shipped jar still carries only the generated JSON.

* NMS-20163: Trim the openapi-docs README

Drop the 'Adding a ReST module' section; the pom comment and
OpenApiDocsContentTest already carry those facts. Note the build
prerequisite for regenerating.

* NMS-20163: Generate the OpenAPI documents at build time

Bind OpenApiDocWriter to process-classes and drop the committed documents,
so there is nothing to regenerate by hand, conflict on a forward merge, or
hold up a release.

* NMS-20163: Fail the build when a ReST module is missing from this pom

Walk the source tree for type-level @Path classes under org.opennms.web.rest.v1
and .v2 and check each one resolves on this module's classpath. A contributing
module that is not a dependency here still generates a valid document, just one
without its endpoints.

* NMS-20163: Check ReST coverage per module rather than per class

@Path is often inherited from an interface in org.opennms.web.rest.v2.api,
which reading the class declaration in source cannot see; six resources were
being skipped. Checking that each module contributing ReST sources resolves
on the classpath needs no annotation parsing and is what catches a missing
dependency.

Locate the repository root by walking up for a marker, so moving this module
does not silently break the scan. -Dopennms.repoRoot overrides it.

* NMS-20163: Refuse to generate the documents outside a forked JVM

Run by exec:java rather than exec:exec, the generator is loaded by a plugin
realm, part of the project classpath is shadowed, and one schema silently
loses its xml metadata while every test still passes. Check the class loader
and fail instead.

Also resolve the java executable per platform, drop the environment-specific
directory from the source scan in favour of skipping dot directories, allow a
module to be exempted from the coverage check, and raise the path-count floors
from 150 against actual counts of 199 and 223.

* NMS-20163: Fix the OpenAPI docs page layout, fonts and resize cost

The app shell overflows the viewport by 16px whatever this page does, and
that is enough for RapiDoc's scrollIntoView to drag the whole layout as the
content passes a section. Clip the page while the column fits and pin the
offset, since a clipped viewport still scrolls programmatically.

RapiDoc writes an inline width:100vw/height:100vh onto the panel holding it,
which put the V1 doc 214px past the clipped column and its scrollbar out of
reach; override the panel size.

render-style focused rather than read, which lays out only the selected
operation: a horizontal resize drops from ~2900ms to ~35ms with the nav
kept. load-fonts false stops RapiDoc fetching Open Sans from Google at
runtime, matching the stack the app already declares.

Move the in-flight fetch test to its own file: it needs vi.resetModules(),
after which happy-dom stops applying style writes for the rest of the file.

* NMS-20163: Call the OpenAPI page the same thing everywhere

The menu said 'REST Open API Documentation' and the breadcrumb 'Open API
Docs', so clicking through landed on a page that named itself something
else. Both are now 'OpenAPI Documentation', which is also the spelling the
OpenAPI Initiative uses. The parent menu is already 'API Documentation', so
the REST prefix was not what distinguished this item from its sibling.

* NMS-20163: Open the OpenAPI page on the first operation

Focused mode opens on the info section, which left most of the pane empty next
to the endpoint list. Turn it off so the first operation is what renders.

The generated documents also described themselves with a copy of their own
title. Give each one a description that says something.

* NMS-20163: Redirect api-docs to api-docs/

index.html is served at both spellings, but it names its assets and its
spec URL relative to itself, so from the slash-less one they all resolve
a directory too high and the page comes up broken. Every link we ship
carries the slash, so this is only reachable by typing the URL.

* NMS-20163: Keep the generator off the Windows command line limit

The forked generator was handed the whole project classpath inline after
-classpath, which on this project runs past the 32K that CreateProcess
accepts, so the build failed on Windows before the JVM started.
longClasspath moves the classpath into the manifest of a generated jar;
the documents come out byte-identical, and the fork check still holds
because the pathing jar is still loaded by the system class loader.

* NMS-20163: Cover the OpenAPI endpoints with a smoke test

The documents and the Swagger UI are read off the classpath, and the
resources serving them answer 404 rather than failing when they are
absent. Nothing short of a request against a running instance notices a
packaging slip, such as the documents jar dropping out of webapp-full.
This replaces the OpenApiIT that generation at build time made obsolete,
which ran in-process against a classpath that no longer carries the
documents.


  Commit: 0a2315f6816109d4b1e03557f749d68d6df25984
      https://github.com/OpenNMS/opennms/commit/0a2315f6816109d4b1e03557f749d68d6df25984
  Author: Morteza E <[email protected]>
  Date:   2026-08-11 (Tue, 11 Aug 2026)

  Changed paths:
    M debian/changelog
    M docs/modules/releasenotes/pages/changelog.adoc
    M opennms-assemblies/minion/src/main/filtered/debian/changelog
    M opennms-assemblies/sentinel/src/main/filtered/debian/changelog

  Log Message:
  -----------
  Release notes for 36.0.3


  Commit: d8cdc7ca785e413fd62dcd0d0a4612ecc0c4a5a8
      https://github.com/OpenNMS/opennms/commit/d8cdc7ca785e413fd62dcd0d0a4612ecc0c4a5a8
  Author: Morteza E <[email protected]>
  Date:   2026-08-11 (Tue, 11 Aug 2026)

  Changed paths:
    M .circleci/README.md
    M .circleci/config.yml
    M .circleci/epoch
    M .circleci/main/jobs/build/build-ui.yml
    M .circleci/main/jobs/tests/integration/integration-test.yml
    M .circleci/main/parameters.yml
    M .circleci/main/workflows/workflows_v2.json
    M .circleci/pyscripts/library/cci_components/workflow.py
    M .circleci/pyscripts/process_generate.py
    M .gitignore
    M .version.txt
    M container/branding/pom.xml
    M container/bridge/api/pom.xml
    M container/bridge/pom.xml
    M container/bridge/proxy/pom.xml
    M container/bridge/rest/pom.xml
    M container/extender/pom.xml
    M container/features/pom.xml
    M container/features/src/main/resources/features-core.xml
    M container/features/src/main/resources/features-experimental.xml
    M container/features/src/main/resources/features-sentinel.xml
    M container/features/src/main/resources/features.xml
    M container/features/src/main/resources/spring-legacy.xml
    M container/hawtio-osgi-patch/pom.xml
    M container/jaas-login-module/pom.xml
    M container/karaf/pom.xml
    M container/karaf/src/main/filtered-resources/etc/blacklisted.properties
    M container/karaf/src/main/filtered-resources/etc/custom.properties
    M container/karaf/src/main/filtered-resources/etc/startup.properties
    M container/karaf/src/main/internal/features-processing.xml
    M container/noop-jetty-extension/pom.xml
    M container/pom.xml
    M container/servlet/pom.xml
    M container/shared/pom.xml
    M container/shared/src/main/filtered-resources/etc/blacklisted.properties
    M container/shared/src/main/filtered-resources/etc/startup.properties
    M container/shared/src/main/internal/features-processing.xml
    M container/spring-extender/pom.xml
    M container/spring-extender/src/main/java/org/opennms/netmgt/shared/bootstrap/Activator.java
    A container/spring-extender/src/main/java/org/opennms/netmgt/shared/bootstrap/NamespaceProviderRegistry.java
    A container/spring-extender/src/main/java/org/opennms/netmgt/shared/bootstrap/OsgiCompatNamespaceHandler.java
    A container/spring-extender/src/main/java/org/opennms/netmgt/shared/bootstrap/OsgiServiceReferenceFactoryBean.java
    A container/spring-extender/src/main/java/org/opennms/netmgt/shared/bootstrap/SpringContextTracker.java
    A container/spring-extender/src/main/resources/META-INF/spring-osgi.xsd
    A container/spring-extender/src/test/java/org/opennms/netmgt/shared/bootstrap/OsgiServiceReferenceFactoryBeanTest.java
    A container/spring-extender/src/test/java/org/opennms/netmgt/shared/bootstrap/SpringContextTrackerTest.java
    M core/api/pom.xml
    M core/cache/pom.xml
    M core/camel/pom.xml
    M core/camel/src/main/java/org/opennms/core/camel/CustomHttpClientConfigurer.java
    M core/camel/src/main/java/org/opennms/core/camel/IndexNameFunction.java
    M core/camel/src/main/java/org/opennms/core/camel/XmlFrameDecoderFactory.java
    M core/camel/src/test/java/org/opennms/core/camel/JaxbUtilsUnmarshalProcessorTest.java
    M core/cli/pom.xml
    M core/commands/pom.xml
    M core/config/pom.xml
    M core/criteria/pom.xml
    M core/daemon/pom.xml
    M core/daemon/src/main/java/org/opennms/netmgt/vmmgr/Invoker.java
    M core/daemon/src/main/java/org/opennms/netmgt/vmmgr/Manager.java
    M core/daemon/src/main/java/org/opennms/netmgt/vmmgr/Starter.java
    A core/daemon/src/main/java/org/opennms/netmgt/vmmgr/StartupLifecycleHook.java
    M core/db-install/pom.xml
    M core/db/pom.xml
    M core/encrypt-util/pom.xml
    M core/fileutils/pom.xml
    M core/grpc/common/pom.xml
    M core/grpc/osgi/pom.xml
    M core/grpc/pom.xml
    M core/health/api/pom.xml
    M core/health/impl/pom.xml
    M core/health/pom.xml
    M core/health/rest-cxf/pom.xml
    M core/health/rest/pom.xml
    M core/health/shell/pom.xml
    M core/icmp-jna/pom.xml
    M core/ipc/common/kafka-shell/pom.xml
    M core/ipc/common/kafka/pom.xml
    M core/ipc/common/pom.xml
    M core/ipc/grpc/client/pom.xml
    M core/ipc/grpc/common/pom.xml
    M core/ipc/grpc/itests/pom.xml
    M core/ipc/grpc/pom.xml
    M core/ipc/grpc/server/pom.xml
    M core/ipc/osgi/pom.xml
    M core/ipc/pom.xml
    M core/ipc/rpc/api/pom.xml
    M core/ipc/rpc/api/src/main/java/org/opennms/core/rpc/api/RpcExceptionUtils.java
    M core/ipc/rpc/camel/pom.xml
    M core/ipc/rpc/camel/src/main/java/org/opennms/core/rpc/camel/CamelRpcClientFactory.java
    M core/ipc/rpc/camel/src/main/java/org/opennms/core/rpc/camel/CamelRpcServerProcessor.java
    M core/ipc/rpc/camel/src/main/java/org/opennms/core/rpc/camel/CamelRpcServerRouteManager.java
    M core/ipc/rpc/camel/src/test/java/org/opennms/core/rpc/camel/EchoRpcIT.java
    M core/ipc/rpc/camel/src/test/java/org/opennms/core/rpc/camel/LocalRpcTimeoutTest.java
    M core/ipc/rpc/common/pom.xml
    M core/ipc/rpc/jms-impl/pom.xml
    M core/ipc/rpc/jms-impl/src/main/resources/META-INF/opennms/applicationContext-rpc-client-jms.xml
    M core/ipc/rpc/jms-impl/src/main/resources/OSGI-INF/blueprint/blueprint-rpc-server.xml
    M core/ipc/rpc/jms-impl/src/test/java/org/opennms/core/rpc/jms/EchoRpcBlueprintIT.java
    M core/ipc/rpc/jms-impl/src/test/java/org/opennms/core/rpc/jms/EchoRpcIT.java
    M core/ipc/rpc/jms-impl/src/test/java/org/opennms/core/rpc/jms/EchoRpcThreadIT.java
    M core/ipc/rpc/kafka/pom.xml
    M core/ipc/rpc/mock-impl/pom.xml
    M core/ipc/rpc/pom.xml
    M core/ipc/rpc/shell-commands/pom.xml
    M core/ipc/rpc/utils/pom.xml
    M core/ipc/rpc/xml/pom.xml
    M core/ipc/sink/api/pom.xml
    M core/ipc/sink/camel/client/pom.xml
    M core/ipc/sink/camel/client/src/main/java/org/opennms/core/ipc/sink/camel/client/CamelRemoteMessageDispatcherFactory.java
    M core/ipc/sink/camel/client/src/main/resources/OSGI-INF/blueprint/blueprint-ipc-client.xml
    M core/ipc/sink/camel/common/pom.xml
    M core/ipc/sink/camel/itests/pom.xml
    M core/ipc/sink/camel/itests/src/test/java/org/opennms/core/ipc/sink/camel/itests/HeartbeatSinkBlueprintIT.java
    M core/ipc/sink/camel/itests/src/test/java/org/opennms/core/ipc/sink/camel/itests/HeartbeatSinkPerfIT.java
    M core/ipc/sink/camel/itests/src/test/java/org/opennms/core/ipc/sink/camel/itests/SinkBlueprintMessageFailureIT.java
    M core/ipc/sink/camel/pom.xml
    M core/ipc/sink/camel/server/pom.xml
    M core/ipc/sink/camel/server/src/main/java/org/opennms/core/ipc/sink/camel/server/CamelMessageConsumerManager.java
    M core/ipc/sink/camel/server/src/main/resources/META-INF/opennms/applicationContext-ipc-sink-camel-server.xml
    M core/ipc/sink/camel/server/src/main/resources/OSGI-INF/blueprint/blueprint-ipc-server.xml
    M core/ipc/sink/common/pom.xml
    M core/ipc/sink/kafka/client/pom.xml
    M core/ipc/sink/kafka/itests/pom.xml
    M core/ipc/sink/kafka/itests/src/test/java/org/opennms/core/ipc/sink/kafka/itests/KafkaDispatcherBlueprintIT.java
    M core/ipc/sink/kafka/pom.xml
    M core/ipc/sink/kafka/server/pom.xml
    M core/ipc/sink/mock-impl/pom.xml
    M core/ipc/sink/off-heap/pom.xml
    M core/ipc/sink/pom.xml
    M core/ipc/sink/xml/pom.xml
    M core/ipc/twin/api/pom.xml
    M core/ipc/twin/common/pom.xml
    M core/ipc/twin/grpc/common/pom.xml
    M core/ipc/twin/grpc/itests/pom.xml
    M core/ipc/twin/grpc/pom.xml
    M core/ipc/twin/grpc/publisher/pom.xml
    M core/ipc/twin/grpc/subscriber/pom.xml
    M core/ipc/twin/jms/itests/pom.xml
    M core/ipc/twin/jms/itests/src/test/java/org/opennms/core/ipc/twin/jms/JmsTwinIT.java
    M core/ipc/twin/jms/pom.xml
    M core/ipc/twin/jms/publisher/pom.xml
    M core/ipc/twin/jms/publisher/src/main/java/org/opennms/core/ipc/twin/jms/publisher/JmsTwinPublisher.java
    M core/ipc/twin/jms/publisher/src/main/resources/META-INF/opennms/applicationContext-twin-jms-publisher.xml
    M core/ipc/twin/jms/subscriber/pom.xml
    M core/ipc/twin/jms/subscriber/src/main/java/org/opennms/core/ipc/twin/jms/subscriber/JmsTwinSubscriber.java
    M core/ipc/twin/jms/subscriber/src/main/resources/OSGI-INF/blueprint/blueprint-twin-subscriber.xml
    M core/ipc/twin/kafka/common/pom.xml
    M core/ipc/twin/kafka/itests/pom.xml
    M core/ipc/twin/kafka/pom.xml
    M core/ipc/twin/kafka/publisher/pom.xml
    M core/ipc/twin/kafka/subscriber/pom.xml
    M core/ipc/twin/memory/pom.xml
    M core/ipc/twin/pom.xml
    M core/ipc/twin/shell/pom.xml
    M core/ipc/twin/test/pom.xml
    M core/jmx/api/pom.xml
    M core/jmx/impl/pom.xml
    M core/jmx/pom.xml
    M core/jstl-support/pom.xml
    M core/lib/pom.xml
    M core/lib/src/main/java/org/opennms/core/utils/ConfigFileConstants.java
    M core/logging-api/pom.xml
    M core/mate/api/pom.xml
    A core/mate/api/src/main/java/org/opennms/core/mate/api/LazyScope.java
    A core/mate/api/src/test/java/org/opennms/core/mate/api/LazyScopeTest.java
    M core/mate/model/pom.xml
    M core/mate/pom.xml
    M core/mate/shell-commands/pom.xml
    M core/password/pom.xml
    M core/pom.xml
    M core/profiler/pom.xml
    M core/runtime/pom.xml
    M core/schema/pom.xml
    A core/schema/src/main/liquibase/36.0.3/changelog.xml
    M core/schema/src/main/liquibase/changelog.xml
    M core/snmp/api/pom.xml
    M core/snmp/commands/pom.xml
    M core/snmp/impl-mock/pom.xml
    M core/snmp/impl-snmp4j/pom.xml
    M core/snmp/integration-tests/pom.xml
    M core/snmp/pom.xml
    M core/snmp/profile-mapper/pom.xml
    M core/snmp/proxy-rpc-impl/pom.xml
    M core/snmp/proxy-rpc-tests/pom.xml
    M core/snmp/proxy-rpc-tests/src/test/java/org/opennms/netmgt/snmp/proxy/common/LocationAwareSnmpClientIT.java
    M core/soa/pom.xml
    M core/spring-web/pom.xml
    M core/spring/pom.xml
    M core/sysprops/pom.xml
    M core/tasks/pom.xml
    M core/test-api/activemq/pom.xml
    M core/test-api/alarms/pom.xml
    M core/test-api/alarms/src/main/java/org/opennms/core/test/alarms/driver/AlarmdDriver.java
    M core/test-api/camel/pom.xml
    M core/test-api/collection/pom.xml
    M core/test-api/db/pom.xml
    M core/test-api/db/src/main/java/org/opennms/core/test/db/TemporaryDatabaseExecutionListener.java
    M core/test-api/db/src/main/resources/META-INF/opennms/applicationContext-testDao.xml
    M core/test-api/dns/pom.xml
    M core/test-api/elasticsearch/pom.xml
    M core/test-api/http/pom.xml
    M core/test-api/kafka/pom.xml
    M core/test-api/karaf/pom.xml
    M core/test-api/lib/pom.xml
    M core/test-api/lib/src/main/java/org/opennms/core/test/BeanUtilsTestContextInjectionExecutionListener.java
    M core/test-api/lib/src/main/java/org/opennms/test/OpenNMSConfigurationExecutionListener.java
    M core/test-api/pom.xml
    M core/test-api/rest/pom.xml
    M core/test-api/rest/src/main/java/org/opennms/core/test/rest/AbstractSpringJerseyRestTestCase.java
    M core/test-api/schema/a/pom.xml
    M core/test-api/schema/b/pom.xml
    M core/test-api/schema/pom.xml
    M core/test-api/services/pom.xml
    M core/test-api/snmp/pom.xml
    M core/test-api/ssh/pom.xml
    M core/test-api/xml/pom.xml
    M core/test-api/xml/src/main/java/org/opennms/core/test/xml/XmlTest.java
    M core/tracing/api/pom.xml
    M core/tracing/jaeger-osgi/pom.xml
    M core/tracing/jaeger-tracer/pom.xml
    M core/tracing/pom.xml
    M core/tracing/registry/pom.xml
    M core/upgrade/pom.xml
    M core/web-assets/.node-version
    M core/web-assets/package.json
    M core/web-assets/pnpm-lock.yaml
    M core/web-assets/pom.xml
    M core/web-assets/src/main/assets/js/vaadin/location-component_connector.js
    M core/web-assets/src/main/assets/js/vendor/ipaddress-js.js
    M core/web-assets/src/main/assets/js/vendor/leaflet-js.js
    M core/web-assets/src/main/assets/modules/lib/loader/index.ts
    R core/web-assets/src/main/assets/static/legacy/leaflet.markercluster/MIT-LICENCE.txt
    R core/web-assets/src/main/assets/static/legacy/leaflet.markercluster/dist/MarkerCluster.Default.css
    R core/web-assets/src/main/assets/static/legacy/leaflet.markercluster/dist/MarkerCluster.css
    R core/web-assets/src/main/assets/static/legacy/leaflet.markercluster/dist/leaflet.markercluster-src.js
    R core/web-assets/src/main/assets/static/legacy/leaflet.markercluster/dist/leaflet.markercluster.js
    R core/web-assets/src/main/assets/static/legacy/leaflet.markercluster/package.json
    R core/web-assets/src/main/assets/static/legacy/leaflet.markercluster/src/DistanceGrid.js
    R core/web-assets/src/main/assets/static/legacy/leaflet.markercluster/src/MarkerCluster.QuickHull.js
    R core/web-assets/src/main/assets/static/legacy/leaflet.markercluster/src/MarkerCluster.Spiderfier.js
    R core/web-assets/src/main/assets/static/legacy/leaflet.markercluster/src/MarkerCluster.js
    R core/web-assets/src/main/assets/static/legacy/leaflet.markercluster/src/MarkerClusterGroup.Refresh.js
    R core/web-assets/src/main/assets/static/legacy/leaflet.markercluster/src/MarkerClusterGroup.js
    R core/web-assets/src/main/assets/static/legacy/leaflet.markercluster/src/MarkerOpacity.js
    R core/web-assets/src/main/assets/static/legacy/leaflet.markercluster/src/copyright.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/LICENSE
    R core/web-assets/src/main/assets/static/legacy/leaflet/dist/images/layers-2x.png
    R core/web-assets/src/main/assets/static/legacy/leaflet/dist/images/layers.png
    R core/web-assets/src/main/assets/static/legacy/leaflet/dist/images/marker-icon-2x.png
    R core/web-assets/src/main/assets/static/legacy/leaflet/dist/images/marker-icon.png
    R core/web-assets/src/main/assets/static/legacy/leaflet/dist/images/marker-shadow.png
    R core/web-assets/src/main/assets/static/legacy/leaflet/dist/leaflet-src.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/dist/leaflet-src.map
    R core/web-assets/src/main/assets/static/legacy/leaflet/dist/leaflet.css
    R core/web-assets/src/main/assets/static/legacy/leaflet/dist/leaflet.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/package.json
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/Leaflet.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/control/Control.Attribution.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/control/Control.Layers.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/control/Control.Scale.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/control/Control.Zoom.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/control/Control.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/copyright.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/core/Browser.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/core/Class.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/core/Class.leafdoc
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/core/Events.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/core/Events.leafdoc
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/core/Handler.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/core/Util.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/dom/DomEvent.DoubleTap.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/dom/DomEvent.Pointer.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/dom/DomEvent.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/dom/DomUtil.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/dom/Draggable.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/dom/PosAnimation.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geo/LatLng.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geo/LatLngBounds.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geo/crs/CRS.EPSG3395.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geo/crs/CRS.EPSG3857.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geo/crs/CRS.EPSG4326.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geo/crs/CRS.Earth.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geo/crs/CRS.Simple.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geo/crs/CRS.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geo/projection/Projection.LonLat.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geo/projection/Projection.Mercator.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geo/projection/Projection.SphericalMercator.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geo/projection/Projection.leafdoc
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geometry/Bounds.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geometry/LineUtil.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geometry/Point.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geometry/PolyUtil.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/geometry/Transformation.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/images/layers.svg
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/images/logo.svg
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/images/marker.svg
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/DivOverlay.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/FeatureGroup.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/GeoJSON.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/ImageOverlay.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/Layer.Interactive.leafdoc
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/Layer.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/LayerGroup.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/Popup.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/Tooltip.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/marker/DivIcon.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/marker/Icon.Default.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/marker/Icon.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/marker/Marker.Drag.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/marker/Marker.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/tile/GridLayer.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/tile/TileLayer.WMS.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/tile/TileLayer.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/vector/Canvas.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/vector/Circle.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/vector/CircleMarker.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/vector/Path.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/vector/Polygon.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/vector/Polyline.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/vector/Rectangle.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/vector/Renderer.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/vector/SVG.VML.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/layer/vector/SVG.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/map/Map.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/map/Map.methodOptions.leafdoc
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/map/handler/Map.BoxZoom.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/map/handler/Map.DoubleClickZoom.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/map/handler/Map.Drag.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/map/handler/Map.Keyboard.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/map/handler/Map.ScrollWheelZoom.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/map/handler/Map.Tap.js
    R core/web-assets/src/main/assets/static/legacy/leaflet/src/map/handler/Map.TouchZoom.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/OpenLayers.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/blank.gif
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/cloud-popup-relative.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/drag-rectangle-off.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/drag-rectangle-on.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/east-mini.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/layer-switcher-maximize.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/layer-switcher-minimize.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/marker-blue.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/marker-gold.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/marker-green.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/marker.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/measuring-stick-off.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/measuring-stick-on.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/north-mini.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/panning-hand-off.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/panning-hand-on.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/slider.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/south-mini.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/west-mini.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/zoom-minus-mini.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/zoom-plus-mini.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/zoom-world-mini.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/img/zoombar.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/Firebug/errorIcon.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/Firebug/firebug.css
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/Firebug/firebug.html
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/Firebug/firebug.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/Firebug/firebugx.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/Firebug/infoIcon.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/Firebug/license.txt
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/Firebug/readme.txt
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/Firebug/warningIcon.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/Gears/gears_init.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Ajax.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/BaseTypes.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/BaseTypes/Bounds.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/BaseTypes/Class.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/BaseTypes/Element.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/BaseTypes/LonLat.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/BaseTypes/Pixel.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/BaseTypes/Size.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Console.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/ArgParser.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/Attribution.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/Button.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/DragFeature.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/DragPan.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/DrawFeature.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/EditingToolbar.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/GetFeature.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/Graticule.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/KeyboardDefaults.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/LayerSwitcher.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/Measure.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/ModifyFeature.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/MouseDefaults.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/MousePosition.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/MouseToolbar.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/NavToolbar.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/Navigation.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/NavigationHistory.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/OverviewMap.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/Pan.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/PanPanel.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/PanZoom.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/PanZoomBar.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/Panel.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/Permalink.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/SLDSelect.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/Scale.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/ScaleLine.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/SelectFeature.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/Snapping.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/Split.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/TransformFeature.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/WMSGetFeatureInfo.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/WMTSGetFeatureInfo.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/ZoomBox.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/ZoomIn.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/ZoomOut.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/ZoomPanel.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Control/ZoomToMaxExtent.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Events.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Feature.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Feature/Vector.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Feature/WFS.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Filter.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Filter/Comparison.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Filter/FeatureId.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Filter/Logical.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Filter/Spatial.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/ArcXML.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/ArcXML/Features.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/Atom.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/CSWGetDomain.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/CSWGetDomain/v2_0_2.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/CSWGetRecords.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/CSWGetRecords/v2_0_2.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/Context.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/Filter.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/Filter/v1.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/Filter/v1_0_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/Filter/v1_1_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/GML.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/GML/Base.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/GML/v2.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/GML/v3.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/GPX.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/GeoJSON.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/GeoRSS.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/JSON.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/KML.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/OSM.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/OWSCommon/v1.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/OWSCommon/v1_0_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/OWSCommon/v1_1_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/OWSContext.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/OWSContext/v0_3_1.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/SLD.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/SLD/v1.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/SLD/v1_0_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/SOSCapabilities.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/SOSCapabilities/v1_0_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/SOSGetFeatureOfInterest.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/SOSGetObservation.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/Text.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WFS.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WFSCapabilities.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WFSCapabilities/v1.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WFSCapabilities/v1_0_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WFSCapabilities/v1_1_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WFSDescribeFeatureType.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WFST.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WFST/v1.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WFST/v1_0_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WFST/v1_1_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WKT.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WMC.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WMC/v1.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WMC/v1_0_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WMC/v1_1_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WMSCapabilities.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WMSCapabilities/v1.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WMSCapabilities/v1_1.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WMSCapabilities/v1_1_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WMSCapabilities/v1_1_1.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WMSCapabilities/v1_3.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WMSCapabilities/v1_3_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WMSDescribeLayer.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WMSDescribeLayer/v1_1.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WMSGetFeatureInfo.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WMTSCapabilities.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/WMTSCapabilities/v1_0_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Format/XML.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Geometry.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Geometry/Collection.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Geometry/Curve.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Geometry/LineString.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Geometry/LinearRing.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Geometry/MultiLineString.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Geometry/MultiPoint.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Geometry/MultiPolygon.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Geometry/Point.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Geometry/Polygon.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Geometry/Rectangle.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Geometry/Surface.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Handler.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Handler/Box.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Handler/Click.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Handler/Drag.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Handler/Feature.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Handler/Hover.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Handler/Keyboard.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Handler/MouseWheel.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Handler/Path.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Handler/Point.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Handler/Polygon.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Handler/RegularPolygon.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Icon.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/ar.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/be-tarask.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/bg.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/br.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/ca.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/cs-CZ.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/da-DK.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/de.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/el.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/en-CA.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/en.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/es.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/fi.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/fr.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/fur.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/gl.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/gsw.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/hr.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/hsb.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/hu.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/ia.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/id.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/io.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/is.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/it.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/ja.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/km.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/ksh.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/nb.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/nds.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/nl.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/nn.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/oc.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/pt-BR.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/pt.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/ru.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/sk.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/sv-SE.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/te.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/vi.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/zh-CN.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Lang/zh-TW.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/ArcGIS93Rest.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/ArcIMS.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/Boxes.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/EventPane.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/FixedZoomLevels.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/GML.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/GeoRSS.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/Google.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/Google/v3.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/Grid.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/HTTPRequest.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/Image.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/KaMap.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/KaMapCache.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/MapGuide.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/MapServer.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/MapServer/Untiled.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/Markers.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/MultiMap.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/PointTrack.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/SphericalMercator.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/TMS.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/Text.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/TileCache.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/Vector.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/Vector/RootContainer.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/VirtualEarth.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/WFS.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/WMS.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/WMS/Post.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/WMS/Untiled.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/WMTS.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/WorldWind.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/XYZ.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/Yahoo.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Layer/Zoomify.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Map.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Marker.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Marker/Box.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Popup.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Popup/Anchored.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Popup/AnchoredBubble.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Popup/Framed.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Popup/FramedCloud.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Projection.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Protocol.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Protocol/HTTP.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Protocol/SOS.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Protocol/SOS/v1_0_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Protocol/SQL.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Protocol/SQL/Gears.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Protocol/WFS.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Protocol/WFS/v1.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Protocol/WFS/v1_0_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Protocol/WFS/v1_1_0.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Renderer.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Renderer/Canvas.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Renderer/Elements.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Renderer/SVG.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Renderer/VML.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Request.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Request/XMLHttpRequest.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Rule.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/SingleFile.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Strategy.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Strategy/BBOX.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Strategy/Cluster.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Strategy/Filter.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Strategy/Fixed.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Strategy/Paging.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Strategy/Refresh.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Strategy/Save.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Style.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Style2.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/StyleMap.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Symbolizer.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Symbolizer/Line.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Symbolizer/Point.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Symbolizer/Polygon.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Symbolizer/Raster.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Symbolizer/Text.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Tile.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Tile/Image.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Tile/Image/IFrame.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Tile/WFS.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Tween.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/OpenLayers/Util.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/Rico/Color.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/lib/Rico/Corner.js
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/license.txt
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/news.txt
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/readme.txt
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/release-license.txt
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/repository-license.txt
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/framedCloud.css
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/google.css
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/ie6-style.css
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/add_point_off.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/add_point_on.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/blank.gif
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/close.gif
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/drag-rectangle-off.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/drag-rectangle-on.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/draw_line_off.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/draw_line_on.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/draw_point_off.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/draw_point_on.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/draw_polygon_off.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/draw_polygon_on.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/editing_tool_bar.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/move_feature_off.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/move_feature_on.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/navigation_history.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/overview_replacement.gif
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/pan-panel-NOALPHA.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/pan-panel.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/pan_off.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/pan_on.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/panning-hand-off.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/panning-hand-on.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/remove_point_off.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/remove_point_on.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/ruler.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/save_features_off.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/save_features_on.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/view_next_off.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/view_next_on.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/view_previous_off.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/view_previous_on.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/zoom-panel-NOALPHA.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/img/zoom-panel.png
    R core/web-assets/src/main/assets/static/legacy/openlayers-2.10/theme/default/style.css
    M core/web-assets/src/main/assets/style/opennms-theme.scss
    M core/web-assets/src/main/assets/style/vaadin-theme.scss
    M core/web-assets/src/test/javascript/ipaddress.test.js
    M core/web/pom.xml
    M core/web/src/main/java/org/opennms/core/web/HttpClientWrapper.java
    M core/web/src/main/java/org/opennms/core/web/HttpClientWrapperConfigHelper.java
    A core/web/src/main/java/org/opennms/core/web/SslContextFactory.java
    A core/web/src/test/java/org/opennms/core/web/HttpClientWrapperTest.java
    A core/web/src/test/java/org/opennms/core/web/SslContextFactoryTest.java
    A core/web/src/test/resources/tls/client-truststore.p12
    A core/web/src/test/resources/tls/client.jks
    A core/web/src/test/resources/tls/client.p12
    M core/xml/pom.xml
    M debian/changelog
    M debian/rules
    R dependencies/activemq-web/pom.xml
    R dependencies/activemq-web/src/license/THIRD-PARTY.properties
    M dependencies/activemq/pom.xml
    A dependencies/angus-mail-shaded/pom.xml
    R dependencies/asterisk/pom.xml
    M dependencies/atomikos/pom.xml
    M dependencies/camel-test/pom.xml
    M dependencies/camel/pom.xml
    M dependencies/cassandra-test/pom.xml
    M dependencies/cxf/pom.xml
    M dependencies/dnsjava/pom.xml
    M dependencies/drools/pom.xml
    M dependencies/eclipse-npn-alpn/pom.xml
    M dependencies/felix/pom.xml
    M dependencies/groovy/pom.xml
    M dependencies/hibernate/pom.xml
    M dependencies/jackson1/pom.xml
    M dependencies/jackson2/pom.xml
    M dependencies/jasper/pom.xml
    M dependencies/jasypt/pom.xml
    R dependencies/javamail/pom.xml
    R dependencies/javamail/src/license/THIRD-PARTY.properties
    M dependencies/jaxb/pom.xml
    M dependencies/jcifs-shaded/pom.xml
    M dependencies/jcifs/pom.xml
    M dependencies/jinterop/pom.xml
    M dependencies/jmx/pom.xml
    M dependencies/jna/pom.xml
    M dependencies/jradius-extended/pom.xml
    M dependencies/jradius/pom.xml
    M dependencies/jrobin/pom.xml
    M dependencies/jrrd/pom.xml
    M dependencies/jrrd2/pom.xml
    M dependencies/jstl/pom.xml
    M dependencies/jung/pom.xml
    M dependencies/liquibase/pom.xml
    M dependencies/mina/pom.xml
    M dependencies/netty/pom.xml
    M dependencies/newts/pom.xml
    M dependencies/oia/pom.xml
    M dependencies/owasp/pom.xml
    M dependencies/pax-exam/pom.xml
    M dependencies/pom.xml
    M dependencies/quartz/pom.xml
    M dependencies/servlet/pom.xml
    R dependencies/smack/pom.xml
    M dependencies/snmp-test/pom.xml
    M dependencies/snmp/pom.xml
    M dependencies/snmp4j-agent/pom.xml
    M dependencies/snmp4j/pom.xml
    M dependencies/spring-security-core/pom.xml
    M dependencies/spring-security/pom.xml
    M dependencies/spring-test/pom.xml
    M dependencies/spring-web/pom.xml
    M dependencies/spring/pom.xml
    R dependencies/twitter4j/pom.xml
    M deploy/pom.xml
    M docs/antora.yml
    M docs/modules/operation/nav.adoc
    M docs/modules/operation/pages/deep-dive/admin/configuration/token-authentication.adoc
    A docs/modules/operation/pages/deep-dive/admin/high-availability.adoc
    M docs/modules/operation/pages/deep-dive/meta-data.adoc
    M docs/modules/operation/pages/deep-dive/notifications/bonus-strategies.adoc
    M docs/modules/operation/pages/deep-dive/notifications/commands.adoc
    M docs/modules/operation/pages/deep-dive/notifications/configuration.adoc
    M docs/modules/operation/pages/deep-dive/notifications/introduction.adoc
    R docs/modules/operation/pages/deep-dive/notifications/strategies/mattermost.adoc
    A docs/modules/operation/pages/deep-dive/notifications/strategies/scripting.adoc
    R docs/modules/operation/pages/deep-dive/notifications/strategies/slack.adoc
    A docs/modules/operation/pages/deep-dive/notifications/strategies/ticket.adoc
    A docs/modules/operation/pages/deep-dive/notifications/strategies/webhook.adoc
    M docs/modules/operation/pages/quick-start/beyond-qs.adoc
    M docs/modules/reference/pages/configuration/system-properties.adoc
    M docs/modules/reference/pages/daemons/daemon-config-files/notifd.adoc
    M docs/modules/reference/pages/daemons/introduction.adoc
    M docs/modules/reference/pages/karaf-shell/karaf-shell.adoc
    M docs/modules/reference/pages/service-assurance/monitors/MailTransportMonitor.adoc
    M docs/modules/releasenotes/pages/changelog.adoc
    M docs/modules/releasenotes/pages/whatsnew.adoc
    M features/activemq/broker-api/pom.xml
    M features/activemq/broker/pom.xml
    M features/activemq/component/pom.xml
    M features/activemq/pom.xml
    M features/activemq/pool/pom.xml
    M features/activemq/shell/pom.xml
    M features/alarms/history/api/pom.xml
    M features/alarms/history/elastic/pom.xml
    M features/alarms/history/pom.xml
    M features/alarms/history/rest/api/pom.xml
    M features/alarms/history/rest/impl/pom.xml
    M features/alarms/history/rest/pom.xml
    M features/alarms/pom.xml
    M features/amqp/alarm-northbounder/pom.xml
    M features/amqp/alarm-northbounder/src/main/resources/OSGI-INF/blueprint/blueprint-alarm-northbounder.xml
    M features/amqp/common/pom.xml
    M features/amqp/event-forwarder/pom.xml
    M features/amqp/event-forwarder/src/main/resources/OSGI-INF/blueprint/blueprint-event-forwarder.xml
    M features/amqp/event-receiver/pom.xml
    M features/amqp/event-receiver/src/main/resources/OSGI-INF/blueprint/blueprint-event-receiver.xml
    M features/amqp/pom.xml
    M features/api-layer/common/pom.xml
    M features/api-layer/core/pom.xml
    M features/api-layer/dao-common/pom.xml
    M features/api-layer/minion/pom.xml
    M features/api-layer/pom.xml
    M features/api-layer/sentinel/pom.xml
    M features/bsm/daemon/pom.xml
    M features/bsm/daemon/src/test/java/org/opennms/netmgt/bsm/daemon/BsmdIT.java
    M features/bsm/persistence/api/pom.xml
    M features/bsm/persistence/api/src/main/java/org/opennms/netmgt/bsm/persistence/api/ApplicationEdgeEntity.java
    M features/bsm/persistence/api/src/main/java/org/opennms/netmgt/bsm/persistence/api/BusinessServiceChildEdgeEntity.java
    M features/bsm/persistence/api/src/main/java/org/opennms/netmgt/bsm/persistence/api/BusinessServiceEdgeEntity.java
    M features/bsm/persistence/api/src/main/java/org/opennms/netmgt/bsm/persistence/api/BusinessServiceEntity.java
    M features/bsm/persistence/api/src/main/java/org/opennms/netmgt/bsm/persistence/api/IPServiceEdgeEntity.java
    M features/bsm/persistence/api/src/main/java/org/opennms/netmgt/bsm/persistence/api/SingleReductionKeyEdgeEntity.java
    M features/bsm/persistence/api/src/main/java/org/opennms/netmgt/bsm/persistence/api/functions/map/AbstractMapFunctionEntity.java
    M features/bsm/persistence/api/src/main/java/org/opennms/netmgt/bsm/persistence/api/functions/reduce/AbstractReductionFunctionEntity.java
    M features/bsm/persistence/impl/pom.xml
    M features/bsm/persistence/impl/src/main/java/org/opennms/netmgt/bsm/persistence/impl/BusinessServiceDaoImpl.java
    M features/bsm/persistence/impl/src/test/java/org/opennms/netmgt/bsm/persistence/IPServiceEdgeDaoIT.java
    M features/bsm/persistence/pom.xml
    M features/bsm/pom.xml
    M features/bsm/rest/api/pom.xml
    M features/bsm/rest/impl/pom.xml
    M features/bsm/rest/pom.xml
    M features/bsm/service/api/pom.xml
    M features/bsm/service/impl/pom.xml
    M features/bsm/service/impl/src/main/java/org/opennms/netmgt/bsm/service/internal/BusinessServiceManagerImpl.java
    M features/bsm/service/pom.xml
    M features/bsm/shell-commands/pom.xml
    M features/bsm/test-util/pom.xml
    M features/bsm/vaadin-adminpage/pom.xml
    M features/charts/pom.xml
    M features/collection/api/pom.xml
    M features/collection/client-rpc/pom.xml
    M features/collection/client-rpc/src/main/resources/META-INF/opennms/applicationContext-rpc-collector.xml
    A features/collection/client-rpc/src/test/java/org/opennms/netmgt/collection/client/rpc/CollectorExecutorLifecycleTest.java
    M features/collection/collectors/pom.xml
    M features/collection/collectors/src/main/java/org/opennms/netmgt/collectd/HttpCollector.java
    A features/collection/collectors/src/test/java/org/opennms/netmgt/collectd/HttpCollectorMutualTlsIT.java
    A features/collection/collectors/src/test/resources/tls/client-truststore.p12
    A features/collection/collectors/src/test/resources/tls/client.p12
    A features/collection/collectors/src/test/resources/tls/server-truststore.p12
    A features/collection/collectors/src/test/resources/tls/server.p12
    M features/collection/core/pom.xml
    M features/collection/persistence-osgi/pom.xml
    M features/collection/persistence-rrd/pom.xml
    M features/collection/persistence-tcp/pom.xml
    M features/collection/pom.xml
    M features/collection/shell-commands/pom.xml
    M features/collection/snmp-collector/pom.xml
    M features/collection/test-api/pom.xml
    M features/collection/thresholding/api/pom.xml
    M features/collection/thresholding/impl/pom.xml
    M features/collection/thresholding/impl/src/main/java/org/opennms/netmgt/threshd/ThresholdEntity.java
    M features/collection/thresholding/impl/src/main/java/org/opennms/netmgt/threshd/ThresholdingSetImpl.java
    M features/collection/thresholding/impl/src/main/java/org/opennms/netmgt/threshd/ThresholdingVisitorImpl.java
    M features/collection/thresholding/itests/pom.xml
    M features/collection/thresholding/pom.xml
    M features/collection/thresholding/thresholding-shell/pom.xml
    M features/config/dao/api/pom.xml
    M features/config/dao/impl/pom.xml
    M features/config/dao/pom.xml
    M features/config/mock/pom.xml
    M features/config/osgi/cm/pom.xml
    M features/config/osgi/del/pom.xml
    M features/config/osgi/pom.xml
    M features/config/pom.xml
    M features/config/rest/api/pom.xml
    M features/config/rest/impl/pom.xml
    M features/config/rest/pom.xml
    M features/config/service/api/pom.xml
    M features/config/service/impl/pom.xml
    M features/config/service/pom.xml
    M features/config/test/pom.xml
    M features/config/test/src/test/java/org/opennms/features/config/service/config/FakeXsdForTest.java
    M features/config/test/src/test/java/org/opennms/features/config/service/util/BeanFieldCopyUtilTest.java
    M features/config/upgrade/pom.xml
    A features/config/upgrade/src/main/java/org/opennms/config/upgrade/TrapdSnmpv3UserIdBackfill.java
    M features/config/upgrade/src/main/java/org/opennms/config/upgrade/UpgradeConfigService.java
    M features/config/upgrade/src/main/resources/changelog-cm/36.0.0/changelog-cm.xml
    A features/config/upgrade/src/test/java/liquibase/ext2/cm/change/TrapdSchemaHashTest.java
    A features/config/upgrade/src/test/java/org/opennms/config/upgrade/TrapdSnmpv3UserIdBackfillIT.java
    R features/config/util/pom.xml
    R features/config/util/src/license/THIRD-PARTY.properties
    R features/config/util/src/main/java/org/opennms/features/config/util/json/YesNoDeserializer.java
    R features/config/util/src/test/java/org/opennms/features/config/util/YesNoDeserializerTest.java
    M features/container/minion/pom.xml
    M features/container/pom.xml
    M features/container/sentinel/pom.xml
    M features/container/sentinel/src/main/internal/features-processing.xml
    M features/datachoices/pom.xml
    M features/device-config/api/pom.xml
    M features/device-config/monitor-adaptor/pom.xml
    M features/device-config/monitor-adaptor/src/main/java/org/opennms/features/deviceconfig/monitor/adaptor/DeviceConfigMonitorAdaptor.java
    M features/device-config/monitor-adaptor/src/test/java/org/opennms/features/deviceconfig/monitor/adaptor/DeviceConfigMonitorAdaptorIT.java
    M features/device-config/monitor-adaptor/src/test/java/org/opennms/features/deviceconfig/monitor/adaptor/DeviceConfigMonitorAdaptorTest.java
    M features/device-config/monitor/pom.xml
    M features/device-config/persistence/api/pom.xml
    M features/device-config/persistence/api/src/main/java/org/opennms/features/deviceconfig/persistence/api/DeviceConfig.java
    M features/device-config/persistence/impl/pom.xml
    M features/device-config/persistence/impl/src/main/java/org/opennms/features/deviceconfig/persistence/impl/DeviceConfigDaoImpl.java
    M features/device-config/persistence/impl/src/test/java/org/opennms/features/deviceconfig/persistence/DeviceConfigDaoIT.java
    M features/device-config/persistence/pom.xml
    M features/device-config/pom.xml
    M features/device-config/rest/pom.xml
    M features/device-config/retrieval/pom.xml
    M features/device-config/service/pom.xml
    M features/device-config/shell/pom.xml
    M features/device-config/sink/consumer/pom.xml
    M features/device-config/sink/consumer/src/main/java/org/opennms/features/deviceconfig/sink/consumer/DeviceConfigConsumer.java
    M features/device-config/sink/consumer/src/main/resources/OSGI-INF/blueprint/blueprint.xml
    M features/device-config/sink/dispatcher/pom.xml
    M features/device-config/sink/module/pom.xml
    M features/device-config/sink/pom.xml
    M features/device-config/ssh-scripting/pom.xml
    M features/device-config/tftp/pom.xml
    M features/dhcpd/pom.xml
    M features/discovery/pom.xml
    M features/distributed/collection/pom.xml
    M features/distributed/coordination/api/pom.xml
    M features/distributed/coordination/common/pom.xml
    M features/distributed/coordination/pom.xml
    M features/distributed/coordination/shell/pom.xml
    M features/distributed/coordination/zookeeper/pom.xml
    M features/distributed/core/api/pom.xml
    M features/distributed/core/impl/pom.xml
    M features/distributed/core/jms/pom.xml
    M features/distributed/core/pom.xml
    M features/distributed/core/shell/pom.xml
    M features/distributed/dao/api/pom.xml
    M features/distributed/dao/distributed/pom.xml
    M features/distributed/dao/distributed/src/test/java/org/opennms/netmgt/dao/BlueprintDistPollerDaoDistributedIT.java
    M features/distributed/dao/healthcheck/pom.xml
    M features/distributed/dao/impl/pom.xml
    M features/distributed/dao/pom.xml
    M features/distributed/dao/shell/pom.xml
    M features/distributed/dao/test/pom.xml
    M features/distributed/datasource/pom.xml
    M features/distributed/distributed-cassandra/cassandra-api/pom.xml
    M features/distributed/distributed-cassandra/newts-impl/pom.xml
    M features/distributed/distributed-cassandra/pom.xml
    M features/distributed/kv-store/api/pom.xml
    M features/distributed/kv-store/blob/blob-itests/pom.xml
    M features/distributed/kv-store/blob/blob-shell/pom.xml
    M features/distributed/kv-store/blob/cassandra/pom.xml
    M features/distributed/kv-store/blob/in-memory/pom.xml
    M features/distributed/kv-store/blob/no-op/pom.xml
    M features/distributed/kv-store/blob/pom.xml
    M features/distributed/kv-store/blob/postgres-impl/pom.xml
    M features/distributed/kv-store/json/json-shell/pom.xml
    M features/distributed/kv-store/json/noop/pom.xml
    M features/distributed/kv-store/json/pom.xml
    M features/distributed/kv-store/json/postgres/pom.xml
    M features/distributed/kv-store/pom.xml
    M features/distributed/kv-store/postgres-shared/pom.xml
    M features/distributed/opennms-identity/pom.xml
    M features/distributed/pom.xml
    M features/distributed/service-registry/pom.xml
    M features/dnsresolver/api/pom.xml
    M features/dnsresolver/netty/pom.xml
    M features/dnsresolver/pom.xml
    M features/dnsresolver/shell/pom.xml
    M features/eif-adapter/pom.xml
    M features/eif-adapter/src/main/java/org/opennms/features/eifadapter/EifMessageDecoder.java
    M features/eif-adapter/src/main/resources/OSGI-INF/blueprint/blueprint-eif-adapter.xml
    M features/eif-adapter/src/test/java/org/opennms/features/eifadapter/EifAdapterBlueprintTest.java
    M features/elastic/client/pom.xml
    M features/elastic/pom.xml
    M features/endpoints/grafana/api/pom.xml
    M features/endpoints/grafana/api/src/main/java/org/opennms/netmgt/endpoints/grafana/api/GrafanaEndpoint.java
    M features/endpoints/grafana/client/pom.xml
    M features/endpoints/grafana/persistence/api/pom.xml
    M features/endpoints/grafana/persistence/impl/pom.xml
    M features/endpoints/grafana/persistence/impl/src/main/java/org/opennms/netmgt/endpoints/grafana/persistence/impl/GrafanaEndpointDaoImpl.java
    M features/endpoints/grafana/persistence/pom.xml
    M features/endpoints/grafana/pom.xml
    M features/endpoints/grafana/rest/pom.xml
    M features/endpoints/grafana/service/pom.xml
    M features/endpoints/pom.xml
    M features/enlinkd/adapters/collectors/bridge/pom.xml
    M features/enlinkd/adapters/collectors/cdp/pom.xml
    M features/enlinkd/adapters/collectors/ipnettomedia/pom.xml
    M features/enlinkd/adapters/collectors/isis/pom.xml
    M features/enlinkd/adapters/collectors/lldp/pom.xml
    M features/enlinkd/adapters/collectors/ospf/pom.xml
    M features/enlinkd/adapters/collectors/pom.xml
    M features/enlinkd/adapters/common/pom.xml
    M features/enlinkd/adapters/discovers/bridge/pom.xml
    M features/enlinkd/adapters/discovers/pom.xml
    M features/enlinkd/adapters/pom.xml
    M features/enlinkd/adapters/updaters/bridge/pom.xml
    M features/enlinkd/adapters/updaters/cdp/pom.xml
    M features/enlinkd/adapters/updaters/isis/pom.xml
    M features/enlinkd/adapters/updaters/lldp/pom.xml
    M features/enlinkd/adapters/updaters/nodes/pom.xml
    M features/enlinkd/adapters/updaters/ospf/pom.xml
    M features/enlinkd/adapters/updaters/pom.xml
    M features/enlinkd/api/pom.xml
    M features/enlinkd/config/pom.xml
    M features/enlinkd/daemon/pom.xml
    M features/enlinkd/generator/pom.xml
    M features/enlinkd/persistence/api/pom.xml
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/BridgeBridgeLink.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/BridgeDot1dBaseTypeUserType.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/BridgeDot1dStpPortEnableUserType.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/BridgeDot1dStpPortStateUserType.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/BridgeDot1dStpProtocolSpecificationUserType.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/BridgeElement.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/BridgeMacLink.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/BridgeMacLinkTypeUserType.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/BridgeStpLink.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/CdpElement.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/CdpGlobalDeviceIdFormatUserType.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/CdpLink.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/CiscoNetworkProtocolTypeUserType.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/ImportAsExternUserType.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/IpNetToMedia.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/IsIsAdminStateUserType.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/IsIsElement.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/IsIsISAdjNeighSysTypeUserType.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/IsIsISAdjStateUserType.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/IsIsLink.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/LldpChassisIdSubTypeUserType.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/LldpElement.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/LldpLink.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/LldpPortIdSubTypeUserType.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/OspfArea.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/OspfElement.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/OspfLink.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/StatusUserType.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/TruthValueUserType.java
    M features/enlinkd/persistence/api/src/main/java/org/opennms/netmgt/enlinkd/model/UserDefinedLink.java
    M features/enlinkd/persistence/impl/pom.xml
    M features/enlinkd/persistence/impl/src/main/java/org/opennms/netmgt/enlinkd/persistence/impl/BridgeBridgeLinkDaoHibernate.java
    M features/enlinkd/persistence/impl/src/main/java/org/opennms/netmgt/enlinkd/persistence/impl/BridgeElementDaoHibernate.java
    M features/enlinkd/persistence/impl/src/main/java/org/opennms/netmgt/enlinkd/persistence/impl/BridgeMacLinkDaoHibernate.java
    M features/enlinkd/persistence/impl/src/main/java/org/opennms/netmgt/enlinkd/persistence/impl/BridgeStpLinkDaoHibernate.java
    M features/enlinkd/persistence/impl/src/main/java/org/opennms/netmgt/enlinkd/persistence/impl/CdpElementDaoHibernate.java
    M features/enlinkd/persistence/impl/src/main/java/org/opennms/netmgt/enlinkd/persistence/impl/CdpLinkDaoHibernate.java
    M features/enlinkd/persistence/impl/src/main/java/org/opennms/netmgt/enlinkd/persistence/impl/IpNetToMediaDaoHibernate.java
    M features/enlinkd/persistence/impl/src/main/java/org/opennms/netmgt/enlinkd/persistence/impl/IsIsElementDaoHibernate.java
    M features/enlinkd/persistence/impl/src/main/java/org/opennms/netmgt/enlinkd/persistence/impl/IsIsLinkDaoHibernate.java
    M features/enlinkd/persistence/impl/src/main/java/org/opennms/netmgt/enlinkd/persistence/impl/LldpElementDaoHibernate.java
    M features/enlinkd/persistence/impl/src/main/java/org/opennms/netmgt/enlinkd/persistence/impl/LldpLinkDaoHibernate.java
    M features/enlinkd/persistence/impl/src/main/java/org/opennms/netmgt/enlinkd/persistence/impl/OspfAreaDaoHibernate.java
    M features/enlinkd/persistence/impl/src/main/java/org/opennms/netmgt/enlinkd/persistence/impl/OspfElementDaoHibernate.java
    M features/enlinkd/persistence/impl/src/main/java/org/opennms/netmgt/enlinkd/persistence/impl/OspfLinkDaoHibernate.java
    M features/enlinkd/persistence/impl/src/main/java/org/opennms/netmgt/enlinkd/persistence/impl/TopologyEntityDaoHibernate.java
    M features/enlinkd/persistence/impl/src/main/java/org/opennms/netmgt/enlinkd/persistence/impl/UserDefinedLinkDaoHibernate.java
    M features/enlinkd/persistence/pom.xml
    M features/enlinkd/pom.xml
    M features/enlinkd/service/api/pom.xml
    M features/enlinkd/service/impl/pom.xml
    M features/enlinkd/service/impl/src/main/java/org/opennms/netmgt/enlinkd/service/impl/BridgeTopologyServiceImpl.java
    M features/enlinkd/service/impl/src/main/java/org/opennms/netmgt/enlinkd/service/impl/CdpTopologyServiceImpl.java
    M features/enlinkd/service/impl/src/main/java/org/opennms/netmgt/enlinkd/service/impl/IpNetToMediaTopologyServiceImpl.java
    M features/enlinkd/service/impl/src/main/java/org/opennms/netmgt/enlinkd/service/impl/IsisTopologyServiceImpl.java
    M features/enlinkd/service/impl/src/main/java/org/opennms/netmgt/enlinkd/service/impl/LldpTopologyServiceImpl.java
    M features/enlinkd/service/impl/src/main/java/org/opennms/netmgt/enlinkd/service/impl/OspfTopologyServiceImpl.java
    M features/enlinkd/service/impl/src/main/java/org/opennms/netmgt/enlinkd/service/impl/UserDefinedLinkTopologyServiceImpl.java
    M features/enlinkd/service/pom.xml
    M features/enlinkd/shell/pom.xml
    M features/enlinkd/tests/pom.xml
    M features/enlinkd/tests/src/test/java/org/opennms/netmgt/enlinkd/EnLinkdBuilderITCase.java
    M features/enlinkd/tests/src/test/java/org/opennms/netmgt/enlinkd/EnLinkdIT.java
    M features/enlinkd/tests/src/test/java/org/opennms/netmgt/enlinkd/Nms0000EnIT.java
    M features/enlinkd/tests/src/test/java/org/opennms/netmgt/enlinkd/Nms0001EnIT.java
    M features/enlinkd/tests/src/test/java/org/opennms/netmgt/enlinkd/Nms0002EnIT.java
    M features/enlinkd/tests/src/test/java/org/opennms/netmgt/enlinkd/Nms0123EnIT.java
    M features/enlinkd/tests/src/test/java/org/opennms/netmgt/enlinkd/Nms10205bEnIT.java
    M features/enlinkd/tests/src/test/java/org/opennms/netmgt/enlinkd/Nms13593EnIT.java
    M features/enlinkd/tests/src/test/java/org/opennms/netmgt/enlinkd/Nms13637EnIT.java
    M features/enlinkd/tests/src/test/java/org/opennms/netmgt/enlinkd/Nms13923EnIT.java
    M features/enlinkd/tests/src/test/java/org/opennms/netmgt/enlinkd/Nms17216EnIT.java
    M features/enlinkd/tests/src/test/java/org/opennms/netmgt/enlinkd/Nms18541EnIT.java
    M features/enlinkd/tests/src/test/java/org/opennms/netmgt/enlinkd/Nms4930EnIT.java
    M features/enlinkd/tests/src/test/java/org/opennms/netmgt/enlinkd/Nms6802EnIT.java
    M features/enlinkd/tests/src/test/java/org/opennms/netmgt/enlinkd/Nms7467EnIT.java
    M features/enlinkd/tests/src/test/java/org/opennms/netmgt/enlinkd/Nms7563EnIT.java
    M features/enlinkd/tests/src/test/java/org/opennms/netmgt/enlinkd/Nms7777DWEnIT.java
    M features/enlinkd/tests/src/test/java/org/opennms/netmgt/enlinkd/Nms7918EnIT.java
    M features/enlinkd/tests/src/test/java/org/opennms/netmgt/enlinkd/Nms8000EnIT.java
    M features/enlinkd/tests/src/test/java/org/opennms/netmgt/enlinkd/NodeTopologyServiceIT.java
    M features/enlinkd/tests/src/test/resources/META-INF/opennms/applicationContext-enhancedLinkdTest.xml
    M features/events/api/pom.xml
    M features/events/collector/pom.xml
    M features/events/daemon/pom.xml
    M features/events/daemon/src/test/java/org/opennms/netmgt/eventd/EventdIT.java
    M features/events/daemon/src/test/java/org/opennms/netmgt/eventd/nms16978/EventUtilHibernateIT.java
    M features/events/daemon/src/test/java/org/opennms/netmgt/eventd/nms16978/EventdIT.java
    M features/events/daemon/src/test/java/org/opennms/netmgt/eventd/nms16978/HibernateEventWriterIT.java
    M features/events/pom.xml
    M features/events/shell-commands/pom.xml
    M features/events/sink/dispatcher/pom.xml
    M features/events/sink/pom.xml
    M features/events/sink/shell-commands/pom.xml
    M features/events/syslog/blueprint-syslog-listener-camel-netty.xml
    M features/events/syslog/pom.xml
    M features/events/syslog/src/main/java/org/opennms/netmgt/syslogd/RadixTreeParser.java
    M features/events/syslog/src/main/java/org/opennms/netmgt/syslogd/SyslogReceiverCamelNettyImpl.java
    M features/events/syslog/src/test/java/org/opennms/netmgt/syslogd/SyslogMessageTest.java
    M features/events/syslog/src/test/java/org/opennms/netmgt/syslogd/SyslogdReceiverCamelNettyBlueprintIT.java
    M features/events/syslog/src/test/java/org/opennms/netmgt/syslogd/SyslogdReceiverJavaNetBlueprintIT.java
    M features/events/traps/pom.xml
    M features/events/traps/src/test/java/org/opennms/netmgt/trapd/TrapHandlerITCase.java
    M features/events/traps/src/test/java/org/opennms/netmgt/trapd/TrapdSinkPatternWiringIT.java
    R features/executor-factory/cassandra/pom.xml
    R features/executor-factory/cassandra/src/license/THIRD-PARTY.properties
    R features/executor-factory/cassandra/src/main/java/org/opennms/core/concurrent/cassandra/ExecutorFactoryCassandraSEPImpl.java
    R features/executor-factory/pom.xml
    M features/flows/api/pom.xml
    M features/flows/classification/engine/api/pom.xml
    M features/flows/classification/engine/impl/pom.xml
    M features/flows/classification/engine/pom.xml
    M features/flows/classification/persistence/api/pom.xml
    M features/flows/classification/persistence/api/src/main/java/org/opennms/netmgt/flows/classification/persistence/api/Group.java
    M features/flows/classification/persistence/api/src/main/java/org/opennms/netmgt/flows/classification/persistence/api/Rule.java
    M features/flows/classification/persistence/impl/pom.xml
    M features/flows/classification/persistence/impl/src/main/java/org/opennms/netmgt/flows/classification/persistence/impl/ClassificationGroupDaoImpl.java
    M features/flows/classification/persistence/impl/src/test/java/org/opennms/netmgt/flows/classification/persistence/impl/ClassificationGroupDaoIT.java
    M features/flows/classification/persistence/pom.xml
    M features/flows/classification/pom.xml
    M features/flows/classification/shell/pom.xml
    M features/flows/elastic/pom.xml
    M features/flows/itests/pom.xml
    M features/flows/itests/src/test/java/org/opennms/netmgt/flows/elastic/NodeIdentificationIT.java
    M features/flows/kafka-persistence/pom.xml
    M features/flows/pom.xml
    M features/flows/processing/pom.xml
    M features/flows/rest/api/pom.xml
    M features/flows/rest/impl/pom.xml
    M features/flows/rest/pom.xml
    M features/geocoder/api/pom.xml
    M features/geocoder/google/pom.xml
    M features/geocoder/mapquest/pom.xml
    M features/geocoder/nominatim/pom.xml
    M features/geocoder/pom.xml
    M features/geocoder/rest/pom.xml
    M features/geocoder/service/pom.xml
    M features/geolocation/api/pom.xml
    M features/geolocation/pom.xml
    M features/geolocation/rest/pom.xml
    M features/geolocation/service/pom.xml
    M features/geolocation/service/src/test/java/org/opennms/features/geolocation/services/DefaultGeolocationServiceIT.java
    M features/graph/api/pom.xml
    M features/graph/dao/api/pom.xml
    M features/graph/dao/api/src/main/java/org/opennms/netmgt/graph/AbstractGraphEntity.java
    M features/graph/dao/api/src/main/java/org/opennms/netmgt/graph/FocusEntity.java
    M features/graph/dao/api/src/main/java/org/opennms/netmgt/graph/PropertyEntity.java
    M features/graph/dao/impl/pom.xml
    M features/graph/dao/impl/src/main/java/org/opennms/netmgt/graph/dao/hibernate/GraphContainerDaoImpl.java
    M features/graph/dao/pom.xml
    M features/graph/domain/pom.xml
    M features/graph/pom.xml
    M features/graph/provider/application/pom.xml
    M features/graph/provider/bsm/pom.xml
    M features/graph/provider/graphml/pom.xml
    M features/graph/provider/legacy/pom.xml
    A features/graph/provider/pathoutage/pom.xml
    A features/graph/provider/pathoutage/src/main/java/org/opennms/netmgt/graph/provider/pathoutage/PathOutageGraphProvider.java
    A features/graph/provider/pathoutage/src/main/resources/OSGI-INF/blueprint/blueprint.xml
    A features/graph/provider/pathoutage/src/test/java/org/opennms/netmgt/graph/provider/pathoutage/PathOutageGraphProviderIT.java
    A features/graph/provider/pathoutage/src/test/java/org/opennms/netmgt/graph/provider/pathoutage/PathOutageGraphProviderTest.java
    M features/graph/provider/persistence-test/pom.xml
    M features/graph/provider/pom.xml
    M features/graph/provider/topology/pom.xml
    M features/graph/rest/api/pom.xml
    M features/graph/rest/impl/pom.xml
    M features/graph/rest/pom.xml
    M features/graph/service/pom.xml
    M features/graph/service/src/main/java/org/opennms/netmgt/graph/persistence/DefaultGraphRepository.java
    M features/graph/service/src/test/java/org/opennms/netmgt/graph/search/NodeSearchProviderIT.java
    M features/graph/shell/pom.xml
    M features/graph
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.