Tags give the ability to mark specific points in history as being important
  • 1.68.1 protected   Version 1.68.1 - Many stability fixes due to refactoring how disposed GObjects are handled. Special thanks to Marco Trevisan for the substantial effort. - Closed bugs and merge requests: * Accessing GLib.ByteArray throws [#386, !590, Philip Chimento] * Missing hyphen and camelCase getters for CONSTRUCT_ONLY GObject properties defined in JavaScript [#391, !591, Philip Chimento] * gnome-shell crashes on deferencing a destroyed wrapper object [#395, !593, !617, Marco Trevisan] * GNOME crash "JS object wrapper for GObject 0x563bf88f5f50 (GSettings) is being released..." [#294, !593, !617, Marco Trevisan] * Finalizing wrapper for an already freed object [#399, !593, !617, Marco Trevisan] * Calling implemented methods or getters on disposed objects returns function pointers [#396, !594, Marco Trevisan] * overrides/Gio: Fix _LocalFilePrototype [!595, Florian Müllner] * doc: Fix documentation for dynamic imports [!596, Sonny Piers] * Added the meson installation command in dependencies [!597, Veena Nagar] * Upgrade codespell to 2.0.0 in CI [#367, !598, Kajal Sah] * cairo: Add missing semi-colons from dummy class declarations [!599, Matt Turner] * Fixed System.addressOfGObject and System.dumpHeap missing from System ES module [!600, Philip Chimento] * `Error: Failed to convert GValue to a fundamental instance` in Gtk.EventControllerLegacy [#398, !601, Marco Trevisan] * doc: add an example to get relative filename and dirname with import.meta.url [!603, Sonny Piers] * wrapperutils: Use native ostringstream pointer to string conversion [!604, Marco Trevisan] * testFundamental: Add more tests ensuring we properly handle subtypes [!602, Marco Trevisan] * Some simple Visual Studio fixes for master [!612, Chun-wei Fan] * Using GFileMonitor crashes GNOME Shell with toggling down object error [#297, !613, !617, Marco Trevisan] * Deadlock on toggle queue due to GWeakRef [#404, !613, !617, Marco Trevisan] * Using g_thread_join from JS is crashing [#406, !613, !617, Marco Trevisan] * GObject: Ensure to call setter methods for construct-only properties [!614, Carlos Garnacho]
  • 1.68.0 protected   Version 1.68.0 - Closed bugs and merge requests: * 40.rc session crashes in gjs on unlocking (sometimes) [#387, !588, Marco Trevisan] * 40.rc: installed-tests installed despite explicitly disabled [#388, !589, Philip Chimento]
  • 1.67.3 protected   Version 1.67.3 - Closed bugs and merge requests: * System.exit() doesn't work inside signal handler [#19, !565, Evan Welsh] * GdkEvent subtypes trigger assert in Gtk4 [#365, !566, Evan Welsh] * Replace g_memdup [#375, !567, Philip Chimento] * 1.67.2: build fails with gcc 11 [#376, !568, Philip Chimento] * Warnings introspecting array of boxed type as signal argument. [#377, !569, Carlos Garnacho] * Add list command to debugger [!571, Nasah Kuma] * Assertion failure in enqueuePromiseJob [#349, !572, Philip Chimento] * in interpreter Ctrl-c should exit inner shell if stuck [#98, !574, Philip Chimento] * Compiler ambiguity in enum-utils.h on operator overloading [#368, !576, Chun-wei Fan] * Fix GJS_DISABLE_JIT not fully disabling JIT [!575, Ivan Molodetskikh] * Error running gjs built with prefix: g_object_new_is_valid_property: object class 'GjsContext' has no property named 'program-path' [#381, !577, Sonny Piers] * Various maintenance [!578, !586, Philip Chimento] * Add some profiling labels [!579, Ivan Molodetskikh] * Some installed tests (introspection) segfault when GTK isn't available [#383, !580, Olivier Tilloy] * Installed tests do not install the js/modules subdir [#384, !581, Olivier Tilloy] * Installed tests fail because expected path doesn't include project name [#385, !582, Olivier Tilloy] * 1.67.2: Regress test hangs / timeouts on i686 [#379, !583, Marco Trevisan] * object: Do not call any function on disposed GObject pointers [!585, Marco Trevisan]
  • 1.67.2 protected   Version 1.67.2 - New language features: Importing ES modules is now supported, both statically with import statements and dynamically with the import() function. For more information on how to use modules, see: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import Four built-in modules exist: cairo, gettext, gi, and system. Except for gi, they work similarly to the old-style modules imports.cairo, imports.gettext, and imports.system. Consult the documentation in doc/Modules.md on how to use them. - The debugger now has a "list" command which works very similarly to its GDB equivalent. - New API: GObject.ParamSpec.jsobject() works like the other GObject.ParamSpec types, and allows you to have a GObject property whose value is a JavaScript object (plain object, Date, Array, etc.) - New API: System.programPath is the name of the JS program that GJS is running, or null if there isn't one (for example, in the interactive interpreter.) - New API: System.programArgs is an array of arguments given to the JS program. It is the same as ARGV but is consistently always present. (ARGV was not defined in the interactive interpreter or when embedding GJS in a C program.) - Closed bugs and merge requests: * Support Native JSObject GType for Signals and Properties [!305, Marco Trevisan, Philip Chimento] * Add 'system.programPath' API. [!443, Evan Welsh] * ESM: Enable static imports. (Part 3) [!450, Evan Welsh, Philip Chimento] * Refactor ARGV handling and add `system.programArgs` [!455, Evan Welsh, Philip Chimento] * Function make the object more C++ friendly [!514, Marco Trevisan] * ESM: Enable dynamic imports. [!525, Evan Welsh, Philip Chimento] * Remove JSClass macros from Ns, GType, and Cairo types [!549, Philip Chimento] * various documentation improvements [!551, Sonny Piers] * Replace remaining mentions of window with globalThis [!552, Sonny Piers] * add .editorconfig file [!553, Sonny Piers] * Display current line of source code when displaying current frame in debugger [!554, Nasah Kuma] * doc: add Clapper and Flatseal to thirty party applications written in GJS [!555, Sonny Piers] * Multiline template literals are missing newlines when entered at interactive prompt [#371, !556, Ales Huzik] * function: Remove JSClass macros [!558, Philip Chimento, Marco Trevisan] * Missing classes on global. [#372, !559, Philip Chimento] * arg: fix build failure with glib master [!560, Michael Catanzaro] * Update to Jasmine 2.9.1 [!561, Evan Welsh] * Various maintenance [!562, Philip Chimento] * Add list command to debugger [!563, Nasah Kuma] * Upgrade to Jasmine 3.6.0 [!564, Evan Welsh] - Various refactors in preparation for BigInt support in gobject-introspection [Marco Trevisan]
  • 1.67.1 protected   Version 1.67.1 - The debugger now has a "backtrace full" command which works very similarly to its GDB equivalent. - The GObject.ParamFlags.CONSTRUCT_ONLY flag is now correctly enforced, when using it on GObject classes defined in JavaScript. This might break code that was incorrectly trying to set a property that it had previously defined as construct-only. The workaround is to remove the CONSTRUCT_ONLY flag. - Fixed exception when calling GObject.Type(). - Several performance improvements. - Progress on ES Modules. - Closed bugs and merge requests: * gobject: Handle CONSTRUCT_ONLY flag [!377, Florian Müllner] * Add native module registry to global (Part 2) [!456, Evan Welsh] * testGIMarshalling: Expand test coverage for flags [!479, Simon McVittie] * Private Objects: Use native allocators and structs [!494, Marco Trevisan] * Pass-by-reference GValue arguments do not work right [#74, !496, !507, Marco Trevisan] * Templated-data-only GjsAutoPointer (and use it more around) [!504, Marco Trevisan] * Error in function "_init()" in module "modules/overrides/GObject.js" [#238, !508, Nina Pypchenko] * fails to build on 32-bit [#357, !511, Michael Catanzaro] * Revert "arg-cache: Save space by not caching GType" [!512, Jonas Dreßler] * gi/wrapperutils: Move gjs_get_string_id() into resolve() implementations [!513, Jonas Dreßler] * updates on eslint configuration [!517, Nasah Kuma] * Update CONTRIBUTING.md about the runner system failure [!518, Nasah Kuma] * Switch to eslint-plugin-jsdoc and remove lint-condo [!520, #359, Evan Welsh, Philip Chimento] * gi: Check property before access [!521, Florian Müllner] * testGIMarshalling: Actually run the GPtrArray utf8 tests [!522, Marco Trevisan] * Add more documents for "imports" and "imports.gi" [!526, wsgalaxy] * overrides/Gtk: Set BuilderScope in class init [!527, Florian Müllner] * gi/arg-cache: Only skip array length parameter once [!528, Florian Müllner] * Copyright conformance with Reuse Software spec [!529, Philip Chimento, Evan Welsh] * Remove JSClass macros [!530, !533, !537, Philip Chimento] * Avoid pulling from DockerHub in CI [!531, Philip Chimento, Marco Trevisan] * Use GNOME-specific rules with cppcheck [!532, Philip Chimento] * Fedora 33 CI images [!535, Philip Chimento] * Fix IWYU bugs [!536, Philip Chimento] * Reduce bandwidth usage in CI, and pick a more accurate base for diff checks [!538, Philip Chimento] * debugger: Make '$$' mean the last value [!539, Philip Chimento] * Add codespell CI job [#362, !540, !541, !547, Björn Daase] * Various maintenance [!542, !548, Philip Chimento] * fix readline build on certain systems [!543, Jakub Kulík] * build: Require gobject-introspection 1.66.0 [!546, Philip Chimento] * Add backtrace full command to debugger [#208, !550, Nasah Kuma] - Various refactors for type safety [Marco Trevisan] - Various maintenance [Philip Chimento]
  • 1.66.2 protected   Version 1.66.2 - Performance improvements and crash fixes backported from the development branch. - Bug fixes enabling use of GTK 4. - Closed bugs and merge requests: * Error in function "_init()" in module "modules/overrides/GObject.js" [#238, !508, Nina Pypchenko] * Revert "arg-cache: Save space by not caching GType" [!512, Jonas Dreßler] * gi/wrapperutils: Move gjs_get_string_id() into resolve() implementations [!513, Jonas Dreßler] * overrides/Gtk: Set BuilderScope in class init [!527, Florian Müllner] * fix readline build on certain systems [!543, Jakub Kulík]
  • 1.64.5 protected   Version 1.64.5 - Performance improvements and crash fixes backported from the development branch. - Bug fixes enabling use of GTK 4. - Closed bugs and merge requests: * Error in function "_init()" in module "modules/overrides/GObject.js" [#238, !508, Nina Pypchenko] * gi/wrapperutils: Move gjs_get_string_id() into resolve() implementations [!513, Jonas Dreßler] * overrides/Gtk: Set BuilderScope in class init [!527, Florian Müllner] * fix readline build on certain systems [!543, Jakub Kulík]
  • 1.66.1 protected   Version 1.66.1 - Closed bugs and merge requests: * Throws on Unsupported caller allocates [!495, Marco Trevisan] * arg: Fix MIN/MAX safe big integer limits [!492, Marco Trevisan] * Fix leak when virtual function is unimplemented [!498, Evan Welsh] * Cannot compile GJS 1.66.0 on macOS with llvm/clang 10.0.1 [#347, !499, Marc-Antoine Perennou] * console: fix typo in command-line option [!500, Andy Holmes] * Prevent passing null pointers when not nullable [!503, Evan Welsh] * Passing fundamentals to functions no longer works [#353, !506, Evan Welsh] - Fixed examples/clutter.js to work with more recent Clutter [Philip Chimento]
  • 1.66.0 protected   Version 1.66.0 - No change from 1.65.92.
  • 1.65.92 protected   Version 1.65.92 - Closed bugs and merge requests: * CI: Make iwyu idempotent [!481, Simon McVittie] * Enum and flags test failing in s390x [#319, !480, Simon McVittie] * Bring back Visual Studio build support for GJS master [!482, Chun-wei Fan] * gjs_dbus_implementation_emit_signal: don't try to unref NULL [!482, Adam Williamson] * doc: add third party applications [!484, Sonny Piers] * boxed: Initialize all the private BoxedInstance members [!487, Marco Trevisan] * object: Fix GjsCallBackTrampoline's leaks [!490, Marco Trevisan] * Various maintenance [!485, Philip Chimento] * Crash using shell's looking glass [#344, !486, Marco Trevisan]
  • 1.65.91 protected   Version 1.65.91 - Closed bugs and merge requests: * Crash in gjs_dbus_implementation_flush() [#332, !471, Andy Holmes] * eslint: Bump ecmaScript version [!473, Florian Müllner] * Documentation: add documentation for ENV variables [!474, Andy Holmes] * Fix build for master on Windows (due to SpiderMonkey-78.x upgrade) [!475, Chun-wei Fan] * Argument cache causes test failure in armhf [#342, !476, Marco Trevisan] * Argument cache causes test regressions in s390x [#341, !477, Simon McVittie] * ByteArray.toString use-after-free [#339, !472, Evan Welsh] * Crash accessing `vfunc_` methods of `Clutter.Actor`s [#313, !478, Evan Welsh] - Various refactors for type safety [Marco Trevisan]
  • 1.65.90 protected   Version 1.65.90 - GJS now has an optional, Linux-only, dependency on libsysprof-capture-4 instead of libsysprof-capture-3 for the profiler functionality. - New API: gjs_coverage_enable() allows the collection of code coverage metrics. If you are using GjsCoverage, it is now required to call gjs_coverage_enable() before you create the first GjsContext. Previously this was not necessary, but due to changes in SpiderMonkey 78 you must now indicate in advance if you want to collect code coverage metrics. - New JavaScript features! This version of GJS is based on SpiderMonkey 78, an upgrade from the previous ESR (Extended Support Release) of SpiderMonkey 68. Here are the highlights of the new JavaScript features. For more information, look them up on MDN or devdocs.io. * New language features + A new regular expression engine, supporting lookbehind and named capture groups, among other things * New syntax + The ?? operator ("nullish coalescing operator") is now supported + The ?. operator ("optional chaining operator") is now supported + Public static class fields are now supported + Separators in numeric literals are now supported: for example, 1_000_000 * New APIs + String.replaceAll() for replacing all instances of a string inside another string + Promise.allSettled() for awaiting until all Promises in an array have either fulfilled or rejected + Intl.Locale + Intl.ListFormat + Intl.RelativeTimeFormat.formatToParts() * New behaviour + 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 release notes: https://developer.mozilla.org/en-US/Firefox/Releases/69#JavaScript https://developer.mozilla.org/en-US/Firefox/Releases/70#JavaScript https://developer.mozilla.org/en-US/Firefox/Releases/71#JavaScript https://developer.mozilla.org/en-US/Firefox/Releases/72#JavaScript https://developer.mozilla.org/en-US/Firefox/Releases/73#JavaScript https://developer.mozilla.org/en-US/Firefox/Releases/74#JavaScript https://developer.mozilla.org/en-US/Firefox/Releases/75#JavaScript https://developer.mozilla.org/en-US/Firefox/Releases/76#JavaScript https://developer.mozilla.org/en-US/Firefox/Releases/77#JavaScript https://developer.mozilla.org/en-US/Firefox/Releases/78#JavaScript * Backwards-incompatible changes + The Object.toSource() method has been removed + The uneval() global function has been removed + A leading zero is now never allowed for BigInt literals, making 08n and 09n invalid similar to the existing error when legacy octal numbers like 07n are used + The Function.caller property now has the value of null if the caller is a strict, async, or generator function, instead of throwing a TypeError - Backwards-incompatible change: Paths specified on the command line with the --coverage-prefix argument, are now always interpreted as paths. If they are relative paths, they will be resolved relative to the current working directory. In previous versions, they would be treated as string prefixes, which led to unexpected behaviour when the path of the script was absolute and the coverage prefix relative, or vice versa. - Closed bugs and merge requests: * Port to libsysprof-capture-4.a [!457, Philip Withnall, Philip Chimento] * CI: Switch ASAN jobs to runners tagged so [!461, Bartłomiej Piotrowski] * Rework global code to support multiple global "types". (Part 1) [!453, Evan Welsh] * SpiderMonkey 78 [#329, !462, !458, Evan Welsh, Philip Chimento] * GIArgument inlines [!460, Marco Trevisan, Philip Chimento] * gjs stopped building on 32 bits [#335, !463, Marco Trevisan, Philip Chimento] * Improve performance of argument marshalling [#70, !48, Giovanni Campagna, Philip Chimento] * Build failure on 32-bit [#336, !465, Michael Catanzaro] * Various maintenance [!464, Philip Chimento] * arg-cache.cpp: Fix build on Visual Studio [!466, Chun-wei Fan] * [regression] Super+A crashes gnome-shell [#338, !467, Philip Chimento] * Generating coverage information seems to be broken [#322, !470, Philip Chimento] - Various refactors for type safety [Marco Trevisan] - Various maintenance [Philip Chimento]
  • 1.65.4 protected   Version 1.65.4 - New language features! Public class fields are now supported. See for more information: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/Public_class_fields - Closed bugs and merge requests: * arg.cpp: Add required messages for static_assert (fix building on pre-C++17) [!441, Chun-wei Fan] * Add include-what-you-use CI job [!448, !449, Philip Chimento] * Let's enable class fields! [!445, Evan Welsh] * examples: add GListModel implementation [!452, Andy Holmes] * Update ESLint CI image. [!451, Evan Welsh] * function: Only get function name if we actually warn [!454, Jonas Dreßler] * Split print into native library. [!444, Evan Welsh] * Various maintenance [!459, Philip Chimento] - Various refactors for type safety [Marco Trevisan]
  • 1.64.4 protected   Version 1.64.4 - Closed bugs and merge requests: * Fix CI failure caused by GTK4 update [!447, Philip Chimento]
  • 1.65.3 protected   Version 1.65.3 - In GTK 4, Gtk.Widget is now an iterable object which iterates through its child widgets. (`for (let child of widget) { ... }`) - Closed bugs and merge requests: * Installed tests are not in preferred directories [#318, !427, Ross Burton] * Build new test CI images with Buildah [!429, Philip Chimento] * CI fixes for new test images [!433, Philip Chimento] * Various maintenance [!428, Philip Chimento] * Fix dead link [!436, prnsml] * overrides/Gtk: Make GTK4 widgets iteratable [!437, Florian Müllner] * arg.cpp: Fix building on Visual Studio [!439, Chun-wei Fan] * Separate closures and vfuncs [!438, Philip Chimento] * Improvements to IWYU script [!435, Philip Chimento] * Various refactors in preparation for ES modules [!440, Evan Welsh, Philip Chimento] - Various refactors for type safety [Marco Trevisan]
  • 1.64.3 protected   Version 1.64.3 - Closed bugs and merge requests: * arg: Don't sink GClosure ref if it's a return value [!426, Philip Chimento] * overrides/Gtk: Adjust gtk_container_child_set_property() check [!431, Florian Müllner] * 1.63.3: test suite is failing [#298, !430, Philip Chimento] * Simplify private pointers [!434, Philip Chimento] - Various backports: * Use memory GSettings backend in tests [Philip Chimento] * Update debug message from trimLeft/trimRight to trimStart/trimEnd [Philip Chimento] * Various fixes for potential crash and memory issues [Philip Chimento]
  • 1.58.8 protected   Version 1.58.8 - Various backports * 1.63.3: test suite is failing [Philip Chimento] * Various fixes for potential crash and memory issues [Philip Chimento]
  • 1.65.2 protected   Version 1.65.2 - It's now possible to omit the getter and setter for a GObject property on your class, if you only need the default behaviour (reading and writing the property, respecting the default value if not set, and implementing property notifications if the setter changes the value.) This should cut down on boilerplate code and any mistakes made in it. - The log level of exception messages has changed. Previously, some exceptions would be logged as critical-level messages even when they were logged intentionally with logError(). Now, critical-level messages are only logged when an exception goes uncaught (programmer error) and in all other cases a warning-level message is logged. - Closed bugs and merge requests: * build: Use '!=' instead of 'is not' to compare string [Robert Mader, !414] * Various maintenance [Philip Chimento, !413, !425] * doc fixes [Sonny Piers, !415, !416] * jsapi-util: Make log levels of exceptions consistent [Philip Chimento, !418] * Too much recursion error accessing overrided gobject interface property from a subclass [Philip Chimento, #306, !408] * JS: migrate from the global `window` to `globalThis` [Andy Holmes, !423] * doc: Fix a typo [Matthew Leeds, !424]
  • 1.64.2 protected   Version 1.64.2 - Closed bugs and merge requests: * GList of int not correctly demarshalled on 64-bit big-endian [Philip Chimento, Simon McVittie, #309, !417, !419] * Fix template use in GTK4 [Florian Müllner, !420] * Don't crash if a callback doesn't return an expected array of values [Marco Trevisan, !405] * Crash passing integer to strv in constructor [Evan Welsh, #315, !422] * Skip some tests if GTK can't be initialised [Ross Burton, !421] - Various backports: * Fix gjs_log_exception() for InternalError [Philip Chimento] * Fix signal match mechanism [Philip Chimento]
  • 1.58.7 protected   Version 1.58.7 - Various backports: * Don't crash if a callback doesn't return an expected array of values [Marco Trevisan] * GList of int not correctly demarshalled on 64-bit big-endian [Philip Chimento, Simon McVittie] * Crash passing integer to strv in constructor [Evan Welsh] * Ignore format-nonliteral warning [Marco Trevisan]