Skip to content

Releases: furiko-io/furiko

v0.2.1

13 Dec 14:27
3a7eeea
Compare
Choose a tag to compare

🚨 Breaking or Notable

  • Container images are now hosted on GitHub Container Registry instead of Docker Hub!
    • Added support for multi-architecture images, adding support for arm/v7 and arm64: #102

💫 New Features & Changes

  • Improve performance of the CronController to use a heap instead: #95
  • Support specifying MaxConcurrency per JobConfig: #92

🐞 Bug Fixes

  • Fixes crash in cronexpr library: #96, furiko-io/cronexpr#1
  • Fixes panic in CronController when deleting a JobConfig where no schedule is set: #103

What's Changed

New Contributors

Full Changelog: v0.2.0...v0.2.1

v0.2.0

05 Jun 19:42
a110df6
Compare
Choose a tag to compare

🚨 Breaking or Notable

  • Updated to use Go 1.18: #75
  • Jobs can now support running multiple tasks in parallel (docs): #81
  • Several API breaking changes and deprecations:
    • Renamed task field to taskTemplate, and moved fields to parent: #79
    • Moved PodTemplateSpec to a separate field pod under taskTemplate: #76
    • PendingTimeout is now removed as a TaskResult enum value: #90
  • Active deadline will no longer be used for killing tasks: #85

💫 New Features & Changes

  • Added kill subcommand to CLI (#84)
  • Added enable, disable subcommands to CLI (#89)
  • Added task details and state counts to furiko get subcommand (#90)
  • Added runningTasks status (#86)
  • Added Indexes to ParallelStatus (#90)

🐞 Bug Fixes

  • Fix missing default value for parallelism.completionStrategy (#88)

View Changelog

What's Changed

  • chore(dev): Implement make dev Makefile target by @irvinlim in #74
  • chore: Upgrade to Go 1.18 by @irvinlim in #75
  • feat(taskexecutor): Separate PodTemplateSpec out from JobTaskSpec by @irvinlim in #76
  • feat(api): Make PodTemplateSpec schemaless by @irvinlim in #77
  • feat(api): Update maxAttempts to int64 by @irvinlim in #78
  • chore(api): Update JobTemplate APIs by @irvinlim in #79
  • feat(execution): Implement parallelism in Job by @irvinlim in #81
  • feat(cli): Add kill subcommand by @irvinlim in #84
  • feat(execution): Avoid using activeDeadlineSeconds to kill tasks by @irvinlim in #85
  • feat(api): Add status.runningTasks by @irvinlim in #86
  • feat(jobcontroller): Handle killJob based on ParallelCompletionStrategy by @irvinlim in #87
  • fix(webhook): Add default values for parallelism.completionStrategy by @irvinlim in #88
  • feat(cli): Add enable/disable subcommands by @irvinlim in #89
  • feat(execution): Add Indexes to ParallelStatus, update GetJobCommand by @irvinlim in #90

Full Changelog: v0.1.0...v0.2.0

v0.1.0

29 Apr 22:09
Compare
Choose a tag to compare

🚨 Breaking or Notable

  • Furiko CLI is now available! Download it directly from the releases below.
  • Breaking API changes:
    • maxRetryAttempts is now maxAttempts with a semantic change: #48
    • Dynamic config names are shortened (e.g. job-controller -> jobs)

💫 New Features & Changes

  • Support notBefore/notAfter in ScheduleSpec (#52)
  • Support maxEnqueuedJobs configuration field (#43)
  • Added jobconfig.uid and job.uid context variables (#46)
  • Initial implementation of furiko CLI (#68)

🐞 Bug Fixes

  • Support specifying zero values in configuration (#34)
  • Fix repeated startTime updates and respect startAfter in start policy when creating independent Jobs (#56)
  • Fix nil panic in webhooks (#60, #61, #62)

🛠 Miscellaneous


View Changelog

What's Changed

  • chore: Add CONTRIBUTING guide by @irvinlim in #26
  • typo: Fix DeletedStatus description by @irvinlim in #29
  • feat: Add initial JobController reconciler test by @irvinlim in #27
  • feat: Add CronController tests by @irvinlim in #30
  • chore: Fix golangci-lint by @irvinlim in #31
  • feat: Rewrite configloader by @irvinlim in #32
  • chore: Add snapshot workflow by @irvinlim in #33
  • fix: Update config values to be nillable by @irvinlim in #34
  • chore: Add Makefile target to deploy snapshot by @irvinlim in #35
  • chore: Use config.furiko.io/v1alpha1 for all Config API types by @irvinlim in #36
  • chore: Update development docs for make deploy by @irvinlim in #37
  • refactor(runtime): Rewrite controllermanager started handling by @irvinlim in #38
  • chore(ci): Parallelize lint and test stages by @irvinlim in #40
  • test(cron): Add unit tests for CronWorker by @irvinlim in #39
  • refactor(config): Update dynamic config type names by @irvinlim in #42
  • feat(execution): Support maxEnqueuedJobs by @irvinlim in #43
  • test(runtime): Add controllermanager tests by @irvinlim in #44
  • feat(variablecontext): Add jobconfig.uid and job.uid context variables by @irvinlim in #46
  • feat(execution): Change maxRetryAttempts to maxAttempts by @irvinlim in #48
  • chore(ci): Also run make manifests for generate-lint step by @irvinlim in #49
  • feat(execution): Bump LastUpdated on schedule update by @irvinlim in #52
  • fix(execution): Handle IndependentReconciler bugs in JobQueueController, add tests by @irvinlim in #56
  • chore(refactor): Use standard reconciler test framework by @irvinlim in #57
  • feat(execution): Add tests for JobConfigController, update JobReference fields by @irvinlim in #58
  • fix(runtime): Implement panic recovery for webhook handlers by @irvinlim in #60
  • fix(runtime): Add panic stack trace logs by @irvinlim in #61
  • fix(webhook): Handle nil in mutation webhooks by @irvinlim in #62
  • refactor: Restructure packages by @irvinlim in #65
  • chore(core): Refactor options package names by @irvinlim in #66
  • feat(cli): Initial implementation of furiko-cli by @irvinlim in #68
  • chore: Move console to separate package by @irvinlim in #69
  • chore: Add goreleaser for CLI by @irvinlim in #70

Full Changelog: v0.0.1...v0.1.0

v0.0.1

28 Mar 02:39
Compare
Choose a tag to compare

🚨 Breaking or Notable

  • Initial release of the alpha version of Furiko, containing Furiko Execution
  • CI for container images are set up (#22)