dependabot[bot] opened a new pull request, #726: URL: https://github.com/apache/karaf-decanter/pull/726
Bumps [com.github.oshi:oshi-core](https://github.com/oshi/oshi) from 6.12.0 to 7.5.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/oshi/oshi/releases">com.github.oshi:oshi-core's releases</a>.</em></p> <blockquote> <h2>Release 7.5.0</h2> <h5>New Features</h5> <ul> <li><a href="https://redirect.github.com/oshi/oshi/pull/3614">#3614</a> - <a href="https://redirect.github.com/oshi/oshi/pull/3636">#3636</a>: Adopt <a href="https://jspecify.dev/">JSpecify</a> nullability annotations project-wide and enforce them in continuous integration with <a href="https://github.com/uber/NullAway">NullAway</a>, so every type in a signature is non-null unless it is annotated <code>@Nullable</code>. A method not annotated <code>@Nullable</code> is now a checked guarantee rather than an aspiration, and a null check against one is dead code you can delete. The public API packages and the <code>oshi.util</code> tree carry the marking in their <code>package-info.java</code>, where every consumer sees it, including on a Java 8 or classpath build; the implementation packages are marked on their module descriptors; the native mapping packages under <code>oshi.jna</code> and <code>oshi.ffm.platform</code> opt out, because nullability there is the operating system's to state rather than OSHI's. The <code>org.jspecify:jspecify</code> dependency is optional and compile-time only, so it does not reach your runtime classpath. See the <a href="https://github.com/oshi/oshi/blob/HEAD/FAQ.md#nullability-nullmarked-nullable">FAQ</a> for what this does and does not promise - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3615">#3615</a>: Add <code>ParseUtil.getStringValueOrEmpty</code>, which normalizes a nullable string to <code>""</code>, alongside the existing <code>getStringValueOrUnknown</code> - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3641">#3641</a>: Add <code>HardwareAbstractionLayer.getVirtualization()</code>, which identifies the hypervisor, container runtime or cloud platform hosting the system, promoting the long-standing <code>DetectVM</code> demo into the library. It returns an <code>Optional<String></code> naming the platform, or an empty <code>Optional</code> when no signature matched - which means undetermined, not confirmed bare metal. Detection reads the processor's CPUID vendor string, the computer system's manufacturer and model, and network interface MAC address OUIs, in that order. The signature tables ship as the <code>oshi.vm.properties</code> and <code>oshi.vmmacaddr.properties</code> resources; placing a file of either name earlier on the classpath replaces that table, so you can teach OSHI about a platform it does not know - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3646">#3646</a>, <a href="https://redirect.github.com/oshi/oshi/pull/3647">#3647</a>: Add <code>NetworkParams.getRoutes()</code>, which returns the operating system's routing table as a list of <code>IPRoute</code> objects covering both address families - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> </ul> <h5>Behavior Changes</h5> <ul> <li><a href="https://redirect.github.com/oshi/oshi/pull/3646">#3646</a>: <code>NetworkParams.getIpv6DefaultGateway()</code> on OpenBSD returns the IPv6 gateway. It previously omitted the <code>-inet6</code> flag and returned the IPv4 gateway. <code>NetworkParams</code> default gateways on AIX return an empty string when no default route is configured, matching the documented contract. They previously returned <code>Constants.UNKNOWN</code>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3614">#3614</a> - <a href="https://redirect.github.com/oshi/oshi/pull/3636">#3636</a>: Stating each nullability contract explicitly during the JSpecify sweep surfaced implementations that did not honor it. Values that were documented as unreadable but returned <code>null</code> now return the sentinel the rest of the API uses. The following user-facing behavior changed: <ul> <li><code>DisplayInfo</code>'s preferred resolution, model and product serial number return an empty string rather than <code>null</code> for a synthesized display such as the Apple Silicon built-in panel.</li> <li><code>SoundCard.getDriverVersion()</code> and <code>getCodec()</code> return <code>Constants.UNKNOWN</code> rather than <code>null</code> when the platform reports neither, and Linux reports an unreadable ALSA driver version as <code>Constants.UNKNOWN</code> rather than the string <code>not available</code>.</li> <li><code>UsbDevice.getVendor()</code> and <code>getUniqueDeviceId()</code> return an empty string rather than <code>null</code> on Windows.</li> <li><code>ComputerSystem</code>, <code>Baseboard</code> and <code>Firmware</code> fields return <code>Constants.UNKNOWN</code> rather than <code>null</code> on AIX, Windows and the BSDs.</li> <li>An installed application's name, version and vendor return an empty string rather than <code>null</code> on every platform.</li> <li><code>NetworkParams.getDomainName()</code> returns an empty string rather than <code>null</code> on FreeBSD.</li> <li>A macOS process whose passwd or group entry cannot be read reports its numeric user and group id through the FFM implementation, matching JNA.</li> </ul> </li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3616">#3616</a>: Report a disk's model or serial number, and a macOS partition's UUID, as <code>Constants.UNKNOWN</code> when it reads as an empty string, matching every other unreadable value. Affects AIX disks whose <code>lscfg</code> serial field is blank, and the Linux device-mapper and macOS equivalents. Partition filesystem UUIDs and labels are unchanged.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3641">#3641</a>: <code>NetworkIF.isKnownVmMacAddr()</code> recognizes five more prefixes, so it now returns <code>true</code> for a VMware interface using the <code>00:1C:14</code> allocation and for Amazon Web Services and Google Cloud Platform instances. <code>oshi.demo.DetectVM.identifyVM()</code> is deprecated in favor of <code>HardwareAbstractionLayer.getVirtualization()</code>, and now returns curated product names rather than whichever raw signature happened to match.</li> </ul> <h5>Bug Fixes and Improvements</h5> <ul> <li><a href="https://redirect.github.com/oshi/oshi/pull/3589">#3589</a>: Ship <code>oshi-dist</code> as a single <code>.zip</code>, excluding <code>oshi-demo</code> and its <code>jfreechart</code> and <code>jackson</code> dependencies, and attach it to each GitHub release. Test-javadoc jars and <code>oshi-benchmark</code> are no longer published - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3611">#3611</a>, <a href="https://redirect.github.com/oshi/oshi/pull/3612">#3612</a>: Log exceptions with their stack trace and cause chain rather than substituting <code>getMessage()</code> into the log text, and attach the underlying failure as the cause of the <code>InstantiationException</code> from <code>AbstractNetworkIF</code> and the <code>UnsatisfiedLinkError</code> from <code>ForeignFunctions.dlopenWithFlags</code>. Two Windows logs that had been losing their argument now report it - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3614">#3614</a> - <a href="https://redirect.github.com/oshi/oshi/pull/3636">#3636</a>: Harden reads of incomplete platform output, found while stating the nullability contracts above. An empty line in a <code>/proc</code> statistics file, an AIX logical volume missing its type or partition count, a BSD <code>ps</code> line missing its process state, and a Solaris system with no SMBIOS section of a given type no longer throw. Windows CPU ticks are no longer reported as all zero when an optional processor utility counter is unavailable - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3639">#3639</a>: Fix a race in the Windows GPU utilization calculation, which tested its cached previous tick sample for null and then dereferenced it in a second read, so a concurrent poll could throw a <code>NullPointerException</code>. That sample and the cached ADL adapter index are now <code>volatile</code>, as a <code>@ThreadSafe</code> class requires - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3643">#3643</a>: Harden <code>getSessions()</code> against a corrupt utmpx entry on Linux, macOS, FreeBSD and Solaris. A single unreadable record now skips that one session instead of abandoning the native read and re-querying everything through the <code>who</code> command. The utmpx table is not reentrant, so a session ending while OSHI iterates it can legitimately yield a partially written entry; the <code>who</code> fallback now applies only when the native read returns nothing at all - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> </ul> <p><a href="https://github.com/oshi/oshi/blob/master/CHANGELOG.md">Full change log</a></p> <h2>Release 7.4.4</h2> <h5>Bug Fixes and Improvements</h5> <ul> <li><a href="https://redirect.github.com/oshi/oshi/pull/3561">#3561</a>: Fix AIX reporting the current instant as its boot time, and an uptime of zero, when the <code>uptime</code> command transiently failed; parse the year-less <code>who -b</code> format AIX 7.3 emits, and add <code>ParseUtil.parseYearlessDateToEpoch</code> - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3562">#3562</a>: Make Linux <code>getMaxFreq()</code> reproducible by resolving it from the cpufreq policy, <code>lshw</code>, and the vendor frequency rather than folding in a live frequency reading, returning -1 when none of those reports a maximum - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3564">#3564</a>: Fix Linux <code>getSoftOpenFileLimit()</code> returning -1 for a process whose hard open-file limit is <code>unlimited</code>, discarding a valid soft limit - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3566">#3566</a>: Read the OpenBSD host name from <code>gethostname</code> rather than resolving it, so <code>getHostName()</code> no longer reports <code>localhost</code> on a host whose name is not resolvable - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3568">#3568</a>: Fix the Windows FFM <code>getProcess(pid)</code> and <code>getProcesses(pids)</code> returning a process that <code>getProcesses()</code> does not list, reporting a recently exited process as running with no path, no threads, and no CPU time - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3569">#3569</a>: Fix three JNA/FFM divergences on the file-system and network paths: the macOS FFM file store never bailed when the DiskArbitration session failed to open (the guard tested a foreign pointer for Java <code>null</code>, which it can never be); Windows volumes whose mount-point list exceeds the buffer were dropped rather than re-read on <code>ERROR_MORE_DATA</code> (missing entirely on JNA, keyed on the wrong error code on FFM); and the Windows FFM TCP/UDP connection queries could transiently return no connections under connection churn, where JNA retries on <code>ERROR_INSUFFICIENT_BUFFER</code> - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3573">#3573</a>: Report Linux VRAM from NVML rather than summing the prefetchable PCI BARs, which measures the card's address aperture (capped at 256 MiB without Resizable BAR) instead of its memory size - <a href="https://github.com/Krillsson"><code>@Krillsson</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3574">#3574</a>: Never report a decrease in a BSD process's or thread's kernel or user time across <code>updateAttributes()</code>. DragonFly's <code>ps</code> <code>TIME</code> column sums only the currently live LWPs, so an exiting thread takes its accumulated CPU time out of the process total - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/oshi/oshi/blob/master/CHANGELOG.md">com.github.oshi:oshi-core's changelog</a>.</em></p> <blockquote> <h1>7.5.0 (2026-08-16)</h1> <h5>New Features</h5> <ul> <li><a href="https://redirect.github.com/oshi/oshi/pull/3614">#3614</a>, <a href="https://redirect.github.com/oshi/oshi/pull/3615">#3615</a>, <a href="https://redirect.github.com/oshi/oshi/pull/3618">#3618</a>, <a href="https://redirect.github.com/oshi/oshi/pull/3619">#3619</a>, <a href="https://redirect.github.com/oshi/oshi/pull/3620">#3620</a>, <a href="https://redirect.github.com/oshi/oshi/pull/3621">#3621</a>, <a href="https://redirect.github.com/oshi/oshi/pull/3622">#3622</a>, <a href="https://redirect.github.com/oshi/oshi/pull/3623">#3623</a>, <a href="https://redirect.github.com/oshi/oshi/pull/3624">#3624</a>, <a href="https://redirect.github.com/oshi/oshi/pull/3625">#3625</a>, <a href="https://redirect.github.com/oshi/oshi/pull/3626">#3626</a>, <a href="https://redirect.github.com/oshi/oshi/pull/3627">#3627</a>, <a href="https://redirect.github.com/oshi/oshi/pull/3628">#3628</a>, <a href="https://redirect.github.com/oshi/oshi/pull/3629">#3629</a>, <a href="https://redirect.github.com/oshi/oshi/pull/3630">#3630</a>, <a href="https://redirect.github.com/oshi/oshi/pull/3631">#3631</a>, <a href="https://redirect.github.com/oshi/oshi/pull/3632">#3632</a>, <a href="https://redirect.github.com/oshi/oshi/pull/3633">#3633</a>, <a href="https://redirect.github.com/oshi/oshi/pull/3634">#3634</a>, <a href="https://redirect.github.com/oshi/oshi/pull/3635">#3635</a>, <a href="https://redirect.github.com/oshi/oshi/pull/3636">#3636</a>: Adopt <a href="https://jspecify.dev/">JSpecify</a> nullability annotations project-wide and enforce them in continuous integration with <a href="https://github.com/uber/NullAway">NullAway</a>, so every type in a signature is non-null unless it is annotated <code>@Nullable</code>. A method not annotated <code>@Nullable</code> is now a checked guarantee rather than an aspiration, and a null check against one is dead code you can delete. The public API packages and the <code>oshi.util</code> tree carry the marking in their <code>package-info.java</code>, where every consumer sees it, including on a Java 8 or classpath build; the implementation packages are marked on their module descriptors; the native mapping packages under <code>oshi.jna</code> and <code>oshi.ffm.platform</code> opt out, because nullability there is the operating system's to state rather than OSHI's. The <code>org.jspecify:jspecify</code> dependen cy is optional and compile-time only, so it does not reach your runtime classpath. See the <a href="https://github.com/oshi/oshi/blob/master/FAQ.md#nullability-nullmarked-nullable">FAQ</a> for what this does and does not promise - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3615">#3615</a>: Add <code>ParseUtil.getStringValueOrEmpty</code>, which normalizes a nullable string to <code>""</code>, alongside the existing <code>getStringValueOrUnknown</code> - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3641">#3641</a>: Add <code>HardwareAbstractionLayer.getVirtualization()</code>, which identifies the hypervisor, container runtime or cloud platform hosting the system, promoting the long-standing <code>DetectVM</code> demo into the library. It returns an <code>Optional<String></code> naming the platform, or an empty <code>Optional</code> when no signature matched - which means undetermined, not confirmed bare metal. Detection reads the processor's CPUID vendor string, the computer system's manufacturer and model, and network interface MAC address OUIs, in that order. The signature tables ship as the <code>oshi.vm.properties</code> and <code>oshi.vmmacaddr.properties</code> resources; placing a file of either name earlier on the classpath replaces that table, so you can teach OSHI about a platform it does not know - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3646">#3646</a>, <a href="https://redirect.github.com/oshi/oshi/pull/3647">#3647</a>: Add <code>NetworkParams.getRoutes()</code>, which returns the operating system's routing table as a list of <code>IPRoute</code> objects covering both address families - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> </ul> <h5>Behavior Changes</h5> <ul> <li><a href="https://redirect.github.com/oshi/oshi/pull/3646">#3646</a>: <code>NetworkParams.getIpv6DefaultGateway()</code> on OpenBSD returns the IPv6 gateway. It previously omitted the <code>-inet6</code> flag and returned the IPv4 gateway. <code>NetworkParams</code> default gateways on AIX return an empty string when no default route is configured, matching the documented contract. They previously returned <code>Constants.UNKNOWN</code>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3614">#3614</a> - <a href="https://redirect.github.com/oshi/oshi/pull/3636">#3636</a>: Stating each nullability contract explicitly during the JSpecify sweep surfaced implementations that did not honor it. Values that were documented as unreadable but returned <code>null</code> now return the sentinel the rest of the API uses. The following user-facing behavior changed: <ul> <li><code>DisplayInfo</code>'s preferred resolution, model and product serial number return an empty string rather than <code>null</code> for a synthesized display such as the Apple Silicon built-in panel.</li> <li><code>SoundCard.getDriverVersion()</code> and <code>getCodec()</code> return <code>Constants.UNKNOWN</code> rather than <code>null</code> when the platform reports neither, and Linux reports an unreadable ALSA driver version as <code>Constants.UNKNOWN</code> rather than the string <code>not available</code>.</li> <li><code>UsbDevice.getVendor()</code> and <code>getUniqueDeviceId()</code> return an empty string rather than <code>null</code> on Windows.</li> <li><code>ComputerSystem</code>, <code>Baseboard</code> and <code>Firmware</code> fields return <code>Constants.UNKNOWN</code> rather than <code>null</code> on AIX, Windows and the BSDs.</li> <li>An installed application's name, version and vendor return an empty string rather than <code>null</code> on every platform.</li> <li><code>NetworkParams.getDomainName()</code> returns an empty string rather than <code>null</code> on FreeBSD.</li> <li>A macOS process whose passwd or group entry cannot be read reports its numeric user and group id through the FFM implementation, matching JNA.</li> </ul> </li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3616">#3616</a>: Report a disk's model or serial number, and a macOS partition's UUID, as <code>Constants.UNKNOWN</code> when it reads as an empty string, matching every other unreadable value. Affects AIX disks whose <code>lscfg</code> serial field is blank, and the Linux device-mapper and macOS equivalents. Partition filesystem UUIDs and labels are unchanged.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3641">#3641</a>: <code>NetworkIF.isKnownVmMacAddr()</code> recognizes five more prefixes, so it now returns <code>true</code> for a VMware interface using the <code>00:1C:14</code> allocation and for Amazon Web Services and Google Cloud Platform instances. <code>oshi.demo.DetectVM.identifyVM()</code> is deprecated in favor of <code>HardwareAbstractionLayer.getVirtualization()</code>, and now returns curated product names rather than whichever raw signature happened to match.</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/oshi/oshi/commit/377d945cee847f3c2a23dba139aec7f480f59977"><code>377d945</code></a> [maven-release-plugin] prepare release oshi-parent-7.5.0</li> <li><a href="https://github.com/oshi/oshi/commit/36e1f708c26c939ba6aba66457aa1661e2a34d69"><code>36e1f70</code></a> 7.5.0 Release</li> <li><a href="https://github.com/oshi/oshi/commit/f3ec58367f0e27f270b9120e6d7462636b738706"><code>f3ec583</code></a> Update dependency com.diffplug.spotless:spotless-maven-plugin to v3.10.0 (<a href="https://redirect.github.com/oshi/oshi/issues/3649">#3649</a>)</li> <li><a href="https://github.com/oshi/oshi/commit/2bc9570b87191493b1de8377b16eb94e23f06364"><code>2bc9570</code></a> Clear the Sonar findings from the routing table work (<a href="https://redirect.github.com/oshi/oshi/issues/3648">#3648</a>)</li> <li><a href="https://github.com/oshi/oshi/commit/b6d943c4e3028d291b9f0c1eeeb7665c7ddce55c"><code>b6d943c</code></a> Report the prefix length of an abbreviated network on DragonFly BSD (<a href="https://redirect.github.com/oshi/oshi/issues/3647">#3647</a>)</li> <li><a href="https://github.com/oshi/oshi/commit/7f5ca26663811c089be6d2d2eb70f474d1b4eb71"><code>7f5ca26</code></a> Update dependency com.puppycrawl.tools:checkstyle to v13.11.0 (<a href="https://redirect.github.com/oshi/oshi/issues/3645">#3645</a>)</li> <li><a href="https://github.com/oshi/oshi/commit/92b43729951d83f553f5107a9619b793a9bc45bf"><code>92b4372</code></a> Update dependency com.fasterxml.jackson.core:jackson-databind to v2.22.2 (<a href="https://redirect.github.com/oshi/oshi/issues/3644">#3644</a>)</li> <li><a href="https://github.com/oshi/oshi/commit/6d774328400fea53f799e6f594d635a47ac7d510"><code>6d77432</code></a> Add NetworkParams.getRoutes() routing table API (<a href="https://redirect.github.com/oshi/oshi/issues/3646">#3646</a>)</li> <li><a href="https://github.com/oshi/oshi/commit/327fcf5cfd20bd9594b9eebe4c435e1d250534d3"><code>327fcf5</code></a> Skip a corrupt utmpx entry rather than abandoning the whole read (<a href="https://redirect.github.com/oshi/oshi/issues/3643">#3643</a>)</li> <li><a href="https://github.com/oshi/oshi/commit/a97bd07dfc3a85477320694ce7371ed27d1ef185"><code>a97bd07</code></a> Fix the OpenIndiana OOM failures by capping the ZFS ARC (<a href="https://redirect.github.com/oshi/oshi/issues/3642">#3642</a>)</li> <li>Additional commits viewable in <a href="https://github.com/oshi/oshi/compare/oshi-parent-6.12.0...oshi-parent-7.5.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
