Releases: mittwald/api-client-php
Release list
v2.1.210
Features Added
- Introduced
DesiredSystemSoftwareandPatchLinkedDatabaseschemas, enhancing functionality in the Patch App Installation requests. - Updated the structure of
DeclareStackandUpdateStackrequest bodies to incorporate new service and volume declaration structures.
Changes
General Changes
- Updated multiple classes to replace
mixed[]type hints with more specific array types, improving type safety and clarity.
Patch App Installation
- Enhanced
PatchAppinstallationRequestBodyto includeDesiredSystemSoftwareandPatchLinkedDatabase. - Method signatures updated to specify concrete return types for better type checking.
Request App Installation
- Modified
RequestAppinstallationRequestBodyto utilizeDesiredSystemSoftwarein the structure.
Declare and Update Stack
DeclareStackRequestBodyandUpdateStackRequestBodynow useServiceDeclareRequestandVolumeDeclareRequest.
Marketplace Extensions
ExtensionPatchExtensionRequestBodyandExtensionRegisterExtensionRequestBodyupdated to useFrontendFragmentschema, enhancing frontend integration.
User Schema
- Refined
Userclass to specify more precise types forcustomerMembershipsandprojectMemberships, ensuring better data coherence.
Reflective Changes
- For classes in the schemas (like
GenericActionandDetailMetrics), the parameter types and return values were adjusted to improve validation and error handling.
These changes collectively aim to enhance type safety, improve the API's robustness, and provide a clearer contract between systems utilizing these APIs.
v2.1.209
Features
-
Deprecated Database Operations: The operations for linking and replacing MySQL databases are now marked as deprecated. Clients are encouraged to use the new
PATCH /v2/app-installations/{appInstallationId}endpoint replacing the old methods for these actions. -
Enhanced Request Handling: New requests for replacing and linking databases have been introduced, consolidating previously scattered functionalities and allowing easier management of database actions.
Breaking Changes
Deprecated Methods
linkDatabase: This method has been marked as deprecated and functionality has moved to the new PATCH endpoint.replaceDatabase: This method has been removed in favor of the newdeprecatedAppReplaceDatabasemethod.
Request Changes
- The following request classes have been created for better organization:
DeprecatedAppReplaceDatabaseRequest: New request for replacing MySQL databases.DeprecatedAppLinkDatabaseRequest: New request for linking databases.- Various new response classes for handling errors pertaining to deprecated database operations.
Improvements
- Default Values for Pagination: The
limitandskipparameters for several request classes now have default values, making the APIs easier to use without the need for clients to specify these parameters explicitly. - Query Limitations Enhanced: New checks and defaults are implemented for the limit and skip queries in multiple request classes, ensuring smoother paging through results.
General Enhancements
- Container Templates Updates: Added
positionMetato container-related template schemas, allowing tracking of input positions as part of the template. - User Input Processing Extensions: New capabilities in template user inputs have been introduced, enhancing the management of user input within templates and their organization structure.
Cleanups
- Code Refactoring: Several outdated and redundant methods have been removed, helping decrease the complexity of the codebase and enhancing readability and maintainability.
These updates streamline interaction with the API and improve overall usability, while also acknowledging deprecated methods to ensure a smoother transition for users.
v2.1.208
Features
App Installation Patch
- Added support for patching app installations, including a new field to specify desired changes to linked databases. This allows developers to address specific database configurations directly when updating app installations.
Backup Modifications
- Refactored backup operations to include new deprecated routes. Introduced new response types for deprecated backup expiration time and project update descriptions, facilitating smoother transitions for clients using outdated methods.
Container Stack Updates
- Updated container client methods to reflect deprecations and provide alternatives for setting stack update schedules, enhancing the API's usability.
Bug Fixes and Improvements
- Fixed response handling in the App client for patch requests, ensuring appropriate responses for 400 errors.
- Refactored various backup operations to handle legacy requests properly, streamlining interaction and improving error handling across deprecated endpoints.
- Resolved inconsistencies in how the responses are structured across newly deprecated endpoints, ensuring a unified and expected output.
Project Notifications
- Cleaned up the responses related to project notification thresholds, consolidating response objects for better clarity and reduced complexity. This change affects how clients initialize and respond to project update requests.
Deprecations
- Several backup methods and endpoints have been deprecated in favor of newer, improved alternatives. These deprecations are documented, and clients are encouraged to transition to the recommended endpoints for enhanced stability and support.
v2.1.207
Features
Increased Default Limit for ListExecutionsRequest
- The default limit for executing requests in the
ListExecutionsRequestclass has been increased from 1000 to 10000. This change allows users to retrieve more execution results with a single request, enhancing the performance for bulk data operations.
Template ID Support in ServiceResponse
- A new property, templateId, has been added to the
ServiceResponseclass. This field stores the ID of the template used to create the service, if one was utilized during creation.
Getter and Setter Methods for Template ID
- Added
getTemplateId()method to retrieve the templateId. - Implemented
withTemplateId(string $templateId)method for setting the templateId with validation. - Introduced
withoutTemplateId()method to clear the templateId.
Bug Fixes
- None identified in the provided diff.
Notes
- The changes improve both the API's usability and its flexibility for handling more extensive data sets and additional metadata related to services.
v2.1.206
Features
Update Schedule for Automatic Image Updates
- Introduced an
updateSchedulefeature for stacks. This allows users to schedule automatic image updates by specifying a cron expression and timezone. If a user wants to remove the schedule, they can set it tonull, or omit the property to keep it unchanged.
New Template Types
- Added a new
typefield to theTemplateschema, allowing differentiation between 'component' and 'standalone' templates.
Enhancements
Documentation Updates
- Clarification added to remarks for the
declare-stackendpoint explaining which stack properties can be modified directly through this API version and which ones require separate PATCH requests.
Changes
Schema Modifications
- The
UpdateStackRequestandUpdateStackRequestBodyclasses now contain theupdateScheduleproperty, allowing for the configuration of automatic updates. - A new class,
UpdateStackRequestBodyUpdateSchedule, has been created to facilitate the handling of update schedules, including validation for cron and timezone formats. - The
Templateschema has been expanded to include a new required propertytype, which allows specification of the template's nature (either 'component' or 'standalone').
Class Updates
- Methods have been added to manage the new
updateScheduleproperty in theUpdateStackRequestBodyclass, includingwithUpdateSchedule,withoutUpdateSchedule, and getter methods. - The
Templateclass has been updated to include methods for accessing the newtypeproperty, and its constructor has been modified to accept this new parameter.
New Files
- Introduced
TemplateType.phpto define the enum for template types, ensuring stronger type safety and clarity in code related to templates.
v2.1.205
Added Features
Backup Client
- Update a Project Backup:
A new method (updateProjectBackup) has been added to theBackupClientinterface, allowing users to update project backup information. It accepts a request object of typeUpdateProjectBackupRequestand returns anEmptyResponse. Full documentation is available here.
Container Client
- Add a Template Component:
The ability to add a template component to a stack through theaddTemplateComponentmethod has been implemented in theContainerClient. It uses a request object of typeAddTemplateComponentRequest. Refer to the full documentation here.
Project Client
-
Update a Project:
TheProjectClientnow includes the methodupdateProject, which allows users to update project details. It takes anUpdateProjectRequestand returns anEmptyResponse. Documentation is available here. -
Update a Server:
A method for updating server details has been added to theProjectClientinterface (updateServer). This method takes anUpdateServerRequestand returns anEmptyResponse. Documentation can be found here.
Storage Space Statistics
-
Update Project Storage Space Statistics:
ThestoragespaceUpdateProjectStatisticsmethod allows updating a project's storage space statistics. This method requires aStoragespaceUpdateProjectStatisticsRequestand provides appropriate response handling. For more information, see the documentation here. -
Update Server Storage Space Statistics:
Similar to project statistics, thestoragespaceUpdateServerStatisticsmethod has been introduced for managing server storage space statistics. It follows the same structure as the project statistics update, with full documentation available here.
Updated Interfaces and Implementations
-
BackupClient: The interface has been updated with the new
updateProjectBackupmethod. Corresponding implementations withinBackupClientImplwere also adjusted. -
ContainerClient: The interface now includes the method
addTemplateComponentalongside the necessary implementations inContainerClientImpl. -
ProjectClient: The interface has been expanded to incorporate
updateProjectandupdateServermethods. Additional implementations withinProjectClientImplreflect these changes.
These features enhance the API's capability to manage backups, clusters, and project details effectively, thereby providing enhanced functionality for developers using the Mittwald API.
v2.1.204
Added
- Deprecated
PATCH /v2/mysql-users/{mysqlUserId}now has a legacy endpoint for user password updates, allowing the use of deprecated methods for user password updates, MySQL database updates, Redis database updates, and more.
Deprecated Methods
deprecatedDatabaseReplaceMysqlUser: Updates a MySQLUser (Deprecated)deprecatedDatabaseUpdateMysqlDatabaseDefaultCharset: Updates a MySQLDatabase's default charset settings (Deprecated)deprecatedDatabaseUpdateMysqlDatabaseDescription: Updates a MySQLDatabase's description (Deprecated)deprecatedDatabaseUpdateMysqlUserPassword: Updates a MySQLUser's password (Deprecated)deprecatedDatabaseUpdateRedisDatabaseConfiguration: Updates a RedisDatabase's configuration (Deprecated)deprecatedDatabaseUpdateRedisDatabaseDescription: Updates a RedisDatabase's description (Deprecated)
New Response Classes for Deprecated Endpoints
- Classes for handling responses for the deprecated methods, including:
DeprecatedDatabaseReplaceMysqlUserBadRequestResponseDeprecatedDatabaseReplaceMysqlUserDefaultResponseDeprecatedDatabaseReplaceMysqlUserNotFoundResponseDeprecatedDatabaseReplaceMysqlUserTooManyRequestsResponseDeprecatedDatabaseUpdateMysqlDatabaseDefaultCharsetBadRequestResponseDeprecatedDatabaseUpdateMysqlDatabaseDefaultCharsetDefaultResponseDeprecatedDatabaseUpdateMysqlDatabaseDefaultCharsetNotFoundResponseDeprecatedDatabaseUpdateMysqlDatabaseDefaultCharsetTooManyRequestsResponseDeprecatedDatabaseUpdateMysqlDatabaseDescriptionBadRequestResponseDeprecatedDatabaseUpdateMysqlDatabaseDescriptionDefaultResponseDeprecatedDatabaseUpdateMysqlDatabaseDescriptionNotFoundResponseDeprecatedDatabaseUpdateMysqlDatabaseDescriptionTooManyRequestsResponseDeprecatedDatabaseUpdateMysqlUserPasswordBadRequestResponseDeprecatedDatabaseUpdateMysqlUserPasswordDefaultResponseDeprecatedDatabaseUpdateMysqlUserPasswordNotFoundResponseDeprecatedDatabaseUpdateRedisDatabaseConfigurationBadRequestResponseDeprecatedDatabaseUpdateRedisDatabaseConfigurationDefaultResponseDeprecatedDatabaseUpdateRedisDatabaseConfigurationNotFoundResponseDeprecatedDatabaseUpdateRedisDatabaseConfigurationTooManyRequestsResponseDeprecatedDatabaseUpdateRedisDatabaseDescriptionBadRequestResponseDeprecatedDatabaseUpdateRedisDatabaseDescriptionDefaultResponseDeprecatedDatabaseUpdateRedisDatabaseDescriptionNotFoundResponseDeprecatedDatabaseUpdateRedisDatabaseDescriptionTooManyRequestsResponse
New request and response formats allow greater flexibility while maintaining backwards compatibility with legacy functionality.
v2.1.203
Breaking Changes
- Removed several request and response classes related to updating MySQL and Redis database properties including:
UpdateMysqlDatabaseDefaultCharsetRequestUpdateMysqlDatabaseDescriptionRequestUpdateMysqlUserPasswordRequestUpdateRedisDatabaseConfigurationRequestUpdateRedisDatabaseDescriptionRequest
Features
- Updated
UpdateMysqlUserRequestto change its method fromPUTtoPATCH, allowing partial updates to users including optional password updates. - Removed usage of descriptions and default charset updates for MySQL databases in user and database management.
Improvements
- Streamlined the
UpdateMysqlUserRequestBodyto optionally include access levels, descriptions, external access, and a password for better flexibility during user updates. - Simplified request construction and validation across request classes to improve maintainability.
Deprecated Functionalities
- Classes related to updating MySQL database charset, descriptions, and updating Redis database configurations are now deprecated. Users are advised to migrate to alternative approaches for database properties management.
v2.1.202
New Features
Added Purge Options
- New boolean properties
purgeScopesandpurgeWebhookUrlshave been introduced in bothOwnExtensionandOwnExtensionRequestedChangesschemas. These options provide enhanced control over data management.
Changes
OwnExtension Class
- Introduced
purgeScopesandpurgeWebhookUrlsas boolean types in the schema definition.
OwnExtensionRequestedChanges Class
- Added
purgeScopesandpurgeWebhookUrlsas boolean properties. - Implemented getter methods for
purgeScopesandpurgeWebhookUrls. - Created setter methods
withPurgeScopesandwithPurgeWebhookUrlsto facilitate setting these properties with validation. - Added methods
withoutPurgeScopesandwithoutPurgeWebhookUrlsto allow removal of these properties. - Updated object construction to include
purgeScopesandpurgeWebhookUrlsfrom input data. - Enhanced output serialization to include the new properties if they are set.
v2.1.201
New Features
Template Asset Management
- Introduced a new request and response structure for managing assets associated with container templates, enhancing flexibility in specifying and retrieving template-related resources.
Deprecated Functionality
- The
getTemplateIconmethod has been deprecated in favor of the newgetTemplateAssetmethod, which provides a more comprehensive handling of template resources.
Enhanced List Templates Request
- Added a
sortOrderparameter to the list templates request, allowing sorting by specific criteria (e.g., trend over 30 days).
Details of Changes
Core Changes
-
ContainerClient Interface
- Deprecated the
getTemplateIconmethod and introducedgetTemplateAsset. - Added
deprecatedContainerGetTemplateIconmethod for backward compatibility with warnings about its future removal.
- Deprecated the
-
ContainerClient Implementation
- Updated method implementations to meet the new specifications for template assets.
-
Request and Response Classes
- Created new classes as follows:
GetTemplateAssetRequestGetTemplateAssetBadRequestResponseGetTemplateAssetDefaultResponseGetTemplateAssetForbiddenResponseGetTemplateAssetInternalServerErrorResponseGetTemplateAssetNotFoundResponseGetTemplateAssetServiceUnavailableResponseGetTemplateAssetTooManyRequestsResponse
- Created new classes as follows:
Domain Migration Adjustments
- Added
ownerContactIssuesto theNonMigratableDomainschema, allowing consumers to address specific owner contact problems during domain migrations. - Introduced
OwnerContactIssueclass to manage information about individual field issues in owner contact data.
Activity Log Enhancements
- Added classes to handle new activity logs concerning app installations:
AppInstallationDeletedAppInstallationDatabaseLinkedAppInstallationDatabaseUnlinkedAppInstallationDescriptionSet
Template Enhancements
- Introduced
TemplateScreenshotsItemclass to manage screenshots associated with container templates, including properties for background images and translated text.
Bug Fixes and Improvements
- Refined the validation and construction logic of existing classes to ensure better error handling and usability, especially for optional properties in schemas.
Overall Improvements
- This release includes significant shifts toward more standardized and extensible structures for managing templates, assets, and activity logs within the Mittwald API, enabling easier integration and better user experience for developers.