Releases: furiko-io/furiko
Releases · furiko-io/furiko
v0.3.0
What's Changed
- refactor(testutils): Move error assertion functions out of runtime/testing by @irvinlim in #107
- chore(lint): Remove lll from list of linters by @irvinlim in #108
- fix(cli): Support AllowCustom and fix validation for select by @irvinlim in #109
- chore: Fix fmt and test flakes by @irvinlim in #110
- feat(cli): Implement completion for flags and arguments by @irvinlim in #106
- chore(apis): Fix additionalPrinterColumn name for lastScheduled by @irvinlim in #111
- chore(dev): Use goimports-reviser instead to group imports by @irvinlim in #112
- feat(jobconfig): Add LastExecuted to status by @irvinlim in #113
- chore(cleanup): Migrate to k8s.io/utils/clock by @irvinlim in #114
- feat(cli): Display LastExecuted in furiko list jobconfigs by @irvinlim in #115
- feat(docs): Add runnable and explainable examples by @irvinlim in #116
- feat(cli): Support --no-headers flag by @irvinlim in #117
- feat(cli): Implement --watch flag by @irvinlim in #118
- chore(ci): Exclude generated files from CodeCov by @irvinlim in #119
- feat(cli): Add CLI enhancements for furiko run command by @irvinlim in #120
- feat(cli): Enhance CLI completion by @irvinlim in #121
- chore(cli): Improve validation for kill and run commands by @irvinlim in #122
- feat(execution): Add JobState field to JobStatus by @irvinlim in #123
- feat(cli): Implement various filter flags for list subcommands by @irvinlim in #124
- fix(mutation): Add taskPendingTimeoutSeconds in mutation webhook by @irvinlim in #125
- feat(cli): Implement logs command by @irvinlim in #126
- chore(refactor): Rename formatter -> format by @irvinlim in #128
- feat(cron): Support multiple cron expressions by @irvinlim in #127
- feat(cli): Implement --all-namespaces flag by @irvinlim in #129
- feat(cli): Fix --kubeconfig and support --cluster and --context flags by @irvinlim in #130
- feat(httphandler): Implement debug/pprof endpoints by @irvinlim in #131
- fix(cli): Use ShellCompDirectiveKeepOrder to preserve order in shell completions by @irvinlim in #132
- chore: Bump golangci-lint from v1.45.2 → v1.55.2 by @irvinlim in #133
- chore: Upgrade Go version to 1.23 by @irvinlim in #136
- chore(ci): Update deprecated actions by @irvinlim in #140
- chore: Fix flaky PTY tests by @irvinlim in #137
- chore: Fix TTY tests by @irvinlim in #142
- chore(ci): Fix goreleaser by @irvinlim in #141
Full Changelog: v0.2.1...v0.3.0
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