Releases: mittwald/api-client-php
v2.1.107
Deprecations
- The method to leave a Customer has been deprecated. The previous implementation is now replaced by
DELETE /v2/customer-memberships/{customerMembershipId}
. - The method to leave a Project has been deprecated. The previous implementation is now replaced by
DELETE /v2/project-memberships/{projectMembershipId}
.
New Features
- Added new file upload types for the API:
extensionAssetImage
extensionAssetVideo
These enhancements improve the file handling capabilities within the API, allowing for a broader range of media types to be uploaded.
v2.1.106
Features
- Enhanced Contract Listing Request: Default values are now provided for
limit
andskip
in theListContractsRequest
, ensuring more consistent handling of requests. - Extension Schema Updates: The
Extension
schema has been updated with new properties includingassets
andexternalFrontends
, providing better management of extension media and components. - Webhook Support: New
WebhookUrl
andWebhookUrls
classes have been added to support event-driven integrations for extension lifecycle management.
Changes
ListContractsRequest
- Default value for
limit
is now set to 1000 (minimum value is 1). - Default value for
skip
is now set to 0. - The
getLimit
andgetSkip
methods now return non-nullable integer types. - Removed
withoutLimit
andwithoutSkip
methods as they are no longer needed.
BackendComponent and BackendComponents
- Marked as deprecated in their respective schemas.
Extension
- Introduced new properties:
assets
: An array containing media assets (images and videos) of the extension, with a maximum of 4 items.externalFrontends
: An array for managing external frontend components, supporting the integration of additional interfaces.
- Deprecated the
frontendComponents
property.
New Classes
- ExtensionAsset: Represents individual assets associated with an extension.
- ExtensionAssetAssetType: Enum to define asset types as either
image
orvideo
. - WebhookUrl: Represents a single webhook URL.
- WebhookUrls: An object that holds multiple webhook URL events related to extension changes.
OwnExtension
- Added support for
assets
andexternalFrontends
which align with the newExtension
schema. - Updated methods for handling these properties, including
withAssets
,withExternalFrontends
, andgetWebhookUrls
which is facilitated through the newWebhookUrls
class.
v2.1.105
Features
- Support Information for Contributors: Added the
supportInformation
field to theContributor
schema to provide additional context for each contributor's support offerings. - Own Extension Enhancements:
- Introduced new properties (
functional
,published
,verificationRequested
,verified
) to theOwnExtension
schema, enabling better tracking and state management of extensions. - Included a new
requestedChanges
parameter to manage and track changes requested for extensions. - Added functionality to link a logo via
logoRefId
.
- Introduced new properties (
Deprecations
- The
email
andphone
fields in theContributor
schema are now marked as deprecated, indicating they will be removed in future versions.
Documentation Updates
- Enhanced the PHPDoc comments to provide more clarity in the method signatures, specifically regarding the response types and methods available in the
MarketplaceClient
andMarketplaceClientImpl
classes.
v2.1.104
Deprecated Properties
- The
directory
property has been marked as deprecated. It will only be supported until the end of March. Users are encouraged to useinstallationId
instead. This change is reflected in both the property definition and accompanying documentation.
Details of Deprecation:
- A warning message has been added to indicate that the property will be deprecated and to guide users towards the new alternative.
- The deprecation has been acknowledged in the constructor and getter method for the
directory
property.
v2.1.103
Added
-
ExtensionStatistics: A new class to represent extension statistics, featuring:
- amountOfInstances: An integer indicating the number of instances of an extension.
-
Statistics Field in Extensions: The existing
Extension
andOwnExtension
classes have been updated to include astatistics
field referring to theExtensionStatistics
class.
Changed
- The constructors of
Extension
andOwnExtension
have been modified to accept anExtensionStatistics
object, ensuring that statistics are properly initialized. - The
Extension
andOwnExtension
classes now include methodsgetStatistics()
andwithStatistics()
for accessing and modifying the statistics property. - Serialization logic for
Extension
andOwnExtension
classes has been updated to include statistics in the output JSON representation.
v2.1.102
Added Features
- Introduced
SubTitle
class to provide a brief subtitle for extensions, enhancing metadata about each extension. - Added support for
subTitle
inExtension
andOwnExtension
classes, which allows specifying a subtitle for each extension.
Changes
-
Updated the
DetailedDescriptions
class to reflect the new purpose of describing the capabilities of the extension instead of merely listing supported languages. -
Modified the
description
field inExtension
class for clarity, now explicitly detailing it as a short description of the capabilities of the extension. -
Updated constructors in
Extension
andOwnExtension
classes to includesubTitle
, improving the schema for these classes by making the subtitle a required attribute. -
Added
getSubTitle
method toExtension
andOwnExtension
classes, allowing retrieval of the subtitle. -
Implemented new
withSubTitle
andwithoutSubTitle
methods inOwnExtension
class to facilitate subtitle management.
New Classes
- Created a new
Scaling
class to define minimum and maximum scaling limits for projects. - New
ServerInternal
class added to provide comprehensive details about internal server structures and functionalities, supporting broader project management capabilities.
v2.1.101
Features Added
- Sorting and Ordering for Conversations:
Enhanced theListConversationsRequest
class to support sorting and ordering of conversations based on various attributes. This allows users to specify how they wish to retrieve conversation data, improving usability.
Detailed Changes
ListConversationsRequest.php
-
Introduced
sort
property to define the sorting attributes. Options include:createdAt
lastMessage.createdAt
title
priority
shortId
conversationId
-
Added
order
property to specify the sort direction (asc
ordesc
), with a default set todesc
. -
Implemented new methods:
getSort()
: Returns the current sort attributes.getOrder()
: Returns the current order.withSort(array $sort)
: Allows setting custom sort attributes with validation.withOrder(array $order)
: Allows setting custom order with validation.
-
Modified the constructor to accept
sort
andorder
from the input array, defaulting to specified values if not provided. -
Updated the
toJson()
method to include sort and order in the output. -
Enhanced query building in the request to optionally include sorting and ordering parameters.
v2.1.100
Deprecated Operations
Domain Client Method Updates
The following methods have been added to support deprecated operations related to DNS records:
-
deprecatedDnsRecordASetCustom
- Updates A-records for a specific zone. This operation is deprecated and users are encouraged to utilize the alternative
PUT v2/dns-zones/{dnsZoneId}/record-sets/{recordSet}
endpoint.
- Updates A-records for a specific zone. This operation is deprecated and users are encouraged to utilize the alternative
-
deprecatedDnsRecordASetManagedByIngress
- Sets A-records to be managed by ingress for a specific zone. This method is also deprecated with a recommendation to use the
POST v2/dns-zones/{dnsZoneId}/record-sets/{recordSet}/actions/set-managed
endpoint.
- Sets A-records to be managed by ingress for a specific zone. This method is also deprecated with a recommendation to use the
-
deprecatedDnsRecordCnameSet
- Updates CNAME records for a specific zone. Deprecated in favor of the same
PUT v2/dns-zones/{dnsZoneId}/record-sets/{recordSet}
endpoint.
- Updates CNAME records for a specific zone. Deprecated in favor of the same
-
deprecatedDnsRecordMxSetCustom
- Updates MX records for a specific zone. Users should transition to the alternative
PUT v2/dns-zones/{dnsZoneId}/record-sets/{recordSet}
for MX records as well.
- Updates MX records for a specific zone. Users should transition to the alternative
-
deprecatedDnsRecordMxSetManaged
- Configures MX records to be managed for a specified zone. Implementers should use the
POST v2/dns-zones/{dnsZoneId}/record-sets/{recordSet}/actions/set-managed
endpoint instead.
- Configures MX records to be managed for a specified zone. Implementers should use the
-
deprecatedDnsRecordSrvSet
- Updates SRV records for a specific zone, with the
PUT v2/dns-zones/{dnsZoneId}/record-sets/{recordSet}
endpoint being the suggested alternative.
- Updates SRV records for a specific zone, with the
-
deprecatedDnsRecordTxtSet
- Updates TXT records for a specific zone, which is deprecated in favor of the
PUT v2/dns-zones/{dnsZoneId}/record-sets/{recordSet}
endpoint.
- Updates TXT records for a specific zone, which is deprecated in favor of the
Key Changes in the Implementation
- Removed outdated class names prefixed with
Deprecated
to streamline the codebase. - Updated method signatures and response types for better clarity and utility.
- Network error handling has been refined using the new response classes for better feedback on requests and potential issues with deprecated operations.
These additions enhance the maintainability of the API and provide clearer pathways for developers transitioning away from deprecated functionalities.
v2.1.99
Added
- CAA Record Support: Introduced new functionality for managing CAA (Certification Authority Authorization) records in DNS configurations. This includes:
- New
RecordCAAComponent
andRecordCAARecord
classes, which encapsulate the details necessary for CAA records. - Enhanced the
DnsUpdateRecordSetRequest
to acceptcaa
type in the payload and provide a method to handle these records.
- New
Changed
- Updated
DnsUpdateRecordSetRequest
andDnsUpdateRecordSetRequestRecordSet
to includecaa
in the record types. - Updated the schema definitions in
Zone
andZoneRecordSet
to accommodate CAA records. - Adjusted several methods across classes to incorporate the new CAA record data structure.
Contributors
- Enhanced the
Contributor
schema to support optional descriptions and ensure proper handling of null values. Expanded input validation to accommodate these changes. - Modified the
ExtensionDeprecation
schema to include additional properties:note
andsuccessorId
, providing more context on deprecated extensions.
Miscellaneous
- Added all-new
FrontendFragment
schema to allow for dynamic additional properties in marketplace fragments. - General code improvements and refactors for better readability and maintainability across various schema classes.
v2.1.98
New Features
- Introduced the
OAuthClient
class to manage OAuth client configurations. This class is designed to facilitate the creation and validation of OAuth client objects within the signup process.
Class Overview
OAuthClient
-
Properties:
allowedGrantTypes
: (optional) An array of allowed grant types for the OAuth client.allowedRedirectUris
: (optional) An array of allowed redirect URIs.allowedScopes
: (optional) An array of allowed scopes for the OAuth client.contributorId
: (required) A string representing the ID of the contributor.description
: (optional) A description of the OAuth client.humanReadableName
: (required) A human-readable name for the OAuth client.id
: (required) A unique identifier for the OAuth client.
-
Methods:
__construct
: Initializes anOAuthClient
with requiredcontributorId
,humanReadableName
, andid
.getAllowedGrantTypes
,getAllowedRedirectUris
,getAllowedScopes
: Accessor methods for the respective properties.withAllowedGrantTypes
,withoutAllowedGrantTypes
: Methods to set or unset allowed grant types.withAllowedRedirectUris
,withoutAllowedRedirectUris
: Methods to set or unset allowed redirect URIs.withAllowedScopes
,withoutAllowedScopes
: Methods to set or unset allowed scopes.withContributorId
,withDescription
,withHumanReadableName
,withId
: Methods to set the respective properties with validation.buildFromInput
: Static method to create anOAuthClient
instance from input data, with optional validation.toJson
: Converts theOAuthClient
object to an array for JSON serialization.validateInput
: Validates input data against the class schema.
This new implementation enhances the management of OAuth client instances, providing a clear structure and validation mechanisms for client configurations.