Commit graph

28124 commits

Author SHA1 Message Date
Andreas Rammhold
b2822b6861
Enable IPv6 usage in curls resolve code (#11639)
* Enable IPv6 usage in curls resolve code

Before this change OrcaSlicer would fail to resolve the IPv6 addresses
of printers when trying to interact with them via HTTP.

For context: I'm running my Klipper based printers with only IPv6
addresses being assigned to them. That works fine for
everything (including other slicers such as prusa-slic3r).

A few years ago I did debug this and figured that it came down to the
single line in the code base that this commit removes. I've since
patched every single OrcaSlicer version with this change and never
noticed a downside. It should be fine to remove the restriction.
2025-12-14 11:43:04 +08:00
Matthew
7ec3d85a02
Allow 'Change Type' to be used with Multiple Parts Selected (#11544)
* Initial changes allowing you to change the type of multiple parts at once by selecting them all.

* Removed second occurance of Change type in right click menu

* Ready to go feature change

* Remove accidental file creation

* Removing excessive std::cerr

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-12-13 22:36:47 +08:00
Ian Bassi
54c876222e
Minor Tab.cpp redirection fixes + PowerLoss recovery link (#11608)
* Update Tab.cpp

* Readme Fix

* Update Tab.cpp
2025-12-12 23:32:28 +08:00
Alexandre Folle de Menezes
c9ea433cd5
Complement the pt-BR translation (#11620) 2025-12-12 21:50:37 +08:00
Rodrigo Faselli
83a64559a2
Update default Windows SDK include path version (Fix netfab mesh repair service for local compilation) (#11450)
Update default Windows SDK include path version

Changed the default Windows SDK include path from version 10.0.22000.0 to 10.0.26100.0 in CMakeLists.txt to use a newer SDK version when environment variables are not set.
2025-12-12 21:48:46 +08:00
Michael Rook
5c547ea4a1
Add ability to disable Power Loss Recovery on BBL machines (#11582)
Some checks failed
Build all / Build Linux (push) Has been cancelled
Build all / Build Non-Linux (push) Has been cancelled
Build all / Flatpak (push) Has been cancelled
Shellcheck / Shellcheck (push) Has been cancelled
Build all / Unit Tests (push) Has been cancelled
* Add ability to disable Power Loss Recovery

* Fix typo in PrintConfig.hpp for power loss recovery

* Attempt to resolve Unknown option exception: disable_power_less_recovery

Add disable_power_loss_recovery property to any json which had scan_first_layer

* Revert "Attempt to resolve Unknown option exception: disable_power_less_recovery"

This reverts commit ddaf34b317.

* Fix typo

* Change attribution from BBS to Orca in PrintConfig.cpp

* Mini refactor power loss recovery handling in GCode export

- Moved power loss recovery G-code generation to a new method in GCodeWriter.
- Support Marlin 2

* Update comments and power loss recovery handling

* Implement power loss recovery G-code commands

Added functions to start and end power loss recovery with appropriate G-code commands and comments.

* Add power loss recovery methods to GCodeWriter

* refactor and fix build errors

---------

Co-authored-by: Michael Rook <michael@rook.id.au>
Co-authored-by: Ioannis Giannakas <59056762+igiannakas@users.noreply.github.com>
Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-12-10 23:19:57 +08:00
dependabot[bot]
d8de54dfca
Bump actions/checkout from 4 to 6 (#11547)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-09 23:58:02 +08:00
Ian Bassi
25bc45c8f5
Tab.cpp Machine + Material: Linking Wiki update (#11548)
* Fix tooltip + URL

* Full Material wiki redirection maping

* Machine wiki + append_option_line wiki linking

* Machine wiki 2

* Update README with improved wiki links and clarity

* Bring back Print statistics options

* Move num_extruders config to OtherSlicingStatesConfigDef

The num_extruders configuration option was relocated from OtherPresetsConfigDef to OtherSlicingStatesConfigDef for better organization and relevance. This change ensures that the number of extruders is defined in the context of slicing states rather than presets.

* Unifi adaptative bed mesh
2025-12-09 23:57:03 +08:00
Nanashi
bb537f97f2
Update release details from metainfo.xml (#11539)
* Remove release details from metainfo.xml

this fixes the error pointed out on the discord https://discord.com/channels/1137181739773603922/1443808926523981975

* Add release details to OrcaSlicer metainfo

Added release information and description to metainfo.

* fix typo from sticky shift key (oops)

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-09 23:49:15 +08:00
SoftFever
d453de3912 exclude resources 2025-12-09 23:41:34 +08:00
tntchn
0b83a0c8ad
Update zh_TW translations (#11514)
* Replace Simplified Chinese in `OrcaSlicer_zh_TW.po` with Traditional
  ones, fix '制', and add missing translatinos
* Fix settings -> system language selector (`Perefences.cpp`): 繁体 -> 繁體
* Two missing translation in `text.js`
2025-12-09 23:38:12 +08:00
yw4z
7760000aaf
Fix RolohaunDesign Delta Flyer Refit process visible for every printer (#11594)
init
2025-12-09 01:06:57 +08:00
yw4z
db64def4c2
Compact Printer Selection UI - part 2 (#11401)
* update

* match bbl covers with profile folder

* Update printer_placeholder.png

* match vertical margins

* improve logic for showing bed type preview

* fix focus

* fix conflict

* fix conflict

* Update printer_placeholder.png

* Update Plater.cpp

* Update printer_placeholder.png

* revert changes for margins

* Update Plater.cpp

* Update Plater.cpp

* Revert "Update Plater.cpp"

This reverts commit f73e482081.

* Update Plater.cpp

* fix badges not visible

* fix badge

* Update Plater.cpp

* update sync icon

* improve cover auto hide logic

* Update Plater.cpp

* delete bed type images

* simplify events

* hide nozzle selector for ToolChangers

* fix bed type not remembers value after printer change
2025-12-09 01:05:03 +08:00
coryrc
52c2a85d28
Fix tests (#10906)
* Get libslic3r tests closer to passing

I can't get geometry tests to do anything useful. I've added extra
output, but it hasn't helped me figure out why they don't work
yet. That's also probably the last broken 3mf test doesn't work.

The config tests were mostly broken because of config name changes.

The placeholder_parser tests have some things that may-or-may-not
still apply to Orca.

* Vendor a 3.x version of Catch2

Everything is surely broken at this point.

* Allow building tests separately from Orca with build_linux.sh

* Remove unnecessary log message screwing up ctest

Same solution as Prusaslicer

* Make 2 TriangleMesh methods const

Since they can be.

* Move method comment to the header where it belongsc

* Add indirectly-included header directly

Transform3d IIRC

* libslic3r tests converted to Catch2 v3

Still has 3 failing tests, but builds and runs.

* Disable 2D convex hull test and comment what I've learned

Not sure the best way to solve this yet.

* Add diff compare method for DynamicConfig

Help the unit test report errors better.

* Perl no longer used, remove comment line

* Clang-format Config.?pp

So difficult to work with ATM

* Remove cpp17 unit tests

Who gives a shit

* Don't need explicit "example" test

We have lots of tests to serve as examples.

* Leave breadcrumb to enable sla_print tests

* Fix serialization of DynamicConfig

Add comments to test, because these code paths might not be even used
anymore.

* Update run_unit_tests to run all the tests

By the time I'm done with the PR all tests will either excluded by
default or passing, so just do all.

* Update how-to-test now that build_linux.sh builds tests separately

* Update cmake regenerate instructions

Read this online; hopefully works.

* Enable slic3rutils test with Catch2 v3

* Port libnest2d and fff_print to Catch2 v3

They build. Many failing.

* Add slightly more info to Objects not fit on bed exception

* Disable failing fff_print tests from running

They're mostly failing for "objects don't fit on bed" for an
infinite-sized bed. Given infinite bed is probably only used in tests,
it probably was incidentally broken long ago.

* Must checkout tests directory in GH Actions

So we get the test data

* Missed a failing fff_print test

* Disable (most/all) broken libnest2d tests

Trying all, not checking yet though

* Fix Polygon convex/concave detection tests

Document the implementation too. Reorganize the tests to be cleaner.

* Update the test script to run tests in parallel

* Get sla_print tests to build

Probably not passing

* Don't cause full project rebuild when updating test CMakeLists.txts

* Revert "Clang-format Config.?pp"

This reverts commit 771e4c0ad2.

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-12-08 22:42:11 +08:00
Ian Bassi
02c8bba8b4
Fix typo in extruder clearance resource name (#11569)
Some checks failed
Build all / Build Linux (push) Has been cancelled
Build all / Build Non-Linux (push) Has been cancelled
Build all / Flatpak (push) Has been cancelled
Build all / Unit Tests (push) Has been cancelled
Renamed 'param_extruder_clearence.svg' to 'param_extruder_clearance.svg' and updated the corresponding resource reference in Tab.cpp to correct the spelling error.

Co-authored-by: Nanashi <53353250+NanashiTheNameless@users.noreply.github.com>
2025-12-05 12:03:12 +00:00
Mark Richins
bd6cfd6cec
Fixed a spelling mistake (#11523)
Some checks failed
Build all / Build Linux (push) Has been cancelled
Build all / Build Non-Linux (push) Has been cancelled
Build all / Flatpak (push) Has been cancelled
Build all / Unit Tests (push) Has been cancelled
Corrected a spelling error

Changed "Raparando" to "Reparando"
2025-11-30 12:28:03 +08:00
Ian Bassi
f71e09a8c6
Fix Flatpak build: Add fallback URL for MPFR source download (#11512)
Some checks are pending
Build all / Build Linux (push) Waiting to run
Build all / Build Non-Linux (push) Waiting to run
Build all / Unit Tests (push) Blocked by required conditions
Build all / Flatpak (push) Waiting to run
Add fallback URL for MPFR source download

Updated MPFR.cmake to include both the GNU FTP and mpfr.org URLs for downloading the MPFR source. This improves reliability in case one of the sources is unavailable.
2025-11-29 15:53:40 +08:00
Ian Bassi
7ec32fc484
Delete validate-documentation.yml (#11477) 2025-11-26 09:08:13 +08:00
artillerylab
f3e486c1a9
Update printer profiles for Artillery (#11284)
Some checks failed
Build all / Build Linux (push) Has been cancelled
Build all / Build Non-Linux (push) Has been cancelled
Build all / Flatpak (push) Has been cancelled
Build all / Unit Tests (push) Has been cancelled
* Update printer profiles for Artillery

* Revert "Update printer profiles for Artillery"

This reverts commit 5dc7083089.

* Update printer profiles for Artillery

* Update printer profiles for Artillery

* resolve workflow failures in profile validation

* resolve workflow failures in profile validation
2025-11-25 13:27:35 +00:00
Kiss Lorand
855870e256
Fix emulated spiral Z-hop XY offset on multi-plate slicing (#11468)
Some checks are pending
Build all / Build Linux (push) Waiting to run
Build all / Build Non-Linux (push) Waiting to run
Build all / Unit Tests (push) Blocked by required conditions
Build all / Flatpak (push) Waiting to run
2025-11-25 11:23:37 +08:00
SoftFever
f0d79b99eb Move WIKI to new repo
Some checks are pending
Build all / Build Linux (push) Waiting to run
Build all / Build Non-Linux (push) Waiting to run
Build all / Unit Tests (push) Blocked by required conditions
Build all / Flatpak (push) Waiting to run
2025-11-24 23:50:54 +08:00
Noisyfox
4c1b6445d3
Validate invalid fields for hidden system profiles (#11455)
* Fix issue that for invisible system profiles, invalid fields are not removed

* Fix wrong note field
2025-11-24 20:11:42 +08:00
SoftFever
f57d0d1442 ci: Increase timeout for dedupe-issues workflow from 10 to 30 minutes 2025-11-23 21:22:07 +08:00
SoftFever
b78381e4f5 Fix CICD AI dedupe 2025-11-23 20:47:07 +08:00
SoftFever
b8cb62fb10
Change runner from self-hosted to ubuntu-latest 2025-11-23 18:06:54 +08:00
SoftFever
b843b36d8f
Check duplicated issues. ported from Claude code repo (#11454) 2025-11-23 18:03:28 +08:00
yw4z
9304cc35db
UI fixes / improvements (#11413)
Some checks failed
Build all / Build Linux (push) Has been cancelled
Build all / Build Non-Linux (push) Has been cancelled
Build all / Flatpak (push) Has been cancelled
Publish docs to Wiki / Publish docs to Wiki (push) Has been cancelled
Shellcheck / Shellcheck (push) Has been cancelled
Build all / Unit Tests (push) Has been cancelled
* init

* flushing volumes

* vertical margins

* fix titlebar scaling

* fix filament section

* flushing volumes

---------

Co-authored-by: Ioannis Giannakas <59056762+igiannakas@users.noreply.github.com>
2025-11-22 22:54:36 +08:00
Kiss Lorand
f48a438b27
Fix Spiral Z-Hop arc handling (#11430) 2025-11-22 22:09:29 +08:00
Kiss Lorand
589eb2cfeb
FIX: Open provided file at startup (#11419) 2025-11-22 21:49:51 +08:00
Ian Bassi
3367648ec0
Re-include BBS's Clipperutils2 (#11415)
* Clipper2 from BBS

* Fix

* Clipper2 Update: 1.5.2 -> 2.1.5.4

* Replace Clipper2Lib::Area calls with Clipper2LibArea

Updated area calculation calls to use Clipper2LibArea<T> instead of Clipper2Lib::Area<T> in multiple locations. This change likely reflects a refactor or renaming of the area calculation function.

* Revert "Replace Clipper2Lib::Area calls with Clipper2LibArea"

This reverts commit c92a9a1522e8d7b0f1f8557d4c752a8b8c8fc279.

* Revert "Clipper2 Update: 1.5.2 -> 2.1.5.4"

This reverts commit a745894bdc9cda4ce4d19e0705d214b78091acad.

* Update project version
2025-11-22 15:39:12 +08:00
Noisyfox
61931d23a4
Fix filament profile import if inherit from vendor generic (#11398)
* Why log user id when importing profile?

* Use `find_preset2` when importing profiles
to properly handle renamed system profiles
2025-11-22 15:38:12 +08:00
Noisyfox
7b0cdd3ec6
Fix crash after syncing printer (#11428)
Fix crash after syncing printer (OrcaSlicer/OrcaSlicer#11427)
2025-11-22 15:37:28 +08:00
Ian Bassi
4c00966ca3
Wiki 16 (MiniUpdate): Updated by Stable cmake 4.2 release + VS2026 First (#11423)
* Update Visual Studio and CMake instructions in build guide

Reorders Visual Studio version recommendations and simplifies installation instructions. Clarifies CMake path setup guidance and removes outdated notes specific to Visual Studio 2026 and CMake 4.2.

* Update CMake mac version 3.31.10
2025-11-21 15:18:22 +00:00
SoftFever
3a7309a1b2 Revert "fix GITHUB_TOKEN permissions in workflows (#11392)"
This reverts commit aa5350a6fe.
Revert "correct oversight in #11392 (#11404)"

This reverts commit fb3b2aadac.
2025-11-21 19:02:42 +08:00
Nanashi
fb3b2aadac
correct oversight in #11392 (#11404)
* correct oversight in #11392

https://github.com/OrcaSlicer/OrcaSlicer/pull/11392#issuecomment-3548174739

* correct oversight in #11392
2025-11-21 16:55:38 +08:00
Sibis
ac483df749
Profiles for Creality K2 Pro printer (#11315)
* Profiles for Creality K2 Pro printer

Added printer profiles for Creality K2 Pro based on existing K2 Plus profile and Creality Print modifications.

* Fixed filament start g-code for K2 series

K2 Plus filament profiles have additional move for filament start g-code on some filaments. This causes unnecessary moves and make filament profiles non-working on K2 series printers.
As these moves are already mirrored on printer profile and not used in rest of the K2 series they should be removed.

* Update Creality K2 Pro profiles for improved print quality

Added adaptive probing comments to machine start gcode for all nozzle sizes. Adjusted process profiles for various layer heights and nozzle sizes, including changes to bridge speeds, acceleration, wall generator and support line widths according to Creality profiles s to optimize print quality and reliability.

* Revert "Update Creality K2 Pro profiles for improved print quality"

This reverts commit ac84058c33.

* Update Creality K2 Pro profiles for improved slicing

Adjusted speeds, accelerations, line widths, and other slicing parameters for better print quality and compatibility. Updated machine start g-code to include print area comments for adaptive probing (Creality K2 Pro uses these comments to define adaptive probing area)
2025-11-21 06:41:48 +00:00
Kiss Lorand
36fcf17358
Reduce artifacts from short travel moves before external perimeters (#10722)
Accel to extloop

Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-11-20 22:11:12 +08:00
Hangtimehippie
e5f7722f57
[Profiles] Add printer profiles for Eryone Er20 (Marlin and Klipper configuration) (#10607)
* add printer profiles for Eryone Er20 (Marlin and Klipper) :
- machine_model_list: ER20, ER20 Klipper
- nozzle printer profiles: 0.2, 0.4, 0.5, 0.6, 0.8
- added Bambulab and Sunlu filament profiles per nozzle size
- cover images
- buildplate_model

* changed machine configuration: gcode flavur marlin to marlin2, gcodes and limits

* changed process configuration: added more values as default , fixed speeds and accel

* changed process configuration: fixed width values for 0.5 nozzle

* process configuration syntax fix

* deleted default print profile

* changes machine config: added  default standard print profile to each nozzle size

* machine conf: fixed nozzle size and variant

* machine conf: fixed max yerk settings

* process conf: fixed layer height

* process confs reorganized , tuned jerk, accel values

* process conf: changed initial layer speed

* cover images without background color

* process conf klipper: changed default jerk settings

* deleted duplicate of generic pla filament

* filaments: deleted filament start/end code

* removed incorrect filament retraction length values ​​for the filaments

* deleted Bambulab and Sunlu filaments

* process conf: set default skirt_loop  to 0

* machine conf: changed retract wipe settings, modified start /end code

* machine conf: changed retract /wipe settings

* deleted Bambulab / SUNLU filaments from Eryone.json

* version number adapted and reorganized

* Update Eryone.json merge commits

* fix duplicate, conflict key errors

---------

Co-authored-by: Ioannis Giannakas <59056762+igiannakas@users.noreply.github.com>
2025-11-19 22:20:16 +08:00
Alexandre Folle de Menezes
e2baeae0d9
Improve pt-BR translation (#11232)
Complement the pt-BR translation

Co-authored-by: Ioannis Giannakas <59056762+igiannakas@users.noreply.github.com>
2025-11-19 11:28:10 +08:00
Nanashi
aa5350a6fe
fix GITHUB_TOKEN permissions in workflows (#11392)
This pull request updates GitHub Actions workflow files to explicitly
set permissions for certain actions. (fixing the permissions issues)

**Workflow permissions updates:**

* Added explicit `issues: write` permission to the `assign.yml` workflow
to ensure it can modify issues as needed.
* Set `contents: write`, `actions: write`, and `checks: write`
permissions in the `build_all.yml` workflow to allow the workflow to
interact with repository contents, manage actions, and update checks.
2025-11-18 23:22:47 +08:00
SoftFever
8b812e0b18
H2S profile and new features ported from BBS (#11174)
### IMPORTANT NOTICE
- Every time you download a new PR build, make sure to delete `<orca
config folder>/system/` folder first, otherwise the latest profile
update might not take effect (such as crash during startup, or not able
to find certain printer models in the list). Also it's a good idea to
always backup your config folder before trying any dev builds.
- You MUST **turn on both lan mode AND dev mode on your P2S**, there is
no firmware exists for these printers that allows 3rd party slicer over
cloud unfortunately.
- You MUST **turn off "Use legacy network plugin"** in Orca's
preference.


### HOW TO download the test builds:
1. Click the ["Checks"
tab](https://github.com/SoftFever/OrcaSlicer/pull/11132/checks) on top
of this page
<img width="1450" height="436" alt="image"
src="https://github.com/user-attachments/assets/5453e5ef-4455-4f23-9c76-a45218b9bf03"
/>

2. Click the "Build all" on the left side
<img width="1084" height="1110" alt="image"
src="https://github.com/user-attachments/assets/7caa5dc4-6280-4183-85c1-06cb702d1407"
/>

3. You'll find the build artifacts on the bottom of right side
<img width="2194" height="1316" alt="image"
src="https://github.com/user-attachments/assets/73536c51-2790-4302-9f9c-c3403bcb88d5"
/>

4. If you find the artifact list not complete (can't find the build for
your operating system/platform), try switch to different run and a
different attempt might have the artifact you're looking for:
<img width="1217" height="669" alt="image"
src="https://github.com/user-attachments/assets/7ac09291-2902-4ce2-9626-0d5cba7dfdba"
/>


-----------------------------

# P2S support cherry picked from BBS, with some other updates & fixes.
Thanks Bambu!

# **NOT TESTED** yet since I don't own a P2S.


I've try my best to port changes that are necessary to support P2S, and
features & bugfixes that only affect BambuLab printers.

Noticable changes:
- Added P2S profiles.
- Added some new gcode placeholders `max_additional_fan`,
`hold_chamber_temp_for_flat_print` which are used by the new P2S
profiles.
- Added chamber temp check for BBL printers, show warnings when print
certain filaments with low chamber temp.
- Can now trigger a nozzle type auto-recognition from Orca for supported
BBL printers (basically printer uses chamber camera to scan the code on
the nozzle).
- Highlight potential flush volume value error. The flush volume botton
will be red if flush volume is way too low.
- A1 / A1 mini support for AMS, AMS HT, and AMS 2 Pro.
- Skip Part also skips unnecessary color-change flush.
- Lots of BBL printer/plate image updates.
- Fix bunch of GUI bugs.
- Sync HMS & profiles with latest BBS.
2025-11-18 23:21:40 +08:00
Noisyfox
760f66d3d7 Merge remote-tracking branch 'upstream/main' into dev/p2s-pr
# Conflicts:
#	src/slic3r/GUI/Plater.cpp
#	src/slic3r/GUI/PrePrintChecker.cpp
#	src/slic3r/GUI/StatusPanel.cpp
2025-11-18 09:17:13 +08:00
Rodrigo Faselli
4046e39ff3
Adjusted density multiline infill for adaptive cubic, support cubic, lightning patterns (prevent crash) and minor GUI correction. (#10967)
* FillAdaptive density adjusted
* Fill lightning multiline density adjust
* Gui corrections by IanAlexis
2025-11-17 17:27:55 +00:00
Ian Bassi
73b1d1def5
Reorder Calibrations list (#11389)
* Reorder max volumetric speed calibration step

Moved the max volumetric speed calibration step after temperature tower in the documentation and updated the calibration menu initialization in MainFrame.cpp to match the new order.

* Update wiki image

* Reorder flow rate and pressure advance calibration steps

Updated documentation and GUI to list Pressure Advance calibration before Flow Rate calibration, reflecting the recommended calibration order. Adjusted menu item order in MainFrame.cpp and updated related documentation and image.
2025-11-17 17:21:03 +00:00
ProodjePindakaas
5fa38e16f4
Update MK3 profiles (#11386)
* Fixed MK3S 0.25 nozzle diameter
* Fixed MK3S min/max layer heights
* Added missing MK3 overhang speeds
2025-11-17 17:08:47 +00:00
Ian Bassi
c0c1ddfda0
Filament Ironing Override (#11194) 2025-11-17 15:56:39 +00:00
yw4z
73b93d2ed0
Compact Printer Selection UI (#11196) 2025-11-17 15:30:35 +00:00
Nanashi
d6936ec32a
fix: update Flatpak GitHub Actions reference to the correct repository (#11382) 2025-11-17 20:47:19 +08:00
Nanashi
a24785ee39
Update GNOME runtime and SDK to version 48 (#11384) 2025-11-17 20:46:44 +08:00
Alexandre Folle de Menezes
77f7514d97
Fix spacing and punctuation issues (#11244) 2025-11-17 09:35:53 +00:00