Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
Name: gjs | Distribution: SUSE Linux Framework One |
Version: 1.78.1 | Vendor: SUSE LLC <https://www.suse.com/> |
Release: slfo.1.1.4 | Build date: Wed Aug 21 19:52:11 2024 |
Group: Development/Libraries/GNOME | Build host: h02-armsrv3 |
Size: 230777 | Source RPM: gjs-1.78.1-slfo.1.1.4.src.rpm |
Packager: https://www.suse.com/ | |
Url: https://wiki.gnome.org/Projects/Gjs | |
Summary: JavaScript bindings based on gobject-introspection and Mozilla |
This module contains JavaScript bindings based on gobject-introspection and the Mozilla SpiderMonkey JavaScript engine.
LGPL-2.0-or-later AND MIT
* Sun Dec 03 2023 bjorn.lie@gmail.com - Update to version 1.78.1: + Gtk template signals cause a reference cycle that is not detected + Modules from resources may get loaded twice + docs: add examples for creating cairo image surfaces + Deadlocks between GJS GC and dconf gsettings when a setting value is changed + Gtk3: Fix leak in GtkBuilder template signal connections - Drop 3cae384aaf15dec6653b1a5400032c2c2e5dc34c.patch: Fixed upstream * Thu Oct 26 2023 bjorn.lie@gmail.com - Add 3cae384aaf15dec6653b1a5400032c2c2e5dc34c.patch: module: Canonicalize import specifier before inserting it in registry. * Wed Oct 11 2023 dimstar@opensuse.org - Explicitly BuildRequire /usr/bin/dbus-run-session: needed by the test suite. * Sun Sep 17 2023 bjorn.lie@gmail.com - Update to version 1.78.0: + Closed bugs and merge requests: - Improved Console.log Output - `gjs:dbus / Gtk4` unit test fails: Function Gtk.SectionModel.get_section() cannot be called * Wed Sep 06 2023 luc14n0@opensuse.org - Drop pkgconfig(sysprof-4) BuildRequires. This was only needed because sysprof-capture-static-devel was lacking header files, which was mistakenly being packaged with sysprof-devel, and it's fixed now. - Add with(out) "profiling" build switch and disable it, by default, as profiling isn't meant for general use. This nests pkgconfig(sysprof-capture-4) BuildRequires under an if-with expression and passes profiler=(enabled|disabled) to meson, depending on the profiling switch. * Tue Sep 05 2023 bjorn.lie@gmail.com - Update to 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 - Using a Gio.Appinfo().launch with context may crash gjs - Fixed-size and Zero-terminated arrays are leaked when used as in or inout arguments with transfer none - Crash due to bad memory usage when calling a function taking an inout array with length parameter and transfer full - Various maintenance - README.MSVC.md: Update for SpiderMonkey-115.x - GJS returns pointers instead of numbers for function with output parameters - Profiler spuriously records GJS.boxed_instance and GJS.boxed_prototype - installed-tests/js/meson: Add tests dependencies to dbus tests - eslint: Make multi-line imports to always include a trailing comma - Make console.error format GError correctly - Gtk: . Throw an error for an invalid Template string . Attempt to load Template from a string, if it appears valid - global: Really enable non-mutating Array methods * Sun Aug 13 2023 bjorn.lie@gmail.com - Update to 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 - Various maintenance - arg: Preserve transfer when freeing out arrays - Some values leak fixes and cleanups - Does not parse hash tables in signals - docs: fix minor URL mistakes and behavioural omissions - gjs: Listen to GMemoryMonitor::low-memory-warning to trigger GC - GSettings override in Gio.js may fail on construction - Gio: Fix constructing Settings with a SettingsSchema object - Replace pkgconfig(mozjs-102) with pkgconfig(mozjs-115) BuildRequires following upstreams port. * Mon Jul 10 2023 bjorn.lie@gmail.com - Update to version 1.77.1: + 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. - bug(build, tests): broken dependency cycle associated with the `have_gtk4` variable. - Better handling of callbacks during GC. - doc: Add Gio and GLib runAsync overrides. - installed-tests/meson: Add tests dependencies on gjs console and GjsPrivate. - gi/arg: Cleanup handling of C arrays and GValue arrays. - Various maintenance. - doc: Fix http-client.js example. - use `meson setup` instead of ambiguous `meson`. - docs: document `GObject.gtypeNameBasedOnJSPath`. - docs: fix formatting for `Signals.md`. - Provide API to get GTypes defined in a module. - doc: Update inroduction. - gi/args.cpp: Fix build with Visual Studio. * Thu Jun 15 2023 bjorn.lie@gmail.com - Update to version 1.76.2: + Various fixes ported from the development branch. + Closed bugs and merge requests: - GJS freezes, program stops responding, error states Gtk4 EventController GestureClick returns incorrect state- Gdk.ModifierType on mouse button press in X11 - Caller allocated boxed types or structs are not fully released - Gjs console leaks invalid option errors * Sun Jun 11 2023 bjorn.lie@gmail.com - Update to version 1.76.1: + Various fixes ported from the development branch. + Closed bugs and merge requests: - gnome-shell crashes on exit in js::gc::Cell::storeBuffer - Memory leak with GError - GVariant return values leaked - GBytes's are leaked when passed as-is to a function - Transformated GValues are leaking temporary instances - GHash value infos are leaked - "flat" arrays of GObject's are leaked - Gjs console leaks invalid option errors - gjs can't print null * Thu May 18 2023 bjorn.lie@gmail.com - Enable tests during build again. * Sun Mar 19 2023 bjorn.lie@gmail.com - Update to version 1.76.0: + No changes from release candidate 1.75.90. * Mon Mar 06 2023 bjorn.lie@gmail.com - Update to version 1.75.90: + Closed bugs and merge requests: - NEWS: fix a typo causing codespell to fail - doc: Add more apps written in GJS - Gio: Use proper default priority on async generators - gjs 1.75.2 GObjectValue build test failing on ARM - testGObjectValue: Enable creating object with a string property - Handle transfer-none string return value from vfunc implemented in JS - Various maintenance, performance improvements * Fri Feb 24 2023 bjorn.lie@gmail.com - Update to version 1.75.2: + There are new `Gio.Application.prototype.runAsync()` and `GLib.MainLoop.prototype.runAsync()` methods which do the same thing as `run()` but return a Promise which resolves when the main loop ends, instead of blocking while the main loop runs. Use one of these methods (by awaiting it) if you use async operations with Promises in your application. Previously, it was easy to get into a state where Promises never resolved if you didn't run the main loop inside a callback. + There are new `Gio.InputStream.prototype.createSyncIterator()` and `Gio.InputStream.prototype.createAsyncIterator()` methods which allow easy iteration of input streams in consecutive chunks of bytes, either with a for-of loop or a for-await-of loop. + DBus proxy wrapper classes now have a static `newAsync()` method, which returns a Promise that resolves to an instance of the proxy wrapper class on which `initAsync()` has completed. + DBus property getters can now return GLib.Variant instances directly, if they have the correct type, instead of returning JS values and having them be packed into GLib.Variants. + Dramatic performance improvements in the legacy `imports.signals` module, which has also gained a `connectAfter()` method that works like the same-named method in GObject signals. (However, the signals module remains legacy, and is mostly there for historical reasons with GNOME Shell. Don't use it in new code.) + For years we have had a typo in `Cairo.LineCap.SQUARE`, incorrectly naming it `SQUASH`. This is fixed and the typoed name is retained as an alias. + Also in Cairo, the value of `Cairo.Format.RGB16_565` was wrong. This was fixed with a breaking change, because anyone using it was probably already not getting the results they expected. + Continuing the Cairo improvements, SVG surfaces have gained `Cairo.SVGSurface.prototype.finish()` and `Cairo.SVGSurface.prototype.flush()` because previously SVG surfaces were only written to disk when the SVGSurface object was garbage collected, making it uncertain to rely on them. + The debugger now handles Symbol values and Symbol property keys of objects. Previously, these were not displayed correctly. + Various type-safety refactors. + Many bug fixes and performance improvements. * Tue Feb 21 2023 dimstar@opensuse.org - Update to version 1.75.1: + Static methods on classes from GObject introspection are now present on JS classes that inherit from those classes. * Tue Feb 21 2023 bjorn.lie@gmail.com - Update to version 1.74.2: + Various fixes ported from the development branch. + Closed bugs and merge requests: - Build error with clang - Can't compile current version with mozjs 102 - Enabling window-list extension causes gnome-shell to crash when running "dconf update" as root - log: Fix an off-by-one buffer overflow * Mon Oct 31 2022 bjorn.lie@gmail.com - Update to version 1.74.1: + Closed bugs and merge requests: - Problem calling promisified D-Bus wrappers with callback. - docs: . Fix link in issue template. . Document Gio.FileEnumerator iteration. . Fix Markdown formatting in README.MSVC.md. * Wed Sep 21 2022 bjorn.lie@gmail.com - Update to version 1.74.0: + Many improvements to the examples and documentation. + Overrides to certain non-introspectable functions that will now gracefully throw an exception instead of crashing. + Closed bugs and merge requests: - Various maintenance. - http example not reliable, relies on server provided content-length. - Gio set_attribute SIGSEGV (Address boundary error). - doc: . Reformat for better scraping with DevDocs. . Update Home. - GLib: override GThread functions. * Mon Sep 19 2022 bjorn.lie@gmail.com - Use ldconfig_scriptlets macro for post(un) handling. * Thu Sep 15 2022 mgorse@suse.com - Require xorg-x11-Xvfb on SLE-15-SP5, rather than xorg-11-server-Xvfb (bsc#1203274). * Fri Aug 26 2022 bjorn.lie@gmail.com - Update to version 1.73.2: + New JavaScript features! This version of GJS is based on SpiderMonkey 102, an upgrade from the previous ESR (Extended Support Release) of SpiderMonkey 91. Here are the highlights of the new JavaScript features. For more information, look them up on MDN or devdocs.io. + New APIs - The `Object.hasOwn()` static method can be used as an easier replacement for `Object.prototype.hasOwnProperty.call(...)`. - `Intl.supportedValuesOf()` lets you enumerate which calendars, currencies, collation strategies, numbering systems, time zones, and units are available for internationalization. + It's now possible to use `GObject.BindingGroup.prototype.bind_full()` with JS functions. Previously this method was unusable in JS. + Gio.FileEnumerator is now iterable, both synchronously (with for-of or array spread syntax) and asynchronously (with for-await-of). + Performance improvements in the built-in `imports.signals` module. + Many improvements to the examples and documentation. + Closed bugs and merge requests: - Spidermonkey 102 - Object connections / signal emissions optimizations - tests/Gio: Cleanup Gio._promisify - Include JUnit reports in builds - Integrate pretty print to the debugger - doc: . Edit GJS description . note the version `constructor()` became supported . Modernize examples . Document byteArray deprecation and migration . add simple Gtk.TickCallback example - build: disable sysprof agent for subproject fallback - Update CI images - GListModel.get_n_items returns garbage value - Add override for g_binding_group_bind_full() - Make GFileEnumerator iterable and async iterable - Replace pkgconfig(mozjs-91) with pkgconfig(mozjs-102) BuildRequires following upstreams changes. * Tue Aug 09 2022 bjorn.lie@gmail.com - Update to version 1.73.1: + The interactive interpreter now displays its output more intelligently, pretty-printing the properties and values of objects based on their type. This improvement also applies to the log() and logError() functions. + New API: DBus proxy classes now include methods named with the suffix 'Async', which perform async calls to DBus APIs and return Promises. This is in addition to the existing suffixes 'Sync' (for blocking calls) and 'Remote' (for async calls with callbacks.) + There is an override for Gio.ActionMap.prototype.add_action_entries(). Previously this method wouldn't work because it required an array of Gio.ActionEntry objects, which are not possible to construct in GJS. Now it can be used with an array of plain objects. (e.g. `this.add_action_entries ([{name: 'open', activate() { ... }}]);` + GJS is now compatible with libffi 3.4.2 and later. All earlier versions of GJS are not compatible with libffi 3.4.2 and later unless libffi is built with the --disable-exec-static-tramp flag. + GJS now requires Meson 0.54 to build. + Closed bugs and merge requests: - Verbose Object Print Output - Add support for JS async calls in DBusProxyWrapper - Crash after build against libffi 3.4.2 - Handle reference cycles in new console pretty print function - Gnome-Shell 42 - crash after login (general protection fault) - Various maintenance - jsapi-util-strings: Ignore locale to compute the upper case of a char (i.e. fix implicit properties on Turkish locale) - Dockerfile: Install Turkish locale in CI for UTF-8 locale too - Improve pretty-print output for GObject-introspected objects - Expose pretty print function to tests - build: track changes to Sysprof meson options - Make Gio.ActionMap.add_action_entries work - Make DBus session and system props non-enumerable - gi/arg-inl: Mark the arg functions as constexpr - build: Do not use verbose GJS debug logging in tests by default - minijasmine: Print test JS errors output if any - doc: document the existence of the console object in GJS - arg-cache: Use a switch to select the not-introspectable error - log_set_writer_func is not safe to use * Mon Aug 08 2022 bjorn.lie@gmail.com - Update to version 1.72.2: + Various fixes ported from the development branch. + Closed bugs and merge requests: - gi/arg-cache.cpp: Fix building on Visual Studio. - doc: Reflect support for constructor with GObject. * Wed Jul 06 2022 dimstar@opensuse.org - Update to version 1.72.1: + Compilation error: call to deleted function 'js_value_to_c'. * jsapi-util-strings: Ignore locale to compute the upper case of a char (i.e. fix implicit properties on Turkish locale). * Fix memory leak when passing a "transfer none" GBytes parameter to a native function. * arg-cache: Do not leak an interface info structures on Callbacks. * test-ci: Ignore safe directory errors on CI. * Sun Mar 20 2022 bjorn.lie@gmail.com - Update to version 1.72.0: + No changes from release candidate 1.71.90. * Sun Mar 06 2022 bjorn.lie@gmail.com - Update to version 1.71.90: + Cairo test broken with commit ea52cf92 + native: Convert to singleton class + Checking `instanceof` for primitive types may lead to a crash or error + Change the GObject Introspection development branch + gi_marshalling_tests_long_in_max test fails on i686 + GNOME Shell crashes at startup with the AppIndicator extension enabled + Instances of classes implementing interfaces can override functions for all implentations of an interface + package: Reverse order of running-from-source checks + Various maintenance. * Mon Feb 14 2022 bjorn.lie@gmail.com - Update to 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. - Replace pkgconfig(mozjs-78) with pkgconfig(mozjs-91). - Disable meson_tests, one test currently failing (expected during unstable cycle). https://gitlab.gnome.org/GNOME/gjs/-/issues/461 * Tue Feb 08 2022 bjorn.lie@gmail.com - Update to version 1.70.1: + Build and crash fixes backported from the development branch. + Closed bugs and merge requests: - Handle optional out parameters in callbacks - Link fails on Debian armel|mipsel|powerpc: needs more - latomic - gjs/jsapi-util.cpp: fix build on gcc-12 - Drop patches fixed upstream: + b9e122044a7ccc1e2a3374c680b6ea82066bfa59.patch + 62025d4a2738a36ea5f1a7cebef08b22b5eef613.patch * Mon Oct 04 2021 bjorn.lie@gmail.com - Add upstream crash fixer patches from stable branch: + b9e122044a7ccc1e2a3374c680b6ea82066bfa59.patch: arg: Replace gsize with size_t + 62025d4a2738a36ea5f1a7cebef08b22b5eef613.patch: Handle optional out parameters in callbacks - Stop disabling lto: Following this, stop passing dtrace=true and systemtap=true to meson, aswell as dropping systemtap-sdt-devel BuildRequires, follow upstream default. - Add optional pkgconfig(gtk4) BuildRequires: meson checks for it. * Mon Sep 20 2021 mgorse@suse.com - Update to version 1.70.0: + No changes. * Mon Sep 20 2021 dimstar@opensuse.org - Update to version 1.69.90: + Update ESLint to v8. + gi: Enable pending tests which are now correctly handled. + gi: Return null if return argument is a pointer type. + gi: Assume native enums are signed, avoid asserting. [!660, Evan Welsh] + Fix cppcheck failure. + Strange behavior for strings with NUL character. + 64-bit int GObject properties have some problems with values > G_MAXINT32. + Crash on dynamic import in interactive interpreter. + 1.69.1: gjs test suite is failing when gjs is build with - DG_DISABLE_ASSERT. + function: Warn about unhandled promise rejections in System.exit(). + attempting to wrap a new GObject mid-construction blows up. + Fix IWYU CI job. + Build fixes. * Mon Sep 20 2021 dimstar@opensuse.org - Update to version 1.69.2: + The TextEncoder and TextDecoder global objects are now available. + 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. + Cairo.Surface has gained getDeviceScale(), setDeviceScale(), getDeviceOffset(), and setDeviceOffset() methods. + GLib.log_set_writer_func() and GObject.Object.bind_property_full() now work. + 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. * Sun Sep 19 2021 bjorn.lie@gmail.com - Update to version 1.68.4: + Build fix backported from the development branch. * Sun Aug 15 2021 bjorn.lie@gmail.com - Update to version 1.68.3: + Crash and bug fixes backported from the development branch. + Build fixes. - Changes from version 1.68.2: + Crash and regression fixes backported from the development branch. + Build fix to adjust to GLib renaming its main branch. * Wed Jul 28 2021 yfjiang@suse.com - Adapt xorg-x11-Xvfb BuildRequires on SLE and Leap, whose X has not updated to xorg-x11-server-Xvfb. * Fri May 14 2021 dimstar@opensuse.org - Update to version 1.68.1: + Many stability fixes due to refactoring how disposed GObjects are handled. * Sat Mar 20 2021 dimstar@opensuse.org - Update to version 1.68.0: + 40.rc session crashes in gjs on unlocking (sometimes). + 40.rc: installed-tests installed despite explicitly disabled. - Drop 589.patch: fixed uptream. * Fri Mar 19 2021 dimstar@opensuse.org - Re-enable test suite: + Enable %check section and run %meson_test + As the test suite also runs some graphical application, run Xvfb before, so we have an X server available. + Add xorg-x11-server-Xvfb BuildRequires * Thu Mar 18 2021 dimstar@opensuse.org - Update to version 1.67.3: + Closed bugs and merge requests: - System.exit() doesn't work inside signal handler. - GdkEvent subtypes trigger assert in Gtk4. - 1.67.2: build fails with gcc 11. - Warnings introspecting array of boxed type as signal argument. - Add list command to debugger. - Assertion failure in enqueuePromiseJob. - in interpreter Ctrl-c should exit inner shell if stuck. - Compiler ambiguity in enum-utils.h on operator overloading. - Fix GJS_DISABLE_JIT not fully disabling JIT. - 1.67.2: Regress test hangs / timeouts on i686. - object: Do not call any function on disposed GObject pointers. - Add 589.patch: Do not wrongly install files for installed_tests if explicitly disabled. * Mon Feb 15 2021 gmbr3@opensuse.org - Update to version 1.67.2: + Importing ES modules is now supported. + 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. + New API: System.programPath is the name of the JS program that GJS is running. + New API: System.programArgs is an array of arguments given to the JS program. * Tue Jan 12 2021 dimstar@opensuse.org - Update to 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. + Various refactors for type safety. + Various maintenance. * Sun Jan 10 2021 bjorn.lie@gmail.com - Update to 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" - Revert "arg-cache: Save space by not caching GType" - gi/wrapperutils: Move gjs_get_string_id() into resolve() implementations - overrides/Gtk: Set BuilderScope in class init - Fix readline build on certain systems * Fri Oct 09 2020 dimstar@opensuse.org - Update to version 1.66.1: + Throws on Unsupported caller allocates. + arg: Fix MIN/MAX safe big integer limits. + Fix leak when virtual function is unimplemented. + Cannot compile GJS 1.66.0 on macOS with llvm/clang 10.0.1. + console: fix typo in command-line option. + Prevent passing null pointers when not nullable. + Passing fundamentals to functions no longer works. * Mon Sep 14 2020 dimstar@opensuse.org - Update to version 1.66.0: + No change from 1.65.92. * Sat Sep 05 2020 dimstar@opensuse.org - Update to version 1.65.92: + Enum and flags test failing in s390x. + Bring back Visual Studio build support for GJS master. + gjs_dbus_implementation_emit_signal: don't try to unref NULL. + doc: add third party applications. + boxed: Initialize all the private BoxedInstance members. + object: Fix GjsCallBackTrampoline's leaks. + Various maintenance. + Crash using shell's looking glass. * Sat Sep 05 2020 dimstar@opensuse.org - Update to version 1.65.91: + Crash in gjs_dbus_implementation_flush(). + eslint: Bump ecmaScript version. + Documentation: add documentation for ENV variables. + Argument cache causes test failure in armhf. + Argument cache causes test regressions in s390x. + ByteArray.toString use-after-free. + Crash accessing `vfunc_` methods of `Clutter.Actor`s. - Changes from 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. + New JavaScript features! This version of GJS is based on SpiderMonkey 78, an upgrade from the previous ESR (Extended Support Release) of SpiderMonkey 68. - Changes from version 1.65.4: + arg.cpp: Add required messages for static_assert. + Let's enable class fields!. + function: Only get function name if we actually warn. + Split print into native library. - Replace pkgconfig(mozjs-68) BuildRequires with pkgconfig(mozjs-78): Follow upstreams port to Spidermonkey 78. - Replace pkgconfig(sysprof-3|sysprof-capture-3) to their respective -4 variant. - Drop python Requires: we no longer need python2 to build. * Mon Jul 06 2020 bjorn.lie@gmail.com - Update to version 1.64.4: + Fix CI failure caused by GTK4 update. * Sun May 31 2020 bjorn.lie@gmail.com - Update to version 1.64.3: + Closed bugs and merge requests: - arg: Don't sink GClosure ref if it's a return value. - overrides/Gtk: Adjust gtk_container_child_set_property() check. - 1.63.3: test suite is failing. - Simplify private pointers. + Various backports: - Use memory GSettings backend in tests. - Update debug message from trimLeft/trimRight to trimStart/trimEnd. - Various fixes for potential crash and memory issues. * Tue Apr 28 2020 bjorn.lie@gmail.com - Update to version 1.64.2: + Closed bugs and merge requests: - GList of int not correctly demarshalled on 64-bit big-endian. - Fix template use in GTK4. - Don't crash if a callback doesn't return an expected array of values. - Crash passing integer to strv in constructor. - Skip some tests if GTK can't be initialised. + Various backports: - Fix gjs_log_exception() for InternalError. - Fix signal match mechanism. * Sat Mar 28 2020 bjorn.lie@gmail.com - Update to version 1.64.1: + The BigInt type is now _actually_ available, as it wasn't enabled in the 1.64.0 release even though it was mentioned in the release notes. + Closed bugs and merge requests: - testCommandLine's Unicode tests failing on Alpine Linux. - build: Various clean-ups. - Correctly handle vfunc inout parameters. - Fix failed redirect of output in CommandLine tests. * Sat Mar 28 2020 bjorn.lie@gmail.com - Update to version 1.64.0: + No changes, stable version update only. * Sat Mar 28 2020 bjorn.lie@gmail.com - Update to version 1.63.92: + object: Use g_irepository_get_object_gtype_interfaces. + Add -fno-semantic-interposition to -Bsymbolic-functions. + examples: add a dbus-client and dbus-service example. + Various GNOME Shell crashes during GC, mozjs68 regression. - Drop gjs-fix-gnome-shell-crash-mr396.patch: Fixed upstream. * Sat Mar 28 2020 bjorn.lie@gmail.com - Add yet a commit from upstream wip mr (glgo#GNOME/gjs!396). * Sat Mar 28 2020 bjorn.lie@gmail.com - Add gjs-fix-gnome-shell-crash-mr396.patch: Fix various crashes in gnome-shell caused by gjs, drop gjs-dont-zero-out-wrapper.patch as that is part of this new patch too. * Sat Mar 28 2020 bjorn.lie@gmail.com - Add gjs-dont-zero-out-wrapper.patch: object: Don't zero out wrapper if destroying ObjectInstance anyway (glgo#GNOME/gjs!396). * Sat Mar 28 2020 dimstar@opensuse.org - Update to version 1.63.91: + [mozjs68] Reorganize modules for ESM. + Various maintenance. + Fix building GJS master with Visual Studio and update build instructions. + Resolve "Gnome Shell crash on GC run with mozjs68". + installed-tests/js: Add missing dep on warnlib_typelib. + object: Cache known unresolvable properties. + Updated translations. * Sat Mar 28 2020 dimstar@opensuse.org - Update to version 1.63.90: + This version of GJS is based on SpiderMonkey 68, an upgrade from the previous ESR (Extended Support Release) of SpiderMonkey 60. + New language features - The BigInt type, currently a stage 3 proposal in the ES standard, is now available. + New syntax - `globalThis` is now the ES-standard supported way to get the global object, no matter what kind of JS environment. - BigInt literals are expressed by a number with "n" appended to it: for example, `1n`, `9007199254740992n`. + 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 + Backwards-incompatible changes: The nonstandard String generics were removed. - Changes from version 1.63.3: + JS ERROR: TypeError: this._rooms.get(...) is undefined. + gjs-symlink script is incompatible with distro builds. + object: Warn when setting a deprecated property. - Switch to meson buildsystem, add meson BuildRequires and macros. - Replace gcc-c++ with c++_compiler BuildRequires. - Add git BuildRequires: New dependency (expected to be dropped). - Add pkgconfig(sysprof-3) and pkgconfig(sysprof-capture-3) BuildRequires, build profiler support. - Pass -Dinstalled_tests=false to meson: do not install the test suite (it's meant to be invalid code, which in turn confuses the dep scanner). * Sat Mar 28 2020 bjorn.lie@gmail.com - Update to version 1.58.6: + Various backports: - Correctly handle vfunc inout parameters. - Fix failed redirect of output in CommandLine tests. - Avoid filename conflict when tests run in parallel. * Tue Feb 18 2020 bjorn.lie@gmail.com - Update to version 1.58.5: + Can not access GObject properties of classes without GI information. * Wed Jan 08 2020 bjorn.lie@gmail.com - Update to version 1.58.4: + Now prints a warning when constructing an unregistered object inheriting from GObject (i.e. if you forgot to use GObject.registerClass.) In 1.58.2 this would throw an exception, which broke some existing code, so that change was reverted in 1.58.3. In this version the check is reinstated, but we log a warning instead of throwing an exception, so that people know to fix their code, but without breaking things. NOTE: In 1.64 (the next stable release) the warning will be changed back into an exception, because code with this problem can be subtly broken and cause unexpected errors elsewhere. So make sure to fix your code if you get this warning. + GSettings crash fixes. + Memory savings for Cairo objects. + Fix for crash in debug functions. * Wed Dec 04 2019 fcrozat@suse.com - Enable systemtap support. * Mon Nov 25 2019 bjorn.lie@gmail.com - Update to version 1.58.3: + Emergency release, intended to correct two mistakes in 1.58.2, both coming from crash fixes that had unexpected other effects on working code. * Sun Nov 24 2019 bjorn.lie@gmail.com - Update to version 1.58.2: + GObject based class initialization checks. + Silently leaked return value of callbacks. + Crash when calling Gio.Initable.async_init with not vfunc_async_init implementation. + [cairo] insufficient checking. + Various crash fixes backported from the development branch. * Mon Oct 07 2019 bjorn.lie@gmail.com - Update to version 1.58.1: + Closed bugs and merge requests: - Import wiki documentation. - Smaller CI, phase 1. - Crashes after setting child property 'icon-name' on GtkStack then displaying another GtkStack. - GLib.strdelimit crashes. * Sat Sep 07 2019 mgorse@suse.com - Update to version 1.58.0: + No changes. * Thu Sep 05 2019 luke@ljones.dev - Update to version 1.57.92: + Enable regression test cases for GPtrArrays and GArrays of structures. * Various maintenance. * Thu Aug 29 2019 luke@ljones.dev - Update to version 1.57.91: + GJS no longer links to libgtk-3. This makes it possible to load the Gtk-4.0 typelib in GJS and write programs that use GTK 4. + The heapgraph tool has gained some improvements; it is now possible to print a heap graph of multiple targets. You can also mark an object for better identification in the heap graph by assigning a magic property: for example, myObject.__heapgraph_name = 'Button' will make that object identify itself as "Button" in heap graphs. + Closed bugs and merge requests: - Remove usage of Lang in non legacy code. - GTK4. - JS syntax fixes. - gi: Avoid infinite recursion when converting GValues. - Implement all GObject-introspection test suites. - Heapgraph improvements. - Update to version 1.57.90: + New JS API: GLib.Variant has gained a recursiveUnpack() method which transforms the variant entirely into a JS object, discarding all type information. This can be useful for dealing with a{sv} dictionaries, where deepUnpack() will keep the values as GLib.Variant instances in order to preserve the type information. + New JS API: GLib.Variant has gained a deepUnpack() method which is exactly the same as the already existing deep_unpack(), but fits with the other camelCase APIs that GJS adds. + Closed bugs and merge requests: - Marshalling of GPtrArray broken. - Fix locale chooser. - dbus-wrapper: Remove interface skeleton flush idle on dispose. - gobject: Use auto-compartment when getting property as well. - modules/signals: Use array destructuring in _emit. - GJS can't call glibtop_init function from libgtop. - GLib's VariantDict is missing lookup. - toString on an object implementing an interface fails. - Regression in GstPbutils.Discoverer::discovered callback. - GLib.Variant.deep_unpack not working properly with a{sv} variants. - Various maintenance. + Various CI fixes. - Update to version 1.57.4: + Closed bugs and merge requests: - gjs 1.57 requires a recent sysprof version for sysprof-capture-3. + Misc documentation changes. - Update to version 1.57.3: + The GJS profiler is now integrated directly into Sysprof 3, via the GJS_TRACE_FD environment variable. Call stack information and garbage collector timing will show up in Sysprof. See also GNOME/Initiatives#10 + New JS API: System.addressOfGObject(obj) will return a string with the hex address of the underlying GObject of `obj` if it is a GObject wrapper, or throw an exception if it is not. This is intended for debugging. + New JS API: It's now possible to pass a value from Gio.DBusProxyFlags to the constructor of a class created by Gio.DBusProxy.makeProxyWrapper(). + Backwards-incompatible change: Trying to read a write-only property on a DBus proxy object, or write a read-only property, will now throw an exception. Previously it would fail silently. It seems unlikely any code is relying on the old behaviour, and if so then it was probably masking a bug. + Closed bugs and merge requests: - Build failure on Continuous. - build: Bump glib requirement. - profiler: avoid clearing 512 bytes of stack. - system: add addressOfGObject method. - Add support for GJS_TRACE_FD. - Gio: Make possible to pass DBusProxyFlags to proxy wrapper. - Various maintenance. - Marshalling of GPtrArray broken. - Build fix. - Gio: sync dbus wrapper properties flags. - GjsMaybeOwned: Reduce allocation when used as Object member. - Update to version 1.57.2: + There are now overrides for Gio.SettingsSchema and Gio.Settings which avoid aborting the whole process when trying to access a nonexistent key or child schema. The original API from GLib was intended for apps, since apps should have complete control over which settings keys they are allowed to access. However, it is not a good fit for shell extensions, which may need to access different settings keys depending on the version of GNOME shell they're running on. This feature is based on code from Cinnamon which the copyright holders have kindly agreed to relicense to GJS's license. + New JS API: It is now possible to pass GObject.TypeFlags to GObject.registerClass(). For example, passing `GTypeFlags: GObject.TypeFlags.ABSTRACT` in the class info object, will create a class that cannot be instantiated. This functionality was present in Lang.Class but has been missing from GObject.registerClass(). + Closed bugs and merge requests: - Document logging features. - Support optional GTypeFlags value in GObject subclasses. - Ensure const-correctness in C++ objects. - Programmer errors with GSettings cause segfaults. - Various maintenance. - debugger: Fix summary help. - context: Use Heap pointers for GC objects stored in vectors. - Update to version 1.57.1: + Closed bugs and merge requests: - Various maintenance. - mainloop: Assign null to property instead of deleting. - Added -d version note README.md. - Extra help for debugger commands. - Crash in BoxedInstance when struct could not be allocated directly. - Cairo conversion bugs. * Wed May 08 2019 bjorn.lie@gmail.com - Update to version 1.56.2: + Crash in BoxedInstance when struct could not be allocated directly. + Cairo conversion bugs fixed. + Gjs crashes when binding inherited property to js added gobject-property. + console: Don't accept --profile after the script name. * Tue Apr 09 2019 bjorn.lie@gmail.com - Update to version 1.56.1: + Calling dumpHeap() on non-existent directory causes crash. + Using Gio.MemoryInputStream.new_from_data ("string") causes segfault. + Fix gjs_context_eval() for non-zero-terminated strings. * Tue Mar 12 2019 bjorn.lie@gmail.com - Update to version 1.56.0: + Stable release version bump. * Tue Mar 05 2019 bjorn.lie@gmail.com - Update to version 1.55.92: + Possible memory allocation/deallocation bug (possibly in js_free() in GJS). + cairo-context: Special-case 0-sized vector. + Add some more eslint rules. + NMake/libgjs-private: Export all the public symbols there. * Mon Feb 18 2019 bjorn.lie@gmail.com - Update to version 1.55.91: + The problem of freezing while running the tests using GCC's sanitizers was determined to be a bug in GCC, which was fixed in GCC 9.0.1. + Closed bugs and merge requests: - gnome-sound-recorder crashes deep inside libgjs. - Various maintenance. - wrapperutils: Define $gtype property as non-enumerable. * Wed Feb 13 2019 bjorn.lie@gmail.com - Update to version 1.55.90: + New JS API: It's now possible to call and implement DBus methods whose parameters or return types include file descriptor lists (type signature 'h'). This involves passing or receiving a Gio.UnixFDList instance along with the parameters or return values. + To call a method with a file descriptor list, pass the Gio.UnixFDList along with the rest of the parameters, in any order, the same way you would pass a Gio.Cancellable or async callback. + For return values, things are a little more complicated, in order to avoid breaking existing code. Previously, synchronously called DBus proxy methods would return an unpacked GVariant. Now, but only if called with a Gio.UnixFDList, they will return [unpacked GVariant, Gio.UnixFDList]. This does not break existing code because it was not possible to call a method with a Gio.UnixFDList before, and the return value is unchanged if not calling with a Gio.UnixFDList. This does mean, unfortunately, that if you have a method with an 'h' in its return signature but not in its argument signatures, you will have to call it with an empty FDList in order to receive an FDList with the return value, when calling synchronously. + On the DBus service side, when receiving a method call, we now pass the Gio.UnixFDList received from DBus to the called method. Previously, sync methods were passed the parameters, and async methods were passed the parameters plus the Gio.DBusInvocation object. Appending the Gio.UnixFDList to those parameters also should not break existing code. + See the new tests in installed-tests/js/testGDBus.js for examples of calling methods with FD lists. + We have observed on the CI server that GJS 1.55.90 will hang forever while running the test suite compiled with GCC 9.0.0 and configured with the --enable-asan and --enable-ubsan arguments. This should be addressed in one of the following 1.55.x releases. + Closed bugs and merge requests: - GDBus proxy overrides should support Gio.DBusProxy.call_with_unix_fd_list(). - Add regression tests for GObject vfuncs. - GjsPrivate: Sources should be C files. - build: Vendor last-good version of AX_CODE_COVERAGE. * Tue Jan 08 2019 bjorn.lie@gmail.com - Update to version 1.55.4: + Various maintenance. + Boxed copy constructor should not be called, split Boxed into prototype and instance structs. * Fri Jan 04 2019 bjorn.lie@gmail.com - Update to version 1.55.3: + Manually constructed ByteArray toString segfaults. + signals: Add _signalHandlerIsConnected method. + Various maintenance. - Changes from version 1.55.2: + Gnome-shell crashes on destroying cached param specs. + Various maintenance. + Auto pointers builder. + configure.ac: Update bug link. + SIGSEGV when exiting gnome-shell. + Fix build with --enable-dtrace and create CI job to ensure it doesn't break in the future. + Delay JSString-to-UTF8 conversion. + Annotate return values. + Fix a regression with GError toString(). + GType memleak fixes. + Atoms refactor. + Write a "Code Hospitable" README file. + object: Method lookup repeatedly traverses introspection. + Handler of GtkEditable::insert-text signal is not run. - Changes from version 1.55.1: + object: Implement newEnumerate hook for GObject. + Various maintenance. + ByteArray.toString should stop at null bytes. + Byte arrays that represent encoded strings should be 0-terminated. + context: Defer and therefore batch forced GC runs. + context: use timeout with seconds to schedule a gc trigger. + arg: Add special-case for byte arrays going to C. * Tue Nov 13 2018 bjorn.lie@gmail.com - Update to version 1.54.3: + object: Fix write-only properties. + SIGSEGV when exiting gnome-shell. + SelectionData.get_targets crashes with "Unable to resize vector". + Gnome-shell crashes on destroying cached param specs. + GType memleak fixes. + Fix build with --enable-dtrace and create CI job to ensure it doesn't break in the future. * Mon Oct 22 2018 bjorn.lie@gmail.com - Update to version 1.54.2: + context: - Defer and therefore batch forced GC runs. - Use timeout with seconds to schedule a gc trigger. + fundamental: Check if gtype is valid before using it. + Backported a fix for a crash in the interactive interpreter when executing something like `throw "foo"`. + Backported various maintenance from 3.31. * Wed Sep 26 2018 bjorn.lie@gmail.com - Update to version 1.54.1: + legacy: Ensure generated GType names are valid. + Fix GJS profiler with MozJS 60. + Regression with DBus proxies. * Sun Sep 09 2018 antoine.belvire@opensuse.org - Update to version 1.54.0: + Compatibility fix for byte arrays: the legacy toString() behaviour of byte arrays returned from GObject-introspected functions is now restored. If you use the functionality, a warning will be logged asking you to upgrade your code (glgo#GNOME/gjs#227). * Fri Aug 31 2018 luc14n0@linuxmail.org - Update to version 1.53.92: + Technology preview of a GNOME 3.32 feature: native Promises for GIO-style asynchronous operations. Since this is a technology preview, we do not guarantee API stability with the version coming in GNOME 3.32. These APIs are marked with underscores to emphasize that they are not stable yet. Use them at your own risk. + Closed bugs and merge requests: - Added promisify to GJS GIO overrides (glgo#GNOME/gjs!225). - Temporary fix for Gio.File.prototype (glgo#GNOME/gjs!226). - Changes from version 1.53.91: + Closed bugs and merge requests: - Fix example eslint errors; - Fix more "lost" GInterface properties. - Changes from version 1.53.90: + GJS includes a simple debugger now. + New API for programs that embed GJS: gjs_context_setup_debugger_console(). + New JavaScript features! This version of GJS is based on SpiderMonkey 60, an upgrade from the previous ESR (Extended Support Release) of SpiderMonkey 52. + Fixed bugs: glgo#GNOME/gjs#178, glgo#GNOME/gjs#179, glgo#GNOME/gjs#185, glgo#GNOME/gjs#110, CWE-126 (glgo#GNOME/gjs#174), glgo#GNOME/gjs#149, glgo#GNOME/gjs#132, glgo#GNOME/gjs#161, glgo#GNOME/gjs#5, glgo#GNOME/gjs#186. - Changes from version 1.53.4: + Refactored the way GObject properties are accessed. This should be a bit more efficient, as property info (GParamSpec) is now cached for every object type. There may still be some regressions from this; please be on the lookout so we can fix them in the next release. + The memory usage for each object instance has been reduced, resulting in several dozens of megabytes less memory usage in GNOME Shell. + Fixed bugs: glgo#GNOME/gjs#160, glgo#GNOME/gjs#24, glgo#GNOME/gjs#173, glgo#GNOME/gjs#165, glgo#GNOME/gjs#171, glgo#GNOME/gjs#177, glgo#GNOME/gjs#172, glgo#GNOME/gjs#182. - Changes from version 1.53.3: + Closed bugs and merge requests: - Adding multiple ESLint rules for spacing. - Various maintenance. - Add pkgconfig(mozjs-60) BuildRequires while dropping its predecessor pkgconfig(mozjs-52) and mozjs52-devel to reflect upstream changes. - Conditionalize the use of systemtap/dtrace: they are currently failing. * Sun Jul 08 2018 luc14n0@linuxmail.org - Update to version 1.53.3: + Adding multiple ESLint rules for spacing. + Various small fixes. * Sun Jul 08 2018 luc14n0@linuxmail.org - Update to version 1.53.2: + The `Template` parameter passed to `GObject.registerClass()` now accepts file:/// URIs as well as resource:/// URIs and byte arrays. + New API: `gjs_get_js_version()` returns a string identifying the version of the underlying SpiderMonkey JS engine. The interpreter executable has also gained a `--jsversion` argument which will print this string. + Several fixes for memory efficiency and performance. + Fixed bugs: - Reduce memory overhead of g_object_weak_ref() (glgo#GNOME/gjs#144). - Use compacting GC on RSS size growth (glgo#GNOME/gjs#151). - Segfault on enumeration of GjSFileImporter properties when a searchpath entry contains a symlink. * Sun Jul 08 2018 luc14n0@linuxmail.org - Update to version 1.53.1: + Improvements to garbage collection performance. + Now, when building a class from a UI template file signals defined in the UI template file will be automatically connected. + Fixed bugs: - Tweener: Add min/max properties; - `ARGV` encoding issues (glgo#GNOME/gjs#22); - Make GC much more aggressive (glgo#GNOME/gjs#62 bsc#1093541); - Queue GC when a GObject reference is toggled down (glgo#GNOME/gjs#140); - overrides: support Gtk template callbacks; - Ensure not to miss the force_gc flag (glgo#GNOME/gjs#150). - Append LGPL-2.0-or-later to the License tag to conform to due source code licenses. And set LPGL-2.0-or-later License tag for libgjs library subpackage. - Drop fixed upstream patches: + gjs-Add-API-to-force-GC-schedule.patch and + gjs-Queue-forced-GC.patch. + gjs-ensure-force_gc-flag-use.patch. * Thu Jul 05 2018 bjorn.lie@gmail.com - Add gjs-ensure-force_gc-flag-use.patch: context: Ensure force_gc flag is not lost if the idle is scheduled (glgo#GNOME/gjs#150). * Sun May 06 2018 bjorn.lie@gmail.com - Update to version 1.52.3: + Include calc.js example from Seed (glgo#gnome/gjs#130). + CI: Un-pin the Fedora Docker image (glgo#gnome/gjs#141, (glgo#gnome/gjs#131). + Reduce overhead of wrapped objects (glgo#gnome/gjs#142, (glgo#gnome/gjs#121). + Various CI changes (glgo#gnome/gjs#134, (glgo#gnome/gjs#136). * Mon Apr 30 2018 bjorn.lie@gmail.com - Add gjs-Add-API-to-force-GC-schedule.patch: context: Add API to force GC schedule. There are situations where we cannot run the GC right away, but we also cannot ignore the need of running it. For those cases, add a new private function that forces GC to happen on idle (glgo"GNOME/gjs#140). - Add gjs-Queue-forced-GC.patch: object: Queue a forced GC when toggling down. Since we cannot know how many more wrapped GObjects are going be marked for garbage collection after the owner is destroyed, always queue a garbage collection when a toggle reference goes down (glgo"GNOME/gjs#140). * Wed Apr 18 2018 bjorn.lie@gmail.com - Update to version 1.52.2: + This is an unscheuled release in order to revert a commit that causes a crash on exit, with some Cairo versions. + Closed bugs and merge requests: - heapgraph.py: adjust terminal output style (glgo#gnome/gjs#120). - Warn about compilation warnings (glgo#gnome/gjs#125). - Miscellaneous commits. * Tue Apr 10 2018 luc14n0@linuxmail.org - Update to version 1.52.1: + In addition to System.dumpHeap(), you can now dump a heap from a running Javascript program by starting it with the environment variable GJS_DEBUG_HEAP_OUTPUT=some_name, and sending it SIGUSR1. + Closed bugs: - Crash when resolving promises if exception is pending (glgo#GNOME/gjs#18). - Tools for examining heap graph (glgo#GNOME/gjs#116). - Add support for passing flags to Gio.DBusProxy in makeProxyWrapper (glgo#GNOME/gjs#122). - Cannot instantiate Cairo.Context (glgo#GNOME/gjs#126). - GISCAN GjsPrivate-1.0.gir fails (glgo#GNOME/gjs#128). - Invalid read of g_object_finalized flag (glgo#GNOME/gjs#129). - Pick a different C++ linter. - profiler: Don't assume layout of struct sigaction. - Update tweener.js. - Various maintenance. * Tue Mar 13 2018 dimstar@opensuse.org - Update to version 1.52.0: + No changes from 1.51.92. * Fri Mar 09 2018 dimstar@opensuse.org - Update to version 1.51.92: + Abort if we are called back in a non-main thread. + Fix build failure of 3.27.91 identified on debian/Ubuntu. + Analyze project code quality with Code Climate inside CI. + Various CI improvements. * Wed Feb 28 2018 dimstar@opensuse.org - Modernize spec-file by calling spec-cleaner * Tue Feb 20 2018 luc14n0@linuxmail.org - Update to version 1.51.91: + Promises now resolve with a higher priority, so asynchronous code should be faster. + Bugs fixed: - profiler: Don't include alloca.h when disabled. - GNOME crash with fatal error "Finalizing proxy for an object that's scheduled to be unrooted: Gio.Subprocess" in gjs (glgo#GNOME/gjs#26). * Tue Feb 20 2018 dimstar@opensuse.org - Update to version 1.51.90: + GJS now, once again, includes a profiler, which outputs files that can be read with sysprof. + New API: For programs that want more control over when to start and stop profiling, there is new API for GjsContext. + New API: GObject.signal_connect(), GObject.signal_disconnect(), and GObject.signal_emit_by_name() are now available in case a GObject-derived class has conflicting connect(), disconnect() or emit() methods. + Bugs fixed: glgo#GNOME/gjs#2, glgo#GNOME/gjs#10, glgo#GNOME/gjs#11, glgo#GNOME/gjs#31, glgo#GNOME/gjs#37, glgo#GNOME/gjs#39, glgo#GNOME/gjs#40, glgo#GNOME/gjs#47, glgo#GNOME/gjs#54, glgo#GNOME/gjs#55, glgo#GNOME/gjs#56, glgo#GNOME/gjs#57, glgo#GNOME/gjs#58, glgo#GNOME/gjs#59, glgo#GNOME/gjs#65. * Tue Feb 20 2018 dimstar@opensuse.org - Update to version 1.51.4: + GJS will now log a warning when a GObject is accessed in Javascript code after the underlying object has been freed. + APIs exposed through GObject Introspection that use the GdkAtom type are now usable from Javascript. + The GitLab CI tasks have continued to gradually become more and more sophisticated. + Closed bugs and merge requests: - Add checks for GObjects that have been finalized. - Fail static analyzer if new warnings are found. - Run code coverage on GitLab. - Amend gtk.js and add gtk-application.js with suggestion. - Improve GdkAtom support that is blocking clipboard APIs. - Test "Cairo context has methods when created from a C function" fails. - Various CI improvements. - Various maintenance. * Tue Feb 20 2018 dimstar@opensuse.org - Update to version 1.51.3: + CI improvements on GitLab. * Tue Feb 20 2018 fezhang@suse.com - Update to version 1.51.2: + The home of GJS is now at GNOME's GitLab instance: https://gitlab.gnome.org/GNOME/gjs + Closed bugs and merge requests: - Allow throwing GErrors from JS virtual functions (bgo#682701) - [RFC] bootstrap system (bgo#777724). - Fix code coverage (and refactor it to take advantage of mozjs52 features) (bgo#788166). - Various maintenance (!2). - Get GitLab CI working and various improvements (#6, !7, !9, !11, !13). - Add build status badge to README (!8). - Use Docker images for CI (!12). + Some changes in progress to improve garbage collection when signals are disconnected (bgo#679688). * Mon Feb 19 2018 fcrozat@suse.com - Do not try to build against s390 anymore, since it doesn't build with mozjs54 and s390 is only for compability with old applications (gjs doesn't qualifies). * Tue Jan 30 2018 bjorn.lie@gmail.com - Update to version 1.50.4: + Gnome Shell crash with places-status extension when you plug an USB device (glgo#gjs#33 and glgo#gjs#38). - Changes from version 1.50.3: + GJS will now log a warning when a GObject is accessed in Javascript code after the underlying object has been freed in C. (This used to work most of the time, but crash unpredictably.) We now prevent this situation which, is usually by caused a memory management bug in the underlying C library. + Closed bugs and merge requests: - Add checks for GObjects that have been finalized (glgo#gjs#21, glgo#gjs#23, glgo#gjs#25, glgo#gjs#28, glgo#gjs#33). - Test "Cairo context has methods when created from a C function" fails (glgo#gjs#27, glgo#gjs#35). - Various fixes from the master branch for rare crashes. * Tue Oct 31 2017 luc14n0@linuxmail.org - Update to version 1.50.2: + Closed bugs and merge requests: - tweener: Fix a couple of warnings. - legacy: Allow ES6 classes to inherit from abstract Lang.Class class. + Minor bugfixes. - Update Url to https://wiki.gnome.org/Projects/Gjs: current Gjs' project web page. - Align BuildRequires with configure: + Add pkgconfig(*): cairo-gobject, gio-2.0, gobject-2.0 and gthread-2.0. + Drop pkgconfig(libmozjs-52) and libxml2-tools. * Tue Oct 03 2017 zaitor@opensuse.org - Update to version 1.50.1: + As a debugging aid, gjs_dumpstack() now works even during garbage collection. + Code coverage tools did not work so well in the last few 1.49 releases. The worst problems are now fixed, although even more improvements will be released in the next unstable version. Fixes include: - Specifing prefixes for code coverage files now works again. - Code coverage now works on lines inside ES6 class definitions. - The detection of which lines are executable has been improved a bit. * Mon Sep 11 2017 jengelh@inai.de - Rectify summaries. * Mon Sep 11 2017 dimstar@opensuse.org - Update to version 1.50.0: + Relicense coverage.cpp and coverage.h to the same license as the rest of GJS (bgo#787263). - Change license back to MIT. * Tue Sep 05 2017 dimstar@opensuse.org - Update to version 1.49.92: + It's now possible to build GJS with sanitizers (ASan and UBSan) enabled; add "--enable-asan" and "--enable-ubsan" to your configure flags. + There's also a "make check-valgrind" target which will run GJS's test suite under Valgrind to catch memory leaks and threading races. + Many of the crashes in GNOME 3.24 were caused by GJS's closure invalidation code which had to change from the known-working state in 1.46 because of changes to SpiderMonkey's garbage collector. This code has been refactored to be less complicated, which will hopefully improve stability and debuggability. + Docs tweaks. + Bugs fixed: bgo#783220, bgo#786668, bgo#786995, bgo#787113. * Mon Sep 04 2017 dimstar@opensuse.org - Temporariliy change license to GPL-2.0+: there are a couple files in the source tree, that link into libgjs and bring the code to GPL-2.0+ level; upstream is working on relicensing them (bgo#787263). * Tue Aug 22 2017 zaitor@opensuse.org - Update to version 1.49.91: + Deprecation: The private "__name__" property on Lang.Class instances is now discouraged. Code should not have been using this anyway, but if it did then it should use the "name" property on the class (this.__name__ should become this.constructor.name), which is compatible with ES6 classes. + Closed bugs: - Use ES6 classes (bgo#785652). - A few fixes for stack traces and error reporting (bgo#786183). - /proc/self/stat is read for every frame if GC was not needed (bgo#786017). + Build fix. * Mon Aug 21 2017 dimstar@opensuse.org - Update to version 1.49.90: + New API: GObject.registerClass(), intended for use with ES6 classes. + Misc 1.49 and mozjs52 enhancements (bgo#785040). + Switch to native promises (bgo#784713). + Can't call exports using top-level variable toString (bgo#781623). + Properties no longer recognized when shadowed by a method (bgo#785091). + Backport of changes required for use with mozjs-55. - Changes from version 1.49.6: + GJS crash in needsPostBarrier, possible access from wrong thread (bgo#783935). - Changes from version 1.49.4: + This version of GJS is based on SpiderMonkey 52. + New language features - ES6 classes. - Async functions and await operator. - Reflect - built-in object with methods for interceptable operations. + Backwards-incompatible changes - Non-standard "let expressions" and "let blocks" (e.g., `let (x = 5) { use(x) }`) are not supported any longer - Non-standard flags argument to String.match(), String.replace(), and String.search() (e.g. `str.replace('foo', 'bar', 'g')`) is now ignored. - Non-standard WeakSet.clear() method has been removed. - Variables declared with let and const are now 'global lexical bindings', as per the ES6 standard, meaning that they will not be exported in modules. + Closed bugs: - Prepare for SpiderMonkey 45 and 52 (bgo#781429). - Add a static analysis tool as a make target (bgo#783214). - Fix the build with debug logs enabled (bgo#784469). - Switch to SpiderMonkey 52 (bgo#784196). - Test suite fails when run with JIT enabled (bgo#616193). - Replace pkgconfig(mozjs-38) BuildRequires for pkgconfig(mozjs-52), following upstreams port. - Add libxml2-tools BuildRequires: new dependency. * Wed Aug 16 2017 dimstar@opensuse.org - Update to version 1.49.3: + Fixes in preparation for SpiderMonkey 52. + Use the Centricular fork of libffi to build on Windows. + Use a C++ auto pointer instead of g_autofree (bgo#777597). + Build failure in GNOME Continuous (bgo#783031). * Wed Aug 16 2017 zaitor@opensuse.org - Update to version 1.49.2: + New feature: When building an app with the Package module, using the Meson build system, you can now run the app with "ninja run" and all the paths will be set up correctly. + New feature: Gio.ListStore is now iterable. + New API: Package.requireSymbol(), a companion for the already existing Package.require(), that not only checks for a GIR library but also for a symbol defined in that library. + New API: Package.checkSymbol(), similar to Package.requireSymbol() but does not exit if the symbol was not found. Use this to support older versions of a GIR library with fallback functionality. + New API: System.dumpHeap(), for debugging only. Prints the state of the JS engine's heap to standard output. Takes an optional filename parameter which will dump to a file instead if given. + Fixes in preparation for SpiderMonkey 52. + Misc fixes. + Bugs fixed: bgo#775868, bgo#781882, bgo#781882, bgo#782065, bgo#782069, bgo#779593, bgo#782310, bgo#781219, bgo#780106. * Wed Aug 16 2017 zaitor@opensuse.org - Update to version 1.49.1: + test GObject Class failure (bgo#693676). + Enable incremental GCs (bgo#724797). + Don't silently accept extra arguments to C functions (bgo#680215). + Special case GValues in signals and properties (bgo#688128). + [cairo]: Instantiate wrappers properly (bgo#614413). + Warn if we're importing an unversioned namespace (bgo#689654). + Fixes in preparation for SpiderMonkey 45. * Wed Aug 16 2017 zaitor@opensuse.org - Update to version 1.48.6: + GJS crash in needsPostBarrier, possible access from wrong thread - more fixes for bgo#783935. * Wed Jun 21 2017 zaitor@opensuse.org - Update to version 1.48.5: + GJS crash in needsPostBarrier, possible access from wrong thread (bgo#783935). + Fix format string, caught by static analysis. + Fixes for regression in 1.48.4. * Fri Jun 16 2017 zaitor@opensuse.org - Update to version 1.48.4: + gnome-shell 3.24.1 crash on wayland (bgo#781799). * Sun May 07 2017 zaitor@opensuse.org - Update to version 1.48.3: + arg: don't crash when asked to convert a null strv to an array (bgo#775679). + gjs 1.48.0: does not compile on macOS with clang (bgo#780350). + Modernize shell scripts (bgo#781806). - Changes from version 1.48.2: + Intermittent crash in gnome-shell, probably in weak pointer updating code (bgo#781194). + Add contributor's guide (bgo#781297). + Misc fixes. * Mon Apr 10 2017 zaitor@opensuse.org - Update to version 1.48.1: + gjs crashed with SIGSEGV in gjs_object_from_g_object (bgo#779918). + Misc bug fixes. * Thu Mar 23 2017 jengelh@inai.de - Drop redundant %clean section. * Mon Mar 20 2017 dimstar@opensuse.org - Update to version 1.48.0: + Memory leak in object_instance_resolve() (bgo#780171). - Drop gjs-object-Fix-memory-leak-in-resolve.patch: fixed upstream. * Thu Mar 16 2017 luke.nukem.jones@gmail.com - Add patch gjs-object-Fix-memory-leak-in-resolve.patch: The "name" string, allocated in gjs_get_string_id(), wasn't getting freed at every exit point of the function (bgo#780171). * Tue Mar 14 2017 zaitor@opensuse.org - Update to version 1.47.92: + gjs 1.47.91 configure fails with Fedora's mozjs38 (bgo#779412). + tests: Don't fail when Gtk+-4.0 is available (bgo#779594). + gjs 1.47.91 test failures on non-amd64 (bgo#779399). + gjs_eval_thread should always be set (bgo#779693). + System.exit() should exit even across main loop iterations (bgo#779692). + Fix a typo in testCommandLine.sh (bgo#779772). + arg: Fix accidental fallthrough (bgo#779838). + jsUnit: Explicitly check if tempTop.parent is defined (bgo#779871). + Misc bug fixes. - Drop mozjs38 BuildRequires and stop passing JS_INTERP=/usr/bin/js to configure: No longer needed after upstream fixes. * Tue Feb 28 2017 zaitor@opensuse.org - Update to version 1.47.91: + overrides/Gio: Provide an empty array on error, rather than null (bgo#677513). + WithSignals parameter for Lang.Class (bgo#664897). + Add API to better support asynchronous code (bgo#608450). + Fix 1.47.90 tests are failing (bgo#778780). + boxed: Plug a memory leak (bgo#779036). + Don't crash when marshalling an unsafe integer from introspection (bgo#778705). + Lang.Class should include symbol properties (bgo#778718). + Console output of arrays should be UTF-8 aware (bgo#778729). + Various fixes for 1.47.91 (bgo#779293). + Progress towards a Visual Studio build of GJS on Windows. + Misc bug fixes. - Pass JS_INTERP=/usr/bin/js to configure in order to help it find the default, unversioned js binary. - Add moyjs38 BuildRequires: the mozjs interpreter is not installed per default together with mozjs-devel. * Wed Feb 15 2017 dimstar@opensuse.org - Update to version 1.47.90: + This version of GJS is based on SpiderMonkey 38. + Syntax enhancements. + Various API additions. + Backwards-incompatible changes: - It is now a syntax error to declare the same variable twice with "let" or "const" in the same scope. Existing code may need to be fixed, but the fix is trivial. + SpiderMonkey is now extra vocal about warning when you access an undefined property, and this causes some false positives. You can turn this warning off by setting GJS_DISABLE_EXTRA_WARNINGS=1. + When enumerating the importer object (i.e., "for (let i in imports) {...}") you will now get the names of any built-in modules that have previously been imported. + Bugs fixed: bgo#776966, bgo#777205, bgo#642506, bgo#776549, bgo#777962. - Replace pkgconfig(mozjs-31) BuildRequires with pkgconfig(mozjs-38), following upstreams port. * Fri Jan 20 2017 dimstar@opensuse.org - Update to version 1.47.4: + News for GJS embedders such as gnome-shell: - New API: The GjsCoverage type and its methods are now exposed. Use this if you are embedding GJS and need to output code coverage statistics. + Bugs fixed: bgo#563391, bgo#619710, bgo#636283, bgo#697020, bgo#730101, bgo#737607, bgo#742852, bgo#751146, bgo#760057, bgo#775444, bgo#775776, bgo#776193, bgo#776938. * Tue Dec 13 2016 dimstar@opensuse.org - Update to version 1.47.3: + New JavaScript features! This version of GJS is based on SpiderMonkey 31, an upgrade from the previous ESR (Extended Support Release) of SpiderMonkey 24. + New syntax: - Spread operator in function calls: someFunction(arg1, arg2, ...iterableObj). - Generator functions: yield, function*, yield*. - Binary and octal numeric literals: 0b10011100, 0o377. - Function arguments without defaults can now come after those with defaults: function f(x=1, y) {}. + New standard library module: Intl - Locale-sensitive formatting and string comparison. + New behaviour: - -0 and +0 are now considered equal as Map keys and Set values. - On typed arrays, numerical indexed properties ignore the prototype object: Int8Array.prototype[20] = 'foo';(new Int8Array(32))[20] == 0. + New non-standard Mozilla extensions: - Array comprehensions. - Generator comprehensions; both were originally proposed for ES6 but removed. + Bugs fixed: bgo#573335, bgo#595439, bgo#605972, bgo#742249, bgo#751252, bgo#770244, bgo#771598, bgo#771745, bgo#772027, bgo#772033, bgo#772386, bgo#772790, bgo#773297, bgo#773335, bgo#775205. - Replace pkgconfig(mozjs-24) BuildRequires with pkgconfig(mozjs-31), following upstreams port. * Thu Nov 10 2016 dimstar@opensuse.org - Update to version 1.47.0: + Backwards-incompatible change: we have changed the way certain JavaScript values are marshalled into GObject introspection 32 or 64-bit signed integer values, to match the ECMA standard. + Backwards-incompatible change: we have changed the way gjs-console interprets command-line arguments. - Add pkgconfig(gtk+-3.0) BuildRequires: enable GTK+ support. * Tue Sep 20 2016 zaitor@opensuse.org - Update to version 1.46.0: + Be future proof against Format fixes in SpiderMonkey (bgo#770111). * Tue Jul 19 2016 zaitor@opensuse.org - Update to version 1.45.4: + Release out args before freeing caller-allocated structs (bgo#768413). + Marshal variable array-typed signal arguments (bgo#761659). + Marshal all structs in out arrays correctly (bgo#761658). + Call setlocale() before processing arguments (bgo#760424). + Build fixes and improvements: bgo#737702, bgo#761072, bgo#761366, bgo#765905, bgo#767368. * Fri Apr 15 2016 mgorse@suse.com - Update to GNOME 3.20 Fate#318572 * Fri Dec 18 2015 damjanovic.ivo@gmail.com - Update to version 1.45.3: + Support external construction of gjs-defined GObjects (bgo#681254). + Add new format.printf() API (bgo#689664). + Add new API to get the name of a repository (bgo#685413). + Add C to JS support for arrays of flat structures (bgo#704842). + Add API to specify CSS node name (bgo#758349). + Return value of default signal handler for "on_signal_name" (bgo#729288). + Fix multiple emissions of onOverwrite in Tweener (bgo#597927). + Misc bug fixes: bgo#727370, bgo#623330, bgo#667908, bgo#757763. * Mon Nov 02 2015 zaitor@opensuse.org - Update to version 1.44.0: + Add Lang.Interface and GObject.Interface (bgo#751343, bgo#752984). + Support callbacks with (transfer full) return types (bgo#750286). + Add binding for setlocale() (bgo#753072). + Improve support to generate code coverage reports (bgo#743009, bgo#743007, bgo#742362, bgo#742535, bgo#742797, bgo#742466, bgo#751732). + Report errors from JS property getters/setters (bgo#730101). + Fix crash when garbage collection triggers while inside an init function (bgo#742517). + Port to CallReceiver/CallArgs (bgo#742249). + Misc bug fixes (bgo#736979, bgo#753072, bgo#750688). * Wed Feb 04 2015 dimstar@opensuse.org - Require gjs by the devel package: a user installing the -devel package expects the interpreter to also be present. * Sun Dec 21 2014 zaitor@opensuse.org - Update to version 1.43.3: + GTypeClass and GTypeInterface methods, such as g_object_class_list_properties(), are now available (bgo#700347). + Added full automatic support for GTK widget templates (bgo#700347, bgo#737661, bgo##739739). + Added control of JS Date caches to system module (bgo#739790). + Misc bug fixes and memory leak fixes (bgo#738122, bgo#740696, bgo#737701). * Mon Sep 29 2014 zaitor@opensuse.org - Update to version 1.42.0: + Fix a regression caused by PPC fixes in 1.41.91. * Mon Sep 01 2014 zaitor@opensuse.org - Update to version 1.41.91: + Added the ability to disable JS language warnings (bgo#734569). + Fixed crashes in PPC (and probably other arches) due to invalid callback signatures (bgo#729554). + Fixed regressions with dbus 1.8.6 (bgo#735358). + Readded file system paths to the default module search, to allow custom GI overrides for third party libraries. * Tue Jul 22 2014 dimstar@opensuse.org - Update to version 1.41.4: + Fixed memory management of GObject methods that unref their instance (bgo#729545). + Added a package module implementing the https://wiki.gnome.org/Projects/Gjs/Package application conventions (bgo#690136). + Updated translations. * Sat Jul 12 2014 dimstar@opensuse.org - Update to version 1.41.3: + Fixed GObject and Gtk overrides (bgo#727781, bgo#727394). + Fixed crashes caused by reentrancy during finalization (bgo#725024). + Added a wrapper type for cairo regions (bgo#682303). + Several cleanups to GC (bgo#725024). + Thread-safe structures are now finalized in the background, for greater responsiveness (bgo#725024, bgo#730030). + A full GC is now scheduled if after executing a piece of JS we see that the RSS has grown by over 150% (bgo#725099, bgo#728048). + ParamSpecs now support methods and static methods implemented by glib and exposed by gobject-introspection, in addition to the manually bound fields (bgo#725282). + Protototypes no longer include static properties or constructors (bgo#725282). + Misc cleanups and bugfixes: bgo#727786, bgo#725282, bgo#728004, bgo#727824. - Add pkgconfig(cairo-xlib) BuildRequires: new dependency. * Tue Apr 15 2014 zaitor@opensuse.org - Update to version 1.40.1: + Fixed build-time detection of GTK enablement (bgo#727394). + Fixed a crash caused by reentrancy in GObject finalizers (bgo#725024). + Fixed the GIMarshallingTests suite (bgo#728004). + Fixed marshalling of GObjects when known by an interface type from C to JS (bgo#727824). + Some typos and JS style cleanups (bgo#727781, bgo#727786). * Wed Mar 26 2014 zaitor@opensuse.org - Update to version 1.40.0: + No changes from version 1.39.91. * Tue Mar 04 2014 dimstar@opensuse.org - Update to version 1.39.91: + Implemented fundamental object support (bgo#621716, bgo#725061). + Fixed GIRepositoryGType prototype (bgo#724925). + Moved GObject.prototype.disconnect() to a JS implementation (bgo#698283). + Added support for enumeration methods (bgo#725143). + Added pseudo-classes for fundamental types (bgo#722554). + Build fixes (bgo#724853). * Wed Feb 19 2014 zaitor@opensuse.org - Update to version 1.39.90: + Enable coverage reports. + Minor bug fixes. * Mon Jan 27 2014 dimstar@opensuse.org - Update to version 1.39.3: + Bugs fixed: bgo#722286, bgo#722285, bgo#705465, bgo#705465, bgo#721246, bgo#721246, bgo#721246, bgo#721246, bgo#721246, bgo#721246, bgo#721246, bgo#721838, bgo#721355, bgo#721352, bgo#720157, bgo#711046, bgo#711046, bgo#711046, bgo#711046, bgo#711046, bgo#711046, bgo#711046, bgo#711046, bgo#711046, bgo#711046. - Replace pkgconfig(mozjs-17.0) BuildRequires with pkgconfig(mozjs-24), following upstream's switch to MozJS 24. * Wed Nov 20 2013 dimstar@opensuse.org - Update to version 1.39.0: + Bugs fixed: bgo#691409, bgo#703440, bgo#707297, bgo#708749, bgo#708831, bgo#708915, bgo#708920, bgo#709907, bgo#710697, bgo#710875, bgo#710878, bgo#711046, bgo#712242. * Wed Sep 25 2013 dimstar@opensuse.org - Update to version 1.38.1: + Build: Also dist another input file. * Tue Sep 24 2013 dimstar@opensuse.org - Update to version 1.38.0: + Console: don't have a NULL program name. + Build fixes. * Tue Aug 20 2013 dimstar@opensuse.org - Update to version 1.37.6: + stack: Add BeginRequest / EndRequest. + context: Turn on type inference. + configure: Remove HAVE_JS_CLASS_TRACE gunk. + Bugs fixed: bgo#704343, bgo#704406, bgo#704902, bgo#703826. * Wed Jul 10 2013 zaitor@opensuse.org - Update to version 1.37.4: + Bugs fixed: bgo#701196, bgo#701525, bgo#703068, bgo#703564. * Tue May 28 2013 dimstar@opensuse.org - Update to version 1.37.1: + Bugs fixed: bgo#670200, bgo#685436, bgo#690982, bgo#690984, bgo#693294, bgo#696933, bgo#697309, bgo#697436, bgo#697592, bgo#697816, bgo#697838, bgo#698182, bgo#698935, bgo#699783, bgo#699784, bgo#699817, bgo#699818, bgo#699878, bgo#700335, bgo#700336, bgo#700337, bgo#700529, bgo#700644, bgo#700668, bgo#700862. - Replace pkgconfig(mozjs185) BuildRequires with pkgconfig(mozjs-17.0), following upstreams change. * Mon Apr 22 2013 dimstar@opensuse.org - Update to version 1.36.1: + Bugs fixed: bgo#670200, bgo#697436. * Tue Mar 26 2013 dimstar@opensuse.org - Update to version 1.36.0: + No changes since version 1.35.9. * Thu Mar 21 2013 dimstar@opensuse.org - Update to version 1.35.9: + Bugs fixed: bgo#694300, bgo#694355, bgo#691447, bgo#694373, bgo#694221, bgo#694828, bgo#694827, bgo#694873, bgo#695186. * Tue Feb 19 2013 dimstar@opensuse.org - Update to version 1.35.8: + Convert many native modules to JS modules (bgo#692025). + Bugs fixed: bgo#691996, bgo#690982, bgo#692214, bgo#693627, bgo#693676. * Tue Jan 15 2013 dimstar@opensuse.org - Update to version 1.35.4: + system: Remove getuid/getgid/getpid + Bugs fixed: bgo#690688, bgo#691016, bgo#678410, bgo#678410, bgo#691028, bgo#691029, bgo#691030, bgo#680730, bgo#690982, bgo#691038, bgo#691039, bgo#691108, bgo#691109, bgo#691307, bgo#690982, bgo#685513, bgo#691719. * Wed Jan 09 2013 dimstar@opensuse.org - Update to version 1.35.3: + Add new GBytes API and conversions + Rework dynamic class system + boxed: introduce support for complex constructors + Fix memory leaks - Changes from version 1.35.2: + Gio: Don't eat errors when trying to call the initial asyncCallback + byteArray: Remove JSCLASS_CONSTRUCT_PROTOTYPE + Gjs: work around GType bug with dynamic types + Support Sun CC + Fix memory leaks. * Sat Oct 20 2012 dimstar@opensuse.org - Obsolete typelib-1_0-GjsDBus-1_0: this helps with updating from gnome 3.4 to gnome 3.6. * Mon Sep 24 2012 dimstar@opensuse.org - Update to version 1.34.0: + stack: Fix gjs_dumpstack (bgo#683992). * Tue Sep 18 2012 dimstar@opensuse.org - Update to version 1.33.14: + Bugs fixed: bgo#684064. - Add pkgconfig(libffi) BuildRequires: since gjs uses ffi functions, confiure now checks for libffi presence. * Tue Sep 04 2012 dimstar@opensuse.org - Update to version 1.33.10: + Throw an exception when registering a GType that already exists + Object: don't access priv->info if it's NULL + Misc bug fixes. - Drop gjs-avoid_crash.patch: fixed upstream. * Mon Aug 27 2012 dimstar@opensuse.org - Add gjs-avoid_crash.patch: Fix crashes in gnome-shell. * Mon Aug 20 2012 dimstar@opensuse.org - Update to version 1.33.9: + Several changes in the GC system. + Fix memory leaks. + Fix compiler warnings. * Tue Jul 17 2012 dimstar@opensuse.org - Update to version 1.33.4: + Build: link everything to gio + Fix memory leaks + Fix various bugs and issues caught by the Clang static analyzer. * Fri Jun 29 2012 dimstar@opensuse.org - Update to version 1.33.3: + Introduce special marshalling for GErrors + Gio: Split GDBus implementation into helpers + Gio: modernize DBus bindings + Trace signal closures from the gobject instead of the context keep-alive. * Fri Jun 29 2012 dimstar@opensuse.org - Update to version 1.33.2: + gi: Improve error message when we get a non-function for a callback + Fold libgjs-gdbus.so into libgjs.so + GDBus: fix NotImplementedError message + system: add getpid(), getuid(), getgid() + Handle arrays of filenames + Rename GjsDBus to GjsPrivate + Import a new "format" module + Add argument names to our function's toString + Support Function.prototype.length + Fix various memory leaks. - Rename typelib-1_0-GjsDBus-1_0 subpackage to typelib-1_0-GjsPrivate-1_0, following upstream change. - Drop gjs-getpid_uid_gid.patch: fixed upstream. * Thu Jun 28 2012 dimstar@opensuse.org - Add gjs-getpid_uid_gid.patch: system: add getpid(), getuid(), getgid(). * Wed Mar 28 2012 vuntz@opensuse.org - Update to version 1.32.0: + No changes. * Wed Mar 21 2012 vuntz@opensuse.org - Update to version 1.31.22: + Various bug fixes and code changes. + Build fixes. - Remove xz BuildRequires now that it comes for free in the build system. - Drop gjs-fix-build.patch: fixed upstream. * Mon Mar 05 2012 vuntz@opensuse.org - Update to version 1.31.20: + Represent GTypes as a new boxed wrapper type + Add "system" module + Introduce meta classes + object: - Implement gobject inheritance - Add support for glib properties - Add support for signals - Add support for interfaces + Support callbacks that accept array arguments + Various gjs_parse_args() improvements + Several other code changes. - Add gjs-fix-build.patch: fix code that cannot build. * Thu Jan 19 2012 vuntz@opensuse.org - Update to version 1.31.10: + Add native JSClass for interfaces + Add support for flat GValue arrays + Improvements related to singletons. + Fix ffi return value handling on 32 bit + Correctly convert from ffi return values to GIArgument on big-endian + Build fixes. * Sat Dec 24 2011 vuntz@opensuse.org - Split typelib file into typelib-1_0-GjsDBus-1_0 subpackage. - Add typelib-1_0-GjsDBus-1_0 Requires to devel subpackage. * Tue Dec 20 2011 vuntz@opensuse.org - Update to version 1.31.6: + Require mozjs185. + Add a common way to grab a GType for an object + Some work to improve support for ParamSpec. + lang: - Add new "Class" framework adapted from MooTools - Improve prototype property descriptors - Introduce abstract classes - Fix for reentrant calls + console: Fix ARGV when using -c to specify program + Several overrides improvements. + Various other code changes. - Remove %build_with_xulrunner define: only building against mozjs185 is supported now. - Add xz BuildRequires because we can't build a package for a xz-compressed tarball without explicitly specifying that... See bnc#697467 for more details. * Fri Oct 28 2011 dimstar@opensuse.org - Update to version 1.31.0: + Fix memory leaks + Don't use deprecated g_thread_init() and gvalue calls. + Fix compiler warnings. - Add pkgconfig(glib-2.0) BuildRequires. * Tue Sep 27 2011 vuntz@opensuse.org - Update to version 1.30.0: + No change, just a version bump. * Wed Sep 21 2011 vuntz@opensuse.org - Update to version 1.29.18: + Add optional signal emitted after a GC finishes + Add gjs_context_gc() wrapper + Run JS_updateMallocCounter() when creating GObjects * Thu Sep 01 2011 vuntz@opensuse.org - Update to version 1.29.17: + Add support for GPtrArrays. + Bind more cairo API. + Don't release too much when releasing arrays. + Misc bug fixes and improvements. * Sun Jul 31 2011 vuntz@opensuse.org - Update to version 1.29.16: + Make choice of javascript package non-automagic. + Install gi/ headers again. * Wed Jul 27 2011 vuntz@opensuse.org - Update to version 1.29.15: + Support in arrays of any type. + Rework array+length support, breaking API. + Various other array-related fixes. + Add GVariant support. + ADd GDBus port. + Add dbus conversion rule for 'q' to JS. + Remove SIGSEGV, SIGABRT handlers. + Merge gi.so into gjs.so. + Plug leaks. + console: Remove unwanted g_debug prints. + Various bug fixes. + Test-related changes. * Fri Jun 17 2011 vuntz@opensuse.org - Make it possible to build against js instead of xulrunner. This is controlled by a build_with_xulrunner define: + if it's set to a value other than 0, we keep the previous behavior. + if it's set to 0, we ignore all the xulrunner-related BuildRequires and Requires, and instead use a pkgconfig(mozjs185) BuildRequires. - Stop pretending we build against xulrunner from old openSUSE. * Wed Jun 15 2011 dimstar@opensuse.org - Update to version 1.29.0: + Fix introspection annotations. + Add infrastructure for override modules. + Don't hide deprecated methods. + Parse input as UTF-8, not ISO-8859-1. + Fix gunichar args. + Support null terminated C arrays of any type. + Fix memory leak. + Adapt to changes in future xulrunner. + Support compilation with standalone mozjs185. + Various other fixes. * Mon Apr 04 2011 fcrozat@novell.com - Update to version 0.7.14: + bgo#646246: Do connection processing in a high priority timeout. - Changes from version 0.7.12: + bgo#643325: Make gjs_debugger_native_trap a JSFastNative + bgo#643817: mallinfo() is slow, look at /proc/self/statm instead. + Various cleanups. * Tue Mar 01 2011 dimstar@opensuse.org - Update to version 0.7.11: + Add gjs_context_maybe_gc() which is similar to JS_MaybeGC but tries to account for native allocations made directly from libc when determining if GC is useful. Also invoke after creating new native objects. + Adapt to additional xulrunner 2.0 changes + Add back debugger module, with single nativeTrap() function to trigger debugger breakpoint + Fix bug with looking up namespaced native modules + Memory leak fix + Build fixes - Drop gjs-xulrunner20b11-fix.patch: fixed upstream. - This update addresses bnc#676079. * Mon Feb 21 2011 vuntz@opensuse.org - Add gjs-xulrunner20b11-fix.patch to adapt to API changes in latest xulrunner. * Thu Jan 27 2011 vuntz@opensuse.org - Update to version 0.7.10: + xul2: use JS_NewCompartmentAndGlobalObject to avoid crash with latest xulrunner 2. + console: don't segfault on huge lines * Mon Jan 17 2011 vuntz@opensuse.org - Update to version 0.7.9: + Adapt to JS_GetStringChars removal in xulrunner 2. + Handle wide ranging enum values better. + Some tests fixes. - Add Url tag. * Wed Dec 22 2010 dimstar@opensuse.org - Update to version 0.7.8: + Add a js-version property the GjsContext object and also allow specifying a specific version via a comment of the form '// application/javascript;version=1.8'. If no version is specified, all SpiderMonkey extensions are allowed. + Integrate with cairo-gobject library for support of boxed Cairo types + Add support for (out caller-allocates) + Add support for gunichar type + Support signals with G_TYPE_POINTER argument using introspection information + When invoking callback for void-returning async D-Bus method implementations, allow empty parameter list instead of [] + Ignore empty elements in the module search path instead of treating them as the current directory + Handle removal of JS_GetStringBytes() in Spidermonkey + Handle removal of JS_GetFunctionName() in Spidermonkey + Use new g_object_info_find_method_using_interfaces() to allow future caching. + Improve efficiency of module search + Fix problems with JS_Add/RemoveRoot pairing + Memory management fixes + Improve error and debugging messages + Build fixes + Bugs fixed: bgo#624811, bgo#632551, bgo#632626, bgo#632925, bgo#633199, bgo#633477, bgo#635359, bgo#635368, bgo#635371, bgo#635707, bgo#636263, bgo#636619, bgo#636927, bgo#636928, bgo#637246 * Fri Dec 03 2010 vuntz@opensuse.org - Add explicit Requires of mozilla-xulrunner%{xulrunner_ver} to libgjs0: the Requires on libmozjs.so is not enough, as there might be more than one provider, and it could be the wrong version of xulrunner. * Tue Nov 16 2010 dimstar@opensuse.org - Update to version 0.7.7: + bgo#632159: Adapt to removal of SlowNative functions + Support more recent development versions of XulRunner. * Mon Nov 15 2010 dimstar@opensuse.org - Update to version 0.7.6: + bgo#610859: Add makeProxyClass() function to the dbus module for easy creation of proxy classes. + Add an extra test case. + Build fixes. * Thu Oct 28 2010 prusnak@opensuse.org - Use pkgconfig BuildRequires when possible: + old BuildRequires: cairo-devel, dbus-1-glib-devel, gobject-introspection-devel. + new BuildRequires: cairo, dbus-glib-1 and gobject-introspection-1.0. - Rename libgjs-0 to libgjs0: this is the correct SLPP name. Add appropriate Provides/Obsoletes. - Do not add explicit Requires of dbus-1-devel and gobject-introspection-devel for libgjs-devel: they will be added automatically. - Use %_smp_mflags, make and %make_install, following our new best packaging practices. * Thu Oct 28 2010 vuntz@opensuse.org - Update to version 0.7.5: + Replace JS_SealObject by JS_FreezeObject. + Port all functions to JSFUN_FAST_NATIVE. + JS_IsNativeFrame replaced by JS_IsScriptFrame. + Separate "basic" API from "embedder/module". + Build fixes. - Build against mozilla-xulrunner20 in 11.4 and later, and stop supporting the 11.1 build (that was using mozilla-xulrunner190). * Tue Oct 05 2010 vuntz@opensuse.org - Update to version 0.7.4: + Require single include use of headers. + Support xulrunner 1.9.3. + Make gjs_profiler_reset public. + Remove "debugger" module. + Replace call context with a concept of "current context". + Replace "load context" with a "import global". + Various other fixes. - Drop gjs_gi_probes.d, gjs.stp.in source files: they are now included in tarball. * Thu Sep 16 2010 vuntz@opensuse.org - Update to version 0.7.2: + Fix 64 bit issues. + Explicitly link gjs-console against glib. + Update to (and require) gobject-introspection 0.9.5. + Various other fixes. - Remove gir-repository Recommends: all the interesting gir files are now directly shipped with the libraries. * Fri Jul 23 2010 vuntz@opensuse.org - Update to version 0.7.1: + Add support for GArray to gjs_value_from_g_argument + Add support for GArray to gjs_value_to_g_argument + Add support for dtrace/SystemTap + Add a promise module + Handle GValues of type G_TYPE_STRV + [gdb-check] Add a script for easier use + Throw a better warning for GValues containing container types + [importer] Allow native modules in gjs.so + [gjs] Add a byteArray module. + Adjust for g-i change to remove machine-independent type tags + Various other fixes. - Drop gjs-bgo623775.patch: fixed upstream. - Enable systemtap support: add systemtap-sdt-devel BuildRequires, pass --enable-systemtap to configure. Add gjs_gi_probes.d and gjs.stp.in source files, which are missing from the tarball (bgo#625090). * Thu Jul 15 2010 dimstar@opensuse.org - Add gjs-bgo623775.patch, from upstream git to fix build with gobject-introspection 0.9.2. * Fri May 28 2010 dimstar@opensuse.org - Update to version 0.7: + Add support for "foreign structs" - which are structures that are referenced from gobject-introspection, but need glue code to actually handle them. + Hook cairo bindings to integrate with gobject-introspected libraries using new foreign struct support + Start working toward thread-safety by adding JS_BeginRequest/JS_EndRequest calls throughout the codebase + add Tweener.setTimeScale and Tweener.getTimeScale + Wrap cairo_copy_path, cairo_copy_path_flat, and cairo_append_path + Handle destroy callbacks of type other than GDestroyNotify + Handle flag arguments not registered with GObject + Log errors that occur in callbacks + Code cleanup + Build fixes + Bugs fixed: bgo#610357, bgo#614055, bgo#614344, bgo#615078, bgo#615222, bgo#617343, bgo#617568, bgo#617702, bgo#617972, bgo#618190, bgo#618195, bgo#618200, bgo#618201 * Fri Mar 26 2010 vuntz@opensuse.org - Build against mozilla-xulrunner192-devel on openSUSE > 11.2. - Add dbus-1-devel Requires to devel package. * Fri Mar 19 2010 dimstar@opensuse.org - Update to version 0.6: + Optimize function invocation using libffi directly, speeding up function invocation benchmarks by as much as 30%. + Add a native Cairo module + Don't include user_data arguments for callbacks, in Javascript you should use closures instead + Add a --command/-c argument to gjs-console + Add gjs_context_get_native_context() to allow access to the native context + Improve internal API support for collecting function arguments and defining types + Add examples using gio and libsoup + Add datadir/share/gjs-1.0 to searchpath in addition to XDG_DATA_DIRS + Add -rpath for libmozjs when linking gjs-console + Improve test cases and add internal assertions + Bugs fixed: bgo#561524, bgo#604074, bgo#604076, bgo#606258, bgo#609691, bgo#609830, bgo#610320, bgo#610370, bgo#610574, bgo#611529, bgo#611585, bgo#611590, bgo#611591, bgo#611811. bgo#613106 - BuildRequire cairo-devel. * Tue Feb 16 2010 dimstar@opensuse.org - Update to version 0.5: + Add a test for DBus.getcurrentMessageContext() + [dbus] include service name in error messages + gjs_define_object_class(): generate correct object hierarchy + Log the gjs-console command-line on startup + move gjs_error_reporter into a C++ file jsapi-private.cpp + don't use PTRDIFF macro from private spidermonkey header + Require C++ + bgo#584558 - Need print() function + Enable JIT if we can, by default + Make things build with glib 2.16 + Allow null/undefined to be passed in to callbacks + Support for callback functions - BuildRequire gcc-c++. * Wed Aug 26 2009 vuntz@novell.com - Update to version 0.4: + Use g_boxed methods for GValue copying/freeing + Add symbolic link from gjs to gjs-console in $(bindir) + Use gssize in gjs_string_from_utf8/gjs_string_from_filename + Don't use undefined variable in dbus exception + Add gjs_parse_args + Add a gettext module + Better toString() for introspection objects + Port modules/mainloop to gjs_parse_args + scripts: don't hardcode path to python + switch DEBUG_DBUS_MARSHAL log messages to be compiled out by default + bgo#560048 - Use JS_SetPropertyAttributes to seal imports + autoconf-2.64 compat: Don't use $(builddir) or $(abs_top_builddir) + Fix gjs_crash_after_timeout() problems * Thu Aug 06 2009 vuntz@novell.com - Build against mozilla-xulrunner191. * Mon Jul 06 2009 vuntz@novell.com - Update to version 0.3: + DBus support + Support simple fields for boxed types + Support "copy construction" of boxed types + Support simple structures not registered as boxed - Allow access to nested structures - Allow direct assignment to nested structure fields - Allow enum and flag structure fields - Allow creating boxed wrapper without copy + Support for non-default constructor (i.e. constructors like GdkPixbuf.Pixbuf.new_from_file(file)) + Add a Lang.bind function which binds the meaning of 'this' + Add an interactive console gjs-console + Allow code in directory modules (i.e. the code should reside in __init__.js files) + Fix handling of enum/flags return values + Handle non-gobject-registered flags + Add Tweener.registerSpecialProperty to tweener module + Add profiler for javascript code + Add gjs_context_get_all and gjs_dumpstack - useful to invoke from a debugger such as gdb + Support GHashTable + Add support for UNIX shebang (i.e. #!/usr/bin/gjs-console) + Support new introspection short/ushort type tags + Support GI_TYPE_TAG_FILENAME + Improve support for machine-dependent integer types and arrays of integers + Fix several memory leaks + Bugs fixed: bgo#560506, bgo#560670, bgo#560808, bgo#561514, bgo#561516, bgo#561849, bgo#562892, bgo#564424, bgo#564664, bgo#566185, bgo#567675, bgo#569178, bgo#570775, bgo#570964, bgo#580948, bgo#584560, bgo#584850, bgo#584858, bgo#584858, bgo#585386, bgo#585460, bgo#586665, bgo#586760, bgo#561203, bgo#561573, bgo#561585, bgo#561664, bgo#561686, bgo#561812, bgo#562575, bgo#565029, bgo#567078, bgo#569374, bgo#572113, bgo#572121, bgo#572130, bgo#572258, bgo#580865, bgo#580947, bgo#580957, bgo#581277, bgo#581384, bgo#581385, bgo#581389, bgo#582686, bgo#582704, bgo#582707, bgo#584849, bgo#560808 - Add dbus-1-glib-devel BuildRequires. * Fri May 01 2009 vuntz@novell.com - Initial package.
/usr/bin/gjs /usr/bin/gjs-console /usr/share/doc/packages/gjs /usr/share/doc/packages/gjs/NEWS /usr/share/doc/packages/gjs/README.md /usr/share/licenses/gjs /usr/share/licenses/gjs/COPYING
Generated by rpm2html 1.8.1
Fabrice Bellet, Sat Nov 16 00:28:06 2024