- run cmlxc's own madmail tests against madmail main.
-
read IMAP credentials from
list_transports(). -
fix
ssh_config_filegroup ownership for non-admin incus. -
chmod is sufficient to secure SSH config permissions.
- default to madmail v2.29.1.
- add nightly workflow.
- madmail: port deploy-madmail driver to v2 Rust build.
- don't trip on /etc/resolve.conf being a symlink.
- stop pinning incus to 7.2, which no longer exists upstream.
- make incus image cache keys invalidate on real changes.
- run PR checks regardless of the base branch.
- some hardening and adapt to new workflows/chatmail policy.
- overwrite system-limits in cmlxc deploys.
- revert read-restriction that broke callers, but make sure git-credentials don't leak to them.
- max_load override name.
- standardize on uv (chatmail/workflows tooling).
- Update .gitignore
- use standard chatmail/workflows checks and release flows.
0.15.0 - 2026-06-29
- support cd src/relay_minitest && pytest --relay1 IPADDRESS.
- hardcode ssh_host chatmail.ini option to mail_domain.
- retain messages on imap folder via better method.
- fixate madmail to the last Go version (#23).
- adapt to 7.2 configuration handling see https://discuss.linuxcontainers.org/t/incus-7-2-has-been-released/26879#p-91682-better-os-specific-handling-of-cli-configuration-7.
0.15.0 - 2026-06-29
- support cd src/relay_minitest && pytest --relay1 IPADDRESS.
- hardcode ssh_host chatmail.ini option to mail_domain.
- retain messages on imap folder via better method.
- fixate madmail to the last Go version (#23).
- adapt to 7.2 configuration handling see https://discuss.linuxcontainers.org/t/incus-7-2-has-been-released/26879#p-91682-better-os-specific-handling-of-cli-configuration-7.
0.14.7 - 2026-05-11
- extend fullrun.py testing to cover cmdeploy ip relays.
- release v0.14.7.
0.14.6 - 2026-05-11
- for lxc-test reuable work flow don't ever fall back to stale base images.
- release v0.14.6.
0.14.5 - 2026-05-11
- make dnsutils available in all containers, as it's use for querying dns sanity in various places.
- release v0.14.5.
0.14.4 - 2026-05-11
- release v0.14.4.
- avoid initial unncessary initial resolveconf write in relays.
- remove 1GB unneecessary files before caching builder image.
0.14.3 - 2026-05-11
- release v0.14.3.
- remove cmdeploy image caching. it constantly causes complications and doesn't provide that much gain..
0.14.2 - 2026-05-11
- cleanup and fix IP-relay handling.
- release v0.14.2.
0.14.1 - 2026-05-10
- reintroduce uniform --ipv4-only option to deploy-* commands which affect container setup not deploy type (which might be DNS, IPV4, IPV6 for cmdeploy and "IPV4" (implicit) on madmail..
- release v0.14.1.
0.14.0 - 2026-05-10
- [breaking] drop "--no-dns" deploy-cmdeploy and deploy-madmail "--ipv4-only" options, in favor of new "--type=DNS|IPV4|IPV6" deploy-cmdeploy option and defaulting deploy-madmail to ipv4 always..
- release v0.14.0.
0.13.5 - 2026-05-07
- allow callers of reusable work flow to set cmlxc version, defaulting to main.
- release v0.13.5.
0.13.4 - 2026-05-07
- prevent recursor from trying internal DNS resolution.
- release v0.13.4.
0.13.3 - 2026-05-07
- streamline release script.
- release v0.13.3.
0.13.2 - 2026-05-07
- fix cmlxc version display in workflows that call the reusable lxc-test workflow.
- improve release script to provide full guidance until git push.
- release v0.13.2.
0.13.1 - 2026-05-07
- Add one-on-one http-only and smtp-only tests.
- Temporarily disable test_one_on_one_http_only (#13).
- flush recursor cache after zone load, and fix formatting.
- re-enable mxdeliv test.
- release v0.13.1.
0.13.0 - 2026-04-29
- new "cmlxc deploy-cmdeploy --filtermail" option to transfer and use a custom filtermail binary.
- release v0.13.0.
0.12.0 - 2026-04-29
- cmdeploy: add --no-dns option for deploying & testing IPv4-only relays (#4).
- introduce port-blocking and journalctl-reading for relay mini tests.
- cmdeploy: MX check can't work for no-dns.
- doin't break quoting or callers of lxc-test reusable workflow.
- fix formatting.
- release v0.12.0.
0.11.0 - 2026-04-17
- add --ipv4-only option to init CLI, and refactor ipv6 handling.
- release v0.11.0.
0.10.0 - 2026-04-17
- ci: run each cmlxc command as a separate step in GitHub UI.
- ci: split lxc-test into plan and run jobs for better UI visibility.
- resolve cross-relay DNS failures and improve CI command grouping.
- cli: support branches with slashes in --source and restore tests.
- release v0.10.0.
- drop all previous cached images, to try to debug hanging cmdeploy/madmail tests.
0.9.0 - 2026-04-16
- "cmlxc status" can now take one or multiple hosts.
- support mixed cmdeploy/madmail testing.
- release v0.9.0.
- wait for relay services to become ready.
- streamline wait/timeout from the various call sites.
0.8.1 - 2026-04-15
- release v0.8.1.
- minimize cached builder images.
0.8.0 - 2026-04-15
- madmail: add mandatory install flags for IP-based deployment.
- madmail: add test-madmail command and E2E tests, with some selected madmail tests run by default.
- release v0.8.0.
- fix log print out and consistent capitalization.
- [breaking] extract container module and standardise driver hooks.
0.7.5 - 2026-04-14
- note Zabbly Incus and refactor init prep.
- create venv per relay instead of in template.
- validate relay names to reject path-like arguments, and validate --source local paths.
- release v0.7.5.
- remove superflous indirection of madmail repo url.
- use relay's scripts/initenv.sh for venv setup instead of custom venv and install commands.
0.7.4 - 2026-04-13
- incus: make launching of base setup image more robust and force labeling.
- doc: add note about possible incus failures.
- release v0.7.4.
- README: some fixes.
0.7.3 - 2026-04-13
- cli: add --version option and show version in help string.
- cli: show version at top of deploy and test command output.
- release v0.7.3.
0.7.2 - 2026-04-13
- releases run tests, and PRs runs tests..
- release v0.7.2.
0.7.1 - 2026-04-13
- revise automatic releasing to avoid amending local commits.
- release v0.7.1.
- release v0.7.1.
0.7.0 - 2026-04-13
- skip image export on cache hit in lxc-test.
- reformat README and add release automation script.
- better per-relay status, and generally more exact references in the output.
- remove all per-container state, and put it into the build container instead.
- move host setup instructions behind 'status --host', revise output.
- make_new_release.py checks for proper git state.
- make_new_release.py checks for proper git state.
- gate release on test suite, add skip-existing to PyPI publish.
- reusable workflow caching.
- add missing driver_base.py file.
- allow concurrent cmlxc runs, and prevent conflicts on ssh-config manipulations, allow drivers to participate in builder container preparation.
- upgrade action dependencies for Node 24.
- upgrade action dependencies for Node 24.
- improve release script to also first run tests.
- reduce number of printed references, fix DNS issues.
- reorder README.
- [breaking] cli: shift driver specific CLI handling to driver modules.
0.6.4 - 2026-04-12
- add skip-existing to PyPI publish to tolerate re-tagged releases.
- slightly better phrasing for "cmdeploy" relays.
0.6.3 - 2026-04-12
- commit a "lxc-test" workflow provider for helping other repositories to use lxc testing.
- require explicit --cmdeploy/--madmail SOURCE for init.
- require explicit --cmdeploy/--madmail SOURCE for init.
- make github actions deal more explicitely with ssh-key identities, and run from "cmlxc" directory to conftest.py gets picked up properly, and output is proper.
- disable services before caching relay image, and fix re-inject DNS config after cmdeploy, add some cross-relay DNS diagnostics. Also fix various workflow run issues, and fix image export step to handle incus adding .tar.gz extension automatically..
- optimize init and CI by avoiding redundant clones and exports.
- ignore dist/ directory.
- add release workflow using OIDC/environments based on tagging, update workflow deps.
- add git-cliff configuration adapted from core.
- disable cancel-in-progress for Test workflow.
- define concurrency group for reusable lxc-test workflow.
- ensure cancel-in-progress is false.
- only install the debian dependencies needed for crypt_r compilation like cmdeploy does, also up image cache key for good measure.
- move Go toolchain install into builder init phase.
- initial commit of cmlxc tool.