- Make Strapi compatible with latest Node versions (fix
Promise.deferissue).
Strapi Release: 1.6.0
Tag Name: v1.6.0
Release Date: 4/18/2017
StrapiOpen-source headless CMS built with Node.js. Provides developers with complete freedom in choosing their favorite tools and frameworks for frontend development.
TL;DR
Strapi v1.6.0 addresses a critical compatibility issue with newer Node.js versions by fixing the deprecated Promise.defer functionality. This update ensures Strapi continues to work properly on modern Node environments without throwing errors related to the obsolete Promise API.
Highlight of the Release
- Fixed compatibility with modern Node.js versions by addressing the deprecated
Promise.deferissue - Removed dependency on deprecated Node.js APIs
- Improved stability when running on newer Node.js environments
Migration Guide
No migration steps are required for this update. The fix for the Promise.defer issue is handled internally by Strapi and should work transparently after updating.
To update to v1.6.0:
- Update your package.json to reference Strapi v1.6.0
- Run
npm installoryarn installto update your dependencies - Restart your Strapi application
No configuration changes or code modifications are needed on your part.
Upgrade Recommendations
Priority: High
All Strapi users running on Node.js versions where Promise.defer has been deprecated or removed should upgrade to this version immediately to avoid application errors and crashes.
This update is especially important for:
- Users experiencing errors related to
Promise.deferbeing undefined - Teams planning to upgrade their Node.js version
- Deployments on modern hosting platforms that use recent Node.js versions
The update is backward compatible and requires no changes to your application code or configuration.
Bug Fixes
Node.js Compatibility Fix
Fixed an issue where Strapi would fail when running on newer versions of Node.js due to the use of deprecated Promise.defer functionality. This method was deprecated in Node.js and eventually removed from later versions, causing Strapi to throw errors when attempting to use this functionality.
The fix replaces all instances of Promise.defer with modern Promise patterns, ensuring compatibility with current and future Node.js releases.
New Features
No new features were added in this release. This update focuses specifically on fixing compatibility issues with modern Node.js versions.
Security Updates
No explicit security fixes were included in this release. However, by enabling compatibility with newer Node.js versions, users can now benefit from the security improvements in those Node.js releases.
Performance Improvements
No specific performance improvements were included in this release. The focus was on compatibility fixes rather than performance enhancements.
Impact Summary
This release resolves a significant compatibility issue that prevented Strapi from running properly on modern Node.js environments. By fixing the Promise.defer issue, Strapi now works correctly on the latest Node.js versions without throwing errors related to deprecated APIs.
The impact is primarily positive for development and operations teams who can now:
- Use current Node.js versions with Strapi
- Benefit from security and performance improvements in newer Node.js releases
- Simplify their development and deployment environments by standardizing on current Node.js versions
This update contains no breaking changes to the Strapi API or functionality - it simply ensures the existing functionality works correctly on modern environments.
Full Release Notes
Statistics:
User Affected:
- Can now use Strapi with the latest Node.js versions without encountering `Promise.defer` errors
- No longer need to downgrade Node.js versions to use Strapi
- Experience improved stability when running Strapi on modern environments
