Skip to content

Releases: gnarr/ok

Release v0.4.5

Choose a tag to compare

@github-actions github-actions released this 19 May 12:16

Changelog

All notable changes to this project will be documented in this file.

[0.4.5] - 2026-05-19

🐛 Bug Fixes

  • (ci) Repair release artifact name extraction

Release v0.4.4

Choose a tag to compare

@github-actions github-actions released this 19 May 11:58

Changelog

All notable changes to this project will be documented in this file.

[0.4.4] - 2026-05-19

🐛 Bug Fixes

  • Harden release workflow and avoid slow body reads

Release v0.4.3

Choose a tag to compare

@gnarr gnarr released this 26 Nov 23:25

Changelog

All notable changes to this project will be documented in this file.

[0.4.3] - 2025-11-26

⚙️ Miscellaneous Tasks

  • (ci) Simplify artifact name extraction with grep

Release v0.4.2

Choose a tag to compare

@gnarr gnarr released this 26 Nov 21:50

Changelog

All notable changes to this project will be documented in this file.

[0.4.2] - 2025-11-26

🐛 Bug Fixes

  • (ci) Use Rust 2021 edition for release builds

⚙️ Miscellaneous Tasks

  • (ci) Let cargo release handle version bump and lockfile updates

Release v0.4.1

Choose a tag to compare

@gnarr gnarr released this 26 Nov 17:45

Changelog

All notable changes to this project will be documented in this file.

[0.4.1] - 2025-11-26

🚀 Features

  • Add health-check
  • Add body read deadline and validation (#5)
  • Retry across workers before dropping connection (#6)

⚙️ Miscellaneous Tasks

  • Skip release when tag already exists
  • Speed up release builds with matrix and caches
  • Include rustc in cache key and cache windows build
  • Align crate version, add sccache for release builds
  • Fix release workflow outputs and cache keys
  • Fix docker job dependencies after matrix change
  • Ensure cargo-edit is installed for set-version
  • Fix workflow ordering for cargo-edit install

Release v0.4.0

Choose a tag to compare

@gnarr gnarr released this 28 Apr 14:46

Changelog

All notable changes to this project will be documented in this file.

[0.4.0] - 2025-04-28

🚀 Features

  • Add health-check

Release v0.3.2

Choose a tag to compare

@gnarr gnarr released this 28 Apr 13:33

Changelog

All notable changes to this project will be documented in this file.

[0.3.2] - 2025-04-28

⚙️ Miscellaneous Tasks

  • Update dockerhub-description to version 4

Release v0.3.1

Choose a tag to compare

@gnarr gnarr released this 28 Apr 13:21

Changelog

All notable changes to this project will be documented in this file.

[0.3.1] - 2025-04-28

⚙️ Miscellaneous Tasks

  • Add badges to readme
  • Add links to badges
  • Remove backslash from block marker
  • Fix wording in curl example
  • Change environment to map in compose example
  • Add configuration table
  • Add quick start guide
  • (build) Add automatic README update for docker hub
  • Change description wording to be more precise
  • Use webserver everywhere

Release v0.3.0

Choose a tag to compare

@gnarr gnarr released this 27 Apr 20:38

Changelog

All notable changes to this project will be documented in this file.

[0.3.0] - 2025-04-27

🚀 Features

  • Respond with 404 to unknown paths
  • Add SHOW_FAVICON environment variable with default value of true
  • Use sync_channel for logs with try_send
  • THREAD_POOL_SIZE is now configurable via env
  • Respond correctly to HEAD requests

🐛 Bug Fixes

  • Do not attempt to consume body on GET for / or /favicon.ico
  • Avoid per-line heap allocations when parsing Content-Length
  • Gracefully handle a disconnected worker queue
  • Validate PORT env var before binding
  • Handle try_send errors explicitly
  • Return 501 for unsupported HTTP methods

🚜 Refactor

  • Simplify get_client_address
  • Simplify sanitize method
  • Use format macro instead of string.into
  • Use string.into for port default value
  • Use match ok/err for getting content-length header

⚡ Performance

  • Skip allocating on heap for method and path
  • Add 24h caching header for favicon

⚙️ Miscellaneous Tasks

  • Formatting fixes

Release v0.2.0

Choose a tag to compare

@gnarr gnarr released this 25 Apr 17:32

Changelog

All notable changes to this project will be documented in this file.

[0.2.0] - 2025-04-25

🚀 Features

  • Add request logging
  • Add favicon
  • Create a thread pool with 4 threads
  • Better error responses
  • Add X-Content-Type-Options and X-Frame-Options security headers
  • Sanitize request_line before printing to logs
  • Get client ip-address from X-Forwarded-For with fallback to stream.peer_addr
  • Switch to per-worker bounded channels and round-robin dispatch
  • Connection handling panic isolation
  • Reject chunked encoding
  • Logger thread to prevent log message intermixing

🐛 Bug Fixes

  • Potential Slowloris attacks
  • Improve performance by having a fixed size buffer for reading
  • Improve Slowloris mitigation
  • Mitigate TCP receive buffer stalling attacks
  • Use sync_channel with queue capacity of 100
  • Log dropped connections
  • Return error on when remaining > 0 and n == 0
  • Parse headers in lower-case
  • Treat premature EOF while reading headers as an error, not success

🚜 Refactor

  • Add generalized write_response method

⚡ Performance

  • Pre-build byte slices