You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+16Lines changed: 16 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,6 +9,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
9
9
10
10
### Changed
11
11
-**BREAKING**: `cache.NewJobCache` no longer accepts a `dir` parameter. The SDK now defaults to in-memory caching, which aligns with how Launcher plugins are expected to work: the scheduler owns job state, and plugins populate the cache during `Bootstrap()` and keep it in sync via periodic polling.
12
+
-**BREAKING**: Add `context.Context` as the first parameter to all non-streaming `Plugin` methods (`SubmitJob`, `GetJob`, `GetJobs`, `ControlJob`, `GetJobNetwork`, `ClusterInfo`) and extension interfaces (`Bootstrap`, `GetClusters`). Streaming methods already accepted context.
13
+
-**BREAKING**: `Job.ID` type changed from `string` to `api.JobID` for end-to-end type safety. Since `api.JobID` is a named `string` type, JSON serialization and literal assignments work unchanged.
14
+
-**BREAKING**: Cache public methods (`Lookup`, `Update`, `WriteJob`, `RunningJobContext`, `StreamJobStatus`) now accept `api.JobID` instead of `string`.
15
+
-**BREAKING**: Conformance and plugintest helpers updated to use `api.JobID` (`SubmitJob` returns `api.JobID`; `GetJob`, `ControlJob`, `WaitForStatus`, `FindJobByID`, `AssertJobID`, `NewJobWithID`, `WithID` accept `api.JobID`).
16
+
- Replace `goto`-based poll loops with idiomatic `for`+`select` loops in cache and protocol packages
17
+
- Add panic recovery to cache background goroutine
18
+
- Use non-blocking channel sends to prevent deadlocks under load
19
+
- Add nil guards to stream `ResponseWriter` methods
20
+
- Convert `Prune` to range-over-func syntax
21
+
22
+
### Fixed
23
+
- File handle leak in logger when debug log creation fails
24
+
- Race window in `RunningJobContext` with post-subscribe recheck
25
+
- JSON unmarshal error in `requestFromJSON` now handled instead of silently discarded
26
+
- Go version requirement corrected from 1.25 to 1.24 in README
27
+
-`WithMemory()` reference corrected to `WithLimit()` in CONTRIBUTING.md
12
28
13
29
### Removed
14
30
- BoltDB (`go.etcd.io/bbolt`) dependency — in-memory caching is now the standard approach
0 commit comments