Skip to content

Releases: jerryscript-project/jerryscript

v3.0.0

18 Dec 13:00
5020015
Compare
Choose a tag to compare

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

22 Jan 10:27
8ba0d1b
Compare
Choose a tag to compare

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

12 Jun 11:54
23bba1c
Compare
Choose a tag to compare

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

11 Feb 13:56
5fdeb7c
Compare
Choose a tag to compare

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

16 Oct 13:32
Compare
Choose a tag to compare

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

01 Aug 12:47
Compare
Choose a tag to compare

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

02 Sep 09:28
Compare
Choose a tag to compare

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