SetaPDF Version 2.47.0.2095 released!2025-03-19 Finally, we've introduced namespaces in SetaPDF 😎 – yes, we know that most of you may not know the times where no namespaces existed in PHP and wondered why our class names were that long and structured with underscores: That’s how it was done back in the days before PHP 5.3 – and that’s where our journey started.
Backwards compatibility has always been and remains an important requirement for us so that our customers can use the latest versions without any problem. We thought that introducing namespaces would break backwards compatibility and that we would only be able to integrate this “change” in a major release. However, after intensive research, development and testing, we have found ways to achieve almost complete backward compatibility which landed in this release.
So there's no real need to refactor any code but it's simply a cosmetic change and a matter of style. The old class names are still valid and registered as class aliases. All our demos and documentation will use the new namespaced version in the future. They will be updated in the coming days accordingly.
For a general overview of the migration from 2.46 to 2.47 we prepared an article in our manual . There you will also find information about very rarely edge cases where an upgrade may need some adjustments.
Check the release notes of the components below.
Log in to download the latest version of the related packages!
SetaPDF-Core
SetaPDF-Extractor
SetaPDF-FormFiller Full
SetaPDF-FormFiller Lite
SetaPDF-Merger
SetaPDF-Signer
SetaPDF-Stamper
switch product
Version 2.47.0.2095
Release date: 2025-03-19
Filename
Download
Composer
[ ]
Information
SetaPDF-Core Component Feature Added markedContent()
method to Canvas\Operators
class. Added namespaces to all classes (setasign\SetaPDF2\Core
) and class aliases for backwards compatibility. Bugfix Fixed possible infinite loop in AbstractType::ensure()
when indirect objects are recursive. Handle recursion in various helper methods of SetaPDF_Core_Type_Dictionary_Helper
. Recognize PDF/A part and conformance in attributes, too. Tweak Added public createSubset()
method to TrueType\Subset
and Type0\Subset
classes to allow control over the moment the PDF objects are created. Added getCanvas() method to SetaPDF_Core_Canvas_ContainerInterface interface. Canvas\MarkedContent
class extends Canvas\StandardOperators
now.Added missing parent::decode()
call in Flate fallback logic. Addes support for individual schema extension namespaces for ZUGFeRD extraction. Moved SetaPDF_Core_DataStructure_Color::hexToRgb()
to SetaPDF_Core_DataStructure_Color_Rgb
and marked old method as deprecated. Added missing abstract keyword to SetaPDF_Core_DataStructure_Color
class.
Version 2.47.0.2095
Release date: 2025-03-19
Filename
Download
Composer
[ ]
Information
SetaPDF-Extractor Component Feature Added namespaces to all classes (setasign\SetaPDF2\Extractor
) and class aliases for backwards compatibility. SetaPDF-Core Component Feature Added markedContent()
method to Canvas\Operators
class. Added namespaces to all classes (setasign\SetaPDF2\Core
) and class aliases for backwards compatibility. Bugfix Fixed possible infinite loop in AbstractType::ensure()
when indirect objects are recursive. Handle recursion in various helper methods of SetaPDF_Core_Type_Dictionary_Helper
. Recognize PDF/A part and conformance in attributes, too. Tweak Added public createSubset()
method to TrueType\Subset
and Type0\Subset
classes to allow control over the moment the PDF objects are created. Added getCanvas() method to SetaPDF_Core_Canvas_ContainerInterface interface. Canvas\MarkedContent
class extends Canvas\StandardOperators
now.Added missing parent::decode()
call in Flate fallback logic. Addes support for individual schema extension namespaces for ZUGFeRD extraction. Moved SetaPDF_Core_DataStructure_Color::hexToRgb()
to SetaPDF_Core_DataStructure_Color_Rgb
and marked old method as deprecated. Added missing abstract keyword to SetaPDF_Core_DataStructure_Color
class.
Version 2.47.0.2095
Release date: 2025-03-19
Filename
Download
Composer
[ ]
Information
SetaPDF-FormFiller Full Component Feature Added namespaces to all classes (setasign\SetaPDF2\FormFiller
) and class aliases for backwards compatibility. SetaPDF-Core Component Feature Added markedContent()
method to Canvas\Operators
class. Added namespaces to all classes (setasign\SetaPDF2\Core
) and class aliases for backwards compatibility. Bugfix Fixed possible infinite loop in AbstractType::ensure()
when indirect objects are recursive. Handle recursion in various helper methods of SetaPDF_Core_Type_Dictionary_Helper
. Recognize PDF/A part and conformance in attributes, too. Tweak Added public createSubset()
method to TrueType\Subset
and Type0\Subset
classes to allow control over the moment the PDF objects are created. Added getCanvas() method to SetaPDF_Core_Canvas_ContainerInterface interface. Canvas\MarkedContent
class extends Canvas\StandardOperators
now.Added missing parent::decode()
call in Flate fallback logic. Addes support for individual schema extension namespaces for ZUGFeRD extraction. Moved SetaPDF_Core_DataStructure_Color::hexToRgb()
to SetaPDF_Core_DataStructure_Color_Rgb
and marked old method as deprecated. Added missing abstract keyword to SetaPDF_Core_DataStructure_Color
class.
Version 2.47.0.2095
Release date: 2025-03-19
Filename
Download
Composer
[ ]
Information
SetaPDF-FormFiller Lite Component Feature Added namespaces to all classes (setasign\SetaPDF2\FormFiller
) and class aliases for backwards compatibility. SetaPDF-Core Component Feature Added markedContent()
method to Canvas\Operators
class. Added namespaces to all classes (setasign\SetaPDF2\Core
) and class aliases for backwards compatibility. Bugfix Fixed possible infinite loop in AbstractType::ensure()
when indirect objects are recursive. Handle recursion in various helper methods of SetaPDF_Core_Type_Dictionary_Helper
. Recognize PDF/A part and conformance in attributes, too. Tweak Added public createSubset()
method to TrueType\Subset
and Type0\Subset
classes to allow control over the moment the PDF objects are created. Added getCanvas() method to SetaPDF_Core_Canvas_ContainerInterface interface. Canvas\MarkedContent
class extends Canvas\StandardOperators
now.Added missing parent::decode()
call in Flate fallback logic. Addes support for individual schema extension namespaces for ZUGFeRD extraction. Moved SetaPDF_Core_DataStructure_Color::hexToRgb()
to SetaPDF_Core_DataStructure_Color_Rgb
and marked old method as deprecated. Added missing abstract keyword to SetaPDF_Core_DataStructure_Color
class.
Version 2.47.0.2095
Release date: 2025-03-19
Filename
Download
Composer
[ ]
Information
SetaPDF-Merger Component Feature Added namespaces to all classes (setasign\SetaPDF2\Merger
) and class aliases for backwards compatibility. Tweak Removed unneeded instanceof check in _handleOptionalContent()
method. SetaPDF-Core Component Feature Added markedContent()
method to Canvas\Operators
class. Added namespaces to all classes (setasign\SetaPDF2\Core
) and class aliases for backwards compatibility. Bugfix Fixed possible infinite loop in AbstractType::ensure()
when indirect objects are recursive. Handle recursion in various helper methods of SetaPDF_Core_Type_Dictionary_Helper
. Recognize PDF/A part and conformance in attributes, too. Tweak Added public createSubset()
method to TrueType\Subset
and Type0\Subset
classes to allow control over the moment the PDF objects are created. Added getCanvas() method to SetaPDF_Core_Canvas_ContainerInterface interface. Canvas\MarkedContent
class extends Canvas\StandardOperators
now.Added missing parent::decode()
call in Flate fallback logic. Addes support for individual schema extension namespaces for ZUGFeRD extraction. Moved SetaPDF_Core_DataStructure_Color::hexToRgb()
to SetaPDF_Core_DataStructure_Color_Rgb
and marked old method as deprecated. Added missing abstract keyword to SetaPDF_Core_DataStructure_Color
class.
Version 2.47.0.2095
Release date: 2025-03-19
Filename
Download
Composer
[ ]
Information
SetaPDF-Signer Component Feature Added namespaces to all classes (setasign\SetaPDF2\Signer
) and class aliases for backwards compatibility. Bugfix Ensure appearance in case the signed PDF is a PDF/A-1 document. Tweak Marked DigestInterface
as deprecated (it was never used or implemented by more than a single class). SetaPDF-Core Component Feature Added markedContent()
method to Canvas\Operators
class. Added namespaces to all classes (setasign\SetaPDF2\Core
) and class aliases for backwards compatibility. Bugfix Fixed possible infinite loop in AbstractType::ensure()
when indirect objects are recursive. Handle recursion in various helper methods of SetaPDF_Core_Type_Dictionary_Helper
. Recognize PDF/A part and conformance in attributes, too. Tweak Added public createSubset()
method to TrueType\Subset
and Type0\Subset
classes to allow control over the moment the PDF objects are created. Added getCanvas() method to SetaPDF_Core_Canvas_ContainerInterface interface. Canvas\MarkedContent
class extends Canvas\StandardOperators
now.Added missing parent::decode()
call in Flate fallback logic. Addes support for individual schema extension namespaces for ZUGFeRD extraction. Moved SetaPDF_Core_DataStructure_Color::hexToRgb()
to SetaPDF_Core_DataStructure_Color_Rgb
and marked old method as deprecated. Added missing abstract keyword to SetaPDF_Core_DataStructure_Color
class.
Version 2.47.0.2095
Release date: 2025-03-19
Filename
Download
Composer
[ ]
Information
SetaPDF-Stamper Component Feature Added namespaces to all classes (setasign\SetaPDF2\Stamper
) and class aliases for backwards compatibility. SetaPDF-Core Component Feature Added markedContent()
method to Canvas\Operators
class. Added namespaces to all classes (setasign\SetaPDF2\Core
) and class aliases for backwards compatibility. Bugfix Fixed possible infinite loop in AbstractType::ensure()
when indirect objects are recursive. Handle recursion in various helper methods of SetaPDF_Core_Type_Dictionary_Helper
. Recognize PDF/A part and conformance in attributes, too. Tweak Added public createSubset()
method to TrueType\Subset
and Type0\Subset
classes to allow control over the moment the PDF objects are created. Added getCanvas() method to SetaPDF_Core_Canvas_ContainerInterface interface. Canvas\MarkedContent
class extends Canvas\StandardOperators
now.Added missing parent::decode()
call in Flate fallback logic. Addes support for individual schema extension namespaces for ZUGFeRD extraction. Moved SetaPDF_Core_DataStructure_Color::hexToRgb()
to SetaPDF_Core_DataStructure_Color_Rgb
and marked old method as deprecated. Added missing abstract keyword to SetaPDF_Core_DataStructure_Color
class.