mirror of
https://github.com/Stirling-Tools/Stirling-PDF.git
synced 2026-09-02 21:03:34 +03:00
main
661
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
5fe7df3933 |
build(deps): bump jackson2Version from 2.22.1 to 2.22.2 (#7703)
Signed-off-by: dependabot[bot] <support@github.com> |
||
|
|
b1e857fd01 |
build(deps): bump com.tngtech.archunit:archunit-junit5 from 1.4.2 to 1.5.0 (#7704)
Signed-off-by: dependabot[bot] <support@github.com> |
||
|
|
be13028209 | chore(logging): enable gzipped log rotation and adjust test logging (#7648) | ||
|
|
97c0ccf582 |
refactor(deps): optimize dependency footprints, and add lazy initialization with platform-specific JPDFium bundling (#7620)
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> |
||
|
|
72b7892312 |
Translations + com.squareup.okhttp3:okhttp-bom from 5.3.2 to 5.4.0 (#7599)
Co-authored-by: Anthony Stirling <77850077+Frooodle@users.noreply.github.com> Signed-off-by: dependabot[bot] <support@github.com> |
||
|
|
5f0fe06bbc |
build(deps): bump logback from 1.6.1 to 1.6.3 (#7622)
Bumps `logback` from 1.6.1 to 1.6.3. Updates `ch.qos.logback:logback-core` from 1.6.1 to 1.6.3 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/qos-ch/logback/releases">ch.qos.logback:logback-core's releases</a>.</em></p> <blockquote> <h2>Logback 1.6.3</h2> <h1>2026-08-14 Release of logback version 1.6.3</h1> <ul> <li> <p>In response <a href="https://www.cve.org/cverecord?id=CVE-2026-19880">CVE-2026-19880</a>, <code>MDCBasedDiscriminator</code> (used by <code>SiftingAppender</code>) now strips forward and backward slashes (<code>/</code>, <code>\</code>) from MDC values before they are used as discriminating keys. This prevents path segments from escaping into destinations controlled by an attacker. When sanitisation actually changes a value, a warning is emitted; the warning is rate-limited (a small batch, then a lull of about ten minutes).</p> </li> <li> <p>Colour console support is split out into a dedicated <a href="https://logback.qos.ch/manual/appenders.html#JansiConsoleAppender"><code>JansiConsoleAppender</code></a>. It wraps stdout or stderr with Jansi so ANSI escape sequences (for example coloured patterns) render correctly on terminals that need it, notably Windows. Prefer this class over the older path described next. See the <a href="https://logback.qos.ch/manual/appenders.html#JansiConsoleAppender">appenders documentation</a>.</p> </li> <li> <p>The <code>withJansi</code> property on <code>ConsoleAppender</code> is <strong>deprecated</strong>. Existing configurations that still set <code><withJansi>true</withJansi></code> continue to work for compatibility, but new setups should use <code>JansiConsoleAppender</code> instead.</p> </li> <li> <p><code>ConsoleAppender</code> no longer treats the process console as an exclusive resource: stopping it does not close <code>System.out</code> / <code>System.err</code>. <code>JansiConsoleAppender</code> pairs each <code>AnsiConsole.systemInstall()</code> with <code>systemUninstall()</code> on stop, so repeated start/stop cycles do not leave Jansi installed or tear down streams shared with the rest of the JVM. Related behavior is covered by tests for <a href="https://redirect.github.com/qos-ch/logback/issues/1063">issues/1063</a>.</p> </li> <li> <p>Invocation throttling helpers were reworked: <code>SimpleInvocationGate</code> is renamed <code>FixedIntervalInvocationGate</code>, and <code>BatchedFixedIntervalInvocationGate</code> allows a short burst of invocations before applying a fixed lull. The sanitisation warning above uses the batched gate.</p> </li> <li> <p>The JPMS <code>module-info</code> for logback-core now exports the <code>ch.qos.logback.core.property</code> package, which had been missing from the module descriptor.</p> </li> <li> <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 <code>e8e824dede022a6d7208b36cfa875b0d1b7772f3</code> associated with the tag <code>v_1.6.3</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> </li> </ul> <p>-- Sponsoring SLF4J/logback/reload4j at <a href="https://github.com/sponsors/qos-ch">https://github.com/sponsors/qos-ch</a></p> <h2>Logback 1.6.2</h2> <p><a href="https://github.com/user-attachments/assets/9ceaf157-b758-4188-815d-edfe4e1b4edd">https://github.com/user-attachments/assets/9ceaf157-b758-4188-815d-edfe4e1b4edd</a></p> <h1>2026-08-10 Release of logback version 1.6.2</h1> <ul> <li> <p>Configuration analysis now detects <em>contradictory caller-data inclusion instructions</em>. For example, an <code>AsyncAppender</code>, <code>SocketAppender</code> or <code>SMTPAppender</code> with <code>includeCallerData</code> left at the default <code>false</code> is incompatible with a layout or encoder pattern that uses a caller-data converter such as <code>%C</code>, <code>%M</code>, <code>%L</code>, <code>%F</code>, <code>%l</code> or <code>%caller</code>. At runtime those converters would print question marks and still incur extraction cost on a worker thread. Logback now emits a configuration-time warning when such instructions disagree. See <a href="https://logback.qos.ch/codes.html#callerContradiction">codes.html#callerContradiction</a> for details. This issue was reported in <a href="https://redirect.github.com/qos-ch/logback/issues/1059">issues/1059</a> by <a href="https://github.com/leeychee">leeychee</a>. The initial analysis was contributed by <a href="https://github.com/seonwooj0810">seonwoo_jung</a>.</p> </li> <li> <p>Caller-contradiction analysis can be turned off by setting the <code>logback.skipCallerContradictionAnalysis</code> variable to <code>true</code>, either as a system property (<code>-Dlogback.skipCallerContradictionAnalysis=true</code>) or as a property in the configuration file:</p> <pre lang="xml"><code><property name="logback.skipCallerContradictionAnalysis" value="true"/> </code></pre> </li> <li> <p><code>SimpleSocketServer</code> and <code>SimpleSSLSocketServer</code> now require an explicit client IP whitelist. On the command line, pass one or more allowed addresses (single IPs or CIDR ranges) after the configuration file. An empty whitelist means no clients are accepted. When embedding the server programmatically, register allowed addresses with <code>addAllowedClientAddress(String)</code> or <code>setAllowedClientAddresses(Collection)</code> before clients connect. See the documentation on <a href="https://logback.qos.ch/manual/appenders.html#simpleSocketServerClientAccess">restricting client access</a>.</p> </li> <li> <p>Added <code>ThrowableProxyVOBuilder</code> for assembling a <code>ThrowableProxyVO</code> field by field, with a corresponding <code>ThrowableProxyVO.builder()</code> entry point.</p> </li> <li> <p>Dependency analysis handlers now run their <code>postHandle</code> method after child models have been processed, so checks that depend on nested appenders (such as caller-contradiction analysis) see a complete picture.</p> </li> <li> <p>Updated several dependencies, including Angus Mail to 2.0.4 and Jetty (test) to 12.1.12.</p> </li> <li> <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 e3d78330ad1ba024fd987fd00c3ffb9cfcdb07dc associated with the tag <code>v_1.6.2</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> </li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/qos-ch/logback/commit/e8e824dede022a6d7208b36cfa875b0d1b7772f3"><code>e8e824d</code></a> prepare release 1.6.3</li> <li><a href="https://github.com/qos-ch/logback/commit/761821bfaacac3a0ad44fa546cfc814429bf9312"><code>761821b</code></a> MDCBasedDiscriminator has a gated warning mechanism</li> <li><a href="https://github.com/qos-ch/logback/commit/53ed1229008d8b1902f5c234deaa07d742890879"><code>53ed122</code></a> update copyright year</li> <li><a href="https://github.com/qos-ch/logback/commit/c7e2db244671ffa916182b5da8c89579eb54a645"><code>c7e2db2</code></a> rename SimpleInvocationGate as FixedIntervalInvocationGate</li> <li><a href="https://github.com/qos-ch/logback/commit/b5aa931b096a4b0b6a9e140b74fabe7da152cbf0"><code>b5aa931</code></a> added BatchedSimpleInvocationGate</li> <li><a href="https://github.com/qos-ch/logback/commit/1f22af7686aadd25c08b4bd1e6943a906a743ad4"><code>1f22af7</code></a> add javadocs to SimpleInvocationGate</li> <li><a href="https://github.com/qos-ch/logback/commit/638ffa7e7852478b605a91b3e91238ff26f8158c"><code>638ffa7</code></a> prevent forward and backward slashes to escape to other directories</li> <li><a href="https://github.com/qos-ch/logback/commit/7d6b9a4f8c8996834c0a694f6c141705a003d7bb"><code>7d6b9a4</code></a> add missing ch.qos.logback.core.property package</li> <li><a href="https://github.com/qos-ch/logback/commit/fa25930346f35636fb6a077c1f66ebb06edd3b6f"><code>fa25930</code></a> add an extension path in ConsoleAppender for JansiConsoleAppender</li> <li><a href="https://github.com/qos-ch/logback/commit/c73b43f2011f9d4545abc7ea461172276a0a43b3"><code>c73b43f</code></a> deprecate the withJansi path</li> <li>Additional commits viewable in <a href="https://github.com/qos-ch/logback/compare/v_1.6.1...v_1.6.3">compare view</a></li> </ul> </details> <br /> Updates `ch.qos.logback:logback-classic` from 1.6.1 to 1.6.3 <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.3</h2> <h1>2026-08-14 Release of logback version 1.6.3</h1> <ul> <li> <p>In response <a href="https://www.cve.org/cverecord?id=CVE-2026-19880">CVE-2026-19880</a>, <code>MDCBasedDiscriminator</code> (used by <code>SiftingAppender</code>) now strips forward and backward slashes (<code>/</code>, <code>\</code>) from MDC values before they are used as discriminating keys. This prevents path segments from escaping into destinations controlled by an attacker. When sanitisation actually changes a value, a warning is emitted; the warning is rate-limited (a small batch, then a lull of about ten minutes).</p> </li> <li> <p>Colour console support is split out into a dedicated <a href="https://logback.qos.ch/manual/appenders.html#JansiConsoleAppender"><code>JansiConsoleAppender</code></a>. It wraps stdout or stderr with Jansi so ANSI escape sequences (for example coloured patterns) render correctly on terminals that need it, notably Windows. Prefer this class over the older path described next. See the <a href="https://logback.qos.ch/manual/appenders.html#JansiConsoleAppender">appenders documentation</a>.</p> </li> <li> <p>The <code>withJansi</code> property on <code>ConsoleAppender</code> is <strong>deprecated</strong>. Existing configurations that still set <code><withJansi>true</withJansi></code> continue to work for compatibility, but new setups should use <code>JansiConsoleAppender</code> instead.</p> </li> <li> <p><code>ConsoleAppender</code> no longer treats the process console as an exclusive resource: stopping it does not close <code>System.out</code> / <code>System.err</code>. <code>JansiConsoleAppender</code> pairs each <code>AnsiConsole.systemInstall()</code> with <code>systemUninstall()</code> on stop, so repeated start/stop cycles do not leave Jansi installed or tear down streams shared with the rest of the JVM. Related behavior is covered by tests for <a href="https://redirect.github.com/qos-ch/logback/issues/1063">issues/1063</a>.</p> </li> <li> <p>Invocation throttling helpers were reworked: <code>SimpleInvocationGate</code> is renamed <code>FixedIntervalInvocationGate</code>, and <code>BatchedFixedIntervalInvocationGate</code> allows a short burst of invocations before applying a fixed lull. The sanitisation warning above uses the batched gate.</p> </li> <li> <p>The JPMS <code>module-info</code> for logback-core now exports the <code>ch.qos.logback.core.property</code> package, which had been missing from the module descriptor.</p> </li> <li> <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 <code>e8e824dede022a6d7208b36cfa875b0d1b7772f3</code> associated with the tag <code>v_1.6.3</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> </li> </ul> <p>-- Sponsoring SLF4J/logback/reload4j at <a href="https://github.com/sponsors/qos-ch">https://github.com/sponsors/qos-ch</a></p> <h2>Logback 1.6.2</h2> <p><a href="https://github.com/user-attachments/assets/9ceaf157-b758-4188-815d-edfe4e1b4edd">https://github.com/user-attachments/assets/9ceaf157-b758-4188-815d-edfe4e1b4edd</a></p> <h1>2026-08-10 Release of logback version 1.6.2</h1> <ul> <li> <p>Configuration analysis now detects <em>contradictory caller-data inclusion instructions</em>. For example, an <code>AsyncAppender</code>, <code>SocketAppender</code> or <code>SMTPAppender</code> with <code>includeCallerData</code> left at the default <code>false</code> is incompatible with a layout or encoder pattern that uses a caller-data converter such as <code>%C</code>, <code>%M</code>, <code>%L</code>, <code>%F</code>, <code>%l</code> or <code>%caller</code>. At runtime those converters would print question marks and still incur extraction cost on a worker thread. Logback now emits a configuration-time warning when such instructions disagree. See <a href="https://logback.qos.ch/codes.html#callerContradiction">codes.html#callerContradiction</a> for details. This issue was reported in <a href="https://redirect.github.com/qos-ch/logback/issues/1059">issues/1059</a> by <a href="https://github.com/leeychee">leeychee</a>. The initial analysis was contributed by <a href="https://github.com/seonwooj0810">seonwoo_jung</a>.</p> </li> <li> <p>Caller-contradiction analysis can be turned off by setting the <code>logback.skipCallerContradictionAnalysis</code> variable to <code>true</code>, either as a system property (<code>-Dlogback.skipCallerContradictionAnalysis=true</code>) or as a property in the configuration file:</p> <pre lang="xml"><code><property name="logback.skipCallerContradictionAnalysis" value="true"/> </code></pre> </li> <li> <p><code>SimpleSocketServer</code> and <code>SimpleSSLSocketServer</code> now require an explicit client IP whitelist. On the command line, pass one or more allowed addresses (single IPs or CIDR ranges) after the configuration file. An empty whitelist means no clients are accepted. When embedding the server programmatically, register allowed addresses with <code>addAllowedClientAddress(String)</code> or <code>setAllowedClientAddresses(Collection)</code> before clients connect. See the documentation on <a href="https://logback.qos.ch/manual/appenders.html#simpleSocketServerClientAccess">restricting client access</a>.</p> </li> <li> <p>Added <code>ThrowableProxyVOBuilder</code> for assembling a <code>ThrowableProxyVO</code> field by field, with a corresponding <code>ThrowableProxyVO.builder()</code> entry point.</p> </li> <li> <p>Dependency analysis handlers now run their <code>postHandle</code> method after child models have been processed, so checks that depend on nested appenders (such as caller-contradiction analysis) see a complete picture.</p> </li> <li> <p>Updated several dependencies, including Angus Mail to 2.0.4 and Jetty (test) to 12.1.12.</p> </li> <li> <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 e3d78330ad1ba024fd987fd00c3ffb9cfcdb07dc associated with the tag <code>v_1.6.2</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> </li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/qos-ch/logback/commit/e8e824dede022a6d7208b36cfa875b0d1b7772f3"><code>e8e824d</code></a> prepare release 1.6.3</li> <li><a href="https://github.com/qos-ch/logback/commit/761821bfaacac3a0ad44fa546cfc814429bf9312"><code>761821b</code></a> MDCBasedDiscriminator has a gated warning mechanism</li> <li><a href="https://github.com/qos-ch/logback/commit/53ed1229008d8b1902f5c234deaa07d742890879"><code>53ed122</code></a> update copyright year</li> <li><a href="https://github.com/qos-ch/logback/commit/c7e2db244671ffa916182b5da8c89579eb54a645"><code>c7e2db2</code></a> rename SimpleInvocationGate as FixedIntervalInvocationGate</li> <li><a href="https://github.com/qos-ch/logback/commit/b5aa931b096a4b0b6a9e140b74fabe7da152cbf0"><code>b5aa931</code></a> added BatchedSimpleInvocationGate</li> <li><a href="https://github.com/qos-ch/logback/commit/1f22af7686aadd25c08b4bd1e6943a906a743ad4"><code>1f22af7</code></a> add javadocs to SimpleInvocationGate</li> <li><a href="https://github.com/qos-ch/logback/commit/638ffa7e7852478b605a91b3e91238ff26f8158c"><code>638ffa7</code></a> prevent forward and backward slashes to escape to other directories</li> <li><a href="https://github.com/qos-ch/logback/commit/7d6b9a4f8c8996834c0a694f6c141705a003d7bb"><code>7d6b9a4</code></a> add missing ch.qos.logback.core.property package</li> <li><a href="https://github.com/qos-ch/logback/commit/fa25930346f35636fb6a077c1f66ebb06edd3b6f"><code>fa25930</code></a> add an extension path in ConsoleAppender for JansiConsoleAppender</li> <li><a href="https://github.com/qos-ch/logback/commit/c73b43f2011f9d4545abc7ea461172276a0a43b3"><code>c73b43f</code></a> deprecate the withJansi path</li> <li>Additional commits viewable in <a href="https://github.com/qos-ch/logback/compare/v_1.6.1...v_1.6.3">compare view</a></li> </ul> </details> <br /> 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> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
b8cfde3a7a |
build(deps): bump imageioVersion from 3.13.1 to 3.14.0 (#7598)
Bumps `imageioVersion` from 3.13.1 to 3.14.0. Updates `com.twelvemonkeys.imageio:imageio-batik` from 3.13.1 to 3.14.0 Updates `com.twelvemonkeys.imageio:imageio-bmp` from 3.13.1 to 3.14.0 Updates `com.twelvemonkeys.imageio:imageio-jpeg` from 3.13.1 to 3.14.0 Updates `com.twelvemonkeys.imageio:imageio-tiff` from 3.13.1 to 3.14.0 Updates `com.twelvemonkeys.imageio:imageio-webp` from 3.13.1 to 3.14.0 Updates `com.twelvemonkeys.imageio:imageio-psd` from 3.13.1 to 3.14.0 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> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
91fc26f10c |
chore: Bump version to 2.14.3 (#7554)
# Description of Changes This PR bumps the Stirling PDF application version from `2.14.2` to `2.14.3` across the project. Changes include: - Updated the Gradle project version in `build.gradle` to `2.14.3`. - Updated the Tauri desktop application version in `frontend/editor/src-tauri/tauri.conf.json`. - Updated the AUR package version for `stirling-pdf-desktop`. - Updated the AUR package version for `stirling-pdf-server-bin`. - Updated the mocked `appVersion` used by the core frontend server experience simulations. - Updated the mocked `appVersion` used by the proprietary frontend server experience simulations. - Kept all application, desktop, packaging, and test/simulation version references synchronized for the `2.14.3` release. The change prepares the project metadata and packaging configuration for the `2.14.3` release and prevents different components from reporting or packaging the previous `2.14.2` version. --- ## Checklist ### General - [ ] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [ ] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md) (if applicable) - [ ] I have performed a self-review of my own code - [ ] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### Translations (if applicable) - [ ] I ran [`scripts/counter_translation.py`](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/docs/counter_translation.md) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have run `task check` to verify linters, typechecks, and tests pass - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md#7-testing) for more details. |
||
|
|
9a90797041 |
build(deps): bump awsSdkVersion from 2.51.2 to 2.51.3 (#7529)
Bumps `awsSdkVersion` from 2.51.2 to 2.51.3. Updates `software.amazon.awssdk:s3` from 2.51.2 to 2.51.3 Updates `software.amazon.awssdk:url-connection-client` from 2.51.2 to 2.51.3 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> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
eece9fbdf8 |
build(deps): bump commons-net:commons-net from 3.11.1 to 3.13.0 (#7517)
Bumps [commons-net:commons-net](https://github.com/apache/commons-net) from 3.11.1 to 3.13.0. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/apache/commons-net/blob/master/RELEASE-NOTES.txt">commons-net:commons-net's changelog</a>.</em></p> <blockquote> <h2>Apache Commons Net 3.13.0 Release Notes</h2> <p>The Apache Commons Net team is pleased to announce the release of Apache Commons Net 3.13.0.</p> <p>Apache Commons Net library contains a collection of network utilities and protocol implementations. Supported protocols include Echo, Finger, FTP, NNTP, NTP, POP3(S), SMTP(S), Telnet, and Whois.</p> <p>This is a feature and maintenance release. Java 8 or later is required.</p> <p>For complete information on Apache Commons Net, including instructions on how to submit bug reports, patches, or suggestions for improvement, see the Apache Commons Net website:</p> <p><a href="https://commons.apache.org/proper/commons-net/">https://commons.apache.org/proper/commons-net/</a></p> <p>Download page: <a href="https://commons.apache.org/proper/commons-net/download_net.cgi">https://commons.apache.org/proper/commons-net/download_net.cgi</a></p> <h2>New features</h2> <p>o Add DatagramSocketClient.getDefaultTimeoutDuration() and deprecate getDefaultTimeout(). Thanks to Gary Gregory. o NET-741: Add subnet IPv6 handling with SubnetUtils6 <a href="https://redirect.github.com/apache/commons-net/issues/391">#391</a>. Thanks to Maros Orsak, Gary Gregory.</p> <h2>Fixed Bugs</h2> <p>o DaytimeTCPClientTest now should now pass inside most VPNs. Thanks to Henri Biestro, Gary Gregory. o Migrate tests to JUnit5 <a href="https://redirect.github.com/apache/commons-net/issues/358">#358</a>, <a href="https://redirect.github.com/apache/commons-net/issues/359">#359</a>. Thanks to Jakub Kupczyk, Gary Gregory. o Fix malformed Javadoc comments. Thanks to Gary Gregory. o IMAPExportMbox now restores the current thread's interrupt flag when catching InterruptedException. Thanks to Gary Gregory. o IOUtil.readWrite() now restores the current thread's interrupt flag when catching InterruptedException. Thanks to Gary Gregory. o TelnetInputStream now restores the current thread's interrupt flag when catching InterruptedException. Thanks to Gary Gregory. o NET-740: FTP fails to parse listings for Linux vsftpd in Chinese or Japanese <a href="https://redirect.github.com/apache/commons-net/issues/393">#393</a>. Thanks to Jianwei Guo, Gary Gregory. o TelnetInputStream.read() doesn't preserve the original InterruptedException as the cause of its InterruptedIOException. Thanks to Gary Gregory. o FTPClient._storeFile(String, String, InputStream) doesn't always close it's internal socket when an exception is thrown early in processing. Thanks to Gary Gregory. o ListenerList.removeListener(T) now ignores null input to avoid a NullPointerException. Thanks to Gary Gregory. o ListenerList.addListener(T) now ignores null input. Thanks to Gary Gregory. o Fix typo in FTPConnectionClosedException message from FTP.getReply(boolean). Thanks to Gary Gregory. o Reimplement Util.copyReader() with IOUtils.copyLarge(). Thanks to Gary Gregory. o Reimplement Util.copyStream() with IOUtils.copyLarge(). Thanks to Gary Gregory. o Reimplement Util.copyStream() with IOUtils.copyLarge(). Thanks to Gary Gregory. o Deprecate Util.copyReader(Reader, Writer) in favor of IOUtils.copyLarge(Reader, Writer). Thanks to Gary Gregory.</p> <h2>Changes</h2> <p>o Bump org.apache.commons:commons-parent from 85 to 97 <a href="https://redirect.github.com/apache/commons-net/issues/371">#371</a>, <a href="https://redirect.github.com/apache/commons-net/issues/388">#388</a>, <a href="https://redirect.github.com/apache/commons-net/issues/389">#389</a>. Thanks to Gary Gregory, Dependabot. o Bump org.apache.commons:commons-lang3 from 3.18.0 to 3.19.0. Thanks to Gary Gregory, Dependabot.</p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/apache/commons-net/commit/35fa0dff3e8660359832e72631ff3cf557b543a8"><code>35fa0df</code></a> Prepare for the release candidate 3.13.0 RC1</li> <li><a href="https://github.com/apache/commons-net/commit/1cc5b6e77d86bb54131742fee175e7c700bbf2ca"><code>1cc5b6e</code></a> Prepare for the next release candidate</li> <li><a href="https://github.com/apache/commons-net/commit/a4b246e085c1d3ce5936806d8f85d2e826daca8a"><code>a4b246e</code></a> Reuse IOUtils.copyLarge()</li> <li><a href="https://github.com/apache/commons-net/commit/e5ca262cea38b2f889eb003818cf9f97a6395ad6"><code>e5ca262</code></a> Javadoc</li> <li><a href="https://github.com/apache/commons-net/commit/3cb18ec82ef0b3640536137639763a682994a61e"><code>3cb18ec</code></a> Deprecate Util.copyReader(Reader, Writer) in favor of</li> <li><a href="https://github.com/apache/commons-net/commit/3373d77db2376665a034e753e3646251b3d23aa4"><code>3373d77</code></a> Reimplement Util.copyReader() with IOUtils.copyLarge()</li> <li><a href="https://github.com/apache/commons-net/commit/3be2077ccf1da69614a7883ed352037e30f3366f"><code>3be2077</code></a> Reimplement Util.copyStream() with IOUtils.copyLarge()</li> <li><a href="https://github.com/apache/commons-net/commit/7b41144008427acceea596ac74f36e716ea2586e"><code>7b41144</code></a> Javadoc</li> <li><a href="https://github.com/apache/commons-net/commit/1b584b493ffa6a1b42cbda3c7f683e073f1a3bdf"><code>1b584b4</code></a> Fix typo in FTPConnectionClosedException message from</li> <li><a href="https://github.com/apache/commons-net/commit/3792023843b95dabe60fb745287cae94c8a44be5"><code>3792023</code></a> Javadoc</li> <li>Additional commits viewable in <a href="https://github.com/apache/commons-net/compare/rel/commons-net-3.11.1...rel/commons-net-3.13.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> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
88afdd07af |
build(deps): bump awsSdkVersion from 2.44.12 to 2.51.2 (#7371)
Bumps `awsSdkVersion` from 2.44.12 to 2.51.2. Updates `software.amazon.awssdk:s3` from 2.44.12 to 2.51.2 Updates `software.amazon.awssdk:url-connection-client` from 2.44.12 to 2.51.2 Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
3bb3b721de |
build(deps): bump logback from 1.5.32 to 1.6.1 (#7339)
Bumps `logback` from 1.5.32 to 1.6.1. Updates `ch.qos.logback:logback-core` from 1.5.32 to 1.6.1 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/qos-ch/logback/releases">ch.qos.logback:logback-core's releases</a>.</em></p> <blockquote> <h2>Logback 1.6.1</h2> <p><strong>2026-07-28 Release of logback version 1.6.1</strong></p> <p>• In TimeBasedRollingPolicy, when the file option is set, the intermediate file renamed before asynchronous compression now receives the target archive name without the compression suffix (e.g. <code>.gz</code>, <code>.zip</code>, <code>.xz</code>). Previously it used a nanotime-based <code>.tmp</code> suffix. This makes the file easier to identify if compression fails during rollover. (See also the following paragraph.)</p> <p>• On GZ, ZIP, or XZ compression failure, the original (uncompressed) log file is no longer deleted. Compression strategies now delete the source file only after successful compression and emit a warning that the original was left intact.</p> <p>• ConsoleAppender with <!-- raw HTML omitted --> now probes JLine's org.jline.jansi.AnsiConsole first and falls back to the legacy FuseSource org.fusesource.jansi.AnsiConsole class. This keeps ANSI coloring working after Jansi moved under the JLine project. The optional org.jline:jansi-core artifact is declared as a dependency alongside the existing FuseSource jansi dependency. A preferredJansiClassName property was added for tests. This issue was reported in <a href="https://redirect.github.com/qos-ch/logback/issues/1043">issues/1043</a> by <a href="https://github.com/seonwooj0810">seonwoo_jung</a> who also provided the relevant PR.</p> <p>• LayoutWrappingEncoder now reports an error at start() when no layout is set and guards encode() against a null layout. Previously, a missing layout (for example after an ignored <!-- raw HTML omitted -->/<!-- raw HTML omitted -->/<!-- raw HTML omitted --> branch) allowed the encoder to start and then fail with a NullPointerException on every event, resulting in silent log loss. This issue was reported in <a href="https://redirect.github.com/qos-ch/logback/issues/1046">issues/1046</a> by <a href="https://github.com/seonwooj0810">seonwoo_jung</a> who also provided the relevant PR.</p> <p>• FileCollisionAnalyser now detects file collisions involving nested appenders of SiftingAppender. When the nested file or fileNamePattern does not textually reference the discriminator key (e.g. ${userId}), a warning is issued at configuration time naming the appender, the key, and the shared target. This closes a gap where statically declared file appenders were checked but sifted nested appenders were not. This enhancement was contributed in [PR <a href="https://redirect.github.com/qos-ch/logback/issues/1041">#1041</a>](<a href="https://redirect.github.com/qos-ch/logback/issues/1041">qos-ch/logback#1041</a>) by <a href="https://github.com/seonwooj0810">seonwoo_jung</a>.</p> <p>• More defensive handling in SyslogOutputStream and SyslogAppenderBase: the close() method now ensures that resources are closed, writes and flushes check that the underlying resources are in a valid state and fallback to no-op otherwise.</p> <p>• A bit-wise identical binary of this version can be reproduced by building from source code at commit 57759f433000a133088ef0441038963134437fbd associated with the tag v_1.6.1. The release was built using Java "21" 2023-10-17 LTS build 21.0.1.+12-LTS-29 under Linux Debian 11.6.</p> <p>• See <a href="https://logback.qos.ch/news.html#1.6.1">https://logback.qos.ch/news.html#1.6.1</a> for the original text.</p> <h2>Logback 1.6.0</h2> <p><strong>2026-07-23 Release of logback version 1.6.0</strong></p> <p>• Removed certain deprecated variables, methods, and classes. For the list of removed members see <a href="https://logback.qos.ch/notes/release_1.6.0.txt">release_1.6.0.txt.</a></p> <p>• In <code>AsyncAppenderBase</code>, the <code>put(ILoggingEvent)</code> method now has the protected modifier to allow access from derived classes. This change was requested by Thomas Skjølberg in <a href="https://redirect.github.com/qos-ch/logback/pull/1053">pr#1053</a>.</p> <p>• Bump SLF4J dependency to version 2.0.18.</p> <p>• <strong>See also the overview of the <a href="https://logback.qos.ch/news.html#latest_stable">1.6.x series</a>.</strong></p> <p>• A bit-wise identical binary of this version can be reproduced by building from source code at commit b07adf36019b51a10f824fdd94009985c587b1d3 associated with the tag v_1.6.0. 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.5.38</h2> <p><strong>2026-07-09 Release of logback version 1.5.38</strong></p> <p>• In <code>HardenedObjectInputStream</code>, fixed a typo preventing <code>Throwable</code> objects from being white-filtered. This issue was reported in [PR <a href="https://redirect.github.com/qos-ch/logback/issues/1045">#1045</a>](<a href="https://redirect.github.com/qos-ch/logback/pull/1045">qos-ch/logback#1045</a>) by <a href="https://github.com/t0rchwo0d">t0rchwo0d</a>.</p> <p>• A bitwise identical binary of this version can be reproduced by building from source code at commit d04984a41fce42977466f45a2f076f0ee5cc4207 associated with the tag v_1.5.38. Release built using Java "21" 2023-10-17 LTS build 21.0.1.+12-LTS-29 under Linux Debian 11.6.</p> <h2>Logback 1.5.37</h2> <p><strong>2026-06-26 Release of logback version 1.5.37</strong></p> <ol> <li>• Given the numerous vulnerabilities related to conditional configuration processing based on the evaluation of Java expressions using the Janino library, support for such expressions has been removed. Users are offered the an <a href="https://logback.qos.ch/translator/services/conditionalConfigMigrator.html">online migration service</a> or the <code><condition></code> element introduced in version 1.5.20. See the <a href="https://logback.qos.ch/manual/configuration.html#conditional">relevant documentation</a> for more details.</li> </ol> <p>• A bitwise identical binary of this version can be reproduced by building from source code at commit c1df7f522e648eec7b4ef6a12c8758fec0f00048 associated with the tag v_1.5.37. Release built using Java "21" 2023-10-17 LTS build 21.0.1.+12-LTS-29 under Linux Debian 11.6.</p> <h2>Logback 1.5.36</h2> <p><strong>2026-06-25 Release of logback version 1.5.36</strong></p> <p>• The 'condition' attribute in <code><if></code> elements now reject certain references that are associated with ACE attacks. This issue was reported by "yulate" (<a href="mailto:yulate531@gmail.com.com">yulate531@gmail.com.com</a>) and registered as <a href="https://www.cve.org/cverecord?id=CVE-2026-13006">CVE-2026-13006</a>. <strong>Please note that version 1.5.37 provides the full fix to this vulnerability.</strong></p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/qos-ch/logback/commit/57759f433000a133088ef0441038963134437fbd"><code>57759f4</code></a> prepare release 1.6.1</li> <li><a href="https://github.com/qos-ch/logback/commit/175f99f2093ae07f4c8d44f93b800f65b03a6e19"><code>175f99f</code></a> fix imports</li> <li><a href="https://github.com/qos-ch/logback/commit/4b8773ed127fdc62b85a7c7ddaef10f25830788c"><code>4b8773e</code></a> add compressionFailureLeavesOriginalFileIntact test for XZ compression</li> <li><a href="https://github.com/qos-ch/logback/commit/cafaf1115fd20be19b2f7a4a09184446e8bbc04d"><code>cafaf11</code></a> do not delete original file if compression fails</li> <li><a href="https://github.com/qos-ch/logback/commit/ee50125b293f5a731543de9f9f5fb72756a43464"><code>ee50125</code></a> let the temporary file before compression be target file without the .gz or ....</li> <li><a href="https://github.com/qos-ch/logback/commit/5626acc301f4039537a6c668f0f2d51989472785"><code>5626acc</code></a> minor refactoring</li> <li><a href="https://github.com/qos-ch/logback/commit/d97da4fbc0de00ca901ef78d91b9fc1850ae803f"><code>d97da4f</code></a> minor refactoring</li> <li><a href="https://github.com/qos-ch/logback/commit/159c045d8f045ccf8b382775d81d83919c228cca"><code>159c045</code></a> more defensive coding in SyslogOutputStream and in SyslogAppenderBase</li> <li><a href="https://github.com/qos-ch/logback/commit/9427d6b23d5a692c8a76a994c076ef68ded7835c"><code>9427d6b</code></a> slight refactoring for clarity</li> <li><a href="https://github.com/qos-ch/logback/commit/79c4179c0b440a9dcf35bc9bda1ead2b2f90966c"><code>79c4179</code></a> slight refactoring</li> <li>Additional commits viewable in <a href="https://github.com/qos-ch/logback/compare/v_1.5.32...v_1.6.1">compare view</a></li> </ul> </details> <br /> Updates `ch.qos.logback:logback-classic` from 1.5.32 to 1.6.1 <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.1</h2> <p><strong>2026-07-28 Release of logback version 1.6.1</strong></p> <p>• In TimeBasedRollingPolicy, when the file option is set, the intermediate file renamed before asynchronous compression now receives the target archive name without the compression suffix (e.g. <code>.gz</code>, <code>.zip</code>, <code>.xz</code>). Previously it used a nanotime-based <code>.tmp</code> suffix. This makes the file easier to identify if compression fails during rollover. (See also the following paragraph.)</p> <p>• On GZ, ZIP, or XZ compression failure, the original (uncompressed) log file is no longer deleted. Compression strategies now delete the source file only after successful compression and emit a warning that the original was left intact.</p> <p>• ConsoleAppender with <!-- raw HTML omitted --> now probes JLine's org.jline.jansi.AnsiConsole first and falls back to the legacy FuseSource org.fusesource.jansi.AnsiConsole class. This keeps ANSI coloring working after Jansi moved under the JLine project. The optional org.jline:jansi-core artifact is declared as a dependency alongside the existing FuseSource jansi dependency. A preferredJansiClassName property was added for tests. This issue was reported in <a href="https://redirect.github.com/qos-ch/logback/issues/1043">issues/1043</a> by <a href="https://github.com/seonwooj0810">seonwoo_jung</a> who also provided the relevant PR.</p> <p>• LayoutWrappingEncoder now reports an error at start() when no layout is set and guards encode() against a null layout. Previously, a missing layout (for example after an ignored <!-- raw HTML omitted -->/<!-- raw HTML omitted -->/<!-- raw HTML omitted --> branch) allowed the encoder to start and then fail with a NullPointerException on every event, resulting in silent log loss. This issue was reported in <a href="https://redirect.github.com/qos-ch/logback/issues/1046">issues/1046</a> by <a href="https://github.com/seonwooj0810">seonwoo_jung</a> who also provided the relevant PR.</p> <p>• FileCollisionAnalyser now detects file collisions involving nested appenders of SiftingAppender. When the nested file or fileNamePattern does not textually reference the discriminator key (e.g. ${userId}), a warning is issued at configuration time naming the appender, the key, and the shared target. This closes a gap where statically declared file appenders were checked but sifted nested appenders were not. This enhancement was contributed in [PR <a href="https://redirect.github.com/qos-ch/logback/issues/1041">#1041</a>](<a href="https://redirect.github.com/qos-ch/logback/issues/1041">qos-ch/logback#1041</a>) by <a href="https://github.com/seonwooj0810">seonwoo_jung</a>.</p> <p>• More defensive handling in SyslogOutputStream and SyslogAppenderBase: the close() method now ensures that resources are closed, writes and flushes check that the underlying resources are in a valid state and fallback to no-op otherwise.</p> <p>• A bit-wise identical binary of this version can be reproduced by building from source code at commit 57759f433000a133088ef0441038963134437fbd associated with the tag v_1.6.1. The release was built using Java "21" 2023-10-17 LTS build 21.0.1.+12-LTS-29 under Linux Debian 11.6.</p> <p>• See <a href="https://logback.qos.ch/news.html#1.6.1">https://logback.qos.ch/news.html#1.6.1</a> for the original text.</p> <h2>Logback 1.6.0</h2> <p><strong>2026-07-23 Release of logback version 1.6.0</strong></p> <p>• Removed certain deprecated variables, methods, and classes. For the list of removed members see <a href="https://logback.qos.ch/notes/release_1.6.0.txt">release_1.6.0.txt.</a></p> <p>• In <code>AsyncAppenderBase</code>, the <code>put(ILoggingEvent)</code> method now has the protected modifier to allow access from derived classes. This change was requested by Thomas Skjølberg in <a href="https://redirect.github.com/qos-ch/logback/pull/1053">pr#1053</a>.</p> <p>• Bump SLF4J dependency to version 2.0.18.</p> <p>• <strong>See also the overview of the <a href="https://logback.qos.ch/news.html#latest_stable">1.6.x series</a>.</strong></p> <p>• A bit-wise identical binary of this version can be reproduced by building from source code at commit b07adf36019b51a10f824fdd94009985c587b1d3 associated with the tag v_1.6.0. 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.5.38</h2> <p><strong>2026-07-09 Release of logback version 1.5.38</strong></p> <p>• In <code>HardenedObjectInputStream</code>, fixed a typo preventing <code>Throwable</code> objects from being white-filtered. This issue was reported in [PR <a href="https://redirect.github.com/qos-ch/logback/issues/1045">#1045</a>](<a href="https://redirect.github.com/qos-ch/logback/pull/1045">qos-ch/logback#1045</a>) by <a href="https://github.com/t0rchwo0d">t0rchwo0d</a>.</p> <p>• A bitwise identical binary of this version can be reproduced by building from source code at commit d04984a41fce42977466f45a2f076f0ee5cc4207 associated with the tag v_1.5.38. Release built using Java "21" 2023-10-17 LTS build 21.0.1.+12-LTS-29 under Linux Debian 11.6.</p> <h2>Logback 1.5.37</h2> <p><strong>2026-06-26 Release of logback version 1.5.37</strong></p> <ol> <li>• Given the numerous vulnerabilities related to conditional configuration processing based on the evaluation of Java expressions using the Janino library, support for such expressions has been removed. Users are offered the an <a href="https://logback.qos.ch/translator/services/conditionalConfigMigrator.html">online migration service</a> or the <code><condition></code> element introduced in version 1.5.20. See the <a href="https://logback.qos.ch/manual/configuration.html#conditional">relevant documentation</a> for more details.</li> </ol> <p>• A bitwise identical binary of this version can be reproduced by building from source code at commit c1df7f522e648eec7b4ef6a12c8758fec0f00048 associated with the tag v_1.5.37. Release built using Java "21" 2023-10-17 LTS build 21.0.1.+12-LTS-29 under Linux Debian 11.6.</p> <h2>Logback 1.5.36</h2> <p><strong>2026-06-25 Release of logback version 1.5.36</strong></p> <p>• The 'condition' attribute in <code><if></code> elements now reject certain references that are associated with ACE attacks. This issue was reported by "yulate" (<a href="mailto:yulate531@gmail.com.com">yulate531@gmail.com.com</a>) and registered as <a href="https://www.cve.org/cverecord?id=CVE-2026-13006">CVE-2026-13006</a>. <strong>Please note that version 1.5.37 provides the full fix to this vulnerability.</strong></p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/qos-ch/logback/commit/57759f433000a133088ef0441038963134437fbd"><code>57759f4</code></a> prepare release 1.6.1</li> <li><a href="https://github.com/qos-ch/logback/commit/175f99f2093ae07f4c8d44f93b800f65b03a6e19"><code>175f99f</code></a> fix imports</li> <li><a href="https://github.com/qos-ch/logback/commit/4b8773ed127fdc62b85a7c7ddaef10f25830788c"><code>4b8773e</code></a> add compressionFailureLeavesOriginalFileIntact test for XZ compression</li> <li><a href="https://github.com/qos-ch/logback/commit/cafaf1115fd20be19b2f7a4a09184446e8bbc04d"><code>cafaf11</code></a> do not delete original file if compression fails</li> <li><a href="https://github.com/qos-ch/logback/commit/ee50125b293f5a731543de9f9f5fb72756a43464"><code>ee50125</code></a> let the temporary file before compression be target file without the .gz or ....</li> <li><a href="https://github.com/qos-ch/logback/commit/5626acc301f4039537a6c668f0f2d51989472785"><code>5626acc</code></a> minor refactoring</li> <li><a href="https://github.com/qos-ch/logback/commit/d97da4fbc0de00ca901ef78d91b9fc1850ae803f"><code>d97da4f</code></a> minor refactoring</li> <li><a href="https://github.com/qos-ch/logback/commit/159c045d8f045ccf8b382775d81d83919c228cca"><code>159c045</code></a> more defensive coding in SyslogOutputStream and in SyslogAppenderBase</li> <li><a href="https://github.com/qos-ch/logback/commit/9427d6b23d5a692c8a76a994c076ef68ded7835c"><code>9427d6b</code></a> slight refactoring for clarity</li> <li><a href="https://github.com/qos-ch/logback/commit/79c4179c0b440a9dcf35bc9bda1ead2b2f90966c"><code>79c4179</code></a> slight refactoring</li> <li>Additional commits viewable in <a href="https://github.com/qos-ch/logback/compare/v_1.5.32...v_1.6.1">compare view</a></li> </ul> </details> <br /> 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> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
5170509695 |
deps: upgrade mwiede JSch to 2.28.6 and adapt SFTP password handling (#7496)
# Description of Changes This PR replaces #7490 and upgrades `com.github.mwiede:jsch` from `0.2.23` to `2.28.6`. In addition to the dependency bump from the original Dependabot PR, this PR includes the required compatibility adjustment for SFTP password authentication: - Updated `jschVersion` in `build.gradle` from `0.2.23` to `2.28.6`. - Updated `SftpFileClient` to pass the configured password to JSch as UTF-8 encoded bytes instead of using the `String` overload. - Preserved the existing SFTP connection and host-key verification behavior. - Addresses the API compatibility changes introduced by the newer JSch version that prevented the dependency upgrade from being used unchanged. This supersedes #7490 --- ## Checklist ### General - [ ] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [ ] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md) (if applicable) - [ ] I have performed a self-review of my own code - [ ] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### Translations (if applicable) - [ ] I ran [`scripts/counter_translation.py`](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/docs/counter_translation.md) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have run `task check` to verify linters, typechecks, and tests pass - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md#7-testing) for more details. |
||
|
|
1447ed8b62 |
refactor(redact): replace PDFBox-based text redaction with JPDFium (#7364)
# Description of Changes Refactors automatic text redaction to use JPDFium-based redaction/text removal instead of PDFBox Changes: * The `RedactController` now uses the JPDFium native redaction engine (`PdfRedactor.redact`) as the primary method for PDF redaction, with automatic fallback to the manual redaction service if JPDFium fails or throws an exception. This improves reliability and leverages more robust native features when available. * Regex patterns provided by the user are now validated before redaction begins, ensuring invalid patterns are rejected early with clear error messages. * The code now trims and filters out empty or excessively long redaction terms, preventing unnecessary processing and potential errors. <!-- Please provide a summary of the changes, including: - What was changed - Why the change was made - Any challenges encountered Closes #(issue_number) --> --- ## Checklist ### General - [x] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [x] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md) (if applicable) - [x] I have performed a self-review of my own code - [x] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### Translations (if applicable) - [ ] I ran [`scripts/counter_translation.py`](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/docs/counter_translation.md) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [x] I have run `task check` to verify linters, typechecks, and tests pass - [x] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md#7-testing) for more details. |
||
|
|
b33c2d68d6 |
build(deps): bump springSecuritySamlVersion from 7.0.5 to 7.1.0 (#7399)
Bumps `springSecuritySamlVersion` from 7.0.5 to 7.1.0. Updates `org.springframework.security:spring-security-core` from 7.0.5 to 7.1.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/spring-projects/spring-security/releases">org.springframework.security:spring-security-core's releases</a>.</em></p> <blockquote> <h2>7.1.0</h2> <h2>🪲 Bug Fixes</h2> <ul> <li>Opaque token introspectors should not allow empty credentials <a href="https://redirect.github.com/spring-projects/spring-security/issues/19201">#19201</a></li> </ul> <h2>🔨 Dependency Upgrades</h2> <ul> <li>Bump <code>@springio</code>/antora-extensions from 1.14.11 to 1.14.12 in /docs <a href="https://redirect.github.com/spring-projects/spring-security/pull/19235">#19235</a></li> <li>Bump actions/checkout from 6.0.2 to 6.0.3 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19271">#19271</a></li> <li>Bump antora from 3.2.0-alpha.11 to 3.2.0-alpha.12 in /docs <a href="https://redirect.github.com/spring-projects/spring-security/pull/19181">#19181</a></li> <li>Bump ch.qos.logback:logback-classic from 1.5.32 to 1.5.33 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19228">#19228</a></li> <li>Bump ch.qos.logback:logback-classic from 1.5.33 to 1.5.34 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19268">#19268</a></li> <li>Bump com.fasterxml.jackson:jackson-bom from 2.21.2 to 2.21.3 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19133">#19133</a></li> <li>Bump com.fasterxml.jackson:jackson-bom from 2.21.3 to 2.22.0 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19246">#19246</a></li> <li>Bump com.google.code.gson:gson from 2.13.2 to 2.14.0 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19125">#19125</a></li> <li>Bump com.nimbusds:oauth2-oidc-sdk from 11.37 to 11.37.1 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19157">#19157</a></li> <li>Bump com.nimbusds:oauth2-oidc-sdk from 11.37 to 11.37.2 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19195">#19195</a></li> <li>Bump com.webauthn4j:webauthn4j-core from 0.31.3.RELEASE to 0.31.5.RELEASE <a href="https://redirect.github.com/spring-projects/spring-security/pull/19148">#19148</a></li> <li>Bump com.webauthn4j:webauthn4j-core from 0.31.5.RELEASE to 0.31.6.RELEASE <a href="https://redirect.github.com/spring-projects/spring-security/pull/19263">#19263</a></li> <li>Bump gradle-wrapper from 9.4.1 to 9.5.0 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19135">#19135</a></li> <li>Bump gradle-wrapper from 9.5.0 to 9.5.1 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19171">#19171</a></li> <li>Bump io-micrometer from 1.16.5 to 1.17.0 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19287">#19287</a></li> <li>Bump io.mockk:mockk from 1.14.9 to 1.14.11 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19244">#19244</a></li> <li>Bump io.projectreactor:reactor-bom from 2025.0.5 to 2025.0.6 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19296">#19296</a></li> <li>Bump org-jetbrains-kotlin from 2.3.20 to 2.3.21 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19126">#19126</a></li> <li>Bump org-jetbrains-kotlin from 2.3.21 to 2.4.0 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19264">#19264</a></li> <li>Bump org-opensaml5 from 5.2.1 to 5.2.2 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19176">#19176</a></li> <li>Bump org.apache.maven:maven-resolver-provider from 3.9.15 to 3.9.16 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19190">#19190</a></li> <li>Bump org.apereo.cas.client:cas-client-core from 4.1.0 to 4.1.1 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19200">#19200</a></li> <li>Bump org.hibernate.orm:hibernate-core from 7.3.1.Final to 7.3.2.Final <a href="https://redirect.github.com/spring-projects/spring-security/pull/19119">#19119</a></li> <li>Bump org.hibernate.orm:hibernate-core from 7.3.2.Final to 7.3.3.Final <a href="https://redirect.github.com/spring-projects/spring-security/pull/19149">#19149</a></li> <li>Bump org.hibernate.orm:hibernate-core from 7.3.3.Final to 7.3.4.Final <a href="https://redirect.github.com/spring-projects/spring-security/pull/19165">#19165</a></li> <li>Bump org.hibernate.orm:hibernate-core from 7.3.4.Final to 7.3.5.Final <a href="https://redirect.github.com/spring-projects/spring-security/pull/19191">#19191</a></li> <li>Bump org.hibernate.orm:hibernate-core from 7.3.5.Final to 7.3.6.Final <a href="https://redirect.github.com/spring-projects/spring-security/pull/19211">#19211</a></li> <li>Bump org.hibernate.orm:hibernate-core from 7.3.6.Final to 7.4.0.Final <a href="https://redirect.github.com/spring-projects/spring-security/pull/19226">#19226</a></li> <li>Bump org.jetbrains.kotlinx:kotlinx-coroutines-bom from 1.10.2 to 1.11.0 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19166">#19166</a></li> <li>Bump org.junit:junit-bom from 6.0.3 to 6.1.0 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19197">#19197</a></li> <li>Bump org.slf4j:slf4j-api from 2.0.17 to 2.0.18 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19169">#19169</a></li> <li>Bump org.springframework.data:spring-data-bom from 2025.1.5 to 2025.1.6 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19290">#19290</a></li> <li>Bump org.springframework.ldap:spring-ldap-core from 4.0.3 to 4.1.0 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19291">#19291</a></li> <li>Bump org.springframework:spring-framework-bom from 7.0.7 to 7.0.8 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19285">#19285</a></li> <li>Bump spring-io/spring-release-actions from 0.0.4 to 0.0.5 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19179">#19179</a></li> <li>Bump tools.jackson:jackson-bom from 3.1.2 to 3.1.3 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19147">#19147</a></li> <li>Bump tools.jackson:jackson-bom from 3.1.3 to 3.1.4 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19245">#19245</a></li> <li>Bump tools.jackson:jackson-bom from 3.1.4 to 3.2.0 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19286">#19286</a></li> <li>Update to spring-data-bom 2026.0.0 <a href="https://redirect.github.com/spring-projects/spring-security/issues/19303">#19303</a></li> </ul> <h2>🔩 Build Updates</h2> <ul> <li>Release 7.1.0 <a href="https://redirect.github.com/spring-projects/spring-security/issues/19218">#19218</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/spring-projects/spring-security/commit/8078781a6bdbd0c44755d24e13839d041caece34"><code>8078781</code></a> Release 7.1.0</li> <li><a href="https://github.com/spring-projects/spring-security/commit/835ca03dd906e80ab1a97759f8ecc8dd30a93e04"><code>835ca03</code></a> Merge branch '7.0.x'</li> <li><a href="https://github.com/spring-projects/spring-security/commit/15e2488c84dbf0eac0f5d3f39cf8f1c49a07abd9"><code>15e2488</code></a> Sync branch 'main'</li> <li><a href="https://github.com/spring-projects/spring-security/commit/62c4d60524ba0b25d6f0e969ce08dca3987a5019"><code>62c4d60</code></a> Merge branch '6.5.x' into 7.0.x</li> <li><a href="https://github.com/spring-projects/spring-security/commit/d884913175bcedb63ef1f7e44799de1ee2cd18f2"><code>d884913</code></a> Sync branch '7.0.x'</li> <li><a href="https://github.com/spring-projects/spring-security/commit/fd5dae5e4d3fece143d03f9ca2eba10ff3a420fc"><code>fd5dae5</code></a> Sync branch '6.5.x'</li> <li><a href="https://github.com/spring-projects/spring-security/commit/65f43d6894eb304ad2ecc33739aeae7f02d49efd"><code>65f43d6</code></a> Merge branch '7.0.x'</li> <li><a href="https://github.com/spring-projects/spring-security/commit/d29c76113545c22da5583c802ce419b116f5d678"><code>d29c761</code></a> Merge branch '6.5.x' into 7.0.x</li> <li><a href="https://github.com/spring-projects/spring-security/commit/700a4533aa70603d4076dc5ebf052b72312a39e5"><code>700a453</code></a> Bump ch.qos.logback:logback-classic from 1.5.32 to 1.5.34</li> <li><a href="https://github.com/spring-projects/spring-security/commit/831bfd7ffa3dc5d2790ed5ffedcfb9f6b78924da"><code>831bfd7</code></a> Update to spring-data-bom 2026.0.0</li> <li>Additional commits viewable in <a href="https://github.com/spring-projects/spring-security/compare/7.0.5...7.1.0">compare view</a></li> </ul> </details> <br /> Updates `org.springframework.security:spring-security-saml2-service-provider` from 7.0.5 to 7.1.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/spring-projects/spring-security/releases">org.springframework.security:spring-security-saml2-service-provider's releases</a>.</em></p> <blockquote> <h2>7.1.0</h2> <h2>🪲 Bug Fixes</h2> <ul> <li>Opaque token introspectors should not allow empty credentials <a href="https://redirect.github.com/spring-projects/spring-security/issues/19201">#19201</a></li> </ul> <h2>🔨 Dependency Upgrades</h2> <ul> <li>Bump <code>@springio</code>/antora-extensions from 1.14.11 to 1.14.12 in /docs <a href="https://redirect.github.com/spring-projects/spring-security/pull/19235">#19235</a></li> <li>Bump actions/checkout from 6.0.2 to 6.0.3 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19271">#19271</a></li> <li>Bump antora from 3.2.0-alpha.11 to 3.2.0-alpha.12 in /docs <a href="https://redirect.github.com/spring-projects/spring-security/pull/19181">#19181</a></li> <li>Bump ch.qos.logback:logback-classic from 1.5.32 to 1.5.33 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19228">#19228</a></li> <li>Bump ch.qos.logback:logback-classic from 1.5.33 to 1.5.34 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19268">#19268</a></li> <li>Bump com.fasterxml.jackson:jackson-bom from 2.21.2 to 2.21.3 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19133">#19133</a></li> <li>Bump com.fasterxml.jackson:jackson-bom from 2.21.3 to 2.22.0 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19246">#19246</a></li> <li>Bump com.google.code.gson:gson from 2.13.2 to 2.14.0 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19125">#19125</a></li> <li>Bump com.nimbusds:oauth2-oidc-sdk from 11.37 to 11.37.1 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19157">#19157</a></li> <li>Bump com.nimbusds:oauth2-oidc-sdk from 11.37 to 11.37.2 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19195">#19195</a></li> <li>Bump com.webauthn4j:webauthn4j-core from 0.31.3.RELEASE to 0.31.5.RELEASE <a href="https://redirect.github.com/spring-projects/spring-security/pull/19148">#19148</a></li> <li>Bump com.webauthn4j:webauthn4j-core from 0.31.5.RELEASE to 0.31.6.RELEASE <a href="https://redirect.github.com/spring-projects/spring-security/pull/19263">#19263</a></li> <li>Bump gradle-wrapper from 9.4.1 to 9.5.0 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19135">#19135</a></li> <li>Bump gradle-wrapper from 9.5.0 to 9.5.1 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19171">#19171</a></li> <li>Bump io-micrometer from 1.16.5 to 1.17.0 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19287">#19287</a></li> <li>Bump io.mockk:mockk from 1.14.9 to 1.14.11 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19244">#19244</a></li> <li>Bump io.projectreactor:reactor-bom from 2025.0.5 to 2025.0.6 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19296">#19296</a></li> <li>Bump org-jetbrains-kotlin from 2.3.20 to 2.3.21 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19126">#19126</a></li> <li>Bump org-jetbrains-kotlin from 2.3.21 to 2.4.0 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19264">#19264</a></li> <li>Bump org-opensaml5 from 5.2.1 to 5.2.2 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19176">#19176</a></li> <li>Bump org.apache.maven:maven-resolver-provider from 3.9.15 to 3.9.16 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19190">#19190</a></li> <li>Bump org.apereo.cas.client:cas-client-core from 4.1.0 to 4.1.1 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19200">#19200</a></li> <li>Bump org.hibernate.orm:hibernate-core from 7.3.1.Final to 7.3.2.Final <a href="https://redirect.github.com/spring-projects/spring-security/pull/19119">#19119</a></li> <li>Bump org.hibernate.orm:hibernate-core from 7.3.2.Final to 7.3.3.Final <a href="https://redirect.github.com/spring-projects/spring-security/pull/19149">#19149</a></li> <li>Bump org.hibernate.orm:hibernate-core from 7.3.3.Final to 7.3.4.Final <a href="https://redirect.github.com/spring-projects/spring-security/pull/19165">#19165</a></li> <li>Bump org.hibernate.orm:hibernate-core from 7.3.4.Final to 7.3.5.Final <a href="https://redirect.github.com/spring-projects/spring-security/pull/19191">#19191</a></li> <li>Bump org.hibernate.orm:hibernate-core from 7.3.5.Final to 7.3.6.Final <a href="https://redirect.github.com/spring-projects/spring-security/pull/19211">#19211</a></li> <li>Bump org.hibernate.orm:hibernate-core from 7.3.6.Final to 7.4.0.Final <a href="https://redirect.github.com/spring-projects/spring-security/pull/19226">#19226</a></li> <li>Bump org.jetbrains.kotlinx:kotlinx-coroutines-bom from 1.10.2 to 1.11.0 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19166">#19166</a></li> <li>Bump org.junit:junit-bom from 6.0.3 to 6.1.0 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19197">#19197</a></li> <li>Bump org.slf4j:slf4j-api from 2.0.17 to 2.0.18 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19169">#19169</a></li> <li>Bump org.springframework.data:spring-data-bom from 2025.1.5 to 2025.1.6 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19290">#19290</a></li> <li>Bump org.springframework.ldap:spring-ldap-core from 4.0.3 to 4.1.0 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19291">#19291</a></li> <li>Bump org.springframework:spring-framework-bom from 7.0.7 to 7.0.8 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19285">#19285</a></li> <li>Bump spring-io/spring-release-actions from 0.0.4 to 0.0.5 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19179">#19179</a></li> <li>Bump tools.jackson:jackson-bom from 3.1.2 to 3.1.3 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19147">#19147</a></li> <li>Bump tools.jackson:jackson-bom from 3.1.3 to 3.1.4 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19245">#19245</a></li> <li>Bump tools.jackson:jackson-bom from 3.1.4 to 3.2.0 <a href="https://redirect.github.com/spring-projects/spring-security/pull/19286">#19286</a></li> <li>Update to spring-data-bom 2026.0.0 <a href="https://redirect.github.com/spring-projects/spring-security/issues/19303">#19303</a></li> </ul> <h2>🔩 Build Updates</h2> <ul> <li>Release 7.1.0 <a href="https://redirect.github.com/spring-projects/spring-security/issues/19218">#19218</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/spring-projects/spring-security/commit/8078781a6bdbd0c44755d24e13839d041caece34"><code>8078781</code></a> Release 7.1.0</li> <li><a href="https://github.com/spring-projects/spring-security/commit/835ca03dd906e80ab1a97759f8ecc8dd30a93e04"><code>835ca03</code></a> Merge branch '7.0.x'</li> <li><a href="https://github.com/spring-projects/spring-security/commit/15e2488c84dbf0eac0f5d3f39cf8f1c49a07abd9"><code>15e2488</code></a> Sync branch 'main'</li> <li><a href="https://github.com/spring-projects/spring-security/commit/62c4d60524ba0b25d6f0e969ce08dca3987a5019"><code>62c4d60</code></a> Merge branch '6.5.x' into 7.0.x</li> <li><a href="https://github.com/spring-projects/spring-security/commit/d884913175bcedb63ef1f7e44799de1ee2cd18f2"><code>d884913</code></a> Sync branch '7.0.x'</li> <li><a href="https://github.com/spring-projects/spring-security/commit/fd5dae5e4d3fece143d03f9ca2eba10ff3a420fc"><code>fd5dae5</code></a> Sync branch '6.5.x'</li> <li><a href="https://github.com/spring-projects/spring-security/commit/65f43d6894eb304ad2ecc33739aeae7f02d49efd"><code>65f43d6</code></a> Merge branch '7.0.x'</li> <li><a href="https://github.com/spring-projects/spring-security/commit/d29c76113545c22da5583c802ce419b116f5d678"><code>d29c761</code></a> Merge branch '6.5.x' into 7.0.x</li> <li><a href="https://github.com/spring-projects/spring-security/commit/700a4533aa70603d4076dc5ebf052b72312a39e5"><code>700a453</code></a> Bump ch.qos.logback:logback-classic from 1.5.32 to 1.5.34</li> <li><a href="https://github.com/spring-projects/spring-security/commit/831bfd7ffa3dc5d2790ed5ffedcfb9f6b78924da"><code>831bfd7</code></a> Update to spring-data-bom 2026.0.0</li> <li>Additional commits viewable in <a href="https://github.com/spring-projects/spring-security/compare/7.0.5...7.1.0">compare view</a></li> </ul> </details> <br /> 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> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
2b6bb71186 |
fix(build): ensure ./gradlew clean removes stale SaaS build artifacts (#7434)
### Motivation
- `./gradlew clean` on the default/proprietary flavor did not remove
`app/saas/build` left behind by earlier SaaS builds, causing stale
artifacts to persist across flavors.
### Description
- Add a `clean` hook in `build.gradle` that deletes `app/saas/build`
(`tasks.named('clean') { delete
layout.projectDirectory.dir('app/saas/build') }`) so the root `clean`
always removes SaaS artifacts even when `:saas` is not included.
### Testing
- Created `app/saas/build/clean-regression-marker`, ran `./gradlew
clean`, and verified the `app/saas/build` directory was deleted
(success).
- Ran `./gradlew spotlessCheck test`; Spotless checks passed but the
full test run reported environment-dependent unit test failures
unrelated to this change (8 failures), and `task backend:check` could
not be executed because the `task` CLI is not available in the
environment.
------
[Codex
Task](https://chatgpt.com/codex/cloud/tasks/task_e_6a7b0a9aac888325aa78e05c953355dc)
|
||
|
|
de93a1b5e2 |
build(deps): bump org.sonarqube from 7.2.3.7755 to 7.3.1.8318 (#7271)
Bumps org.sonarqube from 7.2.3.7755 to 7.3.1.8318. [](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> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
8094765bab |
build(licenses): Module-specific license. Add dependency overrides. (#7049)
# Description of Changes This change adds a version-scoped override mechanism for dependencies whose published metadata does not expose a detectable license. - Added `app/license-overrides.json` with verified Apache License 2.0 metadata for: - `com.hubspot.immutables:immutables-exceptions:1.9` - `com.hubspot:algebra:1.5` - Added `ModuleLicenseOverrideFilter` as custom `buildSrc` logic for the Gradle dependency license report plugin. - Applied overrides only when the exact `group:artifact:version` matches and no usable license metadata was detected. - Added automatic maintenance of the override file: - Removes overrides when the dependency is no longer resolved. - Removes overrides when the dependency starts publishing valid license metadata. - Migrates stale overrides to newer unresolved versions and clears their metadata for re-verification. - Adds null-valued placeholders for newly detected dependencies without license metadata. - Preserves populated overrides for newer versions when already present. - Added Gradle version-aware dependency ordering for override migration. - Registered `app/license-overrides.json` as an input for license-report and license-check preparation tasks. - Centralized the dependency license report plugin version in `buildSrc`. - Added unit tests covering override application, cleanup, migration, exact-version matching, concurrent versions, placeholder generation, and numeric version ordering. - Added documentation describing the override lifecycle, verification requirements, maintenance workflow, and validation commands. - Replaced broad null-license allowances for the two HubSpot modules with explicit Apache License 2.0 metadata. - Added accepted GNU Lesser General Public License name variants encountered in dependency metadata. The change was made because some dependencies have known upstream licenses but do not publish license metadata in a form detected by the Gradle license report plugin. Previously, these dependencies were permitted through module-specific null-license exceptions, leaving incomplete information in the generated report. The new mechanism supplies verified metadata without overriding valid metadata published by dependencies. --- ## Checklist ### General - [ ] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [ ] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md) (if applicable) - [ ] I have performed a self-review of my own code - [ ] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### Translations (if applicable) - [ ] I ran [`scripts/counter_translation.py`](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/docs/counter_translation.md) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have run `task check` to verify linters, typechecks, and tests pass - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md#7-testing) for more details. |
||
|
|
921bdac4b7 |
Desktop installer fixes (#7174)
# Description of Changes
* Adds a `windows-11-arm` CI/release leg (NSIS, Microsoft JDK 25,
updater keys); JPDFium natives deliberately excluded
(`jpdfiumPlatforms=none`) until published, so don't ship ARM64
installers to users yet
* Defaults `WEBKIT_DISABLE_DMABUF_RENDERER=1` on Linux (crash switching
tools on NVIDIA)
* Strips the bundled libwayland from AppImages (blank window on Fedora
Wayland)
* Blocks off-app webview navigation + window drop guard + close failsafe
(drag-drop bricks the app)
* 120s startup grace before the backend is declared unhealthy, restart
success only announced after a real health check ("Backend stopped
unexpectedly" spam and likely the OAuth port churn)
* Verified: green `windows-arm64` build (234 MB NSIS artifact) and green
Linux run with libwayland confirmed stripped
* JPDFium fixes for multi threading issues
---
## Checklist
### General
- [ ] I have read the [Contribution
Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md)
- [ ] I have read the [Stirling-PDF Developer
Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md)
(if applicable)
- [ ] I have read the [How to add new languages to
Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md)
(if applicable)
- [ ] I have performed a self-review of my own code
- [ ] My changes generate no new warnings
### Documentation
- [ ] I have updated relevant docs on [Stirling-PDF's doc
repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/)
(if functionality has heavily changed)
- [ ] I have read the section [Add New Translation
Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags)
(for new translation tags only)
### Translations (if applicable)
- [ ] I ran
[`scripts/counter_translation.py`](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/docs/counter_translation.md)
### UI Changes (if applicable)
- [ ] Screenshots or videos demonstrating the UI changes are attached
(e.g., as comments or direct attachments in the PR)
### Testing (if applicable)
- [ ] I have run `task check` to verify linters, typechecks, and tests
pass
- [ ] I have tested my changes locally. Refer to the [Testing
Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md#7-testing)
for more details.
|
||
|
|
b1d03e7fba |
build(deps): bump com.hubspot.jinjava:jinjava from 2.8.3 to 2.8.4 (#7247)
Bumps [com.hubspot.jinjava:jinjava](https://github.com/HubSpot/jinjava) from 2.8.3 to 2.8.4. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/HubSpot/jinjava/releases">com.hubspot.jinjava:jinjava's releases</a>.</em></p> <blockquote> <h2>jinjava-2.8.4</h2> <h3>2026-07-24 Version 2.8.4 (<a href="https://search.maven.org/artifact/com.hubspot.jinjava/jinjava/2.8.4/jar">Maven Central</a>)</h3> <ul> <li><a href="https://redirect.github.com/HubSpot/jinjava/pull/1305">Add support for configurable multi-character delimiters</a></li> <li><a href="https://redirect.github.com/HubSpot/jinjava/pull/1306">Treat backslash as an escape character only inside quoted strings, matching Jinja2</a></li> <li><a href="https://redirect.github.com/HubSpot/jinjava/pull/1311">Add <code>keepTrailingNewline</code> option to match Python Jinja2's default of stripping a single trailing newline</a></li> <li><a href="https://redirect.github.com/HubSpot/jinjava/pull/1308">Auto-convert <code>Integer</code> to <code>Long</code> in set filters when the feature is enabled</a></li> <li><a href="https://redirect.github.com/HubSpot/jinjava/pull/1313">Add a boolean parameter to <code>withUnwrapRawOverride</code></a></li> <li><a href="https://redirect.github.com/HubSpot/jinjava/pull/1289">Introduce <code>BuiltinFeatures</code></a></li> <li><a href="https://redirect.github.com/HubSpot/jinjava/pull/1312">Preserve block tags to maintain reconstruction and execution order</a></li> <li><a href="https://redirect.github.com/HubSpot/jinjava/pull/1258">Fix <code>RenderFilter</code>'s handling of deferred values</a></li> <li><a href="https://redirect.github.com/HubSpot/jinjava/pull/1286">Use <code>isResolvableObject</code> before building a hashcode in eager execution</a></li> <li><a href="https://redirect.github.com/HubSpot/jinjava/pull/1285">Don't require explicitly pushing the <code>JinjavaInterpreter</code> when using it directly</a></li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/HubSpot/jinjava/blob/master/CHANGES.md">com.hubspot.jinjava:jinjava's changelog</a>.</em></p> <blockquote> <h3>2026-07-24 Version 2.8.4 (<a href="https://search.maven.org/artifact/com.hubspot.jinjava/jinjava/2.8.4/jar">Maven Central</a>)</h3> <ul> <li><a href="https://redirect.github.com/HubSpot/jinjava/pull/1305">Add support for configurable multi-character delimiters</a></li> <li><a href="https://redirect.github.com/HubSpot/jinjava/pull/1306">Treat backslash as an escape character only inside quoted strings, matching Jinja2</a></li> <li><a href="https://redirect.github.com/HubSpot/jinjava/pull/1311">Add <code>keepTrailingNewline</code> option to match Python Jinja2's default of stripping a single trailing newline</a></li> <li><a href="https://redirect.github.com/HubSpot/jinjava/pull/1308">Auto-convert <code>Integer</code> to <code>Long</code> in set filters when the feature is enabled</a></li> <li><a href="https://redirect.github.com/HubSpot/jinjava/pull/1313">Add a boolean parameter to <code>withUnwrapRawOverride</code></a></li> <li><a href="https://redirect.github.com/HubSpot/jinjava/pull/1289">Introduce <code>BuiltinFeatures</code></a></li> <li><a href="https://redirect.github.com/HubSpot/jinjava/pull/1312">Preserve block tags to maintain reconstruction and execution order</a></li> <li><a href="https://redirect.github.com/HubSpot/jinjava/pull/1258">Fix <code>RenderFilter</code>'s handling of deferred values</a></li> <li><a href="https://redirect.github.com/HubSpot/jinjava/pull/1286">Use <code>isResolvableObject</code> before building a hashcode in eager execution</a></li> <li><a href="https://redirect.github.com/HubSpot/jinjava/pull/1285">Don't require explicitly pushing the <code>JinjavaInterpreter</code> when using it directly</a></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/HubSpot/jinjava/commit/44a958c47e4e4a7bfad7371b4114fbc09dac3d26"><code>44a958c</code></a> [maven-release-plugin] prepare release jinjava-2.8.4</li> <li><a href="https://github.com/HubSpot/jinjava/commit/b65631687d1eda5d3137ff32ce9d73042c3f9534"><code>b656316</code></a> Merge pull request <a href="https://redirect.github.com/HubSpot/jinjava/issues/1329">#1329</a> from HubSpot/jasmith_hubspot/jinjava-2.8.4-changelog...</li> <li><a href="https://github.com/HubSpot/jinjava/commit/c5916777506a3cb67ff1b609244661501a7e4d1f"><code>c591677</code></a> docs: prepare changelog for jinjava 2.8.4 release</li> <li><a href="https://github.com/HubSpot/jinjava/commit/97238d530498f15c64df3737cbd18f8f462e55dd"><code>97238d5</code></a> Merge pull request <a href="https://redirect.github.com/HubSpot/jinjava/issues/1328">#1328</a> from HubSpot/jasmith_hubspot/tagnode-default-scanner...</li> <li><a href="https://github.com/HubSpot/jinjava/commit/bab6ba338ce43b5d4fa3232be193fbb5d39c25a4"><code>bab6ba3</code></a> fix: default null TokenScannerSymbols to DefaultTokenScannerSymbols</li> <li><a href="https://github.com/HubSpot/jinjava/commit/df3e3d8f7660b35d6ceaee244df1cd2325a3dc56"><code>df3e3d8</code></a> Merge pull request <a href="https://redirect.github.com/HubSpot/jinjava/issues/1325">#1325</a> from HubSpot/jasmith_hubspot/backport-1305-1306-1311...</li> <li><a href="https://github.com/HubSpot/jinjava/commit/8511a71073288f166e032cfa88cb7b82d176a023"><code>8511a71</code></a> Add keepTrailingNewline option to match Python Jinja2 default behaviour</li> <li><a href="https://github.com/HubSpot/jinjava/commit/f9e5c21e2c89c6a7ca2a555c74d34a2549a0df84"><code>f9e5c21</code></a> fix: treat backslash as escape character only inside quoted strings</li> <li><a href="https://github.com/HubSpot/jinjava/commit/f5e5b7bea7f815870731a9ce20df30411522308e"><code>f5e5b7b</code></a> feat: add StringTokenScannerSymbols for configurable multi-character delimiters</li> <li><a href="https://github.com/HubSpot/jinjava/commit/5afaece6bad6a096771396eaaddaf54da3a8609e"><code>5afaece</code></a> Merge pull request <a href="https://redirect.github.com/HubSpot/jinjava/issues/1309">#1309</a> from HubSpot/2.8.x-integer-set-to-long-conversion</li> <li>Additional commits viewable in <a href="https://github.com/HubSpot/jinjava/compare/jinjava-2.8.3...jinjava-2.8.4">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> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
21dff695fe |
Add SFTP, FTP and SMB network sources to the processor (#7153)
# Description of Changes Add SFTP, FTP and SMB network sources to the processor plus UI change to enable it --- ## Checklist ### General - [ ] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [ ] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md) (if applicable) - [ ] I have performed a self-review of my own code - [ ] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### Translations (if applicable) - [ ] I ran [`scripts/counter_translation.py`](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/docs/counter_translation.md) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have run `task check` to verify linters, typechecks, and tests pass - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md#7-testing) for more details. |
||
|
|
4191d347ff |
Fix Java tests not running headless on Mac (#7260)
# Description of Changes The `task backend:test` command automatically spawns new Java processes in the dock on Mac as it runs, which takes the focus away from whatever the developer is doing at the time. This is because there's missing a missing `headless` tag in the `build.gradle` file (the tests don't spawn or require any windows, so they run fine headless). Also adds a `task backend:test:force` rule to run the tests without cache because the cache was getting in the way of testing this. <img width="175" height="98" alt="image" src="https://github.com/user-attachments/assets/d4524959-9c25-4513-bf34-9fd48310c4d3" /> |
||
|
|
02a7db0f1e |
build(deps): bump pdfboxVersion from 3.0.7 to 3.0.8 (#7237)
[//]: # (dependabot-start) ⚠️ **Dependabot is rebasing this PR** ⚠️ Rebasing might not happen immediately, so don't worry if this takes some time. Note: if you make any changes to this PR yourself, they will take precedence over the rebase. --- [//]: # (dependabot-end) Bumps `pdfboxVersion` from 3.0.7 to 3.0.8. Updates `org.apache.pdfbox:preflight` from 3.0.7 to 3.0.8 Updates `org.apache.pdfbox:xmpbox` from 3.0.7 to 3.0.8 Updates `org.apache.pdfbox:pdfbox` from 3.0.7 to 3.0.8 Updates `org.apache.pdfbox:pdfbox-io` from 3.0.7 to 3.0.8 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> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
18fb663b4d |
build(deps): bump bouncycastleVersion from 1.84 to 1.85 (#7132)
Bumps `bouncycastleVersion` from 1.84 to 1.85. Updates `org.bouncycastle:bcprov-jdk18on` from 1.84 to 1.85 <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html">org.bouncycastle:bcprov-jdk18on's changelog</a>.</em></p> <blockquote> <!-- raw HTML omitted --> <!-- raw HTML omitted --> <!-- raw HTML omitted --> <!-- raw HTML omitted --> <!-- raw HTML omitted --> <p><!-- raw HTML omitted --><!-- raw HTML omitted -->2.2.1 Version<!-- raw HTML omitted --><!-- raw HTML omitted --> Release: 1.85, 1.85.1<!-- raw HTML omitted --> Date: 2026, July 12th</p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/bcgit/bc-java/commits">compare view</a></li> </ul> </details> <br /> Updates `org.bouncycastle:bcpkix-jdk18on` from 1.84 to 1.85 <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html">org.bouncycastle:bcpkix-jdk18on's changelog</a>.</em></p> <blockquote> <!-- raw HTML omitted --> <!-- raw HTML omitted --> <!-- raw HTML omitted --> <!-- raw HTML omitted --> <!-- raw HTML omitted --> <p><!-- raw HTML omitted --><!-- raw HTML omitted -->2.2.1 Version<!-- raw HTML omitted --><!-- raw HTML omitted --> Release: 1.85, 1.85.1<!-- raw HTML omitted --> Date: 2026, July 12th</p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/bcgit/bc-java/commits">compare view</a></li> </ul> </details> <br /> Updates `org.bouncycastle:bcutil-jdk18on` from 1.84 to 1.85 <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html">org.bouncycastle:bcutil-jdk18on's changelog</a>.</em></p> <blockquote> <!-- raw HTML omitted --> <!-- raw HTML omitted --> <!-- raw HTML omitted --> <!-- raw HTML omitted --> <!-- raw HTML omitted --> <p><!-- raw HTML omitted --><!-- raw HTML omitted -->2.2.1 Version<!-- raw HTML omitted --><!-- raw HTML omitted --> Release: 1.85, 1.85.1<!-- raw HTML omitted --> Date: 2026, July 12th</p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/bcgit/bc-java/commits">compare view</a></li> </ul> </details> <br /> 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> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Anthony Stirling <77850077+Frooodle@users.noreply.github.com> |
||
|
|
88012c6861 |
build(deps): bump jackson2Version from 2.21.4 to 2.22.1 (#7131)
Bumps `jackson2Version` from 2.21.4 to 2.22.1. Updates `com.fasterxml.jackson.core:jackson-core` from 2.21.4 to 2.22.1 <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/FasterXML/jackson-core/commit/2451603e1931dac6f28ebdbcf308eb24b0f84b26"><code>2451603</code></a> [maven-release-plugin] prepare release jackson-core-2.22.1</li> <li><a href="https://github.com/FasterXML/jackson-core/commit/d3180c0827e45e39c0ca38dc6d650f19aff572ef"><code>d3180c0</code></a> Prep for 2.22.1 release</li> <li><a href="https://github.com/FasterXML/jackson-core/commit/6c5bae8184485c9def18ef98951840830bcdca60"><code>6c5bae8</code></a> Merge branch '2.21' into 2.22</li> <li><a href="https://github.com/FasterXML/jackson-core/commit/fda71aa915d4637c2e8377725eeee9039b740500"><code>fda71aa</code></a> Post-release dep version bump</li> <li><a href="https://github.com/FasterXML/jackson-core/commit/4ad623584c272a8b7de89ea6fd2bb40af1911b4a"><code>4ad6235</code></a> [maven-release-plugin] prepare for next development iteration</li> <li><a href="https://github.com/FasterXML/jackson-core/commit/b5f62dd8cf4b6897bb18a43565495355e45b4e65"><code>b5f62dd</code></a> [maven-release-plugin] prepare release jackson-core-2.21.5</li> <li><a href="https://github.com/FasterXML/jackson-core/commit/11f8b8c2730c48c8da188372af98b1b7a8219172"><code>11f8b8c</code></a> Prep for 2.21.5 release</li> <li><a href="https://github.com/FasterXML/jackson-core/commit/492000443fcfc30bd97ae6a46d924120f39ce21c"><code>4920004</code></a> Post-release version bump</li> <li><a href="https://github.com/FasterXML/jackson-core/commit/2bb55e8634c7fa1c197f995cdd4566ae7b7f4e0f"><code>2bb55e8</code></a> [maven-release-plugin] prepare for next development iteration</li> <li><a href="https://github.com/FasterXML/jackson-core/commit/d763562443cc9d6e224a6265ca3710195c813cf5"><code>d763562</code></a> [maven-release-plugin] prepare release jackson-core-2.22.0</li> <li>Additional commits viewable in <a href="https://github.com/FasterXML/jackson-core/compare/jackson-core-2.21.4...jackson-core-2.22.1">compare view</a></li> </ul> </details> <br /> Updates `com.fasterxml.jackson.core:jackson-databind` from 2.21.4 to 2.22.1 <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/FasterXML/jackson/commits">compare view</a></li> </ul> </details> <br /> Updates `com.fasterxml.jackson.dataformat:jackson-dataformat-yaml` from 2.21.4 to 2.22.1 <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/FasterXML/jackson-dataformats-text/commit/681f699ec98fec4202245384e46fb781ee92e747"><code>681f699</code></a> [maven-release-plugin] prepare release jackson-dataformats-text-2.22.1</li> <li><a href="https://github.com/FasterXML/jackson-dataformats-text/commit/8e2585234fecca6599e75b060f913495d12b418b"><code>8e25852</code></a> Prep for 2.22.1 release</li> <li><a href="https://github.com/FasterXML/jackson-dataformats-text/commit/e1ed4d2cb6cebf7e657ee5b91732a20c60baf932"><code>e1ed4d2</code></a> Merge branch '2.21' into 2.22</li> <li><a href="https://github.com/FasterXML/jackson-dataformats-text/commit/3f3257ce1b8f367ec024adff3145819f9f168c21"><code>3f3257c</code></a> Post-release dep version bump</li> <li><a href="https://github.com/FasterXML/jackson-dataformats-text/commit/3348a1aac8d06a14d787ce69022241581f2bf409"><code>3348a1a</code></a> [maven-release-plugin] prepare for next development iteration</li> <li><a href="https://github.com/FasterXML/jackson-dataformats-text/commit/687ad4f318cd633eb0000f888bbb936c328dddde"><code>687ad4f</code></a> [maven-release-plugin] prepare release jackson-dataformats-text-2.21.5</li> <li><a href="https://github.com/FasterXML/jackson-dataformats-text/commit/955c59fae23292e389a13715fde664f7d3484eb9"><code>955c59f</code></a> Prep for 2.21.5 release</li> <li><a href="https://github.com/FasterXML/jackson-dataformats-text/commit/588933e4c87ea2ef7669d4659c770fbff04fc108"><code>588933e</code></a> Post-release dep version bump</li> <li><a href="https://github.com/FasterXML/jackson-dataformats-text/commit/38f3683f4c7793dad8111cf823c17243541a74df"><code>38f3683</code></a> [maven-release-plugin] prepare for next development iteration</li> <li><a href="https://github.com/FasterXML/jackson-dataformats-text/commit/23d487c5e2740c74668b67d9a0a98992248ce91f"><code>23d487c</code></a> [maven-release-plugin] prepare release jackson-dataformats-text-2.22.0</li> <li>Additional commits viewable in <a href="https://github.com/FasterXML/jackson-dataformats-text/compare/jackson-dataformats-text-2.21.4...jackson-dataformats-text-2.22.1">compare view</a></li> </ul> </details> <br /> Updates `com.fasterxml.jackson.datatype:jackson-datatype-jdk8` from 2.21.4 to 2.22.1 Updates `com.fasterxml.jackson.datatype:jackson-datatype-jsr310` from 2.21.4 to 2.22.1 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> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
8990f55e50 |
feat(storage): encryption at rest for stored files (per-team envelope encryption) (#7155)
# Description of Changes
PR1 of the encrypt-at-rest initiative: user files stored by Stirling (My
Files, workflow files) are now AES-256 encrypted at rest across all
three storage backends, with keys that never leave the deployment.
**What was changed**
- New `EncryptingStorageProvider` decorator wraps whichever
`StorageProvider` backend is configured (local / database / S3). It
encrypts on `store` (Tink AES-256-GCM streaming AEAD, 1 MiB segments)
and transparently decrypts on `load`; legacy plaintext blobs are
detected by magic sniff and pass through untouched, so mixed state is
safe and no migration is required to enable.
- Envelope-encryption key hierarchy: each blob gets a random per-file
DEK, wrapped by a per-team KEK stored (master-key-wrapped) in a new
`file_encryption_keys` registry table; the master key resolves like the
existing credential key — `stirling.security.fileEncryptionKey`
property, `STIRLING_FILE_ENCRYPTION_KEY` env var, or an auto-generated
owner-only `file-encryption.key` in the config dir (cluster mode
requires an explicit shared key, fail-fast).
- Self-describing blob format (`SPDFEAR1` header) carrying the key id,
plaintext length, and the wrapped DEK; the header prefix is bound as GCM
associated data to both the DEK wrap and the payload, so headers cannot
be transplanted between blobs.
- Enabled via `storage.encryption.enabled=true`, gated on a
Pro/Enterprise licence — **write side only**: decryption activates
whenever key rows exist, so switching the flag off or a lapsed licence
can never make previously encrypted files unreadable.
- Key status lifecycle (`ACTIVE`/`RETIRED`/`DISABLED`): `DISABLED` is a
reversible per-team kill switch that fails closed on read; no API path
deletes key material. A revoked download surfaces as **403 Forbidden**
("access revoked"), not a 500, since it is a deliberate policy state
rather than a fault.
- Startup self-check: a master key that cannot unwrap existing key rows
refuses to boot rather than silently starting a second key hierarchy.
- S3 presigned download URLs are suppressed for decorated storage (they
would serve ciphertext); the controller already falls back to
app-streamed downloads.
- `StoredFile`/`StoredObject` gain a nullable `encryption_key_id`
(ddl-auto, no migration); persisted sizes remain plaintext sizes so
quotas and UI are unchanged.
**Why**
Enterprise security questionnaires (and HIPAA/GDPR/CMMC buyers) require
encryption at rest with documented key management; files were previously
plaintext in every backend. Design doc and vendor/standards research
(Purview, Box KeySafe, Google CSE, ISO 32000-2) informed the approach.
## Manually tested end-to-end
Beyond the automated suite, the full flow was exercised against a
running backend (local provider, `storage.encryption.enabled=true`,
login enabled) via the storage API:
1. **Startup** — master key auto-generated with the "back this up"
warning; logs `master key initialised (AES-256-GCM, fingerprint …)` and
`Storage encryption at rest active (writes encrypted)`.
2. **Encrypted at rest** — uploaded a PDF containing a known marker
string; the blob on disk (371 B vs 219 B plaintext) began with the
`SPDFEAR1` header + key id + ciphertext, contained **no `%PDF` signature
and no marker** — not openable as a PDF straight off disk.
3. **Transparent access** — downloading the file through the API
returned it **byte-identical** to the original, marker intact; stored
`sizeBytes` stayed the plaintext size.
4. **Kill switch + reversibility** — set the team key's status directly
in the DB and restarted:
- `DISABLED` → download **failed closed** (`403`, "access to this
content is revoked"), zero plaintext served.
- `ACTIVE` again → file **fully recovered, byte-identical**. Disabling
is a reversible switch on a preserved key row, not destruction.
(The 403 mapping in step 4 was added in this PR after the manual run
first surfaced it as a generic 500.)
## Coming in later PRs
- **PR2 — ops & lifecycle:** audit events for
encrypt/decrypt/key-lifecycle; admin endpoints for the kill switch
(disable/enable) and key status; a background "encrypt existing files"
migration job for turning the feature on over pre-existing plaintext;
master-key rotation (re-wrap KEK rows). Also plans a
key-backup/fingerprint verification command.
- **PR3 — admin UI:** settings section (status, per-team key list with
disable/enable), encrypted-file badge in My Files, i18n.
- **Later:** per-**source** encryption for the Processor pipeline (the
`SOURCE` key scope is already reserved in the schema); pluggable
external KMS / BYOK master-key backends (Vault, AWS/Azure/GCP KMS);
optional FIPS-validated crypto module build for CMMC; and encrypted
egress (PDF-native AES-256) for files leaving the platform.
**Reviewer notes**
- New dependency: `com.google.crypto.tink:tink:1.23.0` (Apache-2.0, pure
Java — bundled in the boot jar, no Docker changes). Pulls protobuf-java
4.33.6, which clears the Aikido-flagged CVE-2024-7254. `./gradlew
checkLicense --no-parallel` passes.
- The `file-encryption.key` file is generated in the config dir on first
use and must be backed up; losing it makes encrypted files unrecoverable
(loud log warning + fingerprint exposed for backup verification).
- Tests cover round-trips on re-openable and one-shot (S3-style)
backends, multi-segment files, legacy passthrough, decrypt-only mode,
disabled-key fail-closed (now asserting the 403 mapping), header/payload
tamper rejection, key-creation races, and presigned-URL suppression.
---
## Checklist
### General
- [x] I have read the [Contribution
Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md)
- [x] I have read the [Stirling-PDF Developer
Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md)
(if applicable)
- [ ] I have read the [How to add new languages to
Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md)
(if applicable)
- [x] I have performed a self-review of my own code
- [x] My changes generate no new warnings
### Documentation
- [ ] I have updated relevant docs on [Stirling-PDF's doc
repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/)
(if functionality has heavily changed)
- [ ] I have read the section [Add New Translation
Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags)
(for new translation tags only)
### Translations (if applicable)
- [ ] I ran
[`scripts/counter_translation.py`](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/docs/counter_translation.md)
### UI Changes (if applicable)
- [ ] Screenshots or videos demonstrating the UI changes are attached
(e.g., as comments or direct attachments in the PR)
### Testing (if applicable)
- [x] I have run `task check` to verify linters, typechecks, and tests
pass
- [x] I have tested my changes locally. Refer to the [Testing
Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md#7-testing)
for more details.
|
||
|
|
a4ac034a18 |
feat(build): centralize Java toolchain language version configuration (#6894)
# Description of Changes This change centralizes the Java toolchain language version into a single `buildJavaLanguageVersion` variable and reuses it across all Java compilation tasks to ensure consistent toolchain selection. ### What was changed - Introduced a shared `buildJavaLanguageVersion` variable derived from the optional `javaVersion` project property, defaulting to Java 25. - Updated the root project's Java toolchain configuration to use the shared variable. - Updated all subproject Java toolchain configurations to reference the same shared variable instead of a hardcoded language version. - Explicitly configured the `compileRestartHelper` task to use a `javaCompiler` resolved from the same shared toolchain version. ### Why the change was made - Eliminate duplicated Java language version definitions. - Ensure all compilation tasks use the same Java toolchain configuration. - Allow the `javaVersion` project property to consistently affect the root project, subprojects, and the restart helper compilation task. - Simplify future Java version upgrades by requiring changes in only one location. --- ## Checklist ### General - [ ] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [ ] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md) (if applicable) - [ ] I have performed a self-review of my own code - [ ] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### Translations (if applicable) - [ ] I ran [`scripts/counter_translation.py`](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/docs/counter_translation.md) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have run `task check` to verify linters, typechecks, and tests pass - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md#7-testing) for more details. |
||
|
|
15423c6479 |
build(deps): bump com.diffplug.spotless from 8.5.0 to 8.8.0 (#7089)
Bumps com.diffplug.spotless from 8.5.0 to 8.8.0. [](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> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
bb830e5711 |
build: upgrade google-java-format and restore strict Spotless validation (#7091)
# Description of Changes - Upgraded google-java-format from 1.28.0 to 1.35.0. - Removed the broad `suppressLintsFor` workaround for the `google-java-format` step. - Ensured the shared `gradle/spotless.gradle` configuration is recognized by the relevant CI path filters and repository automation. - Kept the shared formatter configuration available to all backend modules. - Verified that google-java-format 1.35.0 runs successfully on JDK 25 for the Common, Core, and SaaS modules. - Confirmed that the previous claim about a general Guava 32.x crash on JDK 24/25 no longer justifies suppressing all formatter lint failures. ### Verification Verified with Temurin JDK 25.0.3 and google-java-format 1.35.0. The formatter still depends on Guava 32.1.3-jre, and no `suppressLintsFor` configuration is present. ```bash ./gradlew \ :common:spotlessJavaCheck \ :stirling-pdf:spotlessJavaCheck \ --rerun-tasks ``` Result: ```text > Task :common:spotlessJava > Task :common:spotlessJavaCheck > Task :stirling-pdf:spotlessJava > Task :stirling-pdf:spotlessJavaCheck BUILD SUCCESSFUL in 26s 4 actionable tasks: 4 executed ``` Using `--rerun-tasks` ensured that the formatter was executed and that the result did not come from the Gradle task cache. --- ## Checklist ### General - [ ] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [ ] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md) (if applicable) - [ ] I have performed a self-review of my own code - [ ] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### Translations (if applicable) - [ ] I ran [`scripts/counter_translation.py`](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/docs/counter_translation.md) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have run `task check` to verify linters, typechecks, and tests pass - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md#7-testing) for more details. --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> |
||
|
|
0570c4c4d9 | Create-PDF engine: render from a structured document (#7018) | ||
|
|
38ccea074c | Version bump | ||
|
|
cca3f42623 |
Set App version to v2.14.1 (#6891)
Upped version in build.gradle then ran build so version falls through |
||
|
|
bb92ecc143 |
Update Backend 3rd Party Licenses + Translations and bump versio (#6794)
Co-authored-by: Anthony Stirling <77850077+Frooodle@users.noreply.github.com> Signed-off-by: stirlingbot[bot] <stirlingbot[bot]@users.noreply.github.com> |
||
|
|
e35594f946 |
chore(build): centralize Gradle dependency version management (#6499)
# Description of Changes This change centralizes several dependency version declarations into shared Gradle version properties and updates module build files to reference those properties instead of hardcoded version strings. ### What was changed - Added centralized version properties in the root `build.gradle` for: - commons-io - commons-lang3 - rhino - okhttp BOM - gson - guava - bucket4j - archunit - batik - jpdfium - JWT - AWS SDK - Testcontainers - Replaced hardcoded dependency versions across multiple modules with shared version variables. - Updated `resolutionStrategy.force` declarations to use centralized version properties. - Updated dependency constraints and BOM references to use shared version variables. - Removed module-specific duplicate version declarations from `app/proprietary/build.gradle`. - Standardized dependency declarations across `common`, `core`, `proprietary`, and `saas` modules. ## Why the change was made - Reduce duplication of dependency version definitions. - Simplify future dependency upgrades and maintenance. - Ensure consistent dependency versions across all modules. - Improve readability and reduce the risk of version drift between subprojects. - Make security-related dependency overrides easier to maintain from a single location. --- ## Checklist ### General - [ ] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [ ] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md) (if applicable) - [ ] I have performed a self-review of my own code - [ ] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### Translations (if applicable) - [ ] I ran [`scripts/counter_translation.py`](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/docs/counter_translation.md) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have run `task check` to verify linters, typechecks, and tests pass - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md#7-testing) for more details. |
||
|
|
8a0b12b5ab |
Remove ffmpeg from published Docker images (#6791)
## Summary Published Docker images (`stirling-pdf:latest`, `:2.13.1`) still shipped the full `ffmpeg` package even though it was disabled in source back in #6053. **Root cause:** `push-docker.yml` passed a hardcoded `BASE_VERSION=1.0.0` build-arg for the regular image, overriding the Dockerfile's `ARG BASE_VERSION=1.0.2` default. Base `1.0.0` is the original base that still does the explicit `ffmpeg` apt install, so the published image never picked up the removal. |
||
|
|
956b8000e4 |
build(deps): bump ws from 8.20.1 to 8.21.0 in /frontend (#6679)
Co-authored-by: Anthony Stirling <77850077+Frooodle@users.noreply.github.com> Signed-off-by: dependabot[bot] <support@github.com> |
||
|
|
e6d476297d | Clean up update dialog UI and fix desktop external links (#6727) | ||
|
|
460c037bbb |
Prefer JBoss mirror over shibboleth repo for opensaml (#6701)
# Description of Changes Jboss not shibboleth first --- ## Checklist ### General - [ ] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [ ] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md) (if applicable) - [ ] I have performed a self-review of my own code - [ ] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### Translations (if applicable) - [ ] I ran [`scripts/counter_translation.py`](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/docs/counter_translation.md) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have run `task check` to verify linters, typechecks, and tests pass - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md#7-testing) for more details. |
||
|
|
1d5ce8a1d2 | chore: shorten verbose block comments across SaaS branch | ||
|
|
8b2baaf0a0 | Merge remote-tracking branch 'origin/saas-docker-split' into SaaS | ||
|
|
895dcbbafd |
Update Backend 3rd Party Licenses (#6407)
Co-authored-by: Anthony Stirling <anthony@stirlingpdf.com> Signed-off-by: stirlingbot[bot] <stirlingbot[bot]@users.noreply.github.com> |
||
|
|
0b944a29a7 | Prefer Maven Central over jboss/shibboleth mirrors for resilience | ||
|
|
de9d6ad3f5 | Add CI coverage summaries and aggregate JaCoCo report (#6451) | ||
|
|
06b4a4184b |
build(deps): bump com.diffplug.spotless from 8.4.0 to 8.5.0 (#6417)
Signed-off-by: dependabot[bot] <support@github.com> |
||
|
|
0a50e765b7 |
Restructure/frontend editor (#6404)
## Move editor under `frontend/editor/`
Pure restructure: `frontend/` becomes the workspace, `frontend/editor/`
holds
the PDF editor. 1775 file renames + 40 wiring edits. No logic changes.
### Why
`frontend/` is currently the editor — its `src/`, `public/`,
`src-tauri/`,
config files all sit at the root. Promoting `frontend/` to a
workspace and putting the editor in a sibling folder leaves room for
future
apps to drop in alongside it, sharing one `package.json` /
`node_modules` /
lint config / Storybook.
### What moves
frontend/
├── editor/ ← NEW: everything editor-specific
│ ├── src/ ← was frontend/src/
│ ├── public/ ← was frontend/public/
│ ├── src-tauri/ ← was frontend/src-tauri/
│ ├── index.html, vite.config.ts, vitest.config.ts, playwright.config.ts
│ ├── tsconfig*.json, tailwind.config.js, postcss.config.js
│ ├── scripts/
│ ├── .env, .env.desktop, .env.saas
│ └── DeveloperGuide.md
├── package.json, package-lock.json, node_modules/ ← workspace install
├── eslint.config.mjs, .prettierrc, .prettierignore ← shared tooling
├── .gitignore
└── README.md
### Wiring edits (40 files)
- `.taskfiles/frontend.yml`, `desktop.yml`, `e2e.yml`
- `build.gradle`, `app/core/build.gradle`
- `eslint.config.mjs`, `frontend/package.json`, `.gitignore`,
`.prettierignore`
- `docker/frontend/Dockerfile`
- 8 `.github/workflows/*.yml`, plus `.github/dependabot.yml`,
`.github/config/.files.yaml`, `.github/labeler-config-srvaroa.yml`
- `scripts/translations/**`
- Docs: `AGENTS.md`, `CLAUDE.md`, `ADDING_TOOLS.md`,
`DeveloperGuide.md`,
`WINDOWS_SIGNING.md`, `devGuide/HowToAddNewLanguage.md`,
`frontend/README.md`,
`frontend/editor/DeveloperGuide.md`
Plus 3 renamed + edited: `editor/vite.config.ts` (env path +
node_modules
walk-up), `editor/scripts/setup-env.mts` (renamed from `.ts` for
`import.meta.url`), `editor/scripts/build-provisioner.mjs` (resolve
src-tauri
relative to script).
### Verification
| Check | Result |
|---|---|
| `task frontend:typecheck:all` (6 variants) | exit 0 |
| `task frontend:lint` (eslint + dpdm) | exit 0 |
| `task frontend:format:check` | exit 0 |
| `task frontend:test` | 657 tests pass, 50 files |
| `task frontend:build:{core,proprietary,saas,desktop,prototypes}` | all
green |
| `task desktop:build` | full Tauri pipeline →
`Stirling-PDF_2.11.0_x64_en-US.msi` |
| `playwright test --list --project=stubbed` | 172 tests discovered |
`task desktop:build` exercises the heaviest path — Rust + WiX + MSI
bundle
against the moved `editor/src-tauri/`. If anything in the restructure
was
wrong it wouldn't have built.
### Test plan
- [ ] `frontend-validation.yml` green
- [ ] `e2e-stubbed.yml` green
- [ ] `tauri-build.yml` green on at least one platform
- [ ] `check_toml.yml` runs on a translation-touching PR
---------
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
||
|
|
48027ee9d6 | JDK25 - Integrate Stirling-Tools JPDFium for PDF operations (#6387) | ||
|
|
22d56bb1fb |
test Depot runners for team commits (#6394)
Co-authored-by: ConnorYoh <40631091+ConnorYoh@users.noreply.github.com> |
||
|
|
4c3be4992f | deps: align Bouncy Castle modules to shared version property (#6362) | ||
|
|
8abe734f0b |
Fix main frontend validation (#6361)
# Description of Changes #6312 reformatted `tauri.conf.json` via the Gradle script, which reformats the entire file to not match the Prettier style. This PR reformats the file back to Prettier format and changes the script to update the version number without reformatting the entire file. To be honest I'm not a huge fan of updating the version number with regexes but it'd be a fool's errand to try and get Gradle to output JSON in Prettier format, and this seems simpler than shelling out to run Prettier over the file after the version string has been updated. Any better ideas, let me know. |
||
|
|
8a59c10f42 |
Update Backend 3rd Party Licenses (#6312)
Auto-generated by stirlingbot[bot] This PR updates the backend license report based on dependency changes. --------- Signed-off-by: stirlingbot[bot] <stirlingbot[bot]@users.noreply.github.com> Co-authored-by: stirlingbot[bot] <195170888+stirlingbot[bot]@users.noreply.github.com> Co-authored-by: Anthony Stirling <77850077+Frooodle@users.noreply.github.com> |