# Notable rendering and layout changes after v3.7

> Non-API related breaking changes made after Flutter v3.7.




:::important
These breaking change docs are accurate, as of the release
under which they are published. Over time, the
workarounds described here might become inaccurate.
We don't, in general, keep these breaking change docs up
to date as of each release.

The [breaking change index file](/release/breaking-changes)
lists the docs created for each release.
:::


## Changes

This section lists the notable non-API breaking changes.

### (Only Affects Tests) `FlutterTest` is now the default test font

The `FlutterTest` font replaced `Ahem` as the default font in tests: when
`fontFamily` isn't specified, or the font families specified are not registered,
tests use the `FlutterTest` font to render text. The `Ahem` font is still
available in tests if specified as the `fontFamily` to use.

The `FlutterTest` font produces more precise font and glyph metrics than `Ahem`,
and the metrics are generally font-engine agnostic.
Check out the [Flutter Test Fonts][]
wiki page for more details about the test font.

**Differences**

The `FlutterTest` font looks almost identical to the old default `Ahem`: the
glyph for most characters is a box that fills the em square. The notable
differences between the `FlutterTest` font and `Ahem` font are:

**1. Different baseline location**

The `FlutterTest` font's ascent and descent are 0.75 em and 0.25 em, while
`Ahem`'s are 0.8 em and 0.2 em, respectively.

In the example golden image change below, the white blocks are text rendered
using `Ahem` and `FlutterTest`. The second character is taller in the new font
since it has a larger descent.

| Before (`Ahem`) | After |               Animated Diff               |
| :---: | :---: |:-----------------------------------------:|
| ![before](/assets/images/docs/breaking-changes/material.ink_sparkle.bottom_right.0_masterImage.png) | ![after](/assets/images/docs/breaking-changes/material.ink_sparkle.bottom_right.0_testImage.png) | ![baseline_animated](/assets/images/docs/breaking-changes/baseline.gif) |

**2. Different decoration position**

The underline location is slightly higher in `FlutterTest` than `Ahem`.

In the example golden image change below, the 3 lines of white blocks are text
rendered using `Ahem` and `FlutterTest`. The blue dashed lines indicate the
[TextDecoration.overline]/[TextDecoration.lineThrough]/[TextDecoration.underline]
positions for each line.

| Before (`Ahem`) | After |               Animated Diff                |
| :---: | :---: |:------------------------------------------:|
| ![before](/assets/images/docs/breaking-changes/widgets.text_golden.Decoration.1_masterImage.png) | ![after](/assets/images/docs/breaking-changes/widgets.text_golden.Decoration.1_testImage.png) | ![baseline_animated](/assets/images/docs/breaking-changes/underline.gif) |

**3. The glyph used for unmapped characters are slightly different**

Unmapped characters are rendered as hollow boxes in both fonts, with
a slight difference:

| Before (`Ahem`) | After |                  Diff                   |
| :---: | :---: |:---------------------------------------:|
| ![before](/assets/images/docs/breaking-changes/material.floating_action_button_test.clip_masterImage.png) | ![after](/assets/images/docs/breaking-changes/material.floating_action_button_test.clip_testImage.png) | ![not_def_animated](/assets/images/docs/breaking-changes/not_def.gif) |

## References

Relevant PRs:

* The `FlutterTest` font was added in: [Add new test font](https://github.com/flutter/engine/pull/39809)
* The `FlutterTest` font was made the default in: [Make FlutterTest the default test font](https://github.com/flutter/engine/pull/40188)

Wiki page:

* [Flutter Test Fonts][]

[Flutter Test Fonts]: https://github.com/flutter/flutter/blob/main/docs/contributing/testing/Flutter-Test-Fonts.md
[TextDecoration.underline]: https://api.flutter.dev/flutter/dart-ui/TextDecoration/underline-constant.html
[TextDecoration.overline]: https://api.flutter.dev/flutter/dart-ui/TextDecoration/overline-constant.html
[TextDecoration.lineThrough]: https://api.flutter.dev/flutter/dart-ui/TextDecoration/lineThrough-constant.html

