Changelog - Container Image Replicator
v0.12.0 - November 20 2025
Bugfixes
TODO
v0.11.1 - October 22 2023
Bugfixes
- Fixed issue where CIR was unable to re-tag images.
v0.11.0 - October 22 2023
- No code changes, but now all binaries (Linux. MacOS, Windows) are now a part of this release. Otherwise, just GitHub workflow tweaks.
v0.10.0 - October 3 2023
Enhancements
- Added the ability to build and push images, not just replicate them from somewhere to somewhere. See config syntax examples in README.md.
- Switched to Nuitka, replacing PyInstaller for generating binaries. Let me know if any of the builds (Linux/Windows/MacOS) have issues.
- Currently building a Python
3.11.6image.
- Currently building a Python
Bugfixes
- Fixed inconsistent and contradictory reporting from logs about an image being present already, and notify user when an image is pushed successfully.
- Fixed error that prevented the use of the
--no-colorsflag.- Added a singular alias for the plural. These have the same effect:
--no-colors--no-color
- Added a singular alias for the plural. These have the same effect:
Housekeeping
- pre-commit
- config updates and enabled
mypy.
- config updates and enabled
- Corrected some docstrings.
- Added more typing. Bumped minimum Python version to
3.11due to use of the newer typing mechanisms. PyYAMLpackage updated.- Split
requirements.txtinto the latest and greatest, or userequirements-mac.txtif you have a bug with therequestslibrary.
v0.9.0 - June 3 2023
- No code changes, just fixes for the PyInstaller spec files which should fully resolve their issues.
v0.8.0 - June 1 2023
Enhancements
- Logging
- Added support for
successlogs with theverboselogslibrary. - Added exception catching for input file not found and failed to parse scenarios.
- Added support for
- Added example RegEx named capture group example for those using log aggregation tools.
Bugfixes
- Fixed issue where if the destination image didn't already exist, CIR wouldn't attempt a push.
- Hopefully fixed the broken PyInstaller binaries.
Housekeeping
- pre-commit
- Removed
mypypre-commit hook. - Added
verminto test minimum Python version required, which isv3.11
- Removed
- Docs
- Added image of prettily-colored screenshot of command output.
- Added TODO list/musings for future plans to expand functionality of this script at the bottom of README.md.
v0.7.0 - May 24 2023
Enhancements
- Logging
- Added default coloration of logs (turn it off with argument
--no-colors).- Add much improved error detail instead of
a silent error has occurred, replacing it with (example)denied: Your authorization token has expired. Reauthenticate and try again.
- Add much improved error detail instead of
- Added default coloration of logs (turn it off with argument
Bugfixes
- Update PIP dependencies.
- Pin
requeststo<=2.29.0possibly prevent this issue: docker/docker-py#3113
- Pin
Housekeeping
- pre-commit-config updates.
mypy --strictadded and more typing.
v0.6.0 - Jan 23 2023
Enhancements
- Reduce
ifconditions for force pull or push. - Remove a redundant check on the destination repo.
0.6.0 - Jan 23 2023
Enhancements
- Add CLI flag
--force-pull-pushto force pulling/pushing images even if the tag exists in the remote repository. Use[]source.forcePulland or[]source.forcePushto fine-tune these properties on a per-image basis instead of globally with this CLI flag.- Beware as this can count against rate limits. Use wisely!
- This is useful for when you source images with mutable tags, like
docker.io/httpd:2.4where the patch version is being updated for this same image tag across time.
Housekeeping
types-PyYAMLpackage updated.- Added to and updated docs.
v0.4.2 - Jan 9 2023
Bugfixes
- Make
max-workersactually use that number of threads.
v0.4.1 - Dec 27 2022
Bugfixes
- Fix exception thrown when using
--versionor--help.
v0.4.0 - Dec 27 2022
Enhancements
- Added multithreading (with a customizable worker thread count with
--max-workers. Default =2) so that multiple pull/push operations occur in parallel instead of serially as with the previous behavior. Much faster! - Only pull a source image if the image does not exist in the destination. Previously the image would be downloaded before checking if a push was required at all.
Bugfixes
- Present the input file as a required argument in
--help.
Housekeeping
- pre-commit-config updates.
v0.3.0 - Nov 13 2022
Enhancements
- Updated docker library to
6.0.1.
Housekeeping
- pre-commit-config updates.