Skip to content

v0.8.0

Choose a tag to compare

@acim acim released this 06 Sep 10:43

Bee v0.8.0 adds cancellation-aware command input and completes HTTP shutdown coordination.

  • Add Ctx.Input(*os.File) (*Input, error). Input implements io.ReadCloser, unblocks pipe and terminal reads on cancellation, and leaves the original file open. The caller must close Input before reusing the original file. Supported Unix platforms are documented in the README; other platforms return errors.ErrUnsupported.
  • Add HTTPOption and WithHTTPDrainTimeout(time.Duration). Both App.HTTPServer and Ctx.HTTPServer now accept variadic HTTP options. Ordinary two-argument calls continue to work; interfaces and method values with the old exact signature must be updated.
  • On HTTP drain failure, cancel remaining request contexts, close connections, and wait for handlers to return before registered dependencies close. RunE retains the shutdown error. Request context values and client cancellation are preserved.
  • WithShutdownTimeout continues to supply the default HTTP timeout and a separate budget for each registered closer. It is not a hard process deadline; the process supervisor must terminate handlers or closers that remain stuck.

Validation: Go race tests, the required 95% coverage gate (96.8% measured), configured linters, Go fix and vulnerability checks, and offline Linux/macOS pipe and pseudoterminal tests. Vega integration passes all package coverage gates against isolated PostgreSQL and Valkey, with no provider requests.