# Amber v2.0.0-beta.6 released!

**URL:** <https://forum.devtalk.com/t/amber-v2-0-0-beta-6-released/251309>\
**Category:** Backend Official News\
**Tags:** newsbot, amber, official-news\
**Created:** [1 November 2026 16:17 UTC](https://forum.devtalk.com/t/amber-v2-0-0-beta-6-released/251309 "2026-11-01T16:17:04Z")\
**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:** [1 November 2026 16:17 UTC](https://forum.devtalk.com/t/amber-v2-0-0-beta-6-released/251309/1 "2026-11-01T16:17:04Z")

</div>

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

> [@](#):
>
> # Amber 2.0.0-beta.6
> 
> Amber 2.0.0-beta.6 takes libxml2 out of every Amber V2 application. Until  
> this release, every V2 app linked libxml2, and with it liblzma, because the  
> schema layer could parse XML request bodies. XML is now opt-in, and the  
> opt-in is Mica, a pure-Crystal XML parser, so an application that accepts  
> XML still links no XML library.
> 
> ## What changed
> 
> - **XML request bodies are opt-in (#1414).** The libxml2-backed  
> `Amber::Schema::Parser::XMLParser` is removed. A request sent as  
> `application/xml`, `text/xml` or any `+xml` type is answered with  
> `415 Unsupported Media Type` unless the application registers a parser.
> - **`ParserRegistry.register_body_parser` (#1414)** lets an application add  
> a request body format with one call at boot. A parser that raises answers  
> the request with `400 invalid_request_body`.
> - **CI is pinned (#1420):** Crystal 1.22.1 tarballs checked by sha256,  
> GitHub Actions by full commit SHA, the CircleCI image by digest,  
> dependencies from a committed `shard.lock` with `--frozen`, and a second job  
> that builds crystal-alpha from an exact commit and runs the suite on it.
> - **Specs pass on Crystal 1.22 (#1418)**, which rejects the empty request  
> resource and the malformed multipart fixture some specs used.
> 
> ## Turning XML back on with Mica
> 
> Add Mica v0.1.0  
> ([release](https://github.com/amberframework/mica/releases/tag/v0.1.0),  
> commit `6a4866e`) to `shard.yml`:
> 
> ```yaml
> dependencies:
> mica:
> github: amberframework/mica
> version: 0.1.0
> 
> ```
> 
> Register it in `config/initializers/request_body_parsers.cr`, and make sure  
> `config/application.cr` loads the initializers (`require "./initializers/*"`;  
> applications generated by Amber CLI 2.0.6 load `config/*.cr` only):
> 
> ```crystal
> require "mica/xml/fields"
> 
> {"application/xml", "text/xml"}.each do |media_type|
> Amber::Schema::Parser::ParserRegistry.register_body_parser(media_type) do |body|
> Mica::XML::Fields.read(body)
> end
> end
> 
> ```
> 
> List the media types in the action’s s…

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