# Persist 1.0.0.0 released

**URL:** <https://discourse.haskell.org/t/persist-1-0-0-0-released/12489>\
**Category:** Announcements\
**Created:** [July 16, 2025, 9:38pm UTC](https://discourse.haskell.org/t/persist-1-0-0-0-released/12489 "2025-07-16T21:38:27Z")\
**Posts on this page:** 1\
**Showing post:** 1

<div class="post-metadata">

**Author:** ![iteratee](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/iteratee/32/4332_2.png) [@iteratee](https://discourse.haskell.org/u/iteratee)\
**Post date:** [July 16, 2025, 9:38pm UTC](https://discourse.haskell.org/t/persist-1-0-0-0-released/12489/1 "2025-07-16T21:38:28Z")

</div>

> **[persist](https://hackage.haskell.org/package/persist-1.0.0.0)**
>
> Minimal serialization library with focus on performance

Persist is a binary serialization library with two aims

1. Have a default serialization format that can simply be derived for most types using `Generic`
2. Allow a type to have a custom serialization format that matches an external specification.

Most of the improvements with this release were for goal 2. There is now support for backpatching a length value and avoid a 2nd data-structure walk. This is useful with tag-length-value formats where the length is a fixed number of bytes. It is also a source for some performance improvements with the default format for the builtin list datatype. There is additional support for de-serializing these formats as well with the new `getPrefix` `unsafeGetPrefix` helpers.

The API is similar enough to `binary` and `cereal` that it should be easy enough to try out the library.

---

_[View the full topic](https://discourse.haskell.org/t/persist-1-0-0-0-released/12489)._
