Update userspace-rcu from v0.7.3 to v0.12.1#259
Closed
am11 wants to merge 1 commit into
Closed
Conversation
9bb5152 to
34cf92a
Compare
jperkin
added a commit
that referenced
this pull request
Aug 26, 2020
Version 2.11 - 9 Jul 2020
- Introduction of the barman-cli-cloud package that contains all cloud
related utilities.
- Add barman-cloud-wal-restore to restore a WAL file previously
archived with barman-cloud-wal-archive from an object store
- Add barman-cloud-restore to restore a backup previously taken with
barman-cloud-backup from an object store
- Add barman-cloud-backup-list to list backups taken with
barman-cloud-backup in an object store
- Add support for arbitrary archive size for barman-cloud-backup
- Add support for --endpoint-url option to cloud utilities
- Remove strict superuser requirement for PG 10+ (by Kaarel Moppel)
- Add --log-level runtime option for barman to override default log
level for a specific command
- Support for PostgreSQL 13
- Bug fixes:
- Suppress messages and warning with SSH connections in barman-cli
(GH-257)
- Fix a race condition when retrieving uploaded parts in
barman-cloud-backup (GH-259)
- Close the PostgreSQL connection after a backup (GH-258)
- Check for uninitialized replication slots in receive-wal --reset
(GH-260)
- Ensure that begin_wal is valorised before acting on it (GH-262)
- Fix bug in XLOG/WAL arithmetic with custom segment size (GH-287)
- Fix rsync compatibility error with recent rsync
- Fix PostgreSQLClient version parsing
- Fix PostgreSQL exception handling with non ASCII messages
- Ensure each postgres connection has an empty search_path
- Avoid connecting to PostgreSQL while reading a backup.info file
If you are using already barman-cloud-wal-archive or barman-cloud-backup
installed via RPM/Apt package and you are upgrading your system, you
must install the barman-cli-cloud package. All cloud related tools are
now part of the barman-cli-cloud package, including
barman-cloud-wal-archive and barman-cloud-backup that were previosly
shipped with barman-cli. The reason is complex dependency management of
the boto3 library, which is a requirement for the cloud utilities.
Version 2.10 - 5 Dec 2019
- Pull .partial WAL files with get-wal and barman-wal-restore,
allowing restore_command in a recovery scenario to fetch a partial
WAL file's content from the Barman server. This feature simplifies
and enhances RPO=0 recovery operations.
- Store the PostgreSQL system identifier in the server directory and
inside the backup information file. Improve check command to verify
the consistency of the system identifier with active connections
(standard and replication) and data on disk.
- A new script called barman-cloud-wal-archive has been added to the
barman-cli package to directly ship WAL files from PostgreSQL (using
archive_command) to cloud object storage services that are
compatible with AWS S3. It supports encryption and compression.
- A new script called barman-cloud-backup has been added to the
barman-cli package to directly ship base backups from a local
PostgreSQL server to cloud object storage services that are
compatible with AWS S3. It supports encryption, parallel upload,
compression.
- Automated creation of replication slots through the server/global
option create_slot. When set to auto, Barman creates the replication
slot, in case streaming_archiver is enabled and slot_name is
defined. The default value is manual for back-compatibility.
- Add '-w/--wait' option to backup command, making Barman wait for all
required WAL files to be archived before considering the backup
completed. Add also the --wait-timeout option (default 0, no
timeout).
- Redact passwords from Barman output, in particular from
barman diagnose (InfoSec)
- Improve robustness of receive-wal --reset command, by verifying that
the last partial file is aligned with the current location or, if
present, with replication slot's.
- Documentation improvements
- Bug fixes:
- Wrong string matching operation when excluding tablespaces
inside PGDATA (GH-245)
- Minor fixes in WAL delete hook scripts (GH-240)
- Fix PostgreSQL connection aliveness check (GH-239)
Version 2.9 - 1 Aug 2019
- Transparently support PostgreSQL 12, by supporting the new way of
managing recovery and standby settings through GUC options and
signal files (recovery.signal and standby.signal)
- Add --bwlimit command line option to set bandwidth limitation for
backup and recover commands
- Ignore WAL archive failure for check command in case the latest
backup is WAITING_FOR_WALS
- Add --target-lsn option to set recovery target Log Sequence Number
for recover command with PostgreSQL 10 or higher
- Add --spool-dir option to barman-wal-restore so that users can
change the spool directory location from the default, avoiding
conflicts in case of multiple PostgreSQL instances on the same
server (thanks to Drazen Kacar).
- Rename barman_xlog directory to barman_wal
- JSON output writer to export command output as JSON objects and
facilitate integration with external tools and systems (thanks to
Marcin Onufry Hlybin). Experimental in this release.
Bug fixes:
- replication-status doesn’t show streamers with no slot (GH-222)
- When checking that a connection is alive (“SELECT 1” query),
preserve the status of the PostgreSQL connection (GH-149). This
fixes those cases of connections that were terminated due to
idle-in-transaction timeout, causing concurrent backups to fail.
Version 2.8 - 17 May 2019
- Add support for reuse_backup in geo-redundancy for incremental
backup copy in passive nodes
- Improve performance of rsync based copy by using strptime instead of
the more generic dateutil.parser (#210)
- Add ‘--test’ option to barman-wal-archive and barman-wal-restore to
verify the connection with the Barman server
- Complain if backup_options is not explicitly set, as the future
default value will change from exclusive_backup to concurrent_backup
when PostgreSQL 9.5 will be declared EOL by the PGDG
- Display additional settings in the show-server and diagnose
commands: archive_timeout, data_checksums, hot_standby,
max_wal_senders, max_replication_slots and wal_compression.
- Merge the barman-cli project in Barman
- Bug fixes:
- Fix encoding error in get-wal on Python 3 (Jeff Janes, #221)
- Fix exclude_and_protect_filter (Jeff Janes, #217)
- Remove spurious message when resetting WAL (Jeff Janes, #215)
- Fix sync-wals error if primary has WALs older than the first
backup
- Support for double quotes in synchronous_standby_names setting
- Minor changes:
- Improve messaging of check --nagios for inactive servers
- Log remote SSH command with recover command
- Hide logical decoding connections in replication-status command
This release officially supports Python 3 and deprecates Python 2 (which
might be discontinued in future releases).
PostgreSQL 9.3 and older is deprecated from this release of Barman.
Support for backup from standby is now limited to PostgreSQL 9.4 or
higher and to WAL shipping from the standby (please refer to the
documentation for details).
Version 2.7 - 21 Mar 2019
- Fix error handling during the parallel backup. Previously an
unrecoverable error during the copy could have corrupted the barman
internal state, requiring a manual kill of barman process with
SIGTERM and a manual cleanup of the running backup in PostgreSQL.
(GH#199)
- Fix support of UTF-8 characters in input and output (GH#194 and
GH#196)
- Ignore history/backup/partial files for first sync of geo-redundancy
(GH#198)
- Fix network failure with geo-redundancy causing cron to break
(GH#202)
- Fix backup validation in PostgreSQL older than 9.2
- Various documentation fixes
Version 2.6 - 4 Feb 2019
- Add support for Geographical redundancy, introducing 3 new commands:
sync-info, sync-backup and sync-wals. Geo-redundancy allows a Barman
server to use another Barman server as data source instead of a
PostgreSQL server.
- Add put-wal command that allows Barman to safely receive WAL files
via PostgreSQL's archive_command using the barman-wal-archive script
included in barman-cli
- Add ANSI colour support to check command
- Minor fixes:
- Fix switch-wal on standby with an empty WAL directory
- Honour archiver locking in wait_for_wal method
- Fix WAL compression detection algorithm
- Fix current_action in concurrent stop backup errors
- Do not treat lock file busy as an error when validating a backup
jperkin
pushed a commit
that referenced
this pull request
Sep 21, 2020
# remotes 2.2.0 ## New functions and features * New `system_requirements()` function to query the Public RStudio Package Manager for system requirements for a package (and its dependencies) * Remotes functions can now install dependencies from additional DESCRIPTION fields, e.g. passing `dependencies = "Config/Needs/website"` will install the dependencies listed in the `Config/Needs/website: ` field in the package's DESCRIPTION. Prefixing fields with `Config/Needs` allows them to pass `R CMD check` without a NOTE, so it is the recommended format for these extra dependencies. * `install_*()` family of functions now use the default branch in the repository, not the `master` branch (@MyKo101,#508). ## Minor improvements and fixes * Internal functions `remote_download()`, `remote_metadata()`, `remote_package_name()` and `remote_sha()` are now exported, so 3rd party packages could provide methods for new remote types (#509, #56) * Internal functions `add_metadata()`, `github_remote()` are now exported. They are mainly for 3rd party extensions and should not be used by most users (#485). * `install_version()` now keeps searching subsequent repositories for the requested version, rather than failing if the version it finds in an early repository is unsuitable. (#305, @kenahoo) * `install_version()` now understands specifications like '>= 1.0' or '>= 1.12.0, < 1.14' to install the first version of the package it can find that satisfies the criteria. (#305, @kenahoo) * `install_version()` now avoids use of `base::url()`, as prior to R 3.6.2 it had a bug when downloading large files (#463) * `parse_submodules()` internal regular expression is now PCRE 2 compatible (#502, @jan-glx) * `update_packages()` argument `force` has been deprecated and no longer has any effect (#521) * Another fix for the mixed binary and source dependency issue, it should hopefully be fully squashed now (#296) * The upgrade menu is now interruptible in RStudio (#489). * Internal GitHub functions now correctly handle cases when characters are not representable in the default locale, but are representable in UTF-8 (#492). # remotes 2.1.1 ## Minor improvements and fixes * Installing mixed binary and source dependencies when the latest versions of some packages do not have binaries yet should now install dependencies in the correct order to prevent load failures (#296) * `github_error()` now also works when a GitHub (Enterprise) server does not return information about the rate limit (@dpprdan, #396, #413). * `install_gitlab` passes the `quiet` argument on to `gitlab_pat` (@MichaelChirico, #437) * `remotes` is now resilient against installed packages that declare `RemoteType: standard` but do not include a `RemoteRepos` or `RemotePkgType` field. In such a case, the values for `getOption("repos")` and `getOption("pkgType")` will be used (respectively). * `install_gitlab()` now installs from repositories in subgroups and with dots in their name. `subdir` is now an explicit argument instead of implicit in `repo` (@robertdj, #259, #420). * `install()` now passes the ellipsis `...` to `install_deps()` (@Neil-Schneider, #411) * The tests have been updated to work with newer versions of callr and R 4.0
jperkin
pushed a commit
that referenced
this pull request
Sep 21, 2020
…sing TEST_DEPENDS. # RSQLite 2.2.0 - Avoid mangling column names (#259). # RSQLite 2.1.5 - Upgrade bundled sqlite version to 3.30.1. - Implement `dbGetInfo()` for driver and connection objects (#117). - Remove custom `dbListFields()` method (#228). - Only export relevant symbols to the shared library (#303, @troels). - Fulfill requirements for CII badge (#300, @TSchiefer). # RSQLite 2.1.4 - Replace `std::mem_fn()` by `boost::mem_fn()` which works for older compilers. # RSQLite 2.1.3 - Replace `std::mem_fun_ref()` by `std::mem_fn()`.
jperkin
pushed a commit
that referenced
this pull request
Sep 21, 2020
# DBI 1.1.0 ## New features - New `DBIConnector` class (#280). - Specify `immediate` argument to `dbSendQuery()`, `dbGetQuery()`, `dbSendStatement()` and `dbExecute()` (#268). - Use specification for `dbGetInfo()` (#271). - `dbUnquoteIdentifier()` now supports `Id()` objects with `catalog` members (#266, @raffscallion). It also handles unquoted identifiers of the form `table`, `schema.table` or `catalog.schema.table`, for compatibility with dbplyr. ## Documentation - New DBI intro article (#286, @cutterkom). - Add pkgdown reference index (#288). - DBI specification on https://dbi.r-dbi.org/dev/articles/spec now comes with a table of contents and code formatting. - Update examples to refer to `params` instead of `param` (#235). - Improved documentation for `sqlInterpolate()` (#100). Add usage of `SQL()` to `sqlInterpolate()` examples (#259, @renkun-ken). - Improve documentation for `Id`. ## Internal - Add tests for `dbUnquoteIdentifier()` (#279, @baileych). - `sqlInterpolate()` uses `dbQuoteLiteral()` instead of checking the type of the input. - Avoid partial argument match in `dbWriteTable()` (#246, @richfitz).
jperkin
pushed a commit
that referenced
this pull request
Nov 6, 2020
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 [Philip Chimento,
#296, !399]
* build: Various clean-ups [Jan Tojnar, !403]
* Correctly handle vfunc inout parameters [Marco Trevisan, !404]
* Fix failed redirect of output in CommandLine tests [Liban Parker, !409]
Version 1.58.6
--------------
- Various backports:
* Correctly handle vfunc inout parameters [Marco Trevisan]
* Fix failed redirect of output in CommandLine tests [Liban Parker]
* Avoid filename conflict when tests run in parallel [Philip Chimento]
Version 1.64.0
--------------
- No change from 1.63.92.
Version 1.63.92
---------------
- Closed bugs and merge requests:
* object: Use g_irepository_get_object_gtype_interfaces [Colin Walters, Philip
Chimento, #55, !52]
* Add -fno-semantic-interposition to -Bsymbolic-functions [Jan Alexander
Steffens (heftig), #303, !397]
* examples: add a dbus-client and dbus-service example [Andy Holmes, !398]
* Various GNOME Shell crashes during GC, mozjs68 regression [Jan Alexander
Steffens (heftig), Philip Chimento, #301, !396]
Version 1.63.91
---------------
- Closed bugs and merge requests:
* [mozjs68] Reorganize modules for ESM. [Evan Welsh, Philip Chimento, !383]
* Various maintenance [Philip Chimento, !388]
* Fix building GJS master with Visual Studio and update build instructions
[Chun-wei Fan, !389]
* Resolve "Gnome Shell crash on GC run with mozjs68" [Philip Chimento, !391]
* installed-tests/js: Add missing dep on warnlib_typelib [Jan Alexander
Steffens, !393]
* object: Cache known unresolvable properties [Daniel van Vugt, Philip
Chimento, !394, #302]
Version 1.58.5
--------------
- Closed bugs and merge requests:
* Fix Visual Studio builds of gnome-3-34 (1.58.x) branch [Chun-wei Fan, !392]
* Can not access GObject properties of classes without GI information [Juan
Pablo Ugarte, !385, #299]
Version 1.63.90
---------------
- New JS API: The GObject module has gained new overrides:
GObject.signal_handler_find(), GObject.signal_handlers_block_matched(),
GObject.signal_handlers_unblock_matched(), and
GObject.signal_handlers_disconnect_matched(). These overrides replace the
corresponding C API, which was not idiomatic for JavaScript and was not fully
functional because it used bare C pointers for some of its functionality.
See modules/overrides/GObject.js for API documentation.
- New JavaScript features! This version of GJS is based on SpiderMonkey 68, an
upgrade from the previous ESR (Extended Support Release) of SpiderMonkey 60.
Here are the highlights of the new JavaScript features.
For more information, look them up on MDN or devdocs.io.
* 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. The old way, `window`, will
still work, but is no longer preferred.
+ BigInt literals are expressed by a number with "n" appended to it: for
example, `1n`, `9007199254740992n`.
* New APIs
+ String.prototype.trimStart() and String.prototype.trimEnd() now exist and
are preferred instead of trimLeft() and trimRight() which are nonstandard.
+ String.prototype.matchAll() allows easier access to regex capture groups.
+ Array.prototype.flat() flattens nested arrays, well-known from lodash and
similar libraries.
+ Array.prototype.flatMap() acts like a reverse filter(), allowing adding
elements to an array while iterating functional-style.
+ Object.fromEntries() creates an object from iterable key-value pairs.
+ Intl.RelativeTimeFormat is useful for formatting time differences into
human-readable strings such as "1 day ago".
+ BigInt64Array and BigUint64Array are two new typed array types.
* New behaviour
+ There are a lot of minor behaviour changes as SpiderMonkey's JS
implementation conforms ever closer to existing ECMAScript standards and
adopts new ones. For complete information, read the Firefox developer
release notes:
https://developer.mozilla.org/en-US/Firefox/Releases/61#JavaScript
https://developer.mozilla.org/en-US/Firefox/Releases/62#JavaScript
https://developer.mozilla.org/en-US/Firefox/Releases/63#JavaScript
https://developer.mozilla.org/en-US/Firefox/Releases/64#JavaScript
https://developer.mozilla.org/en-US/Firefox/Releases/65#JavaScript
https://developer.mozilla.org/en-US/Firefox/Releases/66#JavaScript
https://developer.mozilla.org/en-US/Firefox/Releases/67#JavaScript
https://developer.mozilla.org/en-US/Firefox/Releases/68#JavaScript
* Backwards-incompatible changes
+ The nonstandard String generics were removed. These had only ever been
implemented by Mozilla and never made it into a standard. (An example of a
String generic is calling a string method on something that might not be a
string like this: `String.endsWith(foo, 5)`. The proper way is
`String.prototype.endsWith.call(foo, 5)` or converting `foo` to a string.)
This should not pose much of a problem for existing code, since in the
previous version these would already print a deprecation warning whenever
they were used.
You can use `moz68tool` from mozjs-deprecation-tools
(https://gitlab.gnome.org/ptomato/moz60tool) to scan your code for this
nonstandard usage.
- Closed bugs and merge requests:
* invalid import on signal.h [#295, !382, Philip Chimento]
* SpiderMonkey 68 [#270, !386, Philip Chimento]
* GObject: Add override for GObject.handler_block_by_func [#290, !371, Philip
Chimento]
Version 1.63.3
--------------
- Closed bugs and merge requests:
* JS ERROR: TypeError: this._rooms.get(...) is undefined [Philip Chimento,
#289, !367]
* Run CI build with --werror [Philip Chimento, #286, !365]
* build: Remove Autotools build system [Philip Chimento, !364]
* gjs-symlink script is incompatible with distro builds [Michael Catanzaro,
Bastien Nocera, #291, !369, !370]
* installed-tests: Don't hardcode the path of bash [Ting-Wei Lan, !372]
* Update Visual Studio build instructions (after migrating to full Meson-based
builds) [Chun-wei Fan, !375]
* object: Warn when setting a deprecated property [Florian Müllner, !378]
* CI: Create mozjs68 CI images [Philip Chimento, !379]
* Various maintenance [Philip Chimento, !374, !380, !381]
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.
- Closed bugs and merge requests:
* GSettings crash fixes [Andy Holmes, !373]
- Memory savings for Cairo objects [Philip Chimento, !374]
- Fix for crash in debug functions [Philip Chimento, !374]
Version 1.63.2
--------------
- There is an option for changing the generated GType name for GObject classes
created in GJS to a new scheme that is less likely to have collisions. This
scheme is not yet the default, but you can opt into it by setting
`GObject.gtypeNameBasedOnJSPath = true;` as early as possible in your
prograṁ. Doing this may require some changes in Glade files if you use
composite widget templates.
We recommend you make this change in your codebase as soon as possible, to
avoid any surprises in the future.
- New JS API: GObject.Object has gained a stop_emission_by_name() method which
is a bit more idiomatic than calling GObject.signal_stop_emission_by_name().
- It's now supported to use the "object" attribute in a signal connection in a
composite widget template in a Glade file.
- Closed bugs and merge requests:
* CI: Tweak eslint rule for unneeded parentheses [Florian Müllner, !353]
* Smarter GType name computation [Marco Trevisan, !337]
* Meson CI [Philip Chimento, !354]
* Visual Studio builds using Meson [Chun-wei Fan, !355]
* Hide internal symbols from ABI [Marco Trevisan, #194, !352]
* Allow creating custom tree models [Giovanni Campagna, #71]
* build: Fix dist files [Florian Müllner, !357]
* GObject: Add convenience wrapper for signal_stop_emission_by_name() [Florian
Müllner, !358]
* Various maintenance [Philip Chimento, !356]
* object_instance_props_to_g_parameters should do more check on argv [Philip
Chimento, #63, !359]
* Support flat C arrays of structures [Philip Chimento, !361]
* Gtk Templates: support connectObj argument [Andy Holmes, !363]
- Various build fixes [Philip Chimento]
Version 1.58.2
--------------
- Closed bugs and merge requests:
* GObject based class initialization checks [Marco Trevisan, Philip Chimento,
!336]
* Silently leaked return value of callbacks [Xavier Claessens, Philip
Chimento, #86, !44]
* Crash when calling Gio.Initable.async_init with not vfunc_async_init
implementation [Philip Chimento, #287, !362]
* [cairo] insufficient checking [Philip Chimento, #49, !360]
- Various crash fixes backported from the development branch that didn't close
a bug or merge request.
Version 1.63.1
--------------
- Note that the 1.59, 1.60, 1.61, and 1.62 releases are hereby skipped, because
we are calling the next stable series 1.64 to match gobject-introspection and
GLib.
- GJS now includes a Meson build system. This is now the preferred way to build
it; however, the old Autotools build system is still available for a
transitional period.
- Closed bugs and merge requests:
* GObject: Add convenience wrapper for signal_handler_(un)block() [Florian
Müllner, !326]
* GObject based class initialization checks [Marco Trevisan, Philip Chimento,
!336]
* Meson port [Philip Chimento, !338]
* add http client example [Sonny Piers, !342]
* Smaller CI, phase 2 [Philip Chimento, !343]
* add websocket client example [Sonny Piers, !344]
* Fix Docker images build [Philip Chimento, !345]
* CI: Use new Docker images [Philip Chimento, !346]
* docs: Update internal links [Andy Holmes, !348]
* Don't pass generic marshaller to g_signal_newv() [Niels De Graef, !349]
* tests: Fail debugger tests if command failed [Philip Chimento, !350]
* Minor CI image fixes [Philip Chimento, !351]
* Various fixes [Marco Trevisan, Philip Chimento]
Version 1.58.1
--------------
- Closed bugs and merge requests:
* Import wiki documentation [Sonny Piers, !341]
* Smaller CI, phase 1 [Philip Chimento, !339]
* Crashes after setting child property 'icon-name' on GtkStack then displaying
another GtkStack [Florian Müllner, #284, !347]
* GLib.strdelimit crashes [Philip Chimento, #283, !340]
Version 1.58.0
--------------
- No change from 1.57.92.
Version 1.57.92
---------------
- Closed bugs and merge requests:
* tests: Enable regression test cases for GPtrArrays and GArrays of structures
[Stéphane Seng, !334]
* Various maintenance [Philip Chimento, !333, !335]
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 [Sonny Piers, !322]
* GTK4 [Florian Müllner, #99, !328, !330]
* JS syntax fixes [Marco Trevisan, Philip Chimento, !306, !323]
* gi: Avoid infinite recursion when converting GValues [Florian Müllner, !329]
* Implement all GObject-introspection test suites [Philip Chimento, !327,
!332]
* Heapgraph improvements [Philip Chimento, !325]
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 [#9, !311, Stéphane Seng]
* Fix locale chooser [!313, Philip Chimento]
* dbus-wrapper: Remove interface skeleton flush idle on dispose [!312, Marco
Trevisan]
* gobject: Use auto-compartment when getting property as well [!316, Florian
Müllner]
* modules/signals: Use array destructuring in _emit [!317, Jonas Dreßler]
* GJS can't call glibtop_init function from libgtop [#259, !319,
Philip Chimento]
* GLib's VariantDict is missing lookup [#263, !320, Sonny Piers]
* toString on an object implementing an interface fails [#252, !299, Marco
Trevisan]
* Regression in GstPbutils.Discoverer::discovered callback [#262, !318, Philip
Chimento]
* GLib.Variant.deep_unpack not working properly with a{sv} variants [#225,
!321, Fabián Orccón, Philip Chimento]
* Various maintenance [!315, Philip Chimento]
- Various CI fixes [Philip Chimento]
Version 1.57.4
--------------
- Closed bugs and merge requests:
* gjs 1.57 requires a recent sysprof version for sysprof-capture-3 [#258,
!309, Olivier Fourdan]
- Misc documentation changes [Philip Chimento]
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 [#253, !300, Philip Chimento]
* build: Bump glib requirement [!302, Florian Müllner]
* profiler: avoid clearing 512 bytes of stack [!304, Christian Hergert]
* system: add addressOfGObject method [!296, Marco Trevisan]
* Add support for GJS_TRACE_FD [!295, Christian Hergert]
* Gio: Make possible to pass DBusProxyFlags to proxy wrapper [!297, Marco
Trevisan]
* Various maintenance [!301, Philip Chimento]
* Marshalling of GPtrArray broken [#9, !307, Stéphane Seng]
* Build fix [!308, Philip Chimento]
* Gio: sync dbus wrapper properties flags [!298, Marco Trevisan]
* GjsMaybeOwned: Reduce allocation when used as Object member [!303, Marco
Trevisan]
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 [#230, !288, Andy Holmes]
* Support optional GTypeFlags value in GObject subclasses [!290, Florian
Müllner]
* Ensure const-correctness in C++ objects [#105, !291, Onur Şahin]
* Programmer errors with GSettings cause segfaults [#205, !284, Philip
Chimento]
* Various maintenance [!292, Philip Chimento]
* debugger: Fix summary help [!293, Florian Müllner]
* context: Use Heap pointers for GC objects stored in vectors [!294, Philip
Chimento]
Version 1.56.2
--------------
- Closed bugs and merge requests:
* Crash in BoxedInstance when struct could not be allocated directly [#240,
!285, Philip Chimento]
* Cairo conversion bugs [!286, Philip Chimento]
* Gjs crashes when binding inherited property to js added gobject-property
[#246, !289, Marco Trevisan]
* console: Don't accept --profile after the script name [!287, Philip
Chimento]
Version 1.57.1
--------------
- Closed bugs and merge requests:
* Various maintenance [!279, Philip Chimento]
* mainloop: Assign null to property instead of deleting [!280, Jason Hicks]
* Added -d version note README.md [!282, Nauman Umer]
* Extra help for debugger commands [#236, !283, Nauman Umer]
* Crash in BoxedInstance when struct could not be allocated directly [#240,
!285, Philip Chimento]
* Cairo conversion bugs [!286, Philip Chimento]
Version 1.56.1
--------------
- Closed bugs and merge requests:
* Calling dumpHeap() on non-existent directory causes crash [#134, !277,
Philip Chimento]
* Using Gio.MemoryInputStream.new_from_data ("string") causes segfault [#221,
!278, Philip Chimento]
* Fix gjs_context_eval() for non-zero-terminated strings [!281, Philip
Chimento]
Version 1.56.0
--------------
- No change from 1.55.92.
Version 1.55.92
---------------
- Closed bugs and merge requests:
* Fix CI failures [!269, Philip Chimento]
* Possible memory allocation/deallocation bug (possibly in js_free() in GJS)
[!270, Chun-wei Fan, Philip Chimento]
* cairo-context: Special-case 0-sized vector [!271, Florian Müllner]
* Add some more eslint rules [!272, Florian Müllner]
* win32/NMake: Fix introspection builds [!274, Chun-wei Fan]
* NMake/libgjs-private: Export all the public symbols there [!275, Chun-wei
Fan]
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 [#223, !266, Philip
Chimento]
* Various maintenance [!267, Philip Chimento]
* wrapperutils: Define $gtype property as non-enumerable [!268, Philip
Chimento]
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()
[#204, !263, Philip Chimento]
* Add regression tests for GObject vfuncs [!259, Jason Hicks]
* GjsPrivate: Sources should be C files [!262, Philip Chimento]
* build: Vendor last-good version of AX_CODE_COVERAGE [!264, Philip Chimento]
Version 1.55.4
--------------
- Closed bugs and merge requests:
* Various maintenance [!258, Philip Chimento]
* Boxed copy constructor should not be called, split Boxed into prototype and
instance structs [#215, !260, Philip Chimento]
Version 1.55.3
--------------
- Closed bugs and merge requests:
* Manually constructed ByteArray toString segfaults [#219, !254, Philip
Chimento]
* signals: Add _signalHandlerIsConnected method [!255, Jason Hicks]
* Various maintenance [!257, Philip Chimento]
Version 1.52.5
--------------
- This was a release consisting only of backports from the GNOME 3.30 branch to
the GNOME 3.28 branch.
- This release includes the "Big Hammer" patch from GNOME 3.30 to reduce memory
usage. For more information, read the blog post at
https://feaneron.com/2018/04/20/the-infamous-gnome-shell-memory-leak/
It was not originally intended to be backported to GNOME 3.28, but in practice
several Linux distributions already backported it, and it has been working
well to reduce memory usage, and the bugs have been ironed out of it.
It does decrease performance somewhat, so if you don't want that then don't
install this update.
- Closed bugs and merge requests:
* Ensure not to miss the force_gc flag [#150, !132, Carlos Garnacho]
* Make GC much more aggressive [#62, !50, Giovanni Campagna, Georges Basile
Stavracas Neto, Philip Chimento]
* Queue GC when a GObject reference is toggled down [#140, !114, !127, Georges
Basile Stavracas Neto]
* Reduce memory overhead of g_object_weak_ref() [#144, !122, Carlos Garnacho,
Philip Chimento]
* context: Defer and therefore batch forced GC runs [performance] [!236,
Daniel van Vugt]
* context: use timeout with seconds to schedule a gc trigger [!239, Marco
Trevisan]
* Use compacting GC on RSS size growth [!133, #151, Carlos Garnacho]
* GType memleak fixes [!244, Marco Trevisan]
Version 1.55.2
--------------
- Closed bugs and merge requests:
* Gnome-shell crashes on destroying cached param specs [#213, !240, Marco
Trevisan]
* Various maintenance [!235, !250, Philip Chimento]
* Auto pointers builder [!243, Marco Trevisan]
* configure.ac: Update bug link [!245, Andrea Azzarone]
* SIGSEGV when exiting gnome-shell [#212, !247, Andrea Azzarone, Philip
Chimento]
* Fix build with --enable-dtrace and create CI job to ensure it doesn't break
in the future [#196, !237, !253, Philip Chimento]
* Delay JSString-to-UTF8 conversion [!249, Philip Chimento]
* Annotate return values [!251, Philip Chimento]
* Fix a regression with GError toString() [!252, Philip Chimento]
* GType memleak fixes [!244, Marco Trevisan]
* Atoms refactor [!233, Philip Chimento, Marco Trevisan]
* Write a "Code Hospitable" README file [#17, !248, Philip Chimento, Andy
Holmes, Avi Zajac]
* object: Method lookup repeatedly traverses introspection [#54, !53, Colin
Walters, Philip Chimento]
* Handler of GtkEditable::insert-text signal is not run [#147, !143, Tomasz
Miąsko, Philip Chimento]
Version 1.54.3
--------------
- Closed bugs and merge requests:
* object: Fix write-only properties [!246, Philip Chimento]
* SIGSEGV when exiting gnome-shell [#212, !247, Andrea Azzarone]
* SelectionData.get_targets crashes with "Unable to resize vector" [#201,
!241, Philip Chimento]
* Gnome-shell crashes on destroying cached param specs [#213, !240, Marco
Trevisan]
* GType memleak fixes [!244, Marco Trevisan]
* Fix build with --enable-dtrace and create CI job to ensure it doesn't break
in the future [#196, !253, Philip Chimento]
Version 1.54.2
--------------
- Closed bugs and merge requests:
* context: Defer and therefore batch forced GC runs [performance] [!236,
Daniel van Vugt]
* context: use timeout with seconds to schedule a gc trigger [!239, Marco
Trevisan]
* fundamental: Check if gtype is valid before using it [!242, Georges Basile
Stavracas Neto]
- Backported a fix for a crash in the interactive interpreter when executing
something like `throw "foo"` [Philip Chimento]
- Backported various maintenance from 3.31 [Philip Chimento]
Version 1.55.1
--------------
- New API for programs that embed GJS: gjs_memory_report(). This was already an
internal API, but now it is exported.
- Closed bugs and merge requests:
* object: Implement newEnumerate hook for GObject [!155, Ole Jørgen Brønner]
* Various maintenance [!228, Philip Chimento]
* ByteArray.toString should stop at null bytes [#195, !232, Philip Chimento]
* Byte arrays that represent encoded strings should be 0-terminated [#203,
!232, Philip Chimento]
* context: Defer and therefore batch forced GC runs [performance] [!236,
Daniel van Vugt]
* context: use timeout with seconds to schedule a gc trigger [!239, Marco
Trevisan]
* arg: Add special-case for byte arrays going to C [#67, !49, Jasper
St. Pierre, Philip Chimento]
Version 1.52.4
--------------
- This was a release consisting only of backports from the GNOME 3.30 branch to
the GNOME 3.28 branch.
- Closed bugs and merge requests:
* `ARGV` encoding issues [#22, !108, Evan Welsh]
* Segfault on enumeration of GjSFileImporter properties when a searchpath
entry contains a symlink [#154, !144, Ole Jørgen Brønner]
* Possible refcounting bug around GtkListbox signal handlers [#24, !154,
Philip Chimento]
* Fix up GJS_DISABLE_JIT flag now the JIT is enabled by default in
SpiderMonkey [!159, Christopher Wheeldon]
* Expose GObject static property symbols. [!197, Evan Welsh]
* Do not run linters on tagged commits [!181, Claudio André]
* gjs-1.52.0 fails to compile against x86_64 musl systems [#132, !214, Philip
Chimento]
* gjs no longer builds after recent autoconf-archive updates [#149, !217,
Philip Chimento]
Version 1.54.1
--------------
- Closed bugs and merge requests:
* legacy: Ensure generated GType names are valid [!229, Florian Müllner]
* Fix GJS profiler with MozJS 60 [!230, Georges Basile Stavracas Neto]
* Regression with DBus proxies [#202, !231, Philip Chimento]
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.
- Closed bugs and merge requests:
* byteArray: Add compatibility toString property [Philip Chimento, !227]
Version 1.53.92
---------------
- Technology preview of a GNOME 3.32 feature: native Promises for GIO-style
asynchronous operations. This is the result of Avi Zajac's summer internship.
To use it, you can opt in once for each specific asynchronous method, by
including code such as the following:
Gio._promisify(Gio.InputStream.prototype, 'read_bytes_async',
'read_bytes_finish');
After executing this, you will be able to use native Promises with the
Gio.InputStream.prototype.read_async() method, simply by not passing a
callback to it:
try {
let bytes = await stream.read_bytes_async(count, priority, cancel);
} catch (e) {
logError(e, 'Failed to read bytes');
}
Note that any "success" boolean return values are deleted from the array of
return values from the async method. That is,
let [contents, etag] = file.load_contents_async(cancel);
whereas the callback version still returns a useless [ok, contents, etag]
that can never be false, since on false an exception would be thrown. In the
callback version, we must keep this for compatibility reasons.
Note that due to a bug in GJS (https://gitlab.gnome.org/GNOME/gjs/issues/189),
promisifying methods on Gio.File.prototype and other interface prototypes will
not work. We provide the API Gio._LocalFilePrototype on which you can
promisify methods that will work on Gio.File instances on the local disk only:
Gio._promisify(Gio._LocalFilePrototype, 'load_contents_async',
'load_contents_finish');
We estimate this will cover many common use cases.
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 [!225, Avi Zajac]
* Temporary fix for Gio.File.prototype [!226, Avi Zajac]
Version 1.53.91
---------------
- Closed bugs and merge requests:
* CI: add webkit and gtk-app tests [!222, Claudio André]
* Fix example eslint errors [!207, Claudio André, Philip Chimento]
* Fix more "lost" GInterface properties [!223, Florian Müllner]
* Fix --enable-installed-tests when built from a tarball [!224, Simon
McVittie]
Version 1.53.90
---------------
- GJS now depends on SpiderMonkey 60 and requires a compiler capable of C++14.
- GJS includes a simple debugger now. It has basic stepping, breaking, and
printing commands, that work like GDB. Activate it by running the GJS console
interpreter with the -d or --debugger flag before the name of the JS program
on the command line.
- New API for programs that embed GJS: gjs_context_setup_debugger_console().
To integrate the debugger into programs that embed the GJS interpreter, call
this before executing the JS program.
- New JavaScript features! This version of GJS is based on SpiderMonkey 60, an
upgrade from the previous ESR (Extended Support Release) of SpiderMonkey 52.
Here are the highlights of the new JavaScript features.
For more information, look them up on MDN or devdocs.io.
* New syntax
+ `for await (... of ...)` syntax is used for async iteration.
+ The rest operator is now supported in object destructuring: e.g.
`({a, b, ...cd} = {a: 1, b: 2, c: 3, d: 4});`
+ The spread operator is now supported in object literals: e.g.
`mergedObject = {...obj1, ...obj2};`
+ Generator methods can now be async, using the `async function*` syntax,
or `async* f() {...}` method shorthand.
+ It's now allowed to omit the variable binding from a catch statement, if
you don't need to access the thrown exception: `try {...} catch {}`
* New APIs
+ Promise.prototype.finally(), popular in many third-party Promise
libraries, is now available natively.
+ String.prototype.toLocaleLowerCase() and
String.prototype.toLocaleUpperCase() now take an optional locale or
array of locales.
+ Intl.PluralRules is now available.
+ Intl.NumberFormat.protoype.formatToParts() is now available.
+ Intl.Collator now has a caseFirst option.
+ Intl.DateTimeFormat now has an hourCycle option.
* New behaviour
+ There are a lot of minor behaviour changes as SpiderMonkey's JS
implementation conforms ever closer to ECMAScript standards. For complete
information, read the Firefox developer release notes:
https://developer.mozilla.org/en-US/Firefox/Releases/53#JavaScript
https://developer.mozilla.org/en-US/Firefox/Releases/54#JavaScript
https://developer.mozilla.org/en-US/Firefox/Releases/55#JavaScript
https://developer.mozilla.org/en-US/Firefox/Releases/56#JavaScript
https://developer.mozilla.org/en-US/Firefox/Releases/57#JavaScript
https://developer.mozilla.org/en-US/Firefox/Releases/58#JavaScript
https://developer.mozilla.org/en-US/Firefox/Releases/59#JavaScript
https://developer.mozilla.org/en-US/Firefox/Releases/60#JavaScript
* Backwards-incompatible changes
+ Conditional catch clauses have been removed, as they were a Mozilla
extension which will not be standardized. This requires some attention in
GJS programs, as previously we condoned code like `catch (e if
e.matches(Gio.IOError, Gio.IOError.EXISTS))` with a comment in
overrides/GLib.js, so it's likely this is used in several places.
+ The nonstandard `for each (... in ...)` loop was removed.
+ The nonstandard legacy lambda syntax (`function(x) x*x`) was removed.
+ The nonstandard Mozilla iteration protocol was removed, as well as
nonstandard Mozilla generators, including the Iterator and StopIteration
objects, and the Function.prototype.isGenerator() method.
+ Array comprehensions and generator comprehensions have been removed.
+ Several nonstandard methods were removed: ArrayBuffer.slice() (but not
the standard version, ArrayBuffer.prototype.slice()),
Date.prototype.toLocaleFormat(), Function.prototype.isGenerator(),
Object.prototype.watch(), and Object.prototype.unwatch().
- Many of the above backwards-incompatible changes can be caught by scanning
your source code using https://gitlab.gnome.org/ptomato/moz60tool, or
https://extensions.gnome.org/extension/1455/spidermonkey-60-migration-validator/
- Deprecation: the custom ByteArray is now discouraged. Instead of ByteArray,
use Javascript's native Uint8Array. The ByteArray module still contains
functions for converting between byte arrays, strings, and GLib.Bytes
instances.
The old ByteArray will continue to work as before, except that Uint8Array
will now be returned from introspected functions that previously returned a
ByteArray. To keep your old code working, change this:
let byteArray = functionThatReturnsByteArray();
to this:
let byteArray = new ByteArray.ByteArray(functionThatReturnsByteArray());
To port to the new code:
* ByteArray.ByteArray -> Uint8Array
* ByteArray.fromArray() -> Uint8Array.from()
* ByteArray.ByteArray.prototype.toString() -> ByteArray.toString()
* ByteArray.ByteArray.prototype.toGBytes() -> ByteArray.toGBytes()
* ByteArray.fromString(), ByteArray.fromGBytes() remain the same
* Unlike ByteArray, Uint8Array's length is fixed. Assigning an element past
the end of a ByteArray would lengthen the array. Now, it is ignored.
Instead use Uint8Array.of(), for example, this code:
let a = ByteArray.fromArray([97, 98, 99, 100]);
a[4] = 101;
should be replaced by this code:
let a = Uint8Array.from([97, 98, 99, 100]);
a = Uint8Array.of(...a, 101);
The length of the byte array must be set at creation time. This code will
not work anymore:
let a = new ByteArray.ByteArray();
a[0] = 255;
Instead, use "new Uint8Array(1)" to reserve the correct length.
- Closed bugs and merge requests:
* Run tests using real software [#178, !192, Claudio André]
* Script tests are missing some errors [#179, !192, Claudio André]
* Create a '--disable-readline' option and use it [!196, Claudio André]
* CI: stop using Fedora for clang builds [!198, Claudio André]
* Expose GObject static property symbols. [!197, Evan Welsh]
* CI fixes [!200, Claudio André]
* Docker images creation [!201, Claudio André]
* Get Docker images built and stored in GJS registry [#185, !203, !208,
Claudio André, Philip Chimento]
* Clear the static analysis image a bit more [!205, Claudio André]
* Rename the packaging job to flatpak [!210, Claudio André]
* Create SpiderMonkey 60 docker images [!202, Claudio André]
* Debugger [#110, !204, Philip Chimento]
* Add convenience g_object_set() replacement [!213, Florian Müllner]
* Add dependencies of the real tests (examples) [!215, Claudio André]
* CWE-126 [#174, !218, Philip Chimento]
* gjs no longer builds after recent autoconf-archive updates [#149, !217,
Philip Chimento]
* gjs-1.52.0 fails to compile against x86_64 musl systems [#132, !214, Philip
Chimento]
* Run the GTK real tests (recently added) [!212, Claudio André]
* Fix thorough tests failures [!220, Philip Chimento]
* Port to SpiderMonkey 60 [#161, !199, Philip Chimento]
* Replace ByteArray with native ES6 TypedArray [#5, !199, Philip Chimento]
* Overriding GInterface properties broke [#186, !216, Florian Müllner, Philip
Chimento]
* Avoid segfault when checking for GByteArray [!221, Florian Müllner]
- Various build fixes [Philip Chimento]
jperkin
pushed a commit
that referenced
this pull request
Feb 23, 2021
Changelog: ## [1.7.2](rime/librime@1.7.1...1.7.2) (2021-02-07) ### Bug Fixes * **chord_composer:** should clear raw input after committing text ([79b34ab](rime/librime@79b34ab)) ## [1.7.1](rime/librime@1.7.0...1.7.1) (2021-02-06) ### Bug Fixes * **chord_composer:** press Return key to commit raw key sequence ([2b25861](rime/librime@2b25861)) # [1.7.0](rime/librime@1.6.1...1.7.0) (2021-01-17) ### Bug Fixes * **chord_composer:** more safely handle the placeholder ZWSP ([025d9fb](rime/librime@025d9fb)) * **cmake:** use full paths defined by GNUInstallDirs ([bb8c263](rime/librime@bb8c263)), closes [#424](rime/librime#424) * **opencc:** update submodule to fix [#425](rime/librime#425) ([3fa1571](rime/librime@3fa1571)) * **script_translator:** always_show_comments also applies to phrases ([440a97c](rime/librime@440a97c)), closes [#272](rime/librime#272) [#419](rime/librime#419) * **table_translator:** index out of bound access in string ([ff7acdc](rime/librime@ff7acdc)) ### Features * **chareset_filter:** add CJK Compatibility Ideographs in is_extended_cjk() ([3cb1128](rime/librime@3cb1128)), closes [#305](rime/librime#305) * **setup:** find and load external RIME plugins as shared libs [#431](rime/librime#431) ([b2abd09](rime/librime@b2abd09)) ## [1.6.1](rime/librime@1.6.0...1.6.1) (2020-09-21) ### Bug Fixes * **rime_api.cc:** dangling pointer returned from RimeGetSharedDataDir ([78abaa8](rime/librime@78abaa8)) # [1.6.0](rime/librime@1.5.3...1.6.0) (2020-09-20) ### Bug Fixes * **ascii_composer:** do not comsume Shift key release ([debc2c0](rime/librime@debc2c0)) * **ascii_composer:** first read ascii_composer/good_old_caps_lock from schema config ([3fc56c4](rime/librime@3fc56c4)) * **chord_composer:** commit raw input with uppercase letters ([cc983d5](rime/librime@cc983d5)) * **CMakeLists.txt:** ensure paths in pkgconfig file are absolute ([0e96e51](rime/librime@0e96e51)) * **CMakeLists.txt:** would not use signals v1 due to a typo ([6662a28](rime/librime@6662a28)), closes [#225](rime/librime#225) * **custom_settings:** accept "*.schema" as config id ([604da0b](rime/librime@604da0b)) * **dict:** issues with user db recovery ([0f3d0df](rime/librime@0f3d0df)) * **dict_compiler:** build prism with loaded syllabary when not rebuilding primary table ([93fe827](rime/librime@93fe827)) * **plugins/CMakeLists.txt:** avoid rime_library linking to itself via rime_plugins_deps ([fe744db](rime/librime@fe744db)) * **rime_api.cc:** check struct has member of non-pointer type ([090dfa4](rime/librime@090dfa4)) * **rime_api.cc:** using unchecked fields introduced an ABI breakage ([62bbead](rime/librime@62bbead)), closes [/github.com/rime/librime/pull/328#pullrequestreview-335125464](https://github.com//github.com/rime/librime/pull/328/issues/pullrequestreview-335125464) * **rime_test:** set data directories to working directory using rime::SetupDeployer API ([7c08a90](rime/librime@7c08a90)) * **simplifier:** opencc::DictEntry::Values() type change in opencc 1.1.0 ([beae5b1](rime/librime@beae5b1)), closes [#367](rime/librime#367) * **user_db:** pointer cast error caused by multiple inheritance ([2ed780b](rime/librime@2ed780b)) * use official emoji 12.0 data ([#304](rime/librime#304)) ([75a60dc](rime/librime@75a60dc)) ### Features * **api:** implement capnproto api ([873f648](rime/librime@873f648)) * **api:** include candidate labels in proto message ([aae7a0c](rime/librime@aae7a0c)) * **charset_filter:** support charset options with emoji ([#293](rime/librime#293)) ([943c95b](rime/librime@943c95b)) * **charset_filter:** support CJK Unified Ideographs Extension G ([#393](rime/librime#393)) ([0a1573d](rime/librime@0a1573d)) * **chord_composer:** support chording with Shift keys ([94cf479](rime/librime@94cf479)) * **chord_composer:** use Control, Alt, Shift to input chord ([f3a2ad0](rime/librime@f3a2ad0)) * **dictionary:** packs extends the dictionary with extra binary table files ([930074c](rime/librime@930074c)) * **key_binder:** bind key to a key sequence ([3b5dbf6](rime/librime@3b5dbf6)), closes [#301](rime/librime#301) * **logging:** setup min log level, log dir and set file mode to log files ([90839b0](rime/librime@90839b0)) * **selector:** support 4 combinations of horizontal/vertical text orientation and stacked/linear candidate list layout ([c498f71](rime/librime@c498f71)) * **selector:** support vertical UI ([dbb35c6](rime/librime@dbb35c6)) * **switcher:** enable schema in cases where conditions are met ([217c72b](rime/librime@217c72b)) * **tools/rime_proto_console:** demo for proto api ([d88ef9f](rime/librime@d88ef9f)) ### Performance Improvements * **poet:** optimize for performance in making sentences (~40% faster) ([0853465](rime/librime@0853465)) ## [1.5.3](rime/librime@1.5.2...1.5.3) (2019-06-22) ### Bug Fixes * **cmake, xcode.mk:** find optional dependency icu, while building xcode/release-with-icu target [skip appveyor] ([17a80f8](rime/librime@17a80f8)) * **single_char_filter:** broken in librime 1.5.2 ([6948a62](rime/librime@6948a62)) ### Features * **appveyor:** build variant "rime-with-plugins" for tagged commits [skip travis] ([eef8c30](rime/librime@eef8c30)) * **travis-ci:** build variant "rime-with-plugins" for tagged commits [skip appveyor] ([cf11c27](rime/librime@cf11c27)) * **travis-ci:** deploy artifacts for macOS to GitHub releases [skip appveyor] ([3f03784](rime/librime@3f03784)) ## [1.5.2](rime/librime@1.5.1...1.5.2) (2019-06-17) ### Bug Fixes * **user_dictionary, contextual_translation:** fix user phrase quality; order contextual suggestions by type ([69d5c32](rime/librime@69d5c32)) ## [1.5.1](rime/librime@1.5.0...1.5.1) (2019-06-16) ### Bug Fixes * **user_dictionary:** make user phrases comparable in weight to system words ([982f69d](rime/librime@982f69d)) # [1.5.0](rime/librime@1.4.0...1.5.0) (2019-06-06) ### Bug Fixes * **ci:** update build script ([84a1a1b](rime/librime@84a1a1b)) * **ci:** use submodules in AppVeyor CI build script ([7b515b4](rime/librime@7b515b4)) * **cmake:** libboost Windows XP compatibility fix ([#270](rime/librime#270)) ([fecfe39](rime/librime@fecfe39)), closes [rime/weasel#337](rime/weasel#337) * **CMakeLists.txt:** install header files in all platforms ([821d563](rime/librime@821d563)) * **CMakeLists.txt:** set "-std=c++11" in CMAKE_CXX_FLAGS ([5d8a836](rime/librime@5d8a836)) * **config/plugins.h:** memory leak caused by non-virtual destructor ([316a659](rime/librime@316a659)), closes [#259](rime/librime#259) * **deploy:** treat schema dependencies as optional; do not report errors if missing ([ff3d5e9](rime/librime@ff3d5e9)) * **engine:** schema doesn't match the one used by switcher ([e41bb63](rime/librime@e41bb63)), closes [#269](rime/librime#269) * **rime_levers_api.h:** customize_bool() misused `bool` type ([42bacc5](rime/librime@42bacc5)) * **syllabifier:** enable_completion not working ([2714131](rime/librime@2714131)), closes [#343](rime/librime#343) * **table_translator:** null pointer exception when dict entries are filtered ([77438a9](rime/librime@77438a9)) * **test:** compile error in unit test ([7076d9e](rime/librime@7076d9e)) * **travis-install.sh:** working directory ([97220ce](rime/librime@97220ce)) ### Features * **appveyor:** install RIME_PLUGINS [skip travis] ([c7ce66f](rime/librime@c7ce66f)) * **CMakeList.txt:** add plugin build support ([#257](rime/librime#257)) ([dfa341b](rime/librime@dfa341b)) * **contextual_translation:** weight and re-order phrases by context ([2390da3](rime/librime@2390da3)) * **dict:** specify vocabulary db name in dict settings ([dcdc301](rime/librime@dcdc301)) * **grammar:** compare homophones/homographs in sentence ([9248a6b](rime/librime@9248a6b)) * **install-plugins.sh:** git-clone or update plugins ([70483b4](rime/librime@70483b4)) * **poet:** find best sentence candidates ([b3f4005](rime/librime@b3f4005)) * **rime_api:** get candidate list from index ([c587900](rime/librime@c587900)) * **translator:** contextual suggestions in partially selected sentence ([12a7501](rime/librime@12a7501)) * **translator:** look at preceding text when making sentence ([6ae34de](rime/librime@6ae34de)) * **travis-ci:** install plugins specified in envvar RIME_PLUGINS ([c857639](rime/librime@c857639)) ### Performance Improvements * **dictionary:** refactor DictEntryIterator and do partial sort ([0258c7f](rime/librime@0258c7f)) ### BREAKING CHANGES * **rime_levers_api.h:** in signature of C API function `customize_bool()`, change type `bool` to `Bool` (alias of `int`). Impact: the changed function is not in use by any first party code, known to be in use by osfans/trime. # [1.4.0](rime/librime@1.3.2...1.4.0) (2019-01-16) ### Bug Fixes * **config:** user_config should not fall back to shared data ([68c8a34](rime/librime@68c8a34)), closes [#271](rime/librime#271) * **SymlinkingPrebuiltDictionaries:** remove dangling symlinks ([5ad333d](rime/librime@5ad333d)), closes [#241](rime/librime#241) * **SymlinkingPrebuiltDictionaries:** remove dangling symlinks ([f8e4ebf](rime/librime@f8e4ebf)), closes [#241](rime/librime#241) ### Features * spelling correction ([#228](rime/librime#228)) ([ad3638a](rime/librime@ad3638a)) * **Dockerfile:** for build ([#246](rime/librime#246)) ([cafd0d5](rime/librime@cafd0d5)) ## [1.3.2](rime/librime@1.3.1...1.3.2) (2018-11-12) ### Bug Fixes * **CMakeLists.txt:** do not link binaries when building static library ([99573e3](rime/librime@99573e3)) * **CMakeLists.txt:** do not require boost::signals, which will be deprecated in Boost 1.69 ([8a9ef3b](rime/librime@8a9ef3b)), closes [#225](rime/librime#225) * **config_compiler:** ambiguous operator overload with cmake option ENABLE_LOGGING=OFF ([b86b647](rime/librime@b86b647)), closes [#211](rime/librime#211) * **config_compiler:** support creating list in-place by __patch and __merge ([0784eb0](rime/librime@0784eb0)) * **table_translator:** enable encoding uniquified commit history ([74e31bc](rime/librime@74e31bc)) ### Features * **language:** shared user dictionary per language (Closes [#184](rime/librime#184)) ([#214](rime/librime#214)) ([9f774e7](rime/librime@9f774e7)) * always_show_comments option ([#220](rime/librime#220)) ([19cea07](rime/librime@19cea07)) ## [1.3.1](rime/librime@1.3.0...1.3.1) (2018-04-01) ### Bug Fixes * **config_file_update:** clean up deprecated user copy ([#193](rime/librime#193)) ([8d8d2e6](rime/librime@8d8d2e6)) * **thirdparty/src/leveldb:** do not link to snappy library ([6f6056a](rime/librime@6f6056a)) # 1.3.0 (2018-03-09) ### Bug Fixes * **CMakeLists.txt, build.bat:** install header files (public API) ([06c9e86](rime/librime@06c9e86)) * **config_compiler:** "/" mistaken as path separator in merged map key ([#192](rime/librime#192)) ([831ffba](rime/librime@831ffba)), closes [#190](rime/librime#190) * **ConfigFileUpdate:** no need to create user build if shared build is up-to-date ([cafd5c4](rime/librime@cafd5c4)) * **SchemaUpdate:** read compiled schema from shared build if there is no user build ([45a04dd](rime/librime@45a04dd)) * **simplifier:** fix typo ([9e1114e](rime/librime@9e1114e)), closes [#183](rime/librime#183) * **user_db:** unwanted implicit instantiation of UserDbFormat template ([3cbc9cb](rime/librime@3cbc9cb)), closes [#188](rime/librime#188) ### Chores * **release tag:** deprecating tag name prefix 'rime-' in favor of semver 'X.Y.Z' ### BREAKING CHANGES * **release tag:** After 1.3.0 release, we'll no longer be creating tags in the format 'rime-X.Y.Z'. Downstream packagers please change automated scripts accordingly. ## 1.2.10 (2018-02-21) ### Bug Fixes * **config_compiler:** linking failure on blocking root node of a dependency resource ([ecf3397](rime/librime@ecf3397)) * table_translator not making sentence if table entry is hidden by charset filter. ([77eb12e](rime/librime@77eb12e)) * **appveyor.install.bat:** switch to a more stable download server for libboost ([bcc4d10](rime/librime@bcc4d10)) * **appveyor.yml:** archive header files ([c8b1e67](rime/librime@c8b1e67)) * **ascii_composer:** support key binding Shift+space in ascii mode ([7077389](rime/librime@7077389)) * **build.bat:** fix build errors with VS2015 build tools ([ec940c6](rime/librime@ec940c6)) * **calculus, recognizer:** memory leak due to unchecked regex error ([19ddc1e](rime/librime@19ddc1e)), closes [#171](rime/librime#171) * **chord_composer:** allow editor to define BackSpace key behavior ([7f41f65](rime/librime@7f41f65)) * **chord_composer:** letters with modifier keys should not be committed by a following enter key ([aab5eb8](rime/librime@aab5eb8)) * **ci:** call cmake under /usr/local with sudo by passing $PATH environment variable ([a0e6d2f](rime/librime@a0e6d2f)) * **cmake:** fix build break for mingw ([939893c](rime/librime@939893c)) * **config:** auto save modified config data; fixes [#144](rime/librime#144) ([2736f4b](rime/librime@2736f4b)) * **config:** treat "@" as map key rather than list index ([a1df9c5](rime/librime@a1df9c5)) * **config_compiler:** duplicate PendingChild dependencies happen from multiple commands on the same node ([25c28f8](rime/librime@25c28f8)) * **config_compiler:** enforce dependency priorities ([69a6f3e](rime/librime@69a6f3e)) * **config_compiler:** null value should not overwrite a normal key in a merged tree ([4ecae44](rime/librime@4ecae44)) * **config_compiler:** template operator overload had compile error with NDK ([71817a0](rime/librime@71817a0)) * **config/build_info_plugin:** referenced but unavailable resources should also be recorded ([cd46f7a](rime/librime@cd46f7a)) * **ConfigFileUpdate:** should succeed if shared copy does not exist ([8a3e25c](rime/librime@8a3e25c)) * **custom_settings:** fall back to $shared_data_dir/build when loading config ([caf8ebb](rime/librime@caf8ebb)) * **custom_settings:** load built settings from $user_data_dir/build directory ([463dc09](rime/librime@463dc09)) * **deployment_tasks:** symbols.yaml is no longer a build target ([f920e4f](rime/librime@f920e4f)) * **dict_compiler:** prism should load compiled schema ([c2fd0cf](rime/librime@c2fd0cf)), closes [#176](rime/librime#176) * **key_event:** KeySequence::repr() prefer unescaped punctuation characters ([aa43e5e](rime/librime@aa43e5e)) * **levers:** update deployment tasks for copy-free resource resolution ([1f86413](rime/librime@1f86413)) * **Makefile:** make install-debug; do return error code on mac ([1177142](rime/librime@1177142)) * **rime_api:** use user_config_open() to access user.yaml ([4e4a491](rime/librime@4e4a491)) * **rime_console:** not showing switcher's context ([632cf4b](rime/librime@632cf4b)) * **schema:** create a "schema" component that opens Config by schema_id ([555f990](rime/librime@555f990)) * **simplifier:** fix crash if no opencc file ([091cb9d](rime/librime@091cb9d)) * **simplifier:** tips option for show_in_comment simplifier ([e7bb757](rime/librime@e7bb757)) * **uniquifier:** half of the duplicate candidates remain after dedup [Closes [#114](rime/librime#114)] ([2ab76bc](rime/librime@2ab76bc)) ### Features * **build.bat:** customize build settings via environment variables ([#178](rime/librime#178)) ([1678b75](rime/librime@1678b75)) * **chord_composer:** accept escaped chording keys ([79a32b2](rime/librime@79a32b2)) * **chord_composer:** support chording with function keys ([48424d3](rime/librime@48424d3)) * **config:** add config compiler plugin that includes default:/menu into schema ([b51dda8](rime/librime@b51dda8)) * **config:** best effort resolution for circurlar dependencies ([2e52d54](rime/librime@2e52d54)) * **config:** build config files if source files changed ([0d79712](rime/librime@0d79712)) * **config:** config compiler plugins that port legacy features to the new YAML syntax ([a7d253e](rime/librime@a7d253e)) * **config:** config_builder saves output to $rime_user_dir/build/ ([e596155](rime/librime@e596155)) * **config:** references to optional config resources, ending with "?" ([14ec858](rime/librime@14ec858)) * **config:** save __build_info in compiled config ([45a7337](rime/librime@45a7337)) * **config:** separate out config_builder and user_config components ([9e9493b](rime/librime@9e9493b)) * **config:** support append and merge syntax ([04dcf42](rime/librime@04dcf42)) * **customizer:** disable saving patched config files ([88f5a0c](rime/librime@88f5a0c)) * **detect_modifications:** quick test based on last write time of files ([285fbcc](rime/librime@285fbcc)) * **dict:** no conditional compilation on arm ([85b945f](rime/librime@85b945f)) * **dict:** relocate binary files to $user_data_dir/build ([bc66a47](rime/librime@bc66a47)) * **dict:** use resource resolver to find dictionary files ([8ea08b3](rime/librime@8ea08b3)) * add property notifier ([fa7b5a5](rime/librime@fa7b5a5)) * **resource_resolver:** add class and unit test ([03ee8b4](rime/librime@03ee8b4)) * **resource_resolver:** fallback root path ([02151da](rime/librime@02151da)) * **translator:** add history_translator ([#115](rime/librime#115)) ([ae13354](rime/librime@ae13354)) ## 1.2.9 (2014-12-14) * **rime_api.h:** add `RIME_MODULE_LIST`, `RIME_REGISTER_MODULE_GROUP`. * **Makefile:** add make targets `thirdparty/*` to build individual libraries. * **legacy/src/legacy_module.cc:** plugin module `rime-legacy` for GPL code, providing component `legacy_userdb` for user dictionary upgrade. * **src/setup.cc:** define module groups `"default"` and `"deployer"`, to avoid naming a list of built-bin modules in `RimeTraits::modules`. * **test/table_test.cc:** fix random segment faults when run shuffled. * **thirdparty/src/leveldb:** new dependency LevelDB, replacing Kyoto Cabinet. * **dict/level_db:** userdb implementation based on LevelDB, replacing treeDb. * **dict/tree_db:** moved to `legacy/src/`. * **dict/user_db:** refactored and modularized to ease adding implementations. * **gear/cjk_minifier:** support CJK Extension E. * **gear/memory:** save cached phrases as soon as the next composition begins. * **gear/recognizer:** match space iff set `recognizer/use_space: true`. * **gear/simplifier:** catch and log OpenCC exceptions when loading. * **gear/single_char_filter:** bring single character candidates to the front. * **gear/simplifier:** adapt to OpenCC 1.0 API. * **thirdparty/src/opencc:** update OpenCC to v1.0.2 (incompatible with v0.4). * **lever/deployment_tasks:** update and rename task `user_dict_upgrade`. ## 1.2 (2014-07-15) * **rime_api:** add API functions to access complex structures in config; add API to get the raw input and cursor position, or to select a candidate. * **config:** support references to list elements in key paths. eg. `schema_list/@0/schema` is the id of the first schema in schema list. * **switcher:** enable folding IME options in the switcher menu. * **dict_compiler:** also detect changes in essay when updating a dictionary; support updating prism without the source file of the dictionary. * **preset_vocabulary:** load `essay.txt` instead of `essay.kct`. * **reverse_lookup_dictionary:** adopt a new file format with 50% space saving. * **table:** add support for a new binary format with 20% space saving; fix alignment on ARM. * **ascii_composer:** do not toggle IME states when long pressing `Shift` key; support discarding unfinished input when switching to ASCII mode. * **affix_segmentor:** fix issues with selecting a partial-match candidate. * **chord_composer:** commit raw input composed with original key strokes. * **cjk_minifier:** a filter to hide characters in CJK extension set, works with `script_translator`. * **navigator:** do not use `BackSpace` to revert selecting a candidate but to edit the input after moving the cursor left or right. * **punctuator:** support `ascii_punct` option for switching between Chinese and Western (ASCII) punctuations. * **speller:** auto-select candidates by pattern matching against the code; fix issues to cooperate with punctuator. * **CMakeLists.txt:** add options `ENABLE_LOGGING` and `BOOST_USE_CXX11`; introduce a new dependency: `libmarisa`. * **cmake/FindYamlCpp.cmake:** check the availability of the new (v0.5) API. * **sample:** the directory containing a sample plug-in module. * **tools/rime_patch.cc:** a command line tool to create patches. * **thirdparty:** include source code of third-party libraries to ease building librime on Windows and Mac. ## 1.1 (2013-12-26) * **new build dependency:** compiler with C++11 support. tested with GCC 4.8.2, Apple LLVM version 5.0, MSVC 12 (2013). * **encoder:** disable warnings for phrase encode failures in log output; limit the number of results in encoding a phrase with multiple solutions. * **punctuator:** fixed a bug in matching nested "pairs of 'symbols'". * **speller:** better support for auto-committing, allowing users of table based input schema to omit explicitly selecting candidates in many cases. * **schema_list_translator:** option for static schema list order. * **table_translator:** fixed the range of CJK-D in charset filter.
jperkin
pushed a commit
that referenced
this pull request
Mar 30, 2021
Packaging changes: - Some patches got upstreamed - Upstream now defaults to name=sc-im so it no longer needs to be set Changes, (reformatted) from the official changelog: New features: - New motions in edit mode: df cf F dF cF d0 d$ c0 c$ t T dt dT ct cT ^ g_ d^ dg_ c^ cg_ - Simple mouse support. Can handle selection of single cells and scroll. - Added markdown export. - Add custom colors with RGB definitions. - Add support for italic attribute to be appled to cells. - Added digraphs. - Added EXECUTE command. - Added --export_csv --export_tab --export_txt parameters. - New input_bar_bottom config variable. - New underline_grid config variable. - Added filename in status bar (filename_with_mode config variable). - Added option to truncate cells. - Added xlsx sheet parameter. - New @fact function. Other: - modified config and history file locations - renamed winch to sig_winch. - current fg and bg colors are kept if they are not specified in :cellcolor. - OpenBSD support (mostly wordexp() workaround) - Correct lua api function names in doc - always generate backup file when opening file - renamed scim to sc-im in Makefile - Document trigger return value convention Issues fixed: - fix bug when deleting an ent that for instance has a @sum()... it used to remove its vertex and THE ENTS LINKED to THEM! - fix error messages when using "scim --version" and color definitions are intented to be applied from .scimrc. - fix in waiting for valid command to complete after pressing ESC key. - fix in parse_str so a word with white space can be stored in dictionary value - fix when setting default_paste_from_clipboard_cmd - Don't clobber startup message w/ err opening file - Allow for lua scripts in local .sc directory #259 - Send informational messages to stderr rather than the output when used in non-interactive mode #263 - fixed cell_negative color #271 - fixed locked cells when saving #261 - fixed DEL key in insert mode #272 - fix when resizing column #266 - "Autobackup - case insensitive QER options when backup exists" - fixed segfault when fcopy'ing with no selection while on first column - Call write triggers on value clear - Use sc_info to report trigger exit code - fixed #277 - Grow table up to MAXROWS exactly - Remove redundant if clause (God only knows where that was). - fix in getVertex that prevented rebuild_graph to work properly. - fix annoying bug because of not resetting inputline_pos to 0 when confirming a command in COMMAND_MODE - fix in let and slet. existing vertexs should not be removed. - added "eval_visited" in vertex struct for not to collide with current "visited", since: EvalAll uses EvalBottomUp EvalBottomUp uses EvalJustOneVertex EvalJustOneVertex uses eval eval uses GraphAddEdge GraphAddEdge uses GraphIsReachable GraphIsReachable uses visited and EvalBottomUp also uses uses visited! - Also changed markAllVerticesNotVisited and All_vertexs_of_edges_visited functions. - Some other issues fixed: #228, #234, #239, #240, #244, #246, #260, #295, #308 - .. and many other fixes and improvements! Pending: The most significative issue is regarding circular references. This have to be deeply analyzed and with the collaboration of the community it would be hopefully fixed by v0.9.
jperkin
pushed a commit
that referenced
this pull request
May 4, 2021
## 1.6.0 - 2021-04-29
* This release includes several improvements to the CMake build. In
particular:
* C99 support is now properly enabled, fixing builds on older `gcc`
versions. Pull request by Jan Vcelak. GitHub #257.
* `CMAKE_SHARED_LIBRARY_PREFIX` and `CMAKE_STATIC_LIBRARY_PREFIX` are
no longer explicitly set and now use the default values for the platform.
Pull request by Jan Vcelak. GitHub #258.
* `target_include_directories` now works as expected. Pull request by Jan
Vcelak. GitHub #259.
* DLLs are now installed on Windows when `libmaxminddb` is built as a
shared library. Pull request by Jan Vcelak. GitHub #261.
* When built as a dynamic library on Windows, all symbols are now exported.
Pull request by Jan Vcelak. GitHub #262.
jperkin
pushed a commit
that referenced
this pull request
Jun 15, 2021
# version 0.7-1 * allow longer units grouping; #270 addressing #269 @bart1 * fix regression in `set_units` method for `mixed_units` to ensure that ordering is preserved; #272 addressing #271 # version 0.7-0 * add `load_units_xml` to enable database reloading as well as loading user-provided unit systems; #254 addressing #243, #244 * add `install_unit` and `remove_unit` for adding/removing custom user-defined symbols or names, with optional mapping to existing units; `install_symbolic_unit`, `remove_symbolic_unit`, `install_conversion_constant`, `install_conversion_offset` are deprecated; #261 addressing #89 * add `keep_units`, a helper to apply functions that do not preserve units; #255 addressing #252 * fix `as_units("")`, which is now equivalent to `unitless`; #199 * fix plot axes for `plot.formula` and `plot.data.frame`; #213 * fix arithmetic for powers above 1 and below -1; #264 * improve arithmetic of logarithms; #249 * export `ud_are_convertible`; #263 addressing #258 @cregouby * remove deprecations: `as.units`, `as_cf`, `make_unit`, `parse_unit`; #259 * remove deprecated pre-computed `ud_units` database; #259 # version 0.6-7 * port `isFALSE` to fix regression in old R versions; #230 addressing #229 * fix replacement operation for `units` objects; #233 addressing #232 * fix compatibility with dplyr 1.0; #247 addressing #239 # version 0.6-6 * prettier `str` print for units and mixed units; #228 addressing #227 * add compatibility with upcoming tibble v3.0.0; #225
Author
|
This was updated in trunk. |
jperkin
pushed a commit
that referenced
this pull request
Jan 18, 2022
Fix tests. 4.0.2 (2021-12-20) ================== Misc ---- - `#259 <https://github.com/aio-libs/async-timeout/issues/259>`_, `#274 <https://github.com/aio-libs/async-timeout/issues/274>`_
jperkin
pushed a commit
that referenced
this pull request
Sep 13, 2022
37.1 (2022-09-03) ----------------- * Allow HTML5 `nav` tag through cleaner (#259) 37.0 (2022-08-21) ----------------- * Remove command line example from docs (#197) * Multiple pyproject.toml fixes (#251) * Confirm handling multiple inline strong (#252) * Convert RST output to HTML5 (#253) * Add Typing to classifiers (#254) * Development tweaks - coverage reporting, actions updates (#255) * Add test confirming behavior with unknown lexers (#256) 36.0 (2022-08-06) ----------------- * Enable gitpod development (#238) * Allow rst admonitions to render (#242) * Add badges to README (#243) * Update codebase for modern Python (#244) * Fix table cell spans (#245) * Allow ``math`` directive in rst (#246) * Preserve ``lang`` attribute in ``pre`` (#247) 35.0 (2022-04-19) ----------------- * Add py.typed to the built wheel (#228) * Use isolated build for tox (#229) * Fix renderer ignore (#230) * Remove legacy check command and distutils (#233) * Emit a warning when no content is rendered (#231) * Drop support for Python 3.6 (#236) * Update html attribute order in tests (#235) 34.0 (2022-03-11) ----------------- * Add static types (#225) 33.0 (2022-03-05) ----------------- * Support cmarkgfm>=0.8.0 (#224) 33.0 (2022-02-05) ----------------- * Support cmarkgfm>=0.8.0 (#224) * Support Python 3.10 32.0 (2021-12-13) ----------------- * Allow start attribute in ordered lists (#216) * No limit rendering RST one column field names (#219) 31.0 (2021-12-09) ----------------- * Render disabled checkboxes from Markdown (#217) 30.0 (2021-09-30) ----------------- * support cmarkgfm>=0.6.0 (#209)
jperkin
pushed a commit
that referenced
this pull request
Oct 6, 2022
v1.6.0 (2022-10-02) It's been 9 months since the last release already! This is not a huge update feature-wise, but it still contains a few nice new improvements and a few bugfixes, contributed by 11 different people. The most important new feature is probably the option to override the cache directory through the config file. The TEALDEER_CACHE_DIR env variable is now deprecated. A note to packagers: Shell completions have been moved to the completion/ subdirectory! Packaging scripst might need to be updated. Changes: [added] Allow overriding cache directory through config (#276) [added] Add --no-auto-update CLI flag (#257) [added] Show note about auto-updates when cache is missing (#254) [added] Add support for android platform (#274) [added] Add custom pages to list output (#285) [fixed] Cache: Return error if HTTP client cannot be created (#247) [fixed] Handle cache download errors (#253) [fixed] Do not page output of tldr --update (#231) [fixed] Create macOS release builds with bundled root certificates (#272) [fixed] Clean up and fix shell completions (#262) [deprecated] The TEALDEER_CACHE_DIR env variable is now deprecated (#276) [removed] The --config-path command was removed, use --show-paths instead (#290) [removed] The -o/--os command was removed, use -p/--platform instead (#290) [removed] The -m/--markdown command was removed, use -r/--raw instead (#290) [chore] Move shell completion scripts to their own directory (#259) [chore] Update dependencies (#271, #287, #291) [chore] Use anyhow for error handling (#249) [chore] Switch to Rust 2021 edition (#284)
jperkin
pushed a commit
that referenced
this pull request
Oct 19, 2022
From https://wiki.davical.org/index.php?title=Release_Notes/1.1.11: === Bug Fixes === * Tasks show up in Free/Busy (#257) * php compatibility: Creating principal fails on 8.1 (#271) * PHP 8 deprecations: htmlspecialchars in always.php (#266) * PHP 8: "Exception [0] array_flip(): Argument #1 ($array) must be of type array, null given" at principal-edit.php (#260) * Exception in inc/iSchedule.php, Argument #1 must be of type Countable|array (#252) * Users with passwords containing a quotation mark cannot login (#259) * Create new users, impossible... (#250) * Wrong FreeBusy duration when the DTSTART of the event is the same as the DTEND (#247) * Remove deprecated get_magic_quotes* function call from setup.php (234) * "Login failure" when password contains HTML special characters (#229) === Other Changes === * Changes to Gitlab CI, unit and regression tests
jperkin
pushed a commit
that referenced
this pull request
Feb 27, 2023
2.1.0 (2023-02-17) * Use UnboundMethod#bind_call on Ruby 2.7+ for better performance (#380, jeremyevans) * Add Tilt::Template#freeze_string_literals? for freezing string literals in compiled templates (#301, jeremyevans) * Use Haml::Template for Tilt::HamlTemplate if available (Haml 6+) (#391, ntkme) * Deprecate BlueCloth, Less, and Sigil support (#382, jeremyevans) * Add Template#compiled_path accessor to save compiled template output to file (#369, jeremyevans) * Add Mapping#unregister to remove registered extensions (#376, jeremyevans) * Add Mapping#register_pipeline to register template pipelines (#259, jeremyevans) * Remove Tilt::Dummy (#364, jeremyevans) * Ensure Mapping#extensions_for returns unique values (#342, mojavelinux) * Remove opal support, since the the opal API changed (#374, jeremyevans) * Remove .livescript extension for LiveScript (#374, jeremyevans) * Set required_ruby_version in gemspec (#371, jeremyevans)
jperkin
pushed a commit
that referenced
this pull request
Jun 2, 2023
################################################################################ Changed in xts 0.13.1: o Ignore attribute order in `all.equal()`. Attribute order shouldn't matter. That can be checked with `identical()`. o Only call `tzone()` and `tclass()` once in `check.TZ()`. Calling these functions multiple times throws multiple warnings for xts objects created before the tclass and tzone were attached to the index instead of the xts object. (#306) o Add instructions to update old objects. Old xts objects do not have tclass and tzone attributes on the index. Add a function to update the object attributes and add a note to the warning to show how to use it. (#306) o Return 'POSIXct' if object has no 'tclass'. An empty string is not a valid 'tclass', so it can cause an error. o Add notes on `plot.xts()` nomenclature and structure. Also add ASCII art to illustrate definitions and layout. (#103) o Remove 'tis' support. The implementation was not even a bare minimum, and it's not clear it even worked correctly. (#398) o Register missing S3 methods and update signatures. With R-devel (83995-ish), `R CMD check` notes these S3 methods are not registered. It also notes that the signatures for `as.POSIXct.tis()` and `str.replot_xts()` do not match the respective generics. It also thinks `time.frequency()` is a S3 method because `time()` is a generic. The function isn't exported, so renaming won't break any external code. Thanks to Kurt Hornik for the report. (#398) o Format each column individually before printing. The top/bottom rows could have a different number of decimal places and there are often multiple variying spaces between columns. For example: close volume ma bsi 2022-01-03 09:31:00 476.470 803961.000 NA 54191.000 2022-01-03 09:32:00 476.700 179476.000 NA 53444.791 2022-01-03 09:33:00 476.540 197919.000 NA -16334.994 ... 2023-03-16 14:52:00 394.6000 46728.0000 392.8636 28319.4691 2023-03-16 14:53:00 394.6500 64648.0000 392.8755 15137.6857 2023-03-16 14:54:00 394.6500 69900.0000 392.8873 -1167.9368 There are 4 spaces between the index and the 'close' column, 2 between 'close' and 'volume', 4 between 'volume' and 'ma', and 2 between 'ma' and 'bsi'. There should be a consistent number of spaces between the columns. Most other classes of objects print with 1 space between the columns. The top rows have 3 decimals and the bottom rows have 4. These should also be the same. (#321) o Only convert printed index values to character. Converting the entire index to character is time-consuming for xts objects with many observations. It can take more than a second to print an xts object with 1mm observations. o Make column names based on number of columns. The original code was a lot more complicated because it tried to account for truncating the number of printed columns. That functionality was removed because of how complicated it was. So now we can simply create printed column names from the number of columns. (#395) o Fix `xts()` for zero-row data.frame. The `xts()` constructor would create an object with a list for coredata when 'x' is a data.frame with no rows. It needs to convert 'x' to a matrix and throw an error if 'x' is a list. (#394) o Reduce instances when `dplyr::lag()` warning is shown. The warning was shown whenever it detected dplyr is installed, even if the user wasn't actively using dplyr. That caused an excessive amount of noise when other packages attached xts (e.g. quantmod). Thanks to Duncan Murdoch for the report and suggested fix! (#393) o Keep colname when only one non-time-based column. The subset `x[, -which.col]` would return a vector when the data frame has a time-based column and only one additional column. Do not drop dimensions, so 'x' will still be a data.frame in this case. (#391) o Treat NA the same as NULL for start or end values. NULL represents an undefined index value. NA represents an unknown or missing index value. xts does not allow NA as index values. Subsetting an xts or zoo object by NA returns a zero-length object. So a NA (unknown) index value is essentially the same as an undefined index value. (#383, #345) o Warn and remove NA when `periodicity()` called on date-time with NA. Otherwise the uninformative error below will be thrown. (#289) Error in try.xts(x, error = "'x' needs to be timeBased or xtsible") : 'x' needs to be timeBased or xtsible o Account for TZ when making names for `split.xts()`. `as.yearmon.POSIXct()` always sets `tz = "GMT"` when calling `as.POSIXlt()`, regardless of the xts' index tzone. That can cause the `as.yearmon()` results to be different days for GMT and the index's timezone. Use `format.POSIXct()` for "months" because it checks for a 'tzone' attribute before converting to POSIXlt and calling `format.POSIXlt()`. The conversion to POSIXlt is important because it checks and uses the 'tzone' attribute before considering the 'tz' argument. So it effectively ignores the `tz = "GMT"` setting in `as.yearmon()`. This is also the reason for calling `as.POSIXlt()` before calling `as.yearqtr()`. (#392) ################################################################################ Changed in xts 0.13.0: ### New Features o Added a xts method for `na.fill()` to significantly increase performance when 'fill' is a scalar. (#259) o `as.xts()` will look for a time-based column in a data.frame if it cannot create an index from the row names. (#381) o Change `print()` xts method to only show the first and last 'show.rows' rows if number of rows is > 'max.rows'. (#321) o Made `str()` output more descriptive for xts objects. It now differentiates between xts objects that are empty, zero-width, or zero-length, and defines each type of object. It also adds column names to the output. (#168, #378) o Add startup warning that `dplyr::lag()` breaks method dispatch, which means calls to `lag(my_xts)` won't work any more. o Added open-ended time of day subsetting ranges. This allows users to subset by time of day from the start/end of the day without providing the start/end times (00:00:00.000/23:59:59.999). For example: x["/T1800"] # between the start of the day and 5pm x["T0500/"] # between 5am and the end of the day Thanks to Chris Katsulis for the suggestion! (#243) o Updated `to.period()` to accept custom 'endpoints' via the 'period' argument. Now you can aggregate on something other than the times that 'endpoints()' supports. Thanks to Ethan B. Smith for the suggestion! (#302) ### Fixes o Fixed typo and expand `period.apply()` documentation. (#205) The original description has: * "the data from INDEX[k] to INDEX[k+1]" But that's not consistent with the code. It should be: * "the data from INDEX[k]+1 to INDEX[k+1]" o Calls to `merge.xts()` on zero-width objects now match `merge.zoo()`. Previously, `merge.xts()` would return empty xts objects if called on two or more zero-width xts objects. `merge.zoo()` would return a zero-width object with the correct index. (#227, #379) o Fixed `Ops.xts()` so it always returned an object with the same class as the first (left-hand side) argument. It previously returned an xts object even if the first argument was a subclass of xts. (#49) ### Other o Migrated unit tests from RUnit to tinytest. Thanks Mark van der Loo! o Updated the `endpoints()` documentation to make it clearer that the result is based on the UNIX epoch (midnight 1970, UTC). Thanks to GitHub user Eluvias for the suggestion! (#299) o Fixed `reclass()` to ensure it always adds index attributes from the 'match.to' argument. It was not copying `tclass`, `tzone`, or `tformat` from 'match.to' to the result object. (#43) o Removed an unnecessary check in `na.locf()` (which is not user-facing). Thanks to GitHub user @cgiachalis for the suggestion! (#307) o Updated C entry points so they're not able to accidentally be found via dynamic lookup (i.e. `.Call("foo", ...)`). This makes each call to the C code a few microseconds faster, which is nice. (#260) o Made `merge.xts()` results consistent with `merge.zoo()` for zero-length xts objects with columns. The result of `merge.xts()` did not include the columns of any objects that had one or more columns, but zero rows. A join should include all the columns of the joined objects, regardless of the number of rows in the object. This is consistent with `merge.zoo()`. Thanks to Ethan B. Smith for the report and testing! (#222)
jperkin
pushed a commit
that referenced
this pull request
Oct 23, 2023
This is the biggest update ever, with 36 new features, 24 bug fixes,
and 3 performance improvements.
Thank you to every contributor for making Yazi better and better!
What's Changed
feat: add Mintty (Git Bash) image preview support by @sxyazi in #103
refactor: use Url instead of PathBuf by @sxyazi in #107
fix: mime of javascript by @XYenon in #106
perf: load large folders in chunks by @sxyazi in #117
fix: set cursor block after closing input prompt from insert mode
by @auvred in #109
fix: doesn't redirect the stderr of the clipboard command to null
by @sxyazi in #119
feat: suspend process (Ctrl-Z) by @sxyazi in #120
fix: notification of file changes in linked directories by @sxyazi in #121
feat: file size sorting under the simplified file system by @sxyazi in #123
fix: show_hidden not properly applied to hovered folder by @sxyazi in #124
fix: recognize symlink directories as files by @sxyazi in #125
fix: respect symlink paths without canonicalizing them by @sxyazi in #126
feat: make Input streamable by @sxyazi in #127
perf: doesn't wait for the process of killing by @sxyazi in #128
feat: find by @sxyazi in #104
feat: tab-specific sorting by @sxyazi in #131
feat: new V, D, C keybinding for Input component by @sxyazi in #139
fix: swap description for search commands by @knutwalker in #141
fix: image position calculation by @sxyazi in #144
feat: support for image preview within tmux by @sxyazi in #147
feat: show keywords when in search mode by @sxyazi in #152
feat: fallback to built-in highlighting if jq is not installed
by @ndtoan96 in #151
feat: make the glob expr case insensitive by default, and prepend \s to
make it sensitive by @sxyazi in #156
fix: check relative path on expand_path by @sxyazi in #165
feat: support for FreeBSD permission type by @yggdr in #169
feat: multiple openers for a single rule by @Linus789 in #154
fix: leave upwards only if an IO error occurs in current by @sxyazi in #172
docs: add archlinuxcn installation guide by @Integral-Tech in #176
fix: image preview not working on Zellij by @Eric-Song-Nop in #181
feat: make trash optional by @sxyazi in #178
fix: inconsistent Shift key behavior on Unix and Windows
by @ndtoan96 in #174
feat: new force option added for the remove command, which does not show
the confirmation dialog on trashing/deleting by @sxyazi in #173
fix: typo of LICENSE file by @conradojordan in #201
feat: add flake.nix by @XYenon in #205
feat: include ignored files on search when hidden files are shown
by @PhotonQuantum in #212
feat: new orphan option for opener rules, to keep the process running even
when Yazi exited by @sxyazi in #216
feat: scroll half/full page with arrow percentage supported, and new
Vi-like <C-u>, <C-d>, <C-b>, and <C-f> keybindings added by
@TD-Sky in #213
feat: highlight matching words on finding by @PhotonQuantum in #211
feat: add BackTab support by @sxyazi in #209
fix: set stdio to null when orphan is true by @sxyazi in #229
feat: new force option for creating and renaming by @sxyazi in #208
feat: loop through to find by @ndtoan96 in #234
feat: backward/forward by @ndtoan96 in #230
perf: reimplement optimized natural sorting algorithm, speed up ~6 times
for case-insensitive sorting by @sxyazi in #237
chore: changing the finding key to n/N to keep with Vim's conventions
by @sxyazi in #238
feat: added new options to the `find' command for smart-case/
case-insensitive finds by @ndtoan96 in #240
feat: add new --no-cwd-file option to quit command for flexible cwd-file
setting by @XOR-op in #245
fix: avoid adding non-regular paths to backstack by @ndtoan96 in #249
fix: support RGBA16 images by @sxyazi in #250
feat: support trash for NetBSD by @sxyazi in #251
feat: support environment variable in cd path by @ndtoan96 in #241
feat: new theme system by @sxyazi in #161
fix: cannot cd if there is whitespace in path by @ndtoan96 in #255
fix: add application/x-wine-extension-ini to text mime by @ndtoan96 in #259
fix: collect and fix all hard coded themes and color
by @Eric-Song-Nop in #221
fix: some colors not readable in light mode by @sxyazi in #264
feat: better file hover state by @sxyazi in #269
refactor: split commands into separate files by @sxyazi in #272
feat: cancel selected items automatically on entering, leaving, copying, or
cutting by @sxyazi in #273
feat: add a new Bar component, and make border styles customizable
by @sxyazi in #278
fix: adapt another $TERM value of foot-extra for foot by @sxyazi in #277
refactor: simplify building conditions by @sxyazi in #280
chore: add git rev to nix pkg version by @XYenon in #206
feat: new Manager component for better style extensions by @sxyazi in #284
feat: cross-system opener rule support by @sxyazi in #289
fix: delegate the SIGINT signal of processes with orphan=true to their
parent by @sxyazi in #290
feat: line mode by @sxyazi in #291
feat: shell completions & auto releasing by @TD-Sky in #282
jperkin
pushed a commit
that referenced
this pull request
Nov 21, 2023
Upstream changes: https://github.com/weppos/publicsuffix-ruby/blob/v5.0.4/CHANGELOG.md 5.0.4 Changed * Reduced .gem file size (GH-259). [Thanks @ybiquitous] * Updated definitions.
jperkin
pushed a commit
that referenced
this pull request
Dec 17, 2023
3.2.7 (2023-11-13) * Land #255, Fix an issue with SMB2 create context padding 3.2.8 (2023-11-13) * Land #256, Add support for callback hooks in share providers 3.3.0 (2023-12-12) * Land #257, Close the opened directory after listing it's contents * Land #258, Fix intermittent test failure with zero length fields 3.3.1 (2023-12-15) * Land #259, Update and refactor Efsrpc
jperkin
pushed a commit
that referenced
this pull request
Dec 18, 2023
11.0.0 - 2022-05-18 Changed * Updated cucumber-gherkin and cucumber-messages 11.1.0 (2022-12-22) Changed * Update gherkin and messages dependencies Fixed * Restore support for matching a scenario by tag and step line numbers. (#237, #238, #239) 12.0.0 (2023-09-06) Changed * Update gherkin and messages minimum dependencies * Added in new rubocop sub-gems for testing, pinning versions where appropriate * Removed all redundant / incorrect rubocop config overrides (Placed in TODO file) * Began to refactor the repo by initially fixing up a bunch of rubocop auto-fix offenses (See PRs for details) (#257 #258) Removed * Remove support for ruby 2.4 and below. 2.5 or higher is required now 13.0.0 (2023-12-05) Changed * Now using a 2-tiered changelog to avoid any bugs when using polyglot-release * More refactoring of the repo by fixing up a bunch of manual rubocop offenses (See PR's for details) (#259 #262 #268 #274) * In all Summary and Result classes, changed the strict argument into a keyword argument See upgrading notes for 13.0.0.md (#261) * Permit usage of gherkin v27 Fixed * Restore support for matching a scenario by its Feature, Background, and Rule line numbers (#247) Removed * Remove legacy unindent gem (Now no longer required since Ruby 2.3 and Squiggly heredocs) (#278)
jperkin
pushed a commit
that referenced
this pull request
Feb 7, 2024
3.0.0 / 2024-01-05 * PR #265 - Change Readline for Reline for Ruby 3.3 compat (@abinoam) * PR #264 - Add abbrev gem as dependency (@mathieujobin) * PR #263 - Release 3.0.0.pre.1 * Raise minimum Ruby version requirement to 3.0 * PR #262 - Do not call stty on non-tty (@kbrock) * PR #260 / I #43 - Ctrl-U (erase line) handling (@abinoam, issue by @gutenye) * PR #259 / I #236 - Handle Ctrl-C when Question#echo = false (@abinoam, @Fahhetah, issue by @aspyct) * PR #258 / I #246 - Add validation class support (@abinoam, issue by @Joshfindit) - Make it dry-types compatible through the use of #valid? - Solve the multiple answers in one line problem with a combination of custom coercion (parser) and custom validation * PR #257 / I #233 - Show Question#default hint for non String values (@abinoam, issue by @branch14) - Add Question#default_hint_show to allow disabling it. * PR #256 / I #249 - Fix Array validation in Question#in (@abinoam, issue by @esotericpig) 3.0.1 (2024-01-20) * PR #268 - Remove unused abbrev dependency (@zvkemp)
github-actions Bot
pushed a commit
that referenced
this pull request
Oct 27, 2025
What's Changed - Add minor optimizations and general clippy cleanup by @JamyGolden in #229 - fixed panic on list -s random by @michirakara in #235 - Update CI by @sharkdp in #244 - Updates by @sharkdp in #245 - Add rgb-r, rgb-g, rgb-b formats. by @HACKER097 in #251 - Feat/support formatting to ansi color code num alone by @tauraamui in #256 - feat: add oklch support by @sameoldlab in #259 - Update version header format for 0.9.0 in CHANGELOG.md by @martin-g in #272 - Fix RGBA format in from_u32 documentation by @martin-g in #270 - Add automatic man page generation with clap_mangen by @nadzyah in #271 - Add manpages to release, add Apple silicon builds by @sharkdp in #275
github-actions Bot
pushed a commit
that referenced
this pull request
Nov 3, 2025
0.18.0 (2025-11-03) * Fixed verbose mode attempting to print binary SSL data by replacing it with a summary. (Felipe Mesquita, #265) * Fixed on_headers callbacks being called once per header line instead of once for all headers. (Felipe Mesquita, #264) * Stabilized test server boot on macOS by fixing IPv6/IPv4 localhost resolution and preventing orphaned processes. (Geremia Taglialatela, #261) * Added logger to runtime dependencies for Ruby 3.5+ compatibility. (Geremia Taglialatela, #259) * Opted-in for MFA requirement explicitly by adding rubygems_mfa_required metadata. (Geremia Taglialatela, #257) * Removed redundant encoding and require_relative checks. (Geremia Taglialatela, #258)
github-actions Bot
pushed a commit
that referenced
this pull request
Nov 16, 2025
What's Changed
Add support for Python 3.14 (including free-threaded Python) by @ngoldbaum in #256
build(deps): bump actions/checkout from 4 to 5 by @dependabot[bot] in #259
build(deps): bump actions/download-artifact from 4 to 5 by @dependabot[bot] in #258
build(deps): bump pypa/cibuildwheel from 3.1.3 to 3.1.4 by @dependabot[bot] in #257
github-actions Bot
pushed a commit
that referenced
this pull request
Dec 15, 2025
Security fix release. 2025-12-15 -- 1.0.0 >>>>>>>>>>>>> SECURITY >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> * Fixed: [CVE-2025-67899] Protect from stack overflow during parsing by dissolving all 13 cases of recursion, both direct and indirect. The attack vector was long (or crafted) URI input. The known impact is denial of service or more. Thanks for the report to Sergey Svistunov! Thanks for in-depth review to Tim Düsterhus! (sponsored by Tideways GmbH) Thanks for C callgraph tool "egypt" (https://www.gson.org/egypt/) to Andreas Gustafsson and for "dot_find_cycles.py" to Jason Antman! (GitHub #282, GitHub #284) >>>>>>>>>>>>> SECURITY >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> * Changed: Start requiring a C99 compiler (GitHub #264, GitHub #273) * Changed: Require CMake >=3.15.0 (GitHub #270) * Changed: Stop building tests by default (GitHub #283) * Fixed: Normalization of URIs with leading dot segments produced ambiguous results in the sense that a reparse after normalization would have misinterpreted path parts as a host (GitHub #262, GitHub #263, GitHub #265) Examples of affected URIs: - "scheme:/.//path1/path2" - "/.//path1/path2" - ".//path1/path2" The fix is to not remove that dot segment. Thanks to Ignace Nyamagana Butera and to Tim Düsterhus for the report! * Fixed: Insufficient pointer alignment from allocation wrappers used in the implementation of function uriCompleteMemoryManager. (GitHub #261) Thanks to Matthew Fernandez and Rolf Eike Beer for the report and review! * Fixed: Do not set `absolutePath` for empty paths when removing host Thanks for the report and pull request to Tim Düsterhus! (GitHub #275, GitHub #276) * Fixed: Documentation of functions uriCompleteMemoryManager, uriEmulateCalloc, uriEmulateReallocarray and uriTestMemoryManager (GitHub #261) * Fixed: CMake: Remake approach to static CRT with MSVC compilers Old: -DURIPARSER_MSVC_RUNTIME=/MT New: -DURIPARSER_MSVC_STATIC_CRT=ON (GitHub #270) * Fixed: Documentation: Get CMake variables list back in sync and sorted in the readme (GitHub #270) * Fixed: Various typos found by Codespell (https://github.com/codespell-project/codespell) (GitHub #259) * Added: Add a new (and recommended to use) version of uriTestMemoryManager that can challenge pointer alignment (GitHub #261) New functions: uriTestMemoryManagerEx * Improved: Increase test coverage by mutation testing Thanks for the pull request to Tim Düsterhus! (GitHub #266) * Improved: Address compiler warning -Wunused-but-set-variable (GitHub #268) * Improved: Deduplicate internal char set macros (GitHub #280) * Infrastructure: Enable stack traces from UndefinedBehaviorSanitizer in CI via environment variable UBSAN_OPTIONS (GitHub #261) * Infrastructure: Bump GoogleTest to 1.12.0 in AppVeyor CI to fix the build with CMake >=3.5 (GitHub #261) * Infrastructure: Migrate Windows CI from AppVeyor to GitHub Actions (GitHub #270) * Infrastructure: Make GitHub Actions detect and reject known typos using Codespell (https://github.com/codespell-project/codespell) (GitHub #259) * Infrastructure: Update Clang from 20 to 21 (GitHub #267) * Infrastructure: Start specifying CXX and CXXFLAGS for fuzzing CI (GitHub #268) * Infrastructure: Make CI report on test coverage using LLVM, and offer these reports for download (GitHub #32, GitHub #269) * Infrastructure: Make CI enforce clang-format clean code (GitHub #272) * Soname: 3:0:2 — see https://verbump.de/ for what these numbers do (liburiparser.so.1.2.0)
github-actions Bot
pushed a commit
that referenced
this pull request
Apr 19, 2026
What's Changed
Add initial support for oss-fuzz by @palemieux in #249
Fix OSS-fuzz build by @palemieux in #250
Renamed file to avoid duplicate library names in custom builds. by @dlemstra in #252
Validate dimensions in the SIZ marker segment after reading it from a codestream by @palemieux in #253
Fix: Rule of 3/5/7 violation leads to possible use after free in inadvertent use of copy constructor /assignment. by @geo-ant in #242
Fix typo in the signature of get_tile_offset() by @palemieux in #254
Fix oss-fuzz build and improve documentation by @palemieux in #256
fix move special functions in mem in and outfile by @geo-ant in #258
Add support for CIFuzz by @palemieux in #259
Fix race condition in table initialization with multiple threads by @brechtvl in #243
Fix 32-bit ARM SIGBUS: align elastic allocator payload for coded_lists::buf by @cary-ilm in #262
Add Linux-ARM32 Build by @palemieux in #263
Extend fuzzing harness to add more reachability by @DavidKorczynski in #264
Fix ARM64EC builds by excluding ARM64EC from x64(_M_X64) detection on Windows by @navvyswethgraphics in #265
github-actions Bot
pushed a commit
that referenced
this pull request
Apr 26, 2026
2.58 2026-04-23 (by Todd Rinaldo)
Fixes:
- PR #260 Prevent element-name SV leak when Start or End handlers
die: wrap the call_sv in ENTER/SAVEFREESV/LEAVE so an exception
thrown from a handler no longer leaks one SV per call. Audited
all 19 XS callbacks — startElement and endElement were the only
ones with non-mortal SVs across a call_sv boundary
- PR #259 Add NULL check for GvIOp in XML_Do_External_Parse to
prevent a segfault when an ExternEnt handler returns an
unopened filehandle. GvIOp returns NULL for a glob that has
never been opened; both call sites previously passed the NULL
straight to newRV_inc
- PR #258 Release the parser when an Init or Final handler dies.
The release() call used to be skipped on exception, leaving a
circular reference through self_sv so DESTROY never ran and the
parser leaked permanently
- PR #257 Free doctype_sysid during normal parser teardown and
NULL self_sv after release. Every parse of a document with a
<!DOCTYPE ... SYSTEM "..."> declaration previously leaked the
system-id string on the non-error path (free_cbv already freed
it on the error path)
- PR #255 Use bare return instead of "return undef" in
ContentModel::children() and expand_ns_prefix(). "return undef"
in list context produces (undef) — a one-element list — which
silently broke callers checking @Result for emptiness
- PR #246 Use three-argument open in file_ext_ent_handler so that
pipe characters and IO-mode prefixes in external-entity SYSTEM
identifiers can never be interpreted by Perl's two-argument
open. The existing regex check is now defense-in-depth rather
than the sole protection
- PR #242 Add NULL-after-allocation checks with cascading cleanup
to the three New() calls in LoadEncoding, consistent with the
pattern established for XML_ParserCreate_MM in PR #204
Improvements:
- PR #267 Address CPANTS Kwalitee issues: add =head1 LICENSE to
Parser.pm, add use warnings to Expat.pm, add provides to
META_MERGE (using MM->parse_version() to avoid hardcoding), and
add SECURITY.md and CONTRIBUTING.md
- PR #265 Fix Doctype handler Internal parameter documentation in
Parser.pm — the XS code pushes PL_sv_yes/PL_sv_no (a boolean
indicating whether an internal subset exists), not the subset
string the POD claimed. Also correct the DoctypeFin parameter
label from (Parser) to (Expat) and a minor Expat.pm POD typo
- PR #264 Add use strict and use warnings to Makefile.PL and
Expat/Makefile.PL, and convert $expat_libpath / $expat_incpath
from bare globals to lexicals
- PR #262 Modernize META resources to CPAN Meta spec v2 —
structured bugtracker and repository entries so MetaCPAN and
CPAN tooling can extract richer information (separate git URL,
web URL, and tracker type)
- PR #256 Add use warnings to Parser.pm and all five Style
modules. Expat.pm is intentionally excluded and already
documents why (it uses int() on strings in namespace methods)
- PR #254 Improve const-correctness in Expat.xs: propagate
const char * through newUTF8SVpv, newUTF8SVpvn, and
append_error, and drop 30+ now-unnecessary (char *) casts. No
functional change — identical generated code
- PR #251 Add a Codecov coverage badge to README.md alongside the
existing CI badge
- PR #250 Document the Codecov coverage integration in CLAUDE.md,
including the two flags (perl via Devel::Cover, xs via
gcov/lcov) and a link to the dashboard
- PR #247 Add a Devel::Cover code-coverage CI job that measures
both Perl and XS/C coverage (via gcc --coverage + lcov) and
uploads to Codecov with separate perl/xs flags
- PR #241 Add a SECURITY section to Parser.pm POD documenting the
BillionLaughsAttackProtection*, AllocTracker*, and
ReparseDeferralEnabled options, with cross-references from the
new() option list
Maintenance:
- PR #266 Add 22 tests in t/expat_guards.t covering Expat.pm
input validation (setHandlers type/arity checks), parse-state
guards, and reference-exception preservation
- PR #263 Upgrade cross-platform-actions from v0.32 to v1 in the
BSD (FreeBSD, OpenBSD, NetBSD) CI jobs
- PR #261 Add 4 missing test files to MANIFEST via make manifest
and extend MANIFEST.SKIP with standard exclusions for build
artifacts (blib/, *.o, *.so, *.bs, *.c, cover_db/, .DS_Store,
Makefile.old) so future regenerations stay clean
- PR #253 Add missing use strict and use warnings to 9 test files
so the whole suite is consistent, and fix an undeclared
$parser in t/file.t surfaced by the new strictures
- PR #252 Upgrade actions/checkout from v4 to v6 in the release
workflow (the testsuite workflow was already upgraded)
- PR #249 Add t/expat_xs_coverage.t with 26 tests targeting
previously-uncovered paths in Expat.xs (93% → 95% line
coverage), focused on skip_until suspend/resume, namespace
cleanup in finish(), and external-entity edge cases
- PR #248 Add t/coverage_gaps.t with 31 tests for previously
uncovered Perl code paths identified via Devel::Cover — Debug
and Stream style Proc/PI handlers, Expat direct parse methods,
ContentModel MIXED asString, and security-API argument
validation. Subroutine coverage reaches 100% across all modules
- PR #245 Add 16 targeted Stream_Delimiter boundary tests that
exercise the XS parse_stream delimiter detection logic directly
with small controlled documents (t/stream.t only exercised it
against one large sample file)
- PR #244 Add t/parser_api.t covering the XML::Parser API
surface: setHandlers return and croak semantics, parsefile Base
save/restore (including on error), parser reuse, parse return
values in scalar and list context, Init handler invocation,
and Pkg defaulting
github-actions Bot
pushed a commit
that referenced
this pull request
Apr 27, 2026
Changes in FLTK 1.4.5 Released: Apr 25 2026
This is a maintenance release with many improvements and fixes
backported from the current development branch 'master' (1.5.0).
This release is 100% backwards ABI and API compatible to release 1.4.0
and previous 1.4.x patch releases with default build options.
Major Bug Fixes
- Fix menu crash dereferencing nullptr (#1335)
- Fix crash in Fl_Tabs without children (#1366)
- Fix "Fl_Double_Window::make_current() issues with Cairo drawing" (#1285)
- Fix "Setting window custom cursor from SVG image crashes" (#1363)
- Fix "fl_draw_image() with horizontal flip reads out of bounds" (#1369)
- macOS: fix crash when drawing image with draw_image() in some scenarios
(#1372)
- Wayland: avoid NULL-pointer error after call to
wl_display_get_protocol_error()
- Wayland: Fix "Long Tooltips can crash ..." (#1317)
- Wayland: Fix NULL pointer dereference in Fl::cairo_make_current() (#1359)
- Wayland: Fix crash in test/sudoku if ALSA soundlib is not available
- Wayland: subwindows may grab scaling factor from wrong monitor (#1382)
- Windows: avoid crash when resizing window containing non-FLTK child window
(#1401)
- X11: Fix crash with menubar across 2 screens with diverse scale factors
(#1380)
- X11: Fl::enable_im() crashes without input methods (#1364)
- Fix "fl_add_symbol() *always* increments symbnumb" (#1410).
- Fix "Mac: Most fl_symbols missing corner pixels" (#1409).
- Fix "Mac: Stubborn tooltips when menu window is open" (#1408)
Minor Bug Fixes
- Applied xuyun018's fix for Fl_Tree horiz scroll (#1297)
- Fix: Underline does not appear in some fonts and scales (#1308)
- Fix "New Wayland subwindow code creates issues with resizes of opengl
windows\u2026" (#1311)
- Fix "Drawing to the wrong window with cairo and X11" (#1358)
- Fix "Cairo: Rect with negative dimensions is still drawn" (#1379)
- Fix "Blurry fonts with cairo/pango on FLTK >= 1.4" (#1365)
- Fix "Transparent PNGs not rendered correctly when window is scaled"
(#1375)
- Close active menus when moving window to new screen
- macOS: Fix GL window child widgets when the window's screen changes
resolution
- Wayland: don't call non-public libdecor_frame_get_content_{width,height}
(#1296)
- Wayland: Some shortcut keys not delivered when input widget has focus
(#1290)
- Wayland: fix creation of toplevel Fl_Gl_Window
- Wayland: fix minor paste and DnD issue revealed by valgrind
- Wayland: fix several issues related to scaling and to GL windows
- Wayland: Implement Fl_Window::xclass(const char*) for Wayland (#1391).
- Windows: Fix "If app appears on non-active screen \u2026, window resizes"
(#259)
- Windows: Fix "Window scaling shortcut always moves window towards initial
display" (#1371)
- Wayland: call libdecor_dispatch(), libdecor_unref(), libdecor_get_fd() as
expected by libdecor.
- X11: Restore use of menubar at top of fullscreen window
- X11/Wayland: Fix resize of menutitle windows when across 2 screens with
diverse scaling
CMake And Other Build Procedure Improvements
- Bump version number from 1.4.4 to 1.4.5
- Don't export unnecessary executable files
Documentation Fixes and Improvements
- Fix documentation of fl_overlay_clear and fl_overlay_rect
- Clarify that a font must be loaded before measuring text (#1356)
- Improve docs related to "RGB sub image drawing slow with larger images"
(#1384)
Other Improvements
- Remove usage of deprecated fl_utf8froma(), improve layout of test/utf8
- Remove conflicting FL_EXPORT from header file (#1357)
- Set window class name (xclass) in test/editor
- Fl_Terminal fixes from 1.5.x - smoother scrolling and issue #1328
- Fix Fl_Terminal drawing issues (WRT scrollbar and box clipping)
- Improve handling of text containing context-dependent unicode points
- Add complete support of emojis to text widgets (#1360)
- Fix issues with Fl_RGB_Image::draw() + window scaling,
and performance concerns (#1370)
- Improve control of screen where FLTK positions menu windows (#1376)
- Improve Fl_Window::hotspot() when screens have different scale factors
- macOS: Remove slight transparency from menu windows (#1373)
- Wayland: use UTF-8 text from clipboard when available
- Wayland: improve function Fl_Wayland_Window_Driver::resize() (#1307)
- Windows: improve moving window across screens having distinct scale
factors
ABI changes: only, if explicitly enabled by setting FL_ABI_VERSION >= 10405
- Make Fl_Table::get_selection() 'const' (ABI 10405) (#1305)
jperkin
pushed a commit
that referenced
this pull request
May 14, 2026
Changes: ### Additions - Support for - `patreon` (#226) - `hentainexus` (#256) - `date` metadata fields for `pixiv` (#248), `instagram` (#250), `exhentai`, and `newgrounds` ### Changes - Improved `flickr` metadata and video extraction (#246) ### Fixes - Download original GIF animations from `deviantart` (#242) - Ignore missing `edge_media_to_comment` fields on `instagram` (#250) - Fix serialization of `datetime` objects for `--write-metadata` (#251, #252) - Allow multiple post-processor command-line options at once (#253) - Prevent crash on `booru` sites when no tags are available (#259) - Fix extraction on `instagram` after `rhx_gis` field removal (#266) - Avoid Cloudflare CAPTCHAs for Python interpreters built against OpenSSL < 1.1.1 - Miscellaneous fixes for `luscious`
jperkin
pushed a commit
that referenced
this pull request
May 14, 2026
This package now uses rust. The user-settable variable LIBRSVG_USE_RUST allows switching between this and the (obsolete) plain-C version in librsvg-c. It defaults to "yes" on platforms that lang/rust currently supports. Version 2.44.14 - Fix #425 - Don't fail parsing if the system's locale is broken (Paolo Borelli). - Fix #438, #443 - Don't create intermediate raster surfaces unless absolutely needed. This was causing blurred output for SVGs from Inkscape and Illustrator, since they include an "enable-background" property even when there are no filters in use. Thanks to Julian Sparber, Jordan Petridis, Zeeshan Ali for doing a huge "git bisect" to find the cause of this bug. - Fix #443 - Fix blurry output when enable-background is used without filters. - Fix #455 - Fix rounding error on i386 (Olivier Tilloy). - Check for Cairo errors when constructing paths. Version 2.44.13 - Updated compilation docs for Debian (Jordan Petridis) - Fix #415 - register RsvgHandleFlags and the RsvgError enum values in a thread-safe fashion (Sebastian Dröge). Version 2.44.12 - At build time, you can now pass $CARGO and $RUSTC environment variables if you need to override the default Rust toolchain. Please see COMPILING.md for details. (Tobias Kortkamp) - Fix #405 - In the gdk-pixbuf loader, don't crash the write() function doesn't receive a GError. - Fix #398 - Detect circular references in gradients. Version 2.44.11 - Fix crash when a linear RGB filter is followed by an SRGB filter (Ivan Molodetskikh). - Fix #393 - Stack overflow when freeing thousands of sibling elements. - Fix #395 - feMorphology was crashing with a negative scaling transformation. - Fix positioning of adjacent <tspan> elements. Version 2.44.10 - Fix #385 - Don't crash if there is no rsvg_handle_write() before rsvg_handle_close(). - Fix #391 - Avoid undefined behavior when casting opaque pointers (Jordan Petridis). - Added g_warning()s to ensure the API is called in the correct sequence. Version 2.44.9 - Fix #371 - rsvg-convert was positioning extracted elements incorrectly when using the -w/-h options together with --export-id. - Fix #372 - Mis-rendering in small arc segments. - Fix #373 - Rendering of gradients for horizontal/vertical stroked lines with gradientUnits="userSpaceOnUse". - Fix a couple of memory leaks in the error paths of the GdkPixbuf loader (Benedikt Heine). Version 2.44.8 - Librsvg now requires Rust 1.27; this should have happened since 2.44.0. Apologies if the 2.44.x series didn't catch this build failure early for you. - Librsvg now requires Cairo 1.15.12. - Fix #363 - Don't drop spaces around <tspan> elements. - Fix #365 - rsvg-convert now uses pixel units for SVG output, instead of points. This requires cairo 1.15.12 (Antonio Ospite). - Fix #358, #366 - tweaks to have the test suite pass on i386 and non-x86_64 platforms (Simon McVittie, Federico Mena). - Fix #368 - With RSVG_LOG=1, librsvg will now report when SVGs have references to nonexistent elements, to aid debugging (for example, in an xlink:href attribute). - Allow reference tests with a small difference to pass without breaking the build (Simon McVittie). Version 2.44.7 - Fix #256 - Correctly match the systemLanguage attribute with the user's locale. - Fix #320 - Parse xml:lang correctly. - Fix #334 - Don't modify the caller's cairo_t state during rendering. - Fix #349 - Don't panic if we get a "data:" URI with empty data. - Fix #352 - Don't panic on getting a very large "order" for feConvolveMatrix (Ivan Molodetskikh). Version 2.44.6 - Fix 32-bit builds (Jordan Petridis). Version 2.44.5 - Fix #343 - Handle child being in error in feComponentTransfer. - Fix #346 - Handle filter primitives producing errors. - Fix #347 - Regression in computation of text element extents. - Fix #348 - Fix incorrect font sizing. - Fix #349 - Don't panic when loading an external image that is bigger than Cairo's limits. - Fix - rsvg_handle_get_dimensions_sub() no longer panics if passed a nonexistent fragment identifier. - CSS processing code is now in Rust, although it still calls libcroco to do the parsing. Version 2.44.4 - Fix #341 - Don't infinite-loop with cyclic pattern references. - Fix #342 - Don't crash if a <use> node references one of its ancestors. - Fix #344 - Don't panic when a viewBox has overflowing numbers. - Fix #345 - Fix panics due to bad path parsing and overflows in surface size. - Cleanups and refactoring (Paolo Borelli, Linus Unnebäck, Federico Mena). Version 2.44.3 - Fix building when srcdir != builddir (Mathieu Bridon). - Fix #339 - Panic in filters with primitiveUnits="objectBoundingBox" on zero-sized elements (Ivan Molodetskikh). - Fix #335 - Don't panic if the toplevel node is not <svg>. - Fixes from fuzz testing (Ivan Molodetskikh): don't panic when the feConvolveMatrix kernel is not set; fix upper bounds in filter pixel getters. - Fix #337 - Don't panic with "em" or "ex" units in the font-size property. - Fix #338 - Don't panic when an image element doesn't have width/height attributes. - Fix #340 - Don't panic when a marker has a zero-sized viewBox attribute. - Special thanks to Ivan Molodetskikh for doing a fuzz-testing run for this round. - Updates to the CI infrastructure and the build documentation (Jordan Petridis). Version 2.44.2 - A *double brown paper bag* release! Super strong, this one! - Fix #325 - Don't leak all the elements at the toplevel. - Fix #328 - Make masking work on big-endian. Thanks to Simon McVittie for quick testing of this on s390x. - Fix library ordering so -Wl,--as-needed works (Simon McVittie). Version 2.44.1 - This is a brown paper bag release! Apologies for the bugs: - Fix #324 - Don't panic if trying to render a non-empty SVG with no elements (Paolo Borelli). - Fix #325 - All the elements were being leaked at the toplevel. - Fix #326 - Fix COMPILING.md - librsvg 2.44 does not build on Ubuntu 18.04 because it has a rust version that is too old. Version 2.44.0 - Librsvg now has minimal logging for debugging by setting the RSVG_LOG environment variable. See CONTRIBUTING.md for details. - Speed improvements for Gaussian blur, SRGB conversions, and various filters (Ivan Molodetskikh). - Fix #264 - the letter-spacing property now supports "normal" in addition to lengths (Paolo Borelli). - Fix #318 - the font-weight property was being parsed incorrectly. - Fix #323 - don't use 100% "forever" with malicious SVGs that cause an exponential number of elements to be instanced through the <use> element. We limit the number of <use> instances now. - Fix #293 - Don't panic when masking an empty group. - Fix #319 - Parse single font-family correctly. - Cleanups for the internal representation of elliptical arcs in paths (letheed). Version 2.43.4 - This is an early release to test the effects of threading in librsvg. - The lighting and Gaussian blur filters are now parallelized with Rayon; they will use all available cores (Ivan Molodetskikh). Version 2.43.3 - Tentative fix: #309 - Don't panic if rendering to a non-image Cairo surface. - Optimizations for Gaussian blur and other filters (Ivan Molodetskikh). - Optimizations in SRGB <-> linear RGB conversions (Ivan Molodetskikh). - More C to Rust conversion in the loading code (Paolo Borelli). Version 2.43.2 - All the filter effects have been ported to Rust as part of Ivan Molodetskikh's Summer of Code project!!!!! - We now require Rust 1.26. - We now include Rust debug information even in release builds, to make it easier to obtain stack traces. - Fix #310 - Respect DPI in the font-size property (Mike Marcacci). - Fix: draw the circle/ellipse elements with the same orientation as the SVG 1.1 test suite; this is relevant for stroke-dasharray (Ivan Molodetskikh). - Refactoring of the drawing code and font sizes (Paolo Borelli). - New filters in Rust: feConvolveMatrix, feColorMatrix, feMorphology, feDisplacementMap, feGaussianBlur, feDistantLight, feSpotLight, fePointLight, feTile. - Updated Rust dependencies (Igor Gnatenko). Version 2.43.1 - Fix: #259 - Test fonts should now work with --enable-installed-tests - Fix: #277 - Don't panic when trying to filter an empty group (Ivan Molodetskikh). - Fix: #292 - Don't panic if we try to clip an empty group. - Fix the feOffset filter's coordinate parsing. (Ivan Molodetskikh). - Fix linearization of SRGB data in the feComposite filter (Ivan Molodetskikh). - Fix CSS cascading in filters (Ivan Molodetskikh). - Fix, don't render filters if they are in error (Ivan Molodetskikh). - Fixed a couple of memory leaks in the test suite. - Filters now support FillPaint and StrokePaint for input (Ivan Molodetskikh). - Filters now support the color-interpolation-filters property (Ivan Molodetskikh). - The feImage, feBlend, feComponentTransfer filters are now in Rust (Ivan Molodetskikh). - The feOffset filter now supports fractional offsets (Ivan Molodetskikh). - The drawing context code is now in Rust. This is a tremendous amount of work! (Paolo Borelli) - All the style property parsers have been moved to rust-cssparser. Version 2.43.0 - This is the start of the 2.43 development series, and you bet we are doing extensive changes! - Many, many thanks to Jordan Petridis for keeping our Continuous Infrastructure updated all the time, and for emergency fixes when they were necessary. - As part of the Summer of Code 2018, Ivan Molodetskikh is porting the filter effects to Rust. These are done so far: core filters infrastructure, feComposite, feMerge, feOffset. The only remaining SVG elements done in C pertain to filter effects, and Ivan is taking care of them. - The feComposite filter now operates in linear RGB space, for better spec compliance. We transform back to SRGB for the final results (see issue #275 for pending work on fully supporting this elsewhere). - Filters now compute their bounds to floating-point values, instead of clipping them to integers. - The text, tspan, tref elements are now in Rust (Paolo Borelli). - Text rendering should be better. We now perform text measurement operations with the actual affine transformation that the text will use in the end. This should give Pango/Freetype a better chance of doing scale-appropriate hinting. - The basic styling infrastructure has moved to Rust (Paolo Borelli, Federico Mena). We don't use the old and limited cascading code anymore. We also audited which CSS properties are supposed to inherit automatically or not; this should be working per the SVG spec now. Special thanks to Paolo for doing the largest part of the work in moving the style data to Rust; this was a painstaking, months-long process of constant refactoring. - The internals of the drawing infrastructure and bounding-box computation are now done in Rust (Paolo Borelli). - Element creation from the parsing stage is now in Rust (Saurav Sachidanand). - Clipping and Masking are now done in Rust (Paolo Borelli). - Our tests now include the full Adwaita icon theme, so it doesn't break. - Fix: #241 - feDistantLight and feSpotLight now work again. - Fix: #282 - feComposite is fixed not to overwrite the source image in some cases; this fixes drop shadows generated from Inkscape (Ivan Molodetskikh). - We have the beginnings of Windows CI, courtesy of Guillaume Gomez. - Changes from 2.42.4: - Fix: elements with systemLanguage attributes without variants now work better (Paolo Borelli). - gitlab#227 - Fix: we now catch negative values in stroke-dasharray properties instead of leaving the cairo_t in an error state. - gitlab#228 - Fix: empty transform attribute now correctly yields an identity transform (Dmitry Kontsevoy). - Fix possible crash on invalid gradient references. - Make robust against patterns and gradients with no children. - Lots of code cleanups and refactorings (Jordan Petridis, Dmitry Kontsevoy, Ivan Molodetskikh). - Code moved to Rust: low-level path and PangoLayout drawing, "switch" element (Paolo Borelli). - New Rust dependencies: float_cmp, pangocairo crates. - We now require Rust 1.21 or later. - Changes from 2.42.5: - #276 - rsvg_handle_render_cairo() will now refuse to render if the cairo_t passed to it is in an error state. Fixes a panic in the cairo-dock program. - #206 - The test suite now writes test artifacts to tests/output instead of /tmp (Saurav Sachidanand). Version 2.42.3 - gitlab#205 - The configure script now checks for Rust 1.20.0 - previously this minimum requirement was not well-defined. - gitlab#204 - New feature: If an SVG has an <a> link element, we now generate the corresponding link when outputting to a Cairo PDF surface. If you use rsvg-convert(1) with PDF output, <a> links in the SVG will work in the PDF (Dmitry Kontsevoy). - gitlab#108 - New feature: support font-size:larger and font-size:smaller relative sizes. - New feature: rsvg-convert now supports SOURCE_DATE_EPOCH per https://reproducible-builds.org/specs/source-date-epoch/ to generate reproducible output for PDFs (Chris Lamb). - gitlab#197 - New requirement: We now require Freetype2 2.9.0, which fixes font rendering bugs. The test reference PNGs have been regenerated with this version. You may see changes in font rendering as a result of this updated requirement. - gitlab#91 - Fix rendering of masks and clips when the initial transformation has a translation component (Massimo). - gitlab#112 - Fix: apply style attributes for all SVG elements, not just for the toplevel one. - gitlab#161 - Fix the marker angle for the last vertex of closed paths (Juraj Fiala). - gitlab#198 - Fix: Make rsvg_pixbuf_from_file() and its derived functions work again. Now we have tests for the whole public API. - gitlab#143 - Minor optimizations for Gaussian blurs (Timm Bäder). - gitlab#201 - Minor speedups in the code to parse SVG attributes. - gitlab#178 - Fix some tests that failed on 32-bit machines. - COMPILING.md now lists our build dependencies, and has command lines which you can use on openSUSE/Fedora/Debian/Ubuntu/MacOS to set up a development environment for librsvg (Jordan Petridis, Brion Vibber). - gitlab#211 - Running the configure script on MacOS now works and doesn't try to use -Bsymbolic for linking (Brion Vibber). - gitlab#In addtion to --enable-debug/--disable-debug to control the Rust compilation, now you can use an environment variable LIBRSVG_DEBUG=yes / LIBRSVG_DEBUG=no if you wish. - Code moved to Rust: SVG paint servers (Dmitry Kontsevoy), SVG attribute parsing. - We now use a Cargo workspace internally, to move more things to Rust (Jordan Petridis, Chun-wei Fan). - Special thanks in this release to Jordan Petridis for MAJOR improvements to our Continuous Integration infrastructure, the repository structure, and updates to the compilation documentation. Also for setting up 32-bit builds for continuous integration. Version 2.42.2 - gitlab#193 - Don't crash when feConvolveMatrix doesn't specify orderx/ordery attributes. - gitlab#136 - Parse stroke-dasharray property correctly. This code is in Rust now; yay! (Jordan Petridis). - Don't render markers if they are zero-sized, per the spec. - Performance: eliminate a bunch of string copies during parsing. - Update rust-cssparser to 0.23 (Igor Gnatenko). Version 2.42.1 - gitlab#182 - Parse the transform attribute in a faster/simpler way. We now use rust-cssparser instead of lalrpop. This is especially noticeable on SVGs with lots of "transform" attributes. - gitlab#187 - Don't crash when setting a gradient on a zero-sized object. - gitlab#184 - (Windows) Don't use PangoFT2 if not available (Chun-wei Fan). - gitlab#181 - Inherit attributes in the <svg> element properly. - gitlab#160 - rsvg-convert - fix error reporting when reading from stdin (Phlip Withnall). - gitlab#152 - Fix detection of image type in "data:" URIs when they don't specify a MIME type (Andreas Smas). - gitlab#117 - (Windows) rsvg-convert - Set stdout to O_BINARY (Bakhtiar Hasmanan). - gitlab#133 - More stringent parsing of path data; better tests. - (Windows/MSVC) Fix linking of the Rust internals library (Chun-wei Fan). - Fix typos and links in the .md files. Version 2.42.0 - Fix a memory leak in rsvg_handle_new_from_file() (Lovell Fuller). - Optimize the xml:space normalization function (Jordan Petridis). - gitlab#179 - fix a runtime warning in the feMergeNode code. - gitlab#175 - Clarify documentation about the rsvg_*_sub() APIs. - Stylistic fixes from cargo-clippy (Jordan Petridis). - Port the Pango glue code to Rust. - New ARCHITECTURE.md with a description of librsvg's internals. Version 2.41.2 - We now require glib 2.52.0. - bgo#787895 - Fix mis-use of libxml2. Thanks to Nick Wellnhofer for the guidance. - bgo#761175 - Allow masks and clips to reuse a node being drawn. - Fix xml:space normalization, per the spec. - Don't access the file system when deciding whether to load a remote file with a UNC path for a paint server (i.e. don't try to load it at all). - We now support cross-compilation of the Rust code (David Michael). See COMPILING.md for details. - Fixed bugs from Coverity runs (Philip Withnall). - Vastly improved README.md, new COMPILING.md, improved CONTRIBUTING.md. - Markers now have the correct default size per the SVG spec. - Visual Studio: We now use HIGHENTROPYVA linker option on x64 builds, to enhance the security of built binaries (Chun-wei Fan). - Cargo is now verbose as well if you use "make V=1". - Fixed some memory leaks. - Don't render elements that establish a viewport if their viewBox size is 0, per the spec. - SVG elements ported to Rust: image, clipPath, mask, character data in elements. - Fixed loading files one byte at a time. - Reference documentation is now DocBook 5.1. - Reference docs now have an overview of the library. - Distribute README.md in the tarball properly. - Expanded the test suite. - Lots of internal refactoring. Version 2.41.1 - The feConvolveMatrix filter primitive wasn't being rendered at all; now it works. - Pattern specifications can now have a fallback color, per the spec - https://www.w3.org/TR/SVG/painting.html#SpecifyingPaint - Tests now use a very basic form of reproducible font rendering. This means that "make check" should pass even if you have a custom Fontconfig setup. - Fixed recursive fallbacks in gradients. - Per the spec, we now don't render elements which have invalid attributes. - Windows build: support building with Fontconfig; support Visual Studio 2017; generate .pc files upon install (Chun-wei Fan) - Fixed bgo#621088 - Text elements can now be used as clipping paths. - Fixed bgo#587721 - Fix rendering of text elements with transformations (Massimo) - Fixed bgo#776932 - Don't crash on elements with an invalid "transform" attribute. - Fixed bgo#777155 - Ignore patterns that have close-to-zero dimensions. - Fixed bgo#776297 - Don't render markers for rect / circle elements; fix marker angles in some cases (Massimo). - Fixed bgo#777834 - Don't crash when rendering text with empty extents. - Fixed bgo#634324 - Gaussian blur with negative-scaling transformation was being rendered incorrectly. - Fixed bgo#783835 - Don't divide by zero in Gaussian blurs - Fixed division by zero in feTile filter when the input surface is empty. - Fixed bgo#779489 - Link to pangoft2 as required. - Don't crash in filters when one of them yields an invalid surface for an intermediate result. - Update for bgo#778666 - Use our own thumbnailer specification file (Jeremy Bicha). - Fixed bgo#782098 - Don't pass deprecated options to gtkdoc-scangobj (Ting-Wei Lan). - Fixed bgo#777833 - Various memory leaks (Philip Withnall, Federico Mena) - Fixed bgo#786372 - Use the correct default for the style element's "type" attribute. - Fixed bgo#634514 - Don't render unknown elements and their children. - Fix parsing of "azimuth", "elevation", "limitingConeAngle" for filter effects. - Fixed bgo#785276 - Don't crash on empty or single-byte files. - Made the <switch> element work; SVG feature names were being tested incorrectly. - Fixed a few cases of uninitialized struct fields. - Code converted to Rust: preserveAspectRatio attribute, viewBox attribute, core Node structure, path/line/rect/circle/ellipse basic shapes, group/defs/switch/svg/use/symbol structural elements, pattern element and pattern fallbacks, marker rendering, various parsers, error propagation from parsers, gradient stops, gradient element, - Added a bunch of new test cases for the new features and the code converted to Rust. - We now require cairo-rs 0.2.0 - We now require lalrpop 0.13.1 - The librsvg tarball now comes with the Rust dependencies embedded using "cargo vendor". Linux distros can replace these dependencies with their own versions using the infrastructure described in http://doc.crates.io/source-replacement.html Version 2.41.0 - The big news is that parts of librsvg are now implemented in the Rust programming language, instead of C. The public API remains identical. Rust should provide us with memory safety and nicer built-in abstractions for the code, as well as an easier way to do unit tests. Special thanks to all the people who sent tips on Rust idioms, and to Sebastian Dröge and Hubert Figuière for the Automake bits. - Added an "--enable-debug" option to configure.ac - this will tell the Rust compiler to generate debugging code, instead of working in release mode. Note that you must still pass CFLAGS by hand by the regular means for the C code. - For Windows builds, only MSVC 2012 and upward are supported now. - Chun-wei Fan made it possible to regenerate the MSVC project files when Makefile.am changes. - Fixed bgo#763386 - handle curveto segments where three control points are coincident. Thanks to Massimo for the detailed test cases. - Fixed bgo#603550 - Compute the luminance correctly when generating a mask. Thanks to Mike Lewis for the patch. - Fixed bgo#776297 - Only render markers in path, line, polygon, polyline elements. - Fixed feImage filters when they reference SVG nodes; they were translated incorrectly. - Fixed feComponentTransferFunction when there are duplicated feFuncX elements. - Fixed bgo#761871 - handle reflection points for quadratic and cubic curves correctly. - Fixed bgo#686953 - support the "marker" shorthand property. - Fixed a few minor issues pointed out by Coverity. - The path data parser now handles boolean values in Arc elements correctly. - Fixed conformance bugs in gradient inheritance. - Radial gradients now adjust the focus point correctly to be within the gradient's radius. - Stroke width normalization is now conformant to the spec. - Viewport-relative length normalization is now conformant to the spec. - Added some of the official SVG 1.1 test files to our test suite. Fixed a little bunch of conformance bugs. - As a small optimization, we only push/pop CSS states when rendering will actually happen, instead of for all (potentially invisible) nodes. - Code that has been converted to Rust: marker orientations and rendering, path data parser, path building, length normalization, gradient inheritance, bounding boxes with affine transformations. - Lots of refactoring to accomodate the Rust code, and general cleanups as well. - Added tests/README.md with instructions on how to run the test suite and update it. rsvg-test can now skip files or directories that start with "ignore". - Improved the README.
jperkin
pushed a commit
that referenced
this pull request
May 14, 2026
libcec (4.0.4.1~#DIST#) #DIST#; urgency=medium
* fixed: only prevent TV polls when a Samsung TV is detected instead of
suppressing all logical addresses. issue #424 #444
-- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 21 Dec 2018 22:34:14 +0100
libcec (4.0.3.1~#DIST#) #DIST#; urgency=medium
* fixed:
* detect debian based distros properly when installing python. closes #314
* don't filter out broadcast in HandleDeviceVendorCommandWithId(). issue
#309
* send an active source message when a routing change has been received with
libCEC's address as new route and no active source message has been sent
yet. issue #309 #205 #233
* vs2015 c++ redistributables
* fix missing tinfo linking in cec-client. #341
* set wrong variable. #343 #352
* LG - don't activate the source when receiving vendor command 0xB. #344
* LG TV always changing input when turned on #307
* Fix menu language string. #360
* correct python lib path for python 2.7+/3+. #356
* Fix build if tinfo library is not present. #398
* disable autonomous mode when a Samsung TV is connected. Samsung 2017+ TVs
will power on randomly (Samsung bug). don't poll the TV. #424
* CRPiCECAdapterMessageQueue::Write() accessed the queue without locking.
#423
* use sig_atomic_t for shared object between sig handler and main. #425
* python 3.5+ import. #356
* TDA995x: Fix logical address readback. #303
* TDA995x: Handle physical address change, optimize logical address setup.
#303
* Pulse-Eight USB CEC adapter detection on macOS Mojave. #434
* Fix broken Python version check and failure to build on cmake < 3.7. #409
* 13 char device name got truncated
* changed:
* log a warning when we detect that RPi's CEC service is used by something
else, blocking libCEC. issue #191
* const IAdapterCommunication::GetLogicalAddresses(), making the mutex
mutable for now without changing the platform lib. closes #259
* Add a Reinitialze action. Useful for after the device has been powered
down. #299
* Panasonic media control info to the readme
* detect WIN64 in cmake automatically. #322
* README.developers.md. #330
* instructions for hdmi_force_hotplug=1 on the pi
* eventghost plugin install/create. #375
* Include C version of libCEC loader when installing. #397
* Explicitly use python3 in pyCecClient. #433
* build with vs 2015
-- Pulse-Eight Packaging <packaging@pulse-eight.com> Thu, 8 Nov 2018 18:05:36 +0100
libcec (4.0.2.1~#DIST#) #DIST#; urgency=medium
* fixed:
* windows: device detection. credits: @Portisch
* don't automatically assume that an AVR is active in some situations
* don't take Panasonic's vendor id when emulating an AVR
* drm EDID parser not compiled in. credits @gdachs
* python: have Swig generate Python threading support
* python: only pass unsigned
* python: allow empty callback parameters
* python: install demo app as executable
* python: correct install path. credits @Lo0k @mkreisl. #284 #288 #289 #291
* python: possible crash when passing an invalid callback
-- Pulse-Eight Packaging <packaging@pulse-eight.com> Mon, 23 Jan 2017 16:28:00 +0100
libcec (4.0.1.1~#DIST#) #DIST#; urgency=medium
* fixed:
* TransmitVolumeDown to use CEC_USER_CONTROL_CODE_VOLUME_DOWN. credits:
@michaelarnauts
* HAVE_AOCEC_API missing in if in AdapterFactory. credits: @gdachs
* env.h had 'ON' instead of '1' for some values
-- Pulse-Eight Packaging <packaging@pulse-eight.com> Tue, 3 Jan 2017 19:12:00 +0100
libcec (4.0.0.3~#DIST#) #DIST#; urgency=medium
* fixed:
* headers weren't installed after package name changes
-- Pulse-Eight Packaging <packaging@pulse-eight.com> Tue, 14 Nov 2016 10:15:00 +0100
libcec (4.0.0.2~#DIST#) #DIST#; urgency=medium
* changed:
* updated readme files
* renamed 'libcec-dev' to 'libcec4-dev'
* fixed:
* removed debian Replaces/Provides/Conflicts
* crash in drm edid code. credits: @zivillian
* compilation with -DHAVE_AOCEC_API=1
-- Pulse-Eight Packaging <packaging@pulse-eight.com> Tue, 7 Nov 2016 22:43:00 +0100
libcec (4.0.0.1~#DIST#) #DIST#; urgency=medium
* API cleaned up for v4
* changed:
* signature for GetDeviceMenuLanguage() changed
* signature for GetDeviceOSDName() changed
* signature for libcec_get_device_menu_language() changed
* signature for get_device_osd_name() changed
* cec_datapacket size reduced to 16 bytes
* callbacks changed to pass pointers instead of copies
* obsolete entries removed from libcec_configuration
* removed deprecated FindAdapters() and MuteAudio()
* send volume change commands to the TV if no audio system is present. Only
some TVs support this. closes #223
* added:
* bAutoWakeAVR entry in libcec_configuration, which controls whether to
automatically power on the avr or not when the source is activated. issue
#156
* iDoubleTapTimeoutMs replacing iDoubleTapTimeout50Ms. time is now in
milliseconds
* new AO CEC adapter. credits: @gdachs
* fixed:
* compilation with full debugging enabled
* handling of LG vendor command 0x0B. Issue #256. Credits @Vollstrecker
* return value wasn't checked correctly in CLibCEC::RegisterClient()
* Raspberry Pi fixes for issues #252 and #191
-- Pulse-Eight Packaging <packaging@pulse-eight.com> Tue, 26 Oct 2016 18:08:00 +0100
libcec (3.2.0.1~#DIST#) #DIST#; urgency=medium
* Slit up repositories for libCEC and .Net utilities.
-- Pulse-Eight Packaging <packaging@pulse-eight.com> Wed, 19 Oct 2016 16:57:00 +0100
libcec (3.1.0.1~#DIST#) #DIST#; urgency=medium
* changed / added:
* bump platform lib (windows)
* use a template that can be used by scripts for the changelog
* make released key polling wait for exact time until key gets released.
credits @popcornmix
* keep track of time since initial button press and last button update
credits @popcornmix
* support repeating button presses with configurable repeat rate. credits
@popcornmix
* pass through duration on all button repeats. credits @popcornmix
* updated README.md
* moved the buffer in CDRMEdidParser::GetPhysicalAddress() from the stack
to heap
* added #include to make the IDE happy. not actually used when compiling
* clean up device detection code a bit and replace winapi calls with
CM_* calls. issue #130
* replaced lockdev by flock. closes #141
* use a single number as major SO version like others. credits @rbalint
* Sharp uses vendor id 0x534850 too. issue #36
* use p8-platform instead of platform
* detect dirty trees
* support for vs2015 to build scripts
* update build scripts for vs2015 and win10uni
* fixed:
* missing version.h when installing on windows
* skip double press removal. It is handled through other means. credits
@popcornmix
* don't generate an invalid env.h when not built with the .git dir present.
closes #112
* fix multi-arch libdir locations. credits @wsnipex
* fix for holding buttons on remotes of Philips TVs. credits @mrgreywater
* initialisation issue found on Raspberry Pi with Buildroot. credits
@elouet
* crash on systems without /sys/class/drm. credits @rbalint
* segfault when an empty EDID blob is passed to
GetPhysicalAddressFromEDID()
* combo key (stop by default) in the EventGhost plugin. fixes #128
* silence compiler warnings
* git-rev.sh script
* clean/fix platform detection
* display a nice error message if LibCecSharp failed to load
* limit the log in cectray to 100k
* open cec-tray minimised if configured. don't open and minimise. issue
#158
* cosmetics: persist -> save
* query commands in eventghost. fixes #160
* eventghost demo config
* don't call PowerOnDevices() if no devices to wake have been configured.
issue #97
* Don't skip checking for Rasperry Pi library (Fixes #166). credits
@kingosticks
* TDA99x check
* disable DRM for FreeBSD
-- Pulse-Eight Packaging <packaging@pulse-eight.com> Wed, 20 Jan 2016 00:37:32 +0100
libcec (3.0.1-1~#DIST#) #DIST#; urgency=low
* changed / added:
* autodetect physical ID from DRM. credits @PoppyPop
* cmake command line options for raspberry pi distributions that don't use
standard system paths for libs for some reason
* convenience methods for compilation on the raspberry pi with non-standard
system directories and cross compilation
* explanation in README.md for Exynos and TDA995x
* don't treat failed acks from the tv as error when sending an active
source message
* compilation info when building libCEC
* build shared libraries by default
* cec-client: 'tx' command parsing
* fixed:
* return code of CCECClient callbacks after async changed. credits: @mk01
* polling addresses on RPi. credits: @mk01
* interruptable Sleep() in RPiCECAdapterMessageQueue
* Exynos support. credits: @YamashitaRen
* XCASE got removed from posix termios in some recent version
* don't return an abort code if sending a response code fails
-- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 03 Jul 2015 15:19:00 +0200
libcec (3.0.0-2) unstable; urgency=low
* fixed:
* build fixes on non-linux
-- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 01 May 2015 01:41:00 +0200
libcec (3.0.0-1) unstable; urgency=low
* changed / added:
* initial version of an EventGhost plugin
* Python API added through Swig, based on the C++ API
* switched from autotools to cmake
* added curses support. credits @joao29a
* added cecc-client (testclient for the C api)
* added runtime libCEC loading for C
* updated the C interface to include new features and no longer use a
global library instance
* some AVRs fail to be powered up by the TV when it powers up. power up the
AVR explicitly
* added support for CEC_DEVICE_TYPE_TV (useful for testing)
* compile with c++11
* removed CStdString
* drop 'using namespace std'
* autogenerated version numbers, drop some backwards compat code
* LibCecSharp: added PhysicalAddressToString()
* CecSharpClient: better formatting of the scan command
* fixed:
* Debian packaging cleaned up. Credits @PimentNoir
* fixed Raspberry Pi compilation. Credits @NHellFire
* ignore vendor command with id from pioneer AVRs. bugzid: 3853
* update the vendor id of a device when receiving a vendor command with id
before receiving a vendor id
* XBMC->Kodi rebranding
* don't delete m_client when m_cec hasn't been deleted yet in
CLibCEC::~CLibCEC(). issue #63
* change device types in CCECProcessor::Process(), not directly. issue #63
* use shared_ptr<CPVRClient> instead of passing raw pointers around that
can be unregistered from another thread and crash
* check if the port or device actually changed in CCECClient::SetHDMIPort()
* potential buffer overflow
* fixed setting the physical address at startup when using default settings
* don't call callbacks directly in libCEC, but queue them and process from
a worker thread
* libCEC Tray: crash when retrying to find adapters
* libCEC Tray: don't show the "no device found" warning when resuming
from standby
* libCEC Tray: reconnect to the adapter after resuming from standby
* libCEC Tray: send key presses to the active window when none of the
predefined (wmc/kodi) ones are active
* libCEC Tray: fixed key combinations with the windows key
-- Pulse-Eight Packaging <packaging@pulse-eight.com> Fri, 03 Apr 2015 21:13:00 +0200
jperkin
pushed a commit
that referenced
this pull request
May 14, 2026
pkgsrc changes: --------------- * migration from GNU configure to CMake * update of homepage using https upstream changes: ----------------- 2019-08-31: Version 3.3.0 * General: * Add: Reinstated secondary orders Pursue, Guard, and Hold (commit:29d3696dd62f034d02d51b9caa7d834cc84e13d3, commit:4b974e5761eecf7fc375f50d954779e4ac800786, commit:2fb172792014d8886a7411a2547b15030ead0152, commit:274fab1fe4f5a7f443f42b35211d95f949cd63cb, commit:cfa8ca695079df3d716a6eb7a2ed2f5729320bea, commit:8f611fe0f6ffb906bee0afd5de702f8b2de9f1df, commit:ff5ec8ca927c2d3353f58f7ac0ca17f965252234, #263, ticket:4303) * Add: Reinstated range orders Optimum, Short, and Long range (too many commits, #314) * Change: Pressing Escape clears chatbox if it contains text and closes it otherwise (commit:809dd2abdfbf97a88d74519cd4323d06ce8395d2, #294) * Fix: Processing of radar input after disabling its widget (commit:39f083ed0f0c29f071f9f528c9eeef5544373fd7, ticket:4867) * Fix: Saving of challenge scores (commit:e1b3eac0faeb7c39b769fee59920d066373d5c49, ticket:4868) * Fix: Crashes caused by missing support for mipmap generation (commit:a850fb5c887eb54a50f3a3f0f15ef0f1b6591a98, #260) * Fix: Improved window resizing and display scaling (commit:aedc207367c03a105f0ec6475250cdf0b3908008, commit:39aeb5132197a87e0c4207ae36c461eca7909522, commit:e1e991ce3edf9c68f72f3572ab8357abb930f48c, commit:c89a299dcf581c9362bf2461f291a8388c70c0e3, commit:aaf79eda0356eb0be264be65c640f19c12a17327, commit:924b98272140677cfde4955af84aee930d7c4b0d, #319) * Fix: Support for more graphics driver workarounds and platform compatibility (commit:d517b62e394c42a2b1e0b831a0cdc26156faca80, #331) * Fix: Units shooting through walls to attack targets (commit: 4ed887ed1986840474281d8fd28fc0ea533c06aa, 5cbe6b9e93a0a9682996fc1edf3df43ee5f7096b, #271) * Fix: Very slow map/mod transfer when vertical sync is enabled (commit:1d1050f034e7c226d98e371598d2c2a105d24353, #392) * Fix: Do not try to attack jammed units before being in range (commit:b9cd1cd49eae103d4e95b3f14e84aed4492391b3) * Graphics: * Add: Hit-testing support for widgets (commit:405a59420918f903352c4a51be6822eb60d4066b, commit:9394cd5f6c5c1de666d34d56cc32a0d4dfbc83e9, #264) * Change: Increase click area for in-game options (commit:bb15fbaa10663d6ce540911d9890f733b75fd365, #266) * Change: Improved text width calculation (commit:f4a8c93c9012eb5424296604bd1a0fa56fa2bc06, commit:c27ad854669ee55834fef43f4a7b6fba0dc28b88, commit:0fcad70a72b44aaaf0b01fe425946cd0193f5216, commit:35e5a8d021dfcefa9b7bce7e846a7c2432a7a064, #287) * Change: Split challenge tooltips in challenge selection screen into multiple lines (commit:2cc667cbb8f3765a5b69e0c210ab5b1355db3ca6, #299) * Fix: Issue loading OpenGL on older Intel chipsets on Windows 10 (commit:8a755a5e6e4f0eb8c62cc51db121cc61c65da80b) * Fix: Flamer Bunker model (commit:400191c9c47a4e39aeb12240283f355a57e30290, ticket:4856) * Fix: Objects darkening when zooming out (commit:456a74edb1fa76e66bf8e0e2c888b54c0b5c6299, ticket:4375) * Fix: Layout calculation for unit orders panel (commit:67b64e6f4205b123e69d6973f2a524656a419c75, #261) * Fix: Layout calculation for mission timer (commit:d655de8573b8d781d748d5c53e7f46f39a402d82, #261) * Fix: Misplaced reticule area buttons (commit:6731c4ca5f1178e408d1cb22757793fe7ad1015f, #262) * Fix: Broken shadows with rotated structures (commit:b7e00616a5068ee0e3be03eb92df803044b2bb84, #285) * Fix: Horizontal offset of chatbox cursor (commit:8944aac22bdb43abb849302f158a2704bffb4dd5, #282, ticket:4796) * Fix: Alignment of right-justified small text buttons in main menu (commit:e6aa8792eac76c7c853df33ce8f5423f12cab4ff, #287) * Fix: Shader warning on some systems (commit:189b18dec1fc9ffe2381eeee1d89534112309601, #318) * Fix: Broken shadows with rotated features (commit:39021659101136e3cf4a26959daf7ea86335c13e, #368) * Fix: Broken shadows with corner walls (commit:33963b56adc0a7cfe29110c4cb6407b6ea069b29, #368) * Fix: Color cursor offset (commit:66322c966eb22c4ac65bfecf4e829e46a4cb4a17, #426) * Fix: Fix cyborg and scavenger leg animation bug (commit:123ded59aedc53dc2344be9807c321774613946f) * Remove: Flickering of blue/red laser beam when building/demolishing (commit:724750e92cb9884ab81ce565f4d007af817f16ca) * Remove: Disable PIE SHADERS directive support (commit:ca536c35fda80d23c3467e5d59f0fdb7debc3525, #380) * Campaign: * Add: Time conversion functions, for timers (commit:bfde3e18892345a39ad2a3e62f1af66ee17ee6bc, commit:b497b1fc06c9b3ec12eeefc9c2e9b44575f37ee0, #322, #411) * Change: Campaign scripts to automatically play the "reinforcements are available" sound (commit:33764ec247ad99ee7ea744ace0404cf16e40357c, #320) * Fix: Overlapping objects on maps (commit:f3a9b4d640bbf1662b3a297554083aecdd5401a1, ticket:4865) * Fix: Gamma 1 is instantly lost if first transporter drop contains no trucks (commit:e2dc5d7d50057e655c4d3e28411fd2d1b923a69a, #277) * Fix: Gamma 1 transporter drops being randomized after loading a save from end of Beta campaign (commit:58ac40f0a00c521eed5bad7cc55ba01a212ce4dd, #278, #280, ticket:3009) * Fix: Timeout missions not properly failing when player should be considered dead (commit:8042e44511b40b4821f4eccd993435479a4c08a3, #320) * Fix: End of Beta campaign requiring more than one transporter to start, unlike the original campaign (commit:9d1fc6fe7a51b0a17a6396d5e1d92546f6431b05, #320) * Fix: Laser satellite not firing at unfinished structures (commit:8b8653a82c8916783d9f8875b11f53250813cc25, #369) * Fix: Calculation of player power at start of Gamma 9 (commit:30fc938ae920eff5472a1578664f8539e2e2d625, #370) * Fix: Structures built in Gamma 2 save zone prematurely ending mission due to them being counted as units (commit:04a78c9fb676dd71594b6a6a68b4e8b4d9d8d064, #416) * Fix: Assert from destroying the Gamma 2 base during the nuke event if the player didn't destroy it themselves (commit:71b100563e6df04e690480ed267f46355ffd77c9, #416) * Fix: Alpha 1 area triggers potentially being triggered too early by the AI (commit:fdebdf51fba6fe8e0286bb9c8ef534fb629589b9, #454) * Remove: Ability to build MG tanks before having an HQ in Alpha 1 so as to stay consistent with the rest of the game (commit:cc6ea546e4e17800a1d29000689cadf92d9d13dc, #383) * Remove: Large power bonus given from starting Beta 1 on Insane difficulty (commit:3c7691cd4fd3113d42183532eeaa8160e2230b2b, #435) * Scripting: * Change: Function componentAvailable() returns true for redundant components (commit:0b535c8292ec70e113e1453ff472b79e07582be2, #321) * Fix: Group label ID and game object ID collision (commit:b63648f432c27043edcbe8af84613cc1e67a6b61, #304, #355) * Fix: Check for redundant templates with setDesign() (commit:370cfd6afa257065be4fbc41ac2bcdfe343bf5f6, #378) * AI: * Fix: NullBot gateway building function causing a good chunk of lag (commit:db51614e568660ef9f6704c385a98c316c4cd227, #313) * Fix: NullBot owned VTOLs attacking things they cannot hit (commit:43d5ee0ef8a7935390241536b63bf1acf0d22aa6, #313) * Fix: NullBot ordering non-sensors to observe objects rather than scout by driving towards them (commit:4b97f42aac1fc75b0956c6ab48d2c1212fe933a2, #313) * Fix: NullBot trying to assign a label to a dead unit in eventAttacked (commit:8fab71b2d37d58e9f98c36b7fabc83add1d8a140, #313) * Fix: SemperFi-JS not building its fourth research lab when it should (commit:6634148db34e21e4f05fc34291c596b0f76ba7f4, #429) * Other: * Add: Console message for missing Command Relay Center preventing Commander production (commit:c165d8c1d233b1c3051c21b19aaba669d9cd32e2, #327, #329) * Add: AI related tooltips and changes (too many commits, #419) * Change: Time and date representation to ISO 8601 (commit:224a92afc8a1848e13344f7104408ad2fcd1cc01, #343) * Change: Configuration directory of debug builds (commit:e9830ebdd1d359fa7197276ae2abb7a30f8f5c21, #335) * Change: AI descriptions and tooltips (commit:4b2c88fb84a92fd9733d73e72b6921b3314ed9a3, commit:c4b5f4d057d0ac48696ca5171322556dcec6510d, commit:a8cc35fe89b42ca055c00443f68633a993b9ea90, commit:db1a216fbc98e2ed7787e1dccb95c428075d48e9, #281, #419) * Change: Always initialize SDL before Qt which may solve some crashes on Linux systems (commit:ccb70cb68040976e6823dfc6483d5b89d0496aea, #401) * Fix: Truck getting stuck when picking up artifact in tutorial due to a cliff (commit:f4fa0a93e26103402e77e2072e3004b533029904, ticket:4866) * Fix: Throttling of production console messages (commit:3bb244b7a41237278a731bde7cc49626646a1107, #327, #329) * Fix: Undefined behavior (commit:41af29c6a58431042cd2649b8aa1984c8e53ef0a, commit:43a34a886c0c62f92065c0c9646bb3027d6b09b6, commit:fa02178faa1caefbbff63d82d9262ad5ba80703f, commit:070f0c8532007cc3f90d1124ed8d76ecf04d22be, #351, #353, #356, #436) * Fix: Tutorial issues (commit:18a0b6ab3f4053948534155b94acc02993e685b0, commit:d79c2a362451af725de5dce7a7cf7677041b9088, commit:f41f78a9cf7606286c4305d49ece5cfda583e1d4, commit:518b2563bf4c77a3391017523e9c401f33144c2c, #381) * Fix: Being able to use saved combat templates before building an HQ (commit:7d6210510ed6efc18694c352b00a66ebea1ccb5c, commit:9e22db301aa93182114d35bf298459ee31eec383, commit:15ec435836aa7fe906f77ed42e555b39789dc67b, #378, #394) * Fix: Debug menu crashing when trying to open it after loading a skirmish save (commit:f340d89f8b8ab3c978dc246a07210438da6e928f, #422) * Fix: Missing AI difficulty button when everyone is on the same team (commit:63c358c85b507c7382abc27785de3148578e41f8, #423) * Fix: Always make sure the default AI stays as the first list entry (commit:6b91d9e5019401eccbe1e23c2ed3d3321f2f0407, #419, ticket:4791) * Fix: "biffer baker" and "double up" cheats causing unintended behavior (commit:6f24a6ceb94ca4e2ec27d926b2c1f9bdfc5fcc4f, #438, ticket:4795) * Fix: Crash when loading a saved game of a challenge from commandline interface (commit:244fd2cbcb12465866191dcc7203aca7719fab8c, #439) * Remove: More Qt dependency from the source (commit:97cf508379fe7fb56ac8ecccbe3269783d3620f3, commit:ca9c1166e386f43ff76aa16d6971ca2ab2eb1303, commit:131e4f705888445aaa26643489d6a238a4fd3515, #276, #299) * Modding: * Fix: Desync when trying to use mods while hosting 3rd party maps (commit:7d6210510ed6efc18694c352b00a66ebea1ccb5c, #388) * Fix: Windows hosts crashing when clients connect and mod transfer is attempted (commit:2cddc2fc122ce531314bc7d47c6d279966d4ab04, commit:1b5fe86b6570a2454f189027bcf2fb65aa653db8, #441) * Balance: * Add: Restored multiplayer weapon range and accuracy stats of version 3.1, with small changes (commit:7f4c03ce5236611ba2c485b5a27f3a445ec47b48, commit:20345ce333248703a1198f84aaad974cf4c86c68, commit:b1d5f8e5885faa4acee9cc01191606818b7d3f03, #387) * Add: Restored campaign weapon range and accuracy stats of version 3.1, with small changes (commit:c8ecd75d7b426b325202f78ac30f9fa509f27b7e, commit:e6ebad0d3f62ff3d764a4922bb0ea39e82f20bce, #399) * Add: Accuracy research upgrades short range accuracy (commit:50a6d90a089c2bd1124b9ef3db7640a470e476e1, commit:1896ca1db6d2425d47e8703a540dab912af58164, #410) * Fix: Cyborg flamer and cyborg lancer not being affected by upgrades (commit:303b27f2ddf7eaf002145fdec7bc149c15ed26a3, #362, #363) * Fix: Weapons missing behind targets which caused higher accuracy than intended for all weapons (commit:44eb5e4201ba5fd63d1286bc0ea5a59030d1ec2b, #371) * Translation: * Add: Translation of structure limits screen title (commit:198215bbc09438e689db0eb2a4d0ed3de4a276f2, ticket:4871) * Add: Support a second line for translating the "AUDIO / ZOOM OPTIONS" message (commit:70739936939ad38f8df61bd3e7e56618406a4b23, #345, ticket:4629) * Add: Translation of commandline synopsis (commit:98cee005269cc03c9bc63e13ff62ff4c9537afe2, #425) * Change: Russian (too many commits, #239, #382) * Change: German (too many commits, #326, #328, #413, ticket:4845) * Change: Turkish (commit:b14f9bd574e36e0ec0db3d59ad14249c90747435, #259) * Change: Brazilian (commit:b00b17c5583c385a5518dcba412efab4765da888, commit:30a7855679645309bf290aad4780c80cdfa1c3df, #315, #402) * Change: Polish (commit:211574fdb0fa473a773d92969d654ae08d58c5a3, commit:40872630a98bf46253dbbc0651443f73bcca18f1, #339) * Change: Slovenian (commit:cac83e9e50d2adeea5b2b02dd0a6a0da5e23034a, commit:b33d1e3b9c8749e7d4546680369b2705f236350a, #357, #377) * Fix: Translation of research messages not being shown (commit:f1b170db3012f4fcd99335cd814180ea8d37e0d6, ticket:4843) * Fix: Mismatching format specifiers for singular and plural form of a translatable string (commit:db95329005c0e07329138c90a64a2cf43062c391, ticket:4872) * Fix: Version string being printed in the wrong language (commit:42368861607faf54af2acdeaea105533fd97a54b, #344) * Fix: Printing of commandline options for foreign languages (commit:9d3173613268214dd72e15aaedf33459d764c37b, #425) * Documentation: * Fix: PIE format documentation (commit:7a4fdb16de1558a86a48e1ef77df7e7c64155c91, commit:58e78a22f48375273f258e294ea8bc061fac7f48, #295, #325, #334) * Fix: Bug tracker URLs and wiki links (commit:06503bb0071eb781d4f33b1b9d234be40e612ac8, commit:d4af395eea5753319509744c63dc0d685976f9f6, #427) * Build systems: * Add: Folders to CMake builds to improve target organization in IDEs (commit:093aad3817dee2bd9b0090ec57adbbde1a56e827, #291) * Change: Disable 3rd-party dependency installation in CMake builds (commit:c40ff4b15996a59343b860827f49b2038c973866, #340) 2019-02-10: Version 3.3.0 beta1 * General: * Add: Challenge "Two-Faced" (commit:2535b921a40afc0a760a54f9efe31494d95dcc7b) * Add: New save game file "main.json" (commit:6670ce187a559dbed0fcbd7a0b49ee61488801fb) * Add: Cheat "teach us" increases unit experience (commit:6670ce187a559dbed0fcbd7a0b49ee61488801fb) * Add: Cheat "showorders" for showing unit orders (commit:34383827cf7f2347b2545201e8947ffeededba84) * Change: C++11 modernization (commit:9d0f604d5ac7a5968d3b8582ed5934eb4117bee4, commit:8aa07d1939c8e66759828df7b524f9b4854cebb4, commit:4c4b2845f95901245d5d90153d55a5d3db7b3b80) * Change: Keymap format from INI to JSON (commit:a1721f37a5f79d195e44c4c9b361037f235ce138) * Change: Create all configuration folder subdirectories on program start (commit:2007f14910d36b4a05e1a308a0b2b720634d4c40, ticket:4664) * Change: Simpler minimap size calculation (commit:0752c2b00e1cd68256ba77e67178a7c0a0fa7a9a, commit:af9a96f042ce2067ce34f532280e4bb384dcf96c, commit:d3410d0b1bd20ebbe8f1910aded3c5cb68402ece, ticket:4689) * Change: Use custom WzString for string handling functionality (too many commits) * Change: Allocation of VTOLs to rearming pads (commit:e2a4e25aca48315af35f4156dcfd0759985e7547, ticket:4697) * Change: Location of configuration directory (commit:54901bcd1672c9e22db35c66741ec2eda123b491) * Change: Some messages are throttled (commit:5bd5c0aedbcc43746113f06cd95d14a5e8b747e7, commit:ab279747c2df87930109e277138e0412b016a7dc, commit:7729a2dc68e32e275204862fef058f3667ea7e92, ticket:4446, ticket:4448, ticket:4842) * Fix: Trying not to crash on loading unknown templates (commit:44a1e1085d4811a0ceeeac8406457098f190c4a3, ticket:4581) * Fix: Always show template designs (commit:20c70fd00a5f155a5ff465866841591e4a23946e, ticket:4440) * Fix: Being put in cheat mode on loading saves (commit:4b91398c86a8d3e1e9c05787768508ad5929dcbc, ticket:4612) * Fix: Player properties "name" and "ai" (commit:18ec97beb53fb5c0677e2ccaaec4686edca25fd1, ticket:4628) * Fix: Primary hold order working (commit:27460ef00625c9c2d8594892bd5263896f1afcfb, commit:561bbbc7653927d9326a43657648ccec9a2a34d7) * Fix: Try to store designs when they are created (commit:c693e7c11249692bd111c8d51acf024aa107c52e) * Fix: CB and VTOL sensor droids not letting attached units attack (commit:8cad813a7ff3421370d927942d2feba4ad7e0933, ticket:4657) * Fix: Missing CRC hash checks (commit:23b6efac541dbabee943c93a1dc27e3831650ed6, ticket:3794) * Graphics: * Add: IRC channel link to main menu (commit:6797cf4681ebe35f50785f08f54c4da8d42e432e) * Add: Texture object wrapper (commit:ac08585f245b1dd36bbd8d0a9f88b2352418f845) * Add: Configuration option to disable radar arrow pointing north (commit:c5db25a75ea34d263ce3243f04ba4110b936ac52, ticket:4638) * Add: Configuration option to quit a game without confirmation (commit:3c27440913dbd856b5aa3e98ec062b0e0a88ff19, commit:2e2c2a872ea85ff502aa1b160d5a0c955b4a27dd, ticket:4692) * Add: Configuration options to set default map size, map zoom rate, default minimap size, camera speed (replaces scroll speed), turn off camera acceleration, turn off delay when jumping to new location by clicking on minimap, functionality of the scroll wheel (too many commits, ticket:4629) * Add: Display scaling with new configuration option, live window resizing and high-DPI support (commit:619e84d56189f45138ff18b3aea733dc15d9ca0c, commit:e58b34a0ed5ca670bb8107343f8a01b96a5cfc59, commit:96b4866269ecd2c88bb260e282df830598642a0f, commit:aefd9c5b72c36f9ad78cf329b433e8cd083708a2, commit:f8cb54cdaa58dae77a2792875180b2f8e73dd75f, commit:a2e9cd19fa322f8bd4604a556693fe2983095541, commit:cbbf5f2a41b2929280d158035af245d14b0caac3, ticket:4720) * Add: Initial support for OpenGL 3.2 core profile (commit:37af8da9eb69ec042960324a24be03944c69d9ca, commit:b2f401ff1db1007897d78650534192b42ef38288, commit:80476d41d0919a0583124b4a06e8b7d120fcf160, commit:64576ba33cbcb9efd684c97e4b63b4d02d75bb5b, commit:886c94669d8acceed8f6068032f80a390e385c15) * Add: Wrap buffers (commit:a21b7f5695b28d4c2da0a8e51c3505594380797f) * Change: Improved debug menu (commit:19d37399c3fcb31fbb87cb1419125c6cb133aa16, commit:ec5c482bc03405506ff40ff0f36ce25eb8139b0b, commit:9765b31136f18f21eb11627a7a705260d3d70641, commit:c3ef25159a0e4eae0ba3bfa68d34d303b124d1a8, commit:ad70d31cb77212ec215b907bf8c46ff52b8fcc52) * Change: Clear information messages after game end (commit:9edf1e646ce99fd99a895b771b63678710d2378a, ticket:4621) * Change: Print console message when re-aligning direction (commit:e8718ea80464e8768c12261a06c277cf3d153dcf, ticket:4620) * Change: Address player as Commander in campaign and tutorials (commit:3a871f21d8bbc5a660d5ce996a56e65761905fe5, ticket:4612) * Change: Only scroll one tab when pressing Tab Scroll Left and Tab Scroll Right (commit:8bac137cf94252241e20f667b9e60639d19e5641, ticket:4643) * Change: Blurriness in minimaps (commit:d8b75113658a44a3489738429879c7c1a0a272e8, commit:4f6e988effdafc6de2f8c99c9e9c125842e83a9f, ticket:4690, ticket:4708) * Change: Increase default radar size to 32 (commit:a67a46ec55f5dafd069fda90a9d30848f0dee823, ticket:4699) * Change: Minimum map zoom distance to 0 (commit:b735b72bce093a8902878ad21ebf838cb1c945e4, ticket:4629) * Change: Reduce OpenGL state changes (commit:4d0dcae247c6d93b884adfbfc0046017b66d6abd) * Change: Stop forcing alpha on for structure base plates (commit:32568eb0eb597ef0831e5d0348207d9ef9fdabca) * Change: Reduce shadow CPU usage (commit:a928f6a286b624eff94dc94b0f8d18d042e8ea86) * Change: Repaint Jammer to same colour as Radar Detector and adjust the blurring effect it causes within its range (too many commits, ticket:4769) * Change: Icons for obsolete technology used in build and manufacture screens (commit:00de63c64ecd37183315f843b92d09b865c0e826, ticket:4770) * Change: Icons for teams with shared research used in host screen (commit:4028b46bd5bc0b467e24ede2354a192204fc84f6, ticket:4771) * Change: Icons for easy and medium AI difficulties used in host screen (commit:5d56aabf03536752c0b23568d61219c2fd617ce8, ticket:4772) * Change: Warn about setting antialiasing to a value > 16, which can cause crashes (commit:6c143786c0368ceec8053f78fd527a230da6ef17, ticket:4777) * Change: Only show confirmation dialog before quitting game if player is hosting a multiplayer game (commit:d41d0e31f3f3f49a9f7dd166567ab96bf22dcd94, ticket:4692) * Fix: Name conflict with shader variables shaders (commit:c1131be441afa534f9ec5be76baeb6137dc94844, ticket:4589) * Fix: Crash when texture is 1x1 (commit:d3b81130ae12006f54f7a8cd17846ff42ac01398) * Fix: Misaligned radar frustum after aligning camera North/East/South/West (commit:26fccd4c749c9ff11aba14bf277c9cecfa465337, ticket:4620) * Fix: Clicking on "Language" button in game options menu changes its value (commit:866e63b4dca2a9026b4b32cbb35f613ca7d54798) * Fix: Draw opaque models before shadows (commit:e7cb9372b2b8dfaa8736aee48aa5180c94db206d) * Fix: Superfluous pixels with the upgrade icons (commit:11fc00b329551893d88b8f837702c4af43d53240, ticket:4759) * Fix: Missing widget borders (commit:1a1b0750506b663055f71f856c1079ba576b8a14, commit:fedcb22aec21387ce4ea4c64bf9453e5183fc3ef, ticket:4722) * Fix: Inaccurate screenshots (commit:496581ae41c4357e787ff01babcb4b7c5b40f74d) * Fix: Flashing of button in manufacture screen (commit:996ffebdefa522e2fe76b57deab778fa4e3abde6, ticket:4721) * Fix: Misplaced crosshair cursor when targeting features and structures (commit:619cd66e4e2efbfb150f792f6902d34518e57ca3, ticket:4605) * Fix: Missing crosshair cursor when auto-targeting (commit:b817ab8781df8a65ba1753962ff4b9dccfd0b4e3, commit:fb354bd8c5d924c0a551de30af801f698508bda2, ticket:4656) * Fix: Show weapon stats for secondary and tertiary weapons (commit:d22da3db985d41069483dd78e748eeb0f7c4090f, ticket:4649) * Fix: Resolutions below 640x480 being shown in video options menu (commit:6000e5eac9e1de5d01c320568003d03eb130d1db, ticket:4623) * Fix: Terrain lighting direction (commit:ec8a386f1e65246de3807f15ec510236dd652597, ticket:4749) * Fix: Design shadow stat markers (commit:ae7b5cebe876293756386c87b82deb22beeb38f8, commit:4c57502708229ac58b90b8bda764a7fb25164b16, commit:7bed71112d2261e2d6683c54309459e2186e91aa, commit:d22da3db985d41069483dd78e748eeb0f7c4090f, ticket:4649) * Fix: Cyborg engineer and Cyborg mechanic having nothing but legs (commit:490b91d4420ba0985289955520229a1b8b022096, commit:a856dea5afb52fc4436304f66d1fa375293110e0, ticket:4521) * Fix: Radar map showing every object the player owned being red for a few seconds at game initialization (commit:ffb5b9bd3af2623b04a0e8434ab562527c73bb0f) * Fix: Challenge description not appearing (commit:64b7420366ed551777832b59c0e505ddd876b25e, ticket:4821) * Fix: Scavengers burning when hit by kinetic weapons (commit:eccff930100a5c4788883909a05cc6dd418ebd4d) * Fix: Scavenger firing animation (commit:dfde4a7664f75a6a7d99e9cbf90e1a09ed3e4420, ticket:4625) * Fix: Technology tree chart generator now works with the JSON research files (commit:e3be50a2ee8054a13aaf8bc4777835ac30c2497b) * Remove: Slight camera rotation at the start of every game (commit:c83236b788f3decae8843d3480f64ed91f14316e, ticket:4642) * Remove: Credits screen shown when exiting game (commit:cf1c3fbf4706f7a3657ba369db235af8b6f3e981, ticket:3322) * Campaign: * Add: Research file for transition missions (commit:aedca2d262e0d38d000089a4a831dd4638ec3059) * Add: The chosen difficulty for campaign has a much more profound effect on mission difficulty. Adds Insane difficulty (commit:cb19c7672fe915b95795e3af33c63c9d567faccc) * Add: Allow artifacts to give multiple research technologies (commit:6d3e99a809fa0389e0a0c3b996c8b9320b48a24f) * Add: Cheat "research available" to complete research (commit:a5a49fa4826751a5c8f941ffa4d136789bdd4ea8) * Change: Campaign mission scripts completely rewritten to JavaScript (too many commits) * Change: Do not store or load templates which are already saved in the save file anyway (commit:d935f57c26d48fd5b431075ac0b7c6bec1315da8) * Change: Research uses one file instead of three (commit:a696594896c9ec605d29bc58eb9b77af13e822f4) * Change: Enemy has more power in campaign (commit:3f94bb41dd40dea3b96371158d40337375f26fcb) * Change: Improved group tactics (commit:64081ec427a5c1aa825d87485444e4b874fdca18, commit:7e0baa0d793d1e443ccf00737ade363de2ca5638) * Change: Nexus uses more sounds in the home base defend mission (commit:acc508e0478558d0809d18f146b56d6f5a310ab6) * Change: Rename stats for scavenger weapons (commit:25de2991b2da64125c8c863aeaafe4bec50ad81d, ticket:4674) * Change: Transporter menu GUI (commit:6b7b1b68cd26fd0f59821a8e34ddf6a538be7557, commit:ccfbbc925ca96631603ccad70583bcb7b365f680, ticket:4652, ticket:4606, ticket:4653, ticket:4710) * Change: Map corrections for the sub-2-8 map (commit:8cc67d0c5ed0ed4b38d582fbb2a64abd3f95a2b6, commit:308bccdfc3352550b22310b754133fc65bd2074f, ticket:3772) * Change: Flamers and AA units can fire on the move, just like in multiplayer games (commit:4c06fe4bc12199a60df43eb21c12f47989329318, ticket:4832) * Fix: Overall script stability is much better than before (too many commits) * Fix: Being able to build Command Relay in off-world missions (commit:bb0ce5fd50a0a596e18895ef4955d31a0823d9d0) * Fix: Player units (that return in a later mission) lost when reloading saves after the Gamma 2 mission (commit:8125a4098d3e73990e69d8e8b0738e837d4ff2e1, ticket:4054) * Fix: Potential power exploit in Alpha 3 before building power module (commit:33bea183138c4836abd9342dc11dd03200ea2a45) * Fix: Missing player warning about incoming enemy transporter (commit:c39da0858ba7f1926b8633859e85ade8166610d9) * Fix: Enemy base walls exploding when loading a save (commit:1989e22d0ffdf4b179322981457693ab602ad1db) * Fix: New Paradigm plateau transporter not arriving if all LZ's occupied with droids (commit:bd752be52f1c4d8d755c7bad3c9953b4eac0af8b) * Fix: Scavengers in Beta campaign use the civilian texture again (commit:fa6e0cb16c7d2a1b08c3a94e25dcc191eb3e3c8d) * Fix: Do not use the Arizona sky texture in Beta and Gamma campaigns (commit:5f9aa021e8e719b1705f135b39042f22641b540c) * Fix: Mission backdrops (commit:9efc45a48b6ef906d628d80a2a57cae998d6f1e1, 860b59df982164911adbb6750e719d75b1099aad) * Fix: Do not share ally vision with player (commit:8c9e7260333d6388438a091aad493bd2e11a965e, commit:e36ebcf38e76a4992878dec18f040f7db41851c7, ticket:4673) * Fix: Show droid rank in transporter when not off-world (commit:4cfa002cecd071406a18dbf7046b9ebfd1466f83) * Fix: Droids placed in the corner of the home map when producing them and then loading a save off-world (commit:fc172d8338f16ca4ef79747c04625e5e2fb2751d, ticket:3907) * Fix: Potential temporary lockup on sudden vision field increases (commit:800c1b6df440670f45f595e49fb83ff7ee7f724d, ticket:4644) * Fix: Race condition with danger maps (commit:9f25071068dd2edefb0f9fc9e17873a7c5e7a230, ticket:4633) * Fix: Outro subtitle timing (commit:1e84aea6273d252b915bafbfc11d9ce2ed024dbe, ticket:4169) * Fix: Show correct options for mission fail in debug mode (commit:1595decca92330bd1c00b14bb884b23ae5c2b0d1, ticket:4687) * Fix: Broken "research all" cheat (commit:3484ea251d0a0aa250da6ef4811be7931faaab3b) * Fix: More visibility asserts (commit:530d67a8b74025187edf80139edbd40bbfc4293a, ticket:4743) * Fix: Scouting units getting stuck in infinite loops (commit:2c5fd8085352eadaaa55cbd1c12ada4d8d76da3a) * Fix: All features are now aligned (commit:185b9beb2132ebcb6e52851de33883a05cff34ee, ticket:4775) * Fix: Duplicate warehouses causes a warning on the map sub-2-7 (commit:820d5c64706cd5489c94fe4340f6d73bcf74efdf) * Fix: Incorrect tile texture rotation for the sub-2-7 map (commit:8ed8f44d54d0aa01261ef648e054b77cd7579714) * Fix: Droids built when on offworld missions not having the factory secondary orders set (commit:ce90222cc241edbca5dc0909ff2bc0524d8686bb, ticket:3334) * Fix: Transporters not removing their visibility when exiting maps (commit:dae53ba5af78a57c5f2204b14fadfdfb07c6b166, ticket:4670) * Remove: Unused mission sub3-x (commit:1a5b62296ee7946116db7c6ea09aa714f317c709, ticket:4776) * Multiplayer: * Change: Move technology level scripts to JavaScript (commit:d31f6a2c704ada8f46957a34279af78deafdeec7) * Change: Move structure limiting into structure.json (commit:924135c98d630d638fcee74b8ebf85d10af2dfa1) * Change: Increased maximum VTOL rearming pad limit to 99 (commit:be03e188ba4b2661e175b4875b2a0be9898c279f) * Fix: Do not replace cyborg flamer with thermite flamer for built droids (commit:8dca9a6bbabd0ff0923a088a9d0ee95d078d8ad3, ticket:4331) * Fix: Broken research dependencies for Heavy Machinegun Tower and Command Turrets (commit:64c1b8cd4b2ea1101cfa23fcd6012c57becf312a, ticket:3437) * Fix: Missing artifacts after destroying factories (commit:fce314d5ba58778daa80a3626098729c8488005c, ticket:4836) * Remove: Jammers (commit:6c5435de1fea4f4d3e5b2fdf2cadd7a0e6f623cf) * Scripting: * Add: Add a way for a script library to register a namespace (commit:19d37399c3fcb31fbb87cb1419125c6cb133aa16) * Add: Function useSafetyTransport() (commit:d511cad4d15ca7ae5ecefc678527bb0a253cafde, commit 969718b14de95849184e22b8325ccf605b9a71ab) * Add: Function cam_eventGameLoaded (commit:64081ec427a5c1aa825d87485444e4b874fdca18) * Add: Function restoreLimboMissionData() (commit:8109d46e619fd5ca5f1220a5858b513db4114d6c) * Add: Function setObjectFlag() (commit:6ea98200a90304a7dd54cdddb6a11910ad57cc39) * Add: Cheat "untouchable" to make objects unselectable (commit:6ea98200a90304a7dd54cdddb6a11910ad57cc39) * Add: Function camCountStructuresInArea() is now a library function (commit:e0f0a420dac828744c8f903dd4a85bfac7d6757b) * Add: Function fireWeaponAtLoc() (commit:3c907bd4e4cd6290b306e847c81c060656a45fcd, commit:1cdd7bdb91fd99c7a5c9db73333c29bb76e32ff5, commit 00731ba9762fffec94f292251650518a18f7d557) * Add: Function clearConsole() (commit:e26b9516d3e065527e41fe5006f9f94983653882) * Add: Functions hackPlayIngameAudio() and hackStopIngameAudio() (commit:e26b9516d3e065527e41fe5006f9f94983653882) * Add: Events eventDeliveryPointMoving() and eventDeliveryPointMoved() (commit:e26b9516d3e065527e41fe5006f9f94983653882) * Add: Function getMultiTechLevel() (commit:d31f6a2c704ada8f46957a34279af78deafdeec7) * Add: Function setReticuleFlash() (commit:2810c730e1733262b3ff27decfbb93c1db821a6a) * Add: A lot of events for menus (commit:629d43771b4ab621fcedb8403165f7557b235bdf, commit:b5f8a07af0f1cbad8379dfa11724ceacc9f50ce8) * Add: Events and functions for alliances (commit:3670bbdb5b193a8ff59342e171810fe44415d9bb) * Add: Function setCampaignNumber() (commit:b016f609d704ce4df022e3a89f4f70f6eaabbee7) * Add: New global variable modList (commit:6cca64d99609123f9248dadff3e8cd24152512dc) * Add: Function showReticuleWidget() (commit:42db8f72193b348ea16f942c8bda4a40cb11cb23) * Add: Function __camScanRange() (commit:6a6ce7449fe0ab6c69562f37a2ff4904bd5c9d79) * Add: Function camSetPropulsionTypeLimit() (commit:00fa4c34d31fe0c27c4a5f7a84925a825cec46c0) * Add: Function fireWeaponAtObj() (commit:9316f1c166c5c2e140e718cfc45aaec65e149641) * Add: eventStructureDemolish (commit:349e73fbbaca898ad7397adf33ba2cafec486df9) * Change: Function formAlliance() does not enable shared vision (commit:d4d0688678aa44c9cf93163bd7f073a6d9bec18a) * Change: Function setReticuleButton() (commit:2ce3d680b4914b2990567970a4292d4e527f199b ) * Change: Convert fast-play demo to JavaScript (commit:04f2ffe87d50d5ce2a24091a4b4c7a89bf8180d6) * Change: Convert tutorial to JavaScript (commit:8ff03b8b2f232df6e2528a8badd58849b35488b9, commit:410869b15d5e57d8774be74b4b7e399fb968527e) * Change: Move weather scripts to JavaScript (commit:b016f609d704ce4df022e3a89f4f70f6eaabbee7, commit:d60d6559c8fd930963b66bb6c3929f703b5d70f6) * Change: Function __camPlayerDead() (commit:10d035d3ed3a41b74a3cedcf1c3c8060d21d9785) * Fix: Function removeTimer() (commit:4a24e8e2753d02775b6732d59c23a75a79b83f72) * Fix: Function visGetBlockingWall() (commit:f965d77200f1caf57a9be5deb284683792c1280c) * Fix: donateObject() typo preventing structure donation (commit:077090bb814c4c7e557a970b7792eca2d2f478a8, ticket:4816) * Fix: Function giftSingleStructure (commit:af176e9eb32e393b26be6ef9c3329f6fc9006ab9, ticket:4819) * Fix: Instant assert on passing objects to syncRequest (commit:9dca83bcf80b031da6dca838416ea4b25223effb) * Fix: Technology tree chart generator now works with the JSON research files (commit:e3be50a2ee8054a13aaf8bc4777835ac30c2497b) * Remove: Base game wzscript files (commit:2999513e057beae4940209a18de2b74cfa5026dc, commit:76ac44c84b7f89a860c743202bb002586d137e63, commit:88cb1b6123bbd5fd9d3a66ea6dfb0e5eca15e6c3) * Remove: Old cluster code used by wzscript (commit:f6d1c0a78350a9297ea24c5c31e49b7ac518075e) * AI: * Change: Improved SemperFi-JS (commit:7af101472e0d66c4a73e684f17edf79f8d52505c, commit:6ed849c61a927184095fe7cbf3faa039e1f78860, commit:5b0de613a973ba96faab14ccf7f19a96c10c6a61, commit:4acfc135083ce3406668aa402e7852a0b5712832, commit:f5d3eda6a4aae357fa1d90491ab2f84d6612a6d4, commit:e9b67a47a64553650fd9f2491f176db93696440b, commit:3eff268f6dd2158a00026df749cadd5e315fc8bb) * Change: Nullbot is default AI (commit:46efbc680b990900a54bda7a8ded972449538a27) * Change: Improved NullBot performance (commit:35b6a1a6c09547b0eeea2d6cf5e6f4ac67b698b6, ticket:4717) * Fix: Nullbot can research Super Pulse Laser cyborgs without asserting (commit:52db9416a8fbb7984165bbdc58b4b96efe872c33, ticket:4639) * Fix: Nullbot no longer ignores starting units that cannot build (commit:0737d3ac125ae368a1cc31615f4bf537643f501f, ticket:4834) * Other: * Add: Skirmish/multiplayer cheat "bettertogether" that increases experience of selected units (commit:e760917fef73e172f0149a632a7505303b25080b) * Change: Play music in intelligence screen (commit:92722cb9726b8a1eb094b217857fc0a14f430741, ticket:4632) * Change: Allow exiting the main menu "Campaign" with the escape key (commit:c64a9a3430b45aa6879241c53f42a62d4db084d7, ticket:4648) * Change: More detailed power stats (commit:3dbd5a3c832e7165c7d73920657e0ede504fee82) * Change: Ease changing of default map (commit:db81858f454276e642c36c5c41be001f34823366, commit:5807d38b51120e8782609f3b28d348624647f306, ticket:4848, ticket:4849) * Change: Factories being destroyed could cause annoying asserts. Now set to quiet warnings (commit:616f142c6a031fc36aceb05f8c40156c563225bb) * Fix: Position locking settings loaded from challenge files (commit:20d2e85d697a4ce9e604c5930b21244fd816fb10) * Fix: Do not assert on loading skirmish saves when the player has lost or won (commit:77f9e5cada8469948c66ca9c3851e6991f533142, ticket:4590, ticket:3928) * Fix: Do not desync when destroying droids with animations (commit:123ded59aedc53dc2344be9807c321774613946f) * Fix: Memory bug when donating trucks to allies (commit:0090a88cabd60b9e087c125003e06eb28d1a4def) * Fix: Logging or source code spelling corrections (commit:d0dd6cf6b801918cba042b65bdc56e183fb675fd, commit:88c1e9c9f3beb10f1e747f7854d384f076b8cf76, commit:2ce9492056d84846a07174770cfc2c46abf44e7b, ticket:4612, ticket:4617) * Fix: Do not try loading videos if none are available (commit:81bf12847181ce7ddc7b096f2049e2c8bb949e35, ticket:4631) * Fix: Score and kills not showing in skirmish (commit:a74041b99442caa1c7e14c0ff409fc120c20e666, ticket:3491) * Fix: Do not save showFPS configuration option twice (commit:55c77847e4137c219170fff80d0342a0742499dd, ticket:4645) * Fix: Crash when opening debug menu in tutorial (commit:c0c20ab39965f4c062dc51d34ad8367d0e2b88f3, ticket:4681) * Fix: Music not playing on save-load or not playing the right music in skirmish (commit:b016f609d704ce4df022e3a89f4f70f6eaabbee7, ticket:983) * Fix: Right-clicking confused with left-clicking in main menu option buttons (commit:e54e3d505cd787a3f9681ac8f6210529f805e128, ticket:4629) * Fix: Screenshot crash by not calling QCoreApplication::processEvents() in SDL backend builds for Windows/macOS (commit:aa086e372f83a386bcea251e5f6fa4f73a955ef0, ticket:4714) * Fix: Warcam started at distance < 0 no longer breaks zoom when stopped (commit:46b191aac5167ee3766b1c869aae08351ee89b94, ticket:4830) * Fix: Commander production limits (commit:7d0a91180b36a0a75efefaeb94fdcf4a3d7a3832, ticket:1661) * Remove: Unused sensor turret properties in design menu (commit:c6b628e2c0c815467f0799c6c65e2f88d31585d3, ticket:4619) * Remove: Alt + Middle mouse to move to right-click on minimap (commit:6ceea6304d92705117a2aa7def97f6a11b08c140, ticket:4629) * Remove: Alt + Ctrl + Scroll changing game speed (commit:d1cd0dc338ab5fac19e49a461114eb9bd46ccea1, ticket:4629) * Remove: Unused sensor "Nexus Link" (not the weapon with the same name!) (commit:aacde23588e8a596a9764df6821d2d6abeeabf6d, ticket:4768) * Modding: * Add: Reticule images (commit:22a691903c8066539027f64dd04a6bd6977230cf) * Add: Flag NoFriendlyFire to prevent friendly fire from splash damage (commit:d75ccdea67fb48f41b370a0c15cea3b6703f344e) * Change: Allow mods to use more than one HQ before removing the radar mini-map (commit:590434843c202e92d7ab7e5488f31de9e196ecfa, ticket:3465) * Change: Increase capacity of design, build and research screens (commit:c05e4f7851d7f6ab7631b11b81ee9c333cab58cd, commit:3a729d9568b1a06e733651efc08003e601b5846c, ticket:4677) * Fix: Mods not read properly on save-load (commit:bd2bac6a5a81205f131b2bbe6efb41b6129b0c4c, ticket:2918) * Balance: * Add: Technology "Command Turret Upgrade" to increase command limits of commanders (commit:e760917fef73e172f0149a632a7505303b25080b) * Change: Droid ranks are now a brain property and can be upgraded (commit:e760917fef73e172f0149a632a7505303b25080b) * Change: HitPoint handling in stats (commit:b1cb129247bca05fb35e50b15e8bedee2d6f4a8a) * Fix: Do not replace cyborg rocket with cyborg scourge missile and cyborg heavy gunner with cyborg hyper velocity cannon (commit:55f5998c52a0cb2e889aa60c92e79167fc6dc8ed) * Fix: Structures not having initial thermal armor (commit:3dd4cdbe548e64ad18c3e06ad427e90fd00c1aa8, ticket:4616) * Fix: Various sensor tower research being available before the turret (commit:7487247ead349a9a497ad75e74d634e080a0d58c, ticket:666) * Translation: * Add: Indonesian (commit:3c050b0cc0a909eaa73d540bffa5224f2631f149, commit:b148301708e32821e7da4ccda085238c04be8d39) * Fix: German translation updates (commit:e5d7e20d49a5737a69365bb5b5e96c959e03ac9d, commit:4bc390378c90e807b31775b5e59c845d0398789e, commit:6a2a8708e4a27a455a515ee664c3f7295844bc98, d6baee2b23f29dd65b9178a1d2952484723b5f9c, ticket:4597, ticket:4845) * Fix: Turkish translation update (commit:013f6a95415f61232d137cf415b93cb9c8652f93, ticket:4608) * Fix: Polish translation update (commit:64bd5a1c5b984e62ddca87d542d53f9ab909cfbf) * Fix: Greek translation updates (commit:0490eaa237b0fd8f3a0e8bac722fbb12ff67d5b2, commit:4bdf251e7cede51302da809f703e7ce321440297, ticket:3703) * Fix: Russian translation updates (commit:19b767af2354a69b1d21199763188f44689c548f, commit:314a90469f38b4391ac17671f323b4b32c91ce5f) * Fix: Chinese translation update (commit:600eff0af390810582c5362b8d29ce93b9cd1080) * Fix: Slovenian translation update (commit:7b23d84eea28f45239f8632e4a6f882371d719d7, ticket:4838) * Fix: French translation for "wyvern" (commit:def430e0bef132ea54c797b5f3b2d4251bd9352f, e824571700a0b09f1a9b5068644fd21c77546fd3, ticket:4841) * Documentation: * Add: Coding style guide (commit:1c9bd06cfa53861b3f7c195c3e3f81abf247d838) * Add: Debugging guide (commit:e4a1139918687a8da912e7a06d8c677731e07854, commit:4d6ff701c26694060366bd17a3c681586a765095) * Change: Update building instructions (commit:3d0bf003b736c0897358f269921c9b1d27f05286, commit:1f759a7afc8c0aa691a5bac60c5ebae7868421ec, commit:9a3da03cc7d39ada5ff0dc17f76dbbbd759673d6, commit:f8fd4477b07cfbccf485637d0c0607a09418d7ae,fd72db1a149a02b34ea508b6fcd1dbb1a498a347, commit:448ba854bf9bbc62431ec01fe710f29e5aa3a168, commit:a878e51291ef51225e04787f6c21f258811b9019) * Change: QtScript documentation to Markdown (commit:40cbef4930a61736c80c1e204eab8e3d59145edd) * Change: Improved docker documentation (commit:c98c9e64b567a2f3a61958d2a4c6bd2d9c24d858) * Change: Improve PIE format explanations (commit:e7f724ce27350ea27fe81809c0ff15ff6c70a742, commit:0182af54fef20fa7a1f5d3dbc67a7583a126f166) * Fix: Radar detector description (commit:bcfbe04434d7166be56b63ecb44ff9e59ea9fdea, ticket:1275) * Fix: Command Relay Centre description (commit:e69654ebeb4f27039d406ca0cc93af8febb3d15a, ticket:1661) * Build systems: * Add: Docker file for cross-compilation (commit:b866f11b48c9043a505a8444b295b1c22aeffb6c) * Add: Basic CMakeLists.txt structure (commit:fa0bde7ab818174ea09505d4fc6b560588522146, commit:ae921a9ca922434ce0ad445d1dfc52e36059ff39) * Add: Support for PhysFS 2.1+ (too many commits, ticket:4693) * Add: Autotools docker file for Ubuntu 18.04 (commit:1b700cc4f61cdb5f5a6ea95c12788000f40e1f21) * Add: Unicode normalization support with utf8proc (commit:a5954999dda540baea0c666b6fe34b6a9ad69b87) * Add: OARS information (commit:1a7b0ee73870b7c26f3322a9b1b9ea83762832bc, ticket:4571) * Add: Clang docker file for Ubuntu 18.04 (commit:1af65c7429e13118c7a39f45b37f65fa36e8aae9) * Add: Docker file for Fedora latest (commit:1c16dac26a7bfc0ef7f6e1c160bd2ea741dec07f) * Change: Use datarootdir as prefix for non game-specific system paths (commit:65152d8110d02357202941b21b819f047d2f1536, commit:88f1ece155e86ef884f28789723e5bf10dfc6f43, ticket:4578) * Change: Make shaders compile on more systems (commit:3ec60e361e6bab478af77b51f79ab88f1ceac6db, ticket:4584) * Change: Replace OpenSSL with micro-ECC and SHA2 libraries (commit:f1c474153f7c55b5b39a9fdb805a7a7a4c1819c8) * Change: Make zip file creation reproducible (commit:714399bfd5c9effa0a9b1bba8f26b625eadeb1da) * Change: CMake builds (too many commits) * Change: Travis-CI builds (too many commits) * Change: Improved Windows installers (too many commits, ticket:4748) * Fix: Clang builds (commit:3e224b79a8c2ea98603444ac9827670f55db8004, commit:7b022c5a6c359f4053b314b3ee750c2b5561c41f) * Fix: Graphics driver warning when building structures (commit:f2d71eea0e03a6c2f7afcc8698a3883796f09346, ticket:4592) * Fix: Spaces in folder names breaking autorevision (commit:178dd3f1f15e02ad7fe8e1266379448550eaf55f, ticket:4348) * Fix: Can create Mac builds again (commit:32d4fb46776bbf4f30b99f36f3534d06ea23477e, commit:e4491400c34902ee992adbe43fed95f0d401382f) * Fix: MSVC warnings (too many commits) * Fix: Warnings generated with documentation (too many commits, ticket:4751) * Fix: Warnings with distributor name (commit:5ed40f3153cad4b983a473add191fcb7724416a2, commit:f7f4334869eeaad243b734341908be50ddcba0a0, ticket:4752) * Fix: Attempt a workaround with Nvidia driver bug causing crashes (commit:5a898bd8f1a0c916811b266026173455bb87e1c8, commit:82d6f22f3a2ed7bb21525cda709de26eb43beca1) * Fix: Docker file for Ubuntu 16.04 (commit:f1b69981381de3c9b79caaed0af997d633560072) * Fix: GCC warnings (too many commits)
jperkin
pushed a commit
that referenced
this pull request
May 14, 2026
Overview of changes in GLib 2.64.0 ================================== * Use `posix_spawn()` to speed up launching test D-Bus instances (!1388) * Bugs fixed: - #1783 Document using glib-mkenums with meson - #2049 Crash in g_array_copy - !1384 Some minor clang warning fixes - !1386 docs: Document generated headers caveats for genmarshal - !1387 ci: Correctly propagate exit status in run-style-check-diff.sh - !1388 gtestdbus: Use posix_spawn() to spawn dbus-daemon - !1389 Update GError docs to use G_DEFINE_QUARK * Translation updates: - Czech - Danish Overview of changes in GLib 2.63.6 ================================== * Fix potential relative read when calling g_printerr(), which could lead to a denial of service from a setuid-root process being used to block access to the TTY for another user (#1919) * Fix SOCKS proxy resolver sometimes not being used when resolving addresses via Happy Eyeballs (CVE-2020-6750) (#1989) * Several other Happy Eyeballs fixes for address resolution (#1871, #1872, #1902) * Various race fixes in `GDBusConnection` and its unit tests (#1515) * Fix a race condition with D-Bus name ownership (#1517) * Drop `gio-launch-desktop` helper application in favour of calling `sh` directly (#1633) * Fix win32 exception handling with C# exceptions (#2025) * Fix thread safety of `GUnixMountMonitor` (#2030) * Additional fixes to new thread pool attribute behaviour from GLib 2.63.4 to check if sched_setattr() is allowed by system policies before depending on it (#2039, !1356) * Fix memory leaks and corruption when freeing `GSource`s while freeing a `GMainContext` (!1353) * Drop inappropriate installation of object manager example documentation (!1359) * Bugs fixed: - #938 gdbus call -a doesn't support message bus connections - #1515 gio/gdbus-threading test sometimes fails in CI - #1517 g_bus_own_name does not always call name_lost_handler when _REPLACE and _ALLOW_REPLACEMENT are set - #1633 should not install gio-launch-desktop into PATH - #1919 read from relative path in g_printerr() in 2.58.3 - #1995 Tracker issue for Happy Eyeballs regressions - #2002 g_io_channel_read_line does not honour the line_term symbols set - #2025 W32 exception handling misbehaves when C# exceptions are thrown when running inside the Visual Studio debugger - #2030 Random nautilus test suite failures involving GUnixMountMonitor - #2039 sched_setattr() still can cause EPERM through natural causes - #2043 Low memory monitor test failed in CI - #2044 GApplication docs suggest invalid GVariant type - !1185 gtimezone: Tidy up UTC timezone creation - !1281 ci: Update Docker packages - !1283 gmodule: change _g_module_close to only take a handle. - !1298 tests: Speed up the GIO actions test - !1299 gapplication: Fix a minor typo in the documentation - !1339 gsocketclient: Refactor g_socket_client_connect_async() - !1353 GMainContext - Fix memory leaks and memory corruption when freeing sources while freeing a context - !1354 GThreadPool - Add test for !1340 - !1355 glist: Add docs examples of how to combine with g_steal_pointer() - !1356 GThread - Check if sched_setattr is allowed by the system policies before depending on it - !1359 docs: Don’t install object manager example separately - !1363 Make tests pass if we are euid != 0 with capabilities - !1366 Fix oss-fuzz coverage link - !1372 gobject: Fix strict aliasing warnings with g_set_object() - !1376 gitlab-ci: 64-bit ARM is aarch64, not arm64 - !1381 ghash: Document the iteration order over a hash table is not defined - !1382 tests: Bump the refcount timeout in gdbus-threading - !1383 ci: Enable parallelisation when running installed tests * Translation updates: - Basque - English (United Kingdom) - French - Galician - German - Greek, Modern (1453-) - Hungarian - Indonesian - Japanese - Korean - Lithuanian - Polish - Portuguese (Brazil) - Spanish - Swedish - Turkish Overview of changes in GLib 2.63.5 ================================== * Fix behaviour of `g_file_move()` fallback code to not follow symlinks (#986) * Rename `--glib-min-version` argument of `gdbus-codegen` to `--glib-min-required` (this is not an API break as `--glib-min-version` was added earlier in the 2.63 cycle) (#1993) * Add gtk-doc checks to CI and fix a number of documentation issues (thanks to Xavier Claessens) (!978) * Add `G_SIZEOF_MEMBER()` macro (!1333) * Add a debug message if `g_setenv()` or `g_unsetenv()` are used after any threads have been spawned — this will be upgraded to a warning in future (!1337, #715) * Skip memory monitor tests if xdg-desktop-portal or dbusmock are not available (!1296, !1338) * Change the `libmount` configure option from a boolean to a Meson `feature` (!1344) * Do not return `target-uri` from `g_file_peek_path()` when called on trash/recent files (!1346) * Drop new TLS certificate API for PKCS #11 backed certificates, as the implementation is not ready yet (this is not an API break as the API was added earlier in the 2.63 cycle) (!1347) * Bugs fixed: - #986 g_file_move: remove G_FILE_COPY_NOFOLLOW_SYMLINKS section - #1551 CI: Add checks for `TODO` in MRs - #1925 Large number of routes installed into kernel cause high cpu usage - #1993 Rename gdbus-codegen --glib-min-version argument to --glib-min-required and add --glib-max-allowed - #2012 spawn_thread_queue not initialised in GThreadPool - #2020 g_network_monitor_base_add_network() improperly unrefs GInetAddressMask - !978 Various fixes to make gtkdoc-check pass on glib - !1018 docs: tag enclose 'all' and 'help' values - !1170 Avoid C++20 deprecated assignment to volatile - !1296 tests: Skip GMemoryMonitor tests if the dbusmock template is not available - !1307 Remove global declaration of GMemoryMonitor - !1322 gmain: Mark G_SOURCE_FUNC as available in 2.58 - !1333 Add and use G_SIZEOF_MEMBER() macro - !1337 genviron: Message if g_setenv()/g_unsetenv() are used after threads spawned - !1338 tests: Skip GMemoryMonitor tests if xdg-desktop-portal is not available - !1344 meson: libmount autodectection - !1345 gio-tool-info: Print unix mount information where available - !1346 gfile: Do not return target-uri from g_file_peek_path() - !1347 Revert "gtlscertificate: Add support for PKCS #11 backed certificates" - !1348 ghash: Clarify that g_hash_table_add() always consumes the key - !1349 doc: Clarify that _locker_new() does not actually allocate memory - !1351 glib.supp: update g-threaded-resolver-getaddrinfo-config * Translation updates: - Japanese - Lithuanian - Malay - Portuguese (Brazil) - Swedish Overview of changes in GLib 2.63.4 ================================== * Fix various race conditions on signal emission in GDBus (#604, #978, #1232) * Change thread pools so that thread attributes (in particular, priority) are inherited from the thread which created the `GThreadPool` initially, rather than from the thread which is pushing a new job into the pool (#1834, #2007) * Expand support for running Windows apps with `g_app_info_launch_default_for_uri()` using rundll32 on Windows (#1932) * Support multiple directories in `GSETTINGS_SCHEMA_DIR` environment variable (#1998) * Support full Julian day range in `TZ` environment variable (#1999) * Apply recursion depth limits to variants in D-Bus messages (!1201) * Support adding call flags and timeouts to method calls generated by `gdbus-codegen` through the new `--glib-min-version` option (!1286) * Fully deprecate TLS rehandshakes; they are now ignored due to TLS protocol changes (!1305) * Bugs fixed: - #198 g_fopen and friends: should also state how to close a stream - #604 GDBus name watching dispatch is buggy/excessively-complicated - #833 g_object_set: document the need to cast varargs - #978 SIGSEGV in on_name_lost_or_acquired - #1232 Insufficient thread safety around GDBusObjectManagerClient - #1416 Re-add macOS CI - #1834 Unwanted priority/etc inheritance with GThreadPool and GThread and the POSIX implementation - #1932 Windows: Gio.AppInfo.launch_default_for_uri seems not to work for local files/folders - #1983 glib:gio / dbus-appinfo test fails: GLib-GIO:ERROR:../../../../Projects/glib/gio/tests/dbus-appinfo.c:326:on_flatpak_open: 'g_file_equal (files[0], f)' should be TRUE - #1997 Base64 encoding with "break_lines" claims to wrap at 72 characters but seems to wrap at 76 - #1998 support multiple directories in GSETTINGS_SCHEMA_DIR - #1999 GTimeZone fails to accept full Julian day range when parsing the direct $TZ string format - #2007 Thread scheduler attributes fail under valgrind - !388 ci: Avoid downloading subprojects for each job - !1111 gio: test that launch_uris() exports files with the document portal when launching a flatpak - !1201 gdbusmessage: Limit recursion of variants in D-Bus messages - !1279 tests: Fix an error message set by foo_set_property() - !1286 gdbus-codegen: Add a GDBusCallFlags arg to method calls - !1291 gio-tool-list: Add an option to print display names - !1294 GMemoryMonitor docs fixes - !1295 gio: Fix socket test - !1301 GThread - Inherit parent thread priority by default for new Win32 threads - !1303 gvariant-core: Don't pass NULL second argument to memcpy - !1305 Fully deprecate TLS rehandshakes - !1308 gsocketclient: run timeout source on the task's main context - !1309 Fix crash in gutils when application is prevented access to passwd file - !1317 gfdonotificationbackend: remove notifications when bus name vanishes - !1320 subprojects: Temporarily avoid using wrapdb while it’s down - !1324 ci: Add some documentation to the style check CI test - !1325 Check for SYS_sched_getattr before using it unconditionally - !1330 W32: Correctly set st_ino when doing private stat() - !1334 gthread: Ensure GThreadSchedulerSettings is always defined * Translation updates: - Catalan - Galician - Hungarian - Indonesian - Polish - Portuguese (Brazil) - Spanish Overview of changes in GLib 2.63.3 ================================== * Add a `--glib-min-version` argument to `gdbus-codegen` which controls breaks in the API of generated code (#1726) * Add `g_clear_list()` API to clear `GList`s to `NULL` (#1943) * Add a `GMemoryMonitor` API to be notified of memory pressure situations using the low-memory-monitor project (!1005) * Add support for dispose functions for `GSource` implementations (!1175) * Tighten up validation of GObject signal and property names, allowing performance improvements (!1224) * Fix installation path of GIO modules on MSVC to be the bindir (!1254) * Bugs fixed: - #650 g_signal_lookup gives too many warnings - #1011 GListStore, easily find if the item is already inserted - #1130 gdbus-codegen: Add an option to strictly generate markdown in source comments - #1687 glocalvfs.c uses non-thread-safe getpwnam() - #1726 Warn when method/signal uses type 'h' but lacks GDBus.C.UnixFD annotation - #1935 Assert in _kqsub_free seems to be too strict - #1943 Consider g_clear_list() - #1947 Documentation clarification for g_uuid_string_random() - #1953 Documentation for g_type_init() and others missing from online gtk-doc documentation - #1961 A typo in the comment of `g_settings_schema_get_path`: threfore -> therefore - !1005 gio: Add GMemoryMonitor to monitor for low-memory - !1172 gptrarray: Add an example to the g_ptr_array_steal() docs - !1175 Implement a dispose function for GSource - !1223 Add additional valgrind suppressions - !1224 Signal name handling improvements - !1230 ci: Run installed-tests on Fedora - !1235 Add sudo to Fedora docker image - !1239 tests: Run "timeout tests" sequentially - !1248 ci: Update all Debian CI runners to use v5 of the Dockerfile - !1249 gio-tool-mount: Allow mounting by the given UUID - !1252 ci: Fix running all jobs on merge requests - !1253 gthread: Fix "zero as null pointer" warning - !1254 giomodule: gio modules are no longer installed in bindir on MSVC - !1255 ci: Build Docker images rather than OCI images if using podman - !1256 gdate: Add autoptr support - !1258 Minor CI fixups - !1261 gtk-doc: Ensure we have recent enough version - !1262 tests: Add tests for the gdbus-codegen executable - !1265 build: don't check for protected visibility - !1267 Revert "doc: Workaround gtkdoc-scan bug leading to undocumented symbols" - !1268 ci: Work-around successful installed tests having no logs - !1269 gvariant: Add guard to g_variant_get() - !1271 tests: Enable GDBus debug for a number of unreliable tests - !1274 trash portal: Don't follow symlinks - !1275 Small doc correction - !1277 Various gtk-doc improvements - !1278 Update installed tests CI - !1280 clang-format-diff: Output diff for multiple files, not just one - !1282 Revert "Revert "docs: remove GDBusObjectManager example"" - !1284 Update POTFILES.in 191212 - !1287 atomic/tests: test g_atomic_pointer_compare_and_exchange() with const pointers - !1289 gtype: Define auto-cleanup functions for Module class * Translation updates: - Spanish Overview of changes in GLib 2.63.2 ================================== * Use `lldb` rather than `gdb` on macOS for debugging (#1004) * Switch the atomic builtins from `__sync_fetch_*()` to the slightly more modern `__atomic_*()` (#1750) * Fix calculation of `gsize` width on various platforms (including OpenBSD) (#1777) * Fix undefined behaviour causing brokenness in `g_utf8_find_prev_char()` when compiling with GCC ≥ 8 (#1917) * Revert UNIX mode changes in `G_FILE_ATTRIBUTE_ID_UNIX_MODE` which broke OSTree (#1934) * Slightly improve performance for signal emissions when no handlers are connected (!1083) * Add `g_task_return_value()` and `g_task_propagate_value()` APIs to allow `GTask` to be used from language bindings more easily (!1216) * Fix a file monitoring crash on kqueue-based systems (BSD) (!1221) * Bugs fixed: - #1004 [PATCH] Make gbacktrace use lldb on Mac OS X - #1552 CI: Add code style checks - #1750 Switch from __sync_fetch_*() to __atomic_*() in glib/gatomic.h - #1777 gsize: improper typedef on (at least) OpenBSD - #1895 Regression: glib does not compile on centos 6: "objcopy: unrecognized option '--add-symbol'" - #1917 Test utf8-pointer fails with static build, LTO, optimisations, and new GCC - #1930 glib/tests/bookmarkfile.c:385:test_modify: assertion failed: (stamp == now) - #1934 ostree tests broken since bfdc5fc4fc84ef8518d2d1a328c8482cf5a38e98: File '/tmp/test-tmp-libostree_test-basic-user.sh.test-QB4SA0/diff-test2' is not empty - #1938 GDateTime doesn't support leap seconds - #1940 atomics test fails on FreeBSD CI since !1123 - !1039 Improve documentation for footgun function g_tls_client_connection_copy_session_state() - !1083 Use the GObject hole on 64bit arches for some flags to improve performance - !1202 CI updates after !1177 - !1208 gutils: Slightly improve docs formatting for g_get_os_info() - !1209 Make ld executable configurable - !1210 gdbus-server-auth test: Include gcredentialsprivate.h - !1213 gsocket: Improve diagnostics on bind() failure - !1214 gvariant, gbytes: Avoid memcmp (NULL, ., 0) or memcmp (., NULL, 0) - !1216 Make GTask more binding-friendly - !1218 gdb: Fix GHashTable pretty printer off-by-one error - !1220 gparam: fix memory leak in g_param_value_defaults() - !1221 Add NOTE_REVOKE to the list of the monitoring events - !1225 gtlsconnection: clarify handshake() documentation - !1227 Deprecate old GTlsConnection functionality even harder! - !1231 Fix build on old libc that does not define _SC_HOST_NAME_MAX - !1238 gstrfuncs: use gsize type internally for strv functions - !1242 gfileinfo: Clarify the documentation for G_FILE_ATTRIBUTE_UNIX_MODE - !1243 docs: Fix "occurred" typos in API documentation * Translation updates: - Spanish Overview of changes in GLib 2.63.1 ================================== * Several usability improvements to command line `gio` tool (!1153) * Add `g_array_steal()`, `g_ptr_array_steal()` and `g_byte_array_steal()` APIs (#285) * Add `g_get_os_info()` API (!1063, !1160) * Add `g_warning_once()` API (!1028) * Always resolve `localhost` to loopback address in `GResolver` (!616) * Add `GMainContextPusher` API (!983) * Limit recursion in `g_variant_parse()` (!1173) * Fix crash in `g_spawn()` with high FD numbers due to use of `select()` rather than `poll()` (#954) * Allow passing empty `GValue`s to `g_param_value_set_default()` (!1186) * Escape header guards generated by `gdbus-codegen` better (#1379) * Bugs fixed: - #285 [PATCH] add array steal and memdup functions - #954 The g_spawn_sync() function uses select() which has limitations - #1318 rare failure in gdbus-peer test: invalid uninstantiatable type '(null)' in cast to 'GDBusServer' - #1379 gdbus-codegen generates invalid header guards when build directory contains a + character - #1622 NULL pointer derefs on g_vasprintf() failure - #1813 g_option_context_add_main_entries() is missing array annotation for entries parameter - #1831 No reply on private socket due to auth problem - #1836 gobject.c uses undefined annotation “(not optional)” - #1858 docs/reference/gobject/tut_gobject.xml: object properties example uses deprecated API - #1877 g_cancellable_source_new annotated with 'skip' - #1896 Use after free when calling g_dbus_connection_flush_sync() in a dedicated thread - #1897 glib 2.62.0 fails test 'test_writev_no_vectors' wih gcc7 - #1903 use-after-free in mimeapps test causes intermittent segfault during testing - #1906 test_os_info fails on FreeBSD - #1916 objcopy not used from cross-compilation file in GIO tests - #1923 Recent Versions of GLib Break Dolphin File-Manager's Thumbnailing when Using 'gtk2' Style - !616 Always resolve localhost to loopback address - !983 gmain: Add GMainContextPusher convenience API - !1014 tests: Add a test for g_assert_finalize_object() - !1028 gmessages: Add g_warning_once() - !1035 Switching from C gnu89 to C gnu99 standard - !1063 gutils: Add g_get_os_info() - !1082 gdatetime: Document RFC 3339 extensions when parsing ISO 8601 - !1105 syscall flood on every time*() function call - !1120 Update documentation with FreeBSD build instructions - !1135 gmain: use atomic operation instead of GMutex to access g_main_context_default() - !1146 Solaris build fixes - !1147 gmodule: fix typo in doc comment - !1148 gio/gfileinfo: fix parameter references - !1149 gio/gfile: fix parameter reference for value_p - !1150 gio/gfile: fix parameter references to @contents - !1151 gio/gfile: fix typo in doc comment - !1152 gwinhttpvfs: Handle g_get_prgname() returning NULL - !1153 Several gio-tool bash completion fixes and improvements - !1155 Strict-aliasing fixes to new atomic built-ins - !1157 Fix various compiler warnings on Android - !1160 Add Windows support to g_get_os_info() - !1161 hash: Remove an assertion from the hot path - !1163 gcharset: Expand the documentation for g_get_locale_variants() - !1165 Use uname as a fallback to get OS info - !1167 Fix some minor leaks in testfilemonitor - !1168 Fix gdatetime tests on toolbox - !1171 Revert "gdbus-codegen: emit GUnixFDLists if an arg has type 'h'" - !1173 gvariant: Limit recursion in g_variant_parse() - !1177 ci: Add libdbus development files to CI Docker images - !1179 Improve GPtrArray doc-comments - !1180 array: Avoid use of memcpy(dest, NULL, 0) - !1181 gmain: Clarify thread safety of some common GSource functions - !1182 gio: Fix typo in URL - !1186 Allow using an empty GValue with g_param_value_set_default() - !1189 gparamspecs: Fix type class leaks on error handling paths - !1197 Fix GDBus test failures on non-Linux (in particular FreeBSD) - !1200 Minor fixes from a scan-build run * Translation updates: - Catalan - Chinese (Taiwan) - Spanish Overview of changes in GLib 2.63.0 ================================== * Add g_fsync() API (#35) * Fix regression in g_file_copy() when passing `G_FILE_COPY_TARGET_DEFAULT_PERMS` flag; the destination permissions would be private rather than following the process’ umask (!1142) * Several `GDateTime` parsing fixes (!1127) * Always build the tests if installed-tests are enabled, so that the tests can actually be installed (!1141) * Rework atomic function implementations to use memory barrier in the correct place (when compiler intrinsics aren’t providing the atomics), and fix signedness issues (#1449, #1565) * Use the OS’ `fdwalk()` function (if safe) to speed up `g_spawn_*()` on BSD (#1638) * Remove the macOS `dyld` `GModule` implementation in favour of `dl` instead (!1093) * Bump Python requirement to ≥ 3.5, which we implicitly relied on anyway through our Meson dependency (!1132) * Bugs fixed: - #35 add g_fsync to API - #174 g_file_copy always preserves permissions, even if G_FILE_COPY_ALL_METADATA flag is not set - #259 docs: fix a misunderstanding in g_type_add_interface_* - #767 g_signal_lookup fails if class is not referenced - #1052 g_io_write_chars calls abort when given a null byte as input - #1449 glib fallback atomic int/ptr get/set have memory barrier in wrong place - #1565 Signedness of atomic operations - #1638 g_spawn_*() is extremely slow under certain circumstances - #1809 Provide API for working with PKCS11 backed certificates - #1843 TSAN false positive with g_atomic_pointer_get/g_atomic_pointer_set under Clang - #1865 g_variant_get_data_as_bytes fails after serializing a variant - #1875 Segfault and Overflow in __gio_xdg_cache_mime_type_subclass() with Wps-Office installed - #1887 glib 2.62.0 breaks loading dylibs as modules - #1888 2.62: docs build on Windows broken - #1897 glib 2.62.0 fails test 'test_writev_no_vectors' wih gcc7 - !1020 docs: Remove priv pointers from the tutorial example - !1062 gtype: mark the inline functions in G_DECLARE_*_TYPE() as UNUSED - !1080 tests: Fix skipping mkdir-with-parents-permission test - !1088 Various small scan-build fixes - !1090 giochannel: Clarify type of GSource callback in documentation - !1093 gmodule: remove macOS dyld implementation - !1095 Define G_IOV_MAX to 512 on macOS/iOS - !1099 gmem: clarify that g_malloc always uses the system allocator - !1109 doc: fix typo in gio/gsettings.c - !1110 gio: Add missing "gio remove" option to bash completion script - !1112 Add version macros for GLib 2.64 - !1115 gdatetime: Fix error handling in g_date_time_new_ordinal() - !1116 gmarkup: Add a limit on the number of attributes in an element - !1119 Annotate the return value of various utility functions - !1124 docs: Fix typo in GConverter{Input,Output}Stream section titles - !1125 gdatetime: Fix error handling in g_date_time_new_week() - !1126 fileinfo: Mention that usec mtimes are set - !1129 gdate: Fix tautological comparison warnings on Android - !1130 Improve GLIB_DEPRECATED_MACRO_FOR output - !1131 gio/gfileinfo: fix param reference in doc comment - !1132 build: Bump Python requirement to ≥ 3.5 - !1137 gregistrysettings: bump key name length to 2048 - !1138 Always build tests if we enabled installed-tests - !1139 g_file_info_get_modification_date_time: Calculate in integer domain * Translation updates: - Danish - Italian - Panjabi - Serbian - Turkish
jperkin
pushed a commit
that referenced
this pull request
May 14, 2026
# v0.19.4 ## Bugfix - slack: fix regression with slack library (#264) - slack: fix an unexpected panic (#263) # v0.19.3 ## Enhancement * general: Add UPDATELASTVIEWED command, and make DisableAutoView work consistently (#255) * slack: Handle message edits and deletion (#260) * slack: Add handling of reactions, stars and pins (#229) ## Bugfix * mattermost: Fix a panic #247 * mattermost: Fixes incorrect users because of paging. #244 * mattermost: Fix outdated channel issue * mattermost: Add paging so we can see > 200 users in a channel #248 * mattermost: Fix expired session panic #259 * general: Fix datarace #246 * general: Fix empty JoinInclude * general: Fix panic #257 This release couldn't exist without the following contributors: @Aketzu, @bucko909, @42wim # v0.19.2 ## Enhancement * general: Add a default value matterirc.toml for the '-conf' flag (#240) * slack: library updated * mattermost: library updated * mattermost: Add support for channel created/deleted events ## Bugfix * mattermost: Remove ourselves from the channel when removed in mattermost. Fixes #233 * mattermost: Add/remove ourselves to the channel if we join using the GUI. #239 * mattermost: Update topics in mattermost. Closes #241 * mattermost: Fix pastes and attachments in direct message. Closes #228 * mattermost: Update channels if not known on join yet # v0.19.1 ## New features * mattermost: Added support for disabling of automatic view flag updates (#226). See DisableAutoView in matterircd.toml.example * slack: Add message showing enhancements and add slackbot to all channels (#230) ## Bugfix * general: Fix tight loop (100% CPU). Closes #231 # v0.19.0 ## New features * irc: Add support for spoofing query messages. #195 * You can now see your own messages you've typed on slack/mattermost web in irc * irc: Add PasteBufferTimeout option (send ascii-art!) * See matterircd.toml.example for an example. * PasteBufferTimeout specifies the amount of time in milliseconds that messages get kept in matterircd internal buffer before being sent to mattermost or slack. Messages that will be received in this time will be concatenated together So this can be used to paste stuff like ascii-art or code. Default 0 (is disabled) Depending on how fast you type 2500 is a good number ## Bugfix * slack: Correctly handle different nick and username #203 * slack: Ignore channel join messages #198
jperkin
added a commit
that referenced
this pull request
May 14, 2026
Version 2.11 - 9 Jul 2020
- Introduction of the barman-cli-cloud package that contains all cloud
related utilities.
- Add barman-cloud-wal-restore to restore a WAL file previously
archived with barman-cloud-wal-archive from an object store
- Add barman-cloud-restore to restore a backup previously taken with
barman-cloud-backup from an object store
- Add barman-cloud-backup-list to list backups taken with
barman-cloud-backup in an object store
- Add support for arbitrary archive size for barman-cloud-backup
- Add support for --endpoint-url option to cloud utilities
- Remove strict superuser requirement for PG 10+ (by Kaarel Moppel)
- Add --log-level runtime option for barman to override default log
level for a specific command
- Support for PostgreSQL 13
- Bug fixes:
- Suppress messages and warning with SSH connections in barman-cli
(GH-257)
- Fix a race condition when retrieving uploaded parts in
barman-cloud-backup (GH-259)
- Close the PostgreSQL connection after a backup (GH-258)
- Check for uninitialized replication slots in receive-wal --reset
(GH-260)
- Ensure that begin_wal is valorised before acting on it (GH-262)
- Fix bug in XLOG/WAL arithmetic with custom segment size (GH-287)
- Fix rsync compatibility error with recent rsync
- Fix PostgreSQLClient version parsing
- Fix PostgreSQL exception handling with non ASCII messages
- Ensure each postgres connection has an empty search_path
- Avoid connecting to PostgreSQL while reading a backup.info file
If you are using already barman-cloud-wal-archive or barman-cloud-backup
installed via RPM/Apt package and you are upgrading your system, you
must install the barman-cli-cloud package. All cloud related tools are
now part of the barman-cli-cloud package, including
barman-cloud-wal-archive and barman-cloud-backup that were previosly
shipped with barman-cli. The reason is complex dependency management of
the boto3 library, which is a requirement for the cloud utilities.
Version 2.10 - 5 Dec 2019
- Pull .partial WAL files with get-wal and barman-wal-restore,
allowing restore_command in a recovery scenario to fetch a partial
WAL file's content from the Barman server. This feature simplifies
and enhances RPO=0 recovery operations.
- Store the PostgreSQL system identifier in the server directory and
inside the backup information file. Improve check command to verify
the consistency of the system identifier with active connections
(standard and replication) and data on disk.
- A new script called barman-cloud-wal-archive has been added to the
barman-cli package to directly ship WAL files from PostgreSQL (using
archive_command) to cloud object storage services that are
compatible with AWS S3. It supports encryption and compression.
- A new script called barman-cloud-backup has been added to the
barman-cli package to directly ship base backups from a local
PostgreSQL server to cloud object storage services that are
compatible with AWS S3. It supports encryption, parallel upload,
compression.
- Automated creation of replication slots through the server/global
option create_slot. When set to auto, Barman creates the replication
slot, in case streaming_archiver is enabled and slot_name is
defined. The default value is manual for back-compatibility.
- Add '-w/--wait' option to backup command, making Barman wait for all
required WAL files to be archived before considering the backup
completed. Add also the --wait-timeout option (default 0, no
timeout).
- Redact passwords from Barman output, in particular from
barman diagnose (InfoSec)
- Improve robustness of receive-wal --reset command, by verifying that
the last partial file is aligned with the current location or, if
present, with replication slot's.
- Documentation improvements
- Bug fixes:
- Wrong string matching operation when excluding tablespaces
inside PGDATA (GH-245)
- Minor fixes in WAL delete hook scripts (GH-240)
- Fix PostgreSQL connection aliveness check (GH-239)
Version 2.9 - 1 Aug 2019
- Transparently support PostgreSQL 12, by supporting the new way of
managing recovery and standby settings through GUC options and
signal files (recovery.signal and standby.signal)
- Add --bwlimit command line option to set bandwidth limitation for
backup and recover commands
- Ignore WAL archive failure for check command in case the latest
backup is WAITING_FOR_WALS
- Add --target-lsn option to set recovery target Log Sequence Number
for recover command with PostgreSQL 10 or higher
- Add --spool-dir option to barman-wal-restore so that users can
change the spool directory location from the default, avoiding
conflicts in case of multiple PostgreSQL instances on the same
server (thanks to Drazen Kacar).
- Rename barman_xlog directory to barman_wal
- JSON output writer to export command output as JSON objects and
facilitate integration with external tools and systems (thanks to
Marcin Onufry Hlybin). Experimental in this release.
Bug fixes:
- replication-status doesn’t show streamers with no slot (GH-222)
- When checking that a connection is alive (“SELECT 1” query),
preserve the status of the PostgreSQL connection (GH-149). This
fixes those cases of connections that were terminated due to
idle-in-transaction timeout, causing concurrent backups to fail.
Version 2.8 - 17 May 2019
- Add support for reuse_backup in geo-redundancy for incremental
backup copy in passive nodes
- Improve performance of rsync based copy by using strptime instead of
the more generic dateutil.parser (#210)
- Add ‘--test’ option to barman-wal-archive and barman-wal-restore to
verify the connection with the Barman server
- Complain if backup_options is not explicitly set, as the future
default value will change from exclusive_backup to concurrent_backup
when PostgreSQL 9.5 will be declared EOL by the PGDG
- Display additional settings in the show-server and diagnose
commands: archive_timeout, data_checksums, hot_standby,
max_wal_senders, max_replication_slots and wal_compression.
- Merge the barman-cli project in Barman
- Bug fixes:
- Fix encoding error in get-wal on Python 3 (Jeff Janes, #221)
- Fix exclude_and_protect_filter (Jeff Janes, #217)
- Remove spurious message when resetting WAL (Jeff Janes, #215)
- Fix sync-wals error if primary has WALs older than the first
backup
- Support for double quotes in synchronous_standby_names setting
- Minor changes:
- Improve messaging of check --nagios for inactive servers
- Log remote SSH command with recover command
- Hide logical decoding connections in replication-status command
This release officially supports Python 3 and deprecates Python 2 (which
might be discontinued in future releases).
PostgreSQL 9.3 and older is deprecated from this release of Barman.
Support for backup from standby is now limited to PostgreSQL 9.4 or
higher and to WAL shipping from the standby (please refer to the
documentation for details).
Version 2.7 - 21 Mar 2019
- Fix error handling during the parallel backup. Previously an
unrecoverable error during the copy could have corrupted the barman
internal state, requiring a manual kill of barman process with
SIGTERM and a manual cleanup of the running backup in PostgreSQL.
(GH#199)
- Fix support of UTF-8 characters in input and output (GH#194 and
GH#196)
- Ignore history/backup/partial files for first sync of geo-redundancy
(GH#198)
- Fix network failure with geo-redundancy causing cron to break
(GH#202)
- Fix backup validation in PostgreSQL older than 9.2
- Various documentation fixes
Version 2.6 - 4 Feb 2019
- Add support for Geographical redundancy, introducing 3 new commands:
sync-info, sync-backup and sync-wals. Geo-redundancy allows a Barman
server to use another Barman server as data source instead of a
PostgreSQL server.
- Add put-wal command that allows Barman to safely receive WAL files
via PostgreSQL's archive_command using the barman-wal-archive script
included in barman-cli
- Add ANSI colour support to check command
- Minor fixes:
- Fix switch-wal on standby with an empty WAL directory
- Honour archiver locking in wait_for_wal method
- Fix WAL compression detection algorithm
- Fix current_action in concurrent stop backup errors
- Do not treat lock file busy as an error when validating a backup
jperkin
pushed a commit
that referenced
this pull request
May 14, 2026
# remotes 2.2.0 ## New functions and features * New `system_requirements()` function to query the Public RStudio Package Manager for system requirements for a package (and its dependencies) * Remotes functions can now install dependencies from additional DESCRIPTION fields, e.g. passing `dependencies = "Config/Needs/website"` will install the dependencies listed in the `Config/Needs/website: ` field in the package's DESCRIPTION. Prefixing fields with `Config/Needs` allows them to pass `R CMD check` without a NOTE, so it is the recommended format for these extra dependencies. * `install_*()` family of functions now use the default branch in the repository, not the `master` branch (@MyKo101,#508). ## Minor improvements and fixes * Internal functions `remote_download()`, `remote_metadata()`, `remote_package_name()` and `remote_sha()` are now exported, so 3rd party packages could provide methods for new remote types (#509, #56) * Internal functions `add_metadata()`, `github_remote()` are now exported. They are mainly for 3rd party extensions and should not be used by most users (#485). * `install_version()` now keeps searching subsequent repositories for the requested version, rather than failing if the version it finds in an early repository is unsuitable. (#305, @kenahoo) * `install_version()` now understands specifications like '>= 1.0' or '>= 1.12.0, < 1.14' to install the first version of the package it can find that satisfies the criteria. (#305, @kenahoo) * `install_version()` now avoids use of `base::url()`, as prior to R 3.6.2 it had a bug when downloading large files (#463) * `parse_submodules()` internal regular expression is now PCRE 2 compatible (#502, @jan-glx) * `update_packages()` argument `force` has been deprecated and no longer has any effect (#521) * Another fix for the mixed binary and source dependency issue, it should hopefully be fully squashed now (#296) * The upgrade menu is now interruptible in RStudio (#489). * Internal GitHub functions now correctly handle cases when characters are not representable in the default locale, but are representable in UTF-8 (#492). # remotes 2.1.1 ## Minor improvements and fixes * Installing mixed binary and source dependencies when the latest versions of some packages do not have binaries yet should now install dependencies in the correct order to prevent load failures (#296) * `github_error()` now also works when a GitHub (Enterprise) server does not return information about the rate limit (@dpprdan, #396, #413). * `install_gitlab` passes the `quiet` argument on to `gitlab_pat` (@MichaelChirico, #437) * `remotes` is now resilient against installed packages that declare `RemoteType: standard` but do not include a `RemoteRepos` or `RemotePkgType` field. In such a case, the values for `getOption("repos")` and `getOption("pkgType")` will be used (respectively). * `install_gitlab()` now installs from repositories in subgroups and with dots in their name. `subdir` is now an explicit argument instead of implicit in `repo` (@robertdj, #259, #420). * `install()` now passes the ellipsis `...` to `install_deps()` (@Neil-Schneider, #411) * The tests have been updated to work with newer versions of callr and R 4.0
jperkin
pushed a commit
that referenced
this pull request
May 14, 2026
…sing TEST_DEPENDS. # RSQLite 2.2.0 - Avoid mangling column names (#259). # RSQLite 2.1.5 - Upgrade bundled sqlite version to 3.30.1. - Implement `dbGetInfo()` for driver and connection objects (#117). - Remove custom `dbListFields()` method (#228). - Only export relevant symbols to the shared library (#303, @troels). - Fulfill requirements for CII badge (#300, @TSchiefer). # RSQLite 2.1.4 - Replace `std::mem_fn()` by `boost::mem_fn()` which works for older compilers. # RSQLite 2.1.3 - Replace `std::mem_fun_ref()` by `std::mem_fn()`.
jperkin
pushed a commit
that referenced
this pull request
May 14, 2026
# DBI 1.1.0 ## New features - New `DBIConnector` class (#280). - Specify `immediate` argument to `dbSendQuery()`, `dbGetQuery()`, `dbSendStatement()` and `dbExecute()` (#268). - Use specification for `dbGetInfo()` (#271). - `dbUnquoteIdentifier()` now supports `Id()` objects with `catalog` members (#266, @raffscallion). It also handles unquoted identifiers of the form `table`, `schema.table` or `catalog.schema.table`, for compatibility with dbplyr. ## Documentation - New DBI intro article (#286, @cutterkom). - Add pkgdown reference index (#288). - DBI specification on https://dbi.r-dbi.org/dev/articles/spec now comes with a table of contents and code formatting. - Update examples to refer to `params` instead of `param` (#235). - Improved documentation for `sqlInterpolate()` (#100). Add usage of `SQL()` to `sqlInterpolate()` examples (#259, @renkun-ken). - Improve documentation for `Id`. ## Internal - Add tests for `dbUnquoteIdentifier()` (#279, @baileych). - `sqlInterpolate()` uses `dbQuoteLiteral()` instead of checking the type of the input. - Avoid partial argument match in `dbWriteTable()` (#246, @richfitz).
jperkin
pushed a commit
that referenced
this pull request
May 14, 2026
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 [Philip Chimento,
#296, !399]
* build: Various clean-ups [Jan Tojnar, !403]
* Correctly handle vfunc inout parameters [Marco Trevisan, !404]
* Fix failed redirect of output in CommandLine tests [Liban Parker, !409]
Version 1.58.6
--------------
- Various backports:
* Correctly handle vfunc inout parameters [Marco Trevisan]
* Fix failed redirect of output in CommandLine tests [Liban Parker]
* Avoid filename conflict when tests run in parallel [Philip Chimento]
Version 1.64.0
--------------
- No change from 1.63.92.
Version 1.63.92
---------------
- Closed bugs and merge requests:
* object: Use g_irepository_get_object_gtype_interfaces [Colin Walters, Philip
Chimento, #55, !52]
* Add -fno-semantic-interposition to -Bsymbolic-functions [Jan Alexander
Steffens (heftig), #303, !397]
* examples: add a dbus-client and dbus-service example [Andy Holmes, !398]
* Various GNOME Shell crashes during GC, mozjs68 regression [Jan Alexander
Steffens (heftig), Philip Chimento, #301, !396]
Version 1.63.91
---------------
- Closed bugs and merge requests:
* [mozjs68] Reorganize modules for ESM. [Evan Welsh, Philip Chimento, !383]
* Various maintenance [Philip Chimento, !388]
* Fix building GJS master with Visual Studio and update build instructions
[Chun-wei Fan, !389]
* Resolve "Gnome Shell crash on GC run with mozjs68" [Philip Chimento, !391]
* installed-tests/js: Add missing dep on warnlib_typelib [Jan Alexander
Steffens, !393]
* object: Cache known unresolvable properties [Daniel van Vugt, Philip
Chimento, !394, #302]
Version 1.58.5
--------------
- Closed bugs and merge requests:
* Fix Visual Studio builds of gnome-3-34 (1.58.x) branch [Chun-wei Fan, !392]
* Can not access GObject properties of classes without GI information [Juan
Pablo Ugarte, !385, #299]
Version 1.63.90
---------------
- New JS API: The GObject module has gained new overrides:
GObject.signal_handler_find(), GObject.signal_handlers_block_matched(),
GObject.signal_handlers_unblock_matched(), and
GObject.signal_handlers_disconnect_matched(). These overrides replace the
corresponding C API, which was not idiomatic for JavaScript and was not fully
functional because it used bare C pointers for some of its functionality.
See modules/overrides/GObject.js for API documentation.
- New JavaScript features! This version of GJS is based on SpiderMonkey 68, an
upgrade from the previous ESR (Extended Support Release) of SpiderMonkey 60.
Here are the highlights of the new JavaScript features.
For more information, look them up on MDN or devdocs.io.
* 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. The old way, `window`, will
still work, but is no longer preferred.
+ BigInt literals are expressed by a number with "n" appended to it: for
example, `1n`, `9007199254740992n`.
* New APIs
+ String.prototype.trimStart() and String.prototype.trimEnd() now exist and
are preferred instead of trimLeft() and trimRight() which are nonstandard.
+ String.prototype.matchAll() allows easier access to regex capture groups.
+ Array.prototype.flat() flattens nested arrays, well-known from lodash and
similar libraries.
+ Array.prototype.flatMap() acts like a reverse filter(), allowing adding
elements to an array while iterating functional-style.
+ Object.fromEntries() creates an object from iterable key-value pairs.
+ Intl.RelativeTimeFormat is useful for formatting time differences into
human-readable strings such as "1 day ago".
+ BigInt64Array and BigUint64Array are two new typed array types.
* New behaviour
+ There are a lot of minor behaviour changes as SpiderMonkey's JS
implementation conforms ever closer to existing ECMAScript standards and
adopts new ones. For complete information, read the Firefox developer
release notes:
https://developer.mozilla.org/en-US/Firefox/Releases/61#JavaScript
https://developer.mozilla.org/en-US/Firefox/Releases/62#JavaScript
https://developer.mozilla.org/en-US/Firefox/Releases/63#JavaScript
https://developer.mozilla.org/en-US/Firefox/Releases/64#JavaScript
https://developer.mozilla.org/en-US/Firefox/Releases/65#JavaScript
https://developer.mozilla.org/en-US/Firefox/Releases/66#JavaScript
https://developer.mozilla.org/en-US/Firefox/Releases/67#JavaScript
https://developer.mozilla.org/en-US/Firefox/Releases/68#JavaScript
* Backwards-incompatible changes
+ The nonstandard String generics were removed. These had only ever been
implemented by Mozilla and never made it into a standard. (An example of a
String generic is calling a string method on something that might not be a
string like this: `String.endsWith(foo, 5)`. The proper way is
`String.prototype.endsWith.call(foo, 5)` or converting `foo` to a string.)
This should not pose much of a problem for existing code, since in the
previous version these would already print a deprecation warning whenever
they were used.
You can use `moz68tool` from mozjs-deprecation-tools
(https://gitlab.gnome.org/ptomato/moz60tool) to scan your code for this
nonstandard usage.
- Closed bugs and merge requests:
* invalid import on signal.h [#295, !382, Philip Chimento]
* SpiderMonkey 68 [#270, !386, Philip Chimento]
* GObject: Add override for GObject.handler_block_by_func [#290, !371, Philip
Chimento]
Version 1.63.3
--------------
- Closed bugs and merge requests:
* JS ERROR: TypeError: this._rooms.get(...) is undefined [Philip Chimento,
#289, !367]
* Run CI build with --werror [Philip Chimento, #286, !365]
* build: Remove Autotools build system [Philip Chimento, !364]
* gjs-symlink script is incompatible with distro builds [Michael Catanzaro,
Bastien Nocera, #291, !369, !370]
* installed-tests: Don't hardcode the path of bash [Ting-Wei Lan, !372]
* Update Visual Studio build instructions (after migrating to full Meson-based
builds) [Chun-wei Fan, !375]
* object: Warn when setting a deprecated property [Florian Müllner, !378]
* CI: Create mozjs68 CI images [Philip Chimento, !379]
* Various maintenance [Philip Chimento, !374, !380, !381]
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.
- Closed bugs and merge requests:
* GSettings crash fixes [Andy Holmes, !373]
- Memory savings for Cairo objects [Philip Chimento, !374]
- Fix for crash in debug functions [Philip Chimento, !374]
Version 1.63.2
--------------
- There is an option for changing the generated GType name for GObject classes
created in GJS to a new scheme that is less likely to have collisions. This
scheme is not yet the default, but you can opt into it by setting
`GObject.gtypeNameBasedOnJSPath = true;` as early as possible in your
prograṁ. Doing this may require some changes in Glade files if you use
composite widget templates.
We recommend you make this change in your codebase as soon as possible, to
avoid any surprises in the future.
- New JS API: GObject.Object has gained a stop_emission_by_name() method which
is a bit more idiomatic than calling GObject.signal_stop_emission_by_name().
- It's now supported to use the "object" attribute in a signal connection in a
composite widget template in a Glade file.
- Closed bugs and merge requests:
* CI: Tweak eslint rule for unneeded parentheses [Florian Müllner, !353]
* Smarter GType name computation [Marco Trevisan, !337]
* Meson CI [Philip Chimento, !354]
* Visual Studio builds using Meson [Chun-wei Fan, !355]
* Hide internal symbols from ABI [Marco Trevisan, #194, !352]
* Allow creating custom tree models [Giovanni Campagna, #71]
* build: Fix dist files [Florian Müllner, !357]
* GObject: Add convenience wrapper for signal_stop_emission_by_name() [Florian
Müllner, !358]
* Various maintenance [Philip Chimento, !356]
* object_instance_props_to_g_parameters should do more check on argv [Philip
Chimento, #63, !359]
* Support flat C arrays of structures [Philip Chimento, !361]
* Gtk Templates: support connectObj argument [Andy Holmes, !363]
- Various build fixes [Philip Chimento]
Version 1.58.2
--------------
- Closed bugs and merge requests:
* GObject based class initialization checks [Marco Trevisan, Philip Chimento,
!336]
* Silently leaked return value of callbacks [Xavier Claessens, Philip
Chimento, #86, !44]
* Crash when calling Gio.Initable.async_init with not vfunc_async_init
implementation [Philip Chimento, #287, !362]
* [cairo] insufficient checking [Philip Chimento, #49, !360]
- Various crash fixes backported from the development branch that didn't close
a bug or merge request.
Version 1.63.1
--------------
- Note that the 1.59, 1.60, 1.61, and 1.62 releases are hereby skipped, because
we are calling the next stable series 1.64 to match gobject-introspection and
GLib.
- GJS now includes a Meson build system. This is now the preferred way to build
it; however, the old Autotools build system is still available for a
transitional period.
- Closed bugs and merge requests:
* GObject: Add convenience wrapper for signal_handler_(un)block() [Florian
Müllner, !326]
* GObject based class initialization checks [Marco Trevisan, Philip Chimento,
!336]
* Meson port [Philip Chimento, !338]
* add http client example [Sonny Piers, !342]
* Smaller CI, phase 2 [Philip Chimento, !343]
* add websocket client example [Sonny Piers, !344]
* Fix Docker images build [Philip Chimento, !345]
* CI: Use new Docker images [Philip Chimento, !346]
* docs: Update internal links [Andy Holmes, !348]
* Don't pass generic marshaller to g_signal_newv() [Niels De Graef, !349]
* tests: Fail debugger tests if command failed [Philip Chimento, !350]
* Minor CI image fixes [Philip Chimento, !351]
* Various fixes [Marco Trevisan, Philip Chimento]
Version 1.58.1
--------------
- Closed bugs and merge requests:
* Import wiki documentation [Sonny Piers, !341]
* Smaller CI, phase 1 [Philip Chimento, !339]
* Crashes after setting child property 'icon-name' on GtkStack then displaying
another GtkStack [Florian Müllner, #284, !347]
* GLib.strdelimit crashes [Philip Chimento, #283, !340]
Version 1.58.0
--------------
- No change from 1.57.92.
Version 1.57.92
---------------
- Closed bugs and merge requests:
* tests: Enable regression test cases for GPtrArrays and GArrays of structures
[Stéphane Seng, !334]
* Various maintenance [Philip Chimento, !333, !335]
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 [Sonny Piers, !322]
* GTK4 [Florian Müllner, #99, !328, !330]
* JS syntax fixes [Marco Trevisan, Philip Chimento, !306, !323]
* gi: Avoid infinite recursion when converting GValues [Florian Müllner, !329]
* Implement all GObject-introspection test suites [Philip Chimento, !327,
!332]
* Heapgraph improvements [Philip Chimento, !325]
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 [#9, !311, Stéphane Seng]
* Fix locale chooser [!313, Philip Chimento]
* dbus-wrapper: Remove interface skeleton flush idle on dispose [!312, Marco
Trevisan]
* gobject: Use auto-compartment when getting property as well [!316, Florian
Müllner]
* modules/signals: Use array destructuring in _emit [!317, Jonas Dreßler]
* GJS can't call glibtop_init function from libgtop [#259, !319,
Philip Chimento]
* GLib's VariantDict is missing lookup [#263, !320, Sonny Piers]
* toString on an object implementing an interface fails [#252, !299, Marco
Trevisan]
* Regression in GstPbutils.Discoverer::discovered callback [#262, !318, Philip
Chimento]
* GLib.Variant.deep_unpack not working properly with a{sv} variants [#225,
!321, Fabián Orccón, Philip Chimento]
* Various maintenance [!315, Philip Chimento]
- Various CI fixes [Philip Chimento]
Version 1.57.4
--------------
- Closed bugs and merge requests:
* gjs 1.57 requires a recent sysprof version for sysprof-capture-3 [#258,
!309, Olivier Fourdan]
- Misc documentation changes [Philip Chimento]
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 [#253, !300, Philip Chimento]
* build: Bump glib requirement [!302, Florian Müllner]
* profiler: avoid clearing 512 bytes of stack [!304, Christian Hergert]
* system: add addressOfGObject method [!296, Marco Trevisan]
* Add support for GJS_TRACE_FD [!295, Christian Hergert]
* Gio: Make possible to pass DBusProxyFlags to proxy wrapper [!297, Marco
Trevisan]
* Various maintenance [!301, Philip Chimento]
* Marshalling of GPtrArray broken [#9, !307, Stéphane Seng]
* Build fix [!308, Philip Chimento]
* Gio: sync dbus wrapper properties flags [!298, Marco Trevisan]
* GjsMaybeOwned: Reduce allocation when used as Object member [!303, Marco
Trevisan]
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 [#230, !288, Andy Holmes]
* Support optional GTypeFlags value in GObject subclasses [!290, Florian
Müllner]
* Ensure const-correctness in C++ objects [#105, !291, Onur Şahin]
* Programmer errors with GSettings cause segfaults [#205, !284, Philip
Chimento]
* Various maintenance [!292, Philip Chimento]
* debugger: Fix summary help [!293, Florian Müllner]
* context: Use Heap pointers for GC objects stored in vectors [!294, Philip
Chimento]
Version 1.56.2
--------------
- Closed bugs and merge requests:
* Crash in BoxedInstance when struct could not be allocated directly [#240,
!285, Philip Chimento]
* Cairo conversion bugs [!286, Philip Chimento]
* Gjs crashes when binding inherited property to js added gobject-property
[#246, !289, Marco Trevisan]
* console: Don't accept --profile after the script name [!287, Philip
Chimento]
Version 1.57.1
--------------
- Closed bugs and merge requests:
* Various maintenance [!279, Philip Chimento]
* mainloop: Assign null to property instead of deleting [!280, Jason Hicks]
* Added -d version note README.md [!282, Nauman Umer]
* Extra help for debugger commands [#236, !283, Nauman Umer]
* Crash in BoxedInstance when struct could not be allocated directly [#240,
!285, Philip Chimento]
* Cairo conversion bugs [!286, Philip Chimento]
Version 1.56.1
--------------
- Closed bugs and merge requests:
* Calling dumpHeap() on non-existent directory causes crash [#134, !277,
Philip Chimento]
* Using Gio.MemoryInputStream.new_from_data ("string") causes segfault [#221,
!278, Philip Chimento]
* Fix gjs_context_eval() for non-zero-terminated strings [!281, Philip
Chimento]
Version 1.56.0
--------------
- No change from 1.55.92.
Version 1.55.92
---------------
- Closed bugs and merge requests:
* Fix CI failures [!269, Philip Chimento]
* Possible memory allocation/deallocation bug (possibly in js_free() in GJS)
[!270, Chun-wei Fan, Philip Chimento]
* cairo-context: Special-case 0-sized vector [!271, Florian Müllner]
* Add some more eslint rules [!272, Florian Müllner]
* win32/NMake: Fix introspection builds [!274, Chun-wei Fan]
* NMake/libgjs-private: Export all the public symbols there [!275, Chun-wei
Fan]
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 [#223, !266, Philip
Chimento]
* Various maintenance [!267, Philip Chimento]
* wrapperutils: Define $gtype property as non-enumerable [!268, Philip
Chimento]
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()
[#204, !263, Philip Chimento]
* Add regression tests for GObject vfuncs [!259, Jason Hicks]
* GjsPrivate: Sources should be C files [!262, Philip Chimento]
* build: Vendor last-good version of AX_CODE_COVERAGE [!264, Philip Chimento]
Version 1.55.4
--------------
- Closed bugs and merge requests:
* Various maintenance [!258, Philip Chimento]
* Boxed copy constructor should not be called, split Boxed into prototype and
instance structs [#215, !260, Philip Chimento]
Version 1.55.3
--------------
- Closed bugs and merge requests:
* Manually constructed ByteArray toString segfaults [#219, !254, Philip
Chimento]
* signals: Add _signalHandlerIsConnected method [!255, Jason Hicks]
* Various maintenance [!257, Philip Chimento]
Version 1.52.5
--------------
- This was a release consisting only of backports from the GNOME 3.30 branch to
the GNOME 3.28 branch.
- This release includes the "Big Hammer" patch from GNOME 3.30 to reduce memory
usage. For more information, read the blog post at
https://feaneron.com/2018/04/20/the-infamous-gnome-shell-memory-leak/
It was not originally intended to be backported to GNOME 3.28, but in practice
several Linux distributions already backported it, and it has been working
well to reduce memory usage, and the bugs have been ironed out of it.
It does decrease performance somewhat, so if you don't want that then don't
install this update.
- Closed bugs and merge requests:
* Ensure not to miss the force_gc flag [#150, !132, Carlos Garnacho]
* Make GC much more aggressive [#62, !50, Giovanni Campagna, Georges Basile
Stavracas Neto, Philip Chimento]
* Queue GC when a GObject reference is toggled down [#140, !114, !127, Georges
Basile Stavracas Neto]
* Reduce memory overhead of g_object_weak_ref() [#144, !122, Carlos Garnacho,
Philip Chimento]
* context: Defer and therefore batch forced GC runs [performance] [!236,
Daniel van Vugt]
* context: use timeout with seconds to schedule a gc trigger [!239, Marco
Trevisan]
* Use compacting GC on RSS size growth [!133, #151, Carlos Garnacho]
* GType memleak fixes [!244, Marco Trevisan]
Version 1.55.2
--------------
- Closed bugs and merge requests:
* Gnome-shell crashes on destroying cached param specs [#213, !240, Marco
Trevisan]
* Various maintenance [!235, !250, Philip Chimento]
* Auto pointers builder [!243, Marco Trevisan]
* configure.ac: Update bug link [!245, Andrea Azzarone]
* SIGSEGV when exiting gnome-shell [#212, !247, Andrea Azzarone, Philip
Chimento]
* Fix build with --enable-dtrace and create CI job to ensure it doesn't break
in the future [#196, !237, !253, Philip Chimento]
* Delay JSString-to-UTF8 conversion [!249, Philip Chimento]
* Annotate return values [!251, Philip Chimento]
* Fix a regression with GError toString() [!252, Philip Chimento]
* GType memleak fixes [!244, Marco Trevisan]
* Atoms refactor [!233, Philip Chimento, Marco Trevisan]
* Write a "Code Hospitable" README file [#17, !248, Philip Chimento, Andy
Holmes, Avi Zajac]
* object: Method lookup repeatedly traverses introspection [#54, !53, Colin
Walters, Philip Chimento]
* Handler of GtkEditable::insert-text signal is not run [#147, !143, Tomasz
Miąsko, Philip Chimento]
Version 1.54.3
--------------
- Closed bugs and merge requests:
* object: Fix write-only properties [!246, Philip Chimento]
* SIGSEGV when exiting gnome-shell [#212, !247, Andrea Azzarone]
* SelectionData.get_targets crashes with "Unable to resize vector" [#201,
!241, Philip Chimento]
* Gnome-shell crashes on destroying cached param specs [#213, !240, Marco
Trevisan]
* GType memleak fixes [!244, Marco Trevisan]
* Fix build with --enable-dtrace and create CI job to ensure it doesn't break
in the future [#196, !253, Philip Chimento]
Version 1.54.2
--------------
- Closed bugs and merge requests:
* context: Defer and therefore batch forced GC runs [performance] [!236,
Daniel van Vugt]
* context: use timeout with seconds to schedule a gc trigger [!239, Marco
Trevisan]
* fundamental: Check if gtype is valid before using it [!242, Georges Basile
Stavracas Neto]
- Backported a fix for a crash in the interactive interpreter when executing
something like `throw "foo"` [Philip Chimento]
- Backported various maintenance from 3.31 [Philip Chimento]
Version 1.55.1
--------------
- New API for programs that embed GJS: gjs_memory_report(). This was already an
internal API, but now it is exported.
- Closed bugs and merge requests:
* object: Implement newEnumerate hook for GObject [!155, Ole Jørgen Brønner]
* Various maintenance [!228, Philip Chimento]
* ByteArray.toString should stop at null bytes [#195, !232, Philip Chimento]
* Byte arrays that represent encoded strings should be 0-terminated [#203,
!232, Philip Chimento]
* context: Defer and therefore batch forced GC runs [performance] [!236,
Daniel van Vugt]
* context: use timeout with seconds to schedule a gc trigger [!239, Marco
Trevisan]
* arg: Add special-case for byte arrays going to C [#67, !49, Jasper
St. Pierre, Philip Chimento]
Version 1.52.4
--------------
- This was a release consisting only of backports from the GNOME 3.30 branch to
the GNOME 3.28 branch.
- Closed bugs and merge requests:
* `ARGV` encoding issues [#22, !108, Evan Welsh]
* Segfault on enumeration of GjSFileImporter properties when a searchpath
entry contains a symlink [#154, !144, Ole Jørgen Brønner]
* Possible refcounting bug around GtkListbox signal handlers [#24, !154,
Philip Chimento]
* Fix up GJS_DISABLE_JIT flag now the JIT is enabled by default in
SpiderMonkey [!159, Christopher Wheeldon]
* Expose GObject static property symbols. [!197, Evan Welsh]
* Do not run linters on tagged commits [!181, Claudio André]
* gjs-1.52.0 fails to compile against x86_64 musl systems [#132, !214, Philip
Chimento]
* gjs no longer builds after recent autoconf-archive updates [#149, !217,
Philip Chimento]
Version 1.54.1
--------------
- Closed bugs and merge requests:
* legacy: Ensure generated GType names are valid [!229, Florian Müllner]
* Fix GJS profiler with MozJS 60 [!230, Georges Basile Stavracas Neto]
* Regression with DBus proxies [#202, !231, Philip Chimento]
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.
- Closed bugs and merge requests:
* byteArray: Add compatibility toString property [Philip Chimento, !227]
Version 1.53.92
---------------
- Technology preview of a GNOME 3.32 feature: native Promises for GIO-style
asynchronous operations. This is the result of Avi Zajac's summer internship.
To use it, you can opt in once for each specific asynchronous method, by
including code such as the following:
Gio._promisify(Gio.InputStream.prototype, 'read_bytes_async',
'read_bytes_finish');
After executing this, you will be able to use native Promises with the
Gio.InputStream.prototype.read_async() method, simply by not passing a
callback to it:
try {
let bytes = await stream.read_bytes_async(count, priority, cancel);
} catch (e) {
logError(e, 'Failed to read bytes');
}
Note that any "success" boolean return values are deleted from the array of
return values from the async method. That is,
let [contents, etag] = file.load_contents_async(cancel);
whereas the callback version still returns a useless [ok, contents, etag]
that can never be false, since on false an exception would be thrown. In the
callback version, we must keep this for compatibility reasons.
Note that due to a bug in GJS (https://gitlab.gnome.org/GNOME/gjs/issues/189),
promisifying methods on Gio.File.prototype and other interface prototypes will
not work. We provide the API Gio._LocalFilePrototype on which you can
promisify methods that will work on Gio.File instances on the local disk only:
Gio._promisify(Gio._LocalFilePrototype, 'load_contents_async',
'load_contents_finish');
We estimate this will cover many common use cases.
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 [!225, Avi Zajac]
* Temporary fix for Gio.File.prototype [!226, Avi Zajac]
Version 1.53.91
---------------
- Closed bugs and merge requests:
* CI: add webkit and gtk-app tests [!222, Claudio André]
* Fix example eslint errors [!207, Claudio André, Philip Chimento]
* Fix more "lost" GInterface properties [!223, Florian Müllner]
* Fix --enable-installed-tests when built from a tarball [!224, Simon
McVittie]
Version 1.53.90
---------------
- GJS now depends on SpiderMonkey 60 and requires a compiler capable of C++14.
- GJS includes a simple debugger now. It has basic stepping, breaking, and
printing commands, that work like GDB. Activate it by running the GJS console
interpreter with the -d or --debugger flag before the name of the JS program
on the command line.
- New API for programs that embed GJS: gjs_context_setup_debugger_console().
To integrate the debugger into programs that embed the GJS interpreter, call
this before executing the JS program.
- New JavaScript features! This version of GJS is based on SpiderMonkey 60, an
upgrade from the previous ESR (Extended Support Release) of SpiderMonkey 52.
Here are the highlights of the new JavaScript features.
For more information, look them up on MDN or devdocs.io.
* New syntax
+ `for await (... of ...)` syntax is used for async iteration.
+ The rest operator is now supported in object destructuring: e.g.
`({a, b, ...cd} = {a: 1, b: 2, c: 3, d: 4});`
+ The spread operator is now supported in object literals: e.g.
`mergedObject = {...obj1, ...obj2};`
+ Generator methods can now be async, using the `async function*` syntax,
or `async* f() {...}` method shorthand.
+ It's now allowed to omit the variable binding from a catch statement, if
you don't need to access the thrown exception: `try {...} catch {}`
* New APIs
+ Promise.prototype.finally(), popular in many third-party Promise
libraries, is now available natively.
+ String.prototype.toLocaleLowerCase() and
String.prototype.toLocaleUpperCase() now take an optional locale or
array of locales.
+ Intl.PluralRules is now available.
+ Intl.NumberFormat.protoype.formatToParts() is now available.
+ Intl.Collator now has a caseFirst option.
+ Intl.DateTimeFormat now has an hourCycle option.
* New behaviour
+ There are a lot of minor behaviour changes as SpiderMonkey's JS
implementation conforms ever closer to ECMAScript standards. For complete
information, read the Firefox developer release notes:
https://developer.mozilla.org/en-US/Firefox/Releases/53#JavaScript
https://developer.mozilla.org/en-US/Firefox/Releases/54#JavaScript
https://developer.mozilla.org/en-US/Firefox/Releases/55#JavaScript
https://developer.mozilla.org/en-US/Firefox/Releases/56#JavaScript
https://developer.mozilla.org/en-US/Firefox/Releases/57#JavaScript
https://developer.mozilla.org/en-US/Firefox/Releases/58#JavaScript
https://developer.mozilla.org/en-US/Firefox/Releases/59#JavaScript
https://developer.mozilla.org/en-US/Firefox/Releases/60#JavaScript
* Backwards-incompatible changes
+ Conditional catch clauses have been removed, as they were a Mozilla
extension which will not be standardized. This requires some attention in
GJS programs, as previously we condoned code like `catch (e if
e.matches(Gio.IOError, Gio.IOError.EXISTS))` with a comment in
overrides/GLib.js, so it's likely this is used in several places.
+ The nonstandard `for each (... in ...)` loop was removed.
+ The nonstandard legacy lambda syntax (`function(x) x*x`) was removed.
+ The nonstandard Mozilla iteration protocol was removed, as well as
nonstandard Mozilla generators, including the Iterator and StopIteration
objects, and the Function.prototype.isGenerator() method.
+ Array comprehensions and generator comprehensions have been removed.
+ Several nonstandard methods were removed: ArrayBuffer.slice() (but not
the standard version, ArrayBuffer.prototype.slice()),
Date.prototype.toLocaleFormat(), Function.prototype.isGenerator(),
Object.prototype.watch(), and Object.prototype.unwatch().
- Many of the above backwards-incompatible changes can be caught by scanning
your source code using https://gitlab.gnome.org/ptomato/moz60tool, or
https://extensions.gnome.org/extension/1455/spidermonkey-60-migration-validator/
- Deprecation: the custom ByteArray is now discouraged. Instead of ByteArray,
use Javascript's native Uint8Array. The ByteArray module still contains
functions for converting between byte arrays, strings, and GLib.Bytes
instances.
The old ByteArray will continue to work as before, except that Uint8Array
will now be returned from introspected functions that previously returned a
ByteArray. To keep your old code working, change this:
let byteArray = functionThatReturnsByteArray();
to this:
let byteArray = new ByteArray.ByteArray(functionThatReturnsByteArray());
To port to the new code:
* ByteArray.ByteArray -> Uint8Array
* ByteArray.fromArray() -> Uint8Array.from()
* ByteArray.ByteArray.prototype.toString() -> ByteArray.toString()
* ByteArray.ByteArray.prototype.toGBytes() -> ByteArray.toGBytes()
* ByteArray.fromString(), ByteArray.fromGBytes() remain the same
* Unlike ByteArray, Uint8Array's length is fixed. Assigning an element past
the end of a ByteArray would lengthen the array. Now, it is ignored.
Instead use Uint8Array.of(), for example, this code:
let a = ByteArray.fromArray([97, 98, 99, 100]);
a[4] = 101;
should be replaced by this code:
let a = Uint8Array.from([97, 98, 99, 100]);
a = Uint8Array.of(...a, 101);
The length of the byte array must be set at creation time. This code will
not work anymore:
let a = new ByteArray.ByteArray();
a[0] = 255;
Instead, use "new Uint8Array(1)" to reserve the correct length.
- Closed bugs and merge requests:
* Run tests using real software [#178, !192, Claudio André]
* Script tests are missing some errors [#179, !192, Claudio André]
* Create a '--disable-readline' option and use it [!196, Claudio André]
* CI: stop using Fedora for clang builds [!198, Claudio André]
* Expose GObject static property symbols. [!197, Evan Welsh]
* CI fixes [!200, Claudio André]
* Docker images creation [!201, Claudio André]
* Get Docker images built and stored in GJS registry [#185, !203, !208,
Claudio André, Philip Chimento]
* Clear the static analysis image a bit more [!205, Claudio André]
* Rename the packaging job to flatpak [!210, Claudio André]
* Create SpiderMonkey 60 docker images [!202, Claudio André]
* Debugger [#110, !204, Philip Chimento]
* Add convenience g_object_set() replacement [!213, Florian Müllner]
* Add dependencies of the real tests (examples) [!215, Claudio André]
* CWE-126 [#174, !218, Philip Chimento]
* gjs no longer builds after recent autoconf-archive updates [#149, !217,
Philip Chimento]
* gjs-1.52.0 fails to compile against x86_64 musl systems [#132, !214, Philip
Chimento]
* Run the GTK real tests (recently added) [!212, Claudio André]
* Fix thorough tests failures [!220, Philip Chimento]
* Port to SpiderMonkey 60 [#161, !199, Philip Chimento]
* Replace ByteArray with native ES6 TypedArray [#5, !199, Philip Chimento]
* Overriding GInterface properties broke [#186, !216, Florian Müllner, Philip
Chimento]
* Avoid segfault when checking for GByteArray [!221, Florian Müllner]
- Various build fixes [Philip Chimento]
jperkin
pushed a commit
that referenced
this pull request
May 14, 2026
Changelog: ## [1.7.2](rime/librime@1.7.1...1.7.2) (2021-02-07) ### Bug Fixes * **chord_composer:** should clear raw input after committing text ([79b34ab](rime/librime@79b34ab)) ## [1.7.1](rime/librime@1.7.0...1.7.1) (2021-02-06) ### Bug Fixes * **chord_composer:** press Return key to commit raw key sequence ([2b25861](rime/librime@2b25861)) # [1.7.0](rime/librime@1.6.1...1.7.0) (2021-01-17) ### Bug Fixes * **chord_composer:** more safely handle the placeholder ZWSP ([025d9fb](rime/librime@025d9fb)) * **cmake:** use full paths defined by GNUInstallDirs ([bb8c263](rime/librime@bb8c263)), closes [#424](rime/librime#424) * **opencc:** update submodule to fix [#425](rime/librime#425) ([3fa1571](rime/librime@3fa1571)) * **script_translator:** always_show_comments also applies to phrases ([440a97c](rime/librime@440a97c)), closes [#272](rime/librime#272) [#419](rime/librime#419) * **table_translator:** index out of bound access in string ([ff7acdc](rime/librime@ff7acdc)) ### Features * **chareset_filter:** add CJK Compatibility Ideographs in is_extended_cjk() ([3cb1128](rime/librime@3cb1128)), closes [#305](rime/librime#305) * **setup:** find and load external RIME plugins as shared libs [#431](rime/librime#431) ([b2abd09](rime/librime@b2abd09)) ## [1.6.1](rime/librime@1.6.0...1.6.1) (2020-09-21) ### Bug Fixes * **rime_api.cc:** dangling pointer returned from RimeGetSharedDataDir ([78abaa8](rime/librime@78abaa8)) # [1.6.0](rime/librime@1.5.3...1.6.0) (2020-09-20) ### Bug Fixes * **ascii_composer:** do not comsume Shift key release ([debc2c0](rime/librime@debc2c0)) * **ascii_composer:** first read ascii_composer/good_old_caps_lock from schema config ([3fc56c4](rime/librime@3fc56c4)) * **chord_composer:** commit raw input with uppercase letters ([cc983d5](rime/librime@cc983d5)) * **CMakeLists.txt:** ensure paths in pkgconfig file are absolute ([0e96e51](rime/librime@0e96e51)) * **CMakeLists.txt:** would not use signals v1 due to a typo ([6662a28](rime/librime@6662a28)), closes [#225](rime/librime#225) * **custom_settings:** accept "*.schema" as config id ([604da0b](rime/librime@604da0b)) * **dict:** issues with user db recovery ([0f3d0df](rime/librime@0f3d0df)) * **dict_compiler:** build prism with loaded syllabary when not rebuilding primary table ([93fe827](rime/librime@93fe827)) * **plugins/CMakeLists.txt:** avoid rime_library linking to itself via rime_plugins_deps ([fe744db](rime/librime@fe744db)) * **rime_api.cc:** check struct has member of non-pointer type ([090dfa4](rime/librime@090dfa4)) * **rime_api.cc:** using unchecked fields introduced an ABI breakage ([62bbead](rime/librime@62bbead)), closes [/github.com/rime/librime/pull/328#pullrequestreview-335125464](https://github.com//github.com/rime/librime/pull/328/issues/pullrequestreview-335125464) * **rime_test:** set data directories to working directory using rime::SetupDeployer API ([7c08a90](rime/librime@7c08a90)) * **simplifier:** opencc::DictEntry::Values() type change in opencc 1.1.0 ([beae5b1](rime/librime@beae5b1)), closes [#367](rime/librime#367) * **user_db:** pointer cast error caused by multiple inheritance ([2ed780b](rime/librime@2ed780b)) * use official emoji 12.0 data ([#304](rime/librime#304)) ([75a60dc](rime/librime@75a60dc)) ### Features * **api:** implement capnproto api ([873f648](rime/librime@873f648)) * **api:** include candidate labels in proto message ([aae7a0c](rime/librime@aae7a0c)) * **charset_filter:** support charset options with emoji ([#293](rime/librime#293)) ([943c95b](rime/librime@943c95b)) * **charset_filter:** support CJK Unified Ideographs Extension G ([#393](rime/librime#393)) ([0a1573d](rime/librime@0a1573d)) * **chord_composer:** support chording with Shift keys ([94cf479](rime/librime@94cf479)) * **chord_composer:** use Control, Alt, Shift to input chord ([f3a2ad0](rime/librime@f3a2ad0)) * **dictionary:** packs extends the dictionary with extra binary table files ([930074c](rime/librime@930074c)) * **key_binder:** bind key to a key sequence ([3b5dbf6](rime/librime@3b5dbf6)), closes [#301](rime/librime#301) * **logging:** setup min log level, log dir and set file mode to log files ([90839b0](rime/librime@90839b0)) * **selector:** support 4 combinations of horizontal/vertical text orientation and stacked/linear candidate list layout ([c498f71](rime/librime@c498f71)) * **selector:** support vertical UI ([dbb35c6](rime/librime@dbb35c6)) * **switcher:** enable schema in cases where conditions are met ([217c72b](rime/librime@217c72b)) * **tools/rime_proto_console:** demo for proto api ([d88ef9f](rime/librime@d88ef9f)) ### Performance Improvements * **poet:** optimize for performance in making sentences (~40% faster) ([0853465](rime/librime@0853465)) ## [1.5.3](rime/librime@1.5.2...1.5.3) (2019-06-22) ### Bug Fixes * **cmake, xcode.mk:** find optional dependency icu, while building xcode/release-with-icu target [skip appveyor] ([17a80f8](rime/librime@17a80f8)) * **single_char_filter:** broken in librime 1.5.2 ([6948a62](rime/librime@6948a62)) ### Features * **appveyor:** build variant "rime-with-plugins" for tagged commits [skip travis] ([eef8c30](rime/librime@eef8c30)) * **travis-ci:** build variant "rime-with-plugins" for tagged commits [skip appveyor] ([cf11c27](rime/librime@cf11c27)) * **travis-ci:** deploy artifacts for macOS to GitHub releases [skip appveyor] ([3f03784](rime/librime@3f03784)) ## [1.5.2](rime/librime@1.5.1...1.5.2) (2019-06-17) ### Bug Fixes * **user_dictionary, contextual_translation:** fix user phrase quality; order contextual suggestions by type ([69d5c32](rime/librime@69d5c32)) ## [1.5.1](rime/librime@1.5.0...1.5.1) (2019-06-16) ### Bug Fixes * **user_dictionary:** make user phrases comparable in weight to system words ([982f69d](rime/librime@982f69d)) # [1.5.0](rime/librime@1.4.0...1.5.0) (2019-06-06) ### Bug Fixes * **ci:** update build script ([84a1a1b](rime/librime@84a1a1b)) * **ci:** use submodules in AppVeyor CI build script ([7b515b4](rime/librime@7b515b4)) * **cmake:** libboost Windows XP compatibility fix ([#270](rime/librime#270)) ([fecfe39](rime/librime@fecfe39)), closes [rime/weasel#337](rime/weasel#337) * **CMakeLists.txt:** install header files in all platforms ([821d563](rime/librime@821d563)) * **CMakeLists.txt:** set "-std=c++11" in CMAKE_CXX_FLAGS ([5d8a836](rime/librime@5d8a836)) * **config/plugins.h:** memory leak caused by non-virtual destructor ([316a659](rime/librime@316a659)), closes [#259](rime/librime#259) * **deploy:** treat schema dependencies as optional; do not report errors if missing ([ff3d5e9](rime/librime@ff3d5e9)) * **engine:** schema doesn't match the one used by switcher ([e41bb63](rime/librime@e41bb63)), closes [#269](rime/librime#269) * **rime_levers_api.h:** customize_bool() misused `bool` type ([42bacc5](rime/librime@42bacc5)) * **syllabifier:** enable_completion not working ([2714131](rime/librime@2714131)), closes [#343](rime/librime#343) * **table_translator:** null pointer exception when dict entries are filtered ([77438a9](rime/librime@77438a9)) * **test:** compile error in unit test ([7076d9e](rime/librime@7076d9e)) * **travis-install.sh:** working directory ([97220ce](rime/librime@97220ce)) ### Features * **appveyor:** install RIME_PLUGINS [skip travis] ([c7ce66f](rime/librime@c7ce66f)) * **CMakeList.txt:** add plugin build support ([#257](rime/librime#257)) ([dfa341b](rime/librime@dfa341b)) * **contextual_translation:** weight and re-order phrases by context ([2390da3](rime/librime@2390da3)) * **dict:** specify vocabulary db name in dict settings ([dcdc301](rime/librime@dcdc301)) * **grammar:** compare homophones/homographs in sentence ([9248a6b](rime/librime@9248a6b)) * **install-plugins.sh:** git-clone or update plugins ([70483b4](rime/librime@70483b4)) * **poet:** find best sentence candidates ([b3f4005](rime/librime@b3f4005)) * **rime_api:** get candidate list from index ([c587900](rime/librime@c587900)) * **translator:** contextual suggestions in partially selected sentence ([12a7501](rime/librime@12a7501)) * **translator:** look at preceding text when making sentence ([6ae34de](rime/librime@6ae34de)) * **travis-ci:** install plugins specified in envvar RIME_PLUGINS ([c857639](rime/librime@c857639)) ### Performance Improvements * **dictionary:** refactor DictEntryIterator and do partial sort ([0258c7f](rime/librime@0258c7f)) ### BREAKING CHANGES * **rime_levers_api.h:** in signature of C API function `customize_bool()`, change type `bool` to `Bool` (alias of `int`). Impact: the changed function is not in use by any first party code, known to be in use by osfans/trime. # [1.4.0](rime/librime@1.3.2...1.4.0) (2019-01-16) ### Bug Fixes * **config:** user_config should not fall back to shared data ([68c8a34](rime/librime@68c8a34)), closes [#271](rime/librime#271) * **SymlinkingPrebuiltDictionaries:** remove dangling symlinks ([5ad333d](rime/librime@5ad333d)), closes [#241](rime/librime#241) * **SymlinkingPrebuiltDictionaries:** remove dangling symlinks ([f8e4ebf](rime/librime@f8e4ebf)), closes [#241](rime/librime#241) ### Features * spelling correction ([#228](rime/librime#228)) ([ad3638a](rime/librime@ad3638a)) * **Dockerfile:** for build ([#246](rime/librime#246)) ([cafd0d5](rime/librime@cafd0d5)) ## [1.3.2](rime/librime@1.3.1...1.3.2) (2018-11-12) ### Bug Fixes * **CMakeLists.txt:** do not link binaries when building static library ([99573e3](rime/librime@99573e3)) * **CMakeLists.txt:** do not require boost::signals, which will be deprecated in Boost 1.69 ([8a9ef3b](rime/librime@8a9ef3b)), closes [#225](rime/librime#225) * **config_compiler:** ambiguous operator overload with cmake option ENABLE_LOGGING=OFF ([b86b647](rime/librime@b86b647)), closes [#211](rime/librime#211) * **config_compiler:** support creating list in-place by __patch and __merge ([0784eb0](rime/librime@0784eb0)) * **table_translator:** enable encoding uniquified commit history ([74e31bc](rime/librime@74e31bc)) ### Features * **language:** shared user dictionary per language (Closes [#184](rime/librime#184)) ([#214](rime/librime#214)) ([9f774e7](rime/librime@9f774e7)) * always_show_comments option ([#220](rime/librime#220)) ([19cea07](rime/librime@19cea07)) ## [1.3.1](rime/librime@1.3.0...1.3.1) (2018-04-01) ### Bug Fixes * **config_file_update:** clean up deprecated user copy ([#193](rime/librime#193)) ([8d8d2e6](rime/librime@8d8d2e6)) * **thirdparty/src/leveldb:** do not link to snappy library ([6f6056a](rime/librime@6f6056a)) # 1.3.0 (2018-03-09) ### Bug Fixes * **CMakeLists.txt, build.bat:** install header files (public API) ([06c9e86](rime/librime@06c9e86)) * **config_compiler:** "/" mistaken as path separator in merged map key ([#192](rime/librime#192)) ([831ffba](rime/librime@831ffba)), closes [#190](rime/librime#190) * **ConfigFileUpdate:** no need to create user build if shared build is up-to-date ([cafd5c4](rime/librime@cafd5c4)) * **SchemaUpdate:** read compiled schema from shared build if there is no user build ([45a04dd](rime/librime@45a04dd)) * **simplifier:** fix typo ([9e1114e](rime/librime@9e1114e)), closes [#183](rime/librime#183) * **user_db:** unwanted implicit instantiation of UserDbFormat template ([3cbc9cb](rime/librime@3cbc9cb)), closes [#188](rime/librime#188) ### Chores * **release tag:** deprecating tag name prefix 'rime-' in favor of semver 'X.Y.Z' ### BREAKING CHANGES * **release tag:** After 1.3.0 release, we'll no longer be creating tags in the format 'rime-X.Y.Z'. Downstream packagers please change automated scripts accordingly. ## 1.2.10 (2018-02-21) ### Bug Fixes * **config_compiler:** linking failure on blocking root node of a dependency resource ([ecf3397](rime/librime@ecf3397)) * table_translator not making sentence if table entry is hidden by charset filter. ([77eb12e](rime/librime@77eb12e)) * **appveyor.install.bat:** switch to a more stable download server for libboost ([bcc4d10](rime/librime@bcc4d10)) * **appveyor.yml:** archive header files ([c8b1e67](rime/librime@c8b1e67)) * **ascii_composer:** support key binding Shift+space in ascii mode ([7077389](rime/librime@7077389)) * **build.bat:** fix build errors with VS2015 build tools ([ec940c6](rime/librime@ec940c6)) * **calculus, recognizer:** memory leak due to unchecked regex error ([19ddc1e](rime/librime@19ddc1e)), closes [#171](rime/librime#171) * **chord_composer:** allow editor to define BackSpace key behavior ([7f41f65](rime/librime@7f41f65)) * **chord_composer:** letters with modifier keys should not be committed by a following enter key ([aab5eb8](rime/librime@aab5eb8)) * **ci:** call cmake under /usr/local with sudo by passing $PATH environment variable ([a0e6d2f](rime/librime@a0e6d2f)) * **cmake:** fix build break for mingw ([939893c](rime/librime@939893c)) * **config:** auto save modified config data; fixes [#144](rime/librime#144) ([2736f4b](rime/librime@2736f4b)) * **config:** treat "@" as map key rather than list index ([a1df9c5](rime/librime@a1df9c5)) * **config_compiler:** duplicate PendingChild dependencies happen from multiple commands on the same node ([25c28f8](rime/librime@25c28f8)) * **config_compiler:** enforce dependency priorities ([69a6f3e](rime/librime@69a6f3e)) * **config_compiler:** null value should not overwrite a normal key in a merged tree ([4ecae44](rime/librime@4ecae44)) * **config_compiler:** template operator overload had compile error with NDK ([71817a0](rime/librime@71817a0)) * **config/build_info_plugin:** referenced but unavailable resources should also be recorded ([cd46f7a](rime/librime@cd46f7a)) * **ConfigFileUpdate:** should succeed if shared copy does not exist ([8a3e25c](rime/librime@8a3e25c)) * **custom_settings:** fall back to $shared_data_dir/build when loading config ([caf8ebb](rime/librime@caf8ebb)) * **custom_settings:** load built settings from $user_data_dir/build directory ([463dc09](rime/librime@463dc09)) * **deployment_tasks:** symbols.yaml is no longer a build target ([f920e4f](rime/librime@f920e4f)) * **dict_compiler:** prism should load compiled schema ([c2fd0cf](rime/librime@c2fd0cf)), closes [#176](rime/librime#176) * **key_event:** KeySequence::repr() prefer unescaped punctuation characters ([aa43e5e](rime/librime@aa43e5e)) * **levers:** update deployment tasks for copy-free resource resolution ([1f86413](rime/librime@1f86413)) * **Makefile:** make install-debug; do return error code on mac ([1177142](rime/librime@1177142)) * **rime_api:** use user_config_open() to access user.yaml ([4e4a491](rime/librime@4e4a491)) * **rime_console:** not showing switcher's context ([632cf4b](rime/librime@632cf4b)) * **schema:** create a "schema" component that opens Config by schema_id ([555f990](rime/librime@555f990)) * **simplifier:** fix crash if no opencc file ([091cb9d](rime/librime@091cb9d)) * **simplifier:** tips option for show_in_comment simplifier ([e7bb757](rime/librime@e7bb757)) * **uniquifier:** half of the duplicate candidates remain after dedup [Closes [#114](rime/librime#114)] ([2ab76bc](rime/librime@2ab76bc)) ### Features * **build.bat:** customize build settings via environment variables ([#178](rime/librime#178)) ([1678b75](rime/librime@1678b75)) * **chord_composer:** accept escaped chording keys ([79a32b2](rime/librime@79a32b2)) * **chord_composer:** support chording with function keys ([48424d3](rime/librime@48424d3)) * **config:** add config compiler plugin that includes default:/menu into schema ([b51dda8](rime/librime@b51dda8)) * **config:** best effort resolution for circurlar dependencies ([2e52d54](rime/librime@2e52d54)) * **config:** build config files if source files changed ([0d79712](rime/librime@0d79712)) * **config:** config compiler plugins that port legacy features to the new YAML syntax ([a7d253e](rime/librime@a7d253e)) * **config:** config_builder saves output to $rime_user_dir/build/ ([e596155](rime/librime@e596155)) * **config:** references to optional config resources, ending with "?" ([14ec858](rime/librime@14ec858)) * **config:** save __build_info in compiled config ([45a7337](rime/librime@45a7337)) * **config:** separate out config_builder and user_config components ([9e9493b](rime/librime@9e9493b)) * **config:** support append and merge syntax ([04dcf42](rime/librime@04dcf42)) * **customizer:** disable saving patched config files ([88f5a0c](rime/librime@88f5a0c)) * **detect_modifications:** quick test based on last write time of files ([285fbcc](rime/librime@285fbcc)) * **dict:** no conditional compilation on arm ([85b945f](rime/librime@85b945f)) * **dict:** relocate binary files to $user_data_dir/build ([bc66a47](rime/librime@bc66a47)) * **dict:** use resource resolver to find dictionary files ([8ea08b3](rime/librime@8ea08b3)) * add property notifier ([fa7b5a5](rime/librime@fa7b5a5)) * **resource_resolver:** add class and unit test ([03ee8b4](rime/librime@03ee8b4)) * **resource_resolver:** fallback root path ([02151da](rime/librime@02151da)) * **translator:** add history_translator ([#115](rime/librime#115)) ([ae13354](rime/librime@ae13354)) ## 1.2.9 (2014-12-14) * **rime_api.h:** add `RIME_MODULE_LIST`, `RIME_REGISTER_MODULE_GROUP`. * **Makefile:** add make targets `thirdparty/*` to build individual libraries. * **legacy/src/legacy_module.cc:** plugin module `rime-legacy` for GPL code, providing component `legacy_userdb` for user dictionary upgrade. * **src/setup.cc:** define module groups `"default"` and `"deployer"`, to avoid naming a list of built-bin modules in `RimeTraits::modules`. * **test/table_test.cc:** fix random segment faults when run shuffled. * **thirdparty/src/leveldb:** new dependency LevelDB, replacing Kyoto Cabinet. * **dict/level_db:** userdb implementation based on LevelDB, replacing treeDb. * **dict/tree_db:** moved to `legacy/src/`. * **dict/user_db:** refactored and modularized to ease adding implementations. * **gear/cjk_minifier:** support CJK Extension E. * **gear/memory:** save cached phrases as soon as the next composition begins. * **gear/recognizer:** match space iff set `recognizer/use_space: true`. * **gear/simplifier:** catch and log OpenCC exceptions when loading. * **gear/single_char_filter:** bring single character candidates to the front. * **gear/simplifier:** adapt to OpenCC 1.0 API. * **thirdparty/src/opencc:** update OpenCC to v1.0.2 (incompatible with v0.4). * **lever/deployment_tasks:** update and rename task `user_dict_upgrade`. ## 1.2 (2014-07-15) * **rime_api:** add API functions to access complex structures in config; add API to get the raw input and cursor position, or to select a candidate. * **config:** support references to list elements in key paths. eg. `schema_list/@0/schema` is the id of the first schema in schema list. * **switcher:** enable folding IME options in the switcher menu. * **dict_compiler:** also detect changes in essay when updating a dictionary; support updating prism without the source file of the dictionary. * **preset_vocabulary:** load `essay.txt` instead of `essay.kct`. * **reverse_lookup_dictionary:** adopt a new file format with 50% space saving. * **table:** add support for a new binary format with 20% space saving; fix alignment on ARM. * **ascii_composer:** do not toggle IME states when long pressing `Shift` key; support discarding unfinished input when switching to ASCII mode. * **affix_segmentor:** fix issues with selecting a partial-match candidate. * **chord_composer:** commit raw input composed with original key strokes. * **cjk_minifier:** a filter to hide characters in CJK extension set, works with `script_translator`. * **navigator:** do not use `BackSpace` to revert selecting a candidate but to edit the input after moving the cursor left or right. * **punctuator:** support `ascii_punct` option for switching between Chinese and Western (ASCII) punctuations. * **speller:** auto-select candidates by pattern matching against the code; fix issues to cooperate with punctuator. * **CMakeLists.txt:** add options `ENABLE_LOGGING` and `BOOST_USE_CXX11`; introduce a new dependency: `libmarisa`. * **cmake/FindYamlCpp.cmake:** check the availability of the new (v0.5) API. * **sample:** the directory containing a sample plug-in module. * **tools/rime_patch.cc:** a command line tool to create patches. * **thirdparty:** include source code of third-party libraries to ease building librime on Windows and Mac. ## 1.1 (2013-12-26) * **new build dependency:** compiler with C++11 support. tested with GCC 4.8.2, Apple LLVM version 5.0, MSVC 12 (2013). * **encoder:** disable warnings for phrase encode failures in log output; limit the number of results in encoding a phrase with multiple solutions. * **punctuator:** fixed a bug in matching nested "pairs of 'symbols'". * **speller:** better support for auto-committing, allowing users of table based input schema to omit explicitly selecting candidates in many cases. * **schema_list_translator:** option for static schema list order. * **table_translator:** fixed the range of CJK-D in charset filter.
jperkin
pushed a commit
that referenced
this pull request
May 14, 2026
Packaging changes: - Some patches got upstreamed - Upstream now defaults to name=sc-im so it no longer needs to be set Changes, (reformatted) from the official changelog: New features: - New motions in edit mode: df cf F dF cF d0 d$ c0 c$ t T dt dT ct cT ^ g_ d^ dg_ c^ cg_ - Simple mouse support. Can handle selection of single cells and scroll. - Added markdown export. - Add custom colors with RGB definitions. - Add support for italic attribute to be appled to cells. - Added digraphs. - Added EXECUTE command. - Added --export_csv --export_tab --export_txt parameters. - New input_bar_bottom config variable. - New underline_grid config variable. - Added filename in status bar (filename_with_mode config variable). - Added option to truncate cells. - Added xlsx sheet parameter. - New @fact function. Other: - modified config and history file locations - renamed winch to sig_winch. - current fg and bg colors are kept if they are not specified in :cellcolor. - OpenBSD support (mostly wordexp() workaround) - Correct lua api function names in doc - always generate backup file when opening file - renamed scim to sc-im in Makefile - Document trigger return value convention Issues fixed: - fix bug when deleting an ent that for instance has a @sum()... it used to remove its vertex and THE ENTS LINKED to THEM! - fix error messages when using "scim --version" and color definitions are intented to be applied from .scimrc. - fix in waiting for valid command to complete after pressing ESC key. - fix in parse_str so a word with white space can be stored in dictionary value - fix when setting default_paste_from_clipboard_cmd - Don't clobber startup message w/ err opening file - Allow for lua scripts in local .sc directory #259 - Send informational messages to stderr rather than the output when used in non-interactive mode #263 - fixed cell_negative color #271 - fixed locked cells when saving #261 - fixed DEL key in insert mode #272 - fix when resizing column #266 - "Autobackup - case insensitive QER options when backup exists" - fixed segfault when fcopy'ing with no selection while on first column - Call write triggers on value clear - Use sc_info to report trigger exit code - fixed #277 - Grow table up to MAXROWS exactly - Remove redundant if clause (God only knows where that was). - fix in getVertex that prevented rebuild_graph to work properly. - fix annoying bug because of not resetting inputline_pos to 0 when confirming a command in COMMAND_MODE - fix in let and slet. existing vertexs should not be removed. - added "eval_visited" in vertex struct for not to collide with current "visited", since: EvalAll uses EvalBottomUp EvalBottomUp uses EvalJustOneVertex EvalJustOneVertex uses eval eval uses GraphAddEdge GraphAddEdge uses GraphIsReachable GraphIsReachable uses visited and EvalBottomUp also uses uses visited! - Also changed markAllVerticesNotVisited and All_vertexs_of_edges_visited functions. - Some other issues fixed: #228, #234, #239, #240, #244, #246, #260, #295, #308 - .. and many other fixes and improvements! Pending: The most significative issue is regarding circular references. This have to be deeply analyzed and with the collaboration of the community it would be hopefully fixed by v0.9.
jperkin
pushed a commit
that referenced
this pull request
May 14, 2026
## 1.6.0 - 2021-04-29
* This release includes several improvements to the CMake build. In
particular:
* C99 support is now properly enabled, fixing builds on older `gcc`
versions. Pull request by Jan Vcelak. GitHub #257.
* `CMAKE_SHARED_LIBRARY_PREFIX` and `CMAKE_STATIC_LIBRARY_PREFIX` are
no longer explicitly set and now use the default values for the platform.
Pull request by Jan Vcelak. GitHub #258.
* `target_include_directories` now works as expected. Pull request by Jan
Vcelak. GitHub #259.
* DLLs are now installed on Windows when `libmaxminddb` is built as a
shared library. Pull request by Jan Vcelak. GitHub #261.
* When built as a dynamic library on Windows, all symbols are now exported.
Pull request by Jan Vcelak. GitHub #262.
jperkin
pushed a commit
that referenced
this pull request
May 14, 2026
# version 0.7-1 * allow longer units grouping; #270 addressing #269 @bart1 * fix regression in `set_units` method for `mixed_units` to ensure that ordering is preserved; #272 addressing #271 # version 0.7-0 * add `load_units_xml` to enable database reloading as well as loading user-provided unit systems; #254 addressing #243, #244 * add `install_unit` and `remove_unit` for adding/removing custom user-defined symbols or names, with optional mapping to existing units; `install_symbolic_unit`, `remove_symbolic_unit`, `install_conversion_constant`, `install_conversion_offset` are deprecated; #261 addressing #89 * add `keep_units`, a helper to apply functions that do not preserve units; #255 addressing #252 * fix `as_units("")`, which is now equivalent to `unitless`; #199 * fix plot axes for `plot.formula` and `plot.data.frame`; #213 * fix arithmetic for powers above 1 and below -1; #264 * improve arithmetic of logarithms; #249 * export `ud_are_convertible`; #263 addressing #258 @cregouby * remove deprecations: `as.units`, `as_cf`, `make_unit`, `parse_unit`; #259 * remove deprecated pre-computed `ud_units` database; #259 # version 0.6-7 * port `isFALSE` to fix regression in old R versions; #230 addressing #229 * fix replacement operation for `units` objects; #233 addressing #232 * fix compatibility with dplyr 1.0; #247 addressing #239 # version 0.6-6 * prettier `str` print for units and mixed units; #228 addressing #227 * add compatibility with upcoming tibble v3.0.0; #225
jperkin
pushed a commit
that referenced
this pull request
May 14, 2026
Fix tests. 4.0.2 (2021-12-20) ================== Misc ---- - `#259 <https://github.com/aio-libs/async-timeout/issues/259>`_, `#274 <https://github.com/aio-libs/async-timeout/issues/274>`_
jperkin
pushed a commit
that referenced
this pull request
May 14, 2026
37.1 (2022-09-03) ----------------- * Allow HTML5 `nav` tag through cleaner (#259) 37.0 (2022-08-21) ----------------- * Remove command line example from docs (#197) * Multiple pyproject.toml fixes (#251) * Confirm handling multiple inline strong (#252) * Convert RST output to HTML5 (#253) * Add Typing to classifiers (#254) * Development tweaks - coverage reporting, actions updates (#255) * Add test confirming behavior with unknown lexers (#256) 36.0 (2022-08-06) ----------------- * Enable gitpod development (#238) * Allow rst admonitions to render (#242) * Add badges to README (#243) * Update codebase for modern Python (#244) * Fix table cell spans (#245) * Allow ``math`` directive in rst (#246) * Preserve ``lang`` attribute in ``pre`` (#247) 35.0 (2022-04-19) ----------------- * Add py.typed to the built wheel (#228) * Use isolated build for tox (#229) * Fix renderer ignore (#230) * Remove legacy check command and distutils (#233) * Emit a warning when no content is rendered (#231) * Drop support for Python 3.6 (#236) * Update html attribute order in tests (#235) 34.0 (2022-03-11) ----------------- * Add static types (#225) 33.0 (2022-03-05) ----------------- * Support cmarkgfm>=0.8.0 (#224) 33.0 (2022-02-05) ----------------- * Support cmarkgfm>=0.8.0 (#224) * Support Python 3.10 32.0 (2021-12-13) ----------------- * Allow start attribute in ordered lists (#216) * No limit rendering RST one column field names (#219) 31.0 (2021-12-09) ----------------- * Render disabled checkboxes from Markdown (#217) 30.0 (2021-09-30) ----------------- * support cmarkgfm>=0.6.0 (#209)
jperkin
pushed a commit
that referenced
this pull request
May 14, 2026
v1.6.0 (2022-10-02) It's been 9 months since the last release already! This is not a huge update feature-wise, but it still contains a few nice new improvements and a few bugfixes, contributed by 11 different people. The most important new feature is probably the option to override the cache directory through the config file. The TEALDEER_CACHE_DIR env variable is now deprecated. A note to packagers: Shell completions have been moved to the completion/ subdirectory! Packaging scripst might need to be updated. Changes: [added] Allow overriding cache directory through config (#276) [added] Add --no-auto-update CLI flag (#257) [added] Show note about auto-updates when cache is missing (#254) [added] Add support for android platform (#274) [added] Add custom pages to list output (#285) [fixed] Cache: Return error if HTTP client cannot be created (#247) [fixed] Handle cache download errors (#253) [fixed] Do not page output of tldr --update (#231) [fixed] Create macOS release builds with bundled root certificates (#272) [fixed] Clean up and fix shell completions (#262) [deprecated] The TEALDEER_CACHE_DIR env variable is now deprecated (#276) [removed] The --config-path command was removed, use --show-paths instead (#290) [removed] The -o/--os command was removed, use -p/--platform instead (#290) [removed] The -m/--markdown command was removed, use -r/--raw instead (#290) [chore] Move shell completion scripts to their own directory (#259) [chore] Update dependencies (#271, #287, #291) [chore] Use anyhow for error handling (#249) [chore] Switch to Rust 2021 edition (#284)
jperkin
pushed a commit
that referenced
this pull request
May 14, 2026
From https://wiki.davical.org/index.php?title=Release_Notes/1.1.11: === Bug Fixes === * Tasks show up in Free/Busy (#257) * php compatibility: Creating principal fails on 8.1 (#271) * PHP 8 deprecations: htmlspecialchars in always.php (#266) * PHP 8: "Exception [0] array_flip(): Argument #1 ($array) must be of type array, null given" at principal-edit.php (#260) * Exception in inc/iSchedule.php, Argument #1 must be of type Countable|array (#252) * Users with passwords containing a quotation mark cannot login (#259) * Create new users, impossible... (#250) * Wrong FreeBusy duration when the DTSTART of the event is the same as the DTEND (#247) * Remove deprecated get_magic_quotes* function call from setup.php (234) * "Login failure" when password contains HTML special characters (#229) === Other Changes === * Changes to Gitlab CI, unit and regression tests
jperkin
pushed a commit
that referenced
this pull request
May 14, 2026
2.1.0 (2023-02-17) * Use UnboundMethod#bind_call on Ruby 2.7+ for better performance (#380, jeremyevans) * Add Tilt::Template#freeze_string_literals? for freezing string literals in compiled templates (#301, jeremyevans) * Use Haml::Template for Tilt::HamlTemplate if available (Haml 6+) (#391, ntkme) * Deprecate BlueCloth, Less, and Sigil support (#382, jeremyevans) * Add Template#compiled_path accessor to save compiled template output to file (#369, jeremyevans) * Add Mapping#unregister to remove registered extensions (#376, jeremyevans) * Add Mapping#register_pipeline to register template pipelines (#259, jeremyevans) * Remove Tilt::Dummy (#364, jeremyevans) * Ensure Mapping#extensions_for returns unique values (#342, mojavelinux) * Remove opal support, since the the opal API changed (#374, jeremyevans) * Remove .livescript extension for LiveScript (#374, jeremyevans) * Set required_ruby_version in gemspec (#371, jeremyevans)
jperkin
pushed a commit
that referenced
this pull request
May 14, 2026
################################################################################ Changed in xts 0.13.1: o Ignore attribute order in `all.equal()`. Attribute order shouldn't matter. That can be checked with `identical()`. o Only call `tzone()` and `tclass()` once in `check.TZ()`. Calling these functions multiple times throws multiple warnings for xts objects created before the tclass and tzone were attached to the index instead of the xts object. (#306) o Add instructions to update old objects. Old xts objects do not have tclass and tzone attributes on the index. Add a function to update the object attributes and add a note to the warning to show how to use it. (#306) o Return 'POSIXct' if object has no 'tclass'. An empty string is not a valid 'tclass', so it can cause an error. o Add notes on `plot.xts()` nomenclature and structure. Also add ASCII art to illustrate definitions and layout. (#103) o Remove 'tis' support. The implementation was not even a bare minimum, and it's not clear it even worked correctly. (#398) o Register missing S3 methods and update signatures. With R-devel (83995-ish), `R CMD check` notes these S3 methods are not registered. It also notes that the signatures for `as.POSIXct.tis()` and `str.replot_xts()` do not match the respective generics. It also thinks `time.frequency()` is a S3 method because `time()` is a generic. The function isn't exported, so renaming won't break any external code. Thanks to Kurt Hornik for the report. (#398) o Format each column individually before printing. The top/bottom rows could have a different number of decimal places and there are often multiple variying spaces between columns. For example: close volume ma bsi 2022-01-03 09:31:00 476.470 803961.000 NA 54191.000 2022-01-03 09:32:00 476.700 179476.000 NA 53444.791 2022-01-03 09:33:00 476.540 197919.000 NA -16334.994 ... 2023-03-16 14:52:00 394.6000 46728.0000 392.8636 28319.4691 2023-03-16 14:53:00 394.6500 64648.0000 392.8755 15137.6857 2023-03-16 14:54:00 394.6500 69900.0000 392.8873 -1167.9368 There are 4 spaces between the index and the 'close' column, 2 between 'close' and 'volume', 4 between 'volume' and 'ma', and 2 between 'ma' and 'bsi'. There should be a consistent number of spaces between the columns. Most other classes of objects print with 1 space between the columns. The top rows have 3 decimals and the bottom rows have 4. These should also be the same. (#321) o Only convert printed index values to character. Converting the entire index to character is time-consuming for xts objects with many observations. It can take more than a second to print an xts object with 1mm observations. o Make column names based on number of columns. The original code was a lot more complicated because it tried to account for truncating the number of printed columns. That functionality was removed because of how complicated it was. So now we can simply create printed column names from the number of columns. (#395) o Fix `xts()` for zero-row data.frame. The `xts()` constructor would create an object with a list for coredata when 'x' is a data.frame with no rows. It needs to convert 'x' to a matrix and throw an error if 'x' is a list. (#394) o Reduce instances when `dplyr::lag()` warning is shown. The warning was shown whenever it detected dplyr is installed, even if the user wasn't actively using dplyr. That caused an excessive amount of noise when other packages attached xts (e.g. quantmod). Thanks to Duncan Murdoch for the report and suggested fix! (#393) o Keep colname when only one non-time-based column. The subset `x[, -which.col]` would return a vector when the data frame has a time-based column and only one additional column. Do not drop dimensions, so 'x' will still be a data.frame in this case. (#391) o Treat NA the same as NULL for start or end values. NULL represents an undefined index value. NA represents an unknown or missing index value. xts does not allow NA as index values. Subsetting an xts or zoo object by NA returns a zero-length object. So a NA (unknown) index value is essentially the same as an undefined index value. (#383, #345) o Warn and remove NA when `periodicity()` called on date-time with NA. Otherwise the uninformative error below will be thrown. (#289) Error in try.xts(x, error = "'x' needs to be timeBased or xtsible") : 'x' needs to be timeBased or xtsible o Account for TZ when making names for `split.xts()`. `as.yearmon.POSIXct()` always sets `tz = "GMT"` when calling `as.POSIXlt()`, regardless of the xts' index tzone. That can cause the `as.yearmon()` results to be different days for GMT and the index's timezone. Use `format.POSIXct()` for "months" because it checks for a 'tzone' attribute before converting to POSIXlt and calling `format.POSIXlt()`. The conversion to POSIXlt is important because it checks and uses the 'tzone' attribute before considering the 'tz' argument. So it effectively ignores the `tz = "GMT"` setting in `as.yearmon()`. This is also the reason for calling `as.POSIXlt()` before calling `as.yearqtr()`. (#392) ################################################################################ Changed in xts 0.13.0: ### New Features o Added a xts method for `na.fill()` to significantly increase performance when 'fill' is a scalar. (#259) o `as.xts()` will look for a time-based column in a data.frame if it cannot create an index from the row names. (#381) o Change `print()` xts method to only show the first and last 'show.rows' rows if number of rows is > 'max.rows'. (#321) o Made `str()` output more descriptive for xts objects. It now differentiates between xts objects that are empty, zero-width, or zero-length, and defines each type of object. It also adds column names to the output. (#168, #378) o Add startup warning that `dplyr::lag()` breaks method dispatch, which means calls to `lag(my_xts)` won't work any more. o Added open-ended time of day subsetting ranges. This allows users to subset by time of day from the start/end of the day without providing the start/end times (00:00:00.000/23:59:59.999). For example: x["/T1800"] # between the start of the day and 5pm x["T0500/"] # between 5am and the end of the day Thanks to Chris Katsulis for the suggestion! (#243) o Updated `to.period()` to accept custom 'endpoints' via the 'period' argument. Now you can aggregate on something other than the times that 'endpoints()' supports. Thanks to Ethan B. Smith for the suggestion! (#302) ### Fixes o Fixed typo and expand `period.apply()` documentation. (#205) The original description has: * "the data from INDEX[k] to INDEX[k+1]" But that's not consistent with the code. It should be: * "the data from INDEX[k]+1 to INDEX[k+1]" o Calls to `merge.xts()` on zero-width objects now match `merge.zoo()`. Previously, `merge.xts()` would return empty xts objects if called on two or more zero-width xts objects. `merge.zoo()` would return a zero-width object with the correct index. (#227, #379) o Fixed `Ops.xts()` so it always returned an object with the same class as the first (left-hand side) argument. It previously returned an xts object even if the first argument was a subclass of xts. (#49) ### Other o Migrated unit tests from RUnit to tinytest. Thanks Mark van der Loo! o Updated the `endpoints()` documentation to make it clearer that the result is based on the UNIX epoch (midnight 1970, UTC). Thanks to GitHub user Eluvias for the suggestion! (#299) o Fixed `reclass()` to ensure it always adds index attributes from the 'match.to' argument. It was not copying `tclass`, `tzone`, or `tformat` from 'match.to' to the result object. (#43) o Removed an unnecessary check in `na.locf()` (which is not user-facing). Thanks to GitHub user @cgiachalis for the suggestion! (#307) o Updated C entry points so they're not able to accidentally be found via dynamic lookup (i.e. `.Call("foo", ...)`). This makes each call to the C code a few microseconds faster, which is nice. (#260) o Made `merge.xts()` results consistent with `merge.zoo()` for zero-length xts objects with columns. The result of `merge.xts()` did not include the columns of any objects that had one or more columns, but zero rows. A join should include all the columns of the joined objects, regardless of the number of rows in the object. This is consistent with `merge.zoo()`. Thanks to Ethan B. Smith for the report and testing! (#222)
jperkin
pushed a commit
that referenced
this pull request
May 14, 2026
This is the biggest update ever, with 36 new features, 24 bug fixes,
and 3 performance improvements.
Thank you to every contributor for making Yazi better and better!
What's Changed
feat: add Mintty (Git Bash) image preview support by @sxyazi in #103
refactor: use Url instead of PathBuf by @sxyazi in #107
fix: mime of javascript by @XYenon in #106
perf: load large folders in chunks by @sxyazi in #117
fix: set cursor block after closing input prompt from insert mode
by @auvred in #109
fix: doesn't redirect the stderr of the clipboard command to null
by @sxyazi in #119
feat: suspend process (Ctrl-Z) by @sxyazi in #120
fix: notification of file changes in linked directories by @sxyazi in #121
feat: file size sorting under the simplified file system by @sxyazi in #123
fix: show_hidden not properly applied to hovered folder by @sxyazi in #124
fix: recognize symlink directories as files by @sxyazi in #125
fix: respect symlink paths without canonicalizing them by @sxyazi in #126
feat: make Input streamable by @sxyazi in #127
perf: doesn't wait for the process of killing by @sxyazi in #128
feat: find by @sxyazi in #104
feat: tab-specific sorting by @sxyazi in #131
feat: new V, D, C keybinding for Input component by @sxyazi in #139
fix: swap description for search commands by @knutwalker in #141
fix: image position calculation by @sxyazi in #144
feat: support for image preview within tmux by @sxyazi in #147
feat: show keywords when in search mode by @sxyazi in #152
feat: fallback to built-in highlighting if jq is not installed
by @ndtoan96 in #151
feat: make the glob expr case insensitive by default, and prepend \s to
make it sensitive by @sxyazi in #156
fix: check relative path on expand_path by @sxyazi in #165
feat: support for FreeBSD permission type by @yggdr in #169
feat: multiple openers for a single rule by @Linus789 in #154
fix: leave upwards only if an IO error occurs in current by @sxyazi in #172
docs: add archlinuxcn installation guide by @Integral-Tech in #176
fix: image preview not working on Zellij by @Eric-Song-Nop in #181
feat: make trash optional by @sxyazi in #178
fix: inconsistent Shift key behavior on Unix and Windows
by @ndtoan96 in #174
feat: new force option added for the remove command, which does not show
the confirmation dialog on trashing/deleting by @sxyazi in #173
fix: typo of LICENSE file by @conradojordan in #201
feat: add flake.nix by @XYenon in #205
feat: include ignored files on search when hidden files are shown
by @PhotonQuantum in #212
feat: new orphan option for opener rules, to keep the process running even
when Yazi exited by @sxyazi in #216
feat: scroll half/full page with arrow percentage supported, and new
Vi-like <C-u>, <C-d>, <C-b>, and <C-f> keybindings added by
@TD-Sky in #213
feat: highlight matching words on finding by @PhotonQuantum in #211
feat: add BackTab support by @sxyazi in #209
fix: set stdio to null when orphan is true by @sxyazi in #229
feat: new force option for creating and renaming by @sxyazi in #208
feat: loop through to find by @ndtoan96 in #234
feat: backward/forward by @ndtoan96 in #230
perf: reimplement optimized natural sorting algorithm, speed up ~6 times
for case-insensitive sorting by @sxyazi in #237
chore: changing the finding key to n/N to keep with Vim's conventions
by @sxyazi in #238
feat: added new options to the `find' command for smart-case/
case-insensitive finds by @ndtoan96 in #240
feat: add new --no-cwd-file option to quit command for flexible cwd-file
setting by @XOR-op in #245
fix: avoid adding non-regular paths to backstack by @ndtoan96 in #249
fix: support RGBA16 images by @sxyazi in #250
feat: support trash for NetBSD by @sxyazi in #251
feat: support environment variable in cd path by @ndtoan96 in #241
feat: new theme system by @sxyazi in #161
fix: cannot cd if there is whitespace in path by @ndtoan96 in #255
fix: add application/x-wine-extension-ini to text mime by @ndtoan96 in #259
fix: collect and fix all hard coded themes and color
by @Eric-Song-Nop in #221
fix: some colors not readable in light mode by @sxyazi in #264
feat: better file hover state by @sxyazi in #269
refactor: split commands into separate files by @sxyazi in #272
feat: cancel selected items automatically on entering, leaving, copying, or
cutting by @sxyazi in #273
feat: add a new Bar component, and make border styles customizable
by @sxyazi in #278
fix: adapt another $TERM value of foot-extra for foot by @sxyazi in #277
refactor: simplify building conditions by @sxyazi in #280
chore: add git rev to nix pkg version by @XYenon in #206
feat: new Manager component for better style extensions by @sxyazi in #284
feat: cross-system opener rule support by @sxyazi in #289
fix: delegate the SIGINT signal of processes with orphan=true to their
parent by @sxyazi in #290
feat: line mode by @sxyazi in #291
feat: shell completions & auto releasing by @TD-Sky in #282
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is a prerequisite of lttng-ust.
@jperkin, I was able to compile this version standalone on SmartOS x64 with automake and libtool. However, with
bmake, I am getting an-rpatherror:which I do not know how to resolve without patching sources (which should not be necessary as v0.12.1 builds standalone without hiccup). Perhaps, it is just my machine.