# Amber v2.0.0-beta.10 released!

**URL:** <https://forum.devtalk.com/t/amber-v2-0-0-beta-10-released/251491>\
**Category:** Backend Official News\
**Tags:** newsbot, amber, official-news\
**Created:** [7 November 2026 16:17 UTC](https://forum.devtalk.com/t/amber-v2-0-0-beta-10-released/251491 "2026-11-07T16:17:24Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![NewsBot](https://forum.devtalk.com/user_avatar/forum.devtalk.com/newsbot/32/1114_2.png) [@NewsBot](https://forum.devtalk.com/u/NewsBot)\
**Post date:** [7 November 2026 16:17 UTC](https://forum.devtalk.com/t/amber-v2-0-0-beta-10-released/251491/1 "2026-11-07T16:17:24Z")

</div>

[Amber](https://devtalk.com/amber) v2.0.0-beta.10 has been released.

> [@](#):
>
> # Amber 2.0.0-beta.10
> 
> Amber 2.0.0-beta.10 takes the regex engine out of the request path. A JSON API  
> built on it links no PCRE2 on stock Crystal, and CI now fails if that changes.
> 
> ## What changed
> 
> - **No PCRE2 in a JSON API.** On stock Crystal 1.22.2, an app with one GET and  
> one POST shows no `libpcre2` in `otool -L` or `ldd` and no `pcre2_` symbol in  
> `nm`, on macOS and on Linux. `scripts/check_linkage.sh` runs in CI, and its  
> control program that uses `Regex` must show PCRE2.
> - **Typed route rules (#1442).** Route parameter rules are types, and the router  
> uses no regex engine.
> - **Fixed patterns became plain code (#1443, #1444).** Amber’s internal fixed  
> patterns read strings directly, and no pattern uses lookaround.
> - **Cookies, form keys, formats and backtraces (#1445).** The `Cookie` header,  
> form keys, named schema formats, `String#url?`, backtrace frames and the  
> exception page’s code coloring use hand-written checks. Each check was compared  
> with the pattern it replaced on generated input.
> - **A crash removed.** `Validator::Format` with `FormatType::URL` raised  
> `Regex::Error` on short crafted input. The new check takes time in proportion  
> to the input.
> - **One bad cookie no longer fails a request.** Amber leaves that pair out and  
> keeps the others.
> 
> ## Keeping your app free of PCRE2
> 
> An app links PCRE2 again when it uses any of these, and it keeps working:
> 
> - `pattern:`, `filename_pattern:` or a custom `format:` on a schema field, and  
> `validates_pattern` or a custom `validates_format`
> - a `Regex` passed to `Pipe::CORS`, `Validator::Pattern` or `Validator::Format`
> - Markdown, `strip_tags`, and the other `String` checks such as `email?` and `phone?`
> - `request.cookies`; read `cookies` instead
> - Grant, whose query code uses `Regex` today
> - `Regex` in your own code
> 
> ## Breaking changes
> 
> - A route constraint is a rule, and a `Regex` no longer compiles. Replace  
> `{"id" => /\d+/}` with `{"id" => :numeric}`. A rule judges the whole segment,  
> s…

Link: [Release Amber 2.0.0-beta.10 · amberframework/amber · GitHub](https://github.com/amberframework/amber/releases/tag/v2.0.0-beta.10)
