Skip to content

Commit af5ff6b

Browse files
authored
Merge branch 'master' into clonespreadsheet
2 parents 49bab44 + c531f5d commit af5ff6b

File tree

203 files changed

+3008
-1416
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

203 files changed

+3008
-1416
lines changed

.github/workflows/main.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
uses: actions/checkout@v4
2727

2828
- name: Install locales
29-
run: sudo apt-get install -y language-pack-fr language-pack-de
29+
run: sudo apt-get update && sudo apt-get install -y language-pack-fr language-pack-de
3030

3131
- name: Install single-byte locale
3232
run: sudo sed -i -e 's/# de_DE@euro/de_DE@euro/g' /etc/locale.gen && sudo locale-gen de_DE@euro
@@ -221,6 +221,12 @@ jobs:
221221
with:
222222
fetch-depth: 0
223223

224+
- name: Install locales
225+
run: sudo apt-get update && sudo apt-get install -y language-pack-fr language-pack-de
226+
227+
- name: Install single-byte locale
228+
run: sudo sed -i -e 's/# de_DE@euro/de_DE@euro/g' /etc/locale.gen && sudo locale-gen de_DE@euro
229+
224230
- name: Setup PHP, with composer and extensions
225231
uses: shivammathur/setup-php@v2
226232
with:

.php-cs-fixer.dist.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,7 @@
221221
'standardize_not_equals' => true,
222222
'static_lambda' => false, // Risky if we can't guarantee nobody use `bindTo()`
223223
'strict_comparison' => false, // No, too dangerous to change that
224-
'string_implicit_backslashes' => false, // was escape_implicit_backslashes, too confusing
224+
'string_implicit_backslashes' => ['single_quoted' => 'unescape', 'double_quoted' => 'escape', 'heredoc' => 'escape'], // was escape_implicit_backslashes
225225
'strict_param' => false, // No, too dangerous to change that
226226
'string_length_to_empty' => true,
227227
'string_line_ending' => true,

CHANGELOG.md

Lines changed: 51 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,20 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com)
66
and this project adheres to [Semantic Versioning](https://semver.org).
77

8-
## TBD - 4.0.0
8+
## TBD - 4.1.0
99

1010
### Added
1111

1212
- Nothing yet.
1313

14-
### Changed
14+
### Removed
1515

1616
- Nothing yet.
1717

18+
### Changed
19+
20+
- Start migration to Phpstan 2. [PR #4359](https://github.com/PHPOffice/PhpSpreadsheet/pull/4359)
21+
1822
### Moved
1923

2024
- Nothing yet.
@@ -25,8 +29,53 @@ and this project adheres to [Semantic Versioning](https://semver.org).
2529

2630
### Fixed
2731

32+
- Refactor Helper/Html. [PR #4359](https://github.com/PHPOffice/PhpSpreadsheet/pull/4359)
33+
34+
## 2025-02-08 - 4.0.0
35+
36+
### BREAKING CHANGES
37+
38+
- Data Validations will be stored by worksheet, not cell. Index can be one or more cells or cell ranges. [Issue #797](https://github.com/PHPOffice/PhpSpreadsheet/issues/797) [Issue #4091](https://github.com/PHPOffice/PhpSpreadsheet/issues/4091) [Issue #4206](https://github.com/PHPOffice/PhpSpreadsheet/issues/4206) [PR #4240](https://github.com/PHPOffice/PhpSpreadsheet/pull/4240)
39+
- Conditional Formatting adds Priority property and handles overlapping ranges better. [Issue #4312](https://github.com/PHPOffice/PhpSpreadsheet/issues/4312) [Issue #4318](https://github.com/PHPOffice/PhpSpreadsheet/issues/4318) [PR #4314](https://github.com/PHPOffice/PhpSpreadsheet/pull/4314)
40+
- Csv Reader will no longer auto-detect Mac line endings by default. Prior behavior can be explicitly enabled via `setTestAutoDetect(true)`, and it will not be possible at all with Php9+. [Issue #4092](https://github.com/PHPOffice/PhpSpreadsheet/issues/4092) [PR #4340](https://github.com/PHPOffice/PhpSpreadsheet/pull/4340)
41+
- Html Writer will now use "better boolean" logic. Booleans will now be output by default as TRUE/FALSE rather than 1/null-string. Prior behavior can be explicitly enabled via `setBetterBoolean(false)`. [PR #4340](https://github.com/PHPOffice/PhpSpreadsheet/pull/4340)
42+
- Xlsx Writer will now use false as the default for `forceFullCalc`. This affects writes with `preCalculateFormulas` set to false. Prior behavior can be explicitly enabled via `setForceFullCalc(null)`.[PR #4340](https://github.com/PHPOffice/PhpSpreadsheet/pull/4340)
43+
- Deletion of items deprecated in Release 3. See "removed" below.
44+
45+
### Added
46+
47+
- Pdf Charts and Drawings. [Discussion #4129](https://github.com/PHPOffice/PhpSpreadsheet/discussions/4129) [Discussion #4168](https://github.com/PHPOffice/PhpSpreadsheet/discussions/4168) [PR #4327](https://github.com/PHPOffice/PhpSpreadsheet/pull/4327)
48+
- Allow spreadsheet serialization. [Discussion #4324](https://github.com/PHPOffice/PhpSpreadsheet/discussions/4324) [Issue #1741](https://github.com/PHPOffice/PhpSpreadsheet/issues/1741) [Issue #1757](https://github.com/PHPOffice/PhpSpreadsheet/issues/1757) [PR #4326](https://github.com/PHPOffice/PhpSpreadsheet/pull/4326)
49+
50+
### Removed
51+
52+
- Worksheet::getStyles - no replacement. [PR #4330](https://github.com/PHPOffice/PhpSpreadsheet/pull/4330)
53+
- The following items were deprecated in release 3 and are now removed.
54+
- Drawing::setIsUrl - no replacement.
55+
- Settings::setLibXmlLoaderOptions() and Settings::getLibXmlLoaderOptions() - no replacement.
56+
- Worksheet::getHashCode - no replacement.
57+
- IReader::SKIP_EMPTY_CELLS - use its alias IGNORE_EMPTY_CELLS instead.
58+
- Worksheet::getProtectedCells - use getProtectedCellRanges instead.
59+
- Writer/Html::isMpdf property - use instanceof Mpdf instead.
60+
61+
### Changed
62+
63+
- Nothing yet.
64+
65+
### Moved
66+
2867
- Nothing yet.
2968

69+
### Deprecated
70+
71+
- Nothing yet.
72+
73+
### Fixed
74+
75+
- Xls writer Parser Mishandling True/False Argument. [Issue #4331](https://github.com/PHPOffice/PhpSpreadsheet/issues/4331) [PR #4333](https://github.com/PHPOffice/PhpSpreadsheet/pull/4333)
76+
- Xls writer Parser Parse By Character Not Byte. [PR #4344](https://github.com/PHPOffice/PhpSpreadsheet/pull/4344)
77+
- Minor changes to dynamic array calculations exposed by using explicit array return types in some tests. [PR #4328](https://github.com/PHPOffice/PhpSpreadsheet/pull/4328)
78+
3079
## 2025-01-26 - 3.9.0
3180

3281
### Added

CONTRIBUTING.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@ This makes it easier to see exactly what is being tested when reviewing the PR.
4242
3. Push the tag with `git push --tags`, GitHub Actions will create a GitHub release automatically, and the release details will automatically be sent to packagist.
4343
4. By default, Github removes markdown headings in the Release Notes. You can either edit to restore these, or, probably preferably, change the default comment character on your system - `git config core.commentChar ";"`.
4444

45-
> **Note:** Tagged releases are made from the `master` branch. Only in an emergency should a tagged release be made from the `release` branch. (i.e. cherry-picked hot-fixes.) However, there are 3 branches which have been updated to apply security patches, and those may be tagged if future security updates are needed.
45+
> **Note:** Tagged releases are made from the `master` branch. Only in an emergency should a tagged release be made from the `release` branch. (i.e. cherry-picked hot-fixes.) However, there are 4 branches which have been updated to apply security patches, and those may be tagged if future security updates are needed.
4646
- release1291
4747
- release210
4848
- release222
49-
49+
- release390

composer.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
"platform": {
1616
"php" : "8.1.99"
1717
},
18+
"process-timeout": 600,
1819
"sort-packages": true,
1920
"allow-plugins": {
2021
"dealerdirect/phpcodesniffer-composer-installer": true
@@ -79,7 +80,7 @@
7980
"ext-xmlwriter": "*",
8081
"ext-zip": "*",
8182
"ext-zlib": "*",
82-
"composer/pcre": "^3.3",
83+
"composer/pcre": "^1||^2||^3",
8384
"maennchen/zipstream-php": "^2.1 || ^3.0",
8485
"markbaker/complex": "^3.0",
8586
"markbaker/matrix": "^3.0",

0 commit comments

Comments
 (0)