Skip to content

serve 0.8.0 - #298945

Open
BrewTestBot wants to merge 1 commit into
mainfrom
bump-serve-0.8.0
Open

serve 0.8.0#298945
BrewTestBot wants to merge 1 commit into
mainfrom
bump-serve-0.8.0

Conversation

@BrewTestBot

Copy link
Copy Markdown
Contributor

Created by brew bump


Created with brew bump-formula-pr.

Details

release notes
## serve v0.8.0

A big modernization pass: structured logging, safer defaults, graceful shutdown, and a cleaner library API. This release contains breaking changes (see below).

✨ Added

  • Environment-variable config for every flag via SERVE_* (with PORT still honored for Heroku-style deploys).
  • Structured logging with log/slog--log-format (text/json) and --log-level (debug/info/warn/error).
  • Health-check endpoint at /healthz (--health-path, empty to disable) that bypasses auth and logging for probes.
  • --dirlisting to opt into automatic directory listings — disabled by default.
  • Dotfiles hidden by default (.env, .git, …) from both access and listings; opt in with --all.
  • bcrypt support in the BasicAuth users file (alongside plaintext); secrets may now contain colons.
  • Configurable CORS origin via --cors-origin.
  • Graceful shutdown — drains in-flight connections on SIGINT/SIGTERM.
  • Functional options for the library API: WithDirectory, WithPrefix, WithHiddenFiles, WithDirectoryListing.
  • --version flag, richer version output (Go toolchain + VCS revision), and a Docker HEALTHCHECK.

🔧 Changed

  • Requires Go 1.26.
  • Request logging now captures every response, including 401s and 500s.
  • Panics return a generic 500; details are logged server-side only.
  • BasicAuth passwords are compared in constant time.
  • Static files are served through io/fs (os.DirFS) for safer path handling.

🗑️ Removed

  • The internal mock HTTP server package and HTTPServer interface indirection (replaced by real integration tests).
  • The serve.Options struct (replaced by functional options).

⚠️ Breaking changes

  • Go 1.26 is now required.
  • Library API: serve.NewFileServer(serve.Options{...}) → functional options, e.g. serve.NewFileServer(serve.WithDirectory("./public")).
  • Directory listing is now off by default; pass --dirlisting (CLI) or WithDirectoryListing(true) (library) to restore the old behavior.

Full Changelog: syntaqx/serve@v0.7.1...v0.8.0

View the full release notes at https://github.com/syntaqx/serve/releases/tag/v0.8.0.


@github-actions github-actions Bot added go Go use is a significant feature of the PR or issue bump-formula-pr PR was created using `brew bump-formula-pr` labels Aug 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bump-formula-pr PR was created using `brew bump-formula-pr` go Go use is a significant feature of the PR or issue

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant