Skip to content
Tags give the ability to mark specific points in history as being important
  • 1.81.1 protected
    Version 1.81.1
    
    - Breaking change: When creating a GObject with the `new` operator, the
      constructor takes a single argument consisting of a property bag with
      GObject construct properties and their values.
      This was often confused with the `new` static method that may take
      arguments that are not interpreted as property bags.
      For example, Gio.FileIcon was one of the many affected APIs:
    
          new Gio.FileIcon({file: myFile})
    
      vs
    
          Gio.FileIcon.new(myFile)
    
      Confusion between the two often lead to bug reports when confusing
      these two and calling `new Gio.FileIcon(myFile)` - the constructor
      would look for a nonexistent `file` property on `myFile`, causing an
      improperly initialized object.
    
      This is now no longer allowed. The argument to `new Gio.FileIcon(...)`
      must be a plain JS object, not a GObject.
    
      It's possible that existing code legitimately used a GObject here. If
      your code does this and a quick migration is impractical, please get
      in touch and we will revert this change before 1.82.0 in favour of a
      longer deprecation period.
    
    - The `get_data()`, `get_qdata()`, `set_data()`, `steal_data()`,
      `steal_qdata()`, `ref()`, `unref()`, `ref_sink()`, and
      `force_floating()` methods of GObject now throw if called.
      These methods never worked, but sometimes they would silently appear
      to succeed, then cause crashes or memory leaks later.
    
      If you were trying to use the `get_data()` family of methods, just set
      a JS property instead. If you were trying to modify the refcount of a
      GObject in JS, instead set the object as the value of a JS property on
      some other object.
    
    - Closed bugs and merge requests:
      * doc: Document how to get a stack trace [!864, Sonny Piers]
      * TextDecoder should accept GBytes [#587, !903, Sriyansh Shivam]
      * Possible use-after-free with GLib.Regex.match/GLib.MatchInfo [#589,
        !920, Philip Chimento]
      * method `get_line` of `Pango.Layout` doesn't work. [#547, !921,
        Philip Chimento]
      * Block calls to g_object_get_data and friends [#423, !922, Philip
        Chimento]
      * Crash when calling Pango.Layout.get_pixel_size() with a badly
        init:ed Pango.Layout [#580, !923, Philip Chimento]
      * doc: avoid reference to Gio.UnixInputStream [!925, Andy Holmes]
      * Add a CI check for config.h, and some other useful checks [#447,
        !926, Philip Chimento]
      * Incorrect UnixOutputStream warning [#610, !928, Philip Chimento]
      * Various maintenance [!929, !931, Philip Chimento]
      * Docs: Various markdown fixes [!930, Frank Dana]
      * Some build fixes for the master (and gnome-46) branches for Visual
        Studio [!932, Chun-wei Fan]
      * GJS doesn't log undefined values [#621, !933, Gary Li]
      * property objects are printed as empty js objects [#622, !934, Gary
        Li]
    
  • 1.80.2 protected
    Git-EVTag-v0-SHA512: 39d5f4998aea4cb538d11a8f9f39c8a97b386b7ae70eb711f07ca5eb25a2d7dd00d74d8cc3e4087dcf677a12452ec2573ef3586e5f6cc77e15885b0d280c411f
    
  • 1.80.1 protected
    Git-EVTag-v0-SHA512: a021d3ae3d0b8a877d9f91c25b75365158e1005625f9ca99d2419591805317e8e7eaf85af5c7f80e7ecf053b72dc322e85f5446d7b0eedd2f9f42240549c784d
    
  • 1.78.5 protected
    Git-EVTag-v0-SHA512: b74cdc74b3738e039fa1e015e54992c9ce7986718d3b73a246e27785bf79cb92c6b886619f4467cf346da681a88e23a6caf193cf5eb4982b272a6e2b283fb07d
    
  • 1.80.0 protected
    Git-EVTag-v0-SHA512: eb697c9c256481c128baf6d4785cc40e9b662932a35c6c9c7b835f68b0e4c1cff7369aa1e4a803ba52cdee5ff45020e5f5cfc1429c8fa1480c0fb31ffd3e3176
    
  • 1.79.90 protected
    Git-EVTag-v0-SHA512: e1e0c5c3c2c4ae17f1ead1016243df8ad27e804bd89ae737d1f92ea016ab251582b03b45dca8157fd7e8c66b61be10e56ab4ecce0977591797beb28552809113
    
  • 1.79.3 protected
    Git-EVTag-v0-SHA512: c16fdfc1553edb7e40f2f50586c81b84206a6eeccb8efbfa6be01f6d295943caa6cdc21863c74542a70d1fedddc6db3cac156336f05be70433df7c7eeacff28a
    
  • 1.78.4 protected
    Git-EVTag-v0-SHA512: 3547f9473c51ce56e74e737e5dfdf1a68d3b851bc318706e675aceaf984359ae08f84489e7dcc30007d5e56a2f0cc8bc3cee42b6ab4c36dc838db0a87a94237e
    
  • 1.76.3 protected
    Version 1.76.3
    
    Git-EVTag-v0-SHA512: 303a1e016c50057c73afffb7bee2ac2130222a3d752a52dc047da9c848897b1c62622e76cbf5a9e8a4a709154c624cc14e7eaf7f0292396385da312711bf447a
    
  • 1.79.2 protected
    Git-EVTag-v0-SHA512: f858f0c7962e544879baedb32d2587992f8d922c5a7163e29447316426ebbb21ea60a2a22253110d61ba640e251e0fe01c7b7549a9ad5e11b138a7eb166461eb
    
  • 1.78.3 protected
    Git-EVTag-v0-SHA512: bf603b71439d86e73fecb4b9d51aaeee61b3376bea738e6f7a26d4508e915dc894291a91660dd60812606d81145296a6481b80d25e23550c232b92c96b63c0d9
    
  • 1.79.1 protected
    Git-EVTag-v0-SHA512: dd0ac544fb8e6cb462fa9d2c085b9a998e5e8a8298b799433a3171fbea20fef3d09574065b12c58b5082fdce8f03eec11039b0e972093ec3afb9088faebb1e76
    
  • 1.78.2 protected
    Git-EVTag-v0-SHA512: 7e20c59b13c0b7c83cdac5b57a5610fbc9b87465883e67d148e6d4d8fc50494114ab48af4afc2b5b18961a3d18fcdc31aaef75670c8d565712ded14f534f688f
    
  • 1.78.1 protected
    Git-EVTag-v0-SHA512: 84f3f19db899f5beb6bcc91497a981ed9214eeda75475c61bab62f0e29df21f28d120f0f19228503a85ea6eec40876a2efdabf8591fe50ce0799b9f9d75cb50c
    
  • 1.78.0 protected
    Git-EVTag-v0-SHA512: 457194d61fca9af4ed404bcddcf5ed63ff902be609cc76460ff3139bb89629ea507c049e77b9353396959f367409b69b7a1ea30da3c1dccd86d7d4a87ed7b938
    
  • 1.77.90 protected
    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]
    
  • 1.77.2 protected
    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]
    
    Git-EVTag-v0-SHA512: 002bed5b4489627ee338b204df016213f4a61f8b0df0bcd4be585599eb4026fded3c9ecae7cf5f91c68628d4eb86d41a8dbd56a44bbc8fb9c822a17c11a2f04a
    
  • 1.77.1 protected
    Git-EVTag-v0-SHA512: 63c0bd204f953c7bcac3552a5f4e146b565f5ee09308c42a277735656adfd58eb9441cbd9f965c490ce6f67bd3bc3027ec4a04e117f4e43c71f7ed268ffe2299
    
  • 1.72.4 protected
    GJS 1.72.4
    
    - Various fixes ported from the development branch.
    
    - Closed bugs and merge requests:
      * log_set_writer_func is not safe to use [#481, !766, !851, Evan Welsh]
      * Gnome-Shell 42 - crash after login (general protection fault) [#479, !740,
        !851, Xi Ruoyao]
      * Static methods on classes from GObject introspection are now present on JS
        classes that inherit from those classes. [!851, Marco Trevisan]
      * Enabling window-list extension causes gnome-shell to crash when running
        "dconf update" as root [#510, !813, !851, Philip Chimento]
      * Possible errors in cairo enums [#516, !811, !851, Vítor Vasconcellos]
      * cairo.SVGSurface need finish() and flush() to finalize painting [#515, !816,
        !851, tuberry]
      * Handle transfer-none string return value from vfunc implemented in JS [#519,
        !821, !823, !851, Marco Trevisan, Daniel van Vugt]
      * GJS freezes, program stops responding, error states Gtk4 EventController
        GestureClick returns incorrect state- Gdk.ModifierType on mouse button press
        in X11 [#507, !829, !851, Sundeep Mediratta]
      * gnome-shell crashes on exit in js::gc::Cell::storeBuffer [#472, !834, !851,
        Daniel van Vugt]
      * Memory leak with GError [#36, !837, !851, Marco Trevisan]
      * GVariant return values leaked [#499, !837, !851, Marco Trevisan]
      * GBytes's are leaked when passed as-is to a function [#539, !837, !851, Marco
        Trevisan]
      * Transformed GValues are leaking temporary instances [#540, !837, !851, Marco
        Trevisan]
      * GHash value infos are leaked [#541, !837, !851, Marco Trevisan]
      * "flat" arrays of GObject's are leaked [#542, !837, !851, Marco Trevisan]
      * Gjs console leaks invalid option errors [#544, !837, !851, Marco Trevisan]
    
  • 1.74.3 protected
    GJS 1.74.3
    
    - Various fixes ported from the development branch.
    
    - Closed bugs and merge requests:
      * Possible errors in cairo enums [#516, !811, !852, Vítor
        Vasconcellos]
      * cairo.SVGSurface need finish() and flush() to finalize painting
        [#515, !816, !852, tuberry]
      * Handle transfer-none string return value from vfunc implemented in
        JS [#519, !821, !823, !852, Marco Trevisan, Daniel van Vugt]
      * GJS freezes, program stops responding, error states Gtk4
        EventController GestureClick returns incorrect state- Gdk.ModifierType
        on mouse button press in X11 [#507, !829, !852, Sundeep Mediratta]
      * gnome-shell crashes on exit in js::gc::Cell::storeBuffer [#472,
        !834, !852, Daniel van Vugt]
      * Memory leak with GError [#36, !837, !852, Marco Trevisan]
      * GVariant return values leaked [#499, !837, !852, Marco Trevisan]
      * GBytes's are leaked when passed as-is to a function [#539, !837,
        !852, Marco Trevisan]
      * Transformed GValues are leaking temporary instances [#540, !837,
        !852, Marco Trevisan]
      * GHash value infos are leaked [#541, !837, !852, Marco Trevisan]
      * "flat" arrays of GObject's are leaked [#542, !837, !852, Marco
        Trevisan]
      * * Gjs console leaks invalid option errors [#544, !837, !852, Marco
        Trevisan]