Skip to content

v1.20.0 — Drop CaretDev testcontainers-iris/sqlalchemy-iris; idt image; no default test user

Choose a tag to compare

@isc-tdyar isc-tdyar released this 29 Sep 12:05
· 9 commits to main since this release
77928d7

Removed

  • testcontainers-iris / sqlalchemy-iris dependency — IRISContainer now builds on an in-house IRISDockerContainer (containers/_base.py) that subclasses testcontainers.core.container.DockerContainer directly. sqlalchemy-iris shipped its own iris/__init__.py, and under uv it replaced intersystems-irispython's iris.connect with a stub in downstream projects. Constructor signature, env fallbacks, license mount, log wait, and get_connection_url() are unchanged. See docs/learnings/testcontainers-iris-removal.md.

Changed

  • No more default test/test %ALL user. The absorbed testcontainers-iris logic created a test superuser with password test on every container start. A user is now created only when both username and password are supplied, as arguments or via IRIS_USERNAME/IRIS_PASSWORD. get_connection_url() defaults to _SYSTEM:SYS, and on IRISContainer it reflects the container's managed credentials.

Fixed

  • Undeclared packaging dependency — utils/dbapi_compat.py imports it, and it only ever arrived transitively via the removed chain. It is now declared directly.
  • IRISContainerManager testcontainers mode now builds iris-devtester's IRISContainer instead of the upstream class, so with_cpf_merge() is available.

Added

  • idt image load / idt image build — turn a kits-web tarball into a running container. load handles docker_kits/ docker-save archives. build handles singlefile_kits/*-dockerubuntu*.tar.gz installer kits (Dockerfile + irisinstall_silent + imageBuildSteps.sh).

Upgrading

  • Code that logged in as test/test on idt-started containers must now set IRIS_USERNAME/IRIS_PASSWORD (or pass username=/password=), or use _SYSTEM.
  • Downstream projects that hit the iris/__init__.py collision under uv (e.g. ivg [dev]) should require iris-devtester>=1.20.0.