relic_core
Core framework for Relic web server (platform-agnostic).
1.2.0
376K downloads/mo
#599 most downloaded on pub.dev
serverpod/relic
What this package is like to depend on
Last release 13 days ago
10 Aug 2026
Release timing varies
gaps range from 9 days to 4 months
Nearly every release is documented
notes for 6 of 6 stable releases
Nothing withdrawn
no release was ever pulled
6 months old
8 releases · first in 2026
8 releases in the last 12 months
see the full history below
Release timeline
8 releases · Feb 2026 to Aug 2026Releases
latest 8-
2.0.0-beta.110 Aug 2026 pre-releaseRelease notes
Open source →- feat: Add
CacheControlHeader.parseStrictfor validating own values (#370)- Throws a
FormatExceptionfor an unrecognized directive or a malformed delta-seconds value instead of ignoring it - Intended for values under the sender's own control, such as server configuration;
parseremains lenient per RFC 9111 5.2
- Throws a
- feat: Add
-
2.0.0-beta.024 Jun 2026 pre-releaseRelease notes
Open source →Overhaul of typed HTTP headers for RFC compliance, landing in concert with serverpod 4.0. Parsing of received (request) headers is lenient (except security-sensitive ones), while construction and serialization are always strict. Many typed headers changed shape and/or semantics, so this is a breaking release.
- refactor!: Cookie and Set-Cookie headers (#361)
- BREAKING:
SetCookienow represents a single cookie, andSetCookieHeaderis aList<SetCookie>collection (oneSet-Cookieline per cookie, RFC 6265 4.1). The previous single-cookieSetCookieHeader(name:, value:, ...)API is replaced bySetCookie(...); augment a response withmh.setCookie = (mh.setCookie ?? const SetCookieHeader.empty()).add(cookie) - The request
Cookieheader is parsed leniently: a malformed cookie is skipped and the header is rejected only when no cookie in it is usable - Add
CookieHeader.getCookies(name)returning every cookie with that name in order; byte-identical duplicates are preserved (not collapsed) Set-Cookiedecode is strict (it is produced by the server): a malformed attribute rejects the cookieDomainis normalized per RFC 6265 5.2.3 — the full leading-dot run is stripped and the host is lower-cased; an all-dotsDomainis rejectedMax-Ageis parsed as a strict decimal integer per RFC 6265 5.2.2; non-decimal values such as0xFFare rejected- Nameless
=valuesegments are dropped when parsing the requestCookieheader
- BREAKING:
- feat!: RFC compliant typed headers (#360) — fixes #113, #142
- Many typed headers changed their Dart interface and/or their parse/serialize semantics
- Parsing is lenient on receive; construction and serialization are strict
- refactor!: Cookie and Set-Cookie headers (#361)
-
1.2.011 Mar 2026Release notes
Open source →- feat: Make
NormalizedPathinterning cache configurable (#343)- Introduce abstract
Cache<K, V>interface - Add
NoCacheimplementation for high-cardinality workloads LruCachenow implementsCacheNormalizedPath.internedcan be swapped to anyCacheimplementation
- Introduce abstract
- feat: Add
staticChangeCountand VM service extension toDeveloperTools(#341) - feat: Add
DeveloperToolsclass toRelicApp(#340)
- feat: Make
-
1.1.105 Mar 2026 -
1.1.023 Feb 2026 -
1.0.010 Feb 2026 -
0.15.104 Feb 2026Release notes
Open source →- fix: Downgrade meta dep to ^1.16.0 to match flutter 3.32.0 (serverpod lower bound) (#325)
-
0.15.003 Feb 2026Release notes
Open source →- feat: Add virtual host routing support (#322)
- Add
useHostWhenRoutingparameter torouteWith()middleware - Add
useHostWhenRoutingparameter toRelicApp - When enabled, routing uses
{host}{path}for route matching
- Add
- feat: Add
paths,toString(), andtoDot()to PathTrie for debugging (#320) - feat: Add
forceparameter to serverclose()method (#317) - refactor: Restructure into multi-package workspace with relic_core, relic_io, and relic packages
- feat: Add virtual host routing support (#322)