Commit Graph

5260 Commits

Author SHA1 Message Date
oleibman dc1fcafbbe Merge branch 'master' into issue4357 2025-02-16 17:47:44 -08:00
oleibman c531f5dd61 Merge pull request #4368 from oleibman/stanbleed02
Phpstan Bleeding Edge Part 2 of Many
2025-02-16 15:12:34 +00:00
oleibman 820d9ca331 Scrutinizer Keeps Holding Out on Dead Code
I think this may finish it off.
2025-02-15 20:47:48 -08:00
oleibman b64842094a More Dead Code
I sure wish Scrutinizer would give a complete report.
2025-02-15 20:31:26 -08:00
oleibman 7f0bcb8aca Eliminate Dead Code 2025-02-15 20:05:19 -08:00
oleibman ec773bbed9 Phpstan Bleeding Edge Part 2 of Many
This will be the biggest of these changes. It takes care of all of the remaining problems in tests. I will handle the problems in src more slowly.
2025-02-15 19:18:39 -08:00
oleibman cd7386f912 Merge pull request #4367 from oleibman/issue4365
Documentation Update
2025-02-15 08:23:13 +00:00
oleibman e2d68f75e7 Documentation Update
Fix #4365.
2025-02-15 00:18:15 -08:00
oleibman 9978d0605f Merge pull request #4359 from oleibman/stanbleed01
Phpstan Bleeding Edge Part 1 of Many
2025-02-15 08:04:18 +00:00
oleibman d9f49126a0 Update CHANGELOG.md 2025-02-15 00:01:42 -08:00
oleibman 1e1ba2090c Wrong Case in File Name 2025-02-12 20:12:26 -08:00
oleibman e9a08933e8 IOFactory::identify and Custom Reader/Writer
Fix #4357.`identify` returns a type, not a class name, and this result is not always usable for createReader. The docs say that it is usable in that manner. Changing the behavior of `identify` would be a breaking change, but adding an optional parameter (defaulting to current behavior) allowing it to return a class name rather than a type would not. This PR adds that parameter and updates the documentation to suggest its use for the code in question.

To complete this change, `createReader` now accepts either a type (current behavior) or class name (new). Although it is not particularly identified as a possible problem by the issue, `createWriter` is similarly changed for consistency's sake.
2025-02-12 20:04:40 -08:00
oleibman 467f808c33 Tweak Helper/Html 2025-02-12 13:19:30 -08:00
oleibman 898fa0bf60 Phpstan Bleeding Edge Part 1 of Many
We currently use Phpstan Release 1. Release 2 has been available for some time, and we would like to stay current if possible. In order to get to Release 2, we first have to pass the "bleeding edge" tests for Release 1. I will do this by generating a new baseline using bleeding edge, then fix the baseline errors over several different PR's. This is the first of those.
2025-02-12 07:48:32 -08:00
oleibman cf582361c3 Merge pull request #4351 from oleibman/datetext
Fix TEXT and TIMEVALUE Functions Master Branch
2025-02-11 04:35:40 +00:00
oleibman a9749332d7 Merge branch 'master' into datetext 2025-02-09 20:31:23 -08:00
oleibman 04c0a793ee Fix TEXT and TIMEVALUE Functions Master Branch
Fix #4249. Technically speaking, only the 1.29 branch needs fixing, and only for TEXT. It was fixed for the other branches by PR #3898. However, in adding test cases for the fix, it became apparent that PhpSpreadsheet's parsing in TIMEVALUE (which is called from TEXT in the original issue) did not really match Excel's. There are probably still edge cases where it doesn't, but, in the absence of a spec for how it operates, this will do for now.

We do not usually backport fixes from the master branch. Because this is more of a forward port from the earlier branch, there is an equivalent PR for each active branch.
2025-02-09 20:27:27 -08:00
oleibman 33f8fc1624 Merge pull request #4350 from oleibman/escape
Allow php-cs-fixer to Handle Implicit Backslashes
2025-02-08 08:45:01 +00:00
oleibman 37b6ca4979 Allow php-cs-fixer to Handle Implicit Backslashes
Its defaults are to unescape within single quotes, and escape within double quotes and here-docs. Right now, it leaves everything as-is, which means our code is inconsistent and need not be. Further, although dealing with complex regular expressions will never be easy, I find it much easier to figure out what's going on when superfluous back-slashes are removed.

These changes were all made automatically using the "fix" script, so should be reliable. They, of course, pass all unit tests.
2025-02-08 00:11:01 -08:00
oleibman 9d1ad14a48 Merge pull request #4349 from oleibman/updstan
Upgrade Phpstan
2025-02-08 05:02:56 +00:00
oleibman 4bbbbac700 Upgrade Phpstan
Prepatory to switching to "bleeding edge", necessary for Phpstan V2.
2025-02-07 20:58:37 -08:00
oleibman 2d4b9f3582 Merge pull request #4348 from oleibman/chglog20250207
Prepare Changelog for New Release
4.0.0
2025-02-08 02:28:25 +00:00
oleibman f90b6d6799 Setup Suddenly Needs apt-get update 2025-02-07 18:24:16 -08:00
oleibman 5714c8df53 Prepare Changelog for New Release 2025-02-07 17:49:59 -08:00
oleibman 1be70e9036 Merge pull request #4344 from oleibman/parseutf8
Writer/Xls/Parser::advance Should Parse by Character
2025-02-07 16:59:26 +00:00
oleibman cff401544c Merge branch 'master' into parseutf8 2025-02-07 08:56:53 -08:00
oleibman 18cfe5ba7e Merge pull request #4326 from oleibman/serialize
Allow Spreadsheet Serialization
2025-02-07 16:48:05 +00:00
oleibman e58dd89642 Update CHANGELOG.md 2025-02-07 08:43:18 -08:00
oleibman d6892b2733 Merge branch 'master' into serialize 2025-02-07 08:33:24 -08:00
oleibman a432882ea1 Merge pull request #4328 from oleibman/arraysexplicit
Make Explicit Array Return Type When Tests Require It
2025-02-07 06:59:28 +00:00
oleibman 4ad6b32a2b Update CHANGELOG.md 2025-02-06 22:52:14 -08:00
oleibman 4d6db5d1a7 Merge branch 'master' into arraysexplicit 2025-02-06 22:44:41 -08:00
oleibman d0a00803b5 Merge branch 'master' into parseutf8 2025-02-06 17:40:00 -08:00
oleibman ac34f58c0c Writer/Xls/Parser::advance Should Parse by Character
It currently parsed by byte, which is not a good thing in a UTF-8 system. See the discussion at the bottom of PR #4203. That turns out to not be the change which led to this problem; that would have been PR #4323. That change came about because using Composer/Pcre revealed bugs in several regular expressions used in Writer/Xls/Parser. This ticket comes about because more bugs were revealed in the same module. The problem is that the `advance` method needs to process formulas character by character, but is instead doing it byte by byte. It is changed to advance by characters, and tests for non-ASCII characters are added.
2025-02-06 17:37:02 -08:00
oleibman 06f0b4cfb6 Merge pull request #4341 from oleibman/deldeprecate
Remove Previously Announced Deprecations
2025-02-06 06:30:20 +00:00
oleibman 77815d2dcc Remove Previously Announced Deprecations
Remove
- Worksheet::getHashCode
- Worksheet::getProtectecCells
- Worksheet::getStyles
- Drawing::setIsUrl
- IReader::SKIP_EMPTY_CELLS
- Settings:setLibXmlLoaderOptions and getLibXmlLoaderOptions
- Writer/Html::isMpdf
2025-02-04 19:30:57 -08:00
oleibman 65f71583ce Merge pull request #4340 from oleibman/chgdefault
Breaking Change - 3 Defaults
2025-02-05 01:11:04 +00:00
oleibman 6abfe2f626 Merge pull request #4330 from oleibman/removewsstyles
Remove Styles Property From Worksheet
2025-02-05 00:48:19 +00:00
oleibman ed5ea6dd7c Minor Updates To Change Log and Docs 2025-02-04 07:16:03 -08:00
oleibman 95213bf50a Breaking Change - 3 Defaults
Fix #4092. Change default value for Csv Reader autodetect line endings. Prior behavior can be enabled via `setTestAutodetect(true)`.

Change default value for Html Writer "better boolean" logic. Prior behavior can be explicitly enabled via `setBetterBoolean(false)`.

Change default for Xlsx Writer forceFullCalc option. Prior behavior can be explicitly enabled via `setForceFullCalc(null)`.
2025-02-04 06:58:31 -08:00
oleibman eafbed6ca8 Merge pull request #4314 from oleibman/issue4312
CF Priority Property and Overlapping Ranges
2025-02-04 04:35:13 +00:00
oleibman e1ae687a35 Merge pull request #4240 from oleibman/issue797
Breaking Change for DataValidation
2025-02-04 04:31:00 +00:00
oleibman d93a707d37 Update CHANGELOG.md 2025-02-03 20:28:13 -08:00
oleibman cfc8b8c26f Merge branch 'master' into issue797 2025-02-03 17:50:15 -08:00
oleibman e721975cb6 Merge pull request #4333 from oleibman/issue4331
Xls Writer Parser Mis-handling TRUE/FALSE As VLOOKUP Arguments
2025-02-03 00:14:18 +00:00
oleibman 21d8f00c61 Update CHANGELOG.md 2025-02-02 16:11:54 -08:00
oleibman dd600fe621 Merge pull request #4338 from PHPOffice/dependabot/composer/friendsofphp/php-cs-fixer-3.68.5
Bump friendsofphp/php-cs-fixer from 3.66.0 to 3.68.5
2025-02-01 15:43:18 +00:00
oleibman 6523dc7ef0 Merge pull request #4337 from PHPOffice/dependabot/composer/dompdf/dompdf-3.1.0
Bump dompdf/dompdf from 3.0.2 to 3.1.0
2025-02-01 15:42:43 +00:00
oleibman fcc8ade7fe Merge pull request #4336 from PHPOffice/dependabot/composer/tecnickcom/tcpdf-6.8.2
Bump tecnickcom/tcpdf from 6.8.0 to 6.8.2
2025-02-01 15:42:09 +00:00
oleibman a8faaad961 Merge pull request #4335 from PHPOffice/dependabot/composer/squizlabs/php_codesniffer-3.11.3
Bump squizlabs/php_codesniffer from 3.11.2 to 3.11.3
2025-02-01 15:41:40 +00:00