Releases: jerryscript-project/jerryscript
Releases · jerryscript-project/jerryscript
v3.0.0
The JerryScript team proudly announces JerryScript 3.0.0 release.
A short list of changes/improvements:
- 343 commits by 41 authors since JerryScript 2.4.0 release
- 84% conformance on Test262 ES2020
- Kangax 2016+ (ES2025) coverage improved from 45% to 70% (Kangax Compatibilty Table)
- Binary size increased due to the implementation of a lot of new language features
- Fixed several bugs including security issues
- New language feature:
- Dynamic Import
- Instance class fields
- Logical Assignment (
&&=
,||=
,??=
) - Native Module
- Optional chaining (
?.
) - Private class method
- Static class fields
- Static initialization block
- Supported new builtin methods:
- Atomics
- function.toString operation
- Object.hasOwn
- Partial support for WeakReferences
- Promise.allSettled and Promise.Any
- SharedArrayBuffer
- API rework
- Resolved inconsistencies in APIs.
- Adopted a unified naming scheme (Issue #4186).
- Better windows support
- Enhanced Python 3 compatibility
- Dropped Python2 support due to its end of life
- Updated and improved documentation
JerryScript 2.4.0
The JerryScript team proudly announces JerryScript 2.4.0 release.
A short list of changes/improvements:
- Change the default profile to ES.next
- Improve module and proxy support
- Added support for Realms
- Added support for BigInts
- Enhanced build and testing on Windows
- Replaces all-in-one build with amalgam build
- Introduced new port API function: jerry_port_track_promise_rejection
- New language features:
- Async function
- BigInt syntax
- Class fields
- Catch without argument
- Comma after last argument
- For-await-of
- Nullish coalescing
- Numeric separator
- Rest operator in object destructuring patterns
- Spread operator in object literal
- Super keyword in object methods
- Unicode supplementary planes
- Supported new builtin methods:
- Array.prototype.flat, flatMap
- DataView.prototype.getBigInt64, getBigUint64, setBigInt64, setBigUint64
- Global.globalThis
- Object.entries, getOwnPropertyDescriptors, values
- Object.prototype.__defineGetter__, __defineSetter__, __lookupGetter__, __lookupSetter__, fromEntries
- Promise.prototype.finally
- RegExp.dotAll
- String.prototype.padStart, padEnd, replaceAll, trimStart, trimEnd
- Symbol.matchAll
- Symbol.prototype.description
- TypedArray.prototype.includes
- 80% conformance on Test262 ES2020
- Kangax ES2016+ coverage improved to 75%
- 413 commit by 22 authors since JerryScript 2.3.0
JerryScript 2.3.0
The JerryScript team proudly announces JerryScript 2.3.0 release.
A short list of changes/improvements:
- Improved ES6 (ES2015) support
- Kangax ES2015 coverage improved from 81% to 95%
- Some notable new features:
- Added Proxy support
- Exponentiation operator (**)
- Math builtin functions
- Function name support
- Improved RegExp engine
- Added full support for Web Compatibility syntax
- 1.37x better score on Octane/RegExp benchmark
- ~50% smaller bytecode size
- ~10% stack usage reduction
- 208 commits by 16 authors since JerryScript 2.2.0
JerryScript 2.2.0
The JerryScript team proudly announces JerryScript 2.2.0 release.
A short list of changes/improvements:
- Improved ES6 (ES2015) support
- Kangax ES2015 coverage improved from 34% to 81%
- Some notable new features:
- Spread syntax for iterable objects
- Array and object destructuring
- Lexical block scoping (let)
- Generators
- Well-known symbols
- General performance and memory improvements (ARMv7 RPi2)
- Significant speed-up in match, search, split and replace operations with Strings and RegExps
- Significant improvements in garbage collection when having deeply nested objects
- Improved prototype lookup for primitive values
- Optimized array built-in methods for non-sparse arrays
- Small overall stack usage improvement
- Added new API functions
- Revised a few feature guards that can be used in profiles
- Enabled the usage of API functions in native free callbacks
- Improved RegExp compatibility with web browsers
- 231 commits by 18 authors since JerryScript 2.1.0
JerryScript 2.1.0
The developer team is proud to announce the release of JerryScript version 2.1.0.
With this release we introduce semantic versioning (#3104).
A short list of changes/improvements
- General performance and memory improvements (ARMv7 RPi2)
- ~20% speedup on SunSpider
- ~15% speedup on V8 Benchmark Suite
- ~15-20% speedup on TypedArray access
- ~10-20x speedup on JSON microbenchmarks
- ~10% heap gain on SunSpider
- No breaking API change (since JerryScript 2.0)
- Added a new port API function: jerry_port_get_native_module
- Added a subset of ES6 (ES2015) features
- Number.isInteger, isSafeInteger, isFinite, isNan
- TypedArray.prototype.indexOf, lastIndexOf, toLocaleString, copyWithin
- Added a tool to transpile not yet supported features using Babel (experimental)
- Improved string handling internally
- Improved Windows support
- A few statistics (since JerryScript 2.0):
- 138 commits by 13 authors
- 50 fixed issues
JerryScript 2.0
The developer team is proud to announce the release of JerryScript version 2.0
A short list of changes/improvements
- General performance and memory improvements (on ARM RPI3 ~18% speedup and memory usage reduction)
- Binary code size reduction (on ARM RPI3 ~24 kB binary size reduction with ES5.1 profile)
- Minimal API breaking changes (see Migration guide)
- Added new API functions (see API reference document)
- Added debugger support
- Created extension library which includes common use-cases, utility functions
- Added a subset of ES6 (ES2015) features:
- Arrow functions
- Class support
- Module support
- Rest parameters and enhanced object initializer support
- Template strings
- For-of support
- Symbols
- Promises
- Map/Set/Iterator built-ins
- TypedArray/ArrayBuffer/DataView built-ins
- New experimental target platforms:
- OpenWrt, Particle, and Windows
- A few statistics (since JerryScript 1.0):
- 1000+ commits by 73+ authors
- 1000+ merged Pull requests
JerryScript 1.0
This is the first stable release of JerryScript!
Officially supported platforms:
- x86-32, x86-64 and ARMv7 Linux
- NuttX on STM32F4
- RIOT on STM32F4
- Zephyr on Arduino 101 and FRDM-K64F
- mbed OS 3.0 on FRDM-K64F, STM32F4, STM32F429ZI, F401RE
- Curie BSP on Arduino 101
Experimental support for:
- ESP8266