All notable changes to Deserve. Full commit history in chronological order.
Format inspired by Keep a Changelog.
- Streaming template rendering with
ViewEngine.streamRender()method Context.streamRender()method for streaming HTML responses- Progressive template rendering with
TransformStreamsupport - Template chunk rendering utilities for streaming pipeline
- Reorganize method ordering in
Engineclass (properties → public → private, A-Z sorted) - Reorganize method ordering in
Contextclass (properties → public → private, A-Z sorted) - Update rendering documentation with DVE syntax reference and streaming support
- Apply consistent JSDoc formatting across rendering interfaces
- Improve error message consistency in view engine configuration
- Remove
ViewEngine.renderoptions parameter - Parse
{{else}},{{/if}}, and{{/each}}strictly - Throw on unclosed
#ifand#eachblocks
- TypeScript parameter compatibility in
streamRender()method - Method organization for better code maintainability
0.9.0 - 2026-03-19
0beedd8style(routing): format Handler implementation608cb3ffeat(security): enforce URL and route param limits with 41473f2842docs(changelog): update security and test entries0ad46ddtest(security): add 414 length-limit assertionsb9823bddocs(changelog): update Unreleased entries8f261f6chore(publish): use explicit publish include listca229datest(rendering): align DVE test fixtures namingafeb7e0docs(editor): add DVE syntax highlighting docs07f299efeat(benchmark): add DVE view rendering benchmarks2b6bd44docs(readme): tighten copy and remove doc outline6cc83c2docs(changelog): update Unreleased section73d8c89test(tests): restructure test folders1d8bdf6test(config): add human error coveragecb58c42refactor(rendering): add DVE view engine and shorten API names817be4arefactor(middleware): align middleware modulese6797a8refactor(src): split modules into domains6114c4cchore(deno): add src path aliases
32b01dbfeat(worker): add optional worker pool for CPU-bound work
a9db24bdocs(example): add Deserve-React to showcase
0.8.0 - 2026-03-07
a3c8317feat(deserve): request timeout, session HMAC signing, and docs alignmentf492ef5docs(docs): update VitePress config and en/id content8e0f338fix(handler): extend middleware to nested paths and tidy formattingce1c8c0docs(core): add JSDoc for private members and tidy formatting2e198e5style(src): apply Deno format to Context and middleware index2e15097refactor(deserve): extract response/static/error, pluggable handler, middleware classes
4d4dcdbstyle(handler): enforce braces for control statements1c80c4efeat(deserve): optimize framework for streaming and error handling
0ff9118release(docs): mark features as released and update version to 0.7.0583106fdocs(static-file): clarify path extraction and wildcard pattern behavior3675be0fix(handler): fix route scanning and static file path resolution010597ffix(docs): configure search at root level36f8336feat(middleware): add security headers middleware
a4c8db8feat(middleware): add body limit middlewareacb560dfeat(middleware): add basic auth and improve error handlingef190fafeat(docs): restructure documentation with i18n support2812d25feat(router): simplify constructor and add middleware support5569c43feat(static): add custom static file serving
6fb36b7refactor(core): migrate to Context-based architecture
8a99a21fix(core): migrate to external router and fix replacement bugs
dfd1b35feat(routing): add case-sensitive routing and filename charactersf4416c3feat(core): add middleware support for DeserveRequest objects
81d5822feat(middleware): add websocket middleware support31f35d7feat(benchmark): add performance benchmarks documentation984ebadrefactor(router): migrate to FastRouter with radix tree structurecfa06cdfeat(docs): add request body parsing methods and bump version3fdacd9feat(request): add enhanced request handling with automatic parsing50192b7refactor(constants): centralize HTTP methods and improve validation8866020docs(installation): update deno install link18db701ci(deploy): add nojekyll file creation to vitepress build8e548b3docs(readme): add installation section1c0cecbdocs(readme): add server configuration link2c43a20feat(router): enhance serve method with hostname and graceful shutdown
d00d938feat(send): add download response methods5d2821fdocs(rebuild): trigger rebuild for sidebar fix23e8677docs(config): update documentation and versionbe7fa66refactor(docs): move CNAME file locatione2f931adocs(deploy): update build configuration and domain setup9df2495docs(project): restructure documentation and simplify README8e63612feat(router): add route module validationaa205cafeat(utils): add Send utility class for HTTP responses60e6a8dfeat(router): add route-specific middleware and improve documentationde1937bchore(config): bump version to 0.1.5783b6barefactor(router): improve route parsing and scanning logicba1c5dffeat(router): add HTTPS URL parsing and update version25955bffix(router): resolve JSR import path issues and improve route handling99e8696feat(router): fix module import path resolution6448d7efeat(static): improve static file serving and documentatione4f471cfix(router): remove hardcoded path prefix from routes directoryc210179feat(ci): add GitHub Actions workflow and improve router configuration66895d7feat(router): add static file serving capability09b1e4afeat(middleware): add built-in CORS middleware and enhanced middleware processing38eaacefeat(error): add error handling middlewareaaa14d2feat(router): initial implementation of file-based routing library