Skip to content
Waxed Display Server
← Back to Docs

Atomic Updates

API Stability and Version Compatibility

Current Status

Waxed is currently in active development. No stable release has been made yet.

During this development phase:

  • APIs may change without notice as the project evolves
  • Plugin ABI is not stable - plugins must be rebuilt when interfaces change
  • No backward compatibility guarantees exist at this time

Future Decisions

Version compatibility and ABI stability policies will be established when the project approaches a V1.0.0 release. Decisions to be made at that time include:

  • Whether to maintain backward compatibility between major versions
  • Whether to provide a stable plugin ABI
  • How to handle deprecation of older APIs
  • What versioning scheme to use (semantic versioning, etc.)

Current Development Practices

While in development, we follow practical approaches:

When Interfaces Change

  1. Update all call sites in the codebase
  2. Rebuild all plugins
  3. Ensure tests pass

Code Quality Standards

  • Use cartographer tools to understand impact before changing interfaces
  • Build must succeed with zero warnings
  • Modern C++26 features are used (std::expected, RAII patterns)
  • Vulkan code uses vulkan_raii.hpp for automatic resource management

Plugin Development

Plugin authors should expect interfaces to change during development. Keep your plugin code in sync with the latest Waxed source.


This document will be updated with formal versioning policies as the project matures.