Skip to content

Commit 60a75da

Browse files
authored
docs: v11 release docs (#2338)
1 parent ba5af47 commit 60a75da

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

MIGRATION.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,41 @@ From version 3.0.0 onwards, you can access documentation for a specific version
5252

5353
You can upgrade to a major version using `npm update contentful`
5454

55+
## Migration to version 11.x
56+
Version 11.0.0 introduces full ESM support by default, with CJS variants still available for legacy environments. This version is a significant step forward in modernizing our build and improving performance while maintaining wide compatibility across various environments.
57+
58+
### Breaking changes
59+
60+
#### Node.js core modules
61+
62+
We no longer bundle Node.js core modules. If you’re bundling for the browser, you may need to configure your bundler to provide fallbacks or empty functions, particularly for the fs module. This change was introduced in version 11.x and may affect projects using Node.js-specific modules in the browser.
63+
Pre-bundled code
64+
65+
Pre-bundled code for Node.js is no longer provided. If your setup relies on pre-bundled packages, you may need to adjust your build configuration.
66+
67+
68+
### Improvements
69+
70+
#### Tree shaking
71+
72+
Tree shaking is significantly improved, ensuring that only the necessary parts of the library are included in your final bundle.
73+
Smaller browser bundles
74+
75+
Browser bundle sizes have been reduced by nearly threefold, from 128KB to 45KB, contributing to faster load times and improved performance.
76+
77+
#### Module support and package configuration
78+
The package now uses "type": "module" in package.json to define the default module format as ESM, while also providing support for CJS through the exports field. This allows us to support a wide range of environments including Node.js (with and without TypeScript, both CJS and ESM), AngularJS, GatsbyJS, Next.js, Nuxt, React Native (Expo), Rollup, Svelte, Vite, Webpack, and more.
79+
80+
#### Testing framework
81+
We’ve migrated our internal test environment from Jest to Vitest, aligning with modern testing frameworks and tools.
82+
83+
## Security
84+
85+
### Removal of eval
86+
87+
We have completely removed the use of eval in our exported code, improving security and compatibility with strict environments.
88+
89+
5590
## Migration to contentful.js 10.x
5691

5792
Version `10.0.0` is a complete rewrite in TypeScript. This version introduces a new concept of [client chain modifiers](README.md#client-chain-modifiers).

0 commit comments

Comments
 (0)