Releases: CERT-Polska/karton
v5.1.0
New features and improvements:
v5.0.1
v5.0.0
This major release is focused mainly on fixing reliability and extensibility issues noticed during development of various Karton services. As always, we have tried not to make serious breaking changes, so 5.x.x Karton services are able to communicate with 4.x.x and you can do a rolling upgrade. If you want to perform an upgrade: it's recommended to start with upgrading karton-system
to the latest version.
In this release we've also included few long-awaited features.
Breaking changes (more details):
-
Karton Core uses Boto3 S3 API client instead of Minio-Py.
karton.ini
should be changed to new configuration scheme ([s3]
section).[minio]
section is still supported but deprecated.- [minio] + [s3] access_key = karton-test-access secret_key = karton-test-key - address = localhost:9000 + address = http://localhost:9000 bucket = karton - secure = 0
-
Config
uses plain dict internally instead ofConfigParser
object and provides slightly different interface for configuration item access. (#176) -
Consumer.process
method must get task argument (currently processed task). Variant with no arguments is no longer supported. (dropped support as a part of #175) -
Enforced correct
Karton.main()
invocation.Karton().main()
will throw TypeError. (#182)
New features and improvements:
- Support for filter wildcards and exclusions (#179)
- Support for resources nested in lists and dicts (#186, thanks @mak for suggestions to the implementation #189)
- Better support for configuration/CLI arguments extensions (#176)
- LocalResource supports file-like object as contents source (#187)
- Support for
db
/username
arguments in Redis configuration (#184) - Task timeout can be set to recover from hang during task processing (#175)
- Karton System GC timeouts are now configurable (#161, thanks @rakovskij-stanislav!)
- Added configurable socket timeout for Redis connection to improve handling of network issues (#184)
Bugfixes:
- Redis client name is no longer lost after reconnection, so count of Karton service replicas will be not affected after network issues (#173)
- Prevented double logging in case of
logging.basicConfig
or construction of multiple Karton service objects (#172) - Fixed resource handling in test utils (#180)
- Fixed SIGINT/SIGTERM handling (#181)
- Fixed method name typo in Karton System (#162, thanks @MaitreRenard!)
v4.4.1
Bugfixes:
v4.4.0
New features and improvements:
- Refactored
karton-system
and heavily improved routing performance. From nowkarton-system
can be horizontally scaled, although it wasn't heavily tested yet (#145, #146, @msm-code thanks for help!) karton-system
stores possible producer outputs for future building dynamic graphs of task lifecycles (#140, #152, thanks @yankovs)Resource.download_temporary_file
allows to add arbitrary suffix to the file name (#148, thanks @rakovskij-stanislav)
v4.3.0
New features:
- Implemented task status signaling (#120, thanks @conitrade-as!)
- Added
from_dict
method in Config (#123)
Bugfixes:
v4.2.0
New features:
karton logs
command for following the current logs (#111)- Added Karton metrics to
backend
interface (#109)
Improvements:
- LocalResource lazy-loads resource content when
content
property is used and only path is provided (#110) - Minor fixes in typing and documentation
Read more about changes in this PR description.
v4.1.0
New features:
- Added
karton configure
option that helps to preparekarton.ini
configuration file (#100) - Karton exposes information about
service_version
for packaged Karton services (like karton-classifier).version
still indicates the library version (#93)
Improvements: