This file follows semantic versioning 2.0.0. Given a version number MAJOR.MINOR.PATCH, increment the:
- MAJOR version when you make incompatible API changes,
- MINOR version when you add functionality in a backwards compatible manner, and
- PATCH version when you make backwards compatible bug fixes.
As a heuristic:
- if you fix a bug, increment the PATCH
- if you add a feature (add keyword arguments with default values, add a new object, a new mechanism for parameter setup that is backwards compatible, etc.), increment the MINOR version
- if you introduce a breaking change (removing arguments, removing objects, restructuring code such that it affects imports, etc.), increment the MAJOR version
The general format is:
# VERSION - DATE (dd/mm/yyyy)
### Added
- A to B
### Changed
- B to C
### Removed
- C from D
- add support for exposing config map keys via env vars in Tasks
- add support for attaching a secret volume to Workflows and CronWorkflows
- add support for specifying labels on Workflows, CronWorkflows and Tasks
- add support for the timezone attribute of CronWorkflow and validate the specified timezone
- introduce
pytz
dependency for timezone validation
- The
daemon
keyword to the Task.deamon
will allow a workflow to proceed to the next task, so long as the container reaches readiness.
- Make value in Tolerations optional, as per Kubernetes requirements
setup.py
packages field to include hera exclusively post-removal of the underlyingv1
directory. With the removal of the underlying versioned subpackage (v1
) in 1.0.0 thesetup.py
file no longer installed the necessary modules as the wheel only included references for whatever subpackages were inhera.*
but nothera
itself (as a module)
v1
submodule of Hera to avoid internal versioning and external/package versioning
- location of all files from
v1
up one folder tohera
. Now everything will take the import form offrom hera.module import Object
rather thanfrom hera.v1.module import Object
- interface of services to take a full host rather than a single domain and put in effort to compute the final host. This will offer more freedom to users to select their own host scheme, for example. A flag for SSL verification was also introduced
- all volume types (existing, empty dir, and regular volume) are now packaged in the volumes module rather than separated
- an
overwrite_maxs
toResource
to allow users to set whether max resources should be set to min values when they are not specified
- underlying SDK of Hera, which moved from
argo-workflows
to the Argo Workflows repository (unpublished on PyPi) Python SDK. This was originally released in argoproj-labs#38 but the publication process to PyPi failed. A fix was attempted in argoproj-labs#43 but that published a broken version because thedependency_links
ofsetup.py
did not actually install the necessary dependency. As a consequence, the release was quickly deleted from PyPi because it was broken. The best course of action was to wait for the official release of the new SDK underargo-workflows==6.0.0
, in collaboration with the maintainers of https://github.com/argoproj/argo-workflows
- input/output artifact specifications
- fix returned value of validator method in EnvSpec class
- added support to
when
workflows API.
- ability to specify a service account name to run the workflow as. This is currently set on the workflow level only, which makes all the pods of tasks in a workflow use the same service account.
- the publication step of Hera. The
python
command will now build ansdist
and awheel
for the package - relocked the project to include
wheel
as a development dependency
- added initial support for cron workflows
- initial release of Hera