6912 Commits

Author SHA1 Message Date
oleibman 8bff5209d6 Merge pull request #5112 from oleibman/libxml
Restore Some libxml Tests
2026-11-13 07:43:41 +00:00
oleibman 173834ca86 Merge pull request #5095 from jayhemnani9910/fix/xlookup-not-found-na
XLOOKUP: return #N/A when nothing matches and no if_not_found is given
2026-11-13 07:30:55 +00:00
oleibman 9966d1d59f Merge branch 'master' into fix/xlookup-not-found-na 2026-11-12 23:23:12 -08:00
oleibman d4dd3bba9d Update CHANGELOG.md 2026-11-12 23:22:25 -08:00
oleibman e231113200 Merge pull request #5100 from oleibman/issue5087
Defined Name Can Be Set to TRUE or FALSE
2026-11-12 21:22:11 +00:00
oleibman 1b7fecce30 Merge branch 'master' into issue5087 2026-11-12 13:17:46 -08:00
oleibman e6b74a41ab Update CHANGELOG.md 2026-11-12 13:17:07 -08:00
oleibman 36dc9cb9d8 Merge pull request #5094 from b84330808/csv-writer-keep-long-number-text
Csv Writer: keep text that starts with a long number
2026-11-12 19:36:38 +00:00
oleibman a200d60a67 Merge branch 'master' into csv-writer-keep-long-number-text 2026-11-12 11:29:46 -08:00
oleibman 2475c411a1 Update CHANGELOG.md 2026-11-12 11:29:16 -08:00
oleibman 84a9114f4a Merge pull request #5077 from ChrisAbner/fix/792-remove-sheet-defined-names
Clean up defined names when a sheet is removed
2026-11-12 18:30:49 +00:00
oleibman a0bae14f51 Merge branch 'master' into fix/792-remove-sheet-defined-names 2026-11-12 10:25:25 -08:00
oleibman dea53c1845 Update CHANGELOG.md 2026-11-12 10:24:49 -08:00
oleibman 7432633a94 Merge pull request #5076 from shaurya703/fix/search-wildcards
Support wildcards in SEARCH
2026-11-12 18:08:58 +00:00
oleibman 364c5f7d90 Update CHANGELOG.md 2026-11-12 10:01:24 -08:00
oleibman 90f22ca9b4 Fussy php-cs-fixer 2026-11-12 09:57:00 -08:00
oleibman b4fdd091a0 Merge pull request #5070 from danog/psalm-taint-annotations
Add Psalm taint analysis annotations
2026-11-12 17:42:10 +00:00
oleibman 59004cf0b0 Restore Some libxml Tests
libxml behavior changed with 2.14.0. This came up during Php 8.6 testing, and it was fixed by disabling the tests for 2.14.00 and up. As expected, it now affects earlier Php releases as well. Keeping the tests disabled would still work, but I have now identified some equivalent tests which will work both pre- and post- 2.14.0.
2026-11-12 09:40:52 -08:00
oleibman 7f2fe4a37f Update CHANGELOG.md 2026-11-12 09:34:06 -08:00
oleibman 6a4ec7baea Merge branch 'master' into issue5087 2026-11-11 20:19:09 -08:00
oleibman 12761dd2f0 Merge branch 'master' into fix/xlookup-not-found-na 2026-11-11 19:59:07 -08:00
oleibman 03a46f400b Merge branch 'master' into csv-writer-keep-long-number-text 2026-11-11 19:41:40 -08:00
oleibman f948e04ab9 Merge branch 'master' into fix/792-remove-sheet-defined-names 2026-11-11 19:40:49 -08:00
oleibman 9a824ae15e Merge branch 'master' into fix/search-wildcards 2026-11-11 17:52:45 -08:00
oleibman c4ac76ed08 Merge branch 'master' into psalm-taint-annotations 2026-11-11 17:51:47 -08:00
oleibman 5881feb100 Merge pull request #5108 from oleibman/pnglocale
Changes in libpng and CLDR Affect Our Test Suite
2026-11-12 01:33:18 +00:00
oleibman 0c6bcf4888 Changes in libpng and CLDR Affect Our Test Suite
I am not able to reproduce the errors. I think these changes are right, but won't know for sure till Github CI runs.

CLDR changed decimal separator character for Italian Swiss from curly apostrophe to straight apostrophe. This affects a test in StringHelperLocale2Test.

libpng has added a warning "when a grayscale PNG file contains an embedded RGB color profile (iCCP chunk), which violates the official PNG specification". I have followed instructions to get rid of the offending chunk in blue_square.png.
2026-11-11 17:25:05 -08:00
oleibman 9d17a51d20 Case And Locale Sensitive 2026-11-08 15:40:44 -08:00
oleibman 3725056812 Defined Name Can Be Set to TRUE or FALSE
Fix #5087. A secondary problem raised in that issue is a bit of an illusion. The problem there was that a sheet name ending with apostrophe is illegal; Worksheet `checkSheetTitle` is changed to enforce that restriction.
2026-11-08 02:05:42 -08:00
oleibman 3aa1f0d0f3 Merge pull request #5099 from oleibman/change20261107
Update Changelog for New Release
5.11.0
2026-11-08 06:29:49 +00:00
oleibman 161ac82f6c Update Changelog for New Release 2026-11-07 22:09:23 -08:00
oleibman 214bb2ede7 Merge pull request #5083 from oleibman/badmeta
Phpstan Update
2026-11-08 04:10:52 +00:00
Jay Hemnani cf8be05eb6 Add PR link to changelog 2026-11-06 20:05:11 +05:30
Jay Hemnani 7e334ba004 XLOOKUP: return #N/A when nothing matches and no if_not_found is given
The default for if_not_found was the string '#N/A!', which is not one of
the error codes. ISNA() and ISERROR() returned FALSE for it and IFNA()
did not replace it. Default to the #N/A error code instead.
2026-11-06 18:34:57 +05:30
b84330808 0a52786ffa Add the pull request link to the changelog entry 2026-11-06 15:01:54 +09:00
oleibman 5b8754ecec Merge pull request #5093 from dylanpulver/fix/dead-xml-reader-test-assertions
Remove assertions the Xml reader tests never reach
2026-11-06 05:36:36 +00:00
b84330808 27a9a43b81 Csv Writer: keep text that starts with a long number
Since 5.0.0 writeLine() limits values to 15 significant digits, so that
Excel doesn't complain about precision when it opens the file. The check
was anchored only at the start of the value and ignored the cell's data
type, so a text cell was rewritten too and anything after the number was
lost: "3.14159265358979323 is pi" came out as "3.14159265358979".

Match the whole value, and leave string and inline string cells alone.
Numeric cells and formula results that are entirely a number are still
limited to 15 digits.

Fixes #5092
2026-11-06 14:06:04 +09:00
Dylan Pulver 9b678c73f3 Assert the exception message in the five tests that lacked one
Per review: the tests changed here that already had expectExceptionMessage
keep it, and these five did not. Each now pins the message so the test
confirms the exception is raised for the right reason.

The messages were read off the real exceptions rather than from the throw
sites, and each is a stable substring in the style the suite already uses,
so a path or an argument value cannot break it. Mutating all seven messages
in these four files to a sentinel fails exactly seven tests, which is the
two that were already there plus these five.
2026-11-05 14:07:01 -05:00
Dylan Pulver 3155906295 Remove the remaining assertions that never run
The same shape as the Reader/Xml ones, in the rest of the suite. Each
sits after the call that raises the expected exception, so it is
unreachable, and the scanner now reports none left in tests/.

Two are unwrapped rather than deleted, because the throwing call was
the assertion's own argument: ModeTest's getCalculatedValue() and
OdsInfoTest's listWorksheetNames().

testLoadCorruptFile had four dead statements, not one. Everything after
$reader->load() is unreachable, so the whole tail goes and the test
ends at the load, matching testLoadInvalidFile above it.

The nine files report 71 tests and 196 assertions before and after.
2026-11-05 06:14:26 -05:00
Dylan Pulver 22c1b81d28 Remove assertions the Xml reader tests never reach
Eight tests in Reader/Xml assert on a value assigned by the call that
throws the expected exception. The call raises, so the variable is never
assigned and the assertion never runs.

Six of them are self-comparisons, assertNotEquals($x, $x). Those could
not pass even if they were reached, so they only served to make the test
look like it asserted something. Dropping them changes no coverage:
XmlInfoTest stays at 16 assertions and XmlTest at 19.
2026-11-05 04:33:58 -05:00
oleibman 287af3bc26 Merge branch 'master' into badmeta 2026-11-05 01:27:05 -08:00
oleibman c3b89a4d8c Merge branch 'master' into fix/792-remove-sheet-defined-names 2026-11-05 01:26:01 -08:00
oleibman 941cb53d00 Merge branch 'master' into fix/search-wildcards 2026-11-05 01:24:55 -08:00
oleibman ebcbf84b83 Merge pull request #5074 from wleeaf/fix-datavalidation-range-lookup
Allow getDataValidation for a range when range validations exist
2026-11-05 08:13:06 +00:00
oleibman 2623c0aa35 Merge branch 'master' into fix-datavalidation-range-lookup 2026-11-05 00:06:10 -08:00
oleibman 2fef4dddeb Merge pull request #5071 from wleeaf/fix-text-format-escaped-chars
Handle backslash escapes in text formats containing @
2026-11-05 07:52:37 +00:00
oleibman af3257a1d7 Merge pull request #5066 from ganeshmshetty/xls-custom-color-index
Xls Writer: built-in palette match above the custom range does not fill the palette
2026-11-05 05:45:19 +00:00
oleibman 085d87061e Merge pull request #5060 from ybai08/fraction-format-integers
Write Integers With a Fraction Format As Excel Does
2026-11-04 18:30:36 +00:00
oleibman 87bc0d7ae1 Update Excel Anomalies.md 2026-11-04 09:34:29 -08:00
oleibman bd0271fc9d Merge branch 'master' into badmeta 2026-11-03 22:26:28 -08:00