Skip to content

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Dec 15, 2025

Bumps openspout/openspout from 4.32.0 to 5.1.0.

Release notes

Sourced from openspout/openspout's releases.

v5.1.0

What's Changed

New Contributors

Full Changelog: openspout/openspout@v5.0.0...v5.1.0

v5.0.0

Upgrading from 4.x to 5.0

It has been discovered that the operation of merging a cell's Style with a defined default row Style was very expensive: when writing tens of thousand row with hundreds of column, each with a different style and a custom default row style, just the style merging operation could take up to 80% of the overall spreadsheet creation. In v5 therefore you can have either a fallback row style when a Cell has none, or a custom style for the Cell. If you want for example zebra striping over a column of custom formatted cells, now you have to have 2 distinct styles and apply them manually in alternation to even and odd cells.

Moreover, to ensure deterministic outcomes, most of the classes you are dealing with are readonly now, so their properties can only be set once on the constructor, or with with*** methods that return a new instance of the object with just the new property overwritten.

What's Changed

Full Changelog: openspout/openspout@v4.32.0...v5.0.0

Upgrade guide

Sourced from openspout/openspout's upgrade guide.

Upgrade guide

Upgrading from 4.x to 5.0

It has been discovered that the operation of merging a cell's Style with a defined default row Style was very expensive: when writing tens of thousand row with hundreds of column, each with a different style and a custom default row style, just the style merging operation could take up to 80% of the overall spreadsheet creation. In v5 therefore you can have either a fallback row style when a Cell has none, or a custom style for the Cell. If you want for example zebra striping over a column of custom formatted cells, now you have to have 2 distinct styles and apply them manually in alternation to even and odd cells.

Moreover, to ensure deterministic outcomes, most of the classes you are dealing with are readonly now, so their properties can only be set once on the constructor, or with with*** methods that return a new instance of the object with just the new property overwritten.

Upgrading from 3.x to 4.0

Beginning with v4, only actively supported PHP version will be supported. Removing support for EOLed PHP versions as well adding support for new PHP versions will be included in MINOR releases.

Most notable changes

  1. OpenSpout is now fully typed
  2. Classes and interfaces not consumed by the user are now marked as @internal
  3. Classes used by the user are all final

Reader & Writer objects

Both readers and writers have to be naturally instantiated with new keyword, passing the eventual needed Options class as the first argument:

use OpenSpout\Reader\CSV\Reader;
use OpenSpout\Reader\CSV\Options;
$options = new Options();
$options->FIELD_DELIMITER = '|';
$options->FIELD_ENCLOSURE = '@';
$reader = new Reader($options);

Cell types on writes

Cell types are now handled with separate classes:

use OpenSpout\Common\Entity\Cell;
use OpenSpout\Common\Entity\Row;
$row = new Row([
</tr></table>

... (truncated)

Commits
  • 712cfe5 Row: ensure associative arrays are accepted by named constructors (#343)
  • fd282ff Add Withers to Common/Entity classes (#340)
  • 80371cd Add Row::fromValuesWithStyle helper (#342)
  • a27ee59 Drop default row style, make classes readonly where possible (#338)
  • c8e82aa Update actions/checkout action to v6 (#336)
  • ca60213 Update all non-major dependencies
  • See full diff in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

@dependabot dependabot bot added dependencies Pull requests that update a dependency file php Pull requests that update php code labels Dec 15, 2025
@dependabot dependabot bot requested a review from norberttech as a code owner December 15, 2025 04:02
@dependabot dependabot bot added the php Pull requests that update php code label Dec 15, 2025
@dependabot dependabot bot force-pushed the dependabot/composer/openspout/openspout-5.1.0 branch from fea6e3e to c58fd36 Compare December 16, 2025 18:12
Bumps [openspout/openspout](https://github.com/openspout/openspout) from 4.32.0 to 5.1.0.
- [Release notes](https://github.com/openspout/openspout/releases)
- [Upgrade guide](https://github.com/openspout/openspout/blob/5.x/UPGRADE.md)
- [Commits](openspout/openspout@v4.32.0...v5.1.0)

---
updated-dependencies:
- dependency-name: openspout/openspout
  dependency-version: 5.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot force-pushed the dependabot/composer/openspout/openspout-5.1.0 branch from c58fd36 to 83b88b8 Compare December 16, 2025 18:13
@dependabot @github
Copy link
Contributor Author

dependabot bot commented on behalf of github Dec 16, 2025

Looks like openspout/openspout is up-to-date now, so this is no longer needed.

@dependabot dependabot bot closed this Dec 16, 2025
@dependabot dependabot bot deleted the dependabot/composer/openspout/openspout-5.1.0 branch December 16, 2025 19:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file php Pull requests that update php code size: XS

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant