Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gitea: use gitea Makefile, fix builtin static files #263

Closed
wants to merge 1 commit into from
Closed

gitea: use gitea Makefile, fix builtin static files #263

wants to merge 1 commit into from

Conversation

teutat3s
Copy link
Member

This implements changes in the upstream build process and fixes the missing builtin static files in recent versions.

  • Most important change is adding the missing bindata tag to GO_TAGS for integrating static files into the binary, see upstream "install from source" docs
  • Switch from go to gmake and gitea's Makefile for building the package
  • Added small patch to fix LDFLAGS where they shouldn't be
  • nodejs and npm added as build dependencies
  • VERSION file is used in the gitea's Makefile for baking the correct version into the binary

@jperkin jperkin self-assigned this May 21, 2020
@jperkin
Copy link
Collaborator

jperkin commented May 21, 2020

Thanks! I've committed this now with a few changes:

  • No need to manually update the $NetBSD$ lines, CVS handles those.

  • I removed the dependencies on nodejs/npm and instead added a target to pre-generate the frontend files that can be downloaded separately at build time. We try very hard to avoid packages downloading files by themselves during builds.

  • I didn't enable the bindata option as the documentation actually recommended against it for production environments. If at some point we decide that it might be useful to enable then it should probably go behind its own option. In any case adding it behind the sqlite option is incorrect.

Otherwise a pretty good first attempt, thanks a lot for the update, I'm sure users will appreciate having a working UI ;-)

@jperkin jperkin closed this May 21, 2020
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request May 21, 2020
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.
@teutat3s
Copy link
Member Author

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?

@teutat3s teutat3s deleted the gitea_fix_static_files branch August 10, 2020 20:03
jperkin pushed a commit that referenced this pull request Sep 21, 2020
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.
jperkin pushed a commit that referenced this pull request Nov 6, 2020
Version 1.64.1
--------------

- The BigInt type is now _actually_ available, as it wasn't enabled in the
  1.64.0 release even though it was mentioned in the release notes.

- Closed bugs and merge requests:
  * testCommandLine's Unicode tests failing on Alpine Linux [Philip Chimento,
    #296, !399]
  * build: Various clean-ups [Jan Tojnar, !403]
  * Correctly handle vfunc inout parameters [Marco Trevisan, !404]
  * Fix failed redirect of output in CommandLine tests [Liban Parker, !409]

Version 1.58.6
--------------

- Various backports:
  * Correctly handle vfunc inout parameters [Marco Trevisan]
  * Fix failed redirect of output in CommandLine tests [Liban Parker]
  * Avoid filename conflict when tests run in parallel [Philip Chimento]

Version 1.64.0
--------------

- No change from 1.63.92.

Version 1.63.92
---------------

- Closed bugs and merge requests:
  * object: Use g_irepository_get_object_gtype_interfaces [Colin Walters, Philip
    Chimento, #55, !52]
  * Add -fno-semantic-interposition to -Bsymbolic-functions [Jan Alexander
    Steffens (heftig), #303, !397]
  * examples: add a dbus-client and dbus-service example [Andy Holmes, !398]
  * Various GNOME Shell crashes during GC, mozjs68 regression [Jan Alexander
    Steffens (heftig), Philip Chimento, #301, !396]

Version 1.63.91
---------------

- Closed bugs and merge requests:
  * [mozjs68] Reorganize modules for ESM. [Evan Welsh, Philip Chimento, !383]
  * Various maintenance [Philip Chimento, !388]
  * Fix building GJS master with Visual Studio and update build instructions
    [Chun-wei Fan, !389]
  * Resolve "Gnome Shell crash on GC run with mozjs68" [Philip Chimento, !391]
  * installed-tests/js: Add missing dep on warnlib_typelib [Jan Alexander
    Steffens, !393]
  * object: Cache known unresolvable properties [Daniel van Vugt, Philip
    Chimento, !394, #302]

Version 1.58.5
--------------

- Closed bugs and merge requests:
  * Fix Visual Studio builds of gnome-3-34 (1.58.x) branch [Chun-wei Fan, !392]
  * Can not access GObject properties of classes without GI information [Juan
    Pablo Ugarte, !385, #299]

Version 1.63.90
---------------

- New JS API: The GObject module has gained new overrides:
  GObject.signal_handler_find(), GObject.signal_handlers_block_matched(),
  GObject.signal_handlers_unblock_matched(), and
  GObject.signal_handlers_disconnect_matched(). These overrides replace the
  corresponding C API, which was not idiomatic for JavaScript and was not fully
  functional because it used bare C pointers for some of its functionality.
  See modules/overrides/GObject.js for API documentation.

- New JavaScript features! This version of GJS is based on SpiderMonkey 68, an
  upgrade from the previous ESR (Extended Support Release) of SpiderMonkey 60.
  Here are the highlights of the new JavaScript features.
  For more information, look them up on MDN or devdocs.io.

  * New language features
    + The BigInt type, currently a stage 3 proposal in the ES standard, is now
      available.

  * New syntax
    + `globalThis` is now the ES-standard supported way to get the global
      object, no matter what kind of JS environment. The old way, `window`, will
      still work, but is no longer preferred.
    + BigInt literals are expressed by a number with "n" appended to it: for
      example, `1n`, `9007199254740992n`.

  * New APIs
    + String.prototype.trimStart() and String.prototype.trimEnd() now exist and
      are preferred instead of trimLeft() and trimRight() which are nonstandard.
    + String.prototype.matchAll() allows easier access to regex capture groups.
    + Array.prototype.flat() flattens nested arrays, well-known from lodash and
      similar libraries.
    + Array.prototype.flatMap() acts like a reverse filter(), allowing adding
      elements to an array while iterating functional-style.
    + Object.fromEntries() creates an object from iterable key-value pairs.
    + Intl.RelativeTimeFormat is useful for formatting time differences into
      human-readable strings such as "1 day ago".
    + BigInt64Array and BigUint64Array are two new typed array types.

  * New behaviour
    + There are a lot of minor behaviour changes as SpiderMonkey's JS
      implementation conforms ever closer to existing ECMAScript standards and
      adopts new ones. For complete information, read the Firefox developer
      release notes:
      https://developer.mozilla.org/en-US/Firefox/Releases/61#JavaScript
      https://developer.mozilla.org/en-US/Firefox/Releases/62#JavaScript
      https://developer.mozilla.org/en-US/Firefox/Releases/63#JavaScript
      https://developer.mozilla.org/en-US/Firefox/Releases/64#JavaScript
      https://developer.mozilla.org/en-US/Firefox/Releases/65#JavaScript
      https://developer.mozilla.org/en-US/Firefox/Releases/66#JavaScript
      https://developer.mozilla.org/en-US/Firefox/Releases/67#JavaScript
      https://developer.mozilla.org/en-US/Firefox/Releases/68#JavaScript

  * Backwards-incompatible changes
    + The nonstandard String generics were removed. These had only ever been
      implemented by Mozilla and never made it into a standard. (An example of a
      String generic is calling a string method on something that might not be a
      string like this: `String.endsWith(foo, 5)`. The proper way is
      `String.prototype.endsWith.call(foo, 5)` or converting `foo` to a string.)
      This should not pose much of a problem for existing code, since in the
      previous version these would already print a deprecation warning whenever
      they were used.
      You can use `moz68tool` from mozjs-deprecation-tools
      (https://gitlab.gnome.org/ptomato/moz60tool) to scan your code for this
      nonstandard usage.

- Closed bugs and merge requests:
  * invalid import on signal.h [#295, !382, Philip Chimento]
  * SpiderMonkey 68 [#270, !386, Philip Chimento]
  * GObject: Add override for GObject.handler_block_by_func [#290, !371, Philip
    Chimento]

Version 1.63.3
--------------

- Closed bugs and merge requests:
  * JS ERROR: TypeError: this._rooms.get(...) is undefined [Philip Chimento,
    #289, !367]
  * Run CI build with --werror [Philip Chimento, #286, !365]
  * build: Remove Autotools build system [Philip Chimento, !364]
  * gjs-symlink script is incompatible with distro builds [Michael Catanzaro,
    Bastien Nocera, #291, !369, !370]
  * installed-tests: Don't hardcode the path of bash [Ting-Wei Lan, !372]
  * Update Visual Studio build instructions (after migrating to full Meson-based
    builds) [Chun-wei Fan, !375]
  * object: Warn when setting a deprecated property [Florian Müllner, !378]
  * CI: Create mozjs68 CI images [Philip Chimento, !379]
  * Various maintenance [Philip Chimento, !374, !380, !381]

Version 1.58.4
--------------

- Now prints a warning when constructing an unregistered object inheriting from
  GObject (i.e. if you forgot to use GObject.registerClass.) In 1.58.2 this
  would throw an exception, which broke some existing code, so that change was
  reverted in 1.58.3. In this version the check is reinstated, but we log a
  warning instead of throwing an exception, so that people know to fix their
  code, but without breaking things.
  NOTE: In 1.64 (the next stable release) the warning will be changed back into
  an exception, because code with this problem can be subtly broken and cause
  unexpected errors elsewhere. So make sure to fix your code if you get this
  warning.

- Closed bugs and merge requests:
  * GSettings crash fixes [Andy Holmes, !373]

- Memory savings for Cairo objects [Philip Chimento, !374]

- Fix for crash in debug functions [Philip Chimento, !374]

Version 1.63.2
--------------

- There is an option for changing the generated GType name for GObject classes
  created in GJS to a new scheme that is less likely to have collisions. This
  scheme is not yet the default, but you can opt into it by setting
  `GObject.gtypeNameBasedOnJSPath = true;` as early as possible in your
  prograṁ. Doing this may require some changes in Glade files if you use
  composite widget templates.

  We recommend you make this change in your codebase as soon as possible, to
  avoid any surprises in the future.

- New JS API: GObject.Object has gained a stop_emission_by_name() method which
  is a bit more idiomatic than calling GObject.signal_stop_emission_by_name().

- It's now supported to use the "object" attribute in a signal connection in a
  composite widget template in a Glade file.

- Closed bugs and merge requests:
  * CI: Tweak eslint rule for unneeded parentheses [Florian Müllner, !353]
  * Smarter GType name computation [Marco Trevisan, !337]
  * Meson CI [Philip Chimento, !354]
  * Visual Studio builds using Meson [Chun-wei Fan, !355]
  * Hide internal symbols from ABI [Marco Trevisan, #194, !352]
  * Allow creating custom tree models [Giovanni Campagna, #71]
  * build: Fix dist files [Florian Müllner, !357]
  * GObject: Add convenience wrapper for signal_stop_emission_by_name() [Florian
    Müllner, !358]
  * Various maintenance [Philip Chimento, !356]
  * object_instance_props_to_g_parameters should do more check on argv [Philip
    Chimento, #63, !359]
  * Support flat C arrays of structures [Philip Chimento, !361]
  * Gtk Templates: support connectObj argument [Andy Holmes, !363]

- Various build fixes [Philip Chimento]

Version 1.58.2
--------------

- Closed bugs and merge requests:
  * GObject based class initialization checks [Marco Trevisan, Philip Chimento,
    !336]
  * Silently leaked return value of callbacks [Xavier Claessens, Philip
    Chimento, #86, !44]
  * Crash when calling Gio.Initable.async_init with not vfunc_async_init
    implementation [Philip Chimento, #287, !362]
  * [cairo] insufficient checking [Philip Chimento, #49, !360]

- Various crash fixes backported from the development branch that didn't close
  a bug or merge request.

Version 1.63.1
--------------

- Note that the 1.59, 1.60, 1.61, and 1.62 releases are hereby skipped, because
  we are calling the next stable series 1.64 to match gobject-introspection and
  GLib.

- GJS now includes a Meson build system. This is now the preferred way to build
  it; however, the old Autotools build system is still available for a
  transitional period.

- Closed bugs and merge requests:
  * GObject: Add convenience wrapper for signal_handler_(un)block() [Florian
    Müllner, !326]
  * GObject based class initialization checks [Marco Trevisan, Philip Chimento,
    !336]
  * Meson port [Philip Chimento, !338]
  * add http client example [Sonny Piers, !342]
  * Smaller CI, phase 2 [Philip Chimento, !343]
  * add websocket client example [Sonny Piers, !344]
  * Fix Docker images build [Philip Chimento, !345]
  * CI: Use new Docker images [Philip Chimento, !346]
  * docs: Update internal links [Andy Holmes, !348]
  * Don't pass generic marshaller to g_signal_newv() [Niels De Graef, !349]
  * tests: Fail debugger tests if command failed [Philip Chimento, !350]
  * Minor CI image fixes [Philip Chimento, !351]
  * Various fixes [Marco Trevisan, Philip Chimento]

Version 1.58.1
--------------

- Closed bugs and merge requests:
  * Import wiki documentation [Sonny Piers, !341]
  * Smaller CI, phase 1 [Philip Chimento, !339]
  * Crashes after setting child property 'icon-name' on GtkStack then displaying
    another GtkStack [Florian Müllner, #284, !347]
  * GLib.strdelimit crashes [Philip Chimento, #283, !340]

Version 1.58.0
--------------

- No change from 1.57.92.

Version 1.57.92
---------------

- Closed bugs and merge requests:
  * tests: Enable regression test cases for GPtrArrays and GArrays of structures
    [Stéphane Seng, !334]
  * Various maintenance [Philip Chimento, !333, !335]

Version 1.57.91
---------------

- GJS no longer links to libgtk-3. This makes it possible to load the Gtk-4.0
  typelib in GJS and write programs that use GTK 4.

- The heapgraph tool has gained some improvements; it is now possible to print a
  heap graph of multiple targets. You can also mark an object for better
  identification in the heap graph by assigning a magic property: for example,
  myObject.__heapgraph_name = 'Button' will make that object identify itself as
  "Button" in heap graphs.

- Closed bugs and merge requests:
  * Remove usage of Lang in non legacy code [Sonny Piers, !322]
  * GTK4 [Florian Müllner, #99, !328, !330]
  * JS syntax fixes [Marco Trevisan, Philip Chimento, !306, !323]
  * gi: Avoid infinite recursion when converting GValues [Florian Müllner, !329]
  * Implement all GObject-introspection test suites [Philip Chimento, !327,
    !332]
  * Heapgraph improvements [Philip Chimento, !325]

Version 1.57.90
---------------

- New JS API: GLib.Variant has gained a recursiveUnpack() method which
  transforms the variant entirely into a JS object, discarding all type
  information. This can be useful for dealing with a{sv} dictionaries, where
  deepUnpack() will keep the values as GLib.Variant instances in order to
  preserve the type information.

- New JS API: GLib.Variant has gained a deepUnpack() method which is exactly the
  same as the already existing deep_unpack(), but fits with the other camelCase
  APIs that GJS adds.

- Closed bugs and merge requests:
  * Marshalling of GPtrArray broken [#9, !311, Stéphane Seng]
  * Fix locale chooser [!313, Philip Chimento]
  * dbus-wrapper: Remove interface skeleton flush idle on dispose [!312, Marco
    Trevisan]
  * gobject: Use auto-compartment when getting property as well [!316, Florian
    Müllner]
  * modules/signals: Use array destructuring in _emit [!317, Jonas Dreßler]
  * GJS can't call glibtop_init function from libgtop [#259, !319,
    Philip Chimento]
  * GLib's VariantDict is missing lookup [#263, !320, Sonny Piers]
  * toString on an object implementing an interface fails [#252, !299, Marco
    Trevisan]
  * Regression in GstPbutils.Discoverer::discovered callback [#262, !318, Philip
    Chimento]
  * GLib.Variant.deep_unpack not working properly with a{sv} variants [#225,
    !321, Fabián Orccón, Philip Chimento]
  * Various maintenance [!315, Philip Chimento]

- Various CI fixes [Philip Chimento]

Version 1.57.4
--------------

- Closed bugs and merge requests:
  * gjs 1.57 requires a recent sysprof version for sysprof-capture-3 [#258,
    !309, Olivier Fourdan]

- Misc documentation changes [Philip Chimento]

Version 1.57.3
--------------

- The GJS profiler is now integrated directly into Sysprof 3, via the
  GJS_TRACE_FD environment variable. Call stack information and garbage
  collector timing will show up in Sysprof. See also GNOME/Initiatives#10

- New JS API: System.addressOfGObject(obj) will return a string with the hex
  address of the underlying GObject of `obj` if it is a GObject wrapper, or
  throw an exception if it is not. This is intended for debugging.

- New JS API: It's now possible to pass a value from Gio.DBusProxyFlags to the
  constructor of a class created by Gio.DBusProxy.makeProxyWrapper().

- Backwards-incompatible change: Trying to read a write-only property on a DBus
  proxy object, or write a read-only property, will now throw an exception.
  Previously it would fail silently. It seems unlikely any code is relying on
  the old behaviour, and if so then it was probably masking a bug.

- Closed bugs and merge requests:
  * Build failure on Continuous [#253, !300, Philip Chimento]
  * build: Bump glib requirement [!302, Florian Müllner]
  * profiler: avoid clearing 512 bytes of stack [!304, Christian Hergert]
  * system: add addressOfGObject method [!296, Marco Trevisan]
  * Add support for GJS_TRACE_FD [!295, Christian Hergert]
  * Gio: Make possible to pass DBusProxyFlags to proxy wrapper [!297, Marco
    Trevisan]
  * Various maintenance [!301, Philip Chimento]
  * Marshalling of GPtrArray broken [#9, !307, Stéphane Seng]
  * Build fix [!308, Philip Chimento]
  * Gio: sync dbus wrapper properties flags [!298, Marco Trevisan]
  * GjsMaybeOwned: Reduce allocation when used as Object member [!303, Marco
    Trevisan]

Version 1.57.2
--------------

- There are now overrides for Gio.SettingsSchema and Gio.Settings which avoid
  aborting the whole process when trying to access a nonexistent key or child
  schema. The original API from GLib was intended for apps, since apps should
  have complete control over which settings keys they are allowed to access.
  However, it is not a good fit for shell extensions, which may need to access
  different settings keys depending on the version of GNOME shell they're
  running on.

  This feature is based on code from Cinnamon which the copyright holders have
  kindly agreed to relicense to GJS's license.

- New JS API: It is now possible to pass GObject.TypeFlags to
  GObject.registerClass(). For example, passing
  `GTypeFlags: GObject.TypeFlags.ABSTRACT` in the class info object, will create
  a class that cannot be instantiated. This functionality was present in
  Lang.Class but has been missing from GObject.registerClass().

- Closed bugs and merge requests:
  * Document logging features [#230, !288, Andy Holmes]
  * Support optional GTypeFlags value in GObject subclasses [!290, Florian
    Müllner]
  * Ensure const-correctness in C++ objects [#105, !291, Onur Şahin]
  * Programmer errors with GSettings cause segfaults [#205, !284, Philip
    Chimento]
  * Various maintenance [!292, Philip Chimento]
  * debugger: Fix summary help [!293, Florian Müllner]
  * context: Use Heap pointers for GC objects stored in vectors [!294, Philip
    Chimento]

Version 1.56.2
--------------

- Closed bugs and merge requests:
  * Crash in BoxedInstance when struct could not be allocated directly [#240,
    !285, Philip Chimento]
  * Cairo conversion bugs [!286, Philip Chimento]
  * Gjs crashes when binding inherited property to js added gobject-property
    [#246, !289, Marco Trevisan]
  * console: Don't accept --profile after the script name [!287, Philip
    Chimento]

Version 1.57.1
--------------

- Closed bugs and merge requests:
  * Various maintenance [!279, Philip Chimento]
  * mainloop: Assign null to property instead of deleting [!280, Jason Hicks]
  * Added -d version note README.md [!282, Nauman Umer]
  * Extra help for debugger commands [#236, !283, Nauman Umer]
  * Crash in BoxedInstance when struct could not be allocated directly [#240,
    !285, Philip Chimento]
  * Cairo conversion bugs [!286, Philip Chimento]

Version 1.56.1
--------------

- Closed bugs and merge requests:
  * Calling dumpHeap() on non-existent directory causes crash [#134, !277,
    Philip Chimento]
  * Using Gio.MemoryInputStream.new_from_data ("string") causes segfault [#221,
    !278, Philip Chimento]
  * Fix gjs_context_eval() for non-zero-terminated strings [!281, Philip
    Chimento]

Version 1.56.0
--------------

- No change from 1.55.92.

Version 1.55.92
---------------

- Closed bugs and merge requests:
  * Fix CI failures [!269, Philip Chimento]
  * Possible memory allocation/deallocation bug (possibly in js_free() in GJS)
    [!270, Chun-wei Fan, Philip Chimento]
  * cairo-context: Special-case 0-sized vector [!271, Florian Müllner]
  * Add some more eslint rules [!272, Florian Müllner]
  * win32/NMake: Fix introspection builds [!274, Chun-wei Fan]
  * NMake/libgjs-private: Export all the public symbols there [!275, Chun-wei
    Fan]

Version 1.55.91
---------------

- The problem of freezing while running the tests using GCC's sanitizers was
  determined to be a bug in GCC, which was fixed in GCC 9.0.1.

- Closed bugs and merge requests:
  * gnome-sound-recorder crashes deep inside libgjs [#223, !266, Philip
    Chimento]
  * Various maintenance [!267, Philip Chimento]
  * wrapperutils: Define $gtype property as non-enumerable [!268, Philip
    Chimento]

Version 1.55.90
---------------

- New JS API: It's now possible to call and implement DBus methods whose
  parameters or return types include file descriptor lists (type signature 'h'.)
  This involves passing or receiving a Gio.UnixFDList instance along with the
  parameters or return values.

  To call a method with a file descriptor list, pass the Gio.UnixFDList along
  with the rest of the parameters, in any order, the same way you would pass a
  Gio.Cancellable or async callback.

  For return values, things are a little more complicated, in order to avoid
  breaking existing code. Previously, synchronously called DBus proxy methods
  would return an unpacked GVariant. Now, but only if called with a
  Gio.UnixFDList, they will return [unpacked GVariant, Gio.UnixFDList]. This
  does not break existing code because it was not possible to call a method with
  a Gio.UnixFDList before, and the return value is unchanged if not calling with
  a Gio.UnixFDList. This does mean, unfortunately, that if you have a method
  with an 'h' in its return signature but not in its argument signatures, you
  will have to call it with an empty FDList in order to receive an FDList with
  the return value, when calling synchronously.

  On the DBus service side, when receiving a method call, we now pass the
  Gio.UnixFDList received from DBus to the called method. Previously, sync
  methods were passed the parameters, and async methods were passed the
  parameters plus the Gio.DBusInvocation object. Appending the Gio.UnixFDList to
  those parameters also should not break existing code.

  See the new tests in installed-tests/js/testGDBus.js for examples of calling
  methods with FD lists.

- We have observed on the CI server that GJS 1.55.90 will hang forever while
  running the test suite compiled with GCC 9.0.0 and configured with the
  --enable-asan and --enable-ubsan arguments. This should be addressed in one of
  the following 1.55.x releases.

- Closed bugs and merge requests:
  * GDBus proxy overrides should support Gio.DBusProxy.call_with_unix_fd_list()
    [#204, !263, Philip Chimento]
  * Add regression tests for GObject vfuncs [!259, Jason Hicks]
  * GjsPrivate: Sources should be C files [!262, Philip Chimento]
  * build: Vendor last-good version of AX_CODE_COVERAGE [!264, Philip Chimento]

Version 1.55.4
--------------

- Closed bugs and merge requests:
  * Various maintenance [!258, Philip Chimento]
  * Boxed copy constructor should not be called, split Boxed into prototype and
    instance structs [#215, !260, Philip Chimento]

Version 1.55.3
--------------

- Closed bugs and merge requests:
  * Manually constructed ByteArray toString segfaults [#219, !254, Philip
    Chimento]
  * signals: Add _signalHandlerIsConnected method [!255, Jason Hicks]
  * Various maintenance [!257, Philip Chimento]

Version 1.52.5
--------------

- This was a release consisting only of backports from the GNOME 3.30 branch to
  the GNOME 3.28 branch.

- This release includes the "Big Hammer" patch from GNOME 3.30 to reduce memory
  usage. For more information, read the blog post at
  https://feaneron.com/2018/04/20/the-infamous-gnome-shell-memory-leak/
  It was not originally intended to be backported to GNOME 3.28, but in practice
  several Linux distributions already backported it, and it has been working
  well to reduce memory usage, and the bugs have been ironed out of it.

  It does decrease performance somewhat, so if you don't want that then don't
  install this update.

- Closed bugs and merge requests:

  * Ensure not to miss the force_gc flag [#150, !132, Carlos Garnacho]
  * Make GC much more aggressive [#62, !50, Giovanni Campagna, Georges Basile
    Stavracas Neto, Philip Chimento]
  * Queue GC when a GObject reference is toggled down [#140, !114, !127, Georges
    Basile Stavracas Neto]
  * Reduce memory overhead of g_object_weak_ref() [#144, !122, Carlos Garnacho,
    Philip Chimento]
  * context: Defer and therefore batch forced GC runs [performance] [!236,
    Daniel van Vugt]
  * context: use timeout with seconds to schedule a gc trigger [!239, Marco
    Trevisan]
  * Use compacting GC on RSS size growth [!133, #151, Carlos Garnacho]
  * GType memleak fixes [!244, Marco Trevisan]

Version 1.55.2
--------------

- Closed bugs and merge requests:
  * Gnome-shell crashes on destroying cached param specs [#213, !240, Marco
    Trevisan]
  * Various maintenance [!235, !250, Philip Chimento]
  * Auto pointers builder [!243, Marco Trevisan]
  * configure.ac: Update bug link [!245, Andrea Azzarone]
  * SIGSEGV when exiting gnome-shell [#212, !247, Andrea Azzarone, Philip
    Chimento]
  * Fix build with --enable-dtrace and create CI job to ensure it doesn't break
    in the future [#196, !237, !253, Philip Chimento]
  * Delay JSString-to-UTF8 conversion [!249, Philip Chimento]
  * Annotate return values [!251, Philip Chimento]
  * Fix a regression with GError toString() [!252, Philip Chimento]
  * GType memleak fixes [!244, Marco Trevisan]
  * Atoms refactor [!233, Philip Chimento, Marco Trevisan]
  * Write a "Code Hospitable" README file [#17, !248, Philip Chimento, Andy
    Holmes, Avi Zajac]
  * object: Method lookup repeatedly traverses introspection [#54, !53, Colin
    Walters, Philip Chimento]
  * Handler of GtkEditable::insert-text signal is not run [#147, !143, Tomasz
    Miąsko, Philip Chimento]

Version 1.54.3
--------------

- Closed bugs and merge requests:
  * object: Fix write-only properties [!246, Philip Chimento]
  * SIGSEGV when exiting gnome-shell [#212, !247, Andrea Azzarone]
  * SelectionData.get_targets crashes with "Unable to resize vector" [#201,
    !241, Philip Chimento]
  * Gnome-shell crashes on destroying cached param specs [#213, !240, Marco
    Trevisan]
  * GType memleak fixes [!244, Marco Trevisan]
  * Fix build with --enable-dtrace and create CI job to ensure it doesn't break
    in the future [#196, !253, Philip Chimento]

Version 1.54.2
--------------

- Closed bugs and merge requests:
  * context: Defer and therefore batch forced GC runs [performance] [!236,
    Daniel van Vugt]
  * context: use timeout with seconds to schedule a gc trigger [!239, Marco
    Trevisan]
  * fundamental: Check if gtype is valid before using it [!242, Georges Basile
    Stavracas Neto]

- Backported a fix for a crash in the interactive interpreter when executing
  something like `throw "foo"` [Philip Chimento]

- Backported various maintenance from 3.31 [Philip Chimento]

Version 1.55.1
--------------

- New API for programs that embed GJS: gjs_memory_report(). This was already an
  internal API, but now it is exported.

- Closed bugs and merge requests:

  * object: Implement newEnumerate hook for GObject [!155, Ole Jørgen Brønner]
  * Various maintenance [!228, Philip Chimento]
  * ByteArray.toString should stop at null bytes [#195, !232, Philip Chimento]
  * Byte arrays that represent encoded strings should be 0-terminated [#203,
    !232, Philip Chimento]
  * context: Defer and therefore batch forced GC runs [performance] [!236,
    Daniel van Vugt]
  * context: use timeout with seconds to schedule a gc trigger [!239, Marco
    Trevisan]
  * arg: Add special-case for byte arrays going to C [#67, !49, Jasper
    St. Pierre, Philip Chimento]

Version 1.52.4
--------------

- This was a release consisting only of backports from the GNOME 3.30 branch to
  the GNOME 3.28 branch.

- Closed bugs and merge requests:

  * `ARGV` encoding issues [#22, !108, Evan Welsh]
  * Segfault on enumeration of GjSFileImporter properties when a searchpath
    entry contains a symlink [#154, !144, Ole Jørgen Brønner]
  * Possible refcounting bug around GtkListbox signal handlers [#24, !154,
    Philip Chimento]
  * Fix up GJS_DISABLE_JIT flag now the JIT is enabled by default in
    SpiderMonkey [!159, Christopher Wheeldon]
  * Expose GObject static property symbols. [!197, Evan Welsh]
  * Do not run linters on tagged commits [!181, Claudio André]
  * gjs-1.52.0 fails to compile against x86_64 musl systems [#132, !214, Philip
    Chimento]
  * gjs no longer builds after recent autoconf-archive updates [#149, !217,
    Philip Chimento]

Version 1.54.1
--------------

- Closed bugs and merge requests:
  * legacy: Ensure generated GType names are valid [!229, Florian Müllner]
  * Fix GJS profiler with MozJS 60 [!230, Georges Basile Stavracas Neto]
  * Regression with DBus proxies [#202, !231, Philip Chimento]

Version 1.54.0
--------------

- Compatibility fix for byte arrays: the legacy toString() behaviour of byte
  arrays returned from GObject-introspected functions is now restored. If you
  use the functionality, a warning will be logged asking you to upgrade your
  code.

- Closed bugs and merge requests:
  * byteArray: Add compatibility toString property [Philip Chimento, !227]

Version 1.53.92
---------------

- Technology preview of a GNOME 3.32 feature: native Promises for GIO-style
  asynchronous operations. This is the result of Avi Zajac's summer internship.
  To use it, you can opt in once for each specific asynchronous method, by
  including code such as the following:

      Gio._promisify(Gio.InputStream.prototype, 'read_bytes_async',
          'read_bytes_finish');

  After executing this, you will be able to use native Promises with the
  Gio.InputStream.prototype.read_async() method, simply by not passing a
  callback to it:

      try {
          let bytes = await stream.read_bytes_async(count, priority, cancel);
      } catch (e) {
          logError(e, 'Failed to read bytes');
      }

  Note that any "success" boolean return values are deleted from the array of
  return values from the async method. That is,

      let [contents, etag] = file.load_contents_async(cancel);

  whereas the callback version still returns a useless [ok, contents, etag]
  that can never be false, since on false an exception would be thrown. In the
  callback version, we must keep this for compatibility reasons.

  Note that due to a bug in GJS (https://gitlab.gnome.org/GNOME/gjs/issues/189),
  promisifying methods on Gio.File.prototype and other interface prototypes will
  not work. We provide the API Gio._LocalFilePrototype on which you can
  promisify methods that will work on Gio.File instances on the local disk only:

      Gio._promisify(Gio._LocalFilePrototype, 'load_contents_async',
          'load_contents_finish');

  We estimate this will cover many common use cases.

  Since this is a technology preview, we do not guarantee API stability with
  the version coming in GNOME 3.32. These APIs are marked with underscores to
  emphasize that they are not stable yet. Use them at your own risk.

- Closed bugs and merge requests:
  * Added promisify to GJS GIO overrides [!225, Avi Zajac]
  * Temporary fix for Gio.File.prototype [!226, Avi Zajac]

Version 1.53.91
---------------

- Closed bugs and merge requests:
  * CI: add webkit and gtk-app tests [!222, Claudio André]
  * Fix example eslint errors [!207, Claudio André, Philip Chimento]
  * Fix more "lost" GInterface properties [!223, Florian Müllner]
  * Fix --enable-installed-tests when built from a tarball [!224, Simon
    McVittie]

Version 1.53.90
---------------

- GJS now depends on SpiderMonkey 60 and requires a compiler capable of C++14.

- GJS includes a simple debugger now. It has basic stepping, breaking, and
  printing commands, that work like GDB. Activate it by running the GJS console
  interpreter with the -d or --debugger flag before the name of the JS program
  on the command line.

- New API for programs that embed GJS: gjs_context_setup_debugger_console().
  To integrate the debugger into programs that embed the GJS interpreter, call
  this before executing the JS program.

- New JavaScript features! This version of GJS is based on SpiderMonkey 60, an
  upgrade from the previous ESR (Extended Support Release) of SpiderMonkey 52.
  Here are the highlights of the new JavaScript features.
  For more information, look them up on MDN or devdocs.io.

  * New syntax
    + `for await (... of ...)` syntax is used for async iteration.
    + The rest operator is now supported in object destructuring: e.g.
      `({a, b, ...cd} = {a: 1, b: 2, c: 3, d: 4});`
    + The spread operator is now supported in object literals: e.g.
      `mergedObject = {...obj1, ...obj2};`
    + Generator methods can now be async, using the `async function*` syntax,
      or `async* f() {...}` method shorthand.
    + It's now allowed to omit the variable binding from a catch statement, if
      you don't need to access the thrown exception: `try {...} catch {}`

  * New APIs
    + Promise.prototype.finally(), popular in many third-party Promise
      libraries, is now available natively.
    + String.prototype.toLocaleLowerCase() and
      String.prototype.toLocaleUpperCase() now take an optional locale or
      array of locales.
    + Intl.PluralRules is now available.
    + Intl.NumberFormat.protoype.formatToParts() is now available.
    + Intl.Collator now has a caseFirst option.
    + Intl.DateTimeFormat now has an hourCycle option.

  * New behaviour
    + There are a lot of minor behaviour changes as SpiderMonkey's JS
      implementation conforms ever closer to ECMAScript standards. For complete
      information, read the Firefox developer release notes:
      https://developer.mozilla.org/en-US/Firefox/Releases/53#JavaScript
      https://developer.mozilla.org/en-US/Firefox/Releases/54#JavaScript
      https://developer.mozilla.org/en-US/Firefox/Releases/55#JavaScript
      https://developer.mozilla.org/en-US/Firefox/Releases/56#JavaScript
      https://developer.mozilla.org/en-US/Firefox/Releases/57#JavaScript
      https://developer.mozilla.org/en-US/Firefox/Releases/58#JavaScript
      https://developer.mozilla.org/en-US/Firefox/Releases/59#JavaScript
      https://developer.mozilla.org/en-US/Firefox/Releases/60#JavaScript

  * Backwards-incompatible changes
    + Conditional catch clauses have been removed, as they were a Mozilla
      extension which will not be standardized. This requires some attention in
      GJS programs, as previously we condoned code like `catch (e if
      e.matches(Gio.IOError, Gio.IOError.EXISTS))`  with a comment in
      overrides/GLib.js, so it's likely this is used in several places.
    + The nonstandard `for each (... in ...)` loop was removed.
    + The nonstandard legacy lambda syntax (`function(x) x*x`) was removed.
    + The nonstandard Mozilla iteration protocol was removed, as well as
      nonstandard Mozilla generators, including the Iterator and StopIteration
      objects, and the Function.prototype.isGenerator() method.
    + Array comprehensions and generator comprehensions have been removed.
    + Several nonstandard methods were removed: ArrayBuffer.slice() (but not
      the standard version, ArrayBuffer.prototype.slice()),
      Date.prototype.toLocaleFormat(), Function.prototype.isGenerator(),
      Object.prototype.watch(), and Object.prototype.unwatch().

- Many of the above backwards-incompatible changes can be caught by scanning
  your source code using https://gitlab.gnome.org/ptomato/moz60tool, or
  https://extensions.gnome.org/extension/1455/spidermonkey-60-migration-validator/

- Deprecation: the custom ByteArray is now discouraged. Instead of ByteArray,
  use Javascript's native Uint8Array. The ByteArray module still contains
  functions for converting between byte arrays, strings, and GLib.Bytes
  instances.

  The old ByteArray will continue to work as before, except that Uint8Array
  will now be returned from introspected functions that previously returned a
  ByteArray. To keep your old code working, change this:

      let byteArray = functionThatReturnsByteArray();

  to this:

      let byteArray = new ByteArray.ByteArray(functionThatReturnsByteArray());

  To port to the new code:

  * ByteArray.ByteArray -> Uint8Array
  * ByteArray.fromArray() -> Uint8Array.from()
  * ByteArray.ByteArray.prototype.toString() -> ByteArray.toString()
  * ByteArray.ByteArray.prototype.toGBytes() -> ByteArray.toGBytes()
  * ByteArray.fromString(), ByteArray.fromGBytes() remain the same

  * Unlike ByteArray, Uint8Array's length is fixed. Assigning an element past
    the end of a ByteArray would lengthen the array. Now, it is ignored.
    Instead use Uint8Array.of(), for example, this code:

        let a = ByteArray.fromArray([97, 98, 99, 100]);
        a[4] = 101;

    should be replaced by this code:

        let a = Uint8Array.from([97, 98, 99, 100]);
        a = Uint8Array.of(...a, 101);

    The length of the byte array must be set at creation time. This code will
    not work anymore:

        let a = new ByteArray.ByteArray();
        a[0] = 255;

    Instead, use "new Uint8Array(1)" to reserve the correct length.

- Closed bugs and merge requests:

  * Run tests using real software [#178, !192, Claudio André]
  * Script tests are missing some errors [#179, !192, Claudio André]
  * Create a '--disable-readline' option and use it [!196, Claudio André]
  * CI: stop using Fedora for clang builds [!198, Claudio André]
  * Expose GObject static property symbols. [!197, Evan Welsh]
  * CI fixes [!200, Claudio André]
  * Docker images creation [!201, Claudio André]
  * Get Docker images built and stored in GJS registry [#185, !203, !208,
    Claudio André, Philip Chimento]
  * Clear the static analysis image a bit more [!205, Claudio André]
  * Rename the packaging job to flatpak [!210, Claudio André]
  * Create SpiderMonkey 60 docker images [!202, Claudio André]
  * Debugger [#110, !204, Philip Chimento]
  * Add convenience g_object_set() replacement [!213, Florian Müllner]
  * Add dependencies of the real tests (examples) [!215, Claudio André]
  * CWE-126 [#174, !218, Philip Chimento]
  * gjs no longer builds after recent autoconf-archive updates [#149, !217,
    Philip Chimento]
  * gjs-1.52.0 fails to compile against x86_64 musl systems [#132, !214, Philip
    Chimento]
  * Run the GTK real tests (recently added) [!212, Claudio André]
  * Fix thorough tests failures [!220, Philip Chimento]
  * Port to SpiderMonkey 60 [#161, !199, Philip Chimento]
  * Replace ByteArray with native ES6 TypedArray [#5, !199, Philip Chimento]
  * Overriding GInterface properties broke [#186, !216, Florian Müllner, Philip
    Chimento]
  * Avoid segfault when checking for GByteArray [!221, Florian Müllner]

- Various build fixes [Philip Chimento]
jperkin pushed a commit that referenced this pull request Dec 14, 2020
# 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).
jperkin pushed a commit that referenced this pull request Mar 30, 2021
Packaging changes:
 - Some patches got upstreamed
 - Upstream now defaults to name=sc-im so it no longer needs to be set

Changes, (reformatted) from the official changelog:

New features:
 - New motions in edit mode: df cf F dF cF d0 d$ c0 c$ t T dt dT ct cT ^
   g_ d^ dg_ c^ cg_
 - Simple mouse support. Can handle selection of single cells and scroll.
 - Added markdown export.
 - Add custom colors with RGB definitions.
 - Add support for italic attribute to be appled to cells.
 - Added digraphs.
 - Added EXECUTE command.
 - Added --export_csv --export_tab --export_txt parameters.
 - New input_bar_bottom config variable.
 - New underline_grid config variable.
 - Added filename in status bar (filename_with_mode config variable).
 - Added option to truncate cells.
 - Added xlsx sheet parameter.
 - New @fact function.

Other:
 - modified config and history file locations
 - renamed winch to sig_winch.
 - current fg and bg colors are kept if they are not specified in
 :cellcolor.
 - OpenBSD support (mostly wordexp() workaround)
 - Correct lua api function names in doc
 - always generate backup file when opening file
 - renamed scim to sc-im in Makefile
 - Document trigger return value convention

Issues fixed:
 - fix bug when deleting an ent that for instance has a @sum()... it
   used to remove its vertex and THE ENTS LINKED to THEM!
 - fix error messages when using "scim --version" and color definitions
   are intented to be applied from .scimrc.
 - fix in waiting for valid command to complete after pressing ESC key.
 - fix in parse_str so a word with white space can be stored in
   dictionary value
 - fix when setting default_paste_from_clipboard_cmd
 - Don't clobber startup message w/ err opening file
 - Allow for lua scripts in local .sc directory #259
 - Send informational messages to stderr rather than the output when
   used in non-interactive mode   #263
 - fixed cell_negative color      #271
 - fixed locked cells when saving #261
 - fixed DEL key in insert mode   #272
 - fix when resizing column       #266
 - "Autobackup - case insensitive QER options when backup exists"
 - fixed segfault when fcopy'ing with no selection while on first column
 - Call write triggers on value clear
 - Use sc_info to report trigger exit code
 - fixed #277
 - Grow table up to MAXROWS exactly
 - Remove redundant if clause (God only knows where that was).
 - fix in getVertex that prevented rebuild_graph to work properly.
 - fix annoying bug because of not resetting inputline_pos to 0 when
   confirming a command in COMMAND_MODE
 - fix in let and slet. existing vertexs should not be removed.
 - added "eval_visited" in vertex struct for not to collide with
   current "visited", since:
     EvalAll uses EvalBottomUp
     EvalBottomUp uses EvalJustOneVertex
     EvalJustOneVertex uses eval
     eval uses GraphAddEdge
     GraphAddEdge uses GraphIsReachable
     GraphIsReachable uses visited
     and EvalBottomUp also uses uses visited!
 - Also changed markAllVerticesNotVisited and
   All_vertexs_of_edges_visited functions.
 - Some other issues fixed: #228, #234, #239, #240, #244, #246, #260,
   #295, #308
 - .. and many other fixes and improvements!

Pending:
  The most significative issue is regarding circular references.
  This have to be deeply analyzed and with the collaboration of the
  community
  it would be hopefully fixed by v0.9.
jperkin pushed a commit that referenced this pull request Jun 4, 2021
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
jperkin pushed a commit that referenced this pull request Jun 15, 2021
# version 0.7-1

* allow longer units grouping; #270 addressing #269 @bart1

* fix regression in `set_units` method for `mixed_units` to ensure that
  ordering is preserved; #272 addressing #271

# version 0.7-0

* add `load_units_xml` to enable database reloading as well as loading
  user-provided unit systems; #254 addressing #243, #244

* add `install_unit` and `remove_unit` for adding/removing custom user-defined
  symbols or names, with optional mapping to existing units;
  `install_symbolic_unit`, `remove_symbolic_unit`, `install_conversion_constant`,
  `install_conversion_offset` are deprecated; #261 addressing #89

* add `keep_units`, a helper to apply functions that do not preserve units;
  #255 addressing #252

* fix `as_units("")`, which is now equivalent to `unitless`; #199

* fix plot axes for `plot.formula` and `plot.data.frame`; #213

* fix arithmetic for powers above 1 and below -1; #264

* improve arithmetic of logarithms; #249

* export `ud_are_convertible`; #263 addressing #258 @cregouby

* remove deprecations: `as.units`, `as_cf`, `make_unit`, `parse_unit`; #259

* remove deprecated pre-computed `ud_units` database; #259

# version 0.6-7

* port `isFALSE` to fix regression in old R versions; #230 addressing #229

* fix replacement operation for `units` objects; #233 addressing #232

* fix compatibility with dplyr 1.0; #247 addressing #239

# version 0.6-6

* prettier `str` print for units and mixed units; #228 addressing #227

* add compatibility with upcoming tibble v3.0.0; #225
jperkin pushed a commit that referenced this pull request Jun 15, 2021
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)
jperkin pushed a commit that referenced this pull request Jul 1, 2021
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
jperkin pushed a commit that referenced this pull request Jul 22, 2021
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
jperkin pushed a commit that referenced this pull request Aug 23, 2021
# 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)
jperkin pushed a commit that referenced this pull request Sep 20, 2021
# 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).
jperkin pushed a commit that referenced this pull request Sep 20, 2021
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)
jperkin pushed a commit that referenced this pull request Feb 21, 2022
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.
jperkin pushed a commit that referenced this pull request May 10, 2022
## [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))
jperkin pushed a commit that referenced this pull request Nov 28, 2022
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
jperkin pushed a commit that referenced this pull request Apr 28, 2023
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
jperkin pushed a commit that referenced this pull request May 10, 2023
### [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.
jperkin pushed a commit that referenced this pull request Jun 8, 2023
## 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)
jperkin pushed a commit that referenced this pull request Jul 7, 2023
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.
jperkin pushed a commit that referenced this pull request Dec 4, 2023
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
jperkin pushed a commit that referenced this pull request Jan 9, 2024
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
jperkin pushed a commit that referenced this pull request Jan 9, 2024
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
jperkin pushed a commit that referenced this pull request Feb 7, 2024
3.0.0 / 2024-01-05

* PR #265 - Change Readline for Reline for Ruby 3.3 compat (@abinoam)
* PR #264 - Add abbrev gem as dependency (@mathieujobin)
* PR #263 - Release 3.0.0.pre.1
*     Raise minimum Ruby version requirement to 3.0
* PR #262 - Do not call stty on non-tty (@kbrock)
* PR #260 / I #43 - Ctrl-U (erase line) handling (@abinoam, issue by
  @gutenye)
* PR #259 / I #236 - Handle Ctrl-C when Question#echo = false (@abinoam,
  @Fahhetah, issue by @aspyct)
* PR #258 / I #246 - Add validation class support (@abinoam, issue by
  @Joshfindit)
    - Make it dry-types compatible through the use of #valid?
    - Solve the multiple answers in one line problem with a combination of
      custom coercion (parser) and custom validation
* PR #257 / I #233 - Show Question#default hint for non String values
  (@abinoam, issue by @branch14)
    - Add Question#default_hint_show to allow disabling it.
* PR #256 / I #249 - Fix Array validation in Question#in (@abinoam, issue by
  @esotericpig)


3.0.1 (2024-01-20)

* PR #268 - Remove unused abbrev dependency (@zvkemp)
jperkin pushed a commit that referenced this pull request Mar 4, 2024
17.0.2 (2027-02-20)

Changed

* [Python] Updated the release workflow to use trusted publisher (#263,
  #264)

* [Ruby] Added subsidiary rubocop gems (RSpec/Rake/Performance), and did
  some initial refactoring (#247)

* Additional information for alternation inside optional error message on
  how to fix (#260)

Fixed

* Removed repeated 'the' from error message for use of alternations inside
  optionals (#252)

* [Python] Missing keyword argument defaults in parameter type class (#259)

* [Ruby] Added an explicit dependency on bigdecimal gem, to fix Ruby 3.4-pre
  builds where the gem has changed its status from default to bundled (#273)
jperkin pushed a commit that referenced this pull request Mar 26, 2024
1.7.1

Changed

    Export --index-url before --extra-index-url to work around a pip bug (#270).

Fixed

    Fix an issue where the source with the highest priority was exported with --index-url despite PyPI being among the sources (#270).

1.7.0

Changed

    Bump minimum required poetry version to 1.8.0 (#263).

Fixed

    Fix an issue where all sources were exported with --extra-index-url even though PyPI was deactivated (#263).
jperkin pushed a commit that referenced this pull request Mar 26, 2024
Hello all! This will likely be the final release of Amfora.
For more information, please see my blog post, https://www.makeworld.space/2023/08/bye_gemini.html

Thanks to all the users and especially the contributors, who made this project
the personal success it was for me.

The following is copied from the CHANGELOG.md file in this repo.
Added
    Syntax highlighting for preformatted text blocks with alt text (#252, #263, wiki page)
    Client certificates can be restricted to certain paths of a host (#115)
    header config option in [subscriptions] to allow disabling the header text on the subscriptions page (#191)
    Selected link and scroll position stays for non-cached pages (#122)
    Keybinding to open URL with URL handler instead of configured proxy (#143)
    include theme key to import themes from an external file (#154, #290)
    Support SOCKS5 proxying by setting AMFORA_SOCKS5 environment variable (#155)
    When bookmarking a page, the first level one heading is suggested as the name (#267, #293)
    Confirmation prompts for URL schemes in new [url-prompts] config section (#301, #302)

Changed
    Center text automatically, removing left_margin from the config (#233)
    max_width defaults to 80 columns instead of 100 (#233)
    Tabs have the domain of the current page instead of numbers (#202)
    Closing Amfora with q was removed in favor of Shift-q (#243)
    Paging up or down scrolls by 50% instead of 75%, to match less (#303)
    Update deps, require Go 1.17 (#336)
    Show local directory index file if available (#319)
    Updated Project Gemini URLs (#342)

Fixed
    Modal can't be closed when opening non-gemini text URLs from the commandline (#283, #284)
    External programs started by Amfora remain as zombie processes (#219)
    Prevent link lines (and other types) from being wider than the max_width setting (#280)
    new:7 on new tab page fails to open link (#306)
    Slashes aren't decoded in redirect URLs (#322, #324)
    Typing localhost in the bottom bar actually loads localhost instead of searching (#326, #327)
jperkin pushed a commit that referenced this pull request Mar 26, 2024
3.3.3 (2024-03-12)

* Land #262, add desired delete permissions when opening directory

3.3.4 (2024-03-20)

* Land #263, ensure EOFError is raised
jperkin pushed a commit that referenced this pull request Jul 23, 2024
1.0.31 (2024-07-16)

* Land #263, Fix mettle extension loading mechanism
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants