---
title: "Migration"
manual: "Handlebars"
version: "1.1"
permalink: "https://docs.typo3.org/permalink/cpsit/typo3-handlebars-forms:migration@1.1"
source: "Migration/Index.rst"
rendered: "2026-10-07T10:26:21+00:00"
---

# Migration {#migration}

This page lists required migration steps when upgrading to a new version of
the extension.

## Version 1.1.0 {#version-1-1-0}

### Wrapped current values {#migration-1-1-wrapped-current-values}

Non-stringable values resolved by `HBS_*` content objects are now
provided as current value wrapped in a `CurrentValue` object provided by
EXT:handlebars. This applies to [stdWrap](https://docs.typo3.org/permalink/cpsit/typo3-handlebars-forms:custom-co-stdwrap@1.1) as well as to
`if.currentValue`. Arrays still resolve to a comma-separated list of
their scalar values (now including stringable objects), and all other
non-stringable values resolve to an empty string.

Within `stdWrap`, non-stringable objects previously resulted in a
`null` current value (within `if.currentValue`, they caused
errors instead). Since they are now wrapped, checks for `null` values such
as `ifNull` or `if.isNull.current = 1` no longer apply
to them. Use checks for empty values instead, e.g. `ifEmpty` or
`if.isTrue.current = 1`.

Custom PHP code reading `ContentObjectRenderer::getCurrentVal()` (e.g. user
functions) receives the wrapper and must unwrap the value, see
[stdWrap support](https://docs.typo3.org/permalink/cpsit/typo3-handlebars-forms:custom-co-stdwrap@1.1).

In addition, stringable values (scalar values and stringable objects such as
`SafeString`) are no longer converted to strings before being provided as
current value within `stdWrap`. TypoScript is not affected by this,
but custom PHP code reading `ContentObjectRenderer::getCurrentVal()` now
receives the original value, e.g. `true` instead of `'1'` or
`42` instead of `'42'`.
