ABI Compatibility
ABI Stability Rules
- System Library ABI: Minor version updates will not break the glibc ABI. Applications compiled against glibc 2.35 will continue to work normally.
- Systemd Service Conventions:
multi-user.targetand service management interfaces will remain stable. - Docker Engine: Docker API compatibility follows Docker upstream stability guarantees.
- TOS App Center API: Install/start/stop/uninstall interfaces are versioned and backward-compatible.
Declaring Runtime Dependencies
Applications should explicitly declare runtime dependencies:
In DEBIAN/control (Deb Applications):
Depends: libc6 (>= 2.35), python3 (>= 3.10), systemd
In docker-compose.yml (Docker Applications):
services:
myapp:
image: myapp:1.0.0 # Lock to a specific version; avoid :latest
Note
If your application depends on system libraries that are not pre-installed, you must explicitly declare them in Depends; otherwise, the installation may fail on some TOS systems due to missing dependencies.
Testing Recommendations
To ensure forward compatibility:
- Test your application on the latest TOS 7 version before submission
- Use version-locked dependencies in Deb packages
- Docker applications should lock image tags to specific versions (not
:latest) - Subscribe to TOS release notes on the developer platform