summaryrefslogtreecommitdiff
path: root/NEWS
diff options
context:
space:
mode:
authorPhilip Chimento <philip.chimento@gmail.com>2022-02-13 15:04:20 -0800
committerPhilip Chimento <philip.chimento@gmail.com>2022-02-13 15:04:20 -0800
commita4a17e6b4df58bbfc08132e90e5910bd46c2a2cf (patch)
tree4864e6628d9e37e4a94f83cc024be306da2159e8 /NEWS
parentaeeed64ebf493d674e28d442c3855bc012656f23 (diff)
downloadgjs-a4a17e6b4df58bbfc08132e90e5910bd46c2a2cf.tar.gz
release: Prepare for 1.71.11.71.1
Diffstat (limited to 'NEWS')
-rw-r--r--NEWS105
1 files changed, 103 insertions, 2 deletions
diff --git a/NEWS b/NEWS
index 85c92dd8..5240ef96 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,5 @@
-NEXT
-----
+Version 1.71.1
+--------------
- New JavaScript features! This version of GJS is based on SpiderMonkey 91, an
upgrade from the previous ESR (Extended Support Release) of SpiderMonkey 78.
@@ -20,6 +20,8 @@ NEXT
+ Regular expressions add the `d` flag, which if defined causes the
resulting match object to have an `indices` property giving the positions
in the string where capturing and named groups matched.
+ + `static { ... }` blocks in classes allow initialization of classes at the
+ time of creation of the class.
* New APIs
+ Arrays, strings, and typed arrays have gained the `at()` method, which
@@ -44,6 +46,8 @@ NEXT
* New behaviour
+ More numbering systems are supported in `Intl.NumberFormat`.
+ + Top-level await (https://v8.dev/features/top-level-await) allows you to
+ use `await` statements outside of an `async` function in an ES module.
+ There are a lot of minor behaviour changes as SpiderMonkey's JS
implementation conforms ever closer to existing ECMAScript standards and
adopts new ones. For complete information, read the Firefox developer
@@ -62,6 +66,103 @@ NEXT
https://developer.mozilla.org/en-US/Firefox/Releases/90#JavaScript
https://developer.mozilla.org/en-US/Firefox/Releases/91#JavaScript
+- It's now possible to pass BigInt values to GObject-introspected functions with
+ 64-bit parameters. This way, you can finally work with large numbers that
+ cannot be accurately stored as a JS Number value and pass them correctly into
+ C. For example, `GLib.Variant.new_int64(2n ** 62n)`.
+
+- New API: GJS now has a standards-compliant `setTimeout()` and `setInterval()`.
+ These can now be used as in web browsers, while still integrating with GLib's
+ main loop.
+
+- New API: `Cairo.Context.prototype.textExtents()` which makes the
+ `cairo_text_extents()` C function available to JavaScript.
+
+- New overrides: `GLib.MAXINT64_BIGINT`, `GLib.MININT64_BIGINT`, and
+ `GLib.MAXUINT64_BIGINT` are BigInt-typed versions of `GLib.MAXINT64` etc.
+
+- It's now possible to use a regular `constructor()` in GObject classes instead
+ of an `_init()` method.
+
+- It's now possible to use class fields in GObject classes.
+
+- `Gio._promisify()` now tries to guess the name of the finish function, if it
+ is omitted.
+
+- It's now possible to monkeypatch methods on the prototype of a GObject
+ interface. The most common use case for this is probably promisifying methods
+ on `Gio.File`, so you can now do things like
+ `Gio._promisify(Gio.File.prototype, 'read_async')` without resorting to the
+ `Gio._LocalFilePrototype` workaround.
+
+- GObject interfaces are now enumerable, so you can now do things like
+ `Object.keys(Gio.File.prototype)` and get a list of the methods, like you can
+ with other GObject types.
+
+- Improvements to the performance of promises, making them more predictable
+ under higher load.
+
+- Several performance and type-safety improvements.
+
+- Closed bugs and merge requests:
+
+ * [Mainloop 1/3] Add custom GSource for promise queueing [#1, !557, Evan
+ Welsh, Marco Trevisan]
+ * Upgrade to SpiderMonkey 91 [#413, !632, !687, Evan Welsh, Philip Chimento,
+ Chun-wei Fan]
+ * Promise rejections from signal handlers are silent [#417, !632, Philip
+ Chimento]
+ * Add a binding for GObject.Object.new [#48, !664, Evan Welsh, Philip
+ Chimento]
+ * Object resolve should consider prototypes of GObject interfaces [#189, !665,
+ Evan Welsh, Philip Chimento]
+ * File corruption on file.replace_contents_async [#192, !665, Evan Welsh]
+ * Overriding inherited interface vfuncs clobbers base class implementation
+ [#89, !671, Evan Welsh]
+ * Errors in __init__.js are silenced [#343, !672, Evan Welsh]
+ * Allocate structs which contain pointers [!674, Evan Welsh]
+ * [Mainloop 3/3] WHATWG Timers [!677, Evan Welsh]
+ * [Mainloop 2/3] Implement "implicit" mainloop which only blocks on unresolved
+ imports [!678, Evan Welsh]
+ * Correctly chain constructor prototypes to enable static inheritance [!679,
+ Evan Welsh]
+ * Upgrade CI to Fedora 34 [!683, !684, Philip Chimento]
+ * Various maintenance [!685, !691, !709, !719, Philip Chimento]
+ * doc: Add Junction to applications written in GJS [!688, Sonny Piers]
+ * C++ argument cache [!689, Marco Trevisan, Philip Chimento]
+ * Gio: Make _promisify to guess the finish function by default [!692, Marco
+ Trevisan]
+ * Fails to build with Meson 0.60.2 [#446, !694, !705, Jan Beich, Eli Schwartz]
+ * doc: Add Oh My SVG to standalone applications [!695, Sonny Piers]
+ * ci: Ensure forever callbacks do not leak [!698, Evan Welsh]
+ * gi: Refactor resolving prototypes in GIWrapperInstance constructors [!699,
+ Evan Welsh]
+ * Class fields don't work with GObject classes [#331, !700, Evan Welsh]
+ * gi: Add enumeration hook for Interface prototypes [!701, Evan Welsh]
+ * Fix Visual Studio builds on master [!706, Chun-wei Fan]
+ * tools: Add iwyu-tool as a binary name for iwyu [!707, Evan Welsh]
+ * gi: Allow GObject.Value boxed type in nested contexts [!708, Evan Welsh,
+ Philip Chimento]
+ * Implemented check for null out-params in some functions in context.cpp
+ [!710, Nasah Kuma]
+ * Broken links on the doc/Home.md file [#458, !711, Andy Holmes]
+ * Accept BigInt values as input for 64-bit parameters to introspected
+ functions [!712, Marco Trevisan, Philip Chimento]
+ * Enable top-level await [!713, Evan Welsh]
+ * modules: Remove double '//' from internal module URIs [!714, Evan Welsh]
+ * modules: Ensure ImportError is an instance of globalThis.Error [!715, Evan
+ Welsh]
+ * global: Enable WeakRefs [!716, Evan Welsh]
+ * global: Enable static class blocks [!717, Evan Welsh]
+ * overrides: Allow users to implement construct-only props with getters [!718,
+ Evan Welsh]
+ * cairo: Add binding for cairo_text_extents() [!720, Philip Chimento]
+ * Non-integer numbers can not be converted to (u)int64 [#459, !721, Philip
+ Chimento]
+ * Print error cause when logging an error [#454, !722, Philip Chimento]
+ * GtkCustomSorter callbacks receives undefined params [#460, !723, Philip
+ Chimento]
+
Version 1.70.1
--------------