- Last updated: 2025-03-09T19:21:53Z
- Generator: thi.ng/monopub
All notable changes to this project will be documented in this file. Only versions published since 2022-01-01 are listed here. Please consult the Git history for older version information. See Conventional Commits for commit guidelines.
Note: Unlisted patch versions only involve non-code or otherwise excluded changes and/or version bumps of transitive dependencies.
0.7.0 (2025-03-09)
- update RateLimiter to use leaky buckets (f342fde)
- update
RateLimterOpts
- update/simplify
RateLimiter
interceptor - update deps
- update
0.6.0 (2025-02-21)
- update
sessionInterceptor()
cookie signing/handling (bdd4d66)- update
SessionInterceptor.newSession()
- pre-compute session metadata (HMAC & cookie values), store in WeakMap
- update
.withSession()
- update
.validateSession()
to use cached signature - update tests
- update
- add/update
ServerOpts
(23b5321)
0.5.0 (2025-02-19)
- update interceptor handling (9cdb8b8)
- update post-interceptor execution logic & return values
- update
Server.runHandler()
,Server.compileRoute()
- update
logResponse()
,measure()
interceptors
- rename
serverSession()
=>sessionInterceptor()
(2ada168)- add docs
0.4.0 (2025-02-10)
- update ServerSession & interceptor (71d26bb)
- add
ServerSession.ip
- update
SessionInterceptor
to validate stored IP addr - rename
.delete()
=>.deleteSession()
- add
.replaceSession()
- remove obsolete
FlashMsg
(for now)
- add
- update ServerResponse, update host matching (25a07f3)
- update
isMatchingHost()
- add
ServerResponse.rateLimit()
and.noResponse()
- update tests
- update
- update SessionInterceptor to create signed cookie (d240107)
- add
SessionOpts.secret
- sign session ID with salt & SHA256
- add validateSession()
- update pre() interceptor
- add
- add
rateLimiter()
interceptor (245cc9d) - add
measure()
interceptor (4702e84)- refactor logRequest/Response() interceptors
- update Server 404 & OPTIONS handling, remove method override (71307af)
- process 404 asap (without full request ctx)
- process default HTTP OPTIONS handler asap
- in both cases no interceptors will be run anymore
0.3.0 (2025-02-02)
0.2.0 (2025-01-30)
- add generics, various other updates (a340f65)
- add generics to most main types/interfaces
- refactor
SessionInterceptor
as class w/ pluggable storage - add
ISessionStore
andInMemorySessionStore
impl - update ServerOpts to allow augmenting request context object
- add default HTTP OPTIONS handler
- update Server cookie parsing
- add StaticOpts.auth flag
- update logRequest() interceptor
- update pkg exports
- update tests
0.1.0 (2025-01-29)
- migrate/import as new pkg (61035bb)
- re-import various security header interceptors (036b9b2)
- add interceptors:
crossOriginOpenerPolicy()
crossOriginResourcePolicy()
referrerPolicy()
strictTransportSecurity()
- add/update tests
- add interceptors:
- update sendFile(), staticFiles() and compression handling (9f4d25a)
- add support for brotli, gzip, deflate
- refactor sendFile() internals
- disable compression by default
- import refactored cacheControl() interceptor (4eff206)
- update pkg deps & exports
- update tests
- re-add etag support/handlers (13fb75e)
- add
StaticOpts.etag
- update
staticFiles()
HEAD/GET handlers - add
Server.unmodified()
- add
etagFileTimeModified()
- add
etagFileHash()
- add
isUnmodified()
helper - remove "content-length" header from HEAD handler
- update tests
- add
- add
server()
factory function (syntax sugar) (ee22ea1)