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

Perl's GDBM_File module doesn't seem to work #317

Open
drboone opened this issue Nov 29, 2021 · 0 comments
Open

Perl's GDBM_File module doesn't seem to work #317

drboone opened this issue Nov 29, 2021 · 0 comments

Comments

@drboone
Copy link

drboone commented Nov 29, 2021

I noticed this while installing MARC::Charset, which uses AnyDBM_File (with gdbm as first pref) to build a table of character mappings. It seems to be unable to extract values from its tied hash.

After a bit of digging, I realized that GDBM_File, which is included in base perl, doesn't pass its tests during the perl build:

ext/GDBM_File/t/gdbm ............................................. gdbm_firstkey: Item not found at ../../t/lib/dbmt_common.pl line 52.
Compilation failed in require at t/gdbm.t line 6.
# Tests were run but no plan was declared and done_testing() was not seen.
# Looks like your test exited with 255 just after 5.
FAILED--no leader found
jperkin pushed a commit that referenced this issue Dec 13, 2021
15.0.11 (2021-10-17)

Merged Pull Requests

* Skipping response header test for pedant #317 (vinay-satish)

* Updating the policy_revision_endpoint to add policy_group_list #320
  (vinay-satish)
jperkin pushed a commit that referenced this issue Jan 27, 2022
v4.10.1
=======

* #361: Avoid potential REDoS in ``EntryPoint.pattern``.

v4.10.0
=======

* #354: Removed ``Distribution._local`` factory. This
  functionality was created as a demonstration of the
  possible implementation. Now, the
  `pep517 <https://pypi.org/project/pep517>`_ package
  provides this functionality directly through
  `pep517.meta.load <https://github.com/pypa/pep517/blob/a942316305395f8f757f210e2b16f738af73f8b8/pep517/meta.py#L63-L73>`_.

v4.9.0
======

* Require Python 3.7 or later.

v4.8.3
======

* #357: Fixed requirement generation from egg-info when a
  URL requirement is given.

v4.8.2
======

v2.1.2
======

* #353: Fixed discovery of distributions when path is empty.

v4.8.1
======

* #348: Restored support for ``EntryPoint`` access by item,
  deprecating support in the process. Users are advised
  to use direct member access instead of item-based access::

  - ep[0] -> ep.name
  - ep[1] -> ep.value
  - ep[2] -> ep.group
  - ep[:] -> ep.name, ep.value, ep.group

v4.8.0
======

* #337: Rewrote ``EntryPoint`` as a simple class, still
  immutable and still with the attributes, but without any
  expectation for ``namedtuple`` functionality such as
  ``_asdict``.

v4.7.1
======

* #344: Fixed regression in ``packages_distributions`` when
  neither top-level.txt nor a files manifest is present.

v4.7.0
======

* #330: In ``packages_distributions``, now infer top-level
  names from ``.files()`` when a ``top-level.txt``
  (Setuptools-specific metadata) is not present.

v4.6.4
======

* #334: Correct ``SimplePath`` protocol to match ``pathlib``
  protocol for ``__truediv__``.

v4.6.3
======

* Moved workaround for #327 to ``_compat`` module.

v4.6.2
======

* bpo-44784: Avoid errors in test suite when
  DeprecationWarnings are treated as errors.

v4.6.1
======

* #327: Deprecation warnings now honor call stack variance
  on PyPy.

v4.6.0
======

* #326: Performance tests now rely on
  `pytest-perf <https://pypi.org/project/pytest-perf>`_.
  To disable these tests, which require network access
  and a git checkout, pass ``-p no:perf`` to pytest.

v4.5.0
======

* #319: Remove ``SelectableGroups`` deprecation exception
  for flake8.

v4.4.0
======

* #300: Restore compatibility in the result from
  ``Distribution.entry_points`` (``EntryPoints``) to honor
  expectations in older implementations and issuing
  deprecation warnings for these cases:

  - ``EntryPoints`` objects are once again mutable, allowing
    for ``sort()`` and other list-based mutation operations.
    Avoid deprecation warnings by casting to a
    mutable sequence (e.g.
    ``list(dist.entry_points).sort()``).

  - ``EntryPoints`` results once again allow
    for access by index. To avoid deprecation warnings,
    cast the result to a Sequence first
    (e.g. ``tuple(dist.entry_points)[0]``).

v4.3.1
======

* #320: Fix issue where normalized name for eggs was
  incorrectly solicited, leading to metadata being
  unavailable for eggs.

v4.3.0
======

* #317: De-duplication of distributions no longer requires
  loading the full metadata for ``PathDistribution`` objects,
  entry point loading performance by ~10x.

v4.2.0
======

* Prefer f-strings to ``.format`` calls.

v4.1.0
======

* #312: Add support for metadata 2.2 (``Dynamic`` field).

* #315: Add ``SimplePath`` protocol for interface clarity
  in ``PathDistribution``.

v4.0.1
======

* #306: Clearer guidance about compatibility in readme.

v4.0.0
======

* #304: ``PackageMetadata`` as returned by ``metadata()``
  and ``Distribution.metadata()`` now provides normalized
  metadata honoring PEP 566:

  - If a long description is provided in the payload of the
    RFC 822 value, it can be retrieved as the ``Description``
    field.
  - Any multi-line values in the metadata will be returned as
    such.
  - For any multi-line values, line continuation characters
    are removed. This backward-incompatible change means
    that any projects relying on the RFC 822 line continuation
    characters being present must be tolerant to them having
    been removed.
  - Add a ``json`` property that provides the metadata
    converted to a JSON-compatible form per PEP 566.


v3.10.1
=======

* Minor tweaks from CPython.

v3.10.0
=======

* #295: Internal refactoring to unify section parsing logic.

v3.9.1
======

* #296: Exclude 'prepare' package.
* #297: Fix ValueError when entry points contains comments.

v3.9.0
======

* Use of Mapping (dict) interfaces on ``SelectableGroups``
  is now flagged as deprecated. Instead, users are advised
  to use the select interface for future compatibility.

  Suppress the warning with this filter:
  ``ignore:SelectableGroups dict interface``.

  Or with this invocation in the Python environment:
  ``warnings.filterwarnings('ignore', 'SelectableGroups dict interface')``.

  Preferably, switch to the ``select`` interface introduced
  in 3.7.0. See the
  `entry points documentation <https://importlib-metadata.readthedocs.io/en/latest/using.html#entry-points>`_ and changelog for the 3.6
  release below for more detail.

  For some use-cases, especially those that rely on
  ``importlib.metadata`` in Python 3.8 and 3.9 or
  those relying on older ``importlib_metadata`` (especially
  on Python 3.5 and earlier),
  `backports.entry_points_selectable <https://pypi.org/project/backports.entry_points_selectable>`_
  was created to ease the transition. Please have a look
  at that project if simply relying on importlib_metadata 3.6+
  is not straightforward. Background in #298.

* #283: Entry point parsing no longer relies on ConfigParser
  and instead uses a custom, one-pass parser to load the
  config, resulting in a ~20% performance improvement when
  loading entry points.

v3.8.2
======

* #293: Re-enabled lazy evaluation of path lookup through
  a FreezableDefaultDict.

v3.8.1
======

* #293: Workaround for error in distribution search.

v3.8.0
======

* #290: Add mtime-based caching for ``FastPath`` and its
  lookups, dramatically increasing performance for repeated
  distribution lookups.

v3.7.3
======

* Docs enhancements and cleanup following review in
  `GH-24782 <https://github.com/python/cpython/pull/24782>`_.

v3.7.2
======

* Cleaned up cruft in entry_points docstring.

v3.7.1
======

* Internal refactoring to facilitate ``entry_points() -> dict``
  deprecation.

v3.7.0
======

* #131: Added ``packages_distributions`` to conveniently
  resolve a top-level package or module to its distribution(s).

v3.6.0
======

* #284: Introduces new ``EntryPoints`` object, a tuple of
  ``EntryPoint`` objects but with convenience properties for
  selecting and inspecting the results:

  - ``.select()`` accepts ``group`` or ``name`` keyword
    parameters and returns a new ``EntryPoints`` tuple
    with only those that match the selection.
  - ``.groups`` property presents all of the group names.
  - ``.names`` property presents the names of the entry points.
  - Item access (e.g. ``eps[name]``) retrieves a single
    entry point by name.

  ``entry_points`` now accepts "selection parameters",
  same as ``EntryPoint.select()``.

  ``entry_points()`` now provides a future-compatible
  ``SelectableGroups`` object that supplies the above interface
  (except item access) but remains a dict for compatibility.

  In the future, ``entry_points()`` will return an
  ``EntryPoints`` object for all entry points.

  If passing selection parameters to ``entry_points``, the
  future behavior is invoked and an ``EntryPoints`` is the
  result.

* #284: Construction of entry points using
  ``dict([EntryPoint, ...])`` is now deprecated and raises
  an appropriate DeprecationWarning and will be removed in
  a future version.

* #300: ``Distribution.entry_points`` now presents as an
  ``EntryPoints`` object and access by index is no longer
  allowed. If access by index is required, cast to a sequence
  first.

v3.5.0
======

* #280: ``entry_points`` now only returns entry points for
  unique distributions (by name).

v3.4.0
======

* #10: Project now declares itself as being typed.
* #272: Additional performance enhancements to distribution
  discovery.
* #111: For PyPA projects, add test ensuring that
  ``MetadataPathFinder._search_paths`` honors the needed
  interface. Method is still private.

v3.3.0
======

* #265: ``EntryPoint`` objects now expose a ``.dist`` object
  referencing the ``Distribution`` when constructed from a
  Distribution.

v3.2.0
======

* The object returned by ``metadata()`` now has a
  formally-defined protocol called ``PackageMetadata``
  with declared support for the ``.get_all()`` method.
  Fixes #126.

v3.1.1
======

v2.1.1
======

* #261: Restored compatibility for package discovery for
  metadata without version in the name and for legacy
  eggs.

v3.1.0
======

* Merge with 2.1.0.

v2.1.0
======

* #253: When querying for package metadata, the lookup
  now honors
  `package normalization rules <https://packaging.python.org/specifications/recording-installed-packages/>`_.

v3.0.0
======

* Require Python 3.6 or later.
jperkin pushed a commit that referenced this issue Jul 5, 2022
Changes since 0.3.0:

We reached v1.0.0

## Breaking changes
- fix!: Replace limit flag with paginate by @ankitpokhrel in #359
- fix!: Append components on edit instead of overriding by @ankitpokhrel in #368
- feat!: Append label to an issue, show labels at issue list view by @stchar in #300
- refactor!: Move boards and project list to subcommand by @ankitpokhrel in #314

## What's added?
- feat: Support custom fields on issue create by @ankitpokhrel in #319
- feat: Add support to read from .netrc by @adolsalamanca in #329
- feat: Add support for OS keyrings/-chains by @boyvanamstel in #348
- feat: Support auth with personal access tokens by @marek-veber / @ankitpokhrel in #327
- feat: Allow to set fixVersions on issue creation by @ankitpokhrel in #276
- feat: Allow insecure TLS by @ankitpokhrel in #305
- feat: Add --no-browser option to open cmd by @ankitpokhrel in #308
- feat: Add search option for boards on jira init by @ankitpokhrel in #322
- feat: Add issues unlink command by @sushilkg in #347
- feat: Support refresh for issues list by @GZLiew in #325
- feat: Ability to delete issue by @ankitpokhrel in #336
- feat: Allow to set custom fields on epic create by @ankitpokhrel in #364
- feat: Allow to edit release-info/fixVersions by @ankitpokhrel in #365
- feat: Allow removing labels on edit by @ankitpokhrel in #371
- feat: Support creating issues with custom subtask type by @danobi in #372
- feat: Allow removing component on edit by @ankitpokhrel in #374
- feat: Allow removing fixVersions on edit by @ankitpokhrel in #376
- feat: Support custom fields on issue edit by @ankitpokhrel in #377
- feat: Jira init non-interactive by @ankitpokhrel in #381
- feat: Show subtasks in issue view by @ankitpokhrel in #382
- feat: Allow project filter in raw jql by @ankitpokhrel in #395

## What's fixed?
- fix: Makefile compatiblity with Make 3.81 by @danmichaelo in #252
- fix: Config generation issue by @ankitpokhrel in #275
- fix(cfg): Strip trailing slash on server name by @ankitpokhrel in #295
- fix: Jira client should respect timeout opt by @ankitpokhrel in #304
- fix: Respect GLAMOUR_STYLE env on issue view by @ankitpokhrel in #317
- fix: Get subtask handle from config by @ankitpokhrel in #296
- fix: Jira wiki parser by @ankitpokhrel in #326
- fix: Display correctly columns in list sprint command help by @adolsalamanca in #320
- fix: Panic on empty sub-list by @ankitpokhrel in #330
- fix: Issue with assigning user by @ankitpokhrel in #321
- fix: OOM bug on issue view by @ankitpokhrel in #350
- fix: Assign parent key as is on edit by @ankitpokhrel in #351
- fix: Add additional check for total boards returned by @ankitpokhrel in #360
- fix: Issue with query param in user assignment by @ankitpokhrel in #380
- fix: Subtask clone by @ankitpokhrel in #383
- fix: editing issue with custom field in non interactive mode by @DrudgeRajen in #391

## Dependency updates
- dep: Upgrade charmbracelet/glamour to 0.5.0 by @ankitpokhrel in #309
- dep: Upgrade rivo/tview to latest by @ankitpokhrel in #310
- dep: Upgrade outdated packages by @ankitpokhrel in #311
- dep: Upgrade cobra to 1.4.0 by @ankitpokhrel in #373


## Other notable changes
- Use md ext for tmp file to trigger vim syntax by @ElementalWarrior in #318

Full Changelog: ankitpokhrel/jira-cli@v0.3.0...v1.0.0
gco pushed a commit to gco/pkgsrc that referenced this issue Sep 11, 2022
1.4.4 (2022-06-14)

Fixes

* Compilation no longer fails against SQLite3 versions < 3.29.0. This issue
  was introduced in v1.4.3. [TritonDataCenter#324] (Thank you, @r6e!)

1.4.3 (2022-05-25)

Enhancements

* Disable non-standard support for double-quoted string literals via the
  :strict option. [TritonDataCenter#317] (Thank you, @casperisfine!)

* Column type names are now explicitly downcased on platforms where they may
  have been in shoutcaps. [TritonDataCenter#315] (Thank you, @petergoldstein!)

* Support File or Pathname arguments to Database.new. [TritonDataCenter#283] (Thank you,
  @yb66!)

* Support building on MSVC. [TritonDataCenter#285] (Thank you, @jmarrec!)
jperkin pushed a commit that referenced this issue Dec 18, 2022
# tidyselect 1.2.0

## New features

* New `tidyselect_data_proxy()` and `tidyselect_data_has_predicates()`
  allows tidyselect to work with custom input types (#242).

* New `eval_relocate()` for moving a selection. This powers `dplyr::relocate()`
  (#232).

## Lifecycle changes

* Using `all_of()` outside of a tidyselect context is now deprecated (#269).
  In the future it will error to be consistent with `any_of()`.

* Use of `.data` in tidyselect expressions is now deprecated to more cleanly
  separate tidy-select from data-masking. Replace `.data$x` with `"x"` and
  `.data[[var]]` with `any_of(var)` or `all_of(var)` (#169).

* Use of bare predicates (not wrapped in `where()`) and indirection (without
  using `all_of()`) have been formally deprecated (#317).

## Minor improvements and bug fixes

* Selection language:

  * `any_of()` generates a more informative error if you supply too many
    arguments (#241).

  * `all_of()` (like `any_of()`) returns an integer vector to make it easier
    to combine in functions (#270, #294). It also fails when it can't find
    variables even when `strict = FALSE`.

  * `matches()` recognises and correctly uses stringr pattern objects
    (`stringr::regex()`, `stringr::fixed()`, etc) (#238). It also now
    works with named vectors (#250).

  * `num_range()` gains a `suffix` argument (#229).

  * `where()` is now exported, like all other select helpers (#201),
    and gives more informative errors (#236).

* `eval_select()` with `include` now preserves the order of the variables
  if they're present in the selection (#224).

* `eval_select()` always returns a named vector, even when renaming is not
  permitted (#220).

* `eval_select()` and `eval_relocate()` gain new `allow_empty` argument which
  makes it possible to forbid empty selections with `allow_empty = FALSE` (#252).

* `eval_select(allow_rename = FALSE)` no longer fails with empty
  selections (#221, @eutwt) or with predicate functions (#225). It now properly
  fails with partial renaming (#305).

* `peek_var()` error now generates hyperlink to docs with recent RStudio (#289).

* `vars_pull()` generates more informative error messages (#234, #258, #318)
  and gains `error_call` and `error_arg` arguments.

* Errors produced by tidyselect should now be more informative. Evaluation
  errors are now chained, with the child error call is set to the `error_call`
  argument of `eval_select()` and `eval_rename()`. We've also improved
  backtraces of base errors, and done better at propagating the root
  `error_call` to vctrs input checkers.

* `tidyselect_verbosity` is no longer used; deprecation messaging is now
  controlled by `lifecycle_verbosity` like all other packages (#317).
jperkin pushed a commit that referenced this issue Mar 20, 2023
2.1.0 (2023-03-14)

Breaking changes:

* Digest authentication support, deprecated in 2.0.0, has been removed
  (Jeremy Evans #307)
* requiring rack/mock_session, deprecated in 2.0.0, has been removed (Jeremy
  Evans #307)

Minor enhancements:

* The original_filename for Rack::Test::UploadedFile can now be set even if
  the content of the file comes from a file path (Stuart Chinery #314)
* Add Rack::Test::Session#restore_state, for executing a block and restoring
  current state (last request, last response, and cookies) after the block
  (Jeremy Evans #316)
* Make Rack::Test::Methods support default_host method similar to app, which
  will set the default host used for requests to the app (Jeremy Evans #317
  #318)
* Allow responses to set cookie paths not matching the current request
  URI. Such cookies will only be sent for paths matching the cookie path
  (Chris Waters #322)
* Ignore leading dot for cookie domains, per RFC 6265 (Stephen Crosby #329)
* Avoid creating empty multipart body if params is empty in
  Rack::Test::Session#env_for (Ryunosuke Sato #331)
jperkin pushed a commit that referenced this issue Apr 28, 2023
Aleph One 1.6.1
===============

This is a bugfix release:

  * Be less aggressive with mega honk fix
  * Fixes Linux builds without ffmpeg
  * Fixes a crash when a Lua script adds a side and interpolation is enabled (#321)
  * Fixes the classic aim limits checkbox
  * Adds support for FLAC playback (MML music only)
  * Fix cinematic fade in when the transition period is low
  * Works around a change in the latest SDL behavior on Macs (#398)
  * Changes the flatpak identifier to match the existing macOS bundle identifier

Aleph One 1.6
=============

This is a maintenance release, with mostly bug fixes and library and build system updates. We have also added Linux Flatpaks to
make installing the games easier in Linux.

Deprecations:

  * <shader> debug MML is deprecated and will be removed in a future release
  * The network microphone is deprecated and will be removed in a future release. The net mic key will be repurposed as a Lua
    trigger.

Changes:

  * Updated to SDL 2.24 for improved controller support
  * Aleph One now requires a C++17 compiler
  * (Lua) Allow passing nil to Monster:attack (#331)
  * (Lua) Add Platform.tag accessor (#373)
  * Remove classic aim limits from modern mouse feel; add a checkbox for classic aim limits
  * Lower default mouse sensitivity
  * Disable 3D perspective by default
  * Rename "Interface Button Sounds" checkbox to "In Game F-Key Sounds" (#255)
  * Disable transparent liquids by default in Marathon 2 and Marathon Infinity; they can be enabled by going to Environment ->
    Plugins and enabling the Transparent Liquids plugin
  * (Lua) added Game.replay for detecting whether a game is film replay

Fixes:

  * Fix teleporting in weapon effect on 60fps + (#308)
  * Fix the enhanced HUD with software renderer (#334)
  * Fix HUD not resizing when changing resolution `(#309)
  * Fix blank frame on map overlay transition in OpenGL mode (#265)
  * Restore screen flash for Marathon 1 when teleporting in (#336)
  * Fix UPnP checkbox not working in resume net game dialog (#337)
  * Fix platform textures when exporting a level
  * Fix assert thrown on network game when teleporting to another level with disconnected player (#66)
  * Fix controller feel analog/d-pad when saving prefs (#160)
  * Fix intro video not rendering when no audio stream; fixes EVIL's opening movie (#346)
  * Fix missing initialization in Lua damage_player (#348)
  * Fix the MegaHonk. RIP MegaHonk. (#339)
  * Add suport for ffmpeg 5 (#349)
  * Fix a Linux segfault at shutdown (#340)
  * Allow binding mouse buttons to forward/backward/sidestep (#333)
  * Remove the Vidmaster Oath from Marathon 1 (#355)
  * Fix MML plugin replacement font erased on first level load (#364)
  * Use GL_MIRRORED_REPEAT instead of GL_MIRRORED_REPEAT_ARB; fixes solid colored landscape on some OpenGL drivers
  * Implement transparency in the static shader; compilers now fade out as in software
  * Fix use of caps lock as run key (#294)
  * Suppress weapon flare when Lua cameras are in use (#316)
  * Fix default preference plugins disabling in Windows
  * Fix animated 3D models
  * Fix reloading physics model if not loaded from embedded map (#317)

Aleph One 1.5
=============

Changes:

  * Numerous bug fixes
  * Additional Lua functionality (see Lua.html)
  * Support for Apple Silicon
  * Improved UPnP router configuration support (now using miniupnp)
  * Adds an FOV override slider and warning
  * Adds a checkbox for native file dialogs (mac OS and Windows only)
  * Unbundles high-res plugins. See High-Res Replacements for separate download links.

1.5rc1 Pre-release
==================

Changes:

  * Bug fixes
  * Additional Lua functionality (see Lua.html)
  * macOS: support for Apple Silicon
  * Updated UPnP router configuration support (now using miniupnp)
  * Add an FOV override slider and warning
  * macOS and Windows: added a checkbox for native file dialogs
  * Removed high-res plugins from all-in-one downloads. There are many more options now than there were when we started bundling
    them, so this will give users more flexibility. Links to the old textures and a guide to hi-res textures will be provided soon;
    in the meantime the data files with hi-res plugins can be found in the 1.4 release.

Aleph One 1.4
=============

Note: This release is not network compatible with Aleph One 1.3 and earlier.

Changes:

  * Adds support for Lua ephemera: optional scripted effects like precipitation or gore, that can be turned on and off without
    affecting saved games, films, and net games
  * Adds a new "Editor" mode that integrates better with Weland for seamless visual mode editing
  * Adds new high frame rate interpolation. Choose 30 fps for authentic classic play, 60 fps or 120 fps capped, or unlimited fps
  * Adds many new Lua API functions. See Lua.html for details
  * Adds support for weapon hot keys. Hot keys 1-9 switch weapons, but can be overridden by Lua scripts; hot keys 10-12 are
    reserved for Lua scripts
  * Restores some retro/nostalgia features in the software renderer: every-other-line mode, and 8-bit color
  * MML/Lua can now set the maximum inventory on a per-difficulty level. This should add versatility for balancing difficulty in
    new scenarios

1.4rc1 Pre-release
==================

Changes since 1.4pre2:

  * add support for weapon hotkeys; hotkeys 1-9 switch weapons, but can be overridden by Lua; and another 3 hotkeys are available
    for Lua
  * restore some retro/nostalgia features in the software renderer: every-other-lines mode, and 8-bit mode
  * MML/Lua can now set the maximum inventory on a per-difficulty level
  * numerous new Lua API additions
  * bug fixes

Note: Aleph One 1.4rc1 is not network compatible with previous versions, due to the addition of hotkeys

1.4pre2 Pre-release
===================

Changes:

  * High frame rate interpolation; choose 30 fps for authentic classic play, 60 fps or 120 fps capped, or unlimited fps
  * New Lua API functions
  * Bug fixes

1.4pre1 Pre-release
===================

This is a preview release, with support for ephemera (optional scripted render effects like precipitation or extra gore) and a new
"editor" mode that integrates better with Weland 1.4.5

Aleph One 1.3.1
===============

Changes:

  * Fixes an issue saving/playing back Aleph One films using the original Marathon data files
  * Fixes wobble transfer mode glow maps

Aleph One 1.3
=============

Major Changes:

  * Uses SDL 2 for much-improved compatibility with new operating systems
  * Better support for game controllers
  * Better performance for the software renderer
  * Improved mouse control options, with settings for Classic and Modern mouse control
  * Better support for high-dpi displays
  * New controls dialog, which allows simultaneous key, mouse, and controller bindings
  * More authentic static effect when using OpenGL
  * Adds a stash for sharing info between Lua states
  * Better support for Unicode characters in Windows (should fix Rubicon X)
  * Better support for original Marathon scenarios including Trojan, which now works fully
  * A separate 64-bit Windows build is available
  * Better master volume and music volume controls
  * Video export bitrate depends on the video resolution, which leads to much improved export at 1080p with default settings
  * Mac apps are now notarized by Apple
  * Original games now default to more authentic settings on first install; high res plugins are still included but are not enabled
    by default

Aleph One 1.3rc1
================

 (No changes listed)

Aleph One 1.3b3
===============

 (No changes listed)

Aleph One 1.3b2
===============

 (No changes listed)

Aleph One 1.3b1 (2018-09-30)
===============

 (No changes listed)

Aleph One 1.3a1
===============

This is a pre-release to allow community members to assist in testing some internal code changes. Please see the Pfhorums thread if
you would like to help.

The latest stable release is: Aleph One 1.2.1

Aleph One 1.2.1
===============

The 1.2.1 release fixes a crashing bug when carnage message MML is used. Otherwise it is identical to the 1.2 release.

Aleph One 1.2
=============

The Aleph One 1.2 release features online leaderboards and game statistics, a streamlined saved-game system, and full multiplayer
support for the original Marathon game. This release also includes a number of other new features and bug fixes.

If you do not use the bundled downloads, we recommend that you update your scenario files. Each game includes a new plugin for the
online leaderboards, and the Marathon scenario includes an important compatibility fix.

Aleph One 1.2 is not network compatible with the previous stable release.

Online features

Aleph One now integrates with the online leaderboards and player stats at lhowon.org. Sign up within Aleph One to send your
Marathon, Marathon 2, and Marathon Infinity game results to lhowon.org, where you can see your overall win percentage, kill totals,
and more.

From the new "Internet" preferences section, you can register your chat name, opt in to player stats, and configure other options
relating to online play.

Saved games

Saving your game no longer stops the action until you type in a name. Each time you use a pattern buffer, a new saved game is
created. The "Continue Saved Game" dialog shows you the in-game location, date, and game time for every save. Use the "Load Other"
button to open a saved game from an earlier version of Aleph One.

Marathon compatibility

  * Cooperative play is now supported in the original Marathon scenario
  * Net games no longer use incorrect physics models
  * Goal checking in repair levels now matches the original game
  * Grenade trajectory in low-gravity levels now matches the original game
  * Certain terminals and rechargers could be activated when they shouldn't have been. You must use the 1.2 scenario data files to
    get this update.
  * If you have an existing saved game on an "exploration" level, you may need to re-explore the level before you can exit. We
    apologize for the inconvenience.

Lua

  * Additions to the Lua API:
      - Triggers.projectile_created()
      - Game.dead_players_drop_items
      - Level.index
      - Level.map_checksum
      - Line.visible_on_automap
      - Polygon.visible_on_automap
  * Additions to the Lua HUD API:
      - Level.name
      - Level.index
      - Level.map_checksum
  * Custom fields on projectiles, monsters, etc. are cleared when the object is destroyed
  * Lua error messages contain more diagnostic info
  * Player:find_action_key_target() no longer triggers side effects

Other changes

  * New preferences:
      - Camera Bobbing (Graphics) — if disabled, the camera and weapon will remain steady, to reduce motion sickness
      - Join Pregame Lobby by Default (Internet -> Pregame Lobby) — if checked, when you choose "Join Network Game", Aleph One
        automatically presses "Find Internet Game" on the next screen. Hold down the Alt (Option) key to join a local game.
      - Use Netscript in Films, Netscript File (Environment) — use these preferences to play back films of games recorded with
        netscripts. Solo Lua scripts are no longer loaded during playback of net game films.
  * Logging in to the pregame lobby uses HTTPS to protect your password
  * The editing cursor in text fields can be moved with the arrow keys or the mouse
  * Command history in the Lua/chat console can be accessed with the up and down arrow keys
  * Team color selection in the Join dialog is disabled when the game does not support teams
  * Plugin API changes:
      - Scenario compatibility, to create plugins that load only for specific scenarios
      - More combinations of items are allowed within a single plugin
  * The Plugins dialog (Preferences > Environment > Plugins) lists the components of each plugin
  * Lua HUD support is available by plugin only
  * A custom port can be used when gathering net games. The port number can only be changed by editing the XML preferences file.

Crashes fixed

  * Maps with invalid light indexes in OpenGL (Shader) renderer
  * 3D models lacking texture coordinates
  * #STATIC command in terminals (SF #580)
  * Joining a net game after a "map not found" film playback error (SF #504)

Graphical fixes

  * 3D models display even when their center point is behind player
  * Repair chip inventory is shown in Marathon Enhanced HUD plugin
  * Carnage messages during film replay are shown for the currently viewed player
  * Static, pulsate, and wobble transfer modes improved in OpenGL (Shader) renderer
  * <player light="..."> MML setting respected in OpenGL (Shader) renderer
  * Motion sensor on magnetic levels works properly when frame rate lags (SF #372)
  * Styled chat names display properly in pregame lobby game info dialog

Platform-specific fixes

  * Linux:
      - A new configure script now succeeds when optional dependencies are missing. The script also summarizes which features are
        enabled. Packagers should review the configure options, which have changed.
      - Aleph One builds and runs with more versions of FFmpeg / libav (SF #576, #578, #582)
      - Web links no longer cause Aleph One to become unresponsive on some systems
  * Mac OS X:
      - Drag-and-drop now works in 10.10 (Yosemite)
      - Updated third-party libraries
  * Windows:
      - The .save level console command successfully overwrites existing files
      - Updated third-party libraries

Other fixes

  * MML from solo Lua plugins is no longer loaded after all other plugins
  * Plugins ignore references to non-existent files
  * Popping is reduced in certain ambient sounds
  * Various MML settings are correctly reset when changing levels
  * Some common but unhelpful messages are no longer written to the log file
  * File-overwrite dialogs respect the "Hide file extensions" preference
  * The first save in a cooperative game is less likely to fail
  * Saving a game creates fewer temporary files
  * Solo Lua is loaded when continuing a saved game even when the map file is missing
  * Joystick/mouse buttons mapped to map or volume controls are no longer ignored
  * UPnP configuration now works with more routers
jperkin pushed a commit that referenced this issue Jun 8, 2023
23.1.2 (2023-06-02)

    Improve typing_extensions version bound. (#372)

23.1.1 (2023-05-30)

    Add typing_extensions as a direct dependency on 3.10. (#369 #370)

23.1.0 (2023-05-30)

    Introduce the tagged_union strategy. (#318 #317)
    Introduce the cattrs.transform_error helper function for formatting validation exceptions. (258 342)
    Add support for typing.TypedDict and typing_extensions.TypedDict. (#296 #364)
    Add support for typing.Final. (#340 #349)
    Introduce override.struct_hook and override.unstruct_hook. Learn more here. (#326)
    Fix generating structuring functions for types with angle brackets (<>) and pipe symbols (|) in the name. (#319 #327)
    pathlib.Path is now supported by default. (#81)
    Add cbor2 serialization library to the cattr.preconf package.
    Add optional dependencies for cattrs.preconf third-party libraries. (#337)
    All preconf converters now allow overriding the default unstruct_collection_overrides in make_converter. (#350 #353)
    Subclasses structuring and unstructuring is now supported via a custom include_subclasses strategy. (#312)
    Add support for typing_extensions.Annotated when the python version is less than 3.9. (#366)
    Add unstructuring and structuring support for the standard library deque. (#355)
jperkin pushed a commit that referenced this issue Aug 8, 2023
1.8.18 (2023-07-17)

Merged pull requests:

* (PA-5641) Add release job via PR #321 #322 #323 (tvpartytonight)
* Remove old Ruby logic from Gemfile #320 (mhashizume)
* (PA-4639) Migrate away from AppVeyor #319 (mhashizume)
* Don't require git #318 (joshcooper)
* (PA-5641) Update rspec tests with modern Ruby #317 (mhashizume)
* Update to Mend #311 (cthorn42)

1.8.16 (2022-10-03)

Merged pull requests:

* (PA-4558) Replaces Travis CI with GitHub Actions #298 (mhashizume)
* Add snyk monitoring #297 (joshcooper)
* (packaging) Sets version to 1.8.15 for release #296 (mhashizume)
* Update CODEOWNERS #295 (binford2k)
* Add array support to autorequire variable expansion #294 (seanmil)
* (GH-231) Add default to transport attributes #293 (seanmil)
* Support ensure parameter with Optional data type #292 (seanmil)
* Only ship needed files #289 (ekohl)
jperkin pushed a commit that referenced this issue Nov 2, 2023
1.4.0 - 2023-10-29
⛰️ Features
 (changelog) Support bumping the semantic version via --bump (#309) - (bcfcd1f)
 (ci) Add 'typos' check (#317) - (88c34ab)
 (command) Log the output of failed external commands - (205cdbb)
 (config) [breaking] Support regex in 'tag_pattern' configuration (#318) - (3c2fb60)
 (config) Add field and value matchers to the commit parser (#312) - (04fbcb8)

📚 Documentation
 (blog) Fix the TOML format in 1.4.0 blog post - (4d691d2)
 (blog) Add blog post for 1.4.0 release - (e3f1b3b)
 (changelog) Fix typos (#316) - (edd3c30)
 (config) Update the comment for tag_pattern - (596fd4d)
 (core) Update the doc comment for commit preprocessors - (7faccc6)
 (image) Use images from the repository - (91c0cda)
 (lib) Extract feature documentation from Cargo.toml - (1f8098c)
 (lib) Add logo and favicon to docs.rs page - (32b1fe1)
 (readme) Add link to emacs package support git-cliff (#307) - (fa471c7)
 (website) Fix typos in configuration docs (#329) - (d863c94)
 (website) Add instructions for installing the latest git version - (be87608)

⚙️ Miscellaneous Tasks
 (ci) Update the link checker configuration (#315) - (32cbea8)
 (config) Update tag_pattern value for backwards compatibility - (2c621f7)
 (img) Add more images - (2792362)
 (img) Add git-cliff logo - (51f5e5b)
 (release) Update cargo-deb usage - (213f383)
 (website) Update the tracking link - (eb9f8e9)
jperkin pushed a commit that referenced this issue Dec 11, 2023
Breaking changes - v0.16.1 updates the parsing logic for theme configurations:
 - the palette's terminal colors might look different
 - the component style's custom RGB color now uses a hex color representation
   instead of Rgb = { r = ..., g = ..., b = ...}.

What's Changed
 - fix warnings when building without any features in #309
 - handle authenticate CLI command without a client in #314
 - UI album year in #305
 - Add play, pause, and generate CLI commands in #316
 - Improve theme configurations in #317
jperkin pushed a commit that referenced this issue Feb 1, 2024
# xml2 1.3.6

* Now compatible with libxml2 2.12.0 and later (@KNnut).

* Fixed format string issues detected in R-devel.

* Remove unused dependencies on glue, withr and lifecycle (@mgirlich).

* `print()` is faster for very long `xml_nodeset` inputs (#366, @MichaelChirico).

* `xml_attr()`, `xml_attrs()`, `xml_double()`, `xml_integer()`, `xml_length()`,
  `xml_name()`, `xml_path()`, `xml_text()`, and `xml_type()` no longer use
  S3 dispatch but instead dispatch in C, leading to considerable performance
  improvements in many cases (@mgirlich, #400).

* `xml_find_int()` analogous to `xml_find_num()` for returning integers
  matched by an XPath (#365, @MichaelChirico).

* `xml_serialize()` now includes the document type so that `xml_unserialize()`
  works also for HTML documents (#407, @HenrikBengtsson).

# xml2 1.3.5

* Small speedup for `xml_find_all()` (@mgirlich, #393).

* Fixes for R CMD check problems.

# xml2 1.3.4

* Fixes for R CMD check problems.

* Windows: update to libxml2 2.10.3

# xml2 1.3.3

* Hadley Wickham is now (again) the maintainer.

* xml2 has been re-licensed as MIT (#317).

* `xml_find_all.xml_node()` fails more informatively the `xpath` parameter is the wrong type (@MichaelChirico)

* `xml_find_all.xml_nodeset()` gains a `flatten` argument to control whether to return a single nodeset or a list of nodesets (#311, @jakejh)

* `write_xml()` and `write_html()` now return NULL invisibly, as they did prior to version 1.3.0 (#307)

* `XPtr` gets explicit copy constructor and assignment operator definitions, which were two missing components of the [Rule of three](https://en.wikipedia.org/wiki/Rule_of_three_(C%2B%2B_programming)) (@MichaelChirico)

* Windows: update to libxml2 2.9.10 and libxslt 1.1.34 and add ucrt libs
jperkin pushed a commit that referenced this issue Jul 20, 2024
Based on PR 58426 by jonathan buschmann.

## 2.4.7 2024-05-05

### Fixed
- docs(pop): clarify --spill behavior (#445)
- fix(branch): disallow branch before subcommand (#447)

### Changed
- refactor: get gix-command via gix with command feature
- Update gix to version 0.62


## 2.4.6 2024-04-07

### Fixed
- fix(bash): fix completion for "committish"

### Changed
- docs: Update copyright year
- chore: update gix to 0.61.1
- ci: update to wix 4.0.5


## 2.4.5 2024-02-18

### Fixed
- fix: stdout from hooks (#418)

### Changed
- chore: add category and keywords to Cargo.toml
- build: exclude some paths from crate
- docs(readme): enumerate more package repositories
- chore: update dependencies


## 2.4.4 2024-02-11

### Fixed
- fix: pass stdio for interactive editing (#415)
- fix: update gix-tempfile and gix-lock to 13.1.0 (#413)

### Changed
- chore: update dependencies


## 2.4.3 2024-02-04

### Added
- feat(branch): allow delete of current branch

### Fixed
- fix(branch): delete branch config with branch
- fix: use gix-command for interactive edit (#407)
- fix: improved interactive editor diagnostics
- chore: update gix to 0.58.0 (#407)
- docs: fix dates in changelog

### Changed
- refactor(branch): use gix to rename config section
- refactor: use gix to remove stgit branch config
- refactor: use gix-command for hooks
- refactor: use non-deprecated indexmap methods
- ci: update cargo-generate-rpm to 0.14.0
- ci: update to upload-artifact@v4
- ci: restore use of IO::Pty in MacOS build


## 2.4.2 2023-12-26

### Changed
- feat(pop): allow unescaped negative patch offsets
- feat(show): allow unescaped negative patch offsets
- chore: update dependencies


## 2.4.1 2023-12-10

### Fixed
- fix(zsh): short -r opt for `stg series`

### Changed
- chore: update gix to 0.56.0
- chore: update transient dependencies


## 2.4.0 2023-10-08

### Added
- feat(delete): --all -A -U -H options
- feat(sink): -T/--above option
- feat(branch): short opts for clone and delete


## 2.3.3 2023-10-04

### Fixed
- fix(zsh): -S option for float, import, and sync
- build: avoid non-portable install options
- test: improved test script portability

### Changed
- update dependencies


## [2.3.2] 2023-08-19

### Fixed
- fix!(uncommit): check for HEAD/top mismatch (#360)
- docs: docstring spelling and formatting fixes

### Changed
- feat(uncommit): print uncommited patches
- pin serde to avoid using precompiled binary
- update dependencies


## [2.3.1] 2023-07-25

### Fixed
- fix(zsh): typo in completion help for stg commit --all
- fix: use canonical Message-ID spelling
- fix(stgit.el): recognize new empty patch marker
- fix(import): Keep first line break in body

### Changed
- update dependencies


## [2.3.0] 2023-05-25

### Removed
- import-compressed is always enabled, no longer a feature

### Added
- unofficial deb and rpm packages
- msi package for Windows

### Fixed
- fix(import): would panic without import-url feature
- fix(import): patch numbers not stripped from name

### Changed
- use bzip2-rs instead of bzip2 crate
- update dependencies


## [2.2.4] 2023-05-15

### Added
- feat: Upgrade from ancient stack state formats (#235)

### Fixed
- fix(branch): create based on remote branch (#317)
- fix(import): lost subject lines resembling header (#321)
- fix(import): subject line may be discarded

### Changed
- chore: update dependencies


## [2.2.3] 2023-04-26

### Fixed
- fix: error using on Windows (#273)
- fix: path handling for Windows compatibility
- fix: commit-msg hook run from work root
- fix: avoid "stg.exe" in usage on Windows
- fix: use gitattributes to force LF endings on Windows
- fix: wrap hooks with sh on Windows

### Changed
- chore: update to gix 0.44.0
- chore: update other dependencies


## [2.2.2] 2023-04-01

### Fixed
- fix: rebase with '@' in ref names (#306)
- fix: improved error messages for unrecognized commands


## [2.2.1] 2023-03-29

### Changed
- chore: update to clap 4.2.0
- chore: update to gix 0.43.0
- chore: pin clap minor version

### Fixed
- fix(branch): allow reuse of partially deleted branch names (#290)
- fix(branch): branch list alignment
- fix: running hooks from worktree subdir (#295)
- fix: running from linked worktree (#297)
- fix(float): correct -S in usage string
- fix: correctly show bold command/subcommand in overidden usage


## [2.2.0] 2023-02-24

### Removed
- feat!: remove short -s option for --submodules
- fix!: patch name cannot be {base} or @

### Added
- feat: patch locator syntax
- feat: locate branches using @{-N} syntax
- feat(series): Add --reverse option
- feat(series): options for patch offsets and indices
- feat(series): --no-xxx options to override display options
- feat(series): optional value for --short
- feat!: short -s option for --signoff (#245)
- feat(init): add -b/--branch option

### Changed
- fix!: use -S as short opt for --series
- feat!: constrain refresh -p to visible patches
- feat(series)!: empty patch prefix changed to *
- feat!: spell errors in lowercase
- refactor: use gitoxide instead of git2
- refactor: use time crate instead of chrono
- feat!: update to clap 4.1
- chore: update to latest dependencies

### Fixed
- fix: Error if author or committer is not configured
- fix: Use correct base directory for core.hooksPaths
- fix(rename): colliding patch names
- fix(rebase): repair rebasing to a tag (#265)
- fix(branch): switch branch with detached head
- docs: Repair docstrings being confused as html
- docs: normalized spelling for --branch value


## [2.1.0] 2022-12-12

### Added
- feat: Configurable push conflict policy (#60)
- feat: Add --committer-date-is-author-date option (#47)
- feat(import): Add --3way option (#36)
- feat(import): Add --directory option (#36)

### Changed
- feat!: Relaxed stack initialization (#238)
- feat!: Only sign stack based on stgit.gpgsign (#238)
- fix!: Allow "---" separator in messages (#243)
- feat: More descriptive push conflict message (#60)
- feat: Avoid post-edit commits when no change
- chore: Update dependencies to latest versions

### Fixed
- fix: Improved error message for uninitialized stack
- fix: Improve error for re-initialization attempt
- fix(prev): Different error message for empty stack
- fix: Accept full ref name for branches
- fix(zsh): Complete --edit and --diff for stg new


## [2.0.4] 2022-11-30

### Changed
- docs: Document configuration variables
- refactor: Use is-terminal instead of atty
- chore: Update Cargo.lock with latest dependencies.

### Fixed
- fix: Don't generate new patch name until after edit (#239)
- fix: Run shell aliases from top-level of work tree
- fix: Use GIT_PREFIX in built-in aliases


## [2.0.3] 2022-11-21

### Changed
- chore: Update Cargo.lock with latest dependencies.

### Fixed
- fix: improved git version parsing on MacOS
- fix: StGit-specific branch config handling
- docs: fixed many typos


## [2.0.2] 2022-11-17

### Changed
- chore: Update Cargo.lock with latest dependencies.
- docs(init): Add long help for `stg init`.

### Added
- feat: Enable basic support for `extensions.worktreeconfig` to unblock
  sparse checkout with partial clone (#195).

### Fixed
- docs: More inter-command links
- docs: Normalize quoting


## [2.0.1] 2022-11-07

### Changed
- chore: Update to clap 4.0.22

### Fixed
- docs(readme): Clarify static versus dynamic linking (#230)
- build: Improve Documentation build performance (#229)


## [2.0.0] 2022-11-06

### Removed
- `stg clone` is removed. Use `git clone` and `stg init` instead.
- `stg mail` is replaced with `stg email format` and `stg email send`.
- `stg refresh --spill` is replaced with dedicated `stg spill` command.
- `stg edit` no longer accepts `-O/--diff-opts`. Custom diff options is
  in conflict with editable diffs since many (most?) diff options cause
  the diff to no long be applicable.
- `stg files` no longer accepts `-O/--diff-opts`. This option was of
  marginal value since it only had a possible side effect when `--stat`
  was being used.

### Added
- `stg id` now accepts the `-b/--branch` option.
- `stg completion` command provides runtime support for shell
  completions.
- `stg completion bash` generates bash shell completion script.
- `stg completion fish` generates fish shell completion script.
- `stg completion zsh` outputs zsh shell completion script.
- `stg completion list` shows StGit commands and aliases and is used at
  completion-time by shell completion scripts.
- `stg completion man` generates man pages in asciidoc format.
- `stg email format` wraps `git format-patch` and provides a mechanism
  to generate patch emails and optional cover letter in mbox format.
- `stg email send` wraps `git send-email` and allows sending patch
  emails, either from files generated by `stg email format` or by
  specifying patches directly.
- `stg new --refresh` allows a new patch to be refreshed with changes in
  one step. The `-i/--index`, `-F/--force`, `-s/--submodules`, and
  `--no-submodules` options from `stg refresh` are also available to
  `stg new` when using `-r/--refresh`.
- `stg series` gains the `-i/--commit-id` option to display patches'
  commit ids.
- `stg show` diff output can now be limited to certain paths by
  specifying path limits on the command line.
- `stg spill` replaces `stg refresh --spill`.
- `stg version` gains `-s/--short` flag to show shortened version info.
- Added documentation for patch range syntax to stg(1) man page.
- Added `install-all` target to top-level Makefile that installs the
  executable, man pages, html pages, and shell completions.

### Changed
- StGit is now implemented entirely in Rust instead of Python.
- StGit is generally much faster; many commands are up to 4x faster.
  There was an emphasis on making informational commands such as `stg
  id`, `stg series`, and `stg top` as fast as possible to make their use
  in interactive contexts (shell prompts, IDE extensions) more
  comfortable.
- StGit error messages have been updated; many have different, and
  hopefully better, wording. Error messages are also use color (when
  color is enabled). Scripts relying on exact error messages from StGit
  will need to be updated.
- StGit output to stdout is generally more terse. Commands that change
  the stack such as `push`, `pop`, and `commit`, use sigils to denote
  the changes made to the stack. E.g. `stg commit p0..p3` will output `$
  p0..p3` where the "$" sigil means that a patch, or patch range, has
  been committed. These are all the currently used stack change sigils:
  - `+` patch was pushed
  - `-` patch was popped
  - `>` patch became the current topmost patch
  - `&` patch was updated
  - `$` patch was committed
  - `#` patch was deleted
  - `@` patch was rolled-back
  - `!` patch was hidden
- StGit aliases are now more like Git aliases. Normal aliases refer to
  StGit subcommands, but aliases prefixed with '!' are shell aliases
  that may run arbitrary commands. An example normal alias would be `git
  config stgit.alias.list 'series --description --empty'`. An example
  shell alias would be `git config stgit.alias.st '!git status
  --short'`.
- Commands such as `stg goto`, `stg push`, and `stg pop` now require
  full/correct patch names on the command line and no longer accept
  unambiguous patch name prefixes. When an inexact patch name is
  provided on the command line, the error message will now suggest
  similar valid patch names.
- Additional template search paths were added. In addition to looking
  for template files in .git/, also look in
  `$XDG_CONFIG_HOME/stgit/templates/` and `$HOME/.stgit/templates`. This
  search strategy is consistent with how git looks for the global config
  file.
- The new `--signoff` patch edit option supersedes the deprecated
  `--sign` and `--sign-by` options. `--signoff` without its optional
  value does the same thing as `--sign`, while `--signoff=<value>` does
  the same thing as `--sign-by=<value>`.
- The `--ack` and `--review` patch edit options now optionally take a
  value. The `--ack-by` and `--review-by` options are deprecated.
- `stg branch` output is now generally less verbose.
- `stg branch --describe` replaces `stg branch --description`. The
  `--description` subcommand remains supported as a hidden alias to
  `--describe`, but the description string must now be provided as its
  own argument; i.e. `--description="description string"` is no longer
  supported.
- `stg branch --list` now produces colorized output. The `--color`
  option or `NO_COLOR` environment variable may be used to affect this
  behavior.
- `stg branch --rename` now supports renaming regular git branches in
  addition to StGit-enabled branches.
- `stg clean` now uses `-A` and `-U` short options for `--applied` and
  `--unapplied` instead of `-a` and `-u`. This is done for consistency
  with `stg series` and `stg show`.
- `stg import` now only recognizes compressed patches by their file
  extension (`.bz2` or `.gz`) and no longer proactively attempts to
  decompress using all known decompressors.
- `stg import` support for compressed input files is selectable at
  compile time using the `import-compressed` feature.
- `stg import` support for importing from a URL is selectable at compile
  time using the `import-url` feature. **N.B.** there is a measurable
  runtime performance impact of building with `import-url` due to the
  unconditional, pre-main initialization of `curl` which affects **all**
  `stg` commands.
- `stg log` now colorizes output by default. The `--color` option or
  `NO_COLOR` environment variable may be used to affect this behavior.
- `stgit.new.verbose` changed to `stgit.edit.verbose` and now also
  affects edit behavior for `edit`, `refresh`, and `squash` along with
  `new`.
- `stg new` now accepts `-e/--edit` and `-d/--diff` instead of
  `-v/--verbose`
- `stg pick` now allows a mix of commits and patches to be picked
  whereas previously only a single commit xor multiple patches could be
  picked.
- `stg pick` now performs a single stack transaction for all the picked
  patches/commits instead of one transaction per pick.
- `stg push` now attempts to perform three-way merges, which may improve
  conflict resolution in some cases. This feature is enabled by default
  when git >= 2.32.0 is detected.
- `stg rebase --interactive` the "squash" and "fixup" instructions may
  no longer be applied to the first patch in the instruction list. The
  stated semantics of both "squash" and "fixup" is that they squash the
  labeled patch with the preceding patch, which is not possible/valid
  when there is no preceding patch.
- `stg refresh` no longer has a `--spill` flag. Use `stg spill` instead.
- `stg series` has updated colorized output.
- `stg series` now requires patch range arguments to be both in-order
  and contiguous. Constraining patch ranges in this manner ensures that
  the output from `stg series` is always a valid/correct view of a
  subset of the series.
- `stg show` diff output respects the `--color` option.
- `stg squash` now allows the full suite of patch edit options,
  including `-d/--diff`. Previously only a few message-related options
  were available.
- `stg version` now displays copyright and license statements.

### Fixed

- `stg branch --create` inherits the current branch's remote branch
  configuration, if available. The Python implementation had an apparent
  bug that prevented inheriting the remote branch configuration when
  creating from the current branch.
- Avoid case insensitive patch name collisions. On operating systems
  with case-insensitive paths, patch names that only differ by case lead
  to patch reference collisions. StGit now ensures that patch names are
  distinct under case insensitive comparisons.
- `stg pull` and `stg rebase` record updated stack state instead of
  deferring until the next stack-modifying command to do so.

### Changed since 2.0.0-rc.2

#### Changed
- chore: Update Cargo.lock

#### Fixed
- fix(zsh): Repair broken completion of --git-opt
- fix(zsh): Add missing `stg email send --branch`
- fix(email): Send using --branch option
- fix: Avoid duplicate signoff with stgit.autosign
- fix: Do not use 3way for merged checks


## [2.0.0-rc.2] 2022-10-23

### Changed
- The `--diff-opts` option is renamed to `--diff-opt`. `--diff-opts`
  remains available as an alias.
- The `--diff-opt` option no longer allows multiple git options per
  occurrence. This allows git diff options with spaces in their values.
- The `--git-opts` option for `stg email format` and `stg email send` is
  renamed `--git-opt`.
- The `--git-opt` option no longer allows multiple git options per
  occurrence. This allows git options with spaces in their values.
- Zsh completion for `--diff-opt` and `--git-opt` leverage the
  full-featured git completion capability.

### Fixed
- Repair check for modifications to stack by external tools.
- `stg pull` and `stg rebase` record updated stack state instead of
  deferring until the next stack-modifying command to do so.
- Improve patch application with `git apply --3way` when pushing` (#225)
- Zsh completion for `--diff-opt` accommodates multiple occurrences


## [2.0.0-rc.1] 2022-09-30

### Added
- Added `--annotate` flag to `stg email send`.
- Added `-p`/`--patch` option to `stg show` as alternative way to select patch
  ranges (#216).
- Added `-n`/`--name` option to `stg new` as alternative way to specify new
  patch name (#216).

### Changed
- Update `git2` to 0.15.0, which may further help compatibility with
  sparse checkouts and multiple worktrees (#195).
- Update to `clap` 4.0, which changes the help formatting and coloring.
- Update other dependencies to latest versions in Cargo.lock.
- No longer depend on `lazy_static` crate.
- Use `std::thread::scope` instead of custom mechanism. This brings the
  total number of uses of `unsafe` in StGit to zero.
- Minimum rustc requirement is set to 1.63.0.
- The '$' sigil used for committed patches is now yellow instead of
  white.
- Patch names beginning with a hyphen '-' may be disambiguated from command
  line options by escaping the leading '-' with a backslash.
- `stg email format` and `stg email send` now use `-G`/`--git-opts` to pass
  additional options to `git format-patch` and `git send-email`.
- Patch name arguments to `stg email format` and `stg email-send` can now be
  placed after a `--` separator (#216).
- Update top-level usage help for `stg`.

### Fixed
- Various errors that may occur when executing a stack transaction are
  now handled more robustly such that the changes from the transaction
  are rolled-back so that the stack, repository, and worktree are all in
  a consistent state (#205).
- The `stg uncommit -h` usage indentation is repaired.
- The `stg float` usage now shows the two distinct usage modes.
- `stg squash --name` allows patch names with leading '-'.
- `stg diff --range` allows patch names and ranges with leading '-'.
- Fix some pre-indented paragraphs in help/about strings.
- Zsh completion for `stg edit` incorrectly included -O/--diff-opts.
- Zsh completion for `stg files` incorrectly included -O/--diff-opts.


## [2.0.0-beta.3] 2022-08-28

### Added
- Add install targets for `contrib/` directory.

### Changed
- Use `git` executable instead of `libgit2` for all status and index
  operations to improve compatibility with sparse index checkouts
  (#195).
- Show commit hash in `stg version` output when not built from tag.
- Use `cargo --locked` consistently in Makefiles.
- Use "patch" extension in temp file name when editing a patch with a
  diff.
- Updated transient dependencies in Cargo.lock.

### Fixed
- Repair `stg branch --describe` panic when run without arguments
- Repair zsh completions for `git branch`
- Repair `stgit.el` to use compatible `stg show` commands (#202).
- Repair `stg uncommit --to` to work with annotated tags (#203).
- Repair `make install` to not install cargo tracking files.


## [2.0.0-beta.2] 2022-08-05

### Changed
- Improved error when push conflicts with untracked files (#193)
- Removed a few transitive dependencies by turning-off features in bstr
  and chrono.
- Update Cargo.lock with latest dependencies
- Update to clap 3.2 and only use non-deprecated interfaces

### Fixed
- Repair `stg spill` when spilling newly added files and using path
  limits.


## [2.0.0-beta.1] 2022-07-28

### Removed
- Removed Python implementation of StGit.

### Added
- Man page generation in asciidoc format with `stg completion man`. This
  was needed for feature parity with the Python implementation.
- Added documentation for patch range syntax to stg(1) man page.
- Added `install-all` target to top-level Makefile that installs the
  executable, man pages, html pages, and shell completions.

### Changed
- Additional template search paths were added. In addition to looking
  for template files in .git/, also look in
  `$XDG_CONFIG_HOME/stgit/templates/` and `$HOME/.stgit/templates`. This
  search strategy is consistent with how git looks for the global config
  file.
- Makefile targets are updated such that they are all applicable to the
  Rust implementation.
- Argument value names are now all lowercase in help and man pages.
- Updated Cargo.lock with latest versions of dependencies.
- Release checklist is updated for Rust implementation.

### Fixed
- Minor typo fixes in help strings
- Improved documentation for top-level `stg` options.
- Improve error message in edge case of attempting to push a hidden
  patch by name when there are no unapplied patches.


## [2.0.0-alpha.2] 2022-07-07

### Added
- `stg email format` wraps `git format-patch` and provides a mechanism
  to generate patch emails and optional cover letter in mbox format.
- `stg email send` wraps `git send-email` and allows sending patch
  emails, either from files generated by `stg email format` or by
  specifying patches directly.

### Changed
- Bash completions for shell aliases now fallback to filename
  completions (#191).
- Help options listings now ensure --color and --help are shown last.
- Various zsh completion improvements:
  - Add descriptions for --color values
  - Complete -O/--diff-opts values (using `git diff-tree --git-completion-helper`)
  - Comprehend `stg -C <dir>` options
  - Improved/corrected alias expansion
  - Improved error messages when completion is attempted outside git
    repo and/or StGit-initialized branch
  - Patch name completions now look and feel like output from `stg
    series`
  - Complete patch range syntax ('patch0..patchN') for all relevant
    commands
  - Completion for `stg squash` no longer allows duplicate patch name
    arguments
  - Removed completions for removed `stg mail` command
  - Completion for `stg sink` no longer offers hidden patches
  - Completion for `stg rename` comprehends second, new patch name
    argument
  - Completion for `stg diff --range` now works

### Fixed
- Compatibility with git versions prior to 2.35.0 is repaired by
  avoiding using `git apply --allow-empty` (#192).
- Fish completions for -O/--diff-opts are repaired


## [2.0.0-alpha.1] 2022-06-17

### Added
- `stg series` gains the `-i/--commit-id` option to display patches'
  commit ids.
- `stg series` colorized output is modified. The main change is that
  patch descriptions are no longer yellow.
- `stg version` now displays copyright and license statements.
- `stg version` gains `-s/--short` flag to show shortened version info.
- The `stgit.diff-opts` configuration variable is now respected as it
  was in the Python implementation.
- `stg completion` command provides runtime support for shell completions.
- `stg completion bash` generates bash shell completion script.
- `stg completion fish` generates fish shell completion script.
- `stg completion zsh` outputs zsh shell completion script.
- `stg completion list` shows StGit commands and aliases and is used at
  completion-time by shell completion scripts.

### Changed
- The `-O/--diff-opts` flag now allows both multiple space separated
  opts in one value as well as multiple occurrences of `-O/--diff-opts`
  on the same command line. This behavior is compatible with the Python
  implementation.
- `stg series` help output splits options into a few sections.
- Dependencies are updated to more recent versions in Cargo.lock.

### Fixed
- `stg edit --set-tree` no longer causes the interactive editor to be
  implicitly invoked.
- Repair build for non-Linux unix targets (including MacOS) and Windows
  targets.
- Avoid case insensitive patch name collisions. On operating systems
  with case-insensitive paths, patch names that only differ by case lead
  to patch reference collisions. StGit now ensures that patch names are
  distinct under case insensitive comparisons.
- Add missing `-t` short option for `--set-tree` for `stg edit`.
- Add missing `-k` short option for `--keep`.


## [2.0.0-alpha.0] 2022-05-17

### Removed
- `stg edit` no longer accepts `-O/--diff-opts`. Custom diff options is
  in conflict with editable diffs since many (most?) diff options cause
  the diff to no long be applicable.
- `stg files` no longer accepts `-O/--diff-opts`. This option was of
  marginal value since it only had a possible side effect when `--stat`
  was being used.
- `stg clone` is removed (at least for the time being). Use `git clone`
  and `stg init` instead.
- `stg mail` is removed, but will be re-added or replaced prior to the
  2.0.0 release.

### Added
- `stg new --refresh` allows a new patch to be refreshed with changes in
  one step. The `-i/--index`, `-F/--force`, `-s/--submodules`, and
  `--no-submodules` options from `stg refresh` are also available to
  `stg new`.
- `stg id` now accepts the `-b/--branch` option.
- `stg spill` replaces `stg refresh --spill`.

### Changed
- StGit aliases are now more like Git aliases. Normal aliases refer to
  StGit subcommands, but aliases prefixed with '!' are shell aliases
  that may run arbitrary commands. An example normal alias would be
  `git config stgit.alias.list 'series --description --empty'`. An
  example shell alias would be `git config stgit.alias.st '!git status
  --short'`.
- The `--ack` and `--review` options now optionally take a value. The
  `--ack-by` and `--review-by` options are deprecated.
- Commands such as `stg goto`, `stg push`, and `stg pop` now require
  full/correct patch names on the command line and no longer accept
  unambiguous patch name prefixes. When an inexact patch name is
  provided on the command line, the error message will now indicate
  similar valid patch names.
- `stg branch` output is now generally less verbose.
- `stg branch --describe` replaces `stg branch --description`. The
  `--description` subcommand remains supported as a hidden alias to
  `--describe`, but the description string must now be provided as its
  own argument; i.e. `--description="description string"` is no longer
  supported.
- `stg branch --list` now produces colorized output. The `--color`
  option or `NO_COLOR` environment variable may be used to affect this
  behavior.
- `stg branch --rename` now supports renaming regular git branches in
  addition to StGit-enabled branches.
- `stg clean` now uses `-A` and `-U` short options for `--applied` and
  `--unapplied` instead of `-a` and `-u`. This is done for consistency
  with `stg series` and `stg show`.
- `stg import` now only recognizes compressed patches by their file
  extension (`.bz2` or `.gz`) and no longer attempts to decompress using
  all known decompressors.
- `stg import` support for compressed input files is selectable at
   compile time using the `import-compressed` feature.
- `stg import` support for importing from a URL is selectable at compile
  time using the `import-url` feature.
- `stg log` now colorizes output by default. The `--color` option or
  `NO_COLOR` environment variable may be used to affect this behavior.
- `stgit.new.verbose` changed to `stgit.edit.verbose` and now affects edit
  behavior for `edit`, `refresh`, and `squash` along with `new`.
- `stg new` now accepts `-e/--edit` and `-d/--diff` instead of `-v/--verbose`
- `stg pick` now allows a mix of commits and patches to be picked
  whereas previously only a single commit xor multiple patches could be
  picked.
- `stg pick` now performs a single stack transaction for all the picked
  patches/commits instead of one transaction per pick.
- `stg rebase --interactive` the "squash" and "fixup" instructions may
  no longer be applied to the first patch in the instruction list. The
  stated semantics of both "squash" and "fixup" is that they squash the
  labeled patch with the preceding patch, which is not possible/valid
  when there is no preceding patch.
- `stg refresh` no longer has the `--spill` flag. Use `stg spill`
  instead.
- Updated colorized output for `stg series`.
- `stg series` now requires patch range arguments to be both in-order
  and contiguous. Constraining patch ranges in this manner ensures that
  the output from `stg series` is always a valid/correct view of a
  subset of the series.
- `stg show` diff can now be limited to certain paths by specifying path
  limits on the command line.
- `stg show` diff output respects the `--color` option.
- The new `--signoff` patch edit option supersedes the deprecated
  `--sign` and `--sign-by` options. `--signoff` without its optional
  value does the same thing as `--sign`, while `--signoff=<value>` does
  the same thing as `--sign-by=<value>`.
- `stg squash` now allows the full suite of patch edit options,
  including `-d/--diff`. Previously only a few message-related options
  were available.

### Fixed
- `stg branch --create` inherits the current branch's remote branch
  configuration, if available. The Python implementation had an apparent
  bug that prevented inheriting the remote branch configuration when
  creating from the current branch.


## [1.5] 2022-01-28

### Removed
### Added
- Add Makefile targets for installing shell completions
- `stg rebase --interactive` learns 'hide' instruction

### Changed
- Picked patch names are preserved when possible (#175)
- Replace `--unapplied` option with `--noapply` for `stg pick` (#174)
- `stg pick --noapply` no longer reverses patch order (#174)
- Use `stg version` uses `sys.executable` to get Python version.

### Fixed
- Repair `stg repair` with amended first patch (#163)
- Repair corner cases where invalid patchnames could be generated by
  `stg new`, `stg uncommit`, etc. (#176)
- `stg mail` could crash due to a misspelled reference (#178)
- Zsh completion for `stg refresh -p` now completes against all patches
  (not just applied patches).
- Zsh gains missing completion for `stg push --noapply`
- Minor repair to help for `stg float --noapply` and `stg push
  --noapply`
- Restore `stg sink --nopush` capability.


## [1.4] 2021-10-27

### Removed
- Python 3.5, which became EOL 2020-09-13, support is deprecated and
  will be removed in a future StGit release
- Python 3.6, which will be EOL 2021-12-23, support is deprecated and
  will be removed in a future StGit release

### Added
- The new `stg import --message-id` option causes the Message-ID from
  imported emails to be included as the Message-Id trailer in the patch
  description (#42)
- The new 'stgit.import.message-id' config option also enables the
  Message-Id trailer (#42)

### Changed
- `stg import` no longer creates "Message-Id" trailer by default when
  importing patches from email (#42)
- StGit works with Python 3.10
- `stg version` prints a more abbreviated Python version
- `stg commit` will no longer commit empty patches by default; the
  `--allow-empty` option may be used to override this behavior (#158)
- The `stgit.main.main()` function now takes an argv parameter and
  returns an int return code in most cases instead of calling
  sys.exit(), thus making main() a bit easier to use as an API.

### Fixed
- Repair stack upgrade with `stg branch --list` (#155)
- Repair crash in `stg squash` with out of order patches and no name
  specified (#157)
- Zsh completions learn `stg float --noapply` option
- Zsh completion for `stg sink` now allows multiple patches


## [1.3] 2021-09-26

### Removed

### Added

### Changed

### Fixed
- Repair crash regression when using `stgit.autosign`

## [1.2] 2021-09-26

### Removed

### Deprecated
- Python 3.5, which became EOL 2020-09-13, support is deprecated and
  will be removed in a future StGit release
- Python 3.6, which will be EOL 2021-12-23, support is deprecated and
  will be removed in a future StGit release

### Added
- `stg rebase ` learns `--interactive`; easily re-order, edit, squash,
  fixup, or delete patches via your editor
- `stg rebase` learns `--autostash`; stash changes before the rebase and
  apply them after. Also configurable with the `stgit.autostash`
  configuration option
- `stg edit` can now rename patches (#119)
- `stg edit` gains helpful instructions (#138)
- `stg new` learns `--verbose`, which includes a diff in the editor
  window (similar to `git commit --verbose`). This behavior is also
  configurable with the `stgit.new.verbose` configuration option
- `stg push` and `stg float` learn `--noapply` option; allows patches
  to be reordered without updating worktree and deferring merge conflict
  resolution (#144)
- `stg edit`, `stg refresh`, and `stg new` learn the `--sign-by`,
  `--ack-by`, and `--review-by` options which allow those respective
  trailers' values to be specified by the user on the command line (#92)

### Changed
- Stack metadata version 5; stack metadata is moved from
  `refs/heads/<branch>.stgit` to `refs/stacks/<branch>` and the stack
  metadata file now uses a JSON format instead of the prior custom
  format; the stack metadata will be upgraded to v5 on first use of
  this version of StGit; like all stack metadata upgrades, **this is a
  one-way auto-upgrade for existing stacks** (#65)
- Use setuptools instead of distutils for packaging
- No git or python version checks in setup.py
- Use different dynamic versioning system
- Install `stg` executable as console_script entry point
- More sophisticated search for bash.exe on Windows when running hooks
- The editor window text for `stg squash` has been modified to mirror
  git's behavior -- the squash edit message now includes all commits
  (#71)
- Binary diffs are no longer shown when with `stg edit -d`
- Multiple trailers can now be added at once; this is now allowed, for
  example: `stg edit --sign --review --ack`
- Update zsh completion for `stg rebase` to show local and remote heads
  (#102)
- Zsh completions for commands with patch arguments now comprehend the
  effect of `-b/--branch` and `-B/--ref-branch`
- Zsh completions now guard patch names--one less TAB press to complete
  patch names in certain contexts
- `stg import` now extracts the `Message-ID` email header into the patch
  message (#42)

### Fixed
- Repair crash when attempting to export empty patch (#112)
- Exact command name matches are unambiguous (#110)
- Exiting with an empty `stg edit` editor will now abort the edit;
  previously it would delete your commit message. (#138)
- Repair completions when stg.series.description is enabled in config
- Workaround child process reaping race on Windows (#78)
- Repair crash with `stg float --series` when bad patch name in series
- Repair zsh completion for `stg float` to accept multiple patch names
- Repair zsh completion for changed files, affecting `stg refresh` and
  `stg diff`

### Internal
- Add link to coverage.io project to CONTRIBUTING.md
- Set smart `exclude_lines` default for 'coverage'
- Expanded test suite for `stg edit`
- Add pkgtest.py script to help test StGit packaging
- Cleanup .gitignore files


## [1.1] 2021-04-30

### Removed

### Added
- StGit GPG-signs patches when `commit.gpgsign` is set (#12)
- Support `core.hooksPath` in git config
- Add `-C` option for `stg import` and `stg fold` (#18)

### Changed
- Allow importing mail and series from urls (#94)
- `stg refresh --edit` may also use `--diff` and `--diff-opts` (#98)
- `stg goto` allows sha1 of a patch instead of patch name (#93)

### Fixed
- Repair hang in `stg pull -m`, `stg goto -m`, and `stg push -m`
- Repair `stg mail` to show diffstat of whole series (#104)
- Repair MANIFEST.in to include AUTHORS.md and README.md files


## [1.0] 2021-02-07

### Removed
- Drop support for Python < 3.5
- Remove previously deprecated `stg publish` command
- Removed contrib scripts: `stg-swallow`, `stg-fold-files-from`,
  `stg-dispatch`, `stg-whatchanged`, and `stg-show-old`

### Added
- The pre-commit hook is now run for `stg refresh`
- New `--spill` option for `stg refresh`
- Add stgit.series.description config option (#88)
- Official support for Python versions up to 3.9

### Changed
- Stack metadata format 4. All metadata now kept in Git objects; no more
  stack state files in .git/patches. **A one-way auto-upgrade to format
  version 4 will occur when StGit commands are run on an existing StGit
  branch.**
- Use `python3` in shebangs instead of `python`
- `contrib/stgbashprompt.sh` is no longer executable
- Internal docstrings now use reStructuredText instead of Epytext

### Fixed
- Importing large patches is much, much faster (#66)
- Other performance improvements when dealing with large patches
- Repair diffstat when outside work tree root (#62)
- Use encoded (string) environment variables on Windows (#79)
- Fix `stg pull` when no upstream is configured (#83)
- Fix `refresh` crash with path limiting and files added to index (#85)
- Repair `new` with patchdescr.template crash (#87)
- Repair `log` from worktree subdir with patches specified
- Repair `import` allowing/generating duplicate patch names (#64)
- Repair `mail --auto` to strip comments after addrs (#91)


## [0.23] 2020-06-12

### Removed
- Drop support for Python 3.3; Python 2 (2.6 and 2.7) remain
  deprecated, but supported for one last release
- Tutorial is removed; it now exists as part of the website

### Deprecated
- Python 2.x support is deprecated and will be removed in a future
  release

### Added
- Support html5 output of docs from asciidoc
- Add `--expose` option for `stg pick` to allow picked commit message to
  be customized

### Changed
- Limit mail diffstat to 72 columns
- Added pyproject.toml file for black configuration
- Minimum Git version is 2.2.0
- Quote stg and subcommand in man page synopsis
- Replaced RELEASENOTES with this CHANGELOG.md
- Replaces Documentation/SubmittingPatches with CONTRIBUTING.md

### Fixed
- Repair MANIFEST.in and generated source dist
- Repair importing mail with ": " (colon space) in subject
- Fix mail cover letter shortlog
- Fix mail cover letter diffstat
- `stg series` now only outputs colors when `isatty()`
- Repair mail SSL check (#57)
- Repair `stg mail` with both `-a` and `-e` options (#58)
- Remove empty short-opt for `--no-submodules` of `stg refresh`
- Repair build.py for Python 2 with explicit `flush()`
- `stgit.refreshsubmodules` added to sample gitconfig

### Internal
- Update docs build system from upstream Git docs
- Use coverage contexts to map commands to covered lines
- Improve mail tests
- Use GitHub Actions instead of TravisCI
- Format StGit source using black formatter

## [0.22] - 2020-03-02

### Removed
- Remove debian packaging; downstream Debian uses its own anyway

### Deprecated
- Python 2.x support is deprecated and will be removed in the next StGit
  release
- `stg publish` is deprecated and will be removed in the next StGit
  release

### Added
- `stg import` has new --keep-cr option, like `git mailsplit`

### Changed
- `stg new` now includes patch name in log message
- `stg branch --rename` can now rename the current branch
- `stg branch --create` now works even if the workspace is dirty,
  consistent with `git checkout`
- `stg branch --description` now works on both regular and stgit
  branches
- `stg edit --diff` now implies `--edit`
- `stg refresh` and `stg edit` now reset the committer information,
  consistent with `stg push`
- git notes are now preserved when patches are modified
- Tutorial improvements
- Many additional tests and test improvements
- All stgit commands now use "new" git library infrastructure

### Fixed
- `stg branch --create` inherits remote correctly from parent committish
- Patch names are checked earlier to avoid inconsistent stack states
- Improved commit data parsing and handling of non-UTF8 encodings
- Repair git error messages when checking stgit version from outside a
  git repo


## [0.21] - 2019-10-28

### Changed
- Faster handling of large patches (#44)

### Fixed
- Build reproducibility repairs (Thanks reproducible-builds.org team!)
- Python can now be run with optimizations (`python -O`)
- `stg log` now prints trailing newline
- Improved command line option parsing for `stg log`


## [0.20] - 2019-10-04

### Added
- `stg patches -d` can now output colored diffs.
- `stg publish --overwrite` allows branch to be overwritten instead of
  creating new commits.
- `stg log --clear` deletes the stack's log history. Use with caution.
- Fish shell completions for stg.
- Zsh completions for stg.
- `stg mail --domain` option overrides the host's domain in the message
  ID.

### Changed
- Branch protection metadata now captured in config instead of
  .git/patches/<branch>protect file. This updates stgit's metadata
  format from v2 to v3.
- `stg diff` no longer shows binary diffs by default. Use `-O--binary`
  or add `--binary` to stgit.diff-opts in config.
- Diagnostic output is now routed to stderr instead of stdout.
  Diagnostic output is also now sent to stderr unconditionally, i.e. no
  more isatty() test (#35).
- Converted to "new" lib infrastructure: `show`, `patches`, `diff`,
  `pick`, `pull`, `rebase`, and `fold`.

### Fixed
- `stg show` detects conflicting --applied and --unapplied options.
- `stg show --stat` now shows commit headers.
- `stg patches --diff` now shows proper diff instead of `b'...'` repr of
  diff.
- `stg diff --range` detects some invalid values (e.g. `-r ..`).
- Date parsing is now more portable, only use platform specific `date`
  as last parsing option. Affects, e.g., `stg refresh --authdate`.
- Repaired search path for templates to avoid looking in Python
  site-packages directory.
- Ensure stdout and stderr are flushed. Rarely affected `stg diff`.
- `stg repair` will now fail if extra command line arguments are
  provided.
- Bash completions are now generated in a reproducible manner.
- `stg edit --diff` on an empty patch no longer crashes.
- `stg pick` no longer fails when picked commit has empty message (#39).
- `stg rebase` no longer crashes when there are conflicts (#34).
- `stg pick` no longer crashes if --name is not provided when picking a
  regular commit object.
- Improved test coverage for: branch, diff, pick, sync,
- New tests for: files, patches, fold, series
- Portable use of iconv, sort, and sed in tests.
- Linting using flake8 and isort.
- All Python code now conforms to PEP-8.
- Updated test infrastructure from git 2.20.
- Parallel tests with coverage (`make -j4 coverage`) now works.
- Documentation build is not included in code coverage.
- Repaired log end messages when using `STGIT_SUBPROCESS_LOG=debug`.
- Renamed "dunder" instance attributes to improve debugging.
- Fail faster when patch name has slash ('/') (#24).


## [0.19] 2018-11-05

### Changed
- Python 3 support. StGit supports Python 2.6, 2.7, 3.3, 3.4, 3.5, 3.6,
  and 3.7. PyPy interpreters are also supported.
- Submodules are now ignored when checking if working tree is clean.
  Submodules are also not included by default when refreshing a patch.
- Config booleans are now parsed similarly to git-config.
- `contrib/stgit.el` is now licenced with GPLv2.
- Add continuous integration (travis-ci) and code coverage (coveralls)
  support.
- Many new test cases were added.

### Fixed
- Repair handling of emails with utf-8 bodies containing latin-1
  characters. Also correctly decode email headers containing quoted
  encoded words.
- StGit's version is now correct/available in the release archive.


## [0.18] 2017-08-14

### Added
- `commit-msg` hook support for easier integration with Gerrit, allowing
  a Change-Id line to be inserted in the commit message
- `stg mail` improvements for 'Suggested-by:' tag and auto generation of
  Cc for the cover letter based on all tags in the series
- `stg mail` bash completion for the --to, --cc and --bcc options based
  on the content of the [mail "alias"] section of Git configuration
- `stg edit --review` option to add a 'Reviewed-by:' tag
- `stg pop --spill` functionality to allow popping a patch from the
  stack while keeping its modification in the tree

### Changed
- Project page details updated (gna.org has been shut down)

### Fixed
- Various fixes and test coverage improvements
jperkin pushed a commit that referenced this issue Jul 31, 2024
Changelog:
25 April 2024: Jeroen
	- Bump simdzone to fix OpenBSD build issues.
	- Tag for 4.10.0rc1.

24 April 2024: Wouter
	- Fix that the reload handler for sigchild uses signal_add, and
	  also that the signal handler is restored when done.
	- Fix that when server verify is done it resets the sigchild handler.
	- Fix makedist.sh for simdzone inclusion.
	- Fix makedist.sh to remove simdzone git tracking information and
	  scripting temporaries from tarball.
	- Fix error output of makedist.sh.

23 April 2024: Wouter
	- Fix #329: TCP accept queues number.

22 April 2024: Jeroen
	- Use simdzone version with name parser fix.

16 April 2024: Jeroen
	- Replace Flex+Bison based zone parser with simdzone.

15 April 2024: Wouter
	- Unit test for dname subdomain test used by xfrd-tcp.c.

9 April 2024: Wouter
	- Fix IXFR requests upstream for zones with a long name. Thanks for
	  the report to Yuuki Wakisaka from Internet Initiative Japan Inc.

8 April 2024: Wouter
	- For #317: Modify nsd service script to stop NSD from creating a
	  pid file that systemd is not using.
	- Fix #324: Clarify the purpose of contrib/bug390.patch.
jperkin pushed a commit that referenced this issue Aug 24, 2024
Features / Improvements ✨

    Support marking a room as a direct message room (#92)
    Add external_edit_file_suffix to config (#253)
    Allow typing newline with <S-Enter> and enable keyboard enhancement protocol (#272)
    Display file sizes for attachments (#278)
    Implement set/unset/show for alternative and canonical aliases (#279)
    Allow notifications on open room if terminal not focused (#281)
    Add command to set per-room notification levels (#305)
    Add message slash commands (#317)
    Support reacting literally with non-Emojis (#320)
    Include room name in desktop notifications (#326)
    Add ban/unban/kick room commands (#327)
    Add command for setting room history visibility (#328)
    Add commands for viewing and clearing unreads (#332)

Documentation / README updates 📚

    Update Welcome window to reference TOML instead of JSON (#254)
    Add FreeBSD installation instructions (#280)
    Fix openSUSE link and installation command in README (#283)
    Add Hombrew as install method on MacOS (#303)

Bug Fixes 🐞

    Fix reaction count when there are duplicate reaction events from a user (#239)
    Prevent sending duplicate reaction events (#240)
    Use color overrides for users when message_user_color is enabled (#245)
    Fix image preview placement when messages are preceded by a date in the timeline (#257)
    Trim :editor output and check if it's empty (#275)
    Add error for missing username on :logout (#277)
    Remove timeout for desktop notifications (#314)
    Fix underflow panics when using TextPrinter::push_span_nobreak (#322)
    Remove modifyOtherKeys enablement (#324)
    Avoid treating simple messages as Markdown (#325)
    Handle message marks on non-64-bit platforms (#329)

Building / Housekeeping 🧹

    Update to [email protected] (#241)
    Update Cargo.toml to v0.0.10-alpha.1 and update dependencies (#269)
    Update to modalkit{,-ratatui}@0.0.19 (#273)
    Fix LICENSE file (#274)
    Add missing darwin build dependency (#286)
    Fix newer Clippy warnings for 1.80 (#301)
    Add FreeDesktop MetaInfo file (#315)
    Update to modalkit{,-ratatui}@0.0.20 (#319)
    Add metadata for cargo-deb and cargo-generate-rpm (#321)
    Build cross-platform binaries and packages of main (#323)
jperkin pushed a commit that referenced this issue Sep 24, 2024
Pkgsrc changes:
 * Add a patch so that this builds again on NetBSD,
   upstream had borrowed some of our code but not ensured
   that it still built for us...

Upstream changes:

NSD 4.10.1

This release consists primarily of bug fixes.

@bilias implemented mutual TLS authentication for zone transfers.
Please consult the nsd.conf manual for details on the newly introduced
configuration options tls-auth-port and tls-auth-xfr-only.

@orlitzky provided integration for the OpenRC init system.

Version 4.10.0 was the first release to integrate simdzone. Build
issues on OpenBSD releases before 5.6, Gentoo and Solaris have been
reported and fixed. The fallback parser, used on systems that lack
SSE4.2 and AVX2 instruction sets, contained some bugs with regards
to state keeping and under certain circumstances a use after free
bug was encountered in buffer management.

FEATURES:

 * Merge #352 from orlitzky: contrib: add OpenRC service script,
   config file, and tmpfiles entry.
 * Merge #337 from bilias: Mutual TLS-AUTH.

BUG FIXES:

 * Fix incorrect punctuation of log messages.
 * Fix for #317, document more text on pidfile permissions.
 * Fix #334: RFC8482 behavior documentation.
 * Fix for OpenSSL 3.0 deprecated functions.
 * Merge #341: Fix allow-query wording in nsd.conf.5.in.
 * Fix test script from making spurious output.
 * Fix cpu_affinity and socket_partitioning tests for --enable-log-role.
 * Fix #344: Update simdzone.
 * Fix #347: Adjust verbosity for TLS (+TCP) to be 5.
 * Merge #348: Move TLS logging to verbosity level 5.
 * For #347: Also adjust verbosity of log message for remaining TCP connections.
 * Merge #349: log file name before loading.
 * Use MAKE variable rather than make command directly in Makefile.
 * Serialize WKS RRs using numeric values rather than names.
 * Fix propagation of Makefile targets to simdzone.
 * Do not log ACL mismatch on followed CNAMEs.
 * Fix link of xfr-inspect for libssl dependency.
 * Initialize tls_auth_port and tls_auth_xfr_only options.
 * Merge #358: Fix Hurd build error due to log_err.
 * Update simdzone to fix detection of AVX2 support.

simdzone 0.1.1

FEATURES:

 * Test to verify configure.ac and Makefile.in are correct.
 * Add support for reading from stdin if filename is "-".
 * Add support for building with Oracle Developer Studio 12.6.
 * Add support for "time" service for Well-Know Services (WKS) RR.

BUG FIXES:

 * Fix makefile dependencies.
 * Fix makefile to use source directory for build dependencies.
 * Fix changelog to reflect v0.1.0 release.
 * Update makefile to not use target-specific variables.
 * Fix makefile clean targets.
 * Fix state keeping in fallback scanner for contiguous and quoted.
 * Fix bug in name scanner.
 * Fix type mnemonic parsing in fallback parser.
 * Fix endian.h to include machine/endian.h on OpenBSD releases before 5.6.
 * Fix use after free on buffer resize.
 * Fix parsing of numeric protocols in WKS RRs.
 * Make devclean target depend on realclean target.
 * Fix detection of AVX2 support by checking generic AVX support
   by the processor and operating system (#222).

CHANGES:

 * Make relative includes relative to current working directory.
 * Split Autoconf and CMake compiler tests for supported SIMD instructions.
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

No branches or pull requests

1 participant