Jest 29 is here, just a few short months after Jest 28. As mentioned in the Jest 28 blog post, this version contains just a couple of breaking changes, in order to make the upgrade as smooth as possible.
Today we're excited to announce that Jest is joining the OpenJS Foundation!
This change transfers ownership of the project from Meta to the Jest Core team via the OpenJS Foundation as an Impact Project. We’re grateful to Meta for creating Jest and all of their support over the years, and we look forward to the future of Jest as a project owned by the Jest community!
Jest 28 is finally here, and it comes with some long requested features such as support for sharding a test run across multiple machines, package
exports and the ability to customize the behavior of fake timers. These are just some personal highlights, and we'll be highlighting more in this blog post.
Additionally, as announced in the Jest 27 blog post last year, we have removed some packages that no longer are used by default from the default installation. As a result the installation size has dropped by about 1/3.
In the Jest 26 blog post about a year ago, we announced that after two major releases with few breaking changes, Jest 27 will flip some switches to set better defaults for projects that are new or can migrate smoothly. This gives us the opportunity to remove some packages from the default distribution of Jest 28 and publish them as separately installable and pluggable modules instead. Everyone on the new defaults can benefit from a smaller install size, while people needing these packages can still install them separately.
With the first major change of defaults since the New Defaults for Jest that came with the seminal version 15, Jest 27 is now here, to keep Jest fast, lean, and relevant in the future. We will explain those changes of defaults and other notable breaking changes in this post, but first, let's get into some exciting new features!
Когда мы начали переделывать Jest пять лет назад, наша цель была предоставить систему тестирования без конфигурации, которая доступна для новичков, расширяется почти для всех вариантов использования и масштабирования в больших проектах. Одним из релизов инструмента был Jest 15, который связал все вместе и установил хорошие значения по умолчанию, которые позволяют людям запускать Jest часто без дополнительной настройки. Однако, этот подход имеет большой недостаток, так как Jest устанавливает множество зависимостей в ваши проекты, которые вам не нужны.
Сейчас мы начинаем устранять этот недостаток и работаем над уменьшением размера установки Jest'а, сохраняя его доступным и расширяемым. Мы внесли следующие изменения в в Jest 26:
Jest 25 is laying the groundwork for many major changes in the future. As such, we kept breaking changes to a minimum, but internal architecture changes may require attention during the upgrade. The main changes are an upgrade of JSDOM from v11 to v15, 10-15% faster test runs, a new diff view for outdated snapshots and dropped Node 6 support.
There has been more than 200 commits since Jest 24.9 by more than 80 different contributors, so as always, take a look at the changelog for a full list of changes.
Today we are happy to announce the next major release of Jest - version 24! It's been 4 months since the last minor release, and 8 months since Jest 23, so this upgrade is a big one, with something for everyone! Highlights include built-in support for TypeScript by upgrading the Jest internals to Babel 7, fixing some long-standing issues with missing console output and performance issues when computing large diffs, and a brand new sparkling website. ✨
For a full list of all changes see the changelog.
Jest is maintained by a community of open source contributors and Facebook employees.
Our open source contributors work on behalf of the community to create new features, fix bugs, and maintain the issue backlog. Facebook employees do the same, focused on the problems specific to Facebook's scale, and run all proposed releases on Facebook's enormous test suite before publishing.
All of us do our part to make testing delightful.
At the Jest Summit we announced the Jest Open Collective. This is our way to help support the efforts of the open source Jest community. To be absolutely clear: Facebook employees cannot benefit from the Jest Open Collective. The collective's sole purpose is to support the open source side of the Jest community.
In this post we'll outline what the Jest Open Collective is, the structure, and the goals we have.
We would also like to welcome both Babel and webpack to the Jest community! After converting from Mocha to Jest 23 Beta, webpack saw their total test suite time reduced 6x from over 13 minutes to 2 minutes 20 seconds. #blazingmeansgood
Here's are some of the Jest 23 highlights and breaking changes.