[OpenNMS/opennms] ae5489: NMS-20168: Update Netty to 4.2.16.Final (#8748)

mershad-manesh via opennms-cvs <[email protected]>
Newsgroups gmane.network.opennms.cvs
Message-ID <OpenNMS/opennms/push/refs/heads/develop/[email protected]>
  Branch: refs/heads/develop
  Home:   https://github.com/OpenNMS/opennms
  Commit: ae5489cc2e0c50e7d5de701ea62e7b928b389307
      https://github.com/OpenNMS/opennms/commit/ae5489cc2e0c50e7d5de701ea62e7b928b389307
  Author: Marshall Massengill <[email protected]>
  Date:   2026-08-07 (Fri, 07 Aug 2026)

  Changed paths:
    M container/features/src/main/resources/features-core.xml
    M container/features/src/main/resources/features-sentinel.xml
    M container/features/src/main/resources/features.xml
    M container/karaf/src/main/filtered-resources/etc/overrides.properties
    M container/shared/src/main/filtered-resources/etc/overrides.properties
    M pom.xml
    M smoke-test/pom.xml

  Log Message:
  -----------
  NMS-20168: Update Netty to 4.2.16.Final (#8748)

Moves foundation-2023 onto the 4.2 line rather than the last 4.1 release,
matching foundation-2024 and later. 4.1.x still receives fixes, but the
advisory backlog is being closed on 4.2, and staying on 4.1 means diverging
from every downstream branch.

Netty 4.2 turned netty-codec into a class-free aggregate and moved its
contents into netty-codec-base, -compression, -protobuf and -marshalling.
Bundles importing io.netty.handler.codec* therefore lose their provider, so
the Karaf features and both overrides.properties gain netty-codec-base, and
netty-codec-compression wherever netty-codec-http is installed (it imports
io.netty.handler.codec.compression unconditionally). netty-codec-xml and its
aalto-xml dependency are declared explicitly for XmlFrameDecoderFactory,
which no longer reaches the XML codec through netty-codec.

sentinel-jms and sentinel-kafka now pull the netty feature as a prerequisite.
opennms-core-camel declares camel-netty4 but not netty, so it has always
relied on some other feature having installed the netty bundles; in the core
and minion containers something always does, but the sentinel container
installs neither, and camel-netty4 was left with no provider for
io.netty.handler.codec once netty-codec stopped exporting it.

No Java changes are needed: the netty surface used here is ByteBuf,
bootstraps and stock handlers, and the deprecated-in-4.2 pieces still in use
(NioEventLoopGroup, DefaultEventLoopGroup, SocketUtils, the resolver.dns
cache types) all still ship in 4.2.16. gRPC is grpc-netty-shaded throughout,
so it is unaffected, and camel-netty4 imports netty packages without a
version range.

The smoke-test reactor moves to the same version so the tests run against the
netty the product ships; it imports netty-bom, so the split codec modules
follow without further declarations.

Two 4.2 defaults changed and may need pinning if a deployment depends on the
old behaviour: the allocator is now adaptive rather than pooled
(io.netty.allocator.type=pooled) and netty client TLS verifies hostnames
(io.netty.handler.ssl.defaultEndpointVerificationAlgorithm=NONE).


  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: 32769d45b0a7810150a056a29aee6db71f355243
      https://github.com/OpenNMS/opennms/commit/32769d45b0a7810150a056a29aee6db71f355243
  Author: Marshall Massengill <[email protected]>
  Date:   2026-08-11 (Tue, 11 Aug 2026)

  Changed paths:
    M features/distributed/kv-store/blob/blob-itests/pom.xml
    M features/newts-repository-converter/pom.xml
    M features/newts/pom.xml

  Log Message:
  -----------
  NMS-20199: Pin Netty 4.1 for the modules that embed Cassandra (#8766)


  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: 4cbe9d36561e929a0c3db8bbdaa711473e8425e4
      https://github.com/OpenNMS/opennms/commit/4cbe9d36561e929a0c3db8bbdaa711473e8425e4
  Author: Morteza E <[email protected]>
  Date:   2026-08-11 (Tue, 11 Aug 2026)

  Changed paths:

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


  Commit: 2db83c56664e05bcc0916997f7dc726094751ec4
      https://github.com/OpenNMS/opennms/commit/2db83c56664e05bcc0916997f7dc726094751ec4
  Author: Christian Pape <[email protected]>
  Date:   2026-08-11 (Tue, 11 Aug 2026)

  Changed paths:
    M .circleci/trivy-config/trivyignore

  Log Message:
  -----------
  NMS-20183: Ignoring CVE-2024-47554


  Commit: 776bf8001ecea68e28595c05d1f1381f57e62aae
      https://github.com/OpenNMS/opennms/commit/776bf8001ecea68e28595c05d1f1381f57e62aae
  Author: Christian Pape <[email protected]>
  Date:   2026-08-11 (Tue, 11 Aug 2026)

  Changed paths:
    M .circleci/trivy-config/trivyignore

  Log Message:
  -----------
  NMS-20186: Ignoring CVE-2023-5072


  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: d6e1a01c655d8c99f81d38457789b255e9719c8d
      https://github.com/OpenNMS/opennms/commit/d6e1a01c655d8c99f81d38457789b255e9719c8d
  Author: CI/CD System <[email protected]>
  Date:   2026-08-11 (Tue, 11 Aug 2026)

  Changed paths:
    M .circleci/trivy-config/trivyignore

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


  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: 9d7b43a70cbf8102182af3a630daa7976d219785
      https://github.com/OpenNMS/opennms/commit/9d7b43a70cbf8102182af3a630daa7976d219785
  Author: CI/CD System <[email protected]>
  Date:   2026-08-11 (Tue, 11 Aug 2026)

  Changed paths:
    M .circleci/trivy-config/trivyignore

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


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

  Changed paths:
    M .circleci/main/jobs/build/build-ui.yml
    M .circleci/trivy-config/trivyignore
    M .gitignore
    M container/shared/pom.xml
    M container/shared/src/main/internal/features-processing.xml
    M debian/changelog
    M docs/modules/releasenotes/pages/changelog.adoc
    M features/minion/repository/src/assembly/repo.xml
    M opennms-assemblies/minion/src/main/filtered/debian/changelog
    M opennms-assemblies/sentinel/src/main/filtered/debian/changelog
    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/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/src/containers/OpenAPI.vue
    M ui/tests/containers/OpenAPI.test.ts
    A ui/tests/containers/OpenAPIFetch.test.ts
    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:
  -----------
  Merge remote-tracking branch 'origin/release-36.x' into develop


Compare: https://github.com/OpenNMS/opennms/compare/a23f24cb9e15...e34b9457783a

To unsubscribe from these emails, change your notification settings at https://github.com/OpenNMS/opennms/settings/notifications


_______________________________________________
Please read the OpenNMS Mailing List FAQ:
http://www.opennms.org/wiki/index.php?page=MailingListFaq
opennms-cvs mailing list

To *unsubscribe* or change your subscription options, see the bottom of this page:
https://lists.sourceforge.net/lists/listinfo/opennms-cvs
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.