dependabot[bot] opened a new pull request, #2244: URL: https://github.com/apache/maven-resolver/pull/2244
Bumps [ch.qos.logback:logback-classic](https://github.com/qos-ch/logback) from 1.5.32 to 1.6.6. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/qos-ch/logback/releases">ch.qos.logback:logback-classic's releases</a>.</em></p> <blockquote> <h2>Logback 1.6.6</h2> <h3>2026-10-25 Release of logback version 1.6.6</h3> <p>• <code>LoggingEventVO</code> now rejects, during deserialization, throwable proxies whose cause or suppressed entries point back into the graph of proxies, for example to their own parent. Such graphs cannot be produced by logback itself. However, a crafted stream sent to a socket receiver could use serialization back-references to build them, after which <code>DefaultThrowableRenderer</code> and <code>SyslogAppender</code> would loop forever and the recursive converters would overflow the stack. These streams are now rejected with an <code>InvalidObjectException</code>. Circular exceptions logged by the application are still transmitted correctly. This issue was reported and fixed in [PR <a href="https://redirect.github.com/qos-ch/logback/issues/1079">#1079</a>](<a href="https://redirect.github.com/qos-ch/logback/pull/1079">qos-ch/logback#1079</a>) by <a href="https://github.com/arfa-21">arfa-21</a>.</p> <p>• <code>FileNamePattern</code> now escapes characters with a special meaning in regular expressions, such as <code>(</code>, <code>[</code> or <code>+</code>, when converting the literal parts of a file name pattern into a regex. Previously, <code>RollingFileAppender</code> failed to start when the path contained an unbalanced parenthesis, as in <code>C:/Users/Michael(Financ</code>. This issue was reported in <a href="https://redirect.github.com/qos-ch/logback/issues/914">issues/914</a> by <a href="https://github.com/danamlund">danamlund</a>. Moreover, with <code>SizeAndTimeBasedRollingPolicy</code> and a pattern such as <code>app.%d.(%i).log</code>, existing archives were not recognized. After a restart within the same period, the next rollover could overwrite an existing archive, and <em>maxHistory</em> and <em>totalSizeCap</em> never removed such archives. This issue was reported in <a href="https://redirect.github.com/qos-ch/logback/issues/933">issues/933</a> by <a href=" https://github.com/GeoffreyBoulay">GeoffreyBoulay</a>. The fix was contributed in [PR <a href="https://redirect.github.com/qos-ch/logback/issues/1077">#1077</a>](<a href="https://redirect.github.com/qos-ch/logback/pull/1077">qos-ch/logback#1077</a>) by <a href="https://github.com/CCCLL">Jialin Chen</a>. Regex metacharacters in <code>%d{...}</code> date patterns are now escaped as well.</p> <p>• The conversion of date patterns into regular expressions now follows the rules of <code>DateTimeFormatter</code>, which logback uses to format dates, instead of those of <code>SimpleDateFormat</code>. In particular, the <code>L</code> (stand-alone month) pattern letter is now supported.</p> <p>• <code>SyslogOutputStream</code> now connects its <code>DatagramSocket</code> to the syslog host. Previously, the socket was bound to the wildcard address, so that hardened environments saw an unconnected UDP listener on all interfaces for as long as the application ran. This issue was reported in <a href="https://redirect.github.com/qos-ch/logback/issues/939">issues/939</a> by <a href="https://github.com/joao-rebelo">joao-rebelo</a>. The fix was contributed in [PR <a href="https://redirect.github.com/qos-ch/logback/issues/1076">#1076</a>](<a href="https://redirect.github.com/qos-ch/logback/pull/1076">qos-ch/logback#1076</a>) by <a href="https://github.com/Lyin-OTTF">Lyin-OTTF</a>.</p> <p>If the socket cannot be connected, for example because the network is not yet available, <code>SyslogOutputStream</code> falls back to an unconnected socket and <code>SyslogAppenderBase</code> emits a warning. When a datagram sent on a connected socket fails due to an ICMP "port unreachable" message caused by an earlier datagram, the datagram is sent once more so that no message is lost. If the retry also fails, a single warning is emitted instead of one error per event.</p> <p>• <code>OutputStreamAppender</code> now stops its encoder when the appender is stopped. Previously, encoders holding resources until they were stopped, such as those of logstash-logback-encoder, were never released, causing heap growth at each reconfiguration. This issue was fixed in [PR <a href="https://redirect.github.com/qos-ch/logback/issues/1072">#1072</a>](<a href="https://redirect.github.com/qos-ch/logback/pull/1072">qos-ch/logback#1072</a>) by <a href="https://github.com/samyuh">Samuel Fernandes</a>.</p> <p>• During variable substitution, an unmatched right curly brace now causes an error to be reported, with the original value left unchanged. Previously, the brace and all subsequent characters were silently dropped, so that <code>%m}some text</code> became <code>%m</code>. This issue was reported in <a href="https://redirect.github.com/qos-ch/logback/issues/836">issues/836</a> by <a href="https://github.com/philsttr">philsttr</a>.</p> <p>• <code>LogbackMDCAdapter</code> now stores MDC entries in a <code>LinkedHashMap</code>, so that the <code>%X</code> converter outputs them in insertion order. This issue was reported in <a href="https://jira.qos.ch/browse/LOGBACK-1337">LOGBACK-1337</a> and fixed by <a href="https://github.com/motlin">Craig P. Motlin</a>.</p> <p>• A bit-wise identical binary of this version can be reproduced by building from <a href="https://github.com/qos-ch/logback">source code</a> at commit a9ee8019ee183e076ff5477957dbf90c4b04dd92 associated with the tag <code>v_1.6.6</code>. The release was built using Java "21" 2023-10-17 LTS build 21.0.1.+12-LTS-29 under Linux Debian 11.6.</p> <h2>Logback 1.6.5</h2> <p>2026-09-30 Release of logback version 1.6.5</p> <p>• Fixed a vulnerability <a href="https://www.cve.org/CVERecord?id=CVE-2026-104721">CVE-2026-104721</a> closely related to <a href="https://www.cve.org/cverecord?id=CVE-2026-19880">CVE-2026-19880</a>. The fix in version 1.6.3, which strips forward and backward slashes from <code>MDC</code> values, was insufficient. An <code>MDC</code> value could still contain relative path components such as .., variable references such as /, or characters that are special in file name patterns and email addresses. This latest vulnerability was found and reported by François Martin (GitHub: <a href="https://github.com/martinfrancois"><code>@martinfrancois</code></a>, <a href="https://github.com/martinfrancois">https://github.com/martinfrancois</a>).</p> <p><code>MDCBasedDiscriminator</code>, used by <a href="https://logback.qos.ch/manual/appenders-async-sift.html#SiftingAppender"><code>SiftingAppender</code></a>, now rejects <code>MDC</code> values instead of stripping characters from them. An MDC value is rejected if it is empty, if it is longer than 64 characters, if it contains the sequence .., or if it contains any of the following characters: <code>/ \ $ { } [ ] ( ) | ? * + % , @</code>. When an <code>MDC</code> value is rejected, the discriminator returns the value of its <code>DefaultValue</code> property. A warning is emitted for each rejected value. These warnings are rate-limited.</p> <p>• When compression is enabled, <code>TimeBasedRollingPolicy</code> and <code>SizeAndTimeBasedRollingPolicy</code> now also remove old log files that were never compressed, for example because the application was not running at rollover time. Previously, such files were ignored by <code>maxHistory</code> and accumulated indefinitely. This issue was discussed in <a href="https://github.com/qos-ch/logback/discussions/1032">discussions/1032</a>. See <a href="https://logback.qos.ch/manual/appenders-rolling.html#TimeBasedRollingPolicy"><code>TimeBasedRollingPolicy</code></a>.</p> <p>• <code>SimpleInvocationGate</code>, deprecated in version 1.6.3, is now marked for removal. Use <code>FixedIntervalInvocationGate</code> instead.</p> <p>• A bit-wise identical binary of this version can be reproduced by building from source code at commit d1b829dcdb9fd98511c64401beb1419a9c9384aa associated with the tag v_1.6.5. The release was built using Java "21" 2023-10-17 LTS build 21.0.1.+12-LTS-29 under Linux Debian 11.6.</p> <h2>Logback 1.6.4</h2> <p><strong>2026-09-24 Release of logback version 1.6.4</strong></p> <p>• Variable substitution is again applied to the <code>scan</code> attribute of the <code><configuration></code> element. The scanning refactoring in version 1.5.27 had dropped substitution, so values such as <code>${logback.scan.enabled:-true}</code> were no longer resolved. As before version 1.5.27, an unrecognized non-empty value turns scanning on. The same substitution now applies to the scan attribute of <code><propertiesConfigurator></code>. This regression was reported in <a href="https://redirect.github.com/qos-ch/logback/issues/1065">issues/1065</a> by <a href="https://github.com/vaibhavjain2">vaibhavjain2</a>.</p> <p>• <code>OutputStreamAppender</code> and <code>FileAppender</code> now handle stateful encoders. The <code>Encoder</code> interface has a new default method called <code>isStateful()</code>, which returns <code>false</code>. An encoder that keeps state between calls to <code>encode()</code> can return true. For such encoders, the appender holds its write lock while encoding and while writing, so the output of concurrent appends cannot interleave. Stateless encoders still encode outside the lock, so their performance does not change. Existing encoders need no changes.</p> <p>• Several race conditions in <code>OutputStreamAppender</code> and <code>FileAppender</code> were fixed. The appender is now marked started and the encoder header is written while the same lock is held, so a concurrent append can no longer write an event before the header. After acquiring the lock, the appender checks again whether it has been stopped, so no event is written after the footer. In prudent mode, FileAppender now encodes and writes each event while holding the lock.</p> <p>• Fixed a data race on the logger count in LoggerContext. Loggers are created under the lock of their parent logger, so loggers with different parents could be created at the same time and increments of the shared counter could be lost. As a result, <code>LoggerContext.size()</code> could return a value lower than the actual number of loggers. The counter is now an <code>AtomicInteger</code>. This issue was reported in <a href="https://redirect.github.com/qos-ch/logback/issues/1038">issues/1038</a> by hcantunc. The fix was contributed in PR <a href="https://redirect.github.com/qos-ch/logback/issues/1055">#1055</a> by <a href="https://github.com/seonwooj0810">seonwoo_jung</a>.</p> <p>• <code>TimeBasedRollingPolicy</code> now supports half-day periods. Date patterns with the AM/PM marker, for example %d{yyyy-MM-dd-a}, used to be detected as daily and rolled over only at midnight. They now roll over at both 00:00 and 12:00. This issue was reported in issues/976 by shakthifuture. The fix was contributed in PR <a href="https://redirect.github.com/qos-ch/logback/issues/1051">#1051</a> by <a href="https://github.com/seonwooj0810">seonwoo_jung</a>. See <code>TimeBasedRollingPolicy</code>.</p> <p>• If <code>org.jline.jansi.AnsiConsole</code> cannot be found on the class path, <code>JansiConsoleAppender</code> now emits warnings that explain how to add org.jline:jansi-core and then writes to the plain console stream. See codes.html#missingJlineJansi.</p> <p>• The unused <code>ch.qos.logback.classic.util.LogbackMDCAdapterSimple</code> class was removed. <code>LogbackMDCAdapter</code> remains the default MDC adapter.</p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/qos-ch/logback/commit/a9ee8019ee183e076ff5477957dbf90c4b04dd92"><code>a9ee801</code></a> prepare release 1.6.6</li> <li><a href="https://github.com/qos-ch/logback/commit/7fa8e8e4c939a7c1245af77a4f24661a6c7cac48"><code>7fa8e8e</code></a> throw ScanException on unmatched '}' during variable substitution, fixes <a href="https://redirect.github.com/qos-ch/logback/issues/836">#836</a></li> <li><a href="https://github.com/qos-ch/logback/commit/355b931bc4787da482bf98e7a203fb71c01afbac"><code>355b931</code></a> Test round trip of circular exceptions through LoggingEventVO</li> <li><a href="https://github.com/qos-ch/logback/commit/c7b8e2f425cfdef62fd466f57ce137dc7988826d"><code>c7b8e2f</code></a> reject cyclic throwable proxies in LoggingEventVO.readObject</li> <li><a href="https://github.com/qos-ch/logback/commit/6217f1163e054e880de2ce8b323a818d1790beb5"><code>6217f11</code></a> fix loging of ThrowableProxy constructor taking isCyclic boolean</li> <li><a href="https://github.com/qos-ch/logback/commit/0b95858aa206af1b7c1a5d93f653f0785c0df31a"><code>0b95858</code></a> LOGBACK-1337 LogbackMDCAdapter should store mdc in LinkedHashMap to predict o...</li> <li><a href="https://github.com/qos-ch/logback/commit/5c1f5776bb85f63b34489771e868d23a34e89632"><code>5c1f577</code></a> add LinkedHashMap to HardenedObjectInputStream whitelist</li> <li><a href="https://github.com/qos-ch/logback/commit/7c36c7177a8faeb296da96ce9780fa7425295b98"><code>7c36c71</code></a> Escape regex metacharacters in date patterns, harden rolling tests</li> <li><a href="https://github.com/qos-ch/logback/commit/d268774cf73523f78fdd33ff3da4050a5fdd525f"><code>d268774</code></a> Align date pattern to regex conversion with DateTimeFormatter</li> <li><a href="https://github.com/qos-ch/logback/commit/b4b48282163d046616659a45233875c45cf0c790"><code>b4b4828</code></a> Escape regex metacharacters of literal text in FileNamePattern regexes</li> <li>Additional commits viewable in <a href="https://github.com/qos-ch/logback/compare/v_1.5.32...v_1.6.6">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]
