Repository navigation
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 likeon-failure), and noted that retry limits are accepted but ignored. - Memory Units: Enforced lowercase decimal units for byte values (e.g.,
1gequals 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
unspecifiedto theServiceStatusenum to handle edge cases in service lifecycle reporting. - Updated the
prefixfield in stack responses to emphasize its role as an immutable identifier, DNS prefix, and log directory path. - Clarified the
shortIdfield to specify its use for SSH connections, while noting that all API routes require the primary serviceid.
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/@paramannotations in generated Invoice and Database classes to streamline the SDK codebase and improve IDE experience.