Skip to content

Releases: mittwald/api-client-php

v2.1.210

Choose a tag to compare

@mittwald-machine mittwald-machine released this 30 Jul 19:40

Features Added

  • Introduced DesiredSystemSoftware and PatchLinkedDatabase schemas, enhancing functionality in the Patch App Installation requests.
  • Updated the structure of DeclareStack and UpdateStack request 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 PatchAppinstallationRequestBody to include DesiredSystemSoftware and PatchLinkedDatabase.
  • Method signatures updated to specify concrete return types for better type checking.

Request App Installation

  • Modified RequestAppinstallationRequestBody to utilize DesiredSystemSoftware in the structure.

Declare and Update Stack

  • DeclareStackRequestBody and UpdateStackRequestBody now use ServiceDeclareRequest and VolumeDeclareRequest.

Marketplace Extensions

  • ExtensionPatchExtensionRequestBody and ExtensionRegisterExtensionRequestBody updated to use FrontendFragment schema, enhancing frontend integration.

User Schema

  • Refined User class to specify more precise types for customerMemberships and projectMemberships, ensuring better data coherence.

Reflective Changes

  • For classes in the schemas (like GenericAction and DetailMetrics), 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

Choose a tag to compare

@mittwald-machine mittwald-machine released this 29 Jul 19:37

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 new deprecatedAppReplaceDatabase method.

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 limit and skip parameters 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 positionMeta to 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

Choose a tag to compare

@mittwald-machine mittwald-machine released this 28 Jul 19:40

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

Choose a tag to compare

@mittwald-machine mittwald-machine released this 27 Jul 19:40

Features

Increased Default Limit for ListExecutionsRequest

  • The default limit for executing requests in the ListExecutionsRequest class 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 ServiceResponse class. 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

Choose a tag to compare

@mittwald-machine mittwald-machine released this 23 Jul 19:38

Features

Update Schedule for Automatic Image Updates

  • Introduced an updateSchedule feature 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 to null, or omit the property to keep it unchanged.

New Template Types

  • Added a new type field to the Template schema, allowing differentiation between 'component' and 'standalone' templates.

Enhancements

Documentation Updates

  • Clarification added to remarks for the declare-stack endpoint explaining which stack properties can be modified directly through this API version and which ones require separate PATCH requests.

Changes

Schema Modifications

  • The UpdateStackRequest and UpdateStackRequestBody classes now contain the updateSchedule property, 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 Template schema has been expanded to include a new required property type, which allows specification of the template's nature (either 'component' or 'standalone').

Class Updates

  • Methods have been added to manage the new updateSchedule property in the UpdateStackRequestBody class, including withUpdateSchedule, withoutUpdateSchedule, and getter methods.
  • The Template class has been updated to include methods for accessing the new type property, and its constructor has been modified to accept this new parameter.

New Files

  • Introduced TemplateType.php to define the enum for template types, ensuring stronger type safety and clarity in code related to templates.

v2.1.205

Choose a tag to compare

@mittwald-machine mittwald-machine released this 22 Jul 19:40

Added Features

Backup Client

  • Update a Project Backup:
    A new method (updateProjectBackup) has been added to the BackupClient interface, allowing users to update project backup information. It accepts a request object of type UpdateProjectBackupRequest and returns an EmptyResponse. Full documentation is available here.

Container Client

  • Add a Template Component:
    The ability to add a template component to a stack through the addTemplateComponent method has been implemented in the ContainerClient. It uses a request object of type AddTemplateComponentRequest. Refer to the full documentation here.

Project Client

  • Update a Project:
    The ProjectClient now includes the method updateProject, which allows users to update project details. It takes an UpdateProjectRequest and returns an EmptyResponse. Documentation is available here.

  • Update a Server:
    A method for updating server details has been added to the ProjectClient interface (updateServer). This method takes an UpdateServerRequest and returns an EmptyResponse. Documentation can be found here.

Storage Space Statistics

  • Update Project Storage Space Statistics:
    The storagespaceUpdateProjectStatistics method allows updating a project's storage space statistics. This method requires a StoragespaceUpdateProjectStatisticsRequest and provides appropriate response handling. For more information, see the documentation here.

  • Update Server Storage Space Statistics:
    Similar to project statistics, the storagespaceUpdateServerStatistics method 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 updateProjectBackup method. Corresponding implementations within BackupClientImpl were also adjusted.

  • ContainerClient: The interface now includes the method addTemplateComponent alongside the necessary implementations in ContainerClientImpl.

  • ProjectClient: The interface has been expanded to incorporate updateProject and updateServer methods. Additional implementations within ProjectClientImpl reflect 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

Choose a tag to compare

@mittwald-machine mittwald-machine released this 21 Jul 19:39

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:
    • DeprecatedDatabaseReplaceMysqlUserBadRequestResponse
    • DeprecatedDatabaseReplaceMysqlUserDefaultResponse
    • DeprecatedDatabaseReplaceMysqlUserNotFoundResponse
    • DeprecatedDatabaseReplaceMysqlUserTooManyRequestsResponse
    • DeprecatedDatabaseUpdateMysqlDatabaseDefaultCharsetBadRequestResponse
    • DeprecatedDatabaseUpdateMysqlDatabaseDefaultCharsetDefaultResponse
    • DeprecatedDatabaseUpdateMysqlDatabaseDefaultCharsetNotFoundResponse
    • DeprecatedDatabaseUpdateMysqlDatabaseDefaultCharsetTooManyRequestsResponse
    • DeprecatedDatabaseUpdateMysqlDatabaseDescriptionBadRequestResponse
    • DeprecatedDatabaseUpdateMysqlDatabaseDescriptionDefaultResponse
    • DeprecatedDatabaseUpdateMysqlDatabaseDescriptionNotFoundResponse
    • DeprecatedDatabaseUpdateMysqlDatabaseDescriptionTooManyRequestsResponse
    • DeprecatedDatabaseUpdateMysqlUserPasswordBadRequestResponse
    • DeprecatedDatabaseUpdateMysqlUserPasswordDefaultResponse
    • DeprecatedDatabaseUpdateMysqlUserPasswordNotFoundResponse
    • DeprecatedDatabaseUpdateRedisDatabaseConfigurationBadRequestResponse
    • DeprecatedDatabaseUpdateRedisDatabaseConfigurationDefaultResponse
    • DeprecatedDatabaseUpdateRedisDatabaseConfigurationNotFoundResponse
    • DeprecatedDatabaseUpdateRedisDatabaseConfigurationTooManyRequestsResponse
    • DeprecatedDatabaseUpdateRedisDatabaseDescriptionBadRequestResponse
    • DeprecatedDatabaseUpdateRedisDatabaseDescriptionDefaultResponse
    • DeprecatedDatabaseUpdateRedisDatabaseDescriptionNotFoundResponse
    • DeprecatedDatabaseUpdateRedisDatabaseDescriptionTooManyRequestsResponse

New request and response formats allow greater flexibility while maintaining backwards compatibility with legacy functionality.

v2.1.203

Choose a tag to compare

@mittwald-machine mittwald-machine released this 20 Jul 19:39

Breaking Changes

  • Removed several request and response classes related to updating MySQL and Redis database properties including:
    • UpdateMysqlDatabaseDefaultCharsetRequest
    • UpdateMysqlDatabaseDescriptionRequest
    • UpdateMysqlUserPasswordRequest
    • UpdateRedisDatabaseConfigurationRequest
    • UpdateRedisDatabaseDescriptionRequest

Features

  • Updated UpdateMysqlUserRequest to change its method from PUT to PATCH, 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 UpdateMysqlUserRequestBody to 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

Choose a tag to compare

@mittwald-machine mittwald-machine released this 17 Jul 19:35

New Features

Added Purge Options

  • New boolean properties purgeScopes and purgeWebhookUrls have been introduced in both OwnExtension and OwnExtensionRequestedChanges schemas. These options provide enhanced control over data management.

Changes

OwnExtension Class

  • Introduced purgeScopes and purgeWebhookUrls as boolean types in the schema definition.

OwnExtensionRequestedChanges Class

  • Added purgeScopes and purgeWebhookUrls as boolean properties.
  • Implemented getter methods for purgeScopes and purgeWebhookUrls.
  • Created setter methods withPurgeScopes and withPurgeWebhookUrls to facilitate setting these properties with validation.
  • Added methods withoutPurgeScopes and withoutPurgeWebhookUrls to allow removal of these properties.
  • Updated object construction to include purgeScopes and purgeWebhookUrls from input data.
  • Enhanced output serialization to include the new properties if they are set.

v2.1.201

Choose a tag to compare

@mittwald-machine mittwald-machine released this 16 Jul 19:37

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 getTemplateIcon method has been deprecated in favor of the new getTemplateAsset method, which provides a more comprehensive handling of template resources.

Enhanced List Templates Request

  • Added a sortOrder parameter 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 getTemplateIcon method and introduced getTemplateAsset.
    • Added deprecatedContainerGetTemplateIcon method for backward compatibility with warnings about its future removal.
  • ContainerClient Implementation

    • Updated method implementations to meet the new specifications for template assets.
  • Request and Response Classes

    • Created new classes as follows:
      • GetTemplateAssetRequest
      • GetTemplateAssetBadRequestResponse
      • GetTemplateAssetDefaultResponse
      • GetTemplateAssetForbiddenResponse
      • GetTemplateAssetInternalServerErrorResponse
      • GetTemplateAssetNotFoundResponse
      • GetTemplateAssetServiceUnavailableResponse
      • GetTemplateAssetTooManyRequestsResponse

Domain Migration Adjustments

  • Added ownerContactIssues to the NonMigratableDomain schema, allowing consumers to address specific owner contact problems during domain migrations.
  • Introduced OwnerContactIssue class to manage information about individual field issues in owner contact data.

Activity Log Enhancements

  • Added classes to handle new activity logs concerning app installations:
    • AppInstallationDeleted
    • AppInstallationDatabaseLinked
    • AppInstallationDatabaseUnlinked
    • AppInstallationDescriptionSet

Template Enhancements

  • Introduced TemplateScreenshotsItem class 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.