Skip to content

Releases: CERT-Polska/karton

v5.0.0

27 Jul 10:02
3d8d3c9
Compare
Choose a tag to compare

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

    Thanks @mak for implementing the Boto3 support (#190)

  • Config uses plain dict internally instead of ConfigParser 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

11 May 09:28
b3af248
Compare
Choose a tag to compare

Bugfixes:

  • Fixed removing objects from Minio by GC (#158, thanks @mak!)
  • Added chunking to MGET/DELETE so huge amounts of tasks in Karton are handled without failures (#160)
  • Extended outputs expiration time from 1 hour to 30 days (#157, thanks @ITAYC0HEN!)
  • Fixed help for --disable-router option (#156)

v4.4.0

05 Apr 13:18
79ffabd
Compare
Choose a tag to compare

New features and improvements:

  • Refactored karton-system and heavily improved routing performance. From now karton-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

07 Sep 11:53
2289317
Compare
Choose a tag to compare

New features:

  • Implemented task status signaling (#120, thanks @conitrade-as!)
  • Added from_dict method in Config (#123)

Bugfixes:

  • Fixed wrong 'name' behavior in LocalResource.from_directory method (#119)
  • Fixed incorrect exception message when both content and path are provided to LocalResource (#133)
  • Multiple fixes in documentation

v4.2.0

29 Mar 16:22
72308e1
Compare
Choose a tag to compare

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

12 Jan 16:00
cd73998
Compare
Choose a tag to compare

New features:

  • Added karton configure option that helps to prepare karton.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:

  • Source for log messages emitted via KartonLogHandler is identified by Karton identity instead of logger name (#101)
  • Added default formatter to the KartonLogHandler (#99)

v4.0.5

29 Dec 20:08
092ba79
Compare
Choose a tag to compare

Initial public release.