Releases: furiko-io/furiko
Releases · furiko-io/furiko
v0.2.1
🚨 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
andarm64
: #102
- Added support for multi-architecture images, adding support for
💫 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
- feat(concurrency): Support variable MaxConcurrency by @irvinlim in #92
- chore: Add pre-commit hook script by @irvinlim in #94
- fix comment misspell by @qingyuanz in #97
- feat(croncontroller): Implement heap-based Schedule by @irvinlim in #95
- update_cronexpr_lib by @qingyuanz in #96
- change kustomize to v4.5.5 by @qingyuanz in #98
- fix: Gracefully handle no schedule in Bump() by @irvinlim in #103
- chore: Support arm/v7 and arm64 and migrate to GitHub Container Registry by @irvinlim in #102
- chore: Fix README badge [ci-skip] by @irvinlim in #104
New Contributors
- @qingyuanz made their first contribution in #97
Full Changelog: v0.2.0...v0.2.1
v0.2.0
🚨 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:
- 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
🚨 Breaking or Notable
- Furiko CLI is now available! Download it directly from the releases below.
- Breaking API changes:
maxRetryAttempts
is nowmaxAttempts
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
andjob.uid
context variables (#46) - Initial implementation of
furiko
CLI (#68)
🐞 Bug Fixes
- Support specifying zero values in configuration (#34)
- Fix repeated
startTime
updates and respectstartAfter
in start policy when creating independent Jobs (#56) - Fix nil panic in webhooks (#60, #61, #62)
🛠 Miscellaneous
- Add contribution/development guide(#26, #37)
- Increase test coverage from 30% -> 60% (#27, #30, #39, #44, #56, #57, #58)
- Add workflows for snapshots and releases (#33, #35, #70)
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