26 Commits

Author SHA1 Message Date
Julien Chavée 5083bf023f Merge branch 'master' into master 2026-08-19 22:01:59 +02:00
Julien Chavée bf9a0210e2 Avoid getStyle on every setValueExplicit quote-prefix check 2026-08-10 11:21:39 +02:00
oleibman 4bf2f8f326 Merge branch 'master' into stancomments 2026-08-03 00:45:46 -07:00
oleibman 40911aa104 Update Phpstan and Tcpdf
Many problems with Dependabot this month. Phpstan introduced a lot of new "errors". These are now fixed or annotated. I combined this with a change to require comments for `phpstan-ignore`. These won't always be useful, but I think requiring them makes sense.

Tcpdf is more of a non-update. Our composer.json specified `^6.5`. For some reason, Dependabot decided it was okay to change that to `^6.5||^7.0`, which seems presumptuous. (One of the triggers was probably the elimination of Php8.1, since the new product requires 8.2+.) Tcpdf is nominally deprecated, replaced by tc-lib-pdf. Tcpdf 7 passes control to the new product. However, the upgrade is not straightforward. The user needs to supply font files which were formerly distributed with the product, and a code change to define a (shudder) global constant is required. Consequently, Dependabot's upgrade failed its unit tests. While I may evaluate what might be needed at some point in the future, for now I am just updating composer.json to reject Tcpdf 7+.
2026-08-01 22:06:38 -07:00
oleibman 448fc02389 Merge branch 'master' into perf/xls-reader-optimizations 2026-06-20 21:18:45 -07:00
oleibman 45f6b78792 Merge branch 'master' into perf/xlsx-xmlreader-streaming 2026-06-07 07:10:21 -07:00
oleibman aeb3775f9a A Little Less Hideous, A Little More Flexible 2026-05-16 16:37:51 -07:00
oleibman 2f9ddd04ef Support UTF-16 and UTF-32 Without Endian-ness and BOM
My research indicates they should be treated as Big-Endian.

This leaves UTF-7 as the only encoding known to be unsupported by CsvChunk; it will be handled by parent.
2026-04-29 08:38:44 -07:00
oleibman 8e92f0d343 UTF-16 Surrogates
Chunk routine would fail if chunk ended between two halves of a surrogate. Fix that.

UTF-7, UTF-16 and UCS-2 (no endian-ness specified and no BOM), UTF-32 and UCS-4 (no endian-ness specified regardless of BOM) all revert to parent routine.
2026-04-28 19:57:39 -07:00
oleibman 4449293121 Merge branch 'master' into perf/csv-streaming-encoding 2026-04-20 21:21:20 -07:00
oleibman 8fe8bd55d5 Merge branch 'master' into perf/xlsx-xmlreader-streaming 2026-04-20 21:20:03 -07:00
oleibman e61358e37f Restructure Code 2026-04-17 13:54:55 -07:00
oleibman 3311a223fe Merge branch 'master' into perf/formula-ast-parsing 2026-04-14 13:09:13 -07:00
oleibman 2046b62b89 One More Tweak 2026-04-07 11:31:42 -07:00
oleibman 65bc9b9cf5 Move 1 Test
CsvChunk will not be moved to production, so its test should not be in the regular unit test suite. However, it still has some value in the Benchmark suite, so move it there.
2026-04-07 10:35:36 -07:00
oleibman 6f5c66753d Add Some Flexibility to Benchmark 2026-04-07 09:34:16 -07:00
oleibman b9d0d0b787 Merge branch 'master' into perf/csv-streaming-encoding 2026-04-06 22:38:46 -07:00
oleibman 8a033d05f0 Resolve Merge Conflicts 2026-04-06 22:30:37 -07:00
kemo c319f893d5 Refactor formula token cache to instance properties, opt-in by default 2026-03-26 09:23:26 +01:00
kemo 972cbe815d Add XLS reader benchmark tests 2026-03-25 17:13:46 +01:00
kemo e9e467de10 Revert copy() to serialize, keep benchmark and docblocks
Drop the clone-based copy() since benchmark results vary across PHP
versions and platforms. Keep the benchmark test (renamed to end in Test)
in a separate testsuite so users can assess which approach suits their
environment. Add docblock @see references on copy() and __clone().
2026-03-25 16:52:09 +01:00
oleibman 5a18a925f9 Rename Benchmark Test 2026-03-22 08:32:27 -07:00
kemo 6798178ce4 Move benchmarks to tests/Benchmark to avoid running with unit tests 2026-03-16 15:01:04 +01:00
kemo dc4c094b7c Move benchmarks to tests/Benchmark to avoid running with unit tests 2026-03-16 15:01:04 +01:00
kemo 134b6b0710 Move benchmarks to tests/Benchmark to avoid running with unit tests 2026-03-16 15:01:04 +01:00
kemo 1c1242aa2d Move benchmarks to tests/Benchmark to avoid running with unit tests 2026-03-16 15:01:04 +01:00