edb555f517
build(deps): bump actions/dependency-review-action from 4.7.3 to 4.8.0 ( #4541 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-28 20:54:42 +01:00
140e11865d
build(deps): bump springSecuritySamlVersion from 6.5.3 to 6.5.5 ( #4536 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-28 20:53:55 +01:00
b950484bfc
build(deps): bump org.apache.commons:commons-lang3 from 3.18.0 to 3.19.0 ( #4534 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-28 20:53:09 +01:00
634630ebbc
build(deps): bump commonmarkVersion from 0.25.1 to 0.26.0 ( #4447 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-28 20:52:22 +01:00
Balázs Szücs and GitHub
ae1db0dd13
refactor: replace size checks with isEmpty(), safely collapse redundant emptiness checking logic, minor code improvements ( #4132 )
2025-09-28 20:51:40 +01:00
Angel and GitHub
b7036bd284
Update messages_ru_RU.properties ( #4426 )
2025-09-28 16:57:50 +01:00
045f4cc591
feat: Add RegexPatternUtils for centralized regex management, file naming funcs, UtilityClass annotation ( #4218 )
...
Co-authored-by: Copilot <[email protected] >
Co-authored-by: Anthony Stirling <[email protected] >
2025-09-28 16:56:35 +01:00
Balázs Szücs and GitHub
133e6d3de6
refactor(core,common,proprietary): Replace Date with Instant/modern Date API alternative for improved time handling ( #4497 )
2025-09-28 16:41:20 +01:00
Balázs Szücs and GitHub
07392ed25e
feat(replace-and-invert-colour): Add CMYK color space conversion with prepress preset for PDF processing ( #4494 )
2025-09-28 16:39:20 +01:00
4ad039d034
build(deps): bump org.projectlombok:lombok from 1.18.38 to 1.18.42 ( #4475 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Anthony Stirling <[email protected] >
2025-09-28 16:38:13 +01:00
16576c1789
build(deps): bump org.postgresql:postgresql from 42.7.7 to 42.7.8 ( #4479 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-28 16:36:30 +01:00
591a70f9b0
build(deps): bump bouncycastleVersion from 1.81 to 1.82 ( #4474 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-28 16:35:24 +01:00
bddc6bf5d1
Update serbian translation ( #4411 )
...
Co-authored-by: root <[email protected] >
2025-09-28 16:30:30 +01:00
Balázs Szücs and GitHub
e2733e34b4
Update Hungarian translation ( #4401 )
2025-09-28 16:30:21 +01:00
albanobattistella and GitHub
58909340db
Update messages_it_IT.properties ( #4398 )
2025-09-28 16:29:55 +01:00
8afa0c9b23
build(deps): bump actions/setup-python from 5.6.0 to 6.0.0 ( #4379 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-28 16:29:22 +01:00
37b581e0dd
build(deps): bump actions/stale from 9.1.0 to 10.0.0 ( #4380 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-28 16:28:50 +01:00
5b3b7575c2
build(deps): bump actions/checkout from 4.2.2 to 5.0.0 ( #4382 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-28 16:28:41 +01:00
aa1fc43ad9
build(deps): bump actions/setup-node from 4.4.0 to 5.0.0 ( #4381 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-28 16:28:34 +01:00
18ad38a8da
Spanish translation ( #4290 )
...
Co-authored-by: Anthony Stirling <[email protected] >
2025-09-28 16:28:16 +01:00
Thomas BERNARD and GitHub
ae2cfb6312
Translate fr ( #4168 )
2025-09-28 16:15:31 +01:00
Balázs Szücs and GitHub
ef7030d5a9
feat(multi-layout): implement form field copying and transformation for multi-page PDF to keep form data ( #4314 )
2025-09-25 21:26:11 +01:00
Sean Gilligan and GitHub
93fb62047a
fix: normalize path in ApplicationPropertiesLogicTest ( #4477 )
...
This fixes a failing unit test on macOS.
`ApplicationPropertiesLogicTest.tempFileManagement_defaults_and_overrides()`
has 4 asserts that will fail with this error on macOS:
```
org.opentest4j.AssertionFailedError: expected: </var/folders/6d/12xt4b4m8xjf3t0059_w18bh0000gn/T/stirling-pdf> but was: </var/folders/6d/12xt4b4m8xjf3t0059_w18bh0000gn/T//stirling-pdf>
at app//org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:151)
at app//org.junit.jupiter.api.AssertionFailureBuilder.buildAndThrow(AssertionFailureBuilder.java:132)
at app//org.junit.jupiter.api.AssertEquals.failNotEqual(AssertEquals.java:197)
at app//org.junit.jupiter.api.AssertEquals.assertEquals(AssertEquals.java:182)
at app//org.junit.jupiter.api.AssertEquals.assertEquals(AssertEquals.java:177)
at app//org.junit.jupiter.api.Assertions.assertEquals(Assertions.java:1145)
at app//stirling.software.common.model.ApplicationPropertiesLogicTest.tempFileManagement_defaults_and_overrides(ApplicationPropertiesLogicTest.java:40)
at [email protected] /java.lang.reflect.Method.invoke(Method.java:565)
at [email protected] /java.util.ArrayList.forEach(ArrayList.java:1604)
at [email protected] /java.util.ArrayList.forEach(ArrayList.java:1604)
```
Note the double `/` in the actual path here: `/T//stirling-pdf`.
# Description of Changes
The fix creates a lambda:
```
Function<String, String> normalize = s ->Paths.get(s).normalize().toString();
```
and applies it in all 4 broken tests.
## 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/devGuide/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)
### 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 tested my changes locally. Refer to the [Testing
Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing )
for more details.
2025-09-22 21:51:07 +02:00
Balázs Szücs and GitHub
798fc257aa
fix: Update checkbox elements to use Bootstrap classes for consistent styling ( #4412 )
2025-09-19 08:31:44 +01:00
Peter Dave Hello and GitHub
a35bd09b5e
Update and improve Croatian (hrvatski) (hr_HR) locale ( #4202 )
2025-09-18 13:44:03 +01:00
Peter Dave Hello and GitHub
8eb03c44c3
Update and improve the zh-TW Traditional Chinese translation ( #4400 )
2025-09-18 13:43:48 +01:00
Balázs Szücs and GitHub
c684a51cf9
feat: custom error handling when calling renderImageWithDPI, controllers to respect global DPI ( #4407 )
2025-09-18 13:43:21 +01:00
Balázs Szücs and GitHub
a438a15105
Update hungarian translation for editTableOfContents strings ( #4165 )
2025-09-06 20:27:19 +01:00
Balázs Szücs and GitHub
8192b1a44f
performance: Use StringBuilder instead of string concatenation for building strings ( #4193 )
2025-09-06 20:27:11 +01:00
Balázs Szücs and GitHub
47bce86ae2
fix: try-with-resources for Streams interacting with Files to ensure proper resource management ( #4404 )
...
# Description of Changes
The Javadoc recommends wrapping Files.list(), Files.walk(),
Files.find(), and Files.lines() in try-with-resources so the stream’s
close() is called as soon as the terminal operation completes.
This is because when Stream interact with files, Java can ONLY close the
Stream during garbage-collection finalization, which is not guaranteed
to run promptly or at all before the JVM exits, creating a memory leak.
Direct quote:
> Streams have a
[BaseStream.close()](https://docs.oracle.com/javase/8/docs/api/java/util/stream/BaseStream.html#close-- )
method and implement
[AutoCloseable](https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html ),
but nearly all stream instances do not actually need to be closed after
use. Generally, only streams whose source is an IO channel (such as
those returned by [Files.lines(Path,
Charset)](https://docs.oracle.com/javase/8/docs/api/java/nio/file/Files.html#lines-java.nio.file.Path-java.nio.charset.Charset- ))
will require closing. Most streams are backed by collections, arrays, or
generating functions, which require no special resource management. (If
a stream does require closing, it can be declared as a resource in a
try-with-resources statement.)
> A DirectoryStream is opened upon creation and is closed by invoking
the close method. Closing a directory stream releases any resources
associated with the stream. Failure to close the stream may result in a
resource leak. The try-with-resources statement provides a useful
construct to ensure that the stream is closed:
Sources:
https://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html
https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/nio/file/DirectoryStream.html
https://stackoverflow.com/questions/79078272/using-try-with-resources-for-a-java-files-walk-stream-created-in-a-separate-meth
https://stackoverflow.com/questions/36990053/resource-leak-in-files-listpath-dir-when-stream-is-not-explicitly-closed
<!--
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/devGuide/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)
### 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 tested my changes locally. Refer to the [Testing
Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing )
for more details.
---------
Signed-off-by: Balázs Szücs <[email protected] >
2025-09-06 09:00:17 +01:00
5e72dce0de
login_fix ( #4402 )
...
Co-authored-by: Copilot <[email protected] >
2025-09-05 19:42:47 +01:00
Anthony Stirling and GitHub
6d03ab27d4
Bump version from 1.3.0 to 1.3.1 ( #4395 )
2025-09-05 13:39:15 +01:00
830b346945
🌐 Sync Translations + Update README Progress Table ( #4386 )
...
Co-authored-by: stirlingbot[bot] <195170888+stirlingbot[bot]@users.noreply.github.com>
2025-09-05 13:24:55 +01:00
Ludy and GitHub
e5da63554e
fix: add missing MediaType import in SplitPdfBySectionsController ( #4393 )
2025-09-05 12:31:52 +01:00
Ludy and GitHub
9b3e2c29a5
perf(core): Stream responses and unify temp file lifecycle across controllers ( #4330 )
2025-09-05 11:27:28 +01:00
Ludy and GitHub
9a39aff19f
refactor: standardize MIME handling via Spring MediaType ( #4389 )
2025-09-05 11:08:24 +01:00
Ludy and GitHub
f14955a019
fix(security): prevent NPE on logout when JWT service is unavailable ( #4390 )
2025-09-05 10:59:24 +01:00
dde6cc2d49
🤖 format everything with pre-commit by stirlingbot ( #4375 )
...
Co-authored-by: stirlingbot[bot] <195170888+stirlingbot[bot]@users.noreply.github.com>
2025-09-04 23:46:20 +01:00
5617740db9
Update 3rd Party Licenses ( #4385 )
...
Co-authored-by: stirlingbot[bot] <195170888+stirlingbot[bot]@users.noreply.github.com>
2025-09-04 23:44:42 +01:00
Eray Türkay and GitHub
7f4071204e
Update messages_tr_TR.properties ( #4384 )
2025-09-04 23:44:34 +01:00
Anthony Stirling and GitHub
7a73a62a9c
Bump project version from 1.2.0 to 1.3.0 ( #4383 )
2025-09-04 23:30:39 +01:00
Ludy and GitHub
cb7471024b
feat(common): add ChecksumUtils for MD5/SHA*/CRC32/Adler32 with Base64 and multi-algorithm support ( #4261 )
2025-09-04 15:38:28 +01:00
Balázs Szücs and GitHub
74870615df
Replace uses of Arrays.asList() with either List.of() or Collections.singletonList() ( #4219 )
2025-09-04 15:30:45 +01:00
Ludy and GitHub
02d096d622
feat(security): add PFX alias for PKCS12; accept .crt/.cer/.der certs & .key keys; add certificate-signing tests ( #4297 )
2025-09-04 15:30:32 +01:00
0d7649bee8
fix(ci:testdriver): conditionally run frontend tests based on file changes ( #4064 )
...
Co-authored-by: Copilot <[email protected] >
2025-09-04 15:11:09 +01:00
Ludy and GitHub
0776ecc96b
test(common): add dedicated unit tests for FileInfo and InputStreamTemplateResource ( #4140 )
2025-09-04 15:10:35 +01:00
Ludy and GitHub
8113728d3d
feat(database): make backup schedule configurable via system keys ( #4251 )
2025-09-04 15:02:31 +01:00
albanobattistella and GitHub
528968bfe9
Update messages_it_IT.properties ( #4285 )
...
# Description of Changes
<!--
Please provide a summary of the changes, including:
- What was changed
- Why the change was made
- Any challenges encountered
Closes #(issue_number)
-->
---
## 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/devGuide/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)
### 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 tested my changes locally. Refer to the [Testing
Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing )
for more details.
2025-09-04 14:50:16 +01:00
61b85a9273
build(deps): bump jakarta.mail:jakarta.mail-api from 2.1.3 to 2.1.4 ( #4351 )
...
Bumps
[jakarta.mail:jakarta.mail-api](https://github.com/jakartaee/mail-api )
from 2.1.3 to 2.1.4.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/jakartaee/mail-api/commit/0d13f04450f9590afa37761e04591526f47312e5 "><code>0d13f04</code></a>
Prepare release jakarta.mail:jakarta.mail-api:2.1.4</li>
<li><a
href="https://github.com/jakartaee/mail-api/commit/958fb97ab1ebae1844629226fb06e27b05872c52 "><code>958fb97</code></a>
services/jakarta.mail.Provider override not working <a
href="https://redirect.github.com/jakartaee/mail-api/issues/777 ">#777</a>
(<a
href="https://redirect.github.com/jakartaee/mail-api/issues/779 ">#779</a>)</li>
<li><a
href="https://github.com/jakartaee/mail-api/commit/3446c942412cb324ce448d65d6a805f3a6af599e "><code>3446c94</code></a>
services/jakarta.mail.Provider override not working <a
href="https://redirect.github.com/jakartaee/mail-api/issues/170 ">#170</a>
(<a
href="https://redirect.github.com/jakartaee/mail-api/issues/778 ">#778</a>)</li>
<li><a
href="https://github.com/jakartaee/mail-api/commit/892fae4ac7601976ee3270040a5b16d6349ce955 "><code>892fae4</code></a>
Multipart performs blocking call in every instantiation <a
href="https://redirect.github.com/jakartaee/mail-api/issues/699 ">#699</a>
(<a
href="https://redirect.github.com/jakartaee/mail-api/issues/716 ">#716</a>)</li>
<li><a
href="https://github.com/jakartaee/mail-api/commit/666ec999d8931041d89eabf10d807e5262195f8f "><code>666ec99</code></a>
Bump rexml from 3.2.8 to 3.3.6 in /www</li>
<li><a
href="https://github.com/jakartaee/mail-api/commit/8eddc342b11436c2ab8a68ff5ab464e343edee99 "><code>8eddc34</code></a>
Bump rexml from 3.2.5 to 3.2.8 in /www</li>
<li><a
href="https://github.com/jakartaee/mail-api/commit/1259b86a8c195db3337db9eff81214c357758c0e "><code>1259b86</code></a>
Bump nokogiri from 1.16.2 to 1.16.5 in /www</li>
<li><a
href="https://github.com/jakartaee/mail-api/commit/bf2bfc18c0d2b9b3f57417203c2a462a3a94a7de "><code>bf2bfc1</code></a>
Update README.md</li>
<li><a
href="https://github.com/jakartaee/mail-api/commit/038fa7038a26251bbf4a43ea577a5e7171d3a2e4 "><code>038fa70</code></a>
Prepare next development cycle for 2.1.4-SNAPSHOT</li>
<li><a
href="https://github.com/jakartaee/mail-api/commit/1e520275467de4b1cc658fd83e1783c43d451b2e "><code>1e52027</code></a>
Prepare release jakarta.mail:jakarta.mail-api:2.1.3</li>
<li>See full diff in <a
href="https://github.com/jakartaee/mail-api/compare/2.1.3...2.1.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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@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] <[email protected] >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-04 14:50:03 +01:00
Ludy and GitHub
c055f9456a
feat(convert): PDF conversion with unoconvert fallback soffice ( #4316 )
...
# Description of Changes
- **What was changed**
- Reworked `ConvertOfficeController` to use a dedicated temporary
working directory per request and cleaned up with directory-level
deletion.
- Added detection for converter availability via `EndpointConfiguration`
to choose between **unoconvert** and a **soffice** headless fallback.
- Ensured safe filename handling (sanitization, extension checks,
lowercase normalization) and early validation errors for missing/invalid
filenames.
- Switched raw temp file writes to `Files.copy` / `Files.writeString`
with `StandardCopyOption.REPLACE_EXISTING`.
- Implemented robust output handling:
- Verified non-zero exit codes and null results.
- Checked for missing/empty PDF outputs.
- Added fallback lookup for any produced `.pdf` within the work
directory if the expected name is not present.
- Introduced `@Slf4j` logging; improved error and cleanup logging.
- Replaced ad-hoc temp cleanup with `FileUtils.deleteDirectory` for full
working-dir removal.
- Minor imports/cleanup: removed unused `Arrays`, added
`StandardCopyOption`, `FileUtils`, and related imports.
- **Why the change was made**
- Increase conversion reliability across environments where either
unoconvert or soffice may be available.
- Harden security and stability through strict input validation and
sanitized HTML processing.
- Prevent orphaned files/directories and ensure consistent cleanup to
reduce disk footprint and operational issues.
- Provide clearer operational signals (logging, explicit exceptions) for
easier troubleshooting.
---
## 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/devGuide/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)
### 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 tested my changes locally. Refer to the [Testing
Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing )
for more details.
2025-09-04 14:33:35 +01:00