Repository navigation
Port the missing 6.18.0 changes and changelog to development - #1985
Merged
Merged
Conversation
Brings over the 6.18.0 fixes that were merged into hot-patch-6.18.0 but never reached development (#1841, #1842, #1843, #1849, #1926, #1927, #1980, #1981, #1978), the monolog 2.11.1 / fpdi 2.6.9 bumps from #1924, and the 6.18.0 and 6.17.2 changelog sections. Tests are rewritten for the integration suite, and the public API snapshot picks up the new constant and template message helpers. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
Contributor
|
Coverage report for commit: b23e67f Summary - Lines: 93.55% | Methods: 88.95% | Branches: 82.60%
🤖 Jest coverage report |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Contributor
|
Coverage report for commit: b23e67f Summary - Lines: 88.43% | Methods: 95.16%
🤖 PHPUnit coverage report |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PHPStan only counted the calls before $file was assigned as throw points, so it read $file as always null in the catch and flagged the new upload error check. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…alls read-only 6.18.0 ships this as a php-scoper patcher (#1812), later moved into the mPDF fork (#1951). Development still bundles upstream mPDF, and the #1819 port left the patcher out, so 7.0 would bring back the "Temporary files directory is not writable" error that the 6.18.0 changelog says is fixed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Development still locked upstream mPDF, so 7.0 lacked the two fixes 6.18.0 ships from the fork (#1951): GravityPDF/mpdf#819 drops float records a new float has buried, which PDF for GravityView 2.0+ relies on for long directory PDFs, and GravityPDF/mpdf#820 stops Cache rejecting a writable network share that is_writable() calls read-only. That makes the scoper patcher from the previous commit unnecessary, so it goes again. Ports #1951's float pruning tests. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…F 7 ones The fork's mPDF (upstream a981bb7b) adds an $importExternalLinks argument to importPage(), which PHPStan flagged against our override's mPDF 7 $crop_w. The override only understood the mPDF 7 form, so a caller using mPDF's own form lost its box and flags: importPage( 1, 'MediaBox' ) imported the CropBox. The override now takes mPDF's arguments and treats a non-string second argument or more than four arguments as the mPDF 7 form, as before. This also drops the two baseline entries the old signature needed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Several fixes merged into
hot-patch-6.18.0before the "development first" workflow never reacheddevelopment, and its changelog stopped at the template uploader entries. This PR ports everything from the 6.18.0 release thatdevelopmentis missing and still needs. Each change follows the code that shipped in 6.18.0, with the tests rewritten for the integration suite.hot-patch-6.18.0word for word (docs: drop unreleased bugs from the 6.18.0 changelog #1933)[gravitypdf]shortcodes outputting debug errors, so entry exports, Zapier and redirect URLs never get error HTML (Don't output shortcode debug errors in raw PDF URLs #1841)explode( null )deprecation for empty rich text Paragraph fields (Fix explode( null ) deprecation for empty rich text Paragraph fields #1842)format/security(Fix null deprecations for empty field values and PDF settings #1843)gravitypdf-v6branch, as 6.18.0 does. This brings float pruning for long floated layouts and the network-shareCachefix, which the fix: stop mPDF's cache failing "not writable" on network storage #1819 port had dropped (Bundle mPDF from the fork's gravitypdf-v6 branch to fix slow float layouts (6.18.0) #1951, fix: stop mPDF's cache failing "not writable" on network storage #1812)Try it
Test plan
hot-patch-6.18.0.txtrenamed to.zip, then a zip with no template. Each shows its reason, and the second links to the docsDISALLOW_FILE_MODSMore info
How the gap was found. Every PR merged into
hot-patch-6.18.0was matched to itsdevelopmentcounterpart, by PR body or by checking the code ondevelopment. Most were built ondevelopmentfirst, or forward-ported as with #1863. These weren't, and still apply.Left out on purpose:
developmentby the render cache, which usesCache::get_path()and droppedcleanup_pdf_after_submission().developmentalready scopes PSR-Log fully, and 7.0 drops the alias.developmentalready runs Node 24 and the patched PHPCS/WPCS, and its JS tree has moved on (@wordpress/scripts). Its weekly deps job handles the rest.developmenthas no direct zod dependency, and the copy that ships (viareact-instantsearch) is already 4.6.7. The 3.x copies that GHSA-mrhx-c7xc-m3w5 covers come only from the dev tools lost-pixel, potomatic and puppeteer's chromium-bidi. Forcing them onto zod 4 risks breaking those tools, so it's left to their upgrades.developmenthas many new 7.0 strings. Catalogs get regenerated for the 7.0 release.development.Behaviour notes for 7.0:
GravityPDF/mpdfdev-gravitypdf-v6(locked at e7f7b2a8, 3 CI-only commits past the 2a88146a that 6.18.0 locks). It is upstreamdevelopmentat a981bb7b plus Drop float records the layout has already buried (v6) mpdf#819 (float pruning) and Clear mPDF cache when font is deleted #820 (Cacheaccepts a share thatis_writable()calls read-only), so it also picks up the upstream fixes since 389e19e7. If 7.0 moves to a different fork branch, keep those two fixes.$importExternalLinksargument toimportPage().GFPDF\Helper\Mpdf\Mpdf::importPage()now takes mPDF's own arguments, and still treats a non-string second argument, or more than four arguments, as the mPDF 7 form legacy templates use. Previously a call in mPDF's form lost its box and flags (importPage( 1, 'MediaBox' )imported the CropBox). The change drops two PHPStan baseline entries. It may be worth a 7.0 changelog line.$old_version !== ''), as on the hot-patch.convertDeprecationsToExceptionsis safe ondevelopment, because its bootstrap already masksE_DEPRECATEDonly while Gravity Forms loads, then restores it. Full single-site and multisite runs pass with it on.tests/phpunit/snapshots/public-api.txtgainsHelper_Abstract_Fields::PROCESS_SUBMITTED_RICH_TEXT_MERGE_TAGS(inherited by every field class) and the twoHelper_Templatesmessage methods.wp_send_json()instead ofwp_die( wp_json_encode() ), matching 6.18.0.Local runs (PHP 8.5, WP integration env): PHPUnit single site 2,103 tests passing. Multisite 2,090 passing on the last run. Multisite has one intermittent error in
Test_Controller_Custom_Fonts::test_delete_item_with_font_reference_gone_success(add_pdf_font()returned no font). It fails about 2 in 12 runs of that class, on the previous upstream-mPDF build too, so it's an existing flake and not caused by the fork. Jest 501 passing. One earlier single-site run failedTest_PDF::test_cleanup_tmp_dir_uncached_max_age_is_filterable, which passed in isolation, in its class, and in a full rerun, so it looks like an ordering flake that this diff doesn't touch.