Skip to content

v2.2.20

Latest

Choose a tag to compare

@mittwald-machine mittwald-machine released this 28 Oct 19:14
Immutable release. Only release title and notes can be modified.

Container & Stack Networking

Clarified DNS resolution and isolation rules for containerized services. Managed apps in the same project can now resolve services using <serviceName>.<prefix>, while containers within the same stack use the service name directly. Cross-stack communication is explicitly unsupported to prevent unintended network exposure.

Volume Lifecycle & Management

Updated stack configuration behavior for volumes: omitting a volume from a stack request safely detaches it but does not delete it, ensuring data preservation. Explicit deletion is now required via the dedicated volume endpoint. The orphaned flag on volume responses has been clarified to indicate unmounted volumes retain their data until explicitly removed.

Service Configuration & Runtime Behavior

Refined service declaration parameters with updated networking and runtime behavior:

  • Ports: Now support single ports, ranges (e.g., 8000-8010), and protocols (tcp, udp, sctp). Mapping ports to different numbers is unsupported. Exposed ports remain isolated to the project unless connected via an ingress.
  • Restart Policy: Clarified behavior for unless-stopped (currently behaves like on-failure), and noted that retry limits are accepted but ignored.
  • Memory Units: Enforced lowercase decimal units for byte values (e.g., 1g equals 1,000,000,000 bytes). Numbers without units are strictly rejected.
  • Image Digest Resolution: Container images are now resolved and locked to a specific digest at request time. Changing an image on an existing service preserves the original resolved user.

Stack Identifiers & Service States

  • Added unspecified to the ServiceStatus enum to handle edge cases in service lifecycle reporting.
  • Updated the prefix field in stack responses to emphasize its role as an immutable identifier, DNS prefix, and log directory path.
  • Clarified the shortId field to specify its use for SSH connections, while noting that all API routes require the primary service id.

SDK Documentation & Generated Code Cleanup

  • Comprehensive updates to PHPDoc comments across Container, Database, Marketplace, User, and Invoice schemas to align with the latest API specification, error codes, and validation details.
  • Removed redundant empty docblocks and explicit @var/@param annotations in generated Invoice and Database classes to streamline the SDK codebase and improve IDE experience.