Releases: kitops-ml/kitops
Release v1.5.1
Welcome to the v1.5.1 release of Kit! This release fixes a couple of bugs with ModelKit unpacking and the KServe container image
Bug Fixes
Fixes to unpacking ModelKits with references
Due to a bug in how ModelKit references were being handled, attempting to use filters when unpacking a ModelKit that references another ModelKit would result in the entire referenced ModelKit being unpacked. This was fixed in #842
Fixes to the release version of the KitOps KServe container
The KitOps KServe image did not include bash for release-tagged versions, which led to the entrypoint script failing to execute. This did not affect the next
tag for the container, as the next
image had a slightly different set of packages installed. PR #852 made sure that both release and rolling images use the same base packages.
In addition, PR #852 moved installing the AWS CLI (which is needed for AWS IRSA support in KServ 8000 e) to the KServe container, reducing the size of the base KitOps container by around 200MB.
Full Changelog: v1.5.0...v1.5.1
Release v1.5.0
Welcome to the v1.5.0 release of Kit! This release adds support for logging in to private registries when using the KitOps KServe container
New Features
Private registry support for KServe container
When using the KServe container, you can now access private registries by setting the KIT_USER
and KIT_PASSWORD
environment variables. See the KServe README.md for more information.
Additionally, thanks to @dpnoworyta, the KServe container now also supports AWS IRSA for authentication, simplifying access on AWS clusters. For more information, see PR #825.
New Contributors
- @dpnoworyta made their first contribution in #825
Full Changelog: v1.4.0...v1.5.0
Release v1.4.0
Welcome to the v1.4.0 release of Kit! This release improves kit import
and fixes one bug around pushing ModelKits to Amazon ECR.
New Features
Import specific versions using kit import
We've added a flag to kit import
to allow specifying a tag, branch, or SHA digest when importing a model from Huggingface. To import a specific version, use the --ref
flag:
kit import myorg/myrepo --ref v1.0.0
For more information, see issue #823 or PR #824
Introducing regular builds of the kitops-kserve container image
We're now including the ghcr.io/kitops-ml/kitops-kserve:next
in our regular builds, allowing you to use ModelKits with KServe on Kubernetes. For details on KServe, see the image's readme.
For more information, see issue #817 or PR #820
Bug Fixes
Full Changelog: v1.3.0...v1.4.0
Release v1.3.0
Welcome to the v1.3.0 release of Kit! This is our first release as part of the CNCF! This release mostly contains changes relevant to our new organization (kitops-ml
):
Significant Chang 8000 es
- Change module path in go.mod and update internal imports by @gorkem in #805
- Update repository to kitops-ml org instead of jozu-ai by @amisevsk in #810
- Print update notification messages to stderr instead of stdout by @amisevsk in #809
Bug Fixes
- Call networkOptions.complete in login command by @amisevsk in #806
- Fix init container reference in docs by @gorkem in #800
- Fix ldflags in build to use new module name by @amisevsk in #811
- Fix typo in flags for MacOS goreleaser build by @amisevsk in #812
- Update numbering in hf-import.md by @nodroghsu in #808
New Contributors
- @nodroghsu made their first contribution in #808
Full Changelog: v1.2.2...v1.3.0
Release v1.2.2
Welcome to the v1.2.2 release of Kit! This release fixes a bug pushing to Google Artifact Registry
Bug Fixes
Issues in pushing to Google Artifact Registry
Google Artifact Registry does not support OCI chunked uploads. As Kit uses this approach by default for ModelKit layers over a certain size, this meant that uploading to Google Artifact Registry would fail for many ModelKits.
With v1.2.2, we instead use the recommended monolithic upload format as required by the registry.
For more details, see the issue and pull request
What's Changed
- Update the video in the home page with a new version by @javisperez in #775
- Update PyKitOps documentation by @gorkem in #776
- Add docs on $KITOPS_HOME by @bmicklea in #781
- Use monolithic uploads when pushing to Google Artifact Registry by @amisevsk in #780
Full Changelog: v1.2.1...v1.2.2
Release v1.2.1
Welcome to the latest release of Kit! This bugfix release addresses one issue with the kit diff
command.
Bug Fixes
The recently released kit diff
command had a bug where some intended networking flags were missing. This meant that it was not possible to configure mTLS authentication and settings for remote registries.
In addition, another pull request (#742) updated how one of the common networking flags, --concurrency
, worked, making it an error if the specified concurrency was less than 1. Since kit diff
was not initializing these flags, it was using the default value of 0
for concurrency
, leading to errors when running kit diff
.
To see more details on this fix, see PR #773
Full Changelog: v1.2.0...v1.2.1
Release v1.2.0
Welcome to the latest release of Kit! We've added some exciting new features and improvements.
New Features
Change in how temporary files are handled by the CLI
With KitOps v1.2.0, we've changed how temporary files are stored. Previously, temporary files used while importing and packing ModelKits would be stored in the system's temporary directory. While this had the benefit of making sure any stray files were cleaned up eventually by the system, it made it hard to use Kit in some containerized environments, where mounting a volume to hold the (large) temporary files may be necessary. In KitOps v1.2.0, Kit will instead store temporary files in $KITOPS_HOME/cache
. This has the added benefit of making packing slightly faster on systems where the temporary directory is a separate volume.
For more details on this change, see:
New command: kit cache
Normally, Kit will clean any temporary files before exiting. However, in some cases (such as using ctrl+C
to cancel the command), these files can be left on the disk, taking up space. Since Kit is no longer using a temporary directory for these files, we've added the kit cache
command to check the cache directory. Use kit cache info
to see current cache directory storage use, and kit cache clear
to clean up any leftover files.
Significant Changes
Bug Fixes
- Fix importing from HF repositories using the full URL by @amisevsk in #761
- Improve error logging by @gorkem in #760
New Contributors
Full Changelog: v1.1.0...v1.2.0
Release v1.1.0
Welcome to the v1.1.0 release of Kit! We've added some exciting new features and improvements.
New Features
Improvements to kit import
The kit import
command can now handle Huggingface repositories without requiring Git to be installed. This change comes with a few improvements:
- We read the list of files in the repository first, meaning you can now edit the Kitfile before downloading anything
- We only download the files that will be included in the ModelKit, so you can restrict how much data is downloaded
By default, Kit will use the Huggingface API if you import a Huggingface repository, and will continue to use the current Git clone method for non-Huggingface repositories. If you would like to use Git to download repositories from Huggingface, you can use the --tool=git
flag for kit import
.
Compare ModelKits using the kit diff
command
The kit diff
command can be used to compare two ModelKits and highlight the differences between them. This command will print out whether the Kitfiles or layers match, and can be used to determine what is changed between two tagged ModelKits
Significant Changes
- Enable kit import to download files using the huggingface API instead of Git by @amisevsk in #742
- Add 'diff' command to compare ModelKits by @gorkem in #702
- Add
--file
flag to kit import to allow using existing Kitfiles by @amisevsk in #734
Bug Fixes
- Ensure we don't store duplicate manifests in the index by @amisevsk in #729
- Tests for comparing manifests by @gorkem in #744
- Fix bug where we warn of empty layers when progress bars are disabled by @amisevsk in #748
Full Changelog: v1.0.1...v1.1.0
Release v1.0.1
Welcome to the v1.0.1 release of Kit! This release includes some bug fixes for the features introduced in v1.0.0, along with some improvements to the documentation.
Bug fixes
- Auto-fill name/author when using
kit import
by @amisevsk in #722 - Use 'nano' as the default editor in import if $EDITOR is unset by @amisevsk in #721
Docs improvements
- New kit import doc by @bmicklea in #711
- Update documentation for Kit import by @amisevsk in #712
- Doc updates for import by @bmicklea in #719
- Filtering and KITOPS_HOME updates by @bmicklea in #720
Full Changelog: v1.0.0...v1.0.1
Release v1.0.0
Welcome to the v1.0.0 release of Kit! We've added some exciting new features and improvements.
New Features
Import models from Huggingface🤗 directly
We've added the kit import
command, that can be used to download a model from Huggingface and package it as a ModelKit automatically. This command will download the model to a temporary directory, generate a Kitfile, and package it all in one step.
For private repositories, you may have to provide a personal access token using the --token
flag.
Currently, kit import
requires that you have git
and git-lfs
installed, but we're working on removing this requirement in a future release. We've been playing with the feature a lot ourselves, but would love any feedback you may have!
As an added bonus, kit import
works on any git repository -- try running
kit import https://github.com/jozu-ai/kitops
to see it in action!
For more information, see kit import --help
or the PR that added the feature: #684
Automatically generate Kitfiles
Most ModelKits are relatively simple -- they may contain model weights, some metadata, some documentation, and a few other files. To make using Kit in these situations simpler, we've added the kit init
command, which will generate a Kitfile for you to use. This generation is fairly simple, but should handle some common cases:
- Model weights should be detected automatically
- Certain files (e.g. a README.md) are handled specially
- The license is automatically detected from a LICENSE file
You may need to tweak the Kitfile slightly to get the exact result you desire, but it should be an easy starting point for creating your own ModelKit
For more information, see kit init --help
, or the PR #661
Significant Changes
- Allow specifying a separate target reference to push in
kit push
by @amisevsk in #685 - Add tests for generating Kitfiles. by @amisevsk in #693
- Install git and git-lfs in default kitops images by @amisevsk in #704
Bug Fixes
- Fix race condition when pulling manifest with duplicate digests by @amisevsk in #688
- Clean up error messages on push failures by @amisevsk in #694
- Fixups for
kit import
by @amisevsk in #706
Full Changelog: v0.5.0...v1.0.0