exporter/ChangeLog.md

3.2 KiB

ChangeLog

All notable changes are documented in this file using the Keep a CHANGELOG principles.

8.2.0 - 2026-08-07

Added

  • ObjectExporter interface, ObjectExporterChain, and ExportContext for customizing how objects are exported (an object exporter can be passed to Exporter's constructor and is consulted before the default representation of an object is used)
  • Exporter::shortenedExport() and Exporter::shortenedRecursiveExport() use the representation provided by an object exporter as well; it is collapsed to a single line and shortened when it is longer than the configured maximum length
  • Exporter::hasCustomRepresentationFor() for checking whether an object exporter provides the representation for an object

8.1.1 - 2026-07-13

Fixed

  • A lone \n (LF) followed by a lone \r (CR) was incorrectly treated as a single \n\r line ending when exporting a string; these are now treated as two separate line endings

8.1.0 - 2026-05-21

Changed

  • #57: Preserve SplObjectStorage iterator position instead of resetting to first element
  • #91: Make binary string output readable for mostly-printable values

8.0.3 - 2026-05-20

Fixed

  • #90: Exporter::toArray() silently drops a private property that is redeclared in a derived class

8.0.2 - 2026-04-15

  • #74: Int cast warning when exporting large floats

8.0.1 - 2026-04-10

Changed

  • Explicitly handle NAN, INF, and -INF in exportFloat()

8.0.0 - 2026-02-06

Removed

  • This component is no longer supported on PHP 8.3

7.0.3 - 2026-05-20

Fixed

  • #90: Exporter::toArray() silently drops a private property that is redeclared in a derived class

7.0.2 - 2025-09-24

Changed

  • Suppress unexpected NAN value was coerced to string warning triggered on PHP 8.5

7.0.1 - 2025-09-22

Changed

  • Suppress not representable as an int, cast occurred warning triggered on PHP 8.5

7.0.0 - 2025-02-07

Removed

  • This component is no longer supported on PHP 8.2