Skip to content

Working on v0.11.x#434

Merged
legendecas merged 1 commit intomasterfrom
release/v0.11.x
Dec 4, 2018
Merged

Working on v0.11.x#434
legendecas merged 1 commit intomasterfrom
release/v0.11.x

Conversation

@yorkie
Copy link
Copy Markdown
Member

@yorkie yorkie commented Dec 3, 2018

Now let's working on v0.11.x, and in the past 2 months, we have the following features summary.

Notable Changes

  • n-api: support thread-safe function, new.target and TypedArray.
  • n-api: upgrade the header and test suite to LTS(10.13.0).
  • child_process: introduce binary protocol to optimize the ipc performance by 5~6x.
  • promise: optimize the performance by 70% via freeze objects.
  • jerry: implement the source info, that optimizes the backtrace prints.
  • process: add signal events.
  • process: add shebang parser.
  • jerry: support the keywords class and extends.
  • os: support {get,set}Priority methods.

Modules

N-API

  • n-api: asserts on execution thread
  • n-api: napi_make_callback triggers next tick
  • n-api: fix complete callback segv/ticks on async-work
  • n-api: code is optional on create error
  • n-api: implement new.target
  • n-api: thread safe functions
  • n-api: update headers/test suites to LTS(10.13.0)
  • n-api: ArrayBuffer/TypedArray support

Events

  • events: optimize the create object method
  • events: emit newListener on new listener
  • events: emit 'removeListener' after remove listener
  • events: limit listener number
  • events: cannot read property 'newListener' of undefined

JerryScript

  • debugger: Error.stack deal with top level source
  • jerry: escape slash in JSON.stringify()
  • timer: update looper time before creating timer
  • jerry: ref to function self should not create new object
  • jerry: pass regression-test-issue-2105 for heapdump
  • jerry: set prototype/constructor for external functions
  • jerry: merge a59cf4f from upstream to optimize the function call
  • jerry: use separate profile instead of polluting jerry
  • jerry: implement source info and remove function_name feature
  • jerry: add class basic support
  • jerry: Date.now shall return an integer
  • jerry: reduce the argument count of ecma_op_object_get_property_names
  • jerry: finalize hint of array buffers
  • jerry: rework jerry_parse function
  • jerry: pass and enable jerry-test-suite
  • jerry: implement ES2015 class feature (part II.)

Process

  • process: add signal events support
  • process: add shebang parser supports
  • process: handle all tick callbacks in the same tick when tick callback
  • process: invokes setImmediate on uv check phase
  • process: set immediate shall start an idle handle to activate uv_loop

Others

  • mqtt: optimize stability
  • promise: emit unhandledRejection on process
  • http, https: clean the writableState buffer before destroy
  • mqtt: clean up the keepalive timer when disconnecting
  • websocket: fix the crash due to http exception
  • tls, mqtts: fix connection not be actively disconnected
  • promise: optimize the performance on .then and static resolve
  • mqtt: add an internal state isSocketConnected
  • dbus: correct the buffer copy size in encoding message
  • tuv: drop code path for epoll_pwait-less kernels
  • uv, os: implement os.{get,set}Priority functions

Next Version

At the newer v0.11.x, the keyword is the "community", we gonna resolve the following issues:

  • How to work together with Node.js core, include N-API and core API implementations.
  • How to work together with Node.js community, namely NPM, need to view(filter) which packages are available and proper for low-end devices, and make some pop packages work on ShadowNode and these devices.
  • How to work together with JerryScript core.

The other hand, for developers we will continue to optimize the development experience by the following goals:

  • Support the release of more platforms: armhf and aarch64.
  • Support the Chrome/VSCode Debugger for jerryscript-debugger-ts.
  • Install via snapcraft on ubuntu boards directly.

@yorkie yorkie requested review from a team, algebrait and fighterkin December 3, 2018 15:06
@yorkie yorkie added this to the v0.10.0 milestone Dec 3, 2018
@yorkie yorkie added the minor minor changes label Dec 3, 2018
@yorkie yorkie requested a review from legendecas December 3, 2018 15:17
@legendecas legendecas merged commit 9ceefdb into master Dec 4, 2018
@yorkie yorkie deleted the release/v0.11.x branch December 4, 2018 02:37
qile222 pushed a commit that referenced this pull request Dec 13, 2018
* master: (35 commits)
  https: client request doesn’t define default encoding (#440)
  n-api: data pointer was NULL on getting typed array info (#441)
  os: build bcast address interface. (#439)
  assert: better deepStrictEqual assertion (#435)
  working on v0.11.x (#434)
  process: memory leaks on recursive ticking (#433)
  uv, os: implement os.{get,set}Priority functions (#409)
  jerry: implement ES2015 class feature (part II.) (#428)
  test: fix wrong travis diff target introduced by #425 (#429)
  jerry: pass and enable jerry-test-suite (#425)
  n-api: ArrayBuffer/TypedArray support (#419)
  deps: upgrade the mbedtls to 2.13.0-apache (#384)
  jerry: rework jerry_parse function (#422)
  jerry: finalize hint of array buffers (#421)
  jerry: reduce the argument count of ecma_op_object_get_property_names (#424)
  n-api: update headers/test suites to LTS(10.13.0) (#416)
  jerry: Date.now shall return an integer (#418)
  n-api: thread safe functions (#411)
  util: IOTJS_ASSERT prints stack trace on macOS (#415)
  process: set immediate shall start an idle handle to activate uv_loop (#417)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

minor minor changes versioning

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants