Skip to content
Tags give the ability to mark specific points in history as being important
  • 1.68.6
    Version 1.68.6
    
    - Build and compatibility fixes backported from the development branch.
    
    - Closed bugs and merge requests:
      * package: Reverse order of running-from-source checks [!734, Philip
        Chimento]
    
    - Fix build error on Darwin [Evan Miller]
  • 1.70.2
    Version 1.70.2
    
    - Build and compatibility fixes backported from the development branch.
    
    - Closed bugs and merge requests:
      * package: Reverse order of running-from-source checks [!734, Philip
        Chimento]
    
    - Fix build error on Darwin [Evan Miller]
  • 1.72.0
    Version 1.72.0
    
    - No changes from release candidate 1.71.90.
  • 1.71.90
    Version 1.71.90
    
    - Closed bugs and merge requests:
      * Cairo test broken with commit ea52cf92 [#461, !724, Philip Chimento]
      * native: Convert to singleton class [!725, Nasah Kuma]
      * Checking `instanceof` for primitive types may lead to a crash or
        error [#464, !726, Marco Trevisan]
      * Change the GObject Introspection development branch [!727, Emmanuele
        Bassi]
      * gi_marshalling_tests_long_in_max test fails on i686 [#462, !728,
        Philip Chimento, Evan Welsh]
      * GNOME Shell crashes at startup with the AppIndicator extension
        enabled [#466, !729, Marco Trevisan]
      * Instances of classes implementing interfaces can override functions
        for all implentations of an interface [#467, !730, Evan Welsh]
      * package: Reverse order of running-from-source checks [!734, Philip
        Chimento]
      * Various maintenance [!735, Philip Chimento]
      * Various maintenance [!736, Evan Welsh]
  • 1.71.1
    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.
      Here are the highlights of the new JavaScript features.
      For more information, look them up on MDN or devdocs.io.
    
      * New syntax
        + Private class fields and methods are now supported. They start
          with `#` and are not accessible outside the class in which they are
          defined.
        + The `??=` logical nullish assignment operator, which assigns the
          right-hand side value to the left-hand side variable if the
          variable is null or undefined.
        + The `&&=` logical-and assignment operator, which assigns the
          right-hand side value to the left-hand side variable if the variable is
          truthy.
        + The `||=` logical-or assignment operator, which assigns the
          right-hand side value to the left-hand side variable if the variable is
          falsey.
        + `export * as ... from ...` can be used to aggregate modules.
        + 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 does the same thing as indexing with square brackets but also
          allows negative numbers, which count from the end, as in Python.
        + `Promise.any()`, which is similar to `Promise.race()` but resolves
          on the first successful sub-promise, instead of the first to resolve.
        + `Error()` now takes an options object as its second parameter,
          which may contain a `cause` property. This option is used to indicate when
          an error is caused by another error, but the first error is caught during
          error handling.
        + `WeakRef`, which allows you to hold a reference to an object while
          still allowing it to be garbage collected.
        + `dateStyle`, `timeStyle`, `fractionalSecondDigits`, and
          `dayPeriod` are now accepted as options in `Intl.DateTimeFormat()` and
          `Date.prototype.toLocaleString()`.
        + `collation` is now accepted as an option in `Intl.Collator()`.
        + `Intl.DisplayNames` has been added, which allows you to get
          translations of language, region, currency, and script names.
        + `Intl.DateTimeFormat` has gained the `formatRange()` and
          `formatRangeToParts()` methods.
    
      * 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 release notes:
          https://developer.mozilla.org/en-US/Firefox/Releases/79#JavaScript
          https://developer.mozilla.org/en-US/Firefox/Releases/80#JavaScript
          https://developer.mozilla.org/en-US/Firefox/Releases/81#JavaScript
          https://developer.mozilla.org/en-US/Firefox/Releases/82#JavaScript
          https://developer.mozilla.org/en-US/Firefox/Releases/83#JavaScript
          https://developer.mozilla.org/en-US/Firefox/Releases/84#JavaScript
          https://developer.mozilla.org/en-US/Firefox/Releases/85#JavaScript
          https://developer.mozilla.org/en-US/Firefox/Releases/86#JavaScript
          https://developer.mozilla.org/en-US/Firefox/Releases/87#JavaScript
          https://developer.mozilla.org/en-US/Firefox/Releases/88#JavaScript
          https://developer.mozilla.org/en-US/Firefox/Releases/89#JavaScript
          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]
  • 1.70.1
    Version 1.70.1
    
    - Build and crash fixes backported from the development branch.
    
    - Closed bugs and merge requests:
    
      * Handle optional out parameters in callbacks [#439, !681, Evan Welsh]
      * Link fails on Debian armel|mipsel|powerpc: needs more -latomic
        [#442, !686, Simon McVittie]
      * gjs/jsapi-util.cpp: fix build on gcc-12 [!697, Sergei Trofimovich]
  • 1.68.5
    Version 1.68.5
    
    - Crash fix backported from the development branch. [#439, !681, Evan
      Welsh]
  • 1.70.0
    Version 1.70.0
    
    - No changes from release candidate 1.69.90.
  • 1.68.4
    Version 1.68.4
    
    - Build fix backported from the development branch. [#436, !667, Evan Welsh]
  • 1.69.90
    Version 1.69.90
    
    - Closed bugs and merge requests:
    
      * Update ESLint to v8 [!657, Evan Welsh]
      * gi: Enable pending tests which are now correctly handled [!658, Evan Welsh]
      * gi: Return null if return argument is a pointer type [!659, Evan Welsh]
      * gi: Assume native enums are signed, avoid asserting. [!660, Evan Welsh]
      * Fix cppcheck failure [!661, Philip Chimento]
      * Strange behavior for strings with NUL character [#285, !662, Evan Welsh]
      * 64-bit int GObject properties have some problems with values > G_MAXINT32
        [#92, !663, Evan Welsh]
      * Crash on dynamic import in interactive interpreter [#429, !666, Evan Welsh]
      * 1.69.1: gjs test suite is failing when gjs is build with -DG_DISABLE_ASSERT
        [#436, !667, Evan Welsh]
      * function: Warn about unhandled promise rejections in System.exit() [!669,
        Philip Chimento]
      * attempting to wrap a new GObject mid-construction blows up [#50, !675, Evan
        Welsh]
      * Fix IWYU CI job [!676, Evan Welsh]
    
    - Build fixes [Evan Welsh, Philip Chimento]
  • 1.69.2
    Version 1.69.2
    
    - The TextEncoder and TextDecoder global objects are now available. In most
      cases, these will be able to replace usage of the imports.byteArray module. We
      recommend that new code use TextEncoder and TextDecoder to convert strings to
      UTF-8 encoded Uint8Arrays and vice versa.
      MDN is a good source of information on how to use these APIs:
      https://developer.mozilla.org/en-US/docs/Web/API/TextEncoder
      https://developer.mozilla.org/en-US/docs/Web/API/TextDecoder
    
    - The 'console' global object is now available. This is for compatibility with
      Node.js and browser environments, and for familiarity for developers
      accustomed to them. The previously existing print(), printerr(), log(),
      logError() functions continue to exist, and are not deprecated. The console
      methods use GLib structured logging as their backend.
    
    - Cairo.Surface has gained getDeviceScale(), setDeviceScale(),
      getDeviceOffset(), and setDeviceOffset() methods. These wrap the corresponding
      C functions.
    
    - GLib.log_set_writer_func() and GObject.Object.bind_property_full() now work.
      Previously, they had introspection problems.
    
    - There is also a 'console' built-in module which exports functions
      setConsoleLogDomain() and getConsoleLogDomain(), for controlling the GLib
      log domain that the console methods use.
    
    - The debugger has gained a 'set ignoreCaughtExceptions (true/false)' option.
      Previously, when an exception was thrown, the debugger would stop, even if the
      exception was thrown intentionally in order to be caught. With this option,
      which is now the default, the debugger will keep going on exceptions that are
      thrown while inside the scope of a try-catch block.
    
    - Closed bugs and merge requests:
    
      * Implement WHATWG Encoding specification. [!534, Evan Welsh]
      * cairo-surface: Add setDevice{Offset,Scale} functions [!605, Daniel van Vugt,
        Philip Chimento]
      * WHATWG Console Implementation [!634, Evan Welsh]
      * Add support for GLib.log_set_writer_func [!637, Evan Welsh]
      * Various maintenance [!649, Philip Chimento]
      * examples: improve the gettext example [!651, Sonny Piers]
      * Unable to use bind_property_full [#241, !653, Florian Müllner]
      * Allow continuing for handled exceptions [#431, !655, Florian Müllner]
      * text-encoding.cpp: Fix builds on 64-bit Windows [!656, Chun-wei Fan]
  • 1.68.3
    Version 1.68.3
    
    - Crash and bug fixes backported from the development branch.
    
    - Build fixes [Philip Chimento]
    
    - Closed bugs and merge requests:
    
      * win32: Fix resource-based imports [!652, Evan Welsh]
      * overrides/GLib: Guard Error.new_literal against invalid domains [!654,
        Florian Müllner]
  • 1.69.1
    Version 1.69.1
    
    - Memory usage improvements and bug fixes.
    
    - Progress on TextEncoder/TextDecoder.
    
    - Closed bugs and merge requests:
    
      * Cleanup gjs_closure_invoke [#382, !592, Philip Chimento]
      * Various maintenance [!600, !616, !624, !630, Philip Chimento, Marco
        Trevisan, Evan Welsh]
      * doc: Add simple sysprof example [!606, Andy Holmes]
      * examples: add examples of GtkBuilder templates [!607, Andy Holmes]
      * doc: document shebang for ESModules [!608, Sonny Piers]
      * Gio.ListStore.insert_sorted's compare_func isn't handled correctly [#326,
        !610, Veena Nagar]
      * object: Block access to object only if it is finalized [!611, Marco
        Trevisan]
      * tests: Add unit tests for ToggleQueue and ObjectInstance usage of it [!615,
        Marco Trevisan]
      * gjs-test-tools: Throw error if we can't create threads [!618, Marco
        Trevisan]
      * build: Support meson unity builds [!619, Marco Trevisan]
      * build: Support building with precompiled headers [!620, Marco Trevisan]
      * Support GObject properties with GByteArray type [#276, !621, Veena Nagar]
      * Regression in running tests with log output redirected to file [#410, !622,
        Philip Chimento]
      * doc: add Commit and Almond to applications [!623, Sonny Piers]
      * closure (and trampoline): Reimplement to be a C++ class with custom heap
        allocator [!625, Marco Trevisan]
      * gjs-test-utils: Be more liberal in comparing values of different types
        [!626, Marco Trevisan]
      * [regression] gjs master can't build today [#414, !627, Daniel van Vugt]
      * Add memory counter profiling [#292, !629, Philip Chimento]
      * Promisify should complain if the async or finish function doesn't exist
        [#200, !631, Veena Nagar]
      * Add 'S' conversion specifier to gjs_parse_call_args [!638, Philip Chimento]
      * Fix builds on Windows/Visual Studio with the latest GIT master [!639,
        Chun-wei Fan]
      * meson: fix version check for precompiled headers [!640, Jordan Petridis]
      * GjsDBusImplementation.emit_property_changed(..., null): assertion failed
        [#427, !642, Andy Holmes]
      * gi: Only enumerate properties which GJS defines [!643, Evan Welsh]
      * Add Internship Getting Started documentation [!645, Philip Chimento]
      * arg-cache: Handle notified callbacks without destroy [!647, Florian Müllner]
      * esm/gi: Improve check for version conflicts [!650, Florian Müllner]
  • 1.68.2
    Version 1.68.2
    
    - Crash and regression fixes backported from the development branch.
    
    - Build fix to adjust to GLib renaming its main branch.
    
    - Closed bugs and merge requests:
    
      * Fix crash in ByteArray.fromGBytes / ByteArray.fromString with 0-length input
        [!628, Philip Chimento]
      * subprojects: Use GLib main branch [!633, Philip Withnall]
      * Construct-only properties and GTK Builder. [#422, !635, Carlos Garnacho]
      * Data corruption when passing a 0-terminated array of GVariant [#269, !636,
        Evan Welsh]
      * Fix race condition in dynamic module resolution. [!641, Evan Welsh]
      * Ensure the correct realm is entered in the async executor [!644, Evan Welsh]
      * Assertion failure in toggle refs with debug mozjs [#416, !646, Evan Welsh]
  • 1.68.1
    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
    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
    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
    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
    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
    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]