Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixes for 2.6.0 release #2212

Closed
21 tasks done
svaarala opened this issue Dec 9, 2019 · 4 comments
Closed
21 tasks done

Fixes for 2.6.0 release #2212

svaarala opened this issue Dec 9, 2019 · 4 comments
Milestone

Comments

@svaarala
Copy link
Owner

svaarala commented Dec 9, 2019

@svaarala svaarala added this to the v2.6.0 milestone Dec 9, 2019
@warmwaffles
Copy link

@svaarala is this still relevant since 3.x changes are on the horizon?

@svaarala
Copy link
Owner Author

svaarala commented Jul 7, 2020

2.x will get maintenance for bugs and security issues probably for a long while, because the update to 3.x will not be seamless.

@warmwaffles
Copy link

@svaarala cool, was just picking through the repository trying to figure out what changed so I can prepare for it.

@svaarala
Copy link
Owner Author

svaarala commented Jul 7, 2020

Main changes so far (some merged, some planned):

  • Rewrite of object representation and property algorithms to be faster, more ES2015+ compliant, and enable implementing data structures like Map etc
  • Rewrite of Python tooling into Node.js, more dog-fooding of JS, and the tooling will also run with Duktape to improve portability of tooling
  • Switch from CESU-8 string representation to WTF-8, this is not visible to ECMAScript code but C code will then see proper UTF-8 strings rather than CESU-8 surrogate pairs for non-BMP codepoints, this simplifies corner case handling in C code (although it's a bit awkward for Duktape internals which must present the surrogate pairs to script code)

With the window open to break stuff, priority is on changes that have compatibility impact but are necessary going forward.

API changes will be minimal so the changes in application code won't be difficult in this sense. But one must be aware of changes under the hood, for example the string representation change affects native code a bit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants