Skip to content

release: SmallServer v0.1.0 - #14

Merged
MikiEEE merged 76 commits into
mainfrom
develop
Aug 23, 2026
Merged

MikiEEE merged 76 commits into
mainfrom
develop

Conversation

@MikiEEE

@MikiEEE MikiEEE commented Aug 23, 2026

Copy link
Copy Markdown
Owner

Overview

This promotes the current develop branch to main for the first SmallServer release.

Features

  • SmallOS-native TCP transport and managed app.listen() lifecycle, with optional caller-owned runtimes and managed runtime configuration
  • bounded HTTP/1.1 routing for GET, POST, PUT, PATCH, and DELETE
  • optional timeout-bounded regex routes with immutable captures and sanitized observer events
  • optional RFC 6455 WebSocket server support with bounded queues, deadlines, Ping/Pong, fragmentation, and shutdown handling
  • optional cleartext prior-knowledge HTTP/2 with multiplexing, flow control, bounded protocol state, stream isolation, and graceful GOAWAY
  • SmallServer-owned adapter facade for thread and persistent-asyncio escape hatches
  • comprehensive multipage documentation, runnable demos, lifecycle/error guidance, and public typing fixtures
  • CI and automated GitHub release workflow for successful merges to main
  • SmallOS dependency pinned to the v1.2.0 release

Current boundaries

TLS/ALPN, HTTP/1.1 keep-alive and pipelining, h2c upgrade/autodetection, WebSocket compression, RFC 8441, and automatic path-template decoding remain deferred.

Validation

The latest develop commit passed the Python 3.10 and 3.12 test matrix and package build. Merging this PR will run the final main CI gate before the release workflow creates v0.1.0 and its GitHub artifacts.

MikiEEE added 30 commits August 22, 2026 00:05
…bsocket-server

# Conflicts:
#	smallserver/app.py
#	smallserver/server.py
#	tests/test_server.py
#	tests/test_server_runtime.py
MikiEEE added 25 commits August 22, 2026 03:52
ci: release successful main builds
feat: configure SmallServer-owned SmallOS runtimes
feat: route server networking through the SmallOS kernel
# Conflicts:
#	README.md
#	pyproject.toml
#	smallserver/__init__.py
#	smallserver/app.py
#	smallserver/server.py
#	tests/test_server.py
…socket-server

# Conflicts:
#	pyproject.toml
#	smallserver/__init__.py
#	smallserver/app.py
#	smallserver/server.py
#	tests/test_server.py
#	tests/test_server_runtime.py
feat: add timeout-bounded regex routing
feat: add bounded WebSocket server support
feat: add bounded cleartext HTTP/2 support
# Conflicts:
#	README.md
#	guide/api-reference.md
#	guide/configuration.md
#	guide/development.md
#	guide/errors-observability.md
#	guide/getting-started.md
#	guide/index.md
#	guide/protocol-roadmap.md
#	guide/requests-and-responses.md
#	guide/routing.md
#	guide/runtime-lifecycle.md
#	tests/test_documentation.py
docs: add comprehensive WebSocket server guide
feat: expose SmallOS adapters through SmallServer
chore: pin SmallOS v1.2.0 release
@MikiEEE

MikiEEE commented Aug 23, 2026

Copy link
Copy Markdown
Owner Author

Release gate note: the fresh Python 3.10 run exposed a test-only WebSocket TCP coalescing race. PR #15 fixes the fixture by preserving frames received with the HTTP 101 response; its Python 3.10, Python 3.12, and package checks all pass. Merge #15 into develop before merging this release PR so this PR refreshes on the corrected commit.

…scing

test: preserve coalesced WebSocket deadline frames
@MikiEEE
MikiEEE merged commit 8eb61f8 into main Aug 23, 2026
6 of 9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant