gitea: use gitea Makefile, fix builtin static files#263
Conversation
|
Thanks! I've committed this now with a few changes:
Otherwise a pretty good first attempt, thanks a lot for the update, I'm sure users will appreciate having a working UI ;-) |
Add a target to generate the frontend artefacts that are required at runtime, but do not build them by default as they require nodejs/npm which will download node modules during the build. Instead use a pre-built copy stored in LOCAL_PORTS. The web interface should now look correct. Use the supplied Makefile to simplify some of the targets. Remove unnecessary MAKE_DIRS (shadows an OWN_DIRS_PERMS), and fix permissions on some of the installed files. Based on TritonDataCenter#263 from GitHub user teutat3s.
|
Thanks a lot for the feedback and for improving my PR with your commit! What would be the commands needed for uploading the frontend bits to LOCAL_PORTS? How would I use CVS for finalizing a theoretically complete and fine PR? |
2.0.3 (2020-08-22) ~~~~~~~~~~~~~~~~~~ - Fix issues when building re2c as a CMake subproject (`#302 <https://github.com/skvadrik/re2c/pull/302>`_: - Final corrections in the SIMPA article "RE2C: A lexer generator based on lookahead-TDFA", https://doi.org/10.1016/j.simpa.2020.100027 2.0.2 (2020-08-08) ~~~~~~~~~~~~~~~~~~ - Enable re2go building by default. - Package CMake files into release tarball. 2.0.1 (2020-07-29) ~~~~~~~~~~~~~~~~~~ - Updated version for CMake build system (forgotten in release 2.0). - Added a short article about re2c for the Software Impacts journal. 2.0 (2020-07-20) ~~~~~~~~~~~~~~~~ - Added new code generation backend for Go and a new ``re2go`` program (`#272 <https://github.com/skvadrik/re2c/issues/272>`_: Go support). Added option ``--lang <c | go>``. - Added CMake build system as an alternative to Autotools (`#275 <https://github.com/skvadrik/re2c/pull/275>`_: Add a CMake build system (thanks to ligfx), `#244 <https://github.com/skvadrik/re2c/issues/244>`_: Switching to CMake). - Changes in generic API: + Removed primitives ``YYSTAGPD`` and ``YYMTAGPD``. + Added primitives ``YYSHIFT``, ``YYSHIFTSTAG``, ``YYSHIFTMTAG`` that allow to express fixed tags in terms of generic API. + Added configurations ``re2c:api:style`` and ``re2c:api:sigil``. + Added named placeholders in interpolated configuration strings. - Changes in reuse mode (``-r, --reuse`` option): + Do not reset API-related configurations in each `use:re2c` block (`#291 <https://github.com/skvadrik/re2c/issues/291>`_: Defines in rules block are not propagated to use blocks). + Use block-local options instead of last block options. + Do not accumulate options from rules/reuse blocks in whole-program options. + Generate non-overlapping YYFILL labels for reuse blocks. + Generate start label for each reuse block in storable state mode. - Changes in start-conditions mode (``-c, --start-conditions`` option): + Allow to use normal (non-conditional) blocks in `-c` mode (`#263 <https://github.com/skvadrik/re2c/issues/263>`_: allow mixing conditional and non-conditional blocks with -c, `#296 <https://github.com/skvadrik/re2c/issues/296>`_: Conditions required for all lexers when using '-c' option). + Generate condition switch in every re2c block (`#295 <https://github.com/skvadrik/re2c/issues/295>`_: Condition switch generated for only one lexer per file). - Changes in the generated labels: + Use ``yyeof`` label prefix instead of ``yyeofrule``. + Use ``yyfill`` label prefix instead of ``yyFillLabel``. + Decouple start label and initial label (affects label numbering). - Removed undocumented configuration ``re2c:flags:o``, ``re2c:flags:output``. - Changes in ``re2c:flags:t``, ``re2c:flags:type-header`` configuration: filename is now relative to the output file directory. - Added option ``--case-ranges`` and configuration ``re2c:flags:case-ranges``. - Extended fixed tags optimization for the case of fixed-counter repetition. - Fixed bugs related to EOF rule: + `#276 <https://github.com/skvadrik/re2c/issues/276>`_: Example 01_fill.re in docs is broken + `#280 <https://github.com/skvadrik/re2c/issues/280>`_: EOF rules with multiple blocks + `#284 <https://github.com/skvadrik/re2c/issues/284>`_: mismatched YYBACKUP and YYRESTORE (Add missing fallback states with EOF rule) - Fixed miscellaneous bugs: + `#286 <https://github.com/skvadrik/re2c/issues/286>`_: Incorrect submatch values with fixed-length trailing context. + `#297 <https://github.com/skvadrik/re2c/issues/297>`_: configure error on ubuntu 18.04 / cmake 3.10 - Changed bootstrap process (require explicit configuration flags and a path to re2c executable to regenerate the lexers). - Added internal options ``--posix-prectable <naive | complex>``. - Added debug option ``--dump-dfa-tree``. - Major revision of the paper "Efficient POSIX submatch extraction on NFA". ---- 1.3x ---- 1.3 (2019-12-14) ~~~~~~~~~~~~~~~~ - Added option: ``--stadfa``. - Added warning: ``-Wsentinel-in-midrule``. - Added generic API primitives: + ``YYSTAGPD`` + ``YYMTAGPD`` - Added configurations: + ``re2c:sentinel = 0;`` + ``re2c:define:YYSTAGPD = "YYSTAGPD";`` + ``re2c:define:YYMTAGPD = "YYMTAGPD";`` - Worked on reproducible builds (`#258 <https://github.com/skvadrik/re2c/pull/258>`_: Make the build reproducible). ---- 1.2x ---- 1.2.1 (2019-08-11) ~~~~~~~~~~~~~~~~~~ - Fixed bug `#253 <https://github.com/skvadrik/re2c/issues/253>`_: re2c should install unicode_categories.re somewhere. - Fixed bug `#254 <https://github.com/skvadrik/re2c/issues/254>`_: Turn off re2c:eof = 0. 1.2 (2019-08-02) ~~~~~~~~~~~~~~~~ - Added EOF rule ``$`` and configuration ``re2c:eof``. - Added ``/*!include:re2c ... */`` directive and ``-I`` option. - Added ``/*!header:re2c:on*/`` and ``/*!header:re2c:off*/`` directives. - Added ``--input-encoding <ascii | utf8>`` option. + `#237 <https://github.com/skvadrik/re2c/issues/237>`_: Handle non-ASCII encoded characters in regular expressions + `#250 <https://github.com/skvadrik/re2c/issues/250>`_ UTF8 enoding - Added include file with a list of definitions for Unicode character classes. + `#235 <https://github.com/skvadrik/re2c/issues/235>`_: Unicode character classes - Added ``--location-format <gnu | msvc>`` option. + `#195 <https://github.com/skvadrik/re2c/issues/195>`_: Please consider using Gnu format for error messages - Added ``--verbose`` option that prints "success" message if re2c exits without errors. - Added configurations for options: + ``-o --output`` (specify output file) + ``-t --type-header`` (specify header file) - Removed configurations for internal/debug options. - Extended ``-r`` option: allow to mix multiple ``/*!rules:re2c*/``, ``/*!use:re2c*/`` and ``/*!re2c*/`` blocks. + `#55 <https://github.com/skvadrik/re2c/issues/55>`_: allow standard re2c blocks in reuse mode - Fixed ``-F --flex-support`` option: parsing and operator precedence. + `#229 <https://github.com/skvadrik/re2c/issues/229>`_: re2c option -F (flex syntax) broken + `#242 <https://github.com/skvadrik/re2c/issues/242>`_: Operator precedence with --flex-syntax is broken - Changed difference operator ``/`` to apply before encoding expansion of operands. + `#236 <https://github.com/skvadrik/re2c/issues/236>`_: Support range difference with variable-length encodings - Changed output generation of output file to be atomic. + `#245 <https://github.com/skvadrik/re2c/issues/245>`_: re2c output is not atomic - Authored research paper "Efficient POSIX Submatch Extraction on NFA" together with Dr Angelo Borsotti. - Added experimental libre2c library (``--enable-libs`` configure option) with the following algorithms: + TDFA with leftmost-greedy disambiguation + TDFA with POSIX disambiguation (Okui-Suzuki algorithm) + TNFA with leftmost-greedy disambiguation + TNFA with POSIX disambiguation (Okui-Suzuki algorithm) + TNFA with lazy POSIX disambiguation (Okui-Suzuki algorithm) + TNFA with POSIX disambiguation (Kuklewicz algorithm) + TNFA with POSIX disambiguation (Cox algorithm) - Added debug subsystem (``--enable-debug`` configure option) and new debug options: + ``-dump-cfg`` (dump control flow graph of tag variables) + ``-dump-interf`` (dump interference table of tag variables) + ``-dump-closure-stats`` (dump epsilon-closure statistics) - Added internal options: + ``--posix-closure <gor1 | gtop>`` (switch between shortest-path algorithms used for the construction of POSIX closure) - Fixed a number of crashes found by American Fuzzy Lop fuzzer: + `#226 <https://github.com/skvadrik/re2c/issues/226>`_, `#227 <https://github.com/skvadrik/re2c/issues/227>`_, `#228 <https://github.com/skvadrik/re2c/issues/228>`_, `#231 <https://github.com/skvadrik/re2c/issues/231>`_, `#232 <https://github.com/skvadrik/re2c/issues/232>`_, `#233 <https://github.com/skvadrik/re2c/issues/233>`_, `#234 <https://github.com/skvadrik/re2c/issues/234>`_, `#238 <https://github.com/skvadrik/re2c/issues/238>`_ - Fixed handling of newlines: + correctly parse multi-character newlines CR LF in ``#line`` directives + consistently convert all newlines in the generated file to Unix-style LF - Changed default tarball format from .gz to .xz. + `#221 <https://github.com/skvadrik/re2c/issues/221>`_: big source tarball - Fixed a number of other bugs and resolved issues: + `#2 <https://github.com/skvadrik/re2c/issues/2>`_: abort + `#6 <https://github.com/skvadrik/re2c/issues/6>`_: segfault + `#10 <https://github.com/skvadrik/re2c/issues/10>`_: lessons/002_upn_calculator/calc_002 doesn't produce a useful example program + `#44 <https://github.com/skvadrik/re2c/issues/44>`_: Access violation when translating the attached file + `#49 <https://github.com/skvadrik/re2c/issues/49>`_: wildcard state \000 rules makes lexer behave weard + `#98 <https://github.com/skvadrik/re2c/issues/98>`_: Transparent handling of #line directives in input files + `#104 <https://github.com/skvadrik/re2c/issues/104>`_: Improve const-correctness + `#105 <https://github.com/skvadrik/re2c/issues/105>`_: Conversion of pointer parameters into references + `#114 <https://github.com/skvadrik/re2c/issues/114>`_: Possibility of fixing bug 2535084 + `#120 <https://github.com/skvadrik/re2c/issues/120>`_: condition consisting of default rule only is ignored + `#167 <https://github.com/skvadrik/re2c/issues/167>`_: Add word boundary support + `#168 <https://github.com/skvadrik/re2c/issues/168>`_: Wikipedia's article on re2c + `#180 <https://github.com/skvadrik/re2c/issues/180>`_: Comment syntax? + `#182 <https://github.com/skvadrik/re2c/issues/182>`_: yych being set by YYPEEK () and then not used + `#196 <https://github.com/skvadrik/re2c/issues/196>`_: Implicit type conversion warnings + `#198 <https://github.com/skvadrik/re2c/issues/198>`_: no match for ‘operator!=’ in ‘i != std::vector<_Tp, _Alloc>::rend() [with _Tp = re2c::bitmap_t, _Alloc = std::allocator<re2c::bitmap_t>]()’ + `#210 <https://github.com/skvadrik/re2c/issues/210>`_: How to build re2c in windows? + `#215 <https://github.com/skvadrik/re2c/issues/215>`_: A memory read overrun issue in s_to_n32_unsafe.cc + `#220 <https://github.com/skvadrik/re2c/issues/220>`_: src/dfa/dfa.h: simplify constructor to avoid g++-3.4 bug + `#223 <https://github.com/skvadrik/re2c/issues/223>`_: Fix typo + `#224 <https://github.com/skvadrik/re2c/issues/224>`_: src/dfa/closure_posix.cc: pack() tweaks + `#225 <https://github.com/skvadrik/re2c/issues/225>`_: Documentation link is broken in libre2c/README + `#230 <https://github.com/skvadrik/re2c/issues/230>`_: Changes for upcoming Travis' infra migration + `#239 <https://github.com/skvadrik/re2c/issues/239>`_: Push model example has wrong re2c invocation, breaks guide + `#241 <https://github.com/skvadrik/re2c/issues/241>`_: Guidance on how to use re2c for full-duplex command & response protocol + `#243 <https://github.com/skvadrik/re2c/issues/243>`_: A code generated for period (.) requires 4 bytes + `#246 <https://github.com/skvadrik/re2c/issues/246>`_: Please add a license to this repo + `#247 <https://github.com/skvadrik/re2c/issues/247>`_: Build failure on current Cygwin, probably caused by force-fed c++98 mode + `#248 <https://github.com/skvadrik/re2c/issues/248>`_: distcheck still looks for README + `#251 <https://github.com/skvadrik/re2c/issues/251>`_: Including what you use is find, but not without inclusion guards - Updated documentation and website.
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]
# processx 3.4.5 * New options in `pty_options` to set the initial size of the pseudo terminal. * Reading the standard output or error now does not crash occasionally when a `\n` character is at the beginning of the input buffer (#281). # processx 3.4.4 * processx now works correctly for non-ASCII commands and arguments passed in the native encoding, on Windows (#261, #262, #263, #264). * Providing multiple environment variables now works on windows (#267). # processx 3.4.3 * The supervisor (activated with `supervise = TRUE`) does not crash on the Windows Subsystem on Linux (WSL) now (#222). * Fix ABI compatibility for pre and post R 4.0.1 versions. Now CRAN builds (with R 4.0.2 and later 4.0.x) work well on R 4.0.0. * Now processx can run commands on UNC paths specified with forward slashes: `//hostname/...` UNC paths with the usual back-slashes were always fine (#249). * The `$as_ps_handle()` method works now better; previously it sometimes created an invalid `ps::ps_handle` object, if the system clock has changed (#258). # processx 3.4.2 * `run()` now does a better job with displaying the spinner on terminals that buffer the output (#223). * Error messages are now fully printed after an error. In non-interactive sessions, the stack trace is printed as well. * Further improved error messages. Errors from C code now include the name of the C function, and errors that belong to a process include the system command (#197). * processx does not crash now if the process receives a SIGPIPE signal when trying to write to a pipe, of which the other end has already exited. * processx now to works better with fork clusters from the parallel package. See 'Mixing processx and the parallel base R package' in the README file (#236). * processx now does no block SIGCHLD by default in the subprocess, blocking potentially causes zombie sub-subprocesses (#240). * The `process$wait()` method now does not leak file descriptors on Unix when interrupted (#141).
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.
This includes a rework of our patchery with the hope of upstreaming a good deal of it. These are the upstream changes since 0.3.10: Version 0.3.15 2-May-2021 common: - imported improvements and bugfixes from Reference-LAPACK 3.9.1 - imported LAPACKE interface fixes from Reference-LAPACK PRs 534 + 537 - fixed a problem in the cpu detection of 0.3.14 that prevented cross-compilation - fixed a sequence problem in the generation of softlinks to the library in GMAKE RISC V: - fixed compilation on RISCV (missing entry in getarch) - fixed a potential division by zero in CROTG and ZROTG POWER: - fixed LAPACK testsuite failures seen with the NVIDIA HPC compiler - improved CGEMM, DGEMM and ZGEMM performance on POWER10 - added an optimized ZGEMV kernel for POWER10 - fixed a potential division by zero in CROTG and ZROTG x86_64: - added support for Intel Control-flow Enforcement Technology (CET) - reverted the DOMATCOPY_RT code to the generic C version - fixed a bug in the AVX512 SGEMM kernel introduced in 0.3.14 - fixed misapplication of -msse flag to non-SSE cpus in DYNAMIC_ARCH - added support for compilation of the benchmarks on older OSX versions - fix propagation of the NO_AVX512 option in CMAKE builds - fix compilation of the AVX512 SGEMM kernel with clang-cl on Windows - fixed compilation of the CTESTs with INTERFACE64=1 (random faults on OSX) - corrected the Haswell DROT kernel to require AVX2/FMA3 rather than AVX512 ARM: - fixed a potential division by zero in CROTG and ZROTG - fixed a potential overflow in IMATCOPY/ZIMATCOPY and the CTESTs ARM64: - fixed spurious reads outside the array in the SGEMM tcopy macro - fixed a potential division by zero in CROTG and ZROTG - fixed a segmentation fault in DYNAMIC_ARCH builds (reappeared in 0.3.14) MIPS - fixed a potential division by zero in CROTG and ZROTG - fixed a potential overflow in IMATCOPY/ZIMATCOPY and the CTESTs MIPS64: - fixed a potential division by zero in CROTG and ZROTG SPARC: - fixed a potential division by zero in CROTG and ZROTG ==================================================================== Version 0.3.14 17-Mar-2021 common: * Fixed a race condition on thread shutdown in non-OpenMP builds * Fixed custom BUFFERSIZE option getting ignored in gmake builds * Fixed CMAKE compilation of the TRMM kernels for GENERIC platforms * Added CBLAS interfaces for CROTG, ZROTG, CSROT and ZDROT * Improved performance of OMATCOPY_RT across all platforms * Changed perl scripts to use env instead of a hardcoded /usr/bin/perl * Fixed potential misreading of the GCC compiler version in the build scripts * Fixed convergence problems in LAPACK complex GGEV/GGES (Reference-LAPACK #477) * Reduced the stacksize requirements for running the LAPACK testsuite (Reference-LAPACK #335) RISCV: * Fixed compilation on RISCV (missing entry in getarch) POWER: * Fixed compilation for DYNAMIC_ARCH with clang and with old gcc versions * Added support for compilation on FreeBSD/ppc64le * Added optimized POWER10 kernels for SSCAL, DSCAL, CSCAL, ZSCAL * Added optimized POWER10 kernels for SROT, DROT, CDOT, SASUM, DASUM * Improved SSWAP, DSWAP, CSWAP, ZSWAP performance on POWER10 * Improved SCOPY and CCOPY performance on POWER10 * Improved SGEMM and DGEMM performance on POWER10 * Added support for compilation with the NVIDIA HPC compiler x86_64: * Added an optimized bfloat16 GEMM kernel for Cooperlake * Added CPUID autodetection for Intel Rocket Lake and Tiger Lake cpus * Improved the performance of SASUM,DASUM,SROT,DROT on AMD Ryzen cpus * Added support for compilation with the NAG Fortran compiler * Fixed recognition of the AMD AOCC compiler * Fixed compilation for DYNAMIC_ARCH with clang on Windows * Added support for running the BLAS/CBLAS tests on Windows * Fixed signatures of the tls callback functions for Windows x64 * Fixed various issues with fma intrinsics support handling ARM: * Added support for embedded Cortex M targets via a new option EMBEDDED ARMV8: * Fixed the THUNDERX2T99 and NEOVERSEN1 DNRM2/ZNRM2 kernels for inputs with Inf * Added support for the DYNAMIC_LIST option * Added support for compilation with the NVIDIA HPC compiler * Added support for compiling with the NAG Fortran compiler ==================================================================== Version 0.3.13 12-Dec-2020 common: * Added a generic bfloat16 SBGEMV kernel * Fixed a potentially severe memory leak after fork in OpenMP builds that was introduced in 0.3.12 * Added detection of the Fujitsu Fortran compiler * Added detection of the (e)gfortran compiler on OpenBSD * Added support for overriding the default name of the library independently from symbol suffixing in the gmake builds (already supported in cmake) RISCV: * Added a RISC V port optimized for C910V POWER: * Added optimized POWER10 kernels for SAXPY, CAXPY, SDOT, DDOT and DGEMV_N * Improved DGEMM performance on POWER10 * Improved STRSM and DTRSM performance on POWER9 and POWER10 * Fixed segmemtation faults in DYNAMIC_ARCH builds * Fixed compilation with the PGI compiler x86: * Fixed compilation of kernels that require SSE2 intrinsics since 0.3.12 x86_64: * Added an optimized bfloat16 SBGEMV kernel for SkylakeX and Cooperlake * Improved the performance of SASUM and DASUM kernels through parallelization * Improved the performance of SROT and DROT kernels * Improved the performance of multithreaded xSYRK * Fixed OpenMP builds that use the LLVM Clang compiler together with GNU gfortran (where linking of both the LLVM libomp and GNU libgomp could lead to lockups or wrong results) * Fixed miscompilations by old gcc 4.6 * Fixed misdetection of AVX2 capability in some Sandybridge cpus * Fixed lockups in builds combining DYNAMIC_ARCH with TARGET=GENERIC on OpenBSD ARM64: * Fixed segmemtation faults in DYNAMIC_ARCH builds MIPS: * Improved kernels for Loongson 3R3 ("3A") and 3R4 ("3B") models, including MSA * Fixed bugs in the MSA kernels for CGEMM, CTRMM, CGEMV and ZGEMV * Added handling of zero increments in the MSA kernels for SSWAP and DSWAP * Added DYNAMIC_ARCH support for MIPS64 (currently Loongson3R3/3R4 only) SPARC: * Fixed building 32 and 64 bit SPARC kernels with the SolarisStudio compilers ==================================================================== Version 0.3.12 24-Oct-2020 common: * Fixed missing BLAS/LAPACK functions (inadvertently dropped during the build system restructuring) * Fixed argument conversion macro in LAPACKE_zgesvdq (LAPACK #458) POWER: * Added optimized SCOPY/CCOPY kernels for POWER10 * Increased and unified the default size of the GEMM BUFFER * Fixed building for POWER10 in DYNAMIC_ARCH mode * POWER10 compatibility test now checks binutils version as well * Cleaned up compiler warnings x86_64: * corrected compiler version checks for AVX2 compatibility * added compiler option -mavx2 for building with flang * fixed direct SGEMM pathway for small matrix sizes (broken by the code refactoring in 0.3.11) * fixed unhandled partial register clobbers in several kernels for AXPY,DOT,GEMV_N and GEMV_T flagged by gcc10 tree-vectorizer ARMV8: * improved Apple Vortex support to include cross-compiling ==================================================================== Version 0.3.11 17-Oct-2020 common: * API change: the newly added BFLOAT16 functions were renamed to use the letter "B" instead of "H" to avoid potential confusion with the IEEE "half precision float" type, i.e. the 0.3.10 SHGEMM is now SBGEMM and the corresponding build option was changed from "BUILD_HALF" to "BUILD_BFLOAT16". * Reduced the default BLAS3_MEM_ALLOC_THRESHOLD (used as an upper limit for placing temporary arrays on the stack) to be compatible with a stack size of 1mb (as imposed by the JAVA runtime library) * Added mixed-precision dot function SBDOT and utility functions shstobf16, shdtobf16, sbf16tos and dbf16tod to convert between single or double precision float arrays and bfloat16 arrays * Fixed prototypes of LAPACK_?ggsvp and LAPACK_?ggsvd functions in lapack.h * Fixed underflow and rounding errors in LAPACK SLANV2 and DLANV2 (causing miscalculations in e.g. SHSEQR/DHSEQR, LAPACK issue #263) * Fixed workspace calculation in LAPACK ?GELQ (LAPACK issue #415) * Fixed several bugs in the LAPACK testsuite * Improved performance of TRMM and TRSM for certain problem sizes * Fixed infinite recursions and workspace miscalculations in ReLAPACK * CMAKE builds no longer require pkg-config for creating the .pc file * Makefile builds no longer misread NO_CBLAS=0 or NO_LAPACK=0 as enabling these options * Fixed detection of gfortran when invoked through an mpi wrapper * Improve thread reinitialization performance with OpenMP after a fork * Added support for building only the subset of the library required for a particular precision by specifying BUILD_SINGLE, BUILD_DOUBLE * Optional function name prefixes and suffixes are now correctly reflected in the generated cblas.h * Added CMAKE build support for the LAPACK and multithreading tests POWER: * Added optimized support for POWER10 * Added support for compiling for POWER8 in 32bit mode * Added support for compilation with LLVM/clang * Added support for compilation with NVIDIA/PGI compilers * Fixed building on big-endian POWER8 * Fixed miscompilation of ZDOTC by gcc10 * Fixed alignment errors in the POWER8 SAXPY kernel * Improved CPU detection on AIX * Supported building with older compilers on POWER9 x86_64: * Added support for Intel Cooperlake * Added autodetection of AMD Renoir/Matisse/Zen3 cpus * Added autodetection of Intel Comet Lake cpus * Reimplemented ?sum, ?dot and daxpy using universal intrinsics * Reset the fpu state before using the fpu on Windows as a workaround for a problem introduced in Windows 10 build 19041 (a.k.a. SDK 2004) * Fixed potentially undefined behaviour in the dot and gemv_t kernels * Fixed a potential segmentation fault in DYNAMIC_ARCH builds * Fixed building for ZEN with PGI/NVIDIA and AMD AOCC compilers ARMV7: * Fixed cpu detection on BSD-like systems ARMV8: * Added preliminary support for Apple Vortex cpus * Added support for the Cavium ThunderX3T110 cpu * Fixed cpu detection on BSD-like systems * Fixed compilation in -std=C18 mode IBM Z: * Added support for compiling with the clang compiler * Improved GEMM performance on Z14
# 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
pkgsrc change: correct CATEGORIES. 1.8.14 (2021-06-09) Implemented enhancements: * (GH-225) Add support for custom insync #285 (michaeltlombardi) * Improve type validation error messages to show expected types #279 (timidri) * Support puppet device --resource ... --to_yaml invocation; drop puppet4 and jruby 1.7 testing #278 (timidri) Fixed bugs: * Git tag 1.8.13 exists, but missing on rubygems.org / in CHANGELOG.md #266 Closed issues: * CHANGELOG.md entries are missing for latest releases? #258 Merged pull requests: * Upgrade to GitHub-native Dependabot #287 (dependabot-preview[bot]) * (IAC-1455) - Removal of Inappropriate Terminology #283 (david22swan) * Update puppetlabs_spec_helper requirement from ~> 2.7 to ~> 3.0 #281 (dependabot-preview[bot]) * (maint) Update Puppet VS Code Extension ID #277 (jpogran) * (IAC-859) Add ruby 2.7 to test matrix #276 (DavidS) * (maint) Cleanup gemfile and fix codecov dependency #275 (DavidS) * Language correction #270 (epackorigan) * (maint) Update CHANGELOG #268 (DavidS) * (maint) update test matrix for current supported versions; remove older versions to cut down on resource usage #265 (DavidS) * (maint) Mock Hocon.load(...) #263 (IrimieBogdan) * Update rake requirement from ~> 10.0 to ~> 13.0 #262 (dependabot-preview[bot]) * (maint) update Gemfile to allow use of non-vulnerable rake version 12.3.3 #260 (DavidS)
Changes since v3.18: - Fixes a variable-font interpolation bug with Roman numeral eight. #382 - Fixes spacing of the latin epsilon glyph thanks to @hcsch. #377 - Adds new glyph U+25AA "blackSmallSquare" including calt mappings for case sensitivity. #373 - Removes U+20E3 "uni20E3" COMBINING ENCLOSING KEYCAP which triggers a bug in chromium, causing certain emoji to not render properly. #371 - Improvements to Roman numerals Changes since v3.17: - Adjusts vertical metrics metadata to that of v3.15 and older. This should fix any vertical alignment issues that might have occurred with v3.17. #361 - Fixes several issues with italics introduced by Glyphs 3 upgrade: - Fixes an issue with backslash in Italic masters. #362 - Fixes issues with afii10026 and uni0376 in italic masters - Fixes issue with italic q U+0071 by inlining the shape instead of using components. #360 - Fixes issue with U+035E COMBINING DOUBLE MACRON and U+20F0 COMBINING ASTERISK ABOVE in Thin Italic. #363 - Fixes positioning issue with U+0358 COMBINING DOT ABOVE RIGHT - Improvements to U+20DC COMBINING FOUR DOTS ABOVE and U+20DB COMBINING THREE DOTS ABOVE - Improvements to U+204E LOW ASTERISK - Improved positioning via mark anchors of combining glyphs U+20F0, U+035E and U+035F. #363 - Changes glyph shape of Latin upper-case iota. #359 - Improved glyph composition via ccmp for enclosed glyphs like U+0041,U+20DD. #335 Changes since v3.15: - Fixes issues with appearance in Microsoft Word. #352 (note that #156 is still unresolved although we have made some progress in v3.16 toward developing workarounds for certain printers.) - Fixes double grave interpolation issue. #317 - Fixes design issue with glyphs acutedblnosp, dblgravecmb, uni02F6 and uni02F5. #339 - Fixes missing or incorrect mark anchors in several turn* glyphs. #336 - Adds Baht currency glyph U+0E3F. #323 - Improvement to Latin iota (lower and upper case) glyphs. #340 - Improvement to some numerical fraction glyphs - Adds a dummy DSIG table to address issues with Microsoft Office 2003 and older - Improvements when using Inter with certain older Microsoft products by decomposing any nested components which some of that software has issues with - Addresses a major regression in v3.16 where several italic glyphs got messed up due to a Glyphs 3 version upgrade of the source file. This only affected users of v3.16 which was only released for about 12 hours before being replaced with this release v3.17. #360 Changes since v3.14: - Fixes an issue with the variable font, where some software would not list the various weights correctly. #308 - Fixes an issue with rendering on Windows with ClearType where some glyphs using advanced OpenType features (component transformations) would render incorrectly, with a slight vertical offset. #251 - Improvements to Elfdalian, improving the /yogonek and /eth glyphs #285 - Improvements to /eth U+00F0 glyph f7924a2#commitcomment-41610142 Changes since v3.13: - Fixes position of ring at bottom of /Aringbelow U+1E00. #266 - Fixes interpolation issues with /omegatitlocyrillic /omega and /pisymbolgreek. #272 - Fixes an issue with /dotmacroncomb.cn used by glyphs like /Adotmacron. #298 - Adds /bitcoin glyph U+20BF. #284 - Adds /insertionsymbol U+2380. #290 - Adds specialized glyphs /Aringogonek, /aringogonek, /Yogonek and /yogonek to fully support Elfdalian script. #285 - Adds U+EE01, a vertically-centered colon used by Android on the lock screen #212 - Improves kerning of /quotedblright,/quoteright and /period,/comma. #299 - Improves design of "Theta" U+03F4, U+0398 and "Fita" U+0472, U+0473. #263, #264 - Improves design of /yhook and use /ucyrillic in /Ukcyrillic /ukcyrillic. #273 - Improves design of /dzaltone and /dzcurl. #268 - Improves design of /percent, /perthousand and /pertenthousand glyphs. #237 - Improves variable-font metadata (STAT table). #265 - Improves (tunes) calt case substitutions, e.g. "x -X". #251 - Changes codepoint mapping of /q.sups from U+146B to private-area U+E163. #275 Changes since v3.12: - Improvements to Greek and Cyrillic glyphs #240 - New stylistic set ss04 which is almost identical to ss02 with the exception of no slashed zero #252 - Fixes interpolation issues with several diacritics in the light weights #257 - Removes codepoint mappings for some math-related enclosed glyphs that would be too large when using the circle-enclosed glyphs #250 - Various improvements and adjustments to glyph shapes, spacing and kerning - Improves OpenType feature name metadata Changes since v3.11: - This release includes major improvements Thin, Light and ExtraLight styles (including italic counterparts) incorporating months of work by @KatjaSchimmel
Change log: eom 1.24.2 * Translations update * eom-save-as-dialog-helper: Fix resource path * Ensure scrollbar moves when dragged to move image eom 1.24.1 * Translations update * help: Fix some incongruencies * build: silent build warnings for distcheck * eom.desktop: Do not collect the translation for Icon * help: Fix Image Collection shortcut (#263) * Use user page on github when user email is private * Update authors
# rio 0.5.27 * Documentation fixes for CRAN. # rio 0.5.26 * Added support for "zsav" format. (#273) # rio 0.5.25 * Modified tests per email request from CRAN. * Added `coerce_character` argument (default FALSE) to `factorize()` to enable coercing character columns to factor. (#278) # rio 0.5.24 * Fix handling of "label" and "labels" attributes when exporting using haven methods (SPSS, Stata, SAS). (#268, h/t Ruben Arslan) * Fix (a different bug?) handling factors by haven::labelled() (#271, Alex Bokov) * HTML import can now handle multiple tbody elements within a single table, a th element in a non-header row, and empty elements in either the header or data. (#260, #263, #264 Bill Denney) # rio 0.5.23 * CSVY support is now provided by `data.table::fread()` and `data.table::fwrite()`, providing significant performance gains. * Added an internal `arg_reconcile()` function to streamline the task of removing/renaming arguments for compatibility with various functions (#245, Alex Bokov) # rio 0.5.22 * Added an `export_list()` function to write a list of data frames to multiple files using a vector of file names or a file pattern. (#207, h/t Bill Denney) * Added an `is_file_text()` function to determine whether a file is in a plain-text format. Optionally narrower subsets of characters can be specified, e.g. ASCII. (#236 Alex Bokov) # rio 0.5.21 * Added support for Apache Arrow (Parquet) files. (#214) * Fix dropping of variable label in `characterize()` and `factorize()`. (#204, h/t David Armstrong) * `import_list()` now returns a `filename` attribute for each data frame in the list (when importing from multiple files), in order to distinguish files with the same base name but different extensions (e.g., `import_list(c("foo.csv", "foo.tsv"))`). (#208, h/t Vimal Rawat) * Import of DBF files now does not convert strings to factors. (#202, h/t @jllipatz) * Implemented `import()` method for .dump R files. (#240) # rio 0.5.20 * Additional pointers were added to indicate how to load .doc, .docx, and .pdf files (#210, h/t Bill Denney) * Ensure that tests only run if the corresponding package is installed. (h/t Bill Denney) * Escape ampersands for html and xml export (#234 Alex Bokov) # rio 0.5.19 * Fix behavior of `export()` to plain text files when `append = TRUE` (#201, h/t Juli�$BC!�(Bn Urbano) * `import_list()` now preserve names of Excel sheets, etc. when the 'which' argument is specified. (#162, h/t Danny Parsons) * Modify message and errors when working with unrecognized file formats. (#195, h/t Trevor Davis) * Add support for GraphPad Prism .pzfx files (#205, h/t Bill Denney) # rio 0.5.18 * Adjust `import()`/`export()` for JSON file formats to allow non-data frame objects. Behavior modeled after RDS format. (#199 h/t Nathan Day) # rio 0.5.17 * Fix `the condition has length > 1 and only the first element will be used` warning in `gather_attributes()`. (#196, h/t Ruben Arslan)
# pillar 1.6.2 ## Options - Options `pillar.print_max`, `pillar.print_min`, `pillar.width` and `pillar.max_extra_cols` are now queried before the corresponding `tibble.` or `dplyr.` options are consulted, the latter will be soft-deprecated in pillar v2.0.0 (#353). - New `pillar.bidi` option. When active, control characters are inserted to improve display of data with right-to-left text (#333). - The new `pillar.max_footer_lines` option (default: 7) allows controlling the maximum number of footer lines shown. It is applied in addition to the existing `tibble.max_extra_cols` option (#263). ## Formatting - If a column doesn't make use of all horizontal width offered to it, the excess width is distributed over other columns (#331). - Improved allocation of free space in multi-tier tables with `getOption("tibble.width") > getOption("width")` (#344). - All pillars are shown with their true horizontal extent, irrespective of the indicated `width`. This simplifies the implementation of custom `pillar_shaft()` methods (#347). ## Features - `num()` gains `extra_sigfig` argument to automatically show more significant figures for numbers of the same magnitude with subtle differences (#97). - `print.tbl()` and `format.tbl()` support the `max_extra_cols` and `max_footer_lines` arguments that override the corresponding options (#360). - `print.tbl()` and `format.tbl()` maps the now deprecated `n_extra` argument to `max_extra_cols` for consistency (#360). ## Bug fixes - Avoid mangling of duplicate column names in footer (#332). - Fix warning with zero of type `bit64::integer64()` (#319). ## Documentation - All package options are now documented in `?pillar_options` (#339). - `obj_sum()` no longer calls `type_sum()` for vectors since pillar v1.6.1, this is now documented (#321). - Fix documentation on usage of `vctrs::vec_proxy()` and `vctrs::vec_restore()` (#322). ## Internal - Using `attr(exact = TRUE)` everywhere. - `is_vector_s3()` is no longer generic (#181). - Fix internal logic around `vec_proxy()` and `vec_restore()` (#316).
1.1.0 (2021-07-31) Features * Use wrapped exception in Faraday::ParsingError to improve legibility of the error (#255, @d-m-u) Bugs fixed * Use JSON.generate instead of .dump in request middleware (#266, @Be-ngt-oH) Chores and misc * Add rubocop-package and drop git ls-files in gemspec (#263, @utkarsh2102)
Changes in version 0.12.3.1 * Bugfix for ghcjs and Double memset for Storable vector: #410 * Avoid haddock bug: #383 * Improve haddock and doctests * Disable problematic tests with -boundschecks #407 Changes in version 0.12.3.0 * Fix performance regression due to introduction of keepAlive# primop in ghc-9.0: #372 * Add monadic functions for mutable vectors: #338 * Added folds for monadic functions: mapM_, imapM_, forM_, iforM_, foldl, foldl', foldM, foldM', ifoldl, ifoldl', ifoldM, ifoldM' * Added modifyM and unsafeModifyM for mutable vectors * Added generate and generateM for mutable vectors Changes in version 0.12.2.0 * Add MINIMAL pragma to Vector & MVector type classes: #11 * Export unstreamM fromfrom Data.Vector.Generic: #70 * New functions: unfoldrExactN and unfoldrExactNM: #140 * Added iforM and iforM_: #262 * Added MonadFix instance for boxed vectors: #178 * Added uncons and unsnoc: #212 * Added foldMap and foldMap': #263 * Added isSameVector for storable vectors * Added toArray, fromArray, toMutableArray and fromMutableArray * Added iscanl, iscanl', iscanr, iscanr' to Primitive, Storable and Unboxed * Added izipWithM, izipWithM_, imapM and imapM_ to Primitive and Storable * Added ifoldM, ifoldM', ifoldM_ and ifoldM'_ to Primitive and Storable * Added eqBy and cmpBy * Added findIndexR to Generic: #172 * Added catMaybes: #329 * Added mapMaybeM and imapMaybeM: #183 Changes in version 0.12.1.2 * Fix for lost function Data.Vector.Generic.mkType: #287 Changes in version 0.12.1.1 (deprecated) * add semigrioups dep to test suite so CI actually runs again on GHC < 8 Changes in version 0.12.1.0 (deprecated) * Fix integer overflows in specializations of Bundle/Stream enumFromTo on Integral types * Fix possibility of OutOfMemory with take and very large arguments. * Fix slice function causing segfault and not checking the bounds properly. * updated specialization rule for EnumFromTo on Float and Double to make sure it always matches the version in GHC Base (which changed as of 8.6) Thanks to Aleksey Khudyakov @Shimuuar for this fix. * fast rejection short circuiting in eqBy operations * the O2 test suite now has reasonable memory usage on every GHC version, special thanks to Alexey Kuleshevich (@lehins). * The Mutable type family is now injective on GHC 8.0 or later. * Using empty Storable vectors no longer results in division-by-zero errors. * The Data instances for Vector types now have well defined implementations for toConstr, gunfold, and dataTypeOf. * New function: partitionWith. * Add Unbox instances for Identity, Const, Down, Dual, Sum, Product, Min, Max, First, Last, WrappedMonoid, Arg, Any, All, Alt, and Compose. * Add NFData1 instances for applicable Vector types.
## [2.2.1] - 2022-05-02 ### Fixed * A bug introduced with a previous fix to version parsing ([#263](pypa/pip-audit#263)) was fixed ([#264](pypa/pip-audit#264)) ## [2.2.0] - 2022-05-02 ### Added * CLI: The `--output` option has been added, allowing users to specify a file to write output to. The default behavior of writing to `stdout` is unchanged ([#262](pypa/pip-audit#262)) ### Fixed * Vulnerability sources: A bug caused by insufficient version normalization was fixed ([#263](pypa/pip-audit#263))
Change log: ### eom 1.26.0 * Translations update * update copyright to 2021 ### eom 1.25.1 * Translations update * eom-window: Remove -Wmissing-field-initializers warnings * build: change the message for NLS in the configure summary * build: allow users to disable gettext support (--disable-nls) * build: Use PACKAGE_URL variable * build: display package name and version in configure summary * Fix desktop file validation warning * Remove cppcheck warning knownConditionTrueFalse * Remove unnecessary casts on signal function calls * Update copyright to 2021 * Remove warning -Wshadow * eom-uri-converter: dereference of NULL 'repl_str' reported by gcc * Do not remove the accelerators from image properties dialog * Upgrade ui files * eom-save-as-dialog-helper: Fix resource path * eom-image: warning -Wexpansion-to-defined * eom-scroll-view.c: Redundant casting GTK_WIDGET * eom-scroll-view: Remove warning incompatible-pointer-types * Ensure scrollbar moves when dragged to move image * require libexif 0.6.22 * Remove unused macros ### eom 1.25.0 * Translations update * eom-metadata-reader: add gdk/gdk.h include * egg-editable-toolbar: Remove trailing spaces/tabs * Shorten the function name for notebook scroll-event * eom-util: Fix code indent * Add tab scrolling support for dialog windows * add git.mk to generate .gitignore * build: silent build warnings for distcheck * eom-window: expand the comment on about dialog * Remove warnings: cast between incompatible function types * eom.desktop: Do not collect the translation for Icon * help: Fix some incongruencies * help: Fix Image Collection shortcut (#263) * Use user page on github when user email is private * Update authors
Upstream's changelist: [2.2] fix CVE-2022-45188 by @rdmark in #254 [2.2] papd: Fix incorrect type in printer status check by @smagoun in #320 [2.2] Improvements to the macusers script by @rdmark in #263 [2.2] man pages: create an a2boot man page by @rdmark in #235 [2.2] Improve systemd service dependencies, improving stability at boot on wifi only hosts by @rdmark in #233 [2.2] Update manual to match current behavior and correct typos by @rdmark in #230 #234 #257 [2.2] Remove release notes code since it's no longer used by @rdmark in #256 Create Github workflow that builds, tests, and runs static analysis by @rdmark in #255 #290 #314
### [2.3.1] - 2022-11-29
#### Changed
* The printout of the inferred `intersphinx_mapping` item for inventories
retrieved by URL (`--url`) in the 'suggest' CLI mode is now relocated to
fall immediately below the inventory-search output. It also now is displayed
even if no objects in the `objects.inv` satisfy the score threshold.
([#262](bskinn/sphobjinv#262))
* The 'suggest' CLI mode output now includes dividers for improved
readability.
#### Tests
* The plaintext `tests/resource/objects_attrs.txt` was converted to POSIX EOLs
and declared as binary to git, in order to provide a consistent state for
sdist packaging, regardless of platform (POSIX vs Windows).
* As a result, it was necessary to modify the `scratch_path` fixture to
"`unix2dos`" this file on Windows systems, in order to provide a
consistent test state.
* Similarly, the `decomp_cmp_test` fixture was modified to "`unix2dos`" the
`objects_attrs.txt` resource before comparisons, again in order to provide
a consistent reference artifact. Implementing required direct manipulation
of the bytes contents of the file, instead of the `filecmp.cmp` method
that had been used previously.
* The README doctests and shell tests have been removed from the default
pytest suite. They must be explicitly opted-in with the `--readme` and
`--doctest-glob="README.rst"` flags to pytest.
* A new job, `readme`, has been added to the `aux_tests` stage of the Azure
Pipelines CI to run these tests for PRs and release branches.
* The constraint for `pytest-check` was bumped to `>=1.1.2` and all uses of
the `check` fixture were revised from `with check.check(...):` to
`with check(...):`. ([#265](bskinn/sphobjinv#265))
* Azure Pipelines now has Python 3.11 available for all of Ubuntu, Windows and
MacOS, so it was added to the core text matrix for all platforms.
* A new CI job was created on Azure Pipelines that creates an sdist from the
current project, extracts it into a sandboxed environment, installs the dev
dependencies, and runs the pytest suite (`azure-sdisttest.yml`).
* All uses of `pytest-check` were updated to use the
[v1.1.2 syntax](https://github.com/okken/pytest-check/blob/main/changelog.md#110---2022-nov-21)
(`check` fixture, or `from pytest_check import check`).
#### Internal
* The `sys.exit()` in the case of no objects falling above the 'suggest'
search threshold was refactored into the main `do_suggest()` body, to
minimize the surprise of an `exit()` call coming in a subfunction.
([#263](bskinn/sphobjinv#263))
#### Packaging
* `MANIFEST.in` was revised in order to provide a testable (`pytest --nonloc`)
sdist, in order to streamline packaging of `sphobjinv` for conda-forge.
(Thanks very much to [@anjos](https://github.com/anjos) for getting the
recipes for `sphobjinv` and its dependencies in place! See
[#264](bskinn/sphobjinv#264).)
#### Administrative
* `sphobjinv` is now available via conda-forge! A note was added to the docs
to indicate this.
* The version bump on `pytest-check` no longer permits the use of Python 3.6
in CI. As Python 3.6 is nearly a year beyond EOL, this seems a reasonable
time to officially drop support for it. `python_requires` will still be at
`>=3.6` for now; it *should* still work for 3.6...but, no guarantees.
* The hook versions for `pre-commit-hooks`, `black`, and `pyproject-fmt` were
updated to v4.3, v22.10, and v0.3.5, respectively.
* `CONTENT_LICENSE.txt` was created, to specifically house the full
content/documentation license information.
* `LICENSE.txt` was revised to only hold the MIT License for the code,
primarily so that Github's automatic systems will recognize the project as
MIT licensed.
* Caching of pip downloads was added to all of the Azure Pipelines jobs.
* The version constraint for `pytest-check` was raised to `>=1.1.2`.
* A temporary upper bound was placed on the `flake8` version (now `>=5,<6`,
instead of `>=5`) to avoid pip resolver failures likely due to conflicts
with constraints declared by plugins.
* The older versions of `jsonschema` tested in the `tox` matrix were
streamlined down to 3.0 (`==3.0`), 3.x (`<4`), 4.0 (`<4.1`) and 4.8
(`<4.9`).
* The pin of `sphinx-issues==0.4.0` in the `tox` matrix was removed, to match
the unpinned package in the `requirements-xxx.txt` files.
### [2.3] - 2022-11-08
#### Added
* The CLI now prints the project name and version for the `objects.inv` as
part of the 'suggest' mode output.
* The CLI now prints an inferred `intersphinx_mapping` entry for a remote
docset as part of the 'suggest' mode output, where such inference is
possible. The output from this mapping inference was added to the relevant
tests, and a couple of unit tests on some basic pieces of functionality were
written. ([#149](bskinn/sphobjinv#149))
* The CLI now provides considerably more information about what is happening
with the URLs it checks when trying to retrieve a remote inventory.
([#99](bskinn/sphobjinv#99), plus more)
* CLI 'suggest' results output now displays more information about
the total number of objects in the inventory, the search score threshold,
and the number of results falling at/above that threshold.
([#232](bskinn/sphobjinv#232))
* A new CLI option, `-p`/`--paginate`, enables paging of the results from the
`suggest` feature. ([#70](bskinn/sphobjinv#70))
#### Fixed
* The regex for parsing object lines from decompressed inventories now
correctly processes `{role}` values that contain internal colons.
* CLI corner case where options are passed but no subparser is specified
now results in a clean error-exit, instead of an exception.
([#239](bskinn/sphobjinv#239))
#### Documentation
* Updated doctests to reflect the new v22.1 attrs `objects.inv` used for
demonstration purposes.
* Updated `syntax.rst` to indicate that the `{role}` in an inventory object
MAY contain a colon.
* Added new 'CLI implementation' pages for the new modules, downstream of the
refactoring of the CLI 'convert' and 'suggest' code.
* Revised the intro paragraph of the 'CLI usage' page to more clearly emphasize
the two CLI subcommands and the links to their respective docs pages.
* Fixed a mistake in the CLI help info for the `--url` argument to `convert`.
#### Tests
* Various tests were updated to reflect the contents of the new v22.1 attrs
`objects.inv` introduced to replace the previous v17.2 inventory.
* A modern Sphinx `objects.inv` (v6.0.0b) was added to `tests/resource` as
`objects_sphinx.inv`, and the previous v1.6.6 was renamed to
`objects_sphinx_1_6_6.inv`.
* The 'valid objects' test cases were updated to reflect the possibility for a
colon within `{role}`:
* The colon-within-`{role}` test case was moved from 'invalid' to 'valid'.
* The colon-within-`{domain}` test case was also moved from 'invalid' to
'valid', but with an annotation added to indicate that it's not actually
viable---it will actually be interpreted incorrectly, with the first
portion of the colon-containing `{domain}` imported as `{domain}`, and the
remainder imported as part of `{role}`.
#### Internal
* Refactor CLI code to place the 'convert' and 'suggest' implementations in
their own modules.
* Refactor CLI 'suggest' code to the main `do_suggest()` function and a
handful of sub-functions.
* Rename the `log_print()` CLI helper function to the more-descriptive
`print_stderr()`.
* Bump development Sphinx version to v5.3.
* Bump flake8 version to >=5, due to the absorption of flake8-colors
colorization functionality. The flake8/tox config was updated accordingly.
* Bump pre-commit black hook to v22.3.0.
* Remove PyPy and Python 3.6 from Azure Pipelines test matrix.
* Revise `__version__` retrieval in `setup.py` to use an intermediate
dictionary with `exec()`.
* Update `setup.cfg` to use `license_files`, instead of the deprecated
`license_file`.
#### Administrative
* Apply CC BY 4.0 to documentation and docstrings and update project files to
reflect.
### [2.2.2] - 2022-03-22
#### Fixed
* UnicodeDecodeErrors are ignored within the vendored `fuzzywuzzy` package
during `suggest` operations, using the `errors=replace` mode within
bytes.decode().
* This misbehavior emerged after vendoring `fuzzywuzzy`, suggesting that
it was a bug fixed later on in that project's development, after the
point from which it was vendored.
* This change may alter `suggest` behavior for those inventory objects with
pathological characters. But, given their rarity, user experience is not
expected to be noticeably affected.
#### Internal
* The `pyproject-fmt` formatted was added as a pre-commit hook.
* The `flake8-raise` plugin was added to the linting suite.
#### Testing
* A smoke test for error-free `suggest` execution was added for all of the
inventory files in `tests/resource`.
### [2.2.1] - 2022-02-05
#### Internal
* The `benchmarks.py` file within the vendored version of `fuzzywuzzy`
was removed. This *should* have no effect on `sphobjinv` functionality.
* Per [#223](bskinn/sphobjinv#223), the
Python 2 code within `benchmarks.py` breaks a full-source compilation
done as part of an RPM packaging workflow.
### [2.2] - 2022-01-30
#### Administrative
* The project documentation has been updated to reflect the deprecation
of the `python-Levenshtein` speedup.
* `pre-commit` has been added to the project, primarily to automate
`black` code formatting on every commit.
* The default trailing-whitespace, end-of-file, YAML syntax, and
large-file-prevention hooks have also been added.
#### Internal
* `sphinx-removed-in` was added as a dev and RTD dependency, to provide
the `versionremoved` Sphinx directive.
### [2.2b1] - 2021-12-23
#### Removed
* Acceleration of the `suggest` functionality via use of `python-Levenshtein`
is no longer possible due to the vendoring of an early, MIT-licensed version
of `fuzzywuzzy`, as noted below. The `speedup` install extra is now obsolete,
and has been removed.
#### Internal
* The `fuzzywuzzy` string matcher was vendored into the project from a point
in its development history before the `python-Levenshtein` dependency,
and its corresponding GPL encumbrance, was introduced.
#### Administrative
* Project default branch migrated to `main` from `master`.
* Standard development Python version bumped to 3.10.
* Standard development Sphinx version bumped to 4.3.1.
* Active support for Python 3.11 added.
### [2.1] - 2021-04-14
#### Added
* Python 3.10 support was officially added.
#### Changed
* The User-Agent header sent by `Inventory` when making an HTTP(S) request
now identifies `sphobjinv` and its version (anticipate no API or
behavior change).
* An extraneous newline was removed before tables printed in the
'suggest' CLI mode (cosmetic change).
#### Fixed
* Previously, `sphobjinv.Inventory` would ignore entries in `objects.inv`
that contained spaces within `name`
(see [#181](bskinn/sphobjinv#181));
this is now fixed.
#### Removed
* Python 3.5 is no longer supported.
* The relaxation of the integer constraint on the `priority` field
introduced in v2.1b1 has been *reverted*, as `objects.inv` data lines
with such non-integer `priority` values are skipped by Sphinx.
#### Internal
* Where possible, string interpolation has been refactored to use
f-strings.
* A 'speedup' `extras_require` entry has been added to allow simple installation
of `python-Levenshtein` for Linux and MacOS platforms, as
`pip install sphobjinv[speedup]`. This extra does nothing on Windows, since
compilation machinery is anticipated not to be available for most users.
* `objects_mkdoc_zlib0.inv`, which was compressed at `zlib` level 0,
has been added to the test resources directory.
* This file had to be flagged as binary in `.gitattributes` in order to avoid
git EOL auto-conversion on Windows.
* The CLI functionality was refactored from the single `sphobjinv.cmdline` module
into a dedicated set of `sphobjinv.cli.*` submodules.
* Some internal `type(...) is ...` checks were replaced with `isinstance(...)`
#### Testing
* Added *significant* body of new tests to confirm inventory compatibility
with both `sphobjinv` and Sphinx itself.
* Consistency checks added both for data within `sphobjinv.Inventory` instances
**AND** as emitted from `sphinx.ext.inventory.InventoryFile.load()`.
* The tests in `tests/test_valid_objects.py` strive to bracket as precisely
as possible what content is allowed on an `objects.inv` data line,
in addition to providing guidance on what is allowable, but discouraged.
`docs/source/syntax.rst` was also edited to reflect this guidance.
* Additional tests have been added to probe corner cases involving Windows EOLs.
* A test was added to ensure that the schema in `sphobjinv.schema` is in fact
a valid JSON schema.
* Multiple asserts/checks per test method have been converted to use
`pytest-check` instead of `pytest-subtests`, due to some inconsistent
behavior with the latter.
* `tox` environments and dependencies were updated, and some flake8 configuration
was adjusted.
#### Administrative
* Standard development Python version bumped to 3.9.
* Standard development Sphinx version bumped to 3.5.0.
* Added `[skip ci]` flag in commit text for skipping Github Actions CI.
* RtD upgraded to use Python 3.8.
* Added 'radio Sphinx' logo to RtD docs.
* Drafted `CONTRIBUTING.md` and added PR & issue templates.
* Tranferred most project metadata from `setup.py` to `setup.cfg`.
### [2.1b1] - 2020-11-13
#### Fixed
* Equality tests on Inventory and DataObjStr/DataObjBytes instances
now work correctly.
* Non-integer and non-numeric values for `priority` are now accepted
during `Inventory` instantiation, consistent with what is allowed
by `DataObjStr` and `DataObjBytes` instantiation.
### [2.1a2] - 2020-10-27
#### Added
* When an inventory is retrieved via CLI from a remote URL with `-u`,
the resolved location of the inventory is included in generated JSON
at `json_dict.metadata.url`.
#### Changed
* CLI logging messages are now emitted to stderr instead of stdout.
### [2.1a1] - 2020-10-26
#### Added
* A hyphen can now be passed as the CLI input and/or output file name
to instruct sphobjinv to use stdin and/or stdout, respectively.
* The `fileops` and `inventory` APIs are now tested to work with
both strings and `pathlib.Path` objects, where they interact
with the filesystem.
#### Refactored
* Patterns in regular expressions are now defined with raw strings
to improve readability.
## 3.0.0 - 2023-06-03⚠️ This release contains some minor breaking changes in the internal API and improvements to the parsing strictness. **Full Changelog**: <executablebooks/markdown-it-py@v2.2.0...v3.0.0> ### ⬆️ UPGRADE: Drop support for Python 3.7 Also add testing for Python 3.11 ### ⬆️ UPGRADE: Update from upstream markdown-it `12.2.0` to `13.0.0` A key change is the addition of a new `Token` type, `text_special`, which is used to represent HTML entities and backslash escaped characters. This ensures that (core) typographic transformation rules are not incorrectly applied to these texts. The final core rule is now the new `text_join` rule, which joins adjacent `text`/`text_special` tokens, and so no `text_special` tokens should be present in the final token stream. Any custom typographic rules should be inserted before `text_join`. A new `linkify` rule has also been added to the inline chain, which will linkify full URLs (e.g. `https://example.com`), and fixes collision of emphasis and linkifier (so `http://example.org/foo._bar_-_baz` is now a single link, not emphasized). Emails and fuzzy links are not affected by this. * ♻️ Refactor backslash escape logic, add `text_special` [#276](executablebooks/markdown-it-py#276) * ♻️ Parse entities to `text_special` token [#280](executablebooks/markdown-it-py#280) * ♻️ Refactor: Add linkifier rule to inline chain for full links [#279](executablebooks/markdown-it-py#279) *‼️ Remove `(p)` => `§` replacement in typographer [#281](executablebooks/markdown-it-py#281) *‼️ Remove unused `silent` arg in `ParserBlock.tokenize` [#284](executablebooks/markdown-it-py#284) * 🐛 FIX: numeric character reference passing [#272](executablebooks/markdown-it-py#272) * 🐛 Fix: tab preventing paragraph continuation in lists [#274](executablebooks/markdown-it-py#274) * 👌 Improve nested emphasis parsing [#273](executablebooks/markdown-it-py#273) * 👌 fix possible ReDOS in newline rule [#275](executablebooks/markdown-it-py#275) * 👌 Improve performance of `skipSpaces`/`skipChars` [#271](executablebooks/markdown-it-py#271) * 👌 Show text of `text_special` in `tree.pretty` [#282](executablebooks/markdown-it-py#282) ### ♻️ REFACTOR: Replace most character code use with strings The use of `StateBase.srcCharCode` is deprecated (with backward-compatibility), and all core uses are replaced by `StateBase.src`. Conversion of source string characters to an integer representing the Unicode character is prevalent in the upstream JavaScript implementation, to improve performance. However, it is unnecessary in Python and leads to harder to read code and performance deprecations (during the conversion in the `StateBase` initialisation). See [#270](executablebooks/markdown-it-py#270), thanks to [@hukkinj1](https://github.com/hukkinj1). ### ♻️ Centralise indented code block tests For CommonMark, the presence of indented code blocks prevent any other block element from having an indent of greater than 4 spaces. Certain Markdown flavors and derivatives, such as mdx and djot, disable these code blocks though, since it is more common to use code fences and/or arbitrary indenting is desirable. Previously, disabling code blocks did not remove the indent limitation, since most block elements had the 3 space limitation hard-coded. This change centralised the logic of applying this limitation (in `StateBlock.is_code_block`), and only applies it when indented code blocks are enabled. This allows for e.g. ```md <div> <div> I can indent as much as I want here. <div> <div> ``` See [#260](executablebooks/markdown-it-py#260) ### 🔧 Maintenance changes Strict type annotation checking has been applied to the whole code base, [ruff](https://github.com/charliermarsh/ruff) is now used for linting, and fuzzing tests have been added to the CI, to integrate with Google [OSS-Fuzz](https://github.com/google/oss-fuzz/tree/master/projects/markdown-it-py) testing, thanks to [@DavidKorczynski](https://github.com/DavidKorczynski). * 🔧 MAINTAIN: Make type checking strict [#](executablebooks/markdown-it-py#267) * 🔧 Add typing of rule functions [#283](executablebooks/markdown-it-py#283) * 🔧 Move linting from flake8 to ruff [#268](executablebooks/markdown-it-py#268) * 🧪 CI: Add fuzzing workflow for PRs [#262](executablebooks/markdown-it-py#262) * 🔧 Add tox env for fuzz testcase run [#263](executablebooks/markdown-it-py#263) * 🧪 Add OSS-Fuzz set up by @DavidKorczynski in [#255](executablebooks/markdown-it-py#255) * 🧪 Fix fuzzing test failures [#254](executablebooks/markdown-it-py#254)
Changelog:
This release adds a script for bash autocompletion for nsd-control. Also
nsd-control can be configured to use unencrypted operation also when
compiled without openssl. There is also a systemd service unit example
file contributed. The dnstap log service can be contacted over TCP, with
the dnstap-ip: ip option. It is also possible to use TLS, with
dnstap-tls, it is enabled by default, and can be configured with the
dnstap-server-name, dnstap-cert-bundle, dnstap-client-key-file and
dnstap-client-cert-file options. The configure option
--enable-root-server is obsolete, it is no longer used and defaults to
on. In addition, the build file should support multicore build with
flex and bison more easily.
FEATURES:
Merge #263: Add bash autocompletion script for nsd-control.
Fix #267: Allow unencrypted local operation of nsd-control.
Merge #269 from Fale: Add systemd service unit.
Fix #271: DNSTAP over TCP, with dnstap-ip: "127.0.0.1@3333".
dnstap over TLS, default enabled. Configured with the
options dnstap-tls, dnstap-tls-server-name, dnstap-tls-cert-bundle,
dnstap-tls-client-key-file and dnstap-tls-client-cert-file.
BUG FIXES:
Fix #239: -Wincompatible-pointer-types warning in remote.c.
Fix configure for -Wstrict-prototypes.
Fix #262: Zone(s) not synchronizing properly via TLS.
Fix for #262: More error logging for SSL read failures for zone
transfers.
Merge #265: Fix C99 compatibility issue.
Fix #266: Fix build with --without-ssl.
Fix for #267: neater variable definitions.
Fix #270: reserved identifier violation.
Fix to clean more memory on exit of dnstap collector.
Fix dnstap to not check socket path when using IP address.
Fix to compile without ssl with dnstap-tls code.
Dnstap tls code fixes.
Fix include brackets for ssl.h include statements, instead of quotes.
Fix static analyzer warning about nsd_event_method initialization.
Fix #273: Large TXT record breaks AXFR.
Fix ixfr create from adding too many record types.
Fix cirrus script for submit to coverity scan to libtoolize
the configure script components config.guess and config.sub.
Fix readme status badge links.
make depend.
Fix for build to run flex and bison before compiling code that needs
the headers.
Fix to remove unused whitespace from acx_nlnetlabs.m4 and config.h.
For #279: Note that autoreconf -fi creates the configure script
and also the needed auxiliary files, for autoconf 2.69 and 2.71.
Fix unused variable warning in unit test, from clang compile.
Fix #240: Prefix messages originating from verifier.
Fix #275: Drop unnecessary root server checks.
Highlights v0.16.0 is a big release with some new features: - CLI now doesn't require a running instance to handle commands (#290) - add file cache support for user's data (liked tracks, saved albums, followed artists, etc) (#306) - add support for opening a Spotify link from clipboard (#307) What's Changed - Add Scoop installation instruction to Readme by @rashil2000 in #263 - Improve lyrics lookup by removing remix & remaster info in query. by @Icelk in #266 - Fix typos by @kianmeng in #267 - fix: missing https for song links by @sjdonado in #269 - map media control Pause and Resume to PlayerRequests by @SebRollen in #272 - Allow shuffling context playback from CLI by @rudiejd in #275 - add explicit tags to track information by @SebRollen in #276 - Clamped progress bars to solve problems with -ve numbers by @whiskyplausible in #274 - Miscellaneous refactor and improvement by @aome510 in #287 - use track's id of linked_from if exists by @aome510 in #286 - Support handling CLI commands without a running application instance by @aome510 in #290 - Allow disabling notify when client is not streaming by @VenMolom in #298 - support disabling notification from config by @aome510 in #303 - bind C-z to AddSelectedItemToQueue by @aome510 in #304 - Cache user's data into files (liked tracks, saved albums, followed artists, etc) by @aome510 in #306 - Support open spotify link by @aome510 in #307
What's Changed - Update Ratatui to 0.25 + Update dependencies by @AmmarAbouZor in #261 - Chore: Bump thiserror from 1.0.51 to 1.0.52 by @dependabot in #263 - Ignore key events of types other than press by @AmmarAbouZor in #267
v32 (October 01, 2023) Changes: - Removed legacy multi-frame loaders. Animated image support now requires Imlib2 v1.8.0 or above. - Move loading/caching messages to right side bar #446 - Set a default delay if delay is 0 in a multi-frame image #445 - config.mk: default to -O2 #435 - config.mk no longer explicitly sets CC to c99 #455 - Assertions are now opt-in and requires explicitly defining DEBUG #447 Added: - Added a pick-quit key-binding #432 - Ability to configure Xresources class name in config.h #427 - --version output now also includes compiled-in feature list #462 - Document handling of empty X resources values #428 - Experimental flag --bg-cache to generate thumbnail cache in a background process #438 Fixes: - Changing brightness/contrast on multi-frame images #440 - Brightness keybindings on manpage #467 - Various autoreload bugs #437, #459, #460 - *-info scripts not updating when selecting thumbnail with mouse #477 - Updated openbsd configuration in config.mk #453 - Memory leak in win_draw_bar #444 - Thumbnail leak when removing the last file #423 v31 (January 28, 2023) Changes: - Uncritical files moved to etc/. #350 - Empty Xresource entry will now be ignored. #340 - win-title will be read in a non-blocking manner. #314 Added: - Support for multi-frame images via Imlib2. #373 - Support for long-opts. #332 - Cli flag --anti-alias to enable/disable anti-aliasing. #361 - Cli flag --alpha-layer to enable/disable checkerboard background. #408 - Accept directory via stdin (-i) #383 - Support for modifying brightness and contrast #396 Fixes: - Build failure when _SC_PHYS_PAGES is not defined. #334 - Various statusbar issues. #353,#341 - Crashes due to faulty signal-handler. #411 - Potential memory leak in r_readdir(). #319 - Potentially printing incorrect error message. #321 - Wrong slideshow length on animated webp. #381 - Document missing Ctrl+6 binding in the manpage. #347 SPECIAL NOTE: Due to this incident we have moved development over to Codeberg. A lot of the references below may now be 404 on GitHub. Any threads which survived the wipe have been migrated over to nsxiv-record. All of the references above can be found on the new main nsxiv repository on Codeberg. v30 (June 15, 2022) Changes: - Development and main repository moved over to Codeberg. See the special note above for more info. - autoreload_{inotify,nop}.c merged into a single file, autoreload.c. #263 - Moved all configuration related macros to config.mk. #264 - win-title is now called only when there's change rather than being called on each redraw. #266 Added: - Added more mimetypes to the .desktop entry. #260 - Added thumb-info for customizing the statusbar in thumbnail-mode. #265 - Added comments for building on OpenBSD. #264 Fixes: - "Too many open file" error due to not closing the win-title script. #245 - -f now directly starts in fullscreen mode rather than opening a normal window and then going fullscreen. #251 - Broken slideshow on slow systems or fast animations. #282 - Memory leak when removing an image in thumbnail mode. #247 - Correctly setting _NET_WM_PID. #251 - Don't override statusbar if info script doesn't exist. #271 - Potential misbehavior regarding font. #250
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)
Add a target to generate the frontend artefacts that are required at runtime, but do not build them by default as they require nodejs/npm which will download node modules during the build. Instead use a pre-built copy stored in LOCAL_PORTS. The web interface should now look correct. Use the supplied Makefile to simplify some of the targets. Remove unnecessary MAKE_DIRS (shadows an OWN_DIRS_PERMS), and fix permissions on some of the installed files. Based on TritonDataCenter#263 from GitHub user teutat3s.
For a security fix.
Release 2.2.7 Wed June 19 2019
Security fixes:
#186 #262 Fix extraction of namespace prefixes from XML names;
XML names with multiple colons could end up in the
wrong namespace, and take a high amount of RAM and CPU
resources while processing, opening the door to
use for denial-of-service attacks
Other changes:
#195 #197 Autotools/CMake: Utilize -fvisibility=hidden to stop
exporting non-API symbols
#227 Autotools: Add --without-examples and --without-tests
#228 Autotools: Modernize configure.ac
#245 #246 Autotools: Fix check for -fvisibility=hidden for Clang
#247 #248 Autotools: Fix compilation for lack of docbook2x-man
#236 #258 Autotools: Produce .tar.{gz,lz,xz} release archives
#212 CMake: Make libdir of pkgconfig expat.pc support multilib
#158 #263 CMake: Build man page in PROJECT_BINARY_DIR not _SOURCE_DIR
#219 Remove fallback to bcopy, assume that memmove(3) exists
#257 Use portable "/usr/bin/env bash" shebang (e.g. for OpenBSD)
#243 Windows: Fix syntax of .def module definition files
Version info bumped from 7:8:6 to 7:9:6
Special thanks to:
Benjamin Peterson
Caolán McNamara
Hanno Böck
KangLin
Kishore Kunche
Marco Maggi
Rhodri James
Sebastian Dröge
userwithuid
Yury Gribov
### Changelog All notable changes to this project will be documented in this file. #### 2.0 (September 9, 2019) - Characters U+25DE `◟` and U+25DF `◞` were swapped [#761] - Added Box Drawing Light Arcs U+256D `╭` U+256E `╮` U+256F `╯` U+2570 `╰` [#702] [#714] [#725] - Added Mathematical Angle Brackets U+27E8 `⟨` U+27E9 `⟩` [#763] - Added Light and heavy dashed lines U+2504..U+250B `┄┅┆┇┈┉┊┋` [#702] - Adjusted Box drawings double dashes U+254C..U+254F `╌╍╎╏` - Fixed outlines of U+04FA `Ӻ` and U+04FB `ӻ` [#806] - Added Not identical to U+2262 `≢` [#396] - Added Latin Capital Letter Sharp S U+1E9E `ẞ` [#587] - Tuned position and width of U+2044 Fraction Slash ` ⁄ ` [#588] and U+2215 Division Slash `∕` [#805] - Added U+1405 Canadian Syllabics O `ᐅ` and U+140A Canadian Syllabics A `ᐊ` [#666] - Added U+2234 Therefore `∴` and U+2235 Because `∵` [#669] - Added U+239B..U+23AD multi-line brackets [#675] ``` ⎛ 1 ⎞ ⎡ a ⎤ ⎧ x ⎫ ⎜ 2 ⎟ ⎢ b ⎥ ⎪ y ⎪ ⎜ 3 ⎟ ⎢ c ⎥ ⎨ z ⎬ ⎜ 4 ⎟ ⎢ d ⎥ ⎪ y ⎪ ⎝ 5 ⎠ ⎣ e ⎦ ⎩ x ⎭ ``` - Added U+27F0..U+27FF Supplemental Arrows-A `⟲⟳⟰⟱⟴⟵⟶⟷⟸⟹⟺⟻⟼⟽⟾⟿` [#677] - Added U+2400..U+2426 Control Pictures `␆␈␇␣␢␘␍␐␡␥␔␑␓␒␙␃␄␗␅␛␜␌␝␉␊␕␀␞␏␎␠␁␂␚␦␖␟␋` [#764] - Added U+2388 Helm Symbol `⎈` [#766] - Added U+2016 Double Vertical Line `‖` [#780] - Tuned metrics (1870,-530 -> 1800,-600, upm 2000 -> 1950, hopefully fix [#552] [#798]) - Box characters to not overflow line height, taller `|` [#449] - Added few technical symbols [#799]: - U+21A9 Leftwards arrow with hook (Return) `↩` - U+21DE Upwards arrow with double stroke (Page Up) `⇞` - U+21DF Downwards arrow with double stroke (Page down) `⇟` - U+21E4 Left Tab Arrow `⇤` - U+21E5 Right Tab Arrow `⇥` - U+2300 Diameter sign `⌀` - U+2303 Up Arrowhead (Control) `⌃` - U+2304 Down Arrowhead `⌄` - U+2305 Projective `⌅` - U+2306 Perspective `⌆` - U+2318 Place of interest sign (Command) `⌘` - U+2324 Up Arrowhead between two horizontal bars `⌤` - U+2325 Option Key `⌥` - U+2387 Alternative Key Symbol `⎇` - U+238B Broken Circle with Northwest Arrow (Escape) `⎋` - U+23CF Eject symbol `⏏` - Added Coq logical and ` /\ ` and logical or ` \/ ` ligatures, U+2227 `∧` and U+2228 `∨` [#191] [#488] [#738] [#810] - Added SystemVerilog `|->` `|=>` and `<-|` `<=|` for symmetry [#695] - Added Forces `||-` ligature and U+22A2..U+22AF `⊢ ⊣ ⊤ ⊥ ⊦ ⊧ ⊨ ⊩ ⊪ ⊫ ⊬ ⊭ ⊮ ⊯` [#709] - Added `fl` `Fl` `Tl` ligatures, adjusted `fi` `fj` pairs [#795] - Disabled ligatures after regexp lookahead/lookbehinds `(?<=<` `(?<=>` `(?<==>` `(?<=|` `(?<==` `(?=:=` `(?=!=` `(?==` `(?===` `(?==>` `(?=>` `(?=>>` `(?=<<` `(?=/=` `(?!!` `(?!!.` `(?!=` `(?!==` `(?<!!` `(?<!!.` `(?<!=` `(?<!==` `(?<!--` [#578] - Removed `..=` [#757] - Alternatives (stylistic sets): - Lowercase `r` (ss01) [#601] - Less than/greater than `<=` `>=` (ss02) [#263] [#617] - Ampersand `&` (ss03) [#617] - Dollar sign `$` (ss04) [#617] - At sign `@` (ss05) [#617] [#748] [#817] - Thin backslash (ss06) [#577 #720 #825] - Dotted zero `0` (zero, ss19) - Old-style figures (onum, ss20) [#561] [#715] - Old-style figures no longer prevent ligatures [#561] [#715] #### 1.207 (April 6, 2019) - Variable TTF, cleaned up [many small Light weight errors](https://github.com/thundernixon/FiraCode/blob/qa/googlefonts-qa/notes/outline-checks.md) (done by @thundernixon, PR #735) - Dropped EOF which were only useful for IE 6-11 - Fixed different vertical position of `<=` `>=` in Light and Bold caused during [#483] #### 1.206 (September 30, 2018) - Added `<==>` ([#392]), `#:` ([#642]), `!!.` ([#618]), `>:` `:<` ([#605]), U+0305 Combining overline ([#608]), U+2610 Ballot box, U+2611 Ballot box with check, U+2612 Ballot box with x ([#384]) - Fixed incorrect width of `[` `**` ([#607]) - Redrew `{|` `|}` `[|` `|]` ([#643]) - Removed `{.` `.}` ([#635]), thin backslash ([#577]) - Disabled ligatures in `(?=` `(?<=` `(?:` ([#624]), `>=<` ([#548]), `{|}` `[|]` ([#593]) - Fixed ligatures precedence in `<||>` ([#621]), `:>=` ([#574]), `<<*>>` `<<<*>>>` `<<+>>` <<<+>>>` `<<$>>` `<<<$>>>` ([#410]), `!=<` ([#276]) - Fixed incorrectly swapped box drawing characters `╵` and `╷` ([#595]) - Adjusted vertical position of `<=` `>=` to align with `<` `>` ([#483]) #### 1.205 (February 27, 2018) - Slashed zero by default ([#481] [#342]) - Adjusted vertical position of colon `:` near `{[()]}` ([#486]) - Thin backslash except when in `\\`, removed `\\\` ([#536]) - Added `:>` ([#547]) and `<:` ([#525]) - Removed `=<` ([#479] [#468] [#424] [#406] [#355] [#305]) - Added `::=` ([#539]) - Added `[|` `|]` ([#516]) `{|` `|}` ([#330]) - Added `✓` (U+2713) - Added `..=` ([#433]) - Added `=!=` ([#338]) - Added `|-` `-|` `_|_` and adjusted `|=` `||=` ([#494]) - Added `#=` ([#208])
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)
# 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
Changelog picked from https://github.com/tdewolff/minify/releases v2.7.3 external minifiers can now use input/output files instead of only stdin/stdout using the $in and $out keywords SVG: don't minify inside foreignObject, fixes #291 v2.7.2 SVG: bugfix for C, S, Q, and T commands where if the control points would not overlap with the start or end points of the curve, it would still be converted to a line. v2.7.1 DataURI: if the original data URI is shorter than the URL-encoded/base64-encoded URI, use the original instead, fixes #282 Bugfix: decimal (i.e. without exponentials) incorrectly minified 139.9 to 230 instead of 140 v2.7.0 Use custom URL encode/decode functions to fix #180 and #243 Decimal and Number now take precision to mean the number of significant digits, and not the number of digits behind the dot (decimals); includes a few subtle bugfixes. Decimals option renamed to Precision Move Hash definitions and EntitiesMap from tdewolff/parse to this repository to prevent releasing new versions of tdewolff/parse everytime cmd: add --sync functionality cmd: make --watch work for newly created directories cmd: various fixes and improved messages CSS: keep quotes around IE font families, fixes #251 CSS: major refactor to allow nested functions to be minified CSS: improved HSL/RGB minification CSS: minify more properties: color, background-color, border-color, border-*-color, caret-color, outline-color, fill, stroke, column-rule, text-shadow, text-decoration, text-emphasis, flex, flex-*, order, fixes #217 CSS: minify background better if it has multiple layers CSS: improve box-shadow minification CSS: accept CSS functions where numbers/lengths are required, such as calc, min, max, clamp, attr, var SVG: print new path command after bad command, fixes #275 SVG: print A command correctly with boolean largeArc and sweep SVG: avoid precision errors for alternative (absolute or relative commands) path v2.6.3 Add install.sh and Makefile to ./cmd/minify. No changes to binaries (use v2.6.2). v2.6.2 HTML: ignore CSS minification for amp-boilerplate HTML: add KeepQuotes option for attributes XML: bugfix for recent changes to XML parser v2.6.1 Upgrade to tdewolff/parse@2.3.14: Re-parse input immediately when encountering parse error. Previously this was only done if the error was actually read which would save us from re-parsing the file (i.e. better performance). However, an error is (a) rare and (b) happens only once per file. Re-parsing on errors does not impact the performance of well formatted files, and a reliable error message is valued more. Bugfix: prevent infinite loop on error on input file that contains unicode code points (i.e. any character bigger than 0xC0 usually followed by more bytes). Improve error messages for parsers to include parser name and print offending byte(s) v2.6.0 CSS: remove space after function in property value; margin:calc(10px) calc(20px) => margin:calc(10px)calc(20px) SVG: parse A path command correctly when the booleans largeArc and sweep are not separated by a space, such as in A10 10 0 0120 0 which is equivalent to A10 10 0 0 1 20 0 SVG bugfix: make sure we are processing a valid path command SVG bugfix: prevent panic when having insufficient path arguments cmd: surpress error when minifying empty directory HTML: only minify attributes for known HTML5 tags, fixes #270 HTML, XML, SVG: minify entities with parse@2.3.13 such as: " => ", " => ", " => ", ’ => ’, ✏ => ✏. v2.5.2 Bugfixes: SVG: don't convert polyline/rect/polygon/line to path, which can break CSS, fixes #260 SVG: relative SVG Bézier commands not properly minified CSS: don't remove whitespace in nested unknown at-rules, fixes #262 CSS: fix panic for background when it contains functions other than calc for background-position, fixes #263 CSS: fix panic for background-position with three numbers CSS: fix panic for url() with only whitespace or only one quote v2.5.1 Remove import comments SVG: do not convert line/rect to path if coordinates are relative percentages CSS: fix bug with inline CSS encountering } v2.5.0 CSS: fix position information in error context CSS: fix background-position panic with offsets that are zero HTML: trim and collapse whitespace in certain attribute values SVG: shorten cubic and quadratic Beziér path data to their shorter format or to line segments v2.4.0 When minifying floating points, remove trailing zeros and not other numbers Make M concurrent-safe HTML: keep double quotes around XML-flavour RDFa attributes CSS: revert the use of the #RRGGBBAA format as proposed in Color Module Level 4 as it is not yet an official W3C recommendation CSS: background-position (also within background) now works with 3 and 4 values as well SVG: skipping metadata or rect tags properly even if they are closed by a void tag (like <rect/>) SVG pathdata: when cursor doesn't move, don't emit any commands
Add a target to generate the frontend artefacts that are required at runtime, but do not build them by default as they require nodejs/npm which will download node modules during the build. Instead use a pre-built copy stored in LOCAL_PORTS. The web interface should now look correct. Use the supplied Makefile to simplify some of the targets. Remove unnecessary MAKE_DIRS (shadows an OWN_DIRS_PERMS), and fix permissions on some of the installed files. Based on #263 from GitHub user teutat3s.
2.0.3 (2020-08-22) ~~~~~~~~~~~~~~~~~~ - Fix issues when building re2c as a CMake subproject (`#302 <https://github.com/skvadrik/re2c/pull/302>`_: - Final corrections in the SIMPA article "RE2C: A lexer generator based on lookahead-TDFA", https://doi.org/10.1016/j.simpa.2020.100027 2.0.2 (2020-08-08) ~~~~~~~~~~~~~~~~~~ - Enable re2go building by default. - Package CMake files into release tarball. 2.0.1 (2020-07-29) ~~~~~~~~~~~~~~~~~~ - Updated version for CMake build system (forgotten in release 2.0). - Added a short article about re2c for the Software Impacts journal. 2.0 (2020-07-20) ~~~~~~~~~~~~~~~~ - Added new code generation backend for Go and a new ``re2go`` program (`#272 <https://github.com/skvadrik/re2c/issues/272>`_: Go support). Added option ``--lang <c | go>``. - Added CMake build system as an alternative to Autotools (`#275 <https://github.com/skvadrik/re2c/pull/275>`_: Add a CMake build system (thanks to ligfx), `#244 <https://github.com/skvadrik/re2c/issues/244>`_: Switching to CMake). - Changes in generic API: + Removed primitives ``YYSTAGPD`` and ``YYMTAGPD``. + Added primitives ``YYSHIFT``, ``YYSHIFTSTAG``, ``YYSHIFTMTAG`` that allow to express fixed tags in terms of generic API. + Added configurations ``re2c:api:style`` and ``re2c:api:sigil``. + Added named placeholders in interpolated configuration strings. - Changes in reuse mode (``-r, --reuse`` option): + Do not reset API-related configurations in each `use:re2c` block (`#291 <https://github.com/skvadrik/re2c/issues/291>`_: Defines in rules block are not propagated to use blocks). + Use block-local options instead of last block options. + Do not accumulate options from rules/reuse blocks in whole-program options. + Generate non-overlapping YYFILL labels for reuse blocks. + Generate start label for each reuse block in storable state mode. - Changes in start-conditions mode (``-c, --start-conditions`` option): + Allow to use normal (non-conditional) blocks in `-c` mode (`#263 <https://github.com/skvadrik/re2c/issues/263>`_: allow mixing conditional and non-conditional blocks with -c, `#296 <https://github.com/skvadrik/re2c/issues/296>`_: Conditions required for all lexers when using '-c' option). + Generate condition switch in every re2c block (`#295 <https://github.com/skvadrik/re2c/issues/295>`_: Condition switch generated for only one lexer per file). - Changes in the generated labels: + Use ``yyeof`` label prefix instead of ``yyeofrule``. + Use ``yyfill`` label prefix instead of ``yyFillLabel``. + Decouple start label and initial label (affects label numbering). - Removed undocumented configuration ``re2c:flags:o``, ``re2c:flags:output``. - Changes in ``re2c:flags:t``, ``re2c:flags:type-header`` configuration: filename is now relative to the output file directory. - Added option ``--case-ranges`` and configuration ``re2c:flags:case-ranges``. - Extended fixed tags optimization for the case of fixed-counter repetition. - Fixed bugs related to EOF rule: + `#276 <https://github.com/skvadrik/re2c/issues/276>`_: Example 01_fill.re in docs is broken + `#280 <https://github.com/skvadrik/re2c/issues/280>`_: EOF rules with multiple blocks + `#284 <https://github.com/skvadrik/re2c/issues/284>`_: mismatched YYBACKUP and YYRESTORE (Add missing fallback states with EOF rule) - Fixed miscellaneous bugs: + `#286 <https://github.com/skvadrik/re2c/issues/286>`_: Incorrect submatch values with fixed-length trailing context. + `#297 <https://github.com/skvadrik/re2c/issues/297>`_: configure error on ubuntu 18.04 / cmake 3.10 - Changed bootstrap process (require explicit configuration flags and a path to re2c executable to regenerate the lexers). - Added internal options ``--posix-prectable <naive | complex>``. - Added debug option ``--dump-dfa-tree``. - Major revision of the paper "Efficient POSIX submatch extraction on NFA". ---- 1.3x ---- 1.3 (2019-12-14) ~~~~~~~~~~~~~~~~ - Added option: ``--stadfa``. - Added warning: ``-Wsentinel-in-midrule``. - Added generic API primitives: + ``YYSTAGPD`` + ``YYMTAGPD`` - Added configurations: + ``re2c:sentinel = 0;`` + ``re2c:define:YYSTAGPD = "YYSTAGPD";`` + ``re2c:define:YYMTAGPD = "YYMTAGPD";`` - Worked on reproducible builds (`#258 <https://github.com/skvadrik/re2c/pull/258>`_: Make the build reproducible). ---- 1.2x ---- 1.2.1 (2019-08-11) ~~~~~~~~~~~~~~~~~~ - Fixed bug `#253 <https://github.com/skvadrik/re2c/issues/253>`_: re2c should install unicode_categories.re somewhere. - Fixed bug `#254 <https://github.com/skvadrik/re2c/issues/254>`_: Turn off re2c:eof = 0. 1.2 (2019-08-02) ~~~~~~~~~~~~~~~~ - Added EOF rule ``$`` and configuration ``re2c:eof``. - Added ``/*!include:re2c ... */`` directive and ``-I`` option. - Added ``/*!header:re2c:on*/`` and ``/*!header:re2c:off*/`` directives. - Added ``--input-encoding <ascii | utf8>`` option. + `#237 <https://github.com/skvadrik/re2c/issues/237>`_: Handle non-ASCII encoded characters in regular expressions + `#250 <https://github.com/skvadrik/re2c/issues/250>`_ UTF8 enoding - Added include file with a list of definitions for Unicode character classes. + `#235 <https://github.com/skvadrik/re2c/issues/235>`_: Unicode character classes - Added ``--location-format <gnu | msvc>`` option. + `#195 <https://github.com/skvadrik/re2c/issues/195>`_: Please consider using Gnu format for error messages - Added ``--verbose`` option that prints "success" message if re2c exits without errors. - Added configurations for options: + ``-o --output`` (specify output file) + ``-t --type-header`` (specify header file) - Removed configurations for internal/debug options. - Extended ``-r`` option: allow to mix multiple ``/*!rules:re2c*/``, ``/*!use:re2c*/`` and ``/*!re2c*/`` blocks. + `#55 <https://github.com/skvadrik/re2c/issues/55>`_: allow standard re2c blocks in reuse mode - Fixed ``-F --flex-support`` option: parsing and operator precedence. + `#229 <https://github.com/skvadrik/re2c/issues/229>`_: re2c option -F (flex syntax) broken + `#242 <https://github.com/skvadrik/re2c/issues/242>`_: Operator precedence with --flex-syntax is broken - Changed difference operator ``/`` to apply before encoding expansion of operands. + `#236 <https://github.com/skvadrik/re2c/issues/236>`_: Support range difference with variable-length encodings - Changed output generation of output file to be atomic. + `#245 <https://github.com/skvadrik/re2c/issues/245>`_: re2c output is not atomic - Authored research paper "Efficient POSIX Submatch Extraction on NFA" together with Dr Angelo Borsotti. - Added experimental libre2c library (``--enable-libs`` configure option) with the following algorithms: + TDFA with leftmost-greedy disambiguation + TDFA with POSIX disambiguation (Okui-Suzuki algorithm) + TNFA with leftmost-greedy disambiguation + TNFA with POSIX disambiguation (Okui-Suzuki algorithm) + TNFA with lazy POSIX disambiguation (Okui-Suzuki algorithm) + TNFA with POSIX disambiguation (Kuklewicz algorithm) + TNFA with POSIX disambiguation (Cox algorithm) - Added debug subsystem (``--enable-debug`` configure option) and new debug options: + ``-dump-cfg`` (dump control flow graph of tag variables) + ``-dump-interf`` (dump interference table of tag variables) + ``-dump-closure-stats`` (dump epsilon-closure statistics) - Added internal options: + ``--posix-closure <gor1 | gtop>`` (switch between shortest-path algorithms used for the construction of POSIX closure) - Fixed a number of crashes found by American Fuzzy Lop fuzzer: + `#226 <https://github.com/skvadrik/re2c/issues/226>`_, `#227 <https://github.com/skvadrik/re2c/issues/227>`_, `#228 <https://github.com/skvadrik/re2c/issues/228>`_, `#231 <https://github.com/skvadrik/re2c/issues/231>`_, `#232 <https://github.com/skvadrik/re2c/issues/232>`_, `#233 <https://github.com/skvadrik/re2c/issues/233>`_, `#234 <https://github.com/skvadrik/re2c/issues/234>`_, `#238 <https://github.com/skvadrik/re2c/issues/238>`_ - Fixed handling of newlines: + correctly parse multi-character newlines CR LF in ``#line`` directives + consistently convert all newlines in the generated file to Unix-style LF - Changed default tarball format from .gz to .xz. + `#221 <https://github.com/skvadrik/re2c/issues/221>`_: big source tarball - Fixed a number of other bugs and resolved issues: + `#2 <https://github.com/skvadrik/re2c/issues/2>`_: abort + `#6 <https://github.com/skvadrik/re2c/issues/6>`_: segfault + `#10 <https://github.com/skvadrik/re2c/issues/10>`_: lessons/002_upn_calculator/calc_002 doesn't produce a useful example program + `#44 <https://github.com/skvadrik/re2c/issues/44>`_: Access violation when translating the attached file + `#49 <https://github.com/skvadrik/re2c/issues/49>`_: wildcard state \000 rules makes lexer behave weard + `#98 <https://github.com/skvadrik/re2c/issues/98>`_: Transparent handling of #line directives in input files + `#104 <https://github.com/skvadrik/re2c/issues/104>`_: Improve const-correctness + `#105 <https://github.com/skvadrik/re2c/issues/105>`_: Conversion of pointer parameters into references + `#114 <https://github.com/skvadrik/re2c/issues/114>`_: Possibility of fixing bug 2535084 + `#120 <https://github.com/skvadrik/re2c/issues/120>`_: condition consisting of default rule only is ignored + `#167 <https://github.com/skvadrik/re2c/issues/167>`_: Add word boundary support + `#168 <https://github.com/skvadrik/re2c/issues/168>`_: Wikipedia's article on re2c + `#180 <https://github.com/skvadrik/re2c/issues/180>`_: Comment syntax? + `#182 <https://github.com/skvadrik/re2c/issues/182>`_: yych being set by YYPEEK () and then not used + `#196 <https://github.com/skvadrik/re2c/issues/196>`_: Implicit type conversion warnings + `#198 <https://github.com/skvadrik/re2c/issues/198>`_: no match for ‘operator!=’ in ‘i != std::vector<_Tp, _Alloc>::rend() [with _Tp = re2c::bitmap_t, _Alloc = std::allocator<re2c::bitmap_t>]()’ + `#210 <https://github.com/skvadrik/re2c/issues/210>`_: How to build re2c in windows? + `#215 <https://github.com/skvadrik/re2c/issues/215>`_: A memory read overrun issue in s_to_n32_unsafe.cc + `#220 <https://github.com/skvadrik/re2c/issues/220>`_: src/dfa/dfa.h: simplify constructor to avoid g++-3.4 bug + `#223 <https://github.com/skvadrik/re2c/issues/223>`_: Fix typo + `#224 <https://github.com/skvadrik/re2c/issues/224>`_: src/dfa/closure_posix.cc: pack() tweaks + `#225 <https://github.com/skvadrik/re2c/issues/225>`_: Documentation link is broken in libre2c/README + `#230 <https://github.com/skvadrik/re2c/issues/230>`_: Changes for upcoming Travis' infra migration + `#239 <https://github.com/skvadrik/re2c/issues/239>`_: Push model example has wrong re2c invocation, breaks guide + `#241 <https://github.com/skvadrik/re2c/issues/241>`_: Guidance on how to use re2c for full-duplex command & response protocol + `#243 <https://github.com/skvadrik/re2c/issues/243>`_: A code generated for period (.) requires 4 bytes + `#246 <https://github.com/skvadrik/re2c/issues/246>`_: Please add a license to this repo + `#247 <https://github.com/skvadrik/re2c/issues/247>`_: Build failure on current Cygwin, probably caused by force-fed c++98 mode + `#248 <https://github.com/skvadrik/re2c/issues/248>`_: distcheck still looks for README + `#251 <https://github.com/skvadrik/re2c/issues/251>`_: Including what you use is find, but not without inclusion guards - Updated documentation and website.
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]
# processx 3.4.5 * New options in `pty_options` to set the initial size of the pseudo terminal. * Reading the standard output or error now does not crash occasionally when a `\n` character is at the beginning of the input buffer (#281). # processx 3.4.4 * processx now works correctly for non-ASCII commands and arguments passed in the native encoding, on Windows (#261, #262, #263, #264). * Providing multiple environment variables now works on windows (#267). # processx 3.4.3 * The supervisor (activated with `supervise = TRUE`) does not crash on the Windows Subsystem on Linux (WSL) now (#222). * Fix ABI compatibility for pre and post R 4.0.1 versions. Now CRAN builds (with R 4.0.2 and later 4.0.x) work well on R 4.0.0. * Now processx can run commands on UNC paths specified with forward slashes: `//hostname/...` UNC paths with the usual back-slashes were always fine (#249). * The `$as_ps_handle()` method works now better; previously it sometimes created an invalid `ps::ps_handle` object, if the system clock has changed (#258). # processx 3.4.2 * `run()` now does a better job with displaying the spinner on terminals that buffer the output (#223). * Error messages are now fully printed after an error. In non-interactive sessions, the stack trace is printed as well. * Further improved error messages. Errors from C code now include the name of the C function, and errors that belong to a process include the system command (#197). * processx does not crash now if the process receives a SIGPIPE signal when trying to write to a pipe, of which the other end has already exited. * processx now to works better with fork clusters from the parallel package. See 'Mixing processx and the parallel base R package' in the README file (#236). * processx now does no block SIGCHLD by default in the subprocess, blocking potentially causes zombie sub-subprocesses (#240). * The `process$wait()` method now does not leak file descriptors on Unix when interrupted (#141).
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.
This includes a rework of our patchery with the hope of upstreaming a good deal of it. These are the upstream changes since 0.3.10: Version 0.3.15 2-May-2021 common: - imported improvements and bugfixes from Reference-LAPACK 3.9.1 - imported LAPACKE interface fixes from Reference-LAPACK PRs 534 + 537 - fixed a problem in the cpu detection of 0.3.14 that prevented cross-compilation - fixed a sequence problem in the generation of softlinks to the library in GMAKE RISC V: - fixed compilation on RISCV (missing entry in getarch) - fixed a potential division by zero in CROTG and ZROTG POWER: - fixed LAPACK testsuite failures seen with the NVIDIA HPC compiler - improved CGEMM, DGEMM and ZGEMM performance on POWER10 - added an optimized ZGEMV kernel for POWER10 - fixed a potential division by zero in CROTG and ZROTG x86_64: - added support for Intel Control-flow Enforcement Technology (CET) - reverted the DOMATCOPY_RT code to the generic C version - fixed a bug in the AVX512 SGEMM kernel introduced in 0.3.14 - fixed misapplication of -msse flag to non-SSE cpus in DYNAMIC_ARCH - added support for compilation of the benchmarks on older OSX versions - fix propagation of the NO_AVX512 option in CMAKE builds - fix compilation of the AVX512 SGEMM kernel with clang-cl on Windows - fixed compilation of the CTESTs with INTERFACE64=1 (random faults on OSX) - corrected the Haswell DROT kernel to require AVX2/FMA3 rather than AVX512 ARM: - fixed a potential division by zero in CROTG and ZROTG - fixed a potential overflow in IMATCOPY/ZIMATCOPY and the CTESTs ARM64: - fixed spurious reads outside the array in the SGEMM tcopy macro - fixed a potential division by zero in CROTG and ZROTG - fixed a segmentation fault in DYNAMIC_ARCH builds (reappeared in 0.3.14) MIPS - fixed a potential division by zero in CROTG and ZROTG - fixed a potential overflow in IMATCOPY/ZIMATCOPY and the CTESTs MIPS64: - fixed a potential division by zero in CROTG and ZROTG SPARC: - fixed a potential division by zero in CROTG and ZROTG ==================================================================== Version 0.3.14 17-Mar-2021 common: * Fixed a race condition on thread shutdown in non-OpenMP builds * Fixed custom BUFFERSIZE option getting ignored in gmake builds * Fixed CMAKE compilation of the TRMM kernels for GENERIC platforms * Added CBLAS interfaces for CROTG, ZROTG, CSROT and ZDROT * Improved performance of OMATCOPY_RT across all platforms * Changed perl scripts to use env instead of a hardcoded /usr/bin/perl * Fixed potential misreading of the GCC compiler version in the build scripts * Fixed convergence problems in LAPACK complex GGEV/GGES (Reference-LAPACK #477) * Reduced the stacksize requirements for running the LAPACK testsuite (Reference-LAPACK #335) RISCV: * Fixed compilation on RISCV (missing entry in getarch) POWER: * Fixed compilation for DYNAMIC_ARCH with clang and with old gcc versions * Added support for compilation on FreeBSD/ppc64le * Added optimized POWER10 kernels for SSCAL, DSCAL, CSCAL, ZSCAL * Added optimized POWER10 kernels for SROT, DROT, CDOT, SASUM, DASUM * Improved SSWAP, DSWAP, CSWAP, ZSWAP performance on POWER10 * Improved SCOPY and CCOPY performance on POWER10 * Improved SGEMM and DGEMM performance on POWER10 * Added support for compilation with the NVIDIA HPC compiler x86_64: * Added an optimized bfloat16 GEMM kernel for Cooperlake * Added CPUID autodetection for Intel Rocket Lake and Tiger Lake cpus * Improved the performance of SASUM,DASUM,SROT,DROT on AMD Ryzen cpus * Added support for compilation with the NAG Fortran compiler * Fixed recognition of the AMD AOCC compiler * Fixed compilation for DYNAMIC_ARCH with clang on Windows * Added support for running the BLAS/CBLAS tests on Windows * Fixed signatures of the tls callback functions for Windows x64 * Fixed various issues with fma intrinsics support handling ARM: * Added support for embedded Cortex M targets via a new option EMBEDDED ARMV8: * Fixed the THUNDERX2T99 and NEOVERSEN1 DNRM2/ZNRM2 kernels for inputs with Inf * Added support for the DYNAMIC_LIST option * Added support for compilation with the NVIDIA HPC compiler * Added support for compiling with the NAG Fortran compiler ==================================================================== Version 0.3.13 12-Dec-2020 common: * Added a generic bfloat16 SBGEMV kernel * Fixed a potentially severe memory leak after fork in OpenMP builds that was introduced in 0.3.12 * Added detection of the Fujitsu Fortran compiler * Added detection of the (e)gfortran compiler on OpenBSD * Added support for overriding the default name of the library independently from symbol suffixing in the gmake builds (already supported in cmake) RISCV: * Added a RISC V port optimized for C910V POWER: * Added optimized POWER10 kernels for SAXPY, CAXPY, SDOT, DDOT and DGEMV_N * Improved DGEMM performance on POWER10 * Improved STRSM and DTRSM performance on POWER9 and POWER10 * Fixed segmemtation faults in DYNAMIC_ARCH builds * Fixed compilation with the PGI compiler x86: * Fixed compilation of kernels that require SSE2 intrinsics since 0.3.12 x86_64: * Added an optimized bfloat16 SBGEMV kernel for SkylakeX and Cooperlake * Improved the performance of SASUM and DASUM kernels through parallelization * Improved the performance of SROT and DROT kernels * Improved the performance of multithreaded xSYRK * Fixed OpenMP builds that use the LLVM Clang compiler together with GNU gfortran (where linking of both the LLVM libomp and GNU libgomp could lead to lockups or wrong results) * Fixed miscompilations by old gcc 4.6 * Fixed misdetection of AVX2 capability in some Sandybridge cpus * Fixed lockups in builds combining DYNAMIC_ARCH with TARGET=GENERIC on OpenBSD ARM64: * Fixed segmemtation faults in DYNAMIC_ARCH builds MIPS: * Improved kernels for Loongson 3R3 ("3A") and 3R4 ("3B") models, including MSA * Fixed bugs in the MSA kernels for CGEMM, CTRMM, CGEMV and ZGEMV * Added handling of zero increments in the MSA kernels for SSWAP and DSWAP * Added DYNAMIC_ARCH support for MIPS64 (currently Loongson3R3/3R4 only) SPARC: * Fixed building 32 and 64 bit SPARC kernels with the SolarisStudio compilers ==================================================================== Version 0.3.12 24-Oct-2020 common: * Fixed missing BLAS/LAPACK functions (inadvertently dropped during the build system restructuring) * Fixed argument conversion macro in LAPACKE_zgesvdq (LAPACK #458) POWER: * Added optimized SCOPY/CCOPY kernels for POWER10 * Increased and unified the default size of the GEMM BUFFER * Fixed building for POWER10 in DYNAMIC_ARCH mode * POWER10 compatibility test now checks binutils version as well * Cleaned up compiler warnings x86_64: * corrected compiler version checks for AVX2 compatibility * added compiler option -mavx2 for building with flang * fixed direct SGEMM pathway for small matrix sizes (broken by the code refactoring in 0.3.11) * fixed unhandled partial register clobbers in several kernels for AXPY,DOT,GEMV_N and GEMV_T flagged by gcc10 tree-vectorizer ARMV8: * improved Apple Vortex support to include cross-compiling ==================================================================== Version 0.3.11 17-Oct-2020 common: * API change: the newly added BFLOAT16 functions were renamed to use the letter "B" instead of "H" to avoid potential confusion with the IEEE "half precision float" type, i.e. the 0.3.10 SHGEMM is now SBGEMM and the corresponding build option was changed from "BUILD_HALF" to "BUILD_BFLOAT16". * Reduced the default BLAS3_MEM_ALLOC_THRESHOLD (used as an upper limit for placing temporary arrays on the stack) to be compatible with a stack size of 1mb (as imposed by the JAVA runtime library) * Added mixed-precision dot function SBDOT and utility functions shstobf16, shdtobf16, sbf16tos and dbf16tod to convert between single or double precision float arrays and bfloat16 arrays * Fixed prototypes of LAPACK_?ggsvp and LAPACK_?ggsvd functions in lapack.h * Fixed underflow and rounding errors in LAPACK SLANV2 and DLANV2 (causing miscalculations in e.g. SHSEQR/DHSEQR, LAPACK issue #263) * Fixed workspace calculation in LAPACK ?GELQ (LAPACK issue #415) * Fixed several bugs in the LAPACK testsuite * Improved performance of TRMM and TRSM for certain problem sizes * Fixed infinite recursions and workspace miscalculations in ReLAPACK * CMAKE builds no longer require pkg-config for creating the .pc file * Makefile builds no longer misread NO_CBLAS=0 or NO_LAPACK=0 as enabling these options * Fixed detection of gfortran when invoked through an mpi wrapper * Improve thread reinitialization performance with OpenMP after a fork * Added support for building only the subset of the library required for a particular precision by specifying BUILD_SINGLE, BUILD_DOUBLE * Optional function name prefixes and suffixes are now correctly reflected in the generated cblas.h * Added CMAKE build support for the LAPACK and multithreading tests POWER: * Added optimized support for POWER10 * Added support for compiling for POWER8 in 32bit mode * Added support for compilation with LLVM/clang * Added support for compilation with NVIDIA/PGI compilers * Fixed building on big-endian POWER8 * Fixed miscompilation of ZDOTC by gcc10 * Fixed alignment errors in the POWER8 SAXPY kernel * Improved CPU detection on AIX * Supported building with older compilers on POWER9 x86_64: * Added support for Intel Cooperlake * Added autodetection of AMD Renoir/Matisse/Zen3 cpus * Added autodetection of Intel Comet Lake cpus * Reimplemented ?sum, ?dot and daxpy using universal intrinsics * Reset the fpu state before using the fpu on Windows as a workaround for a problem introduced in Windows 10 build 19041 (a.k.a. SDK 2004) * Fixed potentially undefined behaviour in the dot and gemv_t kernels * Fixed a potential segmentation fault in DYNAMIC_ARCH builds * Fixed building for ZEN with PGI/NVIDIA and AMD AOCC compilers ARMV7: * Fixed cpu detection on BSD-like systems ARMV8: * Added preliminary support for Apple Vortex cpus * Added support for the Cavium ThunderX3T110 cpu * Fixed cpu detection on BSD-like systems * Fixed compilation in -std=C18 mode IBM Z: * Added support for compiling with the clang compiler * Improved GEMM performance on Z14
# 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
pkgsrc change: correct CATEGORIES. 1.8.14 (2021-06-09) Implemented enhancements: * (GH-225) Add support for custom insync #285 (michaeltlombardi) * Improve type validation error messages to show expected types #279 (timidri) * Support puppet device --resource ... --to_yaml invocation; drop puppet4 and jruby 1.7 testing #278 (timidri) Fixed bugs: * Git tag 1.8.13 exists, but missing on rubygems.org / in CHANGELOG.md #266 Closed issues: * CHANGELOG.md entries are missing for latest releases? #258 Merged pull requests: * Upgrade to GitHub-native Dependabot #287 (dependabot-preview[bot]) * (IAC-1455) - Removal of Inappropriate Terminology #283 (david22swan) * Update puppetlabs_spec_helper requirement from ~> 2.7 to ~> 3.0 #281 (dependabot-preview[bot]) * (maint) Update Puppet VS Code Extension ID #277 (jpogran) * (IAC-859) Add ruby 2.7 to test matrix #276 (DavidS) * (maint) Cleanup gemfile and fix codecov dependency #275 (DavidS) * Language correction #270 (epackorigan) * (maint) Update CHANGELOG #268 (DavidS) * (maint) update test matrix for current supported versions; remove older versions to cut down on resource usage #265 (DavidS) * (maint) Mock Hocon.load(...) #263 (IrimieBogdan) * Update rake requirement from ~> 10.0 to ~> 13.0 #262 (dependabot-preview[bot]) * (maint) update Gemfile to allow use of non-vulnerable rake version 12.3.3 #260 (DavidS)
Changes since v3.18: - Fixes a variable-font interpolation bug with Roman numeral eight. #382 - Fixes spacing of the latin epsilon glyph thanks to @hcsch. #377 - Adds new glyph U+25AA "blackSmallSquare" including calt mappings for case sensitivity. #373 - Removes U+20E3 "uni20E3" COMBINING ENCLOSING KEYCAP which triggers a bug in chromium, causing certain emoji to not render properly. #371 - Improvements to Roman numerals Changes since v3.17: - Adjusts vertical metrics metadata to that of v3.15 and older. This should fix any vertical alignment issues that might have occurred with v3.17. #361 - Fixes several issues with italics introduced by Glyphs 3 upgrade: - Fixes an issue with backslash in Italic masters. #362 - Fixes issues with afii10026 and uni0376 in italic masters - Fixes issue with italic q U+0071 by inlining the shape instead of using components. #360 - Fixes issue with U+035E COMBINING DOUBLE MACRON and U+20F0 COMBINING ASTERISK ABOVE in Thin Italic. #363 - Fixes positioning issue with U+0358 COMBINING DOT ABOVE RIGHT - Improvements to U+20DC COMBINING FOUR DOTS ABOVE and U+20DB COMBINING THREE DOTS ABOVE - Improvements to U+204E LOW ASTERISK - Improved positioning via mark anchors of combining glyphs U+20F0, U+035E and U+035F. #363 - Changes glyph shape of Latin upper-case iota. #359 - Improved glyph composition via ccmp for enclosed glyphs like U+0041,U+20DD. #335 Changes since v3.15: - Fixes issues with appearance in Microsoft Word. #352 (note that #156 is still unresolved although we have made some progress in v3.16 toward developing workarounds for certain printers.) - Fixes double grave interpolation issue. #317 - Fixes design issue with glyphs acutedblnosp, dblgravecmb, uni02F6 and uni02F5. #339 - Fixes missing or incorrect mark anchors in several turn* glyphs. #336 - Adds Baht currency glyph U+0E3F. #323 - Improvement to Latin iota (lower and upper case) glyphs. #340 - Improvement to some numerical fraction glyphs - Adds a dummy DSIG table to address issues with Microsoft Office 2003 and older - Improvements when using Inter with certain older Microsoft products by decomposing any nested components which some of that software has issues with - Addresses a major regression in v3.16 where several italic glyphs got messed up due to a Glyphs 3 version upgrade of the source file. This only affected users of v3.16 which was only released for about 12 hours before being replaced with this release v3.17. #360 Changes since v3.14: - Fixes an issue with the variable font, where some software would not list the various weights correctly. #308 - Fixes an issue with rendering on Windows with ClearType where some glyphs using advanced OpenType features (component transformations) would render incorrectly, with a slight vertical offset. #251 - Improvements to Elfdalian, improving the /yogonek and /eth glyphs #285 - Improvements to /eth U+00F0 glyph f7924a2#commitcomment-41610142 Changes since v3.13: - Fixes position of ring at bottom of /Aringbelow U+1E00. #266 - Fixes interpolation issues with /omegatitlocyrillic /omega and /pisymbolgreek. #272 - Fixes an issue with /dotmacroncomb.cn used by glyphs like /Adotmacron. #298 - Adds /bitcoin glyph U+20BF. #284 - Adds /insertionsymbol U+2380. #290 - Adds specialized glyphs /Aringogonek, /aringogonek, /Yogonek and /yogonek to fully support Elfdalian script. #285 - Adds U+EE01, a vertically-centered colon used by Android on the lock screen #212 - Improves kerning of /quotedblright,/quoteright and /period,/comma. #299 - Improves design of "Theta" U+03F4, U+0398 and "Fita" U+0472, U+0473. #263, #264 - Improves design of /yhook and use /ucyrillic in /Ukcyrillic /ukcyrillic. #273 - Improves design of /dzaltone and /dzcurl. #268 - Improves design of /percent, /perthousand and /pertenthousand glyphs. #237 - Improves variable-font metadata (STAT table). #265 - Improves (tunes) calt case substitutions, e.g. "x -X". #251 - Changes codepoint mapping of /q.sups from U+146B to private-area U+E163. #275 Changes since v3.12: - Improvements to Greek and Cyrillic glyphs #240 - New stylistic set ss04 which is almost identical to ss02 with the exception of no slashed zero #252 - Fixes interpolation issues with several diacritics in the light weights #257 - Removes codepoint mappings for some math-related enclosed glyphs that would be too large when using the circle-enclosed glyphs #250 - Various improvements and adjustments to glyph shapes, spacing and kerning - Improves OpenType feature name metadata Changes since v3.11: - This release includes major improvements Thin, Light and ExtraLight styles (including italic counterparts) incorporating months of work by @KatjaSchimmel
Change log: eom 1.24.2 * Translations update * eom-save-as-dialog-helper: Fix resource path * Ensure scrollbar moves when dragged to move image eom 1.24.1 * Translations update * help: Fix some incongruencies * build: silent build warnings for distcheck * eom.desktop: Do not collect the translation for Icon * help: Fix Image Collection shortcut (#263) * Use user page on github when user email is private * Update authors
# rio 0.5.27 * Documentation fixes for CRAN. # rio 0.5.26 * Added support for "zsav" format. (#273) # rio 0.5.25 * Modified tests per email request from CRAN. * Added `coerce_character` argument (default FALSE) to `factorize()` to enable coercing character columns to factor. (#278) # rio 0.5.24 * Fix handling of "label" and "labels" attributes when exporting using haven methods (SPSS, Stata, SAS). (#268, h/t Ruben Arslan) * Fix (a different bug?) handling factors by haven::labelled() (#271, Alex Bokov) * HTML import can now handle multiple tbody elements within a single table, a th element in a non-header row, and empty elements in either the header or data. (#260, #263, #264 Bill Denney) # rio 0.5.23 * CSVY support is now provided by `data.table::fread()` and `data.table::fwrite()`, providing significant performance gains. * Added an internal `arg_reconcile()` function to streamline the task of removing/renaming arguments for compatibility with various functions (#245, Alex Bokov) # rio 0.5.22 * Added an `export_list()` function to write a list of data frames to multiple files using a vector of file names or a file pattern. (#207, h/t Bill Denney) * Added an `is_file_text()` function to determine whether a file is in a plain-text format. Optionally narrower subsets of characters can be specified, e.g. ASCII. (#236 Alex Bokov) # rio 0.5.21 * Added support for Apache Arrow (Parquet) files. (#214) * Fix dropping of variable label in `characterize()` and `factorize()`. (#204, h/t David Armstrong) * `import_list()` now returns a `filename` attribute for each data frame in the list (when importing from multiple files), in order to distinguish files with the same base name but different extensions (e.g., `import_list(c("foo.csv", "foo.tsv"))`). (#208, h/t Vimal Rawat) * Import of DBF files now does not convert strings to factors. (#202, h/t @jllipatz) * Implemented `import()` method for .dump R files. (#240) # rio 0.5.20 * Additional pointers were added to indicate how to load .doc, .docx, and .pdf files (#210, h/t Bill Denney) * Ensure that tests only run if the corresponding package is installed. (h/t Bill Denney) * Escape ampersands for html and xml export (#234 Alex Bokov) # rio 0.5.19 * Fix behavior of `export()` to plain text files when `append = TRUE` (#201, h/t Juli�$BC!�(Bn Urbano) * `import_list()` now preserve names of Excel sheets, etc. when the 'which' argument is specified. (#162, h/t Danny Parsons) * Modify message and errors when working with unrecognized file formats. (#195, h/t Trevor Davis) * Add support for GraphPad Prism .pzfx files (#205, h/t Bill Denney) # rio 0.5.18 * Adjust `import()`/`export()` for JSON file formats to allow non-data frame objects. Behavior modeled after RDS format. (#199 h/t Nathan Day) # rio 0.5.17 * Fix `the condition has length > 1 and only the first element will be used` warning in `gather_attributes()`. (#196, h/t Ruben Arslan)
# pillar 1.6.2 ## Options - Options `pillar.print_max`, `pillar.print_min`, `pillar.width` and `pillar.max_extra_cols` are now queried before the corresponding `tibble.` or `dplyr.` options are consulted, the latter will be soft-deprecated in pillar v2.0.0 (#353). - New `pillar.bidi` option. When active, control characters are inserted to improve display of data with right-to-left text (#333). - The new `pillar.max_footer_lines` option (default: 7) allows controlling the maximum number of footer lines shown. It is applied in addition to the existing `tibble.max_extra_cols` option (#263). ## Formatting - If a column doesn't make use of all horizontal width offered to it, the excess width is distributed over other columns (#331). - Improved allocation of free space in multi-tier tables with `getOption("tibble.width") > getOption("width")` (#344). - All pillars are shown with their true horizontal extent, irrespective of the indicated `width`. This simplifies the implementation of custom `pillar_shaft()` methods (#347). ## Features - `num()` gains `extra_sigfig` argument to automatically show more significant figures for numbers of the same magnitude with subtle differences (#97). - `print.tbl()` and `format.tbl()` support the `max_extra_cols` and `max_footer_lines` arguments that override the corresponding options (#360). - `print.tbl()` and `format.tbl()` maps the now deprecated `n_extra` argument to `max_extra_cols` for consistency (#360). ## Bug fixes - Avoid mangling of duplicate column names in footer (#332). - Fix warning with zero of type `bit64::integer64()` (#319). ## Documentation - All package options are now documented in `?pillar_options` (#339). - `obj_sum()` no longer calls `type_sum()` for vectors since pillar v1.6.1, this is now documented (#321). - Fix documentation on usage of `vctrs::vec_proxy()` and `vctrs::vec_restore()` (#322). ## Internal - Using `attr(exact = TRUE)` everywhere. - `is_vector_s3()` is no longer generic (#181). - Fix internal logic around `vec_proxy()` and `vec_restore()` (#316).
1.1.0 (2021-07-31) Features * Use wrapped exception in Faraday::ParsingError to improve legibility of the error (#255, @d-m-u) Bugs fixed * Use JSON.generate instead of .dump in request middleware (#266, @Be-ngt-oH) Chores and misc * Add rubocop-package and drop git ls-files in gemspec (#263, @utkarsh2102)
Changes in version 0.12.3.1 * Bugfix for ghcjs and Double memset for Storable vector: #410 * Avoid haddock bug: #383 * Improve haddock and doctests * Disable problematic tests with -boundschecks #407 Changes in version 0.12.3.0 * Fix performance regression due to introduction of keepAlive# primop in ghc-9.0: #372 * Add monadic functions for mutable vectors: #338 * Added folds for monadic functions: mapM_, imapM_, forM_, iforM_, foldl, foldl', foldM, foldM', ifoldl, ifoldl', ifoldM, ifoldM' * Added modifyM and unsafeModifyM for mutable vectors * Added generate and generateM for mutable vectors Changes in version 0.12.2.0 * Add MINIMAL pragma to Vector & MVector type classes: #11 * Export unstreamM fromfrom Data.Vector.Generic: #70 * New functions: unfoldrExactN and unfoldrExactNM: #140 * Added iforM and iforM_: #262 * Added MonadFix instance for boxed vectors: #178 * Added uncons and unsnoc: #212 * Added foldMap and foldMap': #263 * Added isSameVector for storable vectors * Added toArray, fromArray, toMutableArray and fromMutableArray * Added iscanl, iscanl', iscanr, iscanr' to Primitive, Storable and Unboxed * Added izipWithM, izipWithM_, imapM and imapM_ to Primitive and Storable * Added ifoldM, ifoldM', ifoldM_ and ifoldM'_ to Primitive and Storable * Added eqBy and cmpBy * Added findIndexR to Generic: #172 * Added catMaybes: #329 * Added mapMaybeM and imapMaybeM: #183 Changes in version 0.12.1.2 * Fix for lost function Data.Vector.Generic.mkType: #287 Changes in version 0.12.1.1 (deprecated) * add semigrioups dep to test suite so CI actually runs again on GHC < 8 Changes in version 0.12.1.0 (deprecated) * Fix integer overflows in specializations of Bundle/Stream enumFromTo on Integral types * Fix possibility of OutOfMemory with take and very large arguments. * Fix slice function causing segfault and not checking the bounds properly. * updated specialization rule for EnumFromTo on Float and Double to make sure it always matches the version in GHC Base (which changed as of 8.6) Thanks to Aleksey Khudyakov @Shimuuar for this fix. * fast rejection short circuiting in eqBy operations * the O2 test suite now has reasonable memory usage on every GHC version, special thanks to Alexey Kuleshevich (@lehins). * The Mutable type family is now injective on GHC 8.0 or later. * Using empty Storable vectors no longer results in division-by-zero errors. * The Data instances for Vector types now have well defined implementations for toConstr, gunfold, and dataTypeOf. * New function: partitionWith. * Add Unbox instances for Identity, Const, Down, Dual, Sum, Product, Min, Max, First, Last, WrappedMonoid, Arg, Any, All, Alt, and Compose. * Add NFData1 instances for applicable Vector types.
## [2.2.1] - 2022-05-02 ### Fixed * A bug introduced with a previous fix to version parsing ([#263](pypa/pip-audit#263)) was fixed ([#264](pypa/pip-audit#264)) ## [2.2.0] - 2022-05-02 ### Added * CLI: The `--output` option has been added, allowing users to specify a file to write output to. The default behavior of writing to `stdout` is unchanged ([#262](pypa/pip-audit#262)) ### Fixed * Vulnerability sources: A bug caused by insufficient version normalization was fixed ([#263](pypa/pip-audit#263))
Change log: ### eom 1.26.0 * Translations update * update copyright to 2021 ### eom 1.25.1 * Translations update * eom-window: Remove -Wmissing-field-initializers warnings * build: change the message for NLS in the configure summary * build: allow users to disable gettext support (--disable-nls) * build: Use PACKAGE_URL variable * build: display package name and version in configure summary * Fix desktop file validation warning * Remove cppcheck warning knownConditionTrueFalse * Remove unnecessary casts on signal function calls * Update copyright to 2021 * Remove warning -Wshadow * eom-uri-converter: dereference of NULL 'repl_str' reported by gcc * Do not remove the accelerators from image properties dialog * Upgrade ui files * eom-save-as-dialog-helper: Fix resource path * eom-image: warning -Wexpansion-to-defined * eom-scroll-view.c: Redundant casting GTK_WIDGET * eom-scroll-view: Remove warning incompatible-pointer-types * Ensure scrollbar moves when dragged to move image * require libexif 0.6.22 * Remove unused macros ### eom 1.25.0 * Translations update * eom-metadata-reader: add gdk/gdk.h include * egg-editable-toolbar: Remove trailing spaces/tabs * Shorten the function name for notebook scroll-event * eom-util: Fix code indent * Add tab scrolling support for dialog windows * add git.mk to generate .gitignore * build: silent build warnings for distcheck * eom-window: expand the comment on about dialog * Remove warnings: cast between incompatible function types * eom.desktop: Do not collect the translation for Icon * help: Fix some incongruencies * help: Fix Image Collection shortcut (#263) * Use user page on github when user email is private * Update authors
2.0.30 * Add Text.Cassius.Ordered and Text.Lucius.Ordered modules with parsers to maintain order between attributes and mixin blocks. 2.0.29 * Support the upcoming template-haskell release with GHC 9.4 #267 2.0.28 * Add support for sub-blocks in mixins #264 2.0.27 * Change how embedded templates are located by the compiler. Relative files are now resolved using the Cabal project root, to fix builds of multi-project codebases. #266 * Change how messages are located by the compiler. The message directory is now resolved using the Cabal project root, to fix builds of multi-project codebases. #266 2.0.26 * Support @supports #263
Upstream's changelist: [2.2] fix CVE-2022-45188 by @rdmark in #254 [2.2] papd: Fix incorrect type in printer status check by @smagoun in #320 [2.2] Improvements to the macusers script by @rdmark in #263 [2.2] man pages: create an a2boot man page by @rdmark in #235 [2.2] Improve systemd service dependencies, improving stability at boot on wifi only hosts by @rdmark in #233 [2.2] Update manual to match current behavior and correct typos by @rdmark in #230 #234 #257 [2.2] Remove release notes code since it's no longer used by @rdmark in #256 Create Github workflow that builds, tests, and runs static analysis by @rdmark in #255 #290 #314
### [2.3.1] - 2022-11-29
#### Changed
* The printout of the inferred `intersphinx_mapping` item for inventories
retrieved by URL (`--url`) in the 'suggest' CLI mode is now relocated to
fall immediately below the inventory-search output. It also now is displayed
even if no objects in the `objects.inv` satisfy the score threshold.
([#262](bskinn/sphobjinv#262))
* The 'suggest' CLI mode output now includes dividers for improved
readability.
#### Tests
* The plaintext `tests/resource/objects_attrs.txt` was converted to POSIX EOLs
and declared as binary to git, in order to provide a consistent state for
sdist packaging, regardless of platform (POSIX vs Windows).
* As a result, it was necessary to modify the `scratch_path` fixture to
"`unix2dos`" this file on Windows systems, in order to provide a
consistent test state.
* Similarly, the `decomp_cmp_test` fixture was modified to "`unix2dos`" the
`objects_attrs.txt` resource before comparisons, again in order to provide
a consistent reference artifact. Implementing required direct manipulation
of the bytes contents of the file, instead of the `filecmp.cmp` method
that had been used previously.
* The README doctests and shell tests have been removed from the default
pytest suite. They must be explicitly opted-in with the `--readme` and
`--doctest-glob="README.rst"` flags to pytest.
* A new job, `readme`, has been added to the `aux_tests` stage of the Azure
Pipelines CI to run these tests for PRs and release branches.
* The constraint for `pytest-check` was bumped to `>=1.1.2` and all uses of
the `check` fixture were revised from `with check.check(...):` to
`with check(...):`. ([#265](bskinn/sphobjinv#265))
* Azure Pipelines now has Python 3.11 available for all of Ubuntu, Windows and
MacOS, so it was added to the core text matrix for all platforms.
* A new CI job was created on Azure Pipelines that creates an sdist from the
current project, extracts it into a sandboxed environment, installs the dev
dependencies, and runs the pytest suite (`azure-sdisttest.yml`).
* All uses of `pytest-check` were updated to use the
[v1.1.2 syntax](https://github.com/okken/pytest-check/blob/main/changelog.md#110---2022-nov-21)
(`check` fixture, or `from pytest_check import check`).
#### Internal
* The `sys.exit()` in the case of no objects falling above the 'suggest'
search threshold was refactored into the main `do_suggest()` body, to
minimize the surprise of an `exit()` call coming in a subfunction.
([#263](bskinn/sphobjinv#263))
#### Packaging
* `MANIFEST.in` was revised in order to provide a testable (`pytest --nonloc`)
sdist, in order to streamline packaging of `sphobjinv` for conda-forge.
(Thanks very much to [@anjos](https://github.com/anjos) for getting the
recipes for `sphobjinv` and its dependencies in place! See
[#264](bskinn/sphobjinv#264).)
#### Administrative
* `sphobjinv` is now available via conda-forge! A note was added to the docs
to indicate this.
* The version bump on `pytest-check` no longer permits the use of Python 3.6
in CI. As Python 3.6 is nearly a year beyond EOL, this seems a reasonable
time to officially drop support for it. `python_requires` will still be at
`>=3.6` for now; it *should* still work for 3.6...but, no guarantees.
* The hook versions for `pre-commit-hooks`, `black`, and `pyproject-fmt` were
updated to v4.3, v22.10, and v0.3.5, respectively.
* `CONTENT_LICENSE.txt` was created, to specifically house the full
content/documentation license information.
* `LICENSE.txt` was revised to only hold the MIT License for the code,
primarily so that Github's automatic systems will recognize the project as
MIT licensed.
* Caching of pip downloads was added to all of the Azure Pipelines jobs.
* The version constraint for `pytest-check` was raised to `>=1.1.2`.
* A temporary upper bound was placed on the `flake8` version (now `>=5,<6`,
instead of `>=5`) to avoid pip resolver failures likely due to conflicts
with constraints declared by plugins.
* The older versions of `jsonschema` tested in the `tox` matrix were
streamlined down to 3.0 (`==3.0`), 3.x (`<4`), 4.0 (`<4.1`) and 4.8
(`<4.9`).
* The pin of `sphinx-issues==0.4.0` in the `tox` matrix was removed, to match
the unpinned package in the `requirements-xxx.txt` files.
### [2.3] - 2022-11-08
#### Added
* The CLI now prints the project name and version for the `objects.inv` as
part of the 'suggest' mode output.
* The CLI now prints an inferred `intersphinx_mapping` entry for a remote
docset as part of the 'suggest' mode output, where such inference is
possible. The output from this mapping inference was added to the relevant
tests, and a couple of unit tests on some basic pieces of functionality were
written. ([#149](bskinn/sphobjinv#149))
* The CLI now provides considerably more information about what is happening
with the URLs it checks when trying to retrieve a remote inventory.
([#99](bskinn/sphobjinv#99), plus more)
* CLI 'suggest' results output now displays more information about
the total number of objects in the inventory, the search score threshold,
and the number of results falling at/above that threshold.
([#232](bskinn/sphobjinv#232))
* A new CLI option, `-p`/`--paginate`, enables paging of the results from the
`suggest` feature. ([#70](bskinn/sphobjinv#70))
#### Fixed
* The regex for parsing object lines from decompressed inventories now
correctly processes `{role}` values that contain internal colons.
* CLI corner case where options are passed but no subparser is specified
now results in a clean error-exit, instead of an exception.
([#239](bskinn/sphobjinv#239))
#### Documentation
* Updated doctests to reflect the new v22.1 attrs `objects.inv` used for
demonstration purposes.
* Updated `syntax.rst` to indicate that the `{role}` in an inventory object
MAY contain a colon.
* Added new 'CLI implementation' pages for the new modules, downstream of the
refactoring of the CLI 'convert' and 'suggest' code.
* Revised the intro paragraph of the 'CLI usage' page to more clearly emphasize
the two CLI subcommands and the links to their respective docs pages.
* Fixed a mistake in the CLI help info for the `--url` argument to `convert`.
#### Tests
* Various tests were updated to reflect the contents of the new v22.1 attrs
`objects.inv` introduced to replace the previous v17.2 inventory.
* A modern Sphinx `objects.inv` (v6.0.0b) was added to `tests/resource` as
`objects_sphinx.inv`, and the previous v1.6.6 was renamed to
`objects_sphinx_1_6_6.inv`.
* The 'valid objects' test cases were updated to reflect the possibility for a
colon within `{role}`:
* The colon-within-`{role}` test case was moved from 'invalid' to 'valid'.
* The colon-within-`{domain}` test case was also moved from 'invalid' to
'valid', but with an annotation added to indicate that it's not actually
viable---it will actually be interpreted incorrectly, with the first
portion of the colon-containing `{domain}` imported as `{domain}`, and the
remainder imported as part of `{role}`.
#### Internal
* Refactor CLI code to place the 'convert' and 'suggest' implementations in
their own modules.
* Refactor CLI 'suggest' code to the main `do_suggest()` function and a
handful of sub-functions.
* Rename the `log_print()` CLI helper function to the more-descriptive
`print_stderr()`.
* Bump development Sphinx version to v5.3.
* Bump flake8 version to >=5, due to the absorption of flake8-colors
colorization functionality. The flake8/tox config was updated accordingly.
* Bump pre-commit black hook to v22.3.0.
* Remove PyPy and Python 3.6 from Azure Pipelines test matrix.
* Revise `__version__` retrieval in `setup.py` to use an intermediate
dictionary with `exec()`.
* Update `setup.cfg` to use `license_files`, instead of the deprecated
`license_file`.
#### Administrative
* Apply CC BY 4.0 to documentation and docstrings and update project files to
reflect.
### [2.2.2] - 2022-03-22
#### Fixed
* UnicodeDecodeErrors are ignored within the vendored `fuzzywuzzy` package
during `suggest` operations, using the `errors=replace` mode within
bytes.decode().
* This misbehavior emerged after vendoring `fuzzywuzzy`, suggesting that
it was a bug fixed later on in that project's development, after the
point from which it was vendored.
* This change may alter `suggest` behavior for those inventory objects with
pathological characters. But, given their rarity, user experience is not
expected to be noticeably affected.
#### Internal
* The `pyproject-fmt` formatted was added as a pre-commit hook.
* The `flake8-raise` plugin was added to the linting suite.
#### Testing
* A smoke test for error-free `suggest` execution was added for all of the
inventory files in `tests/resource`.
### [2.2.1] - 2022-02-05
#### Internal
* The `benchmarks.py` file within the vendored version of `fuzzywuzzy`
was removed. This *should* have no effect on `sphobjinv` functionality.
* Per [#223](bskinn/sphobjinv#223), the
Python 2 code within `benchmarks.py` breaks a full-source compilation
done as part of an RPM packaging workflow.
### [2.2] - 2022-01-30
#### Administrative
* The project documentation has been updated to reflect the deprecation
of the `python-Levenshtein` speedup.
* `pre-commit` has been added to the project, primarily to automate
`black` code formatting on every commit.
* The default trailing-whitespace, end-of-file, YAML syntax, and
large-file-prevention hooks have also been added.
#### Internal
* `sphinx-removed-in` was added as a dev and RTD dependency, to provide
the `versionremoved` Sphinx directive.
### [2.2b1] - 2021-12-23
#### Removed
* Acceleration of the `suggest` functionality via use of `python-Levenshtein`
is no longer possible due to the vendoring of an early, MIT-licensed version
of `fuzzywuzzy`, as noted below. The `speedup` install extra is now obsolete,
and has been removed.
#### Internal
* The `fuzzywuzzy` string matcher was vendored into the project from a point
in its development history before the `python-Levenshtein` dependency,
and its corresponding GPL encumbrance, was introduced.
#### Administrative
* Project default branch migrated to `main` from `master`.
* Standard development Python version bumped to 3.10.
* Standard development Sphinx version bumped to 4.3.1.
* Active support for Python 3.11 added.
### [2.1] - 2021-04-14
#### Added
* Python 3.10 support was officially added.
#### Changed
* The User-Agent header sent by `Inventory` when making an HTTP(S) request
now identifies `sphobjinv` and its version (anticipate no API or
behavior change).
* An extraneous newline was removed before tables printed in the
'suggest' CLI mode (cosmetic change).
#### Fixed
* Previously, `sphobjinv.Inventory` would ignore entries in `objects.inv`
that contained spaces within `name`
(see [#181](bskinn/sphobjinv#181));
this is now fixed.
#### Removed
* Python 3.5 is no longer supported.
* The relaxation of the integer constraint on the `priority` field
introduced in v2.1b1 has been *reverted*, as `objects.inv` data lines
with such non-integer `priority` values are skipped by Sphinx.
#### Internal
* Where possible, string interpolation has been refactored to use
f-strings.
* A 'speedup' `extras_require` entry has been added to allow simple installation
of `python-Levenshtein` for Linux and MacOS platforms, as
`pip install sphobjinv[speedup]`. This extra does nothing on Windows, since
compilation machinery is anticipated not to be available for most users.
* `objects_mkdoc_zlib0.inv`, which was compressed at `zlib` level 0,
has been added to the test resources directory.
* This file had to be flagged as binary in `.gitattributes` in order to avoid
git EOL auto-conversion on Windows.
* The CLI functionality was refactored from the single `sphobjinv.cmdline` module
into a dedicated set of `sphobjinv.cli.*` submodules.
* Some internal `type(...) is ...` checks were replaced with `isinstance(...)`
#### Testing
* Added *significant* body of new tests to confirm inventory compatibility
with both `sphobjinv` and Sphinx itself.
* Consistency checks added both for data within `sphobjinv.Inventory` instances
**AND** as emitted from `sphinx.ext.inventory.InventoryFile.load()`.
* The tests in `tests/test_valid_objects.py` strive to bracket as precisely
as possible what content is allowed on an `objects.inv` data line,
in addition to providing guidance on what is allowable, but discouraged.
`docs/source/syntax.rst` was also edited to reflect this guidance.
* Additional tests have been added to probe corner cases involving Windows EOLs.
* A test was added to ensure that the schema in `sphobjinv.schema` is in fact
a valid JSON schema.
* Multiple asserts/checks per test method have been converted to use
`pytest-check` instead of `pytest-subtests`, due to some inconsistent
behavior with the latter.
* `tox` environments and dependencies were updated, and some flake8 configuration
was adjusted.
#### Administrative
* Standard development Python version bumped to 3.9.
* Standard development Sphinx version bumped to 3.5.0.
* Added `[skip ci]` flag in commit text for skipping Github Actions CI.
* RtD upgraded to use Python 3.8.
* Added 'radio Sphinx' logo to RtD docs.
* Drafted `CONTRIBUTING.md` and added PR & issue templates.
* Tranferred most project metadata from `setup.py` to `setup.cfg`.
### [2.1b1] - 2020-11-13
#### Fixed
* Equality tests on Inventory and DataObjStr/DataObjBytes instances
now work correctly.
* Non-integer and non-numeric values for `priority` are now accepted
during `Inventory` instantiation, consistent with what is allowed
by `DataObjStr` and `DataObjBytes` instantiation.
### [2.1a2] - 2020-10-27
#### Added
* When an inventory is retrieved via CLI from a remote URL with `-u`,
the resolved location of the inventory is included in generated JSON
at `json_dict.metadata.url`.
#### Changed
* CLI logging messages are now emitted to stderr instead of stdout.
### [2.1a1] - 2020-10-26
#### Added
* A hyphen can now be passed as the CLI input and/or output file name
to instruct sphobjinv to use stdin and/or stdout, respectively.
* The `fileops` and `inventory` APIs are now tested to work with
both strings and `pathlib.Path` objects, where they interact
with the filesystem.
#### Refactored
* Patterns in regular expressions are now defined with raw strings
to improve readability.
## 3.0.0 - 2023-06-03⚠️ This release contains some minor breaking changes in the internal API and improvements to the parsing strictness. **Full Changelog**: <executablebooks/markdown-it-py@v2.2.0...v3.0.0> ### ⬆️ UPGRADE: Drop support for Python 3.7 Also add testing for Python 3.11 ### ⬆️ UPGRADE: Update from upstream markdown-it `12.2.0` to `13.0.0` A key change is the addition of a new `Token` type, `text_special`, which is used to represent HTML entities and backslash escaped characters. This ensures that (core) typographic transformation rules are not incorrectly applied to these texts. The final core rule is now the new `text_join` rule, which joins adjacent `text`/`text_special` tokens, and so no `text_special` tokens should be present in the final token stream. Any custom typographic rules should be inserted before `text_join`. A new `linkify` rule has also been added to the inline chain, which will linkify full URLs (e.g. `https://example.com`), and fixes collision of emphasis and linkifier (so `http://example.org/foo._bar_-_baz` is now a single link, not emphasized). Emails and fuzzy links are not affected by this. * ♻️ Refactor backslash escape logic, add `text_special` [#276](executablebooks/markdown-it-py#276) * ♻️ Parse entities to `text_special` token [#280](executablebooks/markdown-it-py#280) * ♻️ Refactor: Add linkifier rule to inline chain for full links [#279](executablebooks/markdown-it-py#279) *‼️ Remove `(p)` => `§` replacement in typographer [#281](executablebooks/markdown-it-py#281) *‼️ Remove unused `silent` arg in `ParserBlock.tokenize` [#284](executablebooks/markdown-it-py#284) * 🐛 FIX: numeric character reference passing [#272](executablebooks/markdown-it-py#272) * 🐛 Fix: tab preventing paragraph continuation in lists [#274](executablebooks/markdown-it-py#274) * 👌 Improve nested emphasis parsing [#273](executablebooks/markdown-it-py#273) * 👌 fix possible ReDOS in newline rule [#275](executablebooks/markdown-it-py#275) * 👌 Improve performance of `skipSpaces`/`skipChars` [#271](executablebooks/markdown-it-py#271) * 👌 Show text of `text_special` in `tree.pretty` [#282](executablebooks/markdown-it-py#282) ### ♻️ REFACTOR: Replace most character code use with strings The use of `StateBase.srcCharCode` is deprecated (with backward-compatibility), and all core uses are replaced by `StateBase.src`. Conversion of source string characters to an integer representing the Unicode character is prevalent in the upstream JavaScript implementation, to improve performance. However, it is unnecessary in Python and leads to harder to read code and performance deprecations (during the conversion in the `StateBase` initialisation). See [#270](executablebooks/markdown-it-py#270), thanks to [@hukkinj1](https://github.com/hukkinj1). ### ♻️ Centralise indented code block tests For CommonMark, the presence of indented code blocks prevent any other block element from having an indent of greater than 4 spaces. Certain Markdown flavors and derivatives, such as mdx and djot, disable these code blocks though, since it is more common to use code fences and/or arbitrary indenting is desirable. Previously, disabling code blocks did not remove the indent limitation, since most block elements had the 3 space limitation hard-coded. This change centralised the logic of applying this limitation (in `StateBlock.is_code_block`), and only applies it when indented code blocks are enabled. This allows for e.g. ```md <div> <div> I can indent as much as I want here. <div> <div> ``` See [#260](executablebooks/markdown-it-py#260) ### 🔧 Maintenance changes Strict type annotation checking has been applied to the whole code base, [ruff](https://github.com/charliermarsh/ruff) is now used for linting, and fuzzing tests have been added to the CI, to integrate with Google [OSS-Fuzz](https://github.com/google/oss-fuzz/tree/master/projects/markdown-it-py) testing, thanks to [@DavidKorczynski](https://github.com/DavidKorczynski). * 🔧 MAINTAIN: Make type checking strict [#](executablebooks/markdown-it-py#267) * 🔧 Add typing of rule functions [#283](executablebooks/markdown-it-py#283) * 🔧 Move linting from flake8 to ruff [#268](executablebooks/markdown-it-py#268) * 🧪 CI: Add fuzzing workflow for PRs [#262](executablebooks/markdown-it-py#262) * 🔧 Add tox env for fuzz testcase run [#263](executablebooks/markdown-it-py#263) * 🧪 Add OSS-Fuzz set up by @DavidKorczynski in [#255](executablebooks/markdown-it-py#255) * 🧪 Fix fuzzing test failures [#254](executablebooks/markdown-it-py#254)
Changelog:
This release adds a script for bash autocompletion for nsd-control. Also
nsd-control can be configured to use unencrypted operation also when
compiled without openssl. There is also a systemd service unit example
file contributed. The dnstap log service can be contacted over TCP, with
the dnstap-ip: ip option. It is also possible to use TLS, with
dnstap-tls, it is enabled by default, and can be configured with the
dnstap-server-name, dnstap-cert-bundle, dnstap-client-key-file and
dnstap-client-cert-file options. The configure option
--enable-root-server is obsolete, it is no longer used and defaults to
on. In addition, the build file should support multicore build with
flex and bison more easily.
FEATURES:
Merge #263: Add bash autocompletion script for nsd-control.
Fix #267: Allow unencrypted local operation of nsd-control.
Merge #269 from Fale: Add systemd service unit.
Fix #271: DNSTAP over TCP, with dnstap-ip: "127.0.0.1@3333".
dnstap over TLS, default enabled. Configured with the
options dnstap-tls, dnstap-tls-server-name, dnstap-tls-cert-bundle,
dnstap-tls-client-key-file and dnstap-tls-client-cert-file.
BUG FIXES:
Fix #239: -Wincompatible-pointer-types warning in remote.c.
Fix configure for -Wstrict-prototypes.
Fix #262: Zone(s) not synchronizing properly via TLS.
Fix for #262: More error logging for SSL read failures for zone
transfers.
Merge #265: Fix C99 compatibility issue.
Fix #266: Fix build with --without-ssl.
Fix for #267: neater variable definitions.
Fix #270: reserved identifier violation.
Fix to clean more memory on exit of dnstap collector.
Fix dnstap to not check socket path when using IP address.
Fix to compile without ssl with dnstap-tls code.
Dnstap tls code fixes.
Fix include brackets for ssl.h include statements, instead of quotes.
Fix static analyzer warning about nsd_event_method initialization.
Fix #273: Large TXT record breaks AXFR.
Fix ixfr create from adding too many record types.
Fix cirrus script for submit to coverity scan to libtoolize
the configure script components config.guess and config.sub.
Fix readme status badge links.
make depend.
Fix for build to run flex and bison before compiling code that needs
the headers.
Fix to remove unused whitespace from acx_nlnetlabs.m4 and config.h.
For #279: Note that autoreconf -fi creates the configure script
and also the needed auxiliary files, for autoconf 2.69 and 2.71.
Fix unused variable warning in unit test, from clang compile.
Fix #240: Prefix messages originating from verifier.
Fix #275: Drop unnecessary root server checks.
Highlights v0.16.0 is a big release with some new features: - CLI now doesn't require a running instance to handle commands (#290) - add file cache support for user's data (liked tracks, saved albums, followed artists, etc) (#306) - add support for opening a Spotify link from clipboard (#307) What's Changed - Add Scoop installation instruction to Readme by @rashil2000 in #263 - Improve lyrics lookup by removing remix & remaster info in query. by @Icelk in #266 - Fix typos by @kianmeng in #267 - fix: missing https for song links by @sjdonado in #269 - map media control Pause and Resume to PlayerRequests by @SebRollen in #272 - Allow shuffling context playback from CLI by @rudiejd in #275 - add explicit tags to track information by @SebRollen in #276 - Clamped progress bars to solve problems with -ve numbers by @whiskyplausible in #274 - Miscellaneous refactor and improvement by @aome510 in #287 - use track's id of linked_from if exists by @aome510 in #286 - Support handling CLI commands without a running application instance by @aome510 in #290 - Allow disabling notify when client is not streaming by @VenMolom in #298 - support disabling notification from config by @aome510 in #303 - bind C-z to AddSelectedItemToQueue by @aome510 in #304 - Cache user's data into files (liked tracks, saved albums, followed artists, etc) by @aome510 in #306 - Support open spotify link by @aome510 in #307
What's Changed - Update Ratatui to 0.25 + Update dependencies by @AmmarAbouZor in #261 - Chore: Bump thiserror from 1.0.51 to 1.0.52 by @dependabot in #263 - Ignore key events of types other than press by @AmmarAbouZor in #267
This implements changes in the upstream build process and fixes the missing builtin static files in recent versions.
bindatatag toGO_TAGSfor integrating static files into the binary, see upstream "install from source" docsgotogmakeand gitea'sMakefilefor building the packageLDFLAGSwhere they shouldn't benodejsandnpmadded as build dependenciesVERSIONfile is used in the gitea'sMakefilefor baking the correct version into the binary