Opened 10 months ago

Closed 7 months ago

#18221 closed enhancement (fixed)

gjs-1.78.0 and spidermonkey-115.2.1

Reported by: Douglas R. Reno Owned by: Xi Ruoyao
Priority: normal Milestone: 12.1
Component: BOOK Version: git
Severity: normal Keywords:
Cc:

Description (last modified by Xi Ruoyao)

New gjs minor version, requiring new mozjs ESR.

Change History (11)

comment:1 by Xi Ruoyao, 10 months ago

sh ../js/src/configure.in should be replaced with ../js/src/configure.

If -march is used (with either GCC or Clang) a bug will be exploited.

There are 8 test failures in the JS test suite, all seem related to using system ICU (73.2).

The JIT tests related to bug1782468-ptrdiff-veclen sometimes exhaust the memory and fail on my system.

For polkit (git master) the only change needed is sed "s/mozjs-102/mozjs-115/" -i meson.build.

comment:2 by Xi Ruoyao, 10 months ago

The change to mozjs in this firefox dev cycle seems not as much as the previous cycles. It's very easy to build gjs, but there is one test failure: https://gitlab.gnome.org/GNOME/gjs/-/merge_requests/855.

comment:3 by ken@…, 10 months ago

When this goes in, how about changing the name of the book's page to MozJS or SpiderMonkey ? It won't help with still needing to point to a firefox tarball, but I find 'JS-102.X.0' a strange name.

comment:4 by Bruce Dubbs, 10 months ago

If we change the name then the id, xreflabel, filename, descriotion, zone, etc also need to be changed as well as those packages that reference it (polkit and gjs).

comment:5 by Xi Ruoyao, 9 months ago

Summary: mozjs-115.0 (wait until new gjs!)mozjs-115.0 (wait until GNOME 45)

The next GJS release will use mozjs 115.

comment:6 by Xi Ruoyao, 7 months ago

Description: modified (diff)
Milestone: 99-Waiting12.1
Summary: mozjs-115.0 (wait until GNOME 45)gjs-1.78.0 and mozjs-115.2.1

comment:7 by Xi Ruoyao, 7 months ago

mozjs-115:

  • The Array.fromAsync() static method is now supported. The method asynchronously returns a new, shallow-copied Array instance from an async iterable, iterable, or array-like object (Firefox bug 1795816).
  • The Array and TypedArray methods Array.toReversed(), Array.toSorted(), Array.toSpliced(), Array.with(), TypedArrays.toReversed(), TypedArrays.toSorted(), and TypedArrays.with() are now supported. These methods return a new array with elements that have been shallow copied (similarly named methods without the to prefix modify the array elements in place). (Firefox bug 1811057).

mozjs-114:

  • Workers now support loading ECMAScript modules. You can load modules into workers by specifying the {type: "module"} option in the Worker and SharedWorker constructors. Worker scripts can also statically or dynamically import modules using import and import(), respectively (Firefox bug 1812591).
  • Worklets can now use import to statically import ECMAscript/JavaScript modules (Firefox bug 1812591).

mozjs-113:

  • No notable changes.

mozjs-112:

  • No notable changes.

mozjs-111:

  • No notable changes.

mozjs-110:

  • Serialization of native Error types now includes the stack property in workers when using Worker.postMessage() and structuredClone(). With this addition, cloning native error stacks now works for all methods that use the structured clone algorithm, in both the main thread and workers. (See Firefox bug 1774866 for more details.)

mozjs-109:

  • No notable changes.

mozjs-108:

  • No notable changes

mozjs-107:

  • No notable changes.

mozjs-106:

  • No notable changes.

mozjs-105:

  • Range restrictions have been relaxed on formatRange and selectRange functions for Intl.DateTimeFormat, Intl.NumberFormat, and Intl.PluralRules objects. This change now allows negative ranges (Firefox bug 1780545).

mozjs-104:

  • The methods Array.prototype.findLast(), Array.prototype.findLastIndex(), TypedArray.prototype.findLast(), and TypedArray.prototype.findLastIndex() are now supported. These are used to find the value and index (respectively) of the last element in an Array or TypedArray that matches a supplied test function. (See Firefox bug 1775026 for more details.)
  • Serialization of native Error types additionally includes the stack property when used with window.postMessage() and structuredClone() (on error types that include stack). The stack is not yet serialized when errors are sent using other APIs, such as Worker.postMessage() (See Firefox bug 1774866 for more details.)

mozjs-103:

  • Native Error types can now be serialized using the structured clone algorithm. This includes Error, EvalError, RangeError, ReferenceError, SyntaxError, TypeError, URIError and AggregateError. Serialized properties include the name, message, cause, fileName, lineNumber and columnNumber. For AggregateError the message, name, cause and errors properties are serialized. See Firefox bug 1556604 for more details.
Last edited 7 months ago by Xi Ruoyao (previous) (diff)

comment:8 by Xi Ruoyao, 7 months ago

Owner: changed from blfs-book to Xi Ruoyao
Status: newassigned

I'll try to update this earlier than other GNOME stuffs. I'm now installing them to see if gnome-shell, gnome-weather, and gnome-maps (all from GNOME 44) continue to work with new gjs.

comment:9 by Xi Ruoyao, 7 months ago

Summary: gjs-1.78.0 and mozjs-115.2.1gjs-1.78.0 and spidermonkey-115.2.1

Renamed js102 to spidermonkey at r12.0-196-g5028839fa0.

comment:10 by Xi Ruoyao, 7 months ago

Version 1.78.0

  • Closed bugs and merge requests:
    • Improved Console.log Output [!886, Sriyansh Shivam]
    • gjs:dbus / Gtk4 unit test fails: Function Gtk.SectionModel.get_section() cannot be called [#575, !889, Matt Turner]

Version 1.77.90

  • Building GJS with -fno-exceptions is now the default. To retain the previous behaviour, invoke Meson with -Dcpp_eh=default.
  • Closed bugs and merge requests:
    • testEverything fails make check [#95, !858, Marco Trevisan]
    • Using a Gio.Appinfo().launch with context may crash gjs [#553, !858, Marco Trevisan]
    • Fixed-size and Zero-terminated arrays are leaked when used as in or inout arguments with transfer none [#561, !858, Marco Trevisan]
    • Crash due to bad memory usage when calling a function taking an inout array with length parameter and transfer full [#562, !858, Marco Trevisan]
    • Various maintenance [!875, !888, Philip Chimento, Marco Trevisan, Andy Holmes]
    • README.MSVC.md: Update for SpiderMonkey-115.x [!877, Chun-wei Fan]
    • GJS returns pointers instead of numbers for function with output parameters [#570, !878, Philip Chimento, Marco Trevisan]
    • Profiler spuriously records GJS.boxed_instance and GJS.boxed_prototype [#551, !879, Philip Chimento]
    • installed-tests/js/meson: Add tests dependencies to dbus tests [!880, Marco Trevisan]
    • eslint: Make multi-line imports to always include a trailing comma [!881, Marco Trevisan]
    • Make console.error format GError correctly [#572, !883, Sriyansh Shivam]
    • Gtk: Throw an error for an invalid Template string [!884, Andy Holmes]
    • Gtk: Attempt to load Template from a string, if it appears valid [!885, Andy Holmes]
    • global: Really enable non-mutating Array methods [!887, Philip Chimento]

Version 1.77.2

  • New JavaScript features! This version of GJS is based on SpiderMonkey 115, an upgrade from the previous ESR (Extended Support Release) of SpiderMonkey 102. Here are the highlights of the new JavaScript features. For more information, look them up on MDN or devdocs.io.
  • New APIs + Arrays and typed arrays have gained findLast() and findLastIndex()

methods, which act like find() and findIndex() respectively, but start searching at the end of the array.

+ Arrays and typed arrays have gained the with() method, which returns a

copy of the array with one element replaced.

+ Arrays and typed arrays have gained toReversed(), toSorted(), and

toSpliced() methods, which act like reverse(), sort(), and splice() respectively, but return a copy of the array instead of modifying it in-place.

+ The Array.fromAsync() static method acts like Array.from() but with

async iterables, and returns a Promise that fulfills to the new Array.

  • It is now possible to build GJS with -fno-exceptions, by invoking Meson with -Dcpp_eh=none.
  • Closed bugs and merge requests:
    • Port to mozjs115 [#556, !855, !871, !874, Xi Ruoyao, Philip Chimento]
    • Various maintenance [!856, Philip Chimento]
    • arg: Preserve transfer when freeing out arrays [!857, Marco Trevisan]
    • Some values leak fixes and cleanups [!860, Marco Trevisan]
    • Does not parse hash tables in signals [#488, !861, Marco Trevisan]
    • docs: fix minor URL mistakes and behavioural omissions [!865, Andy Holmes]
    • gjs: Listen to GMemoryMonitor::low-memory-warning to trigger GC [!870, Marco Trevisan]
    • GSettings override in Gio.js may fail on construction [#418, !873, Onur Şahin]
    • Gio: Fix constructing Settings with a SettingsSchema object [!876, James Westman, Philip Chimento]

Version 1.77.1

  • Includes all fixes from 1.76.1 and 1.76.2.
  • Many documentation improvements and cleanups.
  • New API for C programs embedding GJS: gjs_context_run_in_realm(). This allows using the SpiderMonkey API, for advanced use cases, while having entered the main realm where GJS code runs. Most programs will not need to use this.
  • Closed bugs and merge requests:
    • Cleanups: Use more autopointers [!763, Marco Trevisan]
    • bug(build, tests): broken dependency cycle associated with the have_gtk4 variable [#532, !830, Dominik Opyd]
    • Better handling of callbacks during GC [!832, Sebastian Keller]
    • doc: Add Gio and GLib runAsync overrides [!833, Sonny Piers]
    • installed-tests/meson: Add tests dependencies on gjs console and GjsPrivate [!835, Marco Trevisan]
    • gi/arg: Cleanup handling of C arrays and GValue arrays [!836, Marco Trevisan]
    • Various maintenance [!838, !848, Philip Chimento]
    • doc: Fix http-client.js example [!840, Sonny Piers]
    • use meson setup instead of ambiguous meson [!842, Angelo Verlain]
    • docs: document GObject.gtypeNameBasedOnJSPath [!844, Andy Holmes]
    • docs: fix formatting for Signals.md [!845, Andy Holmes]
    • Provide API to get GTypes defined in a module [#536, !846, Philip Chimento]
    • doc: Update inroduction [!847, Sonny Piers]
    • gi/args.cpp: Fix build with Visual Studio [!854, Chun-wei Fan]
Last edited 7 months ago by Xi Ruoyao (previous) (diff)

comment:11 by Xi Ruoyao, 7 months ago

Resolution: fixed
Status: assignedclosed

GNOME 44 components continue to work fine with new gjs.

Fixed at r12.0-199-g3ce2d0c7e6.

Note: See TracTickets for help on using tickets.