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

Update to knot 2.7.6 and SmartOS support. #176

Closed
wants to merge 10,000 commits into from

Conversation

mguegan
Copy link

@mguegan mguegan commented Feb 13, 2019

Add support for SmartOS :

  • SMF support
  • Updated to the latest release of knot
  • Fix compilation on SmartOS
  • pkglint OK

tested on 2018Q4 build

@mguegan
Copy link
Author

mguegan commented Feb 13, 2019

FYI, I've submitted the corresponding patches to the upstream

https://gitlab.labs.nic.cz/knot/knot-dns/merge_requests/979

adam and others added 29 commits February 19, 2019 12:31
0.3.4:
- Fix an f-string tokenizer error

0.3.3:
- Fix async errors in the diff parser
- A fix in iter_errors
- This is a very small bugfix release

0.3.2:
- 20+ bugfixes in the diff parser and 3 in the tokenizer
- A fuzzer for the diff parser, to give confidence that the diff parser is in a
  good shape.
- Some bugfixes for f-string
Bump PKGREVISION.

Issue reported by <gson>
Patch and testing by <gson>
Changelog:

Fixed
    Fixed accidental requests to addons.mozilla.org when an addon recommendation doorhanger is shown (bug 1526387)

    Improved playback of interactive Netflix videos (bug 1524500)

    Fixed color management not working on macOS (bug 1506495)

    Fixed incorrect sizing of the "Clear Recent History" window in some situations (bug 1523696)

    Fixed audio & video delays while making WebRTC calls (bug 1521577 & bug 1523817)

    Fixed video sizing problems during some WebRTC calls (bug 1520200)

    Fixed looping CONNECT requests when using WebSockets over HTTP/2 from behind a proxy server (bug 1523427)

    Fixed the "Enter" key not working on password entry fields for certain Linux distributions (bug 1523635)

    Various stability and security fixes.

Security fixes:
#CVE-2018-18356: Use-after-free in Skia
#CVE-2019-5785: Integer overflow in Skia
#CVE-2018-18511: Cross-origin theft of images with ImageBitmapRenderingContext
* Sync with www/firefox-65.0.1
* Remove obsolete MESSAGE file
Changelog:
mdds 1.4.3

* documentation

  * added details on how to use two type of iterators with
    flat_segment_tree.

  * added new section to describe how to use mtv::collection to iterate
    through multiple multi_type_vector instances as a single collection
    in the direction orthogonal to the direction of the individual
    vectors.

  * added new page for R-tree.

* flat_segment_tree

  * fixed invalid memory access issue related to the swap() method which
    previously did not swap the non-leaf node pool store.  The invalid
    memory access may occur after the contents of two instances get
    swapped, one instance get destroyed then the caller calls
    search_tree() on the other instance still alive.

mdds 1.4.2

* all

  * fixed CXXFLAGS incorrectly being overwritten.

  * addressed a number of Coverity issues.

mdds 1.4.1

* all

  * fixed all warnings on shadowed variables.

* multi_type_matrix

  * all of its walk() methods now return either a copied or moved
    instance of the function object passed in as an input argument.
    Previously these methods had no return values.

mdds 1.4.0

* rtree (new)

  * new data structure designed for optimal storage and query
    performance on multi-dimensional spatial data.  The structure allows
    storage of both point and extent-based boundaries as keys associated
    with values.

* multi_type_vector

  * mtv::elemnt_block now has the following methods: data(), cbegin(),
    cend(), crbegin() and crend().

  * multi_type_vector now has cbegin(), cend(), crbegin(), and crend()
    methods.

  * some unnecessary user-provided special members have been removed to
    avoid warnings with -Wdeprecated-copy with GCC 9.

* multi_type_matrix

  * all of its walk() methods now allow in-line lambdas to be used, by
    not taking a reference of the function object parameters.

mdds 1.3.1

* flat_segment_tree

  * fixed a bug that caused an assertion error when inserting a
    out-of-bound segment whose start value equals the max key value.

mdds 1.3.0

* multi_type_vector

  * changed the primary block array storage to remove additional
    indirection, for improved memory locality.

mdds 1.2.3

* all

  * changed the configure script to use --docdir unmodified.

* flat_segment_tree

  * added a segment iterator whose node value consists of the start
    and end keys and the value associated with each segment.  its
    start and end positions can be retrieved via begin_segment() and
    end_segment() methods.

mdds 1.2.2

* flat_segment_tree

  * fixed a bug that would cause segmentation faults with the insert()
    method with out-of-bound segment value pair.

mdds 1.2.1

* multi_type_vector

  * added size() method to the element block type, which returns the
    actual size of the element block, instead of the cached size value
    stored in the parent structure that stores the element block.

  * fixed a double-deletion bug in the swap() method which would
    triggered when used with a managed element block.

* mtv::collection

  * fixed collection iterator's get() method to properly return values
    from the boolean element block.

mdds 1.2.0

* packed_trie_map

  * added begin() and end() methods that return read-only iterators.

  * find() method now returns a const_iterator instance.

  * prefix_search() method now returns a search_results instance that
    can be iterated.

  * null value no longer needs to be passed to the constructor.

  * find() and prefix_search() now have a variant that can take a key
    value that is of key_type directly.

* trie_map

  * added begin() and end() methods that return read-only iterators.

  * find() method now returns a const_iterator instance.

  * prefix_search() method now returns a search_results instance that
    can be iterated.

  * null value no longer needs to be passed to the constructor.

  * find(), insert, and prefix_search() now have a variant that can
    take a key value that is of key_type directly.

* sorted_string_map

  * fix build failure with _GLIBCXX_DEBUG defined.

* multi_type_vector

  * remove compiler warning about shadowed variable.

  * added a supplemental class mdds::mtv::collection which allows
    multiple multi_type_vector instances of the same length to be
    grouped together in order to iterate through their elements
    sideways.

  * a variant of advance_position() static method that takes
    const_position_type has been added.

    * const_position_type advance_position(const const_position_type& pos, int steps)

* multi_type_matrix

  * matrix_position() is now a const method.

  * the sub-matrix variant of walk() method now throws size_error
    exception when invalid start and end positions are passed.

  * slight performance improvement with the sub-matrix variant of
    walk() method that involves multiple column traversal.

  * added 2 new variants of walk() methods that allow parallel walking
    with another matrix instance.

    * template<typename _Func>
      void walk(_Func& func, const multi_type_matrix& right) const

    * template<typename _Func>
      void walk(_Func& func, const multi_type_matrix& right, const size_pair_type& start, const size_pair_type& end) const

  * improved performance of copy() and resize() methods.

  * added a variant of copy() that takes an array of values.

    * template<typename _T>
      void copy(size_type rows, size_type cols, const _T& it_begin, const _T& it_end)

  * integer type has been added to the list of types the matrix can
    store.  In conjunction with this change, what was formerly known
    as the string trait structure is now known as the matrix trait,
    which specifies the actual integer type the matrix stores.

* point_quad_tree

  * search_result has been renamed to search_results.
Changelog:
ixion 0.14.1
* addressed a number of coverity issues.
* Fixed build issues on 32-bit platforms.
* fixed warnings on shadowed variables during build with -Wshadow
  compiler option.

ixion 0.14.0
* implemented MMULT built-in formula function which makes use of the
  grouped formula support.
* added support for grouped formulas.
* added experimental compute engine framework to potentially accelerate
  certain computations in the future.  It's not used yet.
* refactored formula cell storage to use ref-countered formula cell
  objects.
Changelog:
orcus 0.14.1

* addressed a number of coverity issues.
* improved precision of points-to-twips measurement conversions by
  reducing the number of numeric operations to be performed.  This
  especially helps on i386 platforms.

orcus 0.14.0

* spreadsheet interface

  * import_data_table::set_range() now receives a parameter of type
    range_t.

  * import_sheet::set_array_formula() interface methods have been
    removed and replaced with import_sheet::get_array_formula() that
    returns an interface of type import_array_formula.

  * import_formula interface class has been added to replace the
    formula related methods of import_sheet.  As a result,
    set_formula(), set_shared_formula(), and set_formula_result()
    methods have been removed from the import_sheet interface class.

  * import_auto_filter::set_range() now receives a parameter of type
    range_t, rather than a string value representing a range.

  * import_sheet::set_fill_pattern_type() interface method now takes
    an enum value of type fill_pattern_t, rather than a string value.

* xls-xml

  * pick up the character set from the XML declaration, and pass it
    to the client app via import_global_settings interface.

  * support importing of array formulas.

* xlsx

  * support importing of array formulas.

  * fixed a bug where sheet indices being passed to the append_sheet()
    interface method were incorrect.

* shared formula handling code has been re-worked.

* spreadsheet::sheet class has been de-coupled from the import and
  export interfaces.

* previously known as import_styles class is now split into styles
  class and import_styles factory wrapper class.

* sax_parser now gracefully ignores leading whitespace(s) if any,
  rather than aborting the parsing for it's not a valid XML stream
  to have leading whitespace(s).  In the future we should make this
  behavior configurable.

* python

  * add orcus.xlsx.read() function that takes a file object to load
    an xlsx file as a replacement for orcus.xlsx.read_file().

  * add orcus.ods.read(), orcus.xls_xml.read(), orcus.csv.read(),
    and orcus.gnumeric.read() functions.

  * add orcus.Sheet.write() method which exports sheet content to
    specified format.  For now only the csv format type is
    supported.

* xml_map_tree no longer requires the source stream persisted in
  memory between the read and write.

* the sax parser now stores the offset positions of each element
  rather than their memory positions, in order to make the position
  values usable between duplicated stream instances.

* xml_structure_tree to support selection of an element by element
  path.

* document

  * correctly set the argument separator depending on the formula
    grammar type.  This change fixes loading of ods documents with
    formula cells.

* fixed a build issue with boost 1.67.
Update transifex-client to 0.13.6.

* pkgsrc change: relax dependency to py-urllib3 and py-six.

Release note only contains:

* Extend Python support
Changelog:
Many bugfixes and improvements including:
* New menu GUI
* Fix copy and paste of table in Writer
* REGEX function in Calc
* Animation improvements in Impress and Draw
* Drop MySQL C++ Connector in Base
* Improve EMF+ graphics import
* Improve MS PowerPoint PPT/PPTX file import/export
* New icons and themes
* Restrict supported platforms to i386 and amd64
* Build and install firmware(s) for i386 (and amd64)
* Fix sigaction usage for NetBSD, from nonaka@. Thank you.

Changelog:
Bugfixes:
JDK-8210384
JDK-8191178
JDK-8130655
JDK-8205479
JDK-8170937
JDK-8207322
JDK-8201801
JDK-8182461
JDK-8207150
JDK-8202264
JDK-8206392
JDK-8208638
JDK-8207060
JDK-8207750
JDK-8200719
JDK-8202261
JDK-8207145
JDK-8165852
JDK-8139507
JDK-8209184
JDK-8210038
JDK-8208183
JDK-8212709
JDK-8164920
JDK-8209639
JDK-8172850
JDK-8155635
JDK-8131048
JDK-8211150
JDK-8064811
JDK-8211909
JDK-8211387
JDK-8211124
JDK-8205965
JDK-8196882
JDK-8209863
JDK-8211394
JDK-8145788
JDK-8208091
JDK-8164383
JDK-8210219
JDK-8148129
JDK-8209457
JDK-8202277
JDK-8196968
JDK-8207159
JDK-8212147
JDK-8156709
JDK-8187218
JDK-8131051
JDK-8160928
See:
https://www.oracle.com/technetwork/java/javase/8u202-relnotes-5209339.html
Changelog:
Enhancements
Templates

    Adjust tests ddc6d4e3 @bep #5643
    Prevent getJSON and getCSV fetch failure from aborting build 6a2bfcbe @anthonyfok #5643

Core

    Expand TestPageWithEmoji to cover '+', '-' and '_' too 2a9060a8 @anthonyfok #5635
    Restore 0.48 slash handling in taxonomies 40ffb048 @bep #5571

Other

    Use official semver even for main releases fab41f42 @bep #5639
    Add test for --configDir 59d87044 @bep #5662
    Ignore unknown config files in config dir 3244cb3b @bep #5646
    Store supported config formats in a variable d9282cf9 @tryzniak
    Bump to Go 1.11.5 8ed2a1ca @bep #5654
    Update Afero e8596139 @bep #5650
    Accept hyphen and plus sign in emoji detection 3038464e @anthonyfok #5635
    Support numeric sort in ByParam 26f75edb @tryzniak #5305
    Make hugo server -t work again db3c49d0 @tryzniak #5569#5061#4868
    Add configFile(s) back to the watch list after RENAME event too e3cb8e6c @anthonyfok #5205
    Remove historical rssURI config 55251aa8 @mywaiting
    Use subtests with server_test.go 843fcd19 @tryzniak
    Move resource interfaces into its own package ce8a09a4 @bep
    Move resource processors into sub-packages 669ada43 @bep
    Update _index.md 50745122 @vrMarc
    Update go.sum 0584432b @bep
    Update Chroma cc351958 @bep #4993
    Make docshelper run again c24f3ae2 @bep #5568

Fixes
Templates

    Fix reflect 9e4f9e0b @moorereason #5564

Other

    Fix some inline shortcode issues c52045bb @bep #5645#5653
    Fix OpenGraph image fallback to site params 526b5b1c @statik
    Fix Params case handling in the new site global e1a66c73 @bep #5615
    cache/namedmemcache: Fix data race 3f3187de @bep
jperkin pushed a commit that referenced this pull request Sep 2, 2019
Changes since 1.5.2:

    Disable EGL on macOS
    Fix build on macOS [#176, Emmanuele Bassi]
    Add macOS tests
    Fix build with uClibc [#181, Emmanuele Bassi]
    Fix GLES3 symbol lookup [Adam Jackson]
    Fix conditional compilation [#184, Zhao Zhili]
    Require Meson 0.47
    Fix Autotools build with EGL-X11 support [#188, Emmanuele Bassi]

Changes since 1.5.1:

    Fix the detection of the -z,relro linker flag
    Query the EGL context version when bootstrapping on GLES [Adam Jackson]
    Avoid inadvertedly loading libraries when probing for them [Adam Jackson]
    Issue #169: Fix build on FreeBSD [Ting-Wei Lan]
    Consistently use abort() instead of exit() for internal state checks
    Issue #171: Fix a performance regression in the global function pointer
    trampolines introduced by using -Bsymbolic-functions
    Improve performance when using GL function pointers like glAlphaFunc [Adam Jackson]

Changes since 1.5.0:

    Do no add pkg-config dependencies on gl on systems that do not use
    pkg-config, like macOS and Windows [Tom Schoonjans, #156]
    Generalise checks for dlvsym [Ross Burton, #158]
    Add an option for disabling building the test suite [Ross Burton]
    Typo fixes in the comments and documentation [luz.paz, #159]
    Simplify the Meson configuration logic for EGL and GLX [Eric
    Engestrom, #162]
    Use assert when no context is found [Adam Jackson, #166]
    Remove a test superceded by GLVND [#165]
    Avoid Meson warnings when testing for linker arguments


Changes from Epoxy 1.4.3

    Bump the Meson dependency to 0.44.1
    Include Xlib.h in the tests that use X11 API
    Update the GL registry to OpenGL 4.6
    Add gl and egl private dependencies in the pkg-config file
    Allow building Epoxy without X11 support
    Rename the Meson configuration options to be more idiomatic
    New API:
        epoxy_set_resolver_failure_handler()
        epoxy_glsl_version()
        epoxy_extension_in_string()

Issues fixed

    #128 - Fix macOS linker flags [Tom Schoonjans]
    #129 - Use GLVND if available [Adam Jackson]
    #134 - Add fallback definition for EGL_CAST [Daniel Stone]
    #133 - Try even harder to not load GLX [Adam Jackson]
    #138 - Fix the libOpenGL soname [Adam Jackson]
    #137 - Update differences with GLEW [Nigel Stewart]
    #131 - Add epoxy_set_resolver_failure_handler() [Adam Jackson]
    #140 - Fix pointer mismatch on Windows 10 [danem]
    #141 - Define visibility flags for static builds [Dylan Baker]
    #136 - Expose epoxy_extension_in_string() [Lyude Paul]
    #151 - Use correct guard for Android builds [Robert Bragg]
    #154 - Fix dlwrap for glvnd [Adam Jackson]
    #155 - Respect DLOPEN_LIBS [Michał Górny]
    #143 - Fix printf family usage [Ikey Doherty]
    #152 - Do not use OPENGL_LIB on Android
    #145 - Add epoxy_glsl_version()
jperkin pushed a commit that referenced this pull request Mar 22, 2020
Update ruby-loofah to 2.4.0.


## 2.4.0 / 2019-11-25

### Features

* Allow CSS property `max-width` [#175] (Thanks, @bchaney!)
* Allow CSS sizes expressed in `rem` [#176, #177]
* Add `frozen_string_literal: true` magic comment to all `lib` files. [#118]
jperkin pushed a commit that referenced this pull request Mar 25, 2020
Update ruby-mixlib-shellout to 3.0.9.


3.0.9 (2019-12-30)

* Add Ruby 2.6/2.7 and Windows testing #198 (tas50)
* Substitute require for require_relative #199 (tas50)


3.0.7 (2019-07-31)

* Add the actual BK pipeline config #185 (tas50)
* Blinding applying chefstyle -a. #191 (zenspider)
* Fix return type of Process.create to be a ProcessInfo instance again. #190
  (zenspider)


3.0.4 (2019-06-07)

* update travis/appveyor, drop ruby 2.2 support, test on 2.6 #176
  (lamont-granquist)
* Misnamed parameter in README #178 (martinisoft)
* Add new github templates and codeowners file #179 (tas50)
* Add BuildKite pipeline #184 (tas50)
* Support array args on windows WIP #182 (lamont-granquist)
* Load and unload user profile as required #177 (dayglojesus)


2.4.4 (2018-12-12)

* Have expeditor promote the windows gem as well #172 (tas50)
* Don't ship the readme in the gem artifact #173 (tas50)


2.4.2 (2018-12-06)

* Test on ruby-head and Ruby 2.6 in Travis #170 (tas50)
* Remove dev deps from the gemspec #171 (tas50)
jperkin pushed a commit that referenced this pull request May 20, 2020
v0.9.5 (2020-03-28) : I Knew Her, She Knew Me
----------------------------------------------

Fix
~~~
- `eyeD3 --genre ""` to clear genre frame restored.
- Genre id->name mapping for non-standard genres and custom maps.


v0.9.4 (2020-03-21) : The Devil Made Me Do It
-----------------------------------------------

New
~~~
- Relative volume adjustments (RVA2 and RVAD) (#399)
- Tag properties copyright and encoded_by
- Support GRP1 (Apple) frames.

Changes
~~~~~~~
- Genre serialization not ID3 v2.3 format by default, and other genre cleanup (#402)
  fixes #382

Fix
~~~
- Date correctness between ID3 versions (#396)
- PopularityFrame email encoding bug.
- Plugins more featured in docs


v0.9.3 (2020-03-01) : It Dawned On Me
--------------------------------------

Changes
~~~~~~~
- Track/disc numbers can be set with integer strings.
- Disc number getter and setter hooks

v0.9.2 (2020-02-10) : Into The Future
--------------------------------------

Fix
~~~
- Removed setting of PYTHONIOENCODING, it breaks MacOS.
  Fixes #388


v0.9.1 (2020-02-09) : Dead and Gone
------------------------------------

Fix
~~~
- Docs and pep8.

Other
~~~~~
- Experiment with setting utf-8 writer for stdout and stderr.


v0.9 (2020-01-01) : Favorite Thing
-----------------------------------

Major Changes
~~~~~~~~~~~~~
- Dropped support for Python versions 2.7, 3.4, and 3.5.
- File scanning is no longer recursive by default; use `-r / --recursive`.
- Default log-level changed from WARNING to ERROR.

New
~~~
- Mime-type detection uses filetype.py (libmagic no longer required)
- setFileScannerOpts function accepts `default_recursive` option.
- A new `jsontag` plugin for converting tags to JSON.
- A new `extract` plugin for extracting tags from media.
- A new `yamltag` plugin for converting tags to YAML.
- A new `mimetypes` plugin for listing file mime-types / measuring performance
- Original artist support (TOPE frame, --orig-artist)
- Added support for Python 3.8 and pypy3.

Changes
~~~~~~~
- Log warning when ID3 v1.x text truncation occurs. Fixes #299.
- Accept (invalid) date strings for the form YYYYMMDD. Fixes #379
- Adjust replay gain correctly for lame >= 3.95.1 headers.
- Added -r/--recursive argument. eyeD3 is no longer recursive by default (#378)
- Regenerated grako parser.
- New ValueError for _setNum when unknown type/values are passed.
- Moved src/* to top-level repo directory.

Fix
~~~
- PRIV data type checking, fixed examples, etc.
- Use tox for `make test`
- ID3 v2.3 to v2.4 date conversion.
- Match mp3 mime-types against all possible mime-types.
  Specifically, application/x-font-gdos. Fixes #338
- Fix simple typo: titel -> title. <tim.gates@iress.com>
- Fixed: load the right config file in arguments. <zhumumu@gmail.com>
- Fix issue tracker link. Fixes #333.
- Fixed art plugin when `pylast` is not installed.
- Unbound variable for track num/total.  Fixes #327.
- Fixed MP3 header search to not false match on BOMs.
- Honor APIC text encoding when description is "".  #200.
- Fixed bug with improper types when re-rendering unique file ID. (#324)
  <gabrieldiegoteixeira@gmail.com>
- UFID fixes, update (#325) <gabrieldiegoteixeira@gmail.com>

Other
~~~~~
- Deprecation of eyed3.utils.guessMimeType
- Removed ipdb from dev requirements


v0.8.12 (2019-12-27)
---------------------

Changes
~~~~~~~
- Accept (invalid) date strings for the form YYYYMMDD. Fixes #379

Other
~~~~~
- Test with py38


v0.8.11 (2019-11-09)
------------------------

Fix
~~~
- ID3 v2.3 to v2.4 date conversion.
- Match mp3 mime-types against all possible mime-types.
  Specifically, application/x-font-gdos. Fixes #338


v0.8.10 (2019-03-07) : Apples
------------------------------

New
~~~
- Log warning when ID3 v1.x text truncation occurs. Fixes #299.

Fix
~~~
- Honor APIC text encoding when description is "".  #200.
- Fixed bug with improper types when re-rendering unique file ID. (#324)
  <gabrieldiegoteixeira@gmail.com>


v0.8.9 (2019-01-12) : Descent Into...
--------------------------------------

Changes
~~~~~~~
- Fixup plugin: -t changed to --type.
- Pin pathlib to latest version 1.0.1 (#304) <github-bot@pyup.io>

Fix
~~~
- Force no-color output when stdout is not a terminal (#297)
  <gaetano.guerriero@gmx.com>
- Requirements.txt: pathlib is only needed for older python versions
  (#284) <Mic92@users.noreply.github.com>
- Art plugin: Pin pylast to 2.x to preserve Python2 support.


v0.8.8 (2018-11-28) : In Ruins
------------------------------

New
~~~
- Follow symlink directories. Fixes #224

Changes
~~~~~~~
- Eyed3.core.AudioInfo `time_secs` is now a float and non-lossy. Fixes #210
- Removed Python 3.3 support.

Fix
~~~
- Better type handling during TLEN [fixup plugin].
- Don't tweak logging by default, only thru `main`. Fixes #243

Other
~~~~~
- Added a separate example for Windows (--add-image <url>) [Addresses
  the issue #219] (#220) <chamatht@gmail.com>


v0.8.7 (2018-06-11) : Aeon
---------------------------

Fix
~~~
- Only use os.fwalk where supported.


v0.8.6 (2018-05-27) : Robot Man
--------------------------------

New
~~~
- Art plugin can now download album covers from last.fm.

Changes
~~~~~~~
- Use os.fwalk for its better performance (esp. >= py37) Fixes #166
- TagTemplate `path_friendly` is now a string, namely the delimiter to use.

Fix
~~~
- Classic plugin: --write-image will work with --quiet. Fixes #188
- Multiple fixes for display plugin %images% replacements. Fixes #176
- Allow --remove-* options to work when there are no tags. Fixes #183


v0.8.5 (2018-03-27) : 30$ Bag
-----------------------------

New
~~~
- Mp3AudioFile.initTag now returns the new tag.
- Eyed3.core.EP_MAX_SIZE_HINT.
- Added docs for install devel dependencies and test data.

Changes
~~~~~~~
- Similarly to TextFrame, fallback to latin1 for invalid encodings.
- Removed paver as a dep.
- Removed fabfile and mkenv.
- Clean pytest_cache.
- Nicfit.py cc update.

Fix
~~~
- Handle missing `fcntl` on Windows. Fixes #135.
- In addition to None, "" will now clear dates.
- Update index.rst to reflect the code is in a Git repo, not Mercurial (#164)
  <deoren@users.noreply.github.com>

Other
~~~~~
- Update pytest from 3.2.2 to 3.5.0 (#175) <github-bot@pyup.io>
- Update twine from 1.9.1 to 1.11.0 (#173) <github-bot@pyup.io>
- Update sphinx from 1.6.5 to 1.7.2 (#174) <github-bot@pyup.io>
- Update sphinxcontrib-paverutils from 1.16.0 to 1.17.0 (#172) <github-
  bot@pyup.io>
- Update pytest-runner from 3.0 to 4.2 (#171) <github-bot@pyup.io>
- Update nicfit.py from 0.7 to 0.8 (#161) <github-bot@pyup.io>
- Update ipdb from 0.10.3 to 0.11 (#159) <github-bot@pyup.io>
- Update factory-boy from 2.9.2 to 2.10.0 (#150) <github-bot@pyup.io>
- Update pyaml from 17.10.0 to 17.12.1 (#138) <github-bot@pyup.io>
- Update python-magic to 0.4.15 (#130) <github-bot@pyup.io>
- Update pip-tools from 1.10.1 to 1.11.0 (#129) <github-bot@pyup.io>
- Update check-manifest from 0.35 to 0.36 (#125) <github-bot@pyup.io>


v0.8.4 (2017-11-17) : The Cold Vein
-------------------------------------

New
~~~
- Composer (TCOM) support (#123)
- Check for version incompatibilities during version changes.

Changes
~~~~~~~
- More forgiving of invalid text encoding identifiers (fixes #101)
- More forgiving of bad Unicode in text frames (fixes #105)
- EyeD3 cmd line helper turned not session-scoped fixture.
- Only warn about missing grako when the plugin is used. Fixes #115.

Fix
~~~
- Fix python3 setup when system encoding is not utf-8 (#120)
  <x.guerriero@tin.it>
- Fix bad frames detection in stats plugin for python3 (#113)
  <x.guerriero@tin.it>
- Script exits with 0 status when called with --version/--help (#109)
  <x.guerriero@tin.it>
- Help pymagic with poorly encoded filenames.
- [display plugin] Handle comments.
- [display plugin] Handle internal exception types. Fixes #118.
- IOError (nor OSError) have a message attr.

Other
~~~~~
- Set theme jekyll-theme-slate.
- Update pytest to 3.2.5 (#122) <github-bot@pyup.io>
- Update pytest-runner to 3.0 (#108) <github-bot@pyup.io>
- Update sphinx to 1.6.5 (#106) <github-bot@pyup.io>
- Update flake8 to 3.5.0 (#107) <github-bot@pyup.io>


v0.8.3 (2017-10-22) : So Alone
-------------------------------

Fix
~~~
- Reload and process after tag removals, fixes #102. (PR #103)
- Display incorrectly encoded strings (usually filenames)

Other
~~~~~
- Make the classic output span the actual width of the tty so you can
  see the actual path with a long file name. (#92) <redshodan@gmail.com>


v0.8.2 (2017-09-23) : Standing At the Station
----------------------------------------------

New
~~~
- Pypy and pypy3 support.

Changes
~~~~~~~
- 'nose' is no longer used/required for testing.

Fix
~~~
- Fix for Unicode paths when using Python2.  Fixes #56.


v0.8.1 (2017-08-26) : I Can't Talk To You
------------------------------------------

New
~~~
- ``make pkg-test-data`` target.
- Sample mime-type tests.

Fix
~~~
- Added ``python-magic`` as a dependency for reliable mime-type detection.
  Fixes #61
- Add pathlib to requirements. Fixes #43.
- [doc] Fixed github URL.


v0.8 (2017-05-13) : I Don't Know My Name
-----------------------------------------
.. warning::
  This release is **NOT** API compatible with 0.7.x. The majority
  of the command line interface has been preserved although many options
  have either changed or been removed.  Additionally, support for Python 2.6
  has been dropped.

New
~~~
- Python 3 support (version 2.7 and >= 3.3 supported)
- The Display plugin (-P/--plugin display) enables complete control over tag
  output. Requires ``grako``. If using pip, ``pip install eyeD3[display]``.
  Contributed by Sebastian Patschorke.
- Genre.parse(id3_std=False) (and --non-std-genres) to disable genre #
  mapping.
- eyed3.load accept pathlib.Path arguments.
- eyed3.core.AudioFile accept pathlib.Path arguments.
- eyed3.utils.walk accept pathlib.Path arguments.
- New manual page. Contributed by Gaetano Guerriero
- ``make test-data``

Changes
~~~~~~~~
- Project home from to GitHub: https://github.com/nicfit/eyeD3

Fix
~~~
- Lang fixes, and no longer coerce invalids to eng.

Other
~~~~~
- Moved to pytest, although unittest not yet purged.
jperkin pushed a commit that referenced this pull request Sep 9, 2020
pkgsrc changes:
 - Fix a typo in DISTNAME/PKGNAME: it is now go-ffuf (instead of go-fuff)
 - Only installs bin/ffuf and its README
 - Reset MAINTAINERship, requested by <nikita>

Changes:
1.1.0
-----
 - Add unsupported arch/os to goreleaser ignore list (#267)
 - Release 1.1 (#266)
 - Fix crash with 3xx requests without location header (#265)
 - Update random seed logic (#262)
 - fix file get thing (#226)
 - Update CONTRIBUTORS.md to add bsysop (#258)
 - Fixed behavior of wordlist:keyword separator in Windows (#240)
 - Add Host information to JSON output file (#223)
 - Support outputting all file formats concurrently (#218)
 - Increase default rows per page on html report (#217)
 - Add the wordlists to the header information (#211)
 - Fix error with missing usage info (#195)
 - Feature178 (#186)
 - Fix for #193 (#194)
 - Fix for issue #179 (#180)
 - Prepare for 1.1.0-git (#176)
jperkin pushed a commit that referenced this pull request Feb 13, 2021
[Added]
- New option `--version` for `pherkin`

[Changed]
- Even more compact storage of language definitions

[Fixed]
- With `prove`, no location details are reported (as they are with
  regular Test::More tests), unless run in verbose mode which includes
  all non-failing output too (gh #176)
- Require YAML v1.15 to fix failures seen on cpantesters
- No exit status reported for tests run by the `prove` integration
jperkin pushed a commit that referenced this pull request Feb 23, 2021
Changelog:
## [1.7.2](rime/librime@1.7.1...1.7.2) (2021-02-07)


### Bug Fixes

* **chord_composer:** should clear raw input after committing text ([79b34ab](rime/librime@79b34ab))



## [1.7.1](rime/librime@1.7.0...1.7.1) (2021-02-06)


### Bug Fixes

* **chord_composer:** press Return key to commit raw key sequence ([2b25861](rime/librime@2b25861))



# [1.7.0](rime/librime@1.6.1...1.7.0) (2021-01-17)


### Bug Fixes

* **chord_composer:** more safely handle the placeholder ZWSP ([025d9fb](rime/librime@025d9fb))
* **cmake:** use full paths defined by GNUInstallDirs ([bb8c263](rime/librime@bb8c263)), closes [#424](rime/librime#424)
* **opencc:** update submodule to fix [#425](rime/librime#425) ([3fa1571](rime/librime@3fa1571))
* **script_translator:** always_show_comments also applies to phrases ([440a97c](rime/librime@440a97c)), closes [#272](rime/librime#272) [#419](rime/librime#419)
* **table_translator:** index out of bound access in string ([ff7acdc](rime/librime@ff7acdc))


### Features

* **chareset_filter:** add CJK Compatibility Ideographs in is_extended_cjk() ([3cb1128](rime/librime@3cb1128)), closes [#305](rime/librime#305)
* **setup:** find and load external RIME plugins as shared libs [#431](rime/librime#431) ([b2abd09](rime/librime@b2abd09))



## [1.6.1](rime/librime@1.6.0...1.6.1) (2020-09-21)


### Bug Fixes

* **rime_api.cc:** dangling pointer returned from RimeGetSharedDataDir ([78abaa8](rime/librime@78abaa8))



# [1.6.0](rime/librime@1.5.3...1.6.0) (2020-09-20)


### Bug Fixes

* **ascii_composer:** do not comsume Shift key release ([debc2c0](rime/librime@debc2c0))
* **ascii_composer:** first read ascii_composer/good_old_caps_lock from schema config ([3fc56c4](rime/librime@3fc56c4))
* **chord_composer:** commit raw input with uppercase letters ([cc983d5](rime/librime@cc983d5))
* **CMakeLists.txt:** ensure paths in pkgconfig file are absolute ([0e96e51](rime/librime@0e96e51))
* **CMakeLists.txt:** would not use signals v1 due to a typo ([6662a28](rime/librime@6662a28)), closes [#225](rime/librime#225)
* **custom_settings:** accept "*.schema" as config id ([604da0b](rime/librime@604da0b))
* **dict:** issues with user db recovery ([0f3d0df](rime/librime@0f3d0df))
* **dict_compiler:** build prism with loaded syllabary when not rebuilding primary table ([93fe827](rime/librime@93fe827))
* **plugins/CMakeLists.txt:** avoid rime_library linking to itself via rime_plugins_deps ([fe744db](rime/librime@fe744db))
* **rime_api.cc:** check struct has member of non-pointer type ([090dfa4](rime/librime@090dfa4))
* **rime_api.cc:** using unchecked fields introduced an ABI breakage ([62bbead](rime/librime@62bbead)), closes [/github.com/rime/librime/pull/328#pullrequestreview-335125464](https://github.com//github.com/rime/librime/pull/328/issues/pullrequestreview-335125464)
* **rime_test:** set data directories to working directory using rime::SetupDeployer API ([7c08a90](rime/librime@7c08a90))
* **simplifier:** opencc::DictEntry::Values() type change in opencc 1.1.0 ([beae5b1](rime/librime@beae5b1)), closes [#367](rime/librime#367)
* **user_db:** pointer cast error caused by multiple inheritance ([2ed780b](rime/librime@2ed780b))
* use official emoji 12.0 data ([#304](rime/librime#304)) ([75a60dc](rime/librime@75a60dc))


### Features

* **api:** implement capnproto api ([873f648](rime/librime@873f648))
* **api:** include candidate labels in proto message ([aae7a0c](rime/librime@aae7a0c))
* **charset_filter:** support charset options with emoji ([#293](rime/librime#293)) ([943c95b](rime/librime@943c95b))
* **charset_filter:** support CJK Unified Ideographs Extension G ([#393](rime/librime#393)) ([0a1573d](rime/librime@0a1573d))
* **chord_composer:** support chording with Shift keys ([94cf479](rime/librime@94cf479))
* **chord_composer:** use Control, Alt, Shift to input chord ([f3a2ad0](rime/librime@f3a2ad0))
* **dictionary:** packs extends the dictionary with extra binary table files ([930074c](rime/librime@930074c))
* **key_binder:** bind key to a key sequence ([3b5dbf6](rime/librime@3b5dbf6)), closes [#301](rime/librime#301)
* **logging:** setup min log level, log dir and set file mode to log files ([90839b0](rime/librime@90839b0))
* **selector:** support 4 combinations of horizontal/vertical text orientation and stacked/linear candidate list layout ([c498f71](rime/librime@c498f71))
* **selector:** support vertical UI ([dbb35c6](rime/librime@dbb35c6))
* **switcher:** enable schema in cases where conditions are met ([217c72b](rime/librime@217c72b))
* **tools/rime_proto_console:** demo for proto api ([d88ef9f](rime/librime@d88ef9f))


### Performance Improvements

* **poet:** optimize for performance in making sentences (~40% faster) ([0853465](rime/librime@0853465))



## [1.5.3](rime/librime@1.5.2...1.5.3) (2019-06-22)


### Bug Fixes

* **cmake, xcode.mk:** find optional dependency icu, while building xcode/release-with-icu target  [skip appveyor] ([17a80f8](rime/librime@17a80f8))
* **single_char_filter:** broken in librime 1.5.2 ([6948a62](rime/librime@6948a62))


### Features

* **appveyor:** build variant "rime-with-plugins" for tagged commits  [skip travis] ([eef8c30](rime/librime@eef8c30))
* **travis-ci:** build variant "rime-with-plugins" for tagged commits  [skip appveyor] ([cf11c27](rime/librime@cf11c27))
* **travis-ci:** deploy artifacts for macOS to GitHub releases  [skip appveyor] ([3f03784](rime/librime@3f03784))



## [1.5.2](rime/librime@1.5.1...1.5.2) (2019-06-17)


### Bug Fixes

* **user_dictionary, contextual_translation:** fix user phrase quality; order contextual suggestions by type ([69d5c32](rime/librime@69d5c32))



## [1.5.1](rime/librime@1.5.0...1.5.1) (2019-06-16)


### Bug Fixes

* **user_dictionary:** make user phrases comparable in weight to system words ([982f69d](rime/librime@982f69d))



# [1.5.0](rime/librime@1.4.0...1.5.0) (2019-06-06)


### Bug Fixes

* **ci:** update build script ([84a1a1b](rime/librime@84a1a1b))
* **ci:** use submodules in AppVeyor CI build script ([7b515b4](rime/librime@7b515b4))
* **cmake:** libboost Windows XP compatibility fix ([#270](rime/librime#270)) ([fecfe39](rime/librime@fecfe39)), closes [rime/weasel#337](rime/weasel#337)
* **CMakeLists.txt:** install header files in all platforms ([821d563](rime/librime@821d563))
* **CMakeLists.txt:** set "-std=c++11" in CMAKE_CXX_FLAGS ([5d8a836](rime/librime@5d8a836))
* **config/plugins.h:** memory leak caused by non-virtual destructor ([316a659](rime/librime@316a659)), closes [#259](rime/librime#259)
* **deploy:** treat schema dependencies as optional; do not report errors if missing ([ff3d5e9](rime/librime@ff3d5e9))
* **engine:** schema doesn't match the one used by switcher ([e41bb63](rime/librime@e41bb63)), closes [#269](rime/librime#269)
* **rime_levers_api.h:** customize_bool() misused `bool` type ([42bacc5](rime/librime@42bacc5))
* **syllabifier:** enable_completion not working ([2714131](rime/librime@2714131)), closes [#343](rime/librime#343)
* **table_translator:** null pointer exception when dict entries are filtered ([77438a9](rime/librime@77438a9))
* **test:** compile error in unit test ([7076d9e](rime/librime@7076d9e))
* **travis-install.sh:** working directory ([97220ce](rime/librime@97220ce))


### Features

* **appveyor:** install RIME_PLUGINS  [skip travis] ([c7ce66f](rime/librime@c7ce66f))
* **CMakeList.txt:** add plugin build support ([#257](rime/librime#257)) ([dfa341b](rime/librime@dfa341b))
* **contextual_translation:** weight and re-order phrases by context ([2390da3](rime/librime@2390da3))
* **dict:** specify vocabulary db name in dict settings ([dcdc301](rime/librime@dcdc301))
* **grammar:** compare homophones/homographs in sentence ([9248a6b](rime/librime@9248a6b))
* **install-plugins.sh:** git-clone or update plugins ([70483b4](rime/librime@70483b4))
* **poet:** find best sentence candidates ([b3f4005](rime/librime@b3f4005))
* **rime_api:** get candidate list from index ([c587900](rime/librime@c587900))
* **translator:** contextual suggestions in partially selected sentence ([12a7501](rime/librime@12a7501))
* **translator:** look at preceding text when making sentence ([6ae34de](rime/librime@6ae34de))
* **travis-ci:** install plugins specified in envvar RIME_PLUGINS ([c857639](rime/librime@c857639))


### Performance Improvements

* **dictionary:** refactor DictEntryIterator and do partial sort ([0258c7f](rime/librime@0258c7f))


### BREAKING CHANGES

* **rime_levers_api.h:** in signature of C API function `customize_bool()`,
change type `bool` to `Bool` (alias of `int`).

Impact: the changed function is not in use by any first party code,
known to be in use by osfans/trime.



# [1.4.0](rime/librime@1.3.2...1.4.0) (2019-01-16)


### Bug Fixes

* **config:** user_config should not fall back to shared data ([68c8a34](rime/librime@68c8a34)), closes [#271](rime/librime#271)
* **SymlinkingPrebuiltDictionaries:** remove dangling symlinks ([5ad333d](rime/librime@5ad333d)), closes [#241](rime/librime#241)
* **SymlinkingPrebuiltDictionaries:** remove dangling symlinks ([f8e4ebf](rime/librime@f8e4ebf)), closes [#241](rime/librime#241)


### Features

* spelling correction ([#228](rime/librime#228)) ([ad3638a](rime/librime@ad3638a))
* **Dockerfile:** for build ([#246](rime/librime#246)) ([cafd0d5](rime/librime@cafd0d5))



## [1.3.2](rime/librime@1.3.1...1.3.2) (2018-11-12)


### Bug Fixes

* **CMakeLists.txt:** do not link binaries when building static library ([99573e3](rime/librime@99573e3))
* **CMakeLists.txt:** do not require boost::signals, which will be deprecated in Boost 1.69 ([8a9ef3b](rime/librime@8a9ef3b)), closes [#225](rime/librime#225)
* **config_compiler:** ambiguous operator overload with cmake option ENABLE_LOGGING=OFF ([b86b647](rime/librime@b86b647)), closes [#211](rime/librime#211)
* **config_compiler:** support creating list in-place by __patch and __merge ([0784eb0](rime/librime@0784eb0))
* **table_translator:** enable encoding uniquified commit history ([74e31bc](rime/librime@74e31bc))


### Features

* **language:** shared user dictionary per language (Closes [#184](rime/librime#184)) ([#214](rime/librime#214)) ([9f774e7](rime/librime@9f774e7))
* always_show_comments option ([#220](rime/librime#220)) ([19cea07](rime/librime@19cea07))



## [1.3.1](rime/librime@1.3.0...1.3.1) (2018-04-01)


### Bug Fixes

* **config_file_update:** clean up deprecated user copy ([#193](rime/librime#193)) ([8d8d2e6](rime/librime@8d8d2e6))
* **thirdparty/src/leveldb:** do not link to snappy library ([6f6056a](rime/librime@6f6056a))



# 1.3.0 (2018-03-09)


### Bug Fixes

* **CMakeLists.txt, build.bat:** install header files (public API) ([06c9e86](rime/librime@06c9e86))
* **config_compiler:** "/" mistaken as path separator in merged map key ([#192](rime/librime#192)) ([831ffba](rime/librime@831ffba)), closes [#190](rime/librime#190)
* **ConfigFileUpdate:** no need to create user build if shared build is up-to-date ([cafd5c4](rime/librime@cafd5c4))
* **SchemaUpdate:** read compiled schema from shared build if there is no user build ([45a04dd](rime/librime@45a04dd))
* **simplifier:** fix typo ([9e1114e](rime/librime@9e1114e)), closes [#183](rime/librime#183)
* **user_db:** unwanted implicit instantiation of UserDbFormat template ([3cbc9cb](rime/librime@3cbc9cb)), closes [#188](rime/librime#188)


### Chores

* **release tag:** deprecating tag name prefix 'rime-' in favor of semver 'X.Y.Z'


### BREAKING CHANGES

* **release tag:** After 1.3.0 release, we'll no longer be creating tags in the format 'rime-X.Y.Z'. Downstream packagers please change automated scripts accordingly.



## 1.2.10 (2018-02-21)


### Bug Fixes

* **config_compiler:** linking failure on blocking root node of a dependency resource ([ecf3397](rime/librime@ecf3397))
* table_translator not making sentence if table entry is hidden by charset filter. ([77eb12e](rime/librime@77eb12e))
* **appveyor.install.bat:** switch to a more stable download server for libboost ([bcc4d10](rime/librime@bcc4d10))
* **appveyor.yml:** archive header files ([c8b1e67](rime/librime@c8b1e67))
* **ascii_composer:** support key binding Shift+space in ascii mode ([7077389](rime/librime@7077389))
* **build.bat:** fix build errors with VS2015 build tools ([ec940c6](rime/librime@ec940c6))
* **calculus, recognizer:** memory leak due to unchecked regex error ([19ddc1e](rime/librime@19ddc1e)), closes [#171](rime/librime#171)
* **chord_composer:** allow editor to define BackSpace key behavior ([7f41f65](rime/librime@7f41f65))
* **chord_composer:** letters with modifier keys should not be committed by a following enter key ([aab5eb8](rime/librime@aab5eb8))
* **ci:** call cmake under /usr/local with sudo by passing $PATH environment variable ([a0e6d2f](rime/librime@a0e6d2f))
* **cmake:** fix build break for mingw ([939893c](rime/librime@939893c))
* **config:** auto save modified config data; fixes [#144](rime/librime#144) ([2736f4b](rime/librime@2736f4b))
* **config:** treat "@" as map key rather than list index ([a1df9c5](rime/librime@a1df9c5))
* **config_compiler:** duplicate PendingChild dependencies happen from multiple commands on the same node ([25c28f8](rime/librime@25c28f8))
* **config_compiler:** enforce dependency priorities ([69a6f3e](rime/librime@69a6f3e))
* **config_compiler:** null value should not overwrite a normal key in a merged tree ([4ecae44](rime/librime@4ecae44))
* **config_compiler:** template operator overload had compile error with NDK ([71817a0](rime/librime@71817a0))
* **config/build_info_plugin:** referenced but unavailable resources should also be recorded ([cd46f7a](rime/librime@cd46f7a))
* **ConfigFileUpdate:** should succeed if shared copy does not exist ([8a3e25c](rime/librime@8a3e25c))
* **custom_settings:** fall back to $shared_data_dir/build when loading config ([caf8ebb](rime/librime@caf8ebb))
* **custom_settings:** load built settings from $user_data_dir/build directory ([463dc09](rime/librime@463dc09))
* **deployment_tasks:** symbols.yaml is no longer a build target ([f920e4f](rime/librime@f920e4f))
* **dict_compiler:** prism should load compiled schema ([c2fd0cf](rime/librime@c2fd0cf)), closes [#176](rime/librime#176)
* **key_event:** KeySequence::repr() prefer unescaped punctuation characters ([aa43e5e](rime/librime@aa43e5e))
* **levers:** update deployment tasks for copy-free resource resolution ([1f86413](rime/librime@1f86413))
* **Makefile:** make install-debug; do return error code on mac ([1177142](rime/librime@1177142))
* **rime_api:** use user_config_open() to access user.yaml ([4e4a491](rime/librime@4e4a491))
* **rime_console:** not showing switcher's context ([632cf4b](rime/librime@632cf4b))
* **schema:** create a "schema" component that opens Config by schema_id ([555f990](rime/librime@555f990))
* **simplifier:** fix crash if no opencc file ([091cb9d](rime/librime@091cb9d))
* **simplifier:** tips option for show_in_comment simplifier ([e7bb757](rime/librime@e7bb757))
* **uniquifier:** half of the duplicate candidates remain after dedup [Closes [#114](rime/librime#114)] ([2ab76bc](rime/librime@2ab76bc))


### Features

* **build.bat:** customize build settings via environment variables ([#178](rime/librime#178)) ([1678b75](rime/librime@1678b75))
* **chord_composer:** accept escaped chording keys ([79a32b2](rime/librime@79a32b2))
* **chord_composer:** support chording with function keys ([48424d3](rime/librime@48424d3))
* **config:** add config compiler plugin that includes default:/menu into schema ([b51dda8](rime/librime@b51dda8))
* **config:** best effort resolution for circurlar dependencies ([2e52d54](rime/librime@2e52d54))
* **config:** build config files if source files changed ([0d79712](rime/librime@0d79712))
* **config:** config compiler plugins that port legacy features to the new YAML syntax ([a7d253e](rime/librime@a7d253e))
* **config:** config_builder saves output to $rime_user_dir/build/ ([e596155](rime/librime@e596155))
* **config:** references to optional config resources, ending with "?" ([14ec858](rime/librime@14ec858))
* **config:** save __build_info in compiled config ([45a7337](rime/librime@45a7337))
* **config:** separate out config_builder and user_config components ([9e9493b](rime/librime@9e9493b))
* **config:** support append and merge syntax ([04dcf42](rime/librime@04dcf42))
* **customizer:** disable saving patched config files ([88f5a0c](rime/librime@88f5a0c))
* **detect_modifications:** quick test based on last write time of files ([285fbcc](rime/librime@285fbcc))
* **dict:** no conditional compilation on arm ([85b945f](rime/librime@85b945f))
* **dict:** relocate binary files to $user_data_dir/build ([bc66a47](rime/librime@bc66a47))
* **dict:** use resource resolver to find dictionary files ([8ea08b3](rime/librime@8ea08b3))
* add property notifier ([fa7b5a5](rime/librime@fa7b5a5))
* **resource_resolver:** add class and unit test ([03ee8b4](rime/librime@03ee8b4))
* **resource_resolver:** fallback root path ([02151da](rime/librime@02151da))
* **translator:** add history_translator ([#115](rime/librime#115)) ([ae13354](rime/librime@ae13354))



## 1.2.9 (2014-12-14)

* **rime_api.h:** add `RIME_MODULE_LIST`, `RIME_REGISTER_MODULE_GROUP`.
* **Makefile:** add make targets `thirdparty/*` to build individual libraries.
* **legacy/src/legacy_module.cc:** plugin module `rime-legacy` for GPL code,
  providing component `legacy_userdb` for user dictionary upgrade.
* **src/setup.cc:** define module groups `"default"` and `"deployer"`, to avoid
	naming a list of built-bin modules in `RimeTraits::modules`.
* **test/table_test.cc:** fix random segment faults when run shuffled.
* **thirdparty/src/leveldb:** new dependency LevelDB, replacing Kyoto Cabinet.
* **dict/level_db:** userdb implementation based on LevelDB, replacing treeDb.
* **dict/tree_db:** moved to `legacy/src/`.
* **dict/user_db:** refactored and modularized to ease adding implementations.
* **gear/cjk_minifier:** support CJK Extension E.
* **gear/memory:** save cached phrases as soon as the next composition begins.
* **gear/recognizer:** match space iff set `recognizer/use_space: true`.
* **gear/simplifier:** catch and log OpenCC exceptions when loading.
* **gear/single_char_filter:** bring single character candidates to the front.
* **gear/simplifier:** adapt to OpenCC 1.0 API.
* **thirdparty/src/opencc:** update OpenCC to v1.0.2 (incompatible with v0.4).
* **lever/deployment_tasks:** update and rename task `user_dict_upgrade`.



## 1.2 (2014-07-15)

* **rime_api:** add API functions to access complex structures in config;
  add API to get the raw input and cursor position, or to select a candidate.
* **config:** support references to list elements in key paths.
  eg. `schema_list/@0/schema` is the id of the first schema in schema list.
* **switcher:** enable folding IME options in the switcher menu.
* **dict_compiler:** also detect changes in essay when updating a dictionary;
  support updating prism without the source file of the dictionary.
* **preset_vocabulary:** load `essay.txt` instead of `essay.kct`.
* **reverse_lookup_dictionary:** adopt a new file format with 50% space saving.
* **table:** add support for a new binary format with 20% space saving;
  fix alignment on ARM.
* **ascii_composer:** do not toggle IME states when long pressing `Shift` key;
  support discarding unfinished input when switching to ASCII mode.
* **affix_segmentor:** fix issues with selecting a partial-match candidate.
* **chord_composer:** commit raw input composed with original key strokes.
* **cjk_minifier:** a filter to hide characters in CJK extension set, works
  with `script_translator`.
* **navigator:** do not use `BackSpace` to revert selecting a candidate but to
  edit the input after moving the cursor left or right.
* **punctuator:** support `ascii_punct` option for switching between Chinese and
  Western (ASCII) punctuations.
* **speller:** auto-select candidates by pattern matching against the code;
  fix issues to cooperate with punctuator.
* **CMakeLists.txt:** add options `ENABLE_LOGGING` and `BOOST_USE_CXX11`;
  introduce a new dependency: `libmarisa`.
* **cmake/FindYamlCpp.cmake:** check the availability of the new (v0.5) API.
* **sample:** the directory containing a sample plug-in module.
* **tools/rime_patch.cc:** a command line tool to create patches.
* **thirdparty:** include source code of third-party libraries to ease
  building librime on Windows and Mac.



## 1.1 (2013-12-26)

* **new build dependency:** compiler with C++11 support.
  tested with GCC 4.8.2, Apple LLVM version 5.0, MSVC 12 (2013).
* **encoder:** disable warnings for phrase encode failures in log output;
  limit the number of results in encoding a phrase with multiple solutions.
* **punctuator:** fixed a bug in matching nested "pairs of 'symbols'".
* **speller:** better support for auto-committing, allowing users of table
  based input schema to omit explicitly selecting candidates in many cases.
* **schema_list_translator:** option for static schema list order.
* **table_translator:** fixed the range of CJK-D in charset filter.
jperkin pushed a commit that referenced this pull request May 18, 2021
This release does not contain new "ABI features". The ABI (Application
Binary Interface) is 100% compatible with release 1.3.5.


CHANGES IN FLTK 1.3.6                              RELEASED: May 15 2021

There have been no changes since FLTK 1.3.6rc2.


CHANGES IN FLTK 1.3.6rc2                           RELEASED: May 04 2021

FLTK 1.3.6rc2 fixes some minor issues of 1.3.6rc1, particularly macOS
bundle generation. It addresses an issue that bundles can't be executed
on macOS 11.3 Big Sur if built with configure/make after downloading
the release tarball because of the macOS "quarantine" feature.

Details:

  Albrecht Schlosser:
    Rename file 'VERSION' to 'fltk_version.dat' (#191)
    Fix version number in doxygen docs
    Fix build with Cairo for CMake < 3.13
    CMake: fix old (pre 3.13) link_directories() usage
    Enhance CMake build configuration summary
    Refactor macOS bundle generation to avoid "quarantine"
    Fix a new compiler warning


CHANGES IN FLTK 1.3.6rc1                           RELEASED: Apr 26 2021

FLTK 1.3.6 is a maintenance release with new macOS Big Sur support
and some bug fixes. macOS Big Sur is supported on both Intel and the
new Apple Silicon (M1) chips.

CMake support has been improved but is not yet "perfect". Documentation
has been enhanced, bundled image libraries have been updated to current
versions.

The following lists are subsets of all commits. References in '(...)'
are either STR numbers (STR xxxx) or GitHub Issues or Pull Requests
(#nnn).


Bug fixes and other improvements

  Albrecht Schlosser:
    Fix Fl::add_timeout() in draw() under Linux (STR 3188)
    X11: Fix X Input Methods (XIM) (STR 3502, 3192)
    Fix overly restrictive JPEG filter (#81)
    Fix DND in read-only Fl_Input (Fl_Output) (#113)
    Fix offscreen drawing under X11 (STR 3384)
    Fix potential fluid crashes (STR 3420) + memory leak
    Fix X11 copy-paste and drag-and-drop target selection (#182)
    Fix CMake install procedure (#212)
    Avoid "Bogus FL_MOVE/FL_DRAG events" (#76)
    CMake: Document FLTKConfig.cmake and set FLTK_INCLUDE_DIR

  Greg Ercolano:
    Fix issue92, added -d debug flag to fluid (#92)
    Merge pull request #176 from ComputerNerd/errmsg-fix-13

  ManoloFLTK:
    X11: add support for copy+paste of image within one app
    Windows: add bitmap version of graphics when copying to clipboard
    Fix use of Xrender extension with old, 16-bit framebuffers.
    Fix for Fl_Native_File_Chooser under macOS 10.15 Catalina and ...
    Restore macOS capacity to turn window fullscreen encompassing several
      screens.
    Improve Fl_Copy_Surface under macOS
    Set OPTION_USE_SYSTEM_LIBPNG/JPEG off under macOS by default
    Have Fl_Pack::draw() call Fl_Group::init_sizes() on its parent group.
    CMake support of the Darwin+XQuartz test platform
    Add support of macOS "Big Sur" 11.0
    Fix when building with SDK 10.15 and running with 11.0 Big Sur
    Backport fix for issue #185 "Shared Image reload() loses initial
      dimensions" from branch 1.4
    Fix fl_endpoints() for macOS platform that was not effective.
    Fix stack corruption when loading GIF (pull request #200)
    Restore ./configure --enable-x11 on macOS
    Fix crash when terminating any macOS app by cmd-Q

  OKAMURA, Yasunobu:
    Fix JIS Keyboard dead keys
@jperkin jperkin closed this in 9c4d04d Aug 17, 2021
jperkin pushed a commit that referenced this pull request Aug 25, 2021
# shinyjs 2.0.0 (2020-08-24)

- **IMPORTANT CHANGE** Remove commercial license (it only existed
    because some big companies asked for it, but it ended up being a
    bigger headache for 99% of the community)

- **BREAKING CHANGE** When using `extendShinyjs()`, the `functions`
    parameter must always be provided.

- **BREAKING CHANGE** When using `extendShinyjs()`, the `script` path
    parameter now behaves like any other Shiny web resource, which
    means it cannot be loaded from the local file system. The path
    must be discoverable by the browser, so it either needs to be a
    public URL, inside a `www` folder, or available via
    `addResourcePath()`.

- New feature: add a `refresh()` function (#205)

- New feature: add `asis` parameter to `reset()` function, which works
  like it does in all other functions that support `asis` (#146)

- Fix bug: `extendShinyjs()` now works with any web URL or any
  resource path (#201)

- Fix bug: `reset()` didn't work when a sliderInput was initialized
  with `value=NULL` (#207)

- Remove `V8` as a package dependency.

# shinyjs 1.1 (2020-01-12)

This update was 2 years in the making because it required a lot of
testing by users to ensure none of these features cause any regression
bugs in real apps.

- **BREAKING CHANGE** The `includeShinyjs` parameter in `runcodeUI()`
    is now deprecated
- Fix bug: shinyjs functions used inside a module with a `selector`
  argument instead of an `id` argument didn't work (#175)
- Fix bug: shinyjs functions did not work with IDs that had a space in
  them (#176)
- Fix bug: non-selectize select inputs could not be disabled (#186)
- Fix bug: `click()` now works with download buttons (#198)

- New feature: added `asis` parameter to any function that takes an
  ID. When `asis=TRUE`, the ID will not be namespaced when inside a
  module (#118)

- New feature: added `id` parameter to `runcode()`, allowing it to
  work inside Shiny modules (#184)

- New feature: `onevent()` returns the `offsetX` and `offsetY` event
  properties

- New feature: `onevent()` accepts a `properties` parameter that
  allows the user to retrieve additional properties that are not
  whitelisted by default (#159)

- New feature: `hide()`/`show()` now only bubble up the DOM tree to
  the nearest input container if the current element is an input
  (#153)

- Documentation: added documentation about `useShinyjs()` side effects
  and about including `shinyjs` in packages (#182)
jperkin pushed a commit that referenced this pull request Nov 28, 2021
Changes since 0.1.1:

> This version has some breaking changes in the config file and, you will
need to regenerate the config for all features to work.

## Notable changes
- The tool is now compatible with next-gen/team-managed project.
- New filters when listing issues, viz:
  - Filter by parent: This will allow you to list all sub-tasks of a task.
  - Order by filter: This will allow you to display a list sorted by their
    rank for example.
- You can now assign epic to the issue on creation.
- You can add issues to the sprint with `jira sprint add`

## What's added?
- feat: Allow to assign epic on create #194
- feat: Cmd to add issues to sprint #205
- feat: Allow to filter by parent #197
- feat: Add order-by filter #206
- feat: Add type on project listing #190

## What's fixed?
- fix: Make epic add work in next-gen project #195
- fix: Epic creation for next-gen project #192
- fix: Make epic remove work in next-gen project #196
- fix: Make epic list work for next-gen project #201
- fix: Segmentation fault on view #202
- fix(tui): Link/key copy is broken for altered key col #204

## Config changes
- cfg!: Expand config to include project type #191
- cfg!: Rename field to name and add link field to epic #193

## Dependency updates
- dep: Upgrade rivo/tview #176
- dep: Upgrade outdated deps to latest #177
- dep: Use Go 1.17 #178


**Full Changelog**: ankitpokhrel/jira-cli@v0.1.1...v0.2.0
jperkin pushed a commit that referenced this pull request Nov 28, 2021
0.5.8 (2021-11-10)

Added

* Added more documentation files to packaged gem, e.g. SECURITY.md,
  CODE_OF_CONDUCT.md

Fixed

* Removed reference to RUBY_VERSION from gemspec, as it depends on rake
  release, which is problematic on some ruby engines. (by @pboling)

0.5.7 (2021-11-02)

Added

* Setup Rubocop (#205, #208 by @pboling)
* Added CODE_OF_CONDUCT.md (#217, #218 by @pboling)
* Added FUNDING.yml (#217, #218 by @pboling)
* Added Client Certificate Options: :ssl_client_cert and :ssl_client_key
  (#136, #220 by @pboling)
* Handle a nested array of hashes in OAuth::Helper.normalize (#80, #221 by
  @pboling)

Changed

* Switch from TravisCI to Github Actions (#202, #207, #176 by @pboling)
* Upgrade webmock to v3.14.0 (#196 by @pboling)
* Upgrade em-http-request to v1.1.7 (#173 by @pboling)
* Upgrade mocha to v1.13.0 (#193 by @pboling)
* HISTORY renamed to CHANGELOG.md, and follows Keep a Changelog (#214, #215
  by @pboling)
* CHANGELOG, LICENSE, and README now ship with packaged gem (#214, #215 by
  @pboling)
* README.rdoc renamed to README.md (#217, #218 by @pboling)
* Require plaintext signature method by default (#135 by @confiks &
  @pboling)

Fixed

* Fixed Infinite Redirect in v0.5.5, v0.5.6 (#186, #210 by @pboling)
* Fixed NoMethodError on missing leading slash in path (#194, #211 by
  @pboling)
* Fixed NoMethodError on nil request object (#165, #212 by @pboling)
* Fixed Unsafe String Comparison (#156, #209 by @pboling and @drosseau)
* Fixed typos in Gemspec (#204, #203, #208 by @pboling)
* Copyright Notice in LICENSE - added correct years (#217, #218 by @pboling)
* Fixed request proxy Class constant reference scopes - was missing :: in
  many places (#225, #226 by @pboling)

Removed

* Remove direct development dependency on nokogiri (#299 by @pboling)
jperkin pushed a commit that referenced this pull request Feb 21, 2022
texmath (0.12.4)

  * TeX reader: handle hyperref better (#186).  We don't parse it as a link,
    but we pass its contents through rather than failing.

  * Update scripts and data in `lib/` directory. These are not build
    dependencies, but they were used to produce some of the large
    tables in the source code.  Fixed the scripts and Makefile to work
    with recent texmath and cabal.  Removed two very large unicode data
    files that can be downloaded when needed.  (This reduces the size of
    the source tarball considerably.) Remove `lib/toascii` (no longer used).

  * Update MMLDict using latest unicode.xml.

  * TeX reader: support siunitx `\qty`, `\qtyrange`, `\unit` (#185).

  * Remove Text.TeXMath.Compat.  We can now safely require mtl >= 2.2.1.

  * Use symbolMap from ToTeX to shorten the long hardcoded symbols list.
    Now we only hard-code items that differ what what is in symbolMap.
    This reduces the code size by thousands of lines.

  * Unicode.ToTeX: export `symbolMap` [API change].  This uses the data in
  `records` to create a backwards mapping from TeX commands to Exps (ESymbol
      elements).  This can replace most of the hardcoded list in the current
  TeX reader.

  * Split out TeXMath.Readers.TeX.Commands internal module.
    This makes the TeX reader shorter and should help compile times.

  * OMML reader: better handling of m:t nodes (#151).
    Previously we parsed an m:t element as an EIdentifier if it contains a
    single letter, but an EText TextNormal if it contains more than one.  This
    gave bad results in some cases.  It is better to reserve EText for the
    case where the m:nor property is specified for "normal text."

  * Require base >= 4.11.

  * Remove `network-uri` flag from stack.yaml.


texmath (0.12.3.3)

  * OMML writer: use nary only for operators supported by LibreOffice
    (Albert Krewinkel).  LibreOffice (and possibly Word, too) can handle
    only a small set of operators in an `nary` element.

  * TeX writer: use `\xleftarrow`, `\xrightarrow` where sensible
    (Albert Krewinkel).  The commands are generated for expressions over `←`
    or `→`. Besides being more idiomatic, this change also prevents the
    generation of invalid LaTeX, as `\leftarrow` and `\rightarrow` are not
    math operators and hence may not be followed by `\limit`.
    Both commands are part of amsmath.sty.

  * TeX reader:

    + Improve angled-bracket support (Albert Krewinkel).
      The amsmath package allows `\left<` and `\right>` as alternatives to
      `\left\langle` and `\right\rangle`, respectively.
    + Ignore stared version of `\tag` (Albert Krewinkel).
    + Support \dots{c,b,m,i,o} from amsmath (#179).
    + Change symbol returned for \dots{b,i,m} from `…` to `⋯`
      (Albert Krewinkel).

texmath (0.12.3.2)

  * OMML writer: remove m:nor element in math operators (#178).
    This caused the document's main font, rather than the math
    font, to be used in formatting operators, which is undesirable.

texmath (0.12.3.1)

  * MathML reader: don't allow mfenced attributes to inherit (#177).
    When open and close attributes aren't given on an mfenced,
    we should use defaults rather than inheriting these from a
    parent mfenced.

texmath (0.12.3)

  * TeX reader: implement logic to convert a Bin symbol to
    an Op to Op when it occurs at the beginning of a group,
    or after an Open, Pun, or Op symbol. This will give much
    better results for unary `-` (#176).

  * OMML writer: fixed rendering of EDelimited (#173).
    We now properly render "middles" (separators).
jperkin pushed a commit that referenced this pull request Apr 17, 2022
Change log:

1.0.1
======
Stable release fixing regressions and a couple of older bugs.

- A new hidden preference `DropdownParametersOnce` has been introduced to control whether the drop-down
  window accepts command line arguments after creation. With the introduction of this preference
  an older bug was fixed where tabs could be added to the drop-down window even though they
  weren't supposed to.
- Options: --active-tab does not behave properly when adding tabs to existing windows.

Regressions fixed:
- Find dialog does not respond to Return key (Issue #176)
- Dragging a URL from Chromium ends up truncated (Issue #180)
- Toolbar size changes when the window is maximized (Issue #181).
- Unable to create a single window with many tabs through command line options (Issue #182).

Translation Updates:
  Danish, Finnish, Greek, Russian, Turkish
jperkin pushed a commit that referenced this pull request Jul 24, 2022
2.72.1 - June 29, 2022
======================

 - Discard empty proxy environment variables (#189)

2.72.0 - March 22, 2022
=======================

 - Fix proxy tests (#186)
 - GnuTLS: use IANA-style ciphersuite names with GnuTLS 3.7.4 (!202)
 - Windows build fixes (!206, !207, Chun-wei Fan)
 - meson devenv (!208, Xavier Claessens)
 - Updated translations

2.72.beta - February 11, 2022
=============================

 - Add environment variable proxy resolver (#162)
 - OpenSSL: fix uninitialized memory use (!201, Daniel Kolesa)

2.72.alpha - January 6, 2022
============================

 - OpenSSL: fix unsafe error handling (!187, Patrick Griffis)
 - Correctly load libsoup DLL on Windows (!190, Chun-wei Fan)
 - OpenSSL: use system trust on Windows (!192, Francesco Conti)
 - GnuTLS: fix TLS 1.3 ciphersuite names, should use underscores (!194)
 - OpenSSL: fail when appropriate if Must-Staple extension is set (!197)
 - Improve failure of tls-unique channel binding requests (!198, Ruslan Marchenko)
 - Do not fill SNI extension with IP address (!200, Matteo Biggio)

2.70.1 - December 6, 2021
=========================

 - Fix crashes when handshake is cancelled (#97, #176)
 - OpenSSL: fix spurious certificate expired verification errors (#179)
 - GnuTLS: Fix tests on 32-bit systems (!188, Simon McVittie)
 - GnuTLS: Fix crash when invalid priority string is forced (!189)

2.70.0 - September 16, 2021
===========================

 - Updated translations

2.70.rc - September 3, 2021
===========================

 - gnutls: revert AuthorityInformationAccess implementation for now (#160)
 - gnutls: fix use of non-default GTlsDatabases, Geary crash on startup (#169)
 - openssl: remove openssl-util (!181)
 - gnutls: fix leak in g_tls_certificate_gnutls_copy (!182, Patrick Griffis)
 - gnutls: Unbreak GTLS_GNUTLS_CHECK_VERSION (!185)

2.70.beta - August 12, 2021
===========================

 - gnutls: Ensure that PKCS #11 pins are NUL terminated (!178, Patrick Griffis)
 - openssl: Restore OCSP support (!179, !180, Patrick Griffis)

2.70.alpha - July 2, 2021
=========================

- Fix TLS channel bindings tests (#164)
- Require OpenSSL 1.0.2 (#166)
- Fix threadsafety issue in certificate verification (!148)
- dlopen libsoup for performing HTTP requests (!149, Patrick Griffis)
- Implement new get_negotiated_protocol vfunc (!150)
- Implement new protocol version and ciphersuite name accessors (!151)
- OpenSSL: use system keychain on macOS (!154)
- OpenSSL: add DTLS support, plus many related improvements (!155, Ole André Vadla Ravnås)
- Implement new GTlsCertificate details APIs (!156, !165, Ross Wollman)
- GnuTLS: improve error handling for PIN failures (!158, Patrick Griffis)
- GnuTLS: expose PIN type on PIN requests (!159, Patrick Griffis)
- GnuTLS: check cancellable in pull timeout callback (!160)
- Add support for Android (!162, Ole André Vadla Ravnås)
- Improve automation of test certificate creation (!167, !168, !169, Patrick Griffis)
- GnuTLS: use GnuTLS to implement all channel bindings (!172)
- GnuTLS: rework certificate verification to use TLS session (!173)
- GnuTLS: improve peer identity verification (!176)
- Bring back automatic downloading of missing intermediate certificates (not fixed, may go away again)

2.68.1 - April 22, 2021
=======================

 - Fix threadsafety issue in certificate verification (!148)
 - Temporarily remove support for downloading missing intermediate certificates with GnuTLS 3.7 (#160)

2.68.0 - March 19, 2021
=======================

 - Fix double free in GnuTLS client certificate request code (!147)

2.68.rc - March 12, 2021
========================

 - Improve heuristic for returning G_TLS_ERROR_CERTIFICATE_REQUIRED
 - Fix check for certain handshake failure conditions

2.68.alpha - January 7, 2021
============================

 - Download and validate missing intermediate certificates (requires GnuTLS 3.7) (#96)
 - OpenSSL backend now uses system crypto policy (#106)
 - Remove use of g_assert in testsuite (#137)
 - Restore support for old versions of OpenSSL (#156)
 - Implement TLS channel bindings API (!139, Ruslan Marchenko)
 - Implement PKCS#11 API (!140, Patrick Griffis)
 - Update testsuite for Fedora 33 crypto policy (!141)
 - Fix NULL dereference in g_tls_connection_base_read_message (!144, Vladimir D. Seleznev)
 - Fix a couple code issues found by Coverity

2.66.0 - September 11, 2020
===========================

- Updated translations

2.65.90 - August 6, 2020
========================

 - Many fixes to OpenSSL backend (!128, Ruslan Marchenko)

2.65.1 - July 2, 2020
=====================

 - Fix peer-certificate[-errors] props set too soon (#127)
 - Implement ALPN for OpenSSL backend (!126, Ruslan Marchenko)
 - Fix Windows build (!127, Cun-wei Fan)
jperkin pushed a commit that referenced this pull request Aug 10, 2022
What's Changed

    Disable quiet nan test on windows by @floitsch in #174
    Test on all platforms. by @floitsch in #175
    Fix warnings on Windows by @floitsch in #176
    Run ctests first. by @floitsch in #177
    Give shared-lib option and test install by @floitsch in #179
    Install Windows debbuger (pdb) files. by @floitsch in #178
    Add a cast to silence a signedness conversion warning. by @pkasting in #182
    Issue #184 : Fixed all -Wzero-as-null-pointer-constant warnings by @seanm in #185
jperkin pushed a commit that referenced this pull request Dec 6, 2022
Features
 - Significantly improved performance, see #173 and #176 (@sharifhsn)
 - Added variable panels through the --panels and --terminal-width flags,
   see #13 and #164 (@sharifhsn)
 - Added new --group-bytes/-g option, see #104 and #170 (@RinHizakura)
 - Added new --base B option (where B can be binary, octal, decimal or
   hexadecimal), see #147 and #178 (@sharifhsn)
 - Show actual zero bytes as ⋄ in the character panel (previously: 0), in
   order not to confuse them with ASCII
 - 0 bytes if colors are deactivated. Closes #166 (@sharkdp)

hexyl as a library
 - Breaking change: Printer::new is deprecated as a part of the public API.
   Alternatively, you can now construct a Printer using the PrinterBuilder
   builder API, see #168. (@sharifhsn)

Other
 - More tests for the squeezing feature, see #177 (@mkatychev)

Thank you
 - Special thanks go to @sharifhsn, not just for the new features, bugfixes
   and performance improvements. But also for many internal improvements of
   the code base and other maintenance tasks.
jperkin pushed a commit that referenced this pull request Dec 18, 2022
# pkgload 1.3.2

* Fixes for CRAN checks.


# pkgload 1.3.1

* `dev_topic_find()` is now exported (#215).

* `dev_help()` will remind you to run `pkgload::load_all()` if no
  in-development packages are found (#221).

* Shimmed `?` now works even if you've renamed the documentation topic (#220).

* `dev_help()` now works with an RStudio daily to deliver a rendered
  development documentation that includes working images and links (#228).


# pkgload 1.3.0

* `load_all()` now calls `rlang::check_installed()` to prompt whether
  to install missing packages.

  Outdated and missing dependencies are installed using pak if
  installed. If not, the remotes package is used if installed.
  Otherwise `install.packages()` is used as a last resort but this
  method does not support Remotes fields.

* `load_all()` gains an `attach` argument set to `TRUE` by default (#209).
  If set to `FALSE`, `load_all()` creates a new namespace but doesn't
  create a package environment on the search path. In this case, it is
  more similar to `loadNamespace()` than to `library()`.

* Improved the way help pages are displayed in RStudio. This makes the
  behaviour within and outside RStudio consistent and fixes issues
  with Rd macros (#120).

* `unregister()` is now exported. This is a gentler version of
  `unload()` which removes the package from the search path,
  unregisters methods, and unregisters the namespace. However it
  doesn't try to unload the namespace or its DLL so that dangling
  references keep working.

* User `onLoad` hooks are now run after exports have been
  populated. This allows the hook to use exported functions.

* The loaded namespace is now locked just before user `onLoad` hooks
  are run. This better reproduced the namespace sealing behaviour of
  regular loading.

  The package environment environment is now locked as well before
  both the user and package `onAttach` hooks are run.

* Added support for loading a .so or .dll file from the `inst`
  folder via a new `library.dynam()` shim (@ethanplunkett, #48).

* The `system.file()` shim now fails if you supply a path that starts
  with `inst` to better reproduce the behaviour with installed
  packages (#104).

* `load_all()` now imports its dependencies lazily to avoid parallel
  installation issues (#89).

* Unknown Rd macros no longer trigger a warning when building the
  package topic index (#119).

* `load_all(compile = TRUE)` now forces a full recompilation (#93).

* The advice about running `rm()` to remove conflicts with objects in
  the global environment is now clickable in RStudio (#199).

* New `is_loading()` predicate to detect whether `load_all()` is
  currently running (#134).

* `.dynLibs()` is no longer emptied when package with no DLL is
  unloaded (#176).

* The `?` shim no longer interprets `?"/"` as a path (#198).

* rstudioapi is no longer a hard dependency of pkgload (#187).

* Errors thrown in user hooks are now demoted to a warning
  condition. Previously they were demoted using `try()`, making it
  harder to debug them.

* `load_all()` correctly re-loads modified translations, avoiding
  the usual gettext behaviour.
jperkin pushed a commit that referenced this pull request Jan 12, 2023
From the upstream ChangeLog:

[2.2] Fix 'multiple definition' compile time errors by @rdmark in #136
[2.2] Remove bitrotted code by @rdmark in #139
[2.2] Fixes for the OpenSSL 1.1 API; add OpenSSL 1.0 backwards compat by @rdmark in #142
[2.2] Install afp_ldap.conf based on LDAP support, not availability of ACLs. by @rdmark in #143
[2.2] Resolve gcc 10 compile time warnings on Linux by @rdmark in #165
[2.2] Downstream patches for NetBSD compatibility by @rdmark in #148
[2.2] Make timelord work on non-big-endian systems; ability to sync localtime by @rdmark in #151
[2.2] Resolve papd compile time errors due to deprecated CUPS calls by @rdmark in #152
[2.2] Resolve automake warnings running bootstrap by @rdmark in #153
[2.2] Handle special FIRSTNET behavior on NetBSD by @rdmark in #154
[2.2] papd patches for compatibility with older Apple LaserWriter drivers on Mac and GS/OS by @rdmark in #156
[2.2] Allow non-unicode volume to be scanned by the repair tool. by @rdmark in #158
[2.2] Update init script templates to start/stop a2boot daemon. by @rdmark in #160
[2.2] Backport Netatalk 3 patches by @rdmark in #161
[2.2] papd: Send replies to client when printing to prompt more data by @rdmark in #162
[2.2] afpd: Add option to disable afp session tickles by @rdmark in #163
[2.2] Update for Unicode 14 by @rdmark in #164
[2.2] Made the AsanteTalk bridge consistently start up in AppleTalk Phase 2�$A!-�(B by @rdmark in #166
[2.2] Introduce fully functional systemd unit configurations for all daemons by @rdmark in #167
[2.2] General stability patches by @rdmark in #168
Fix some compile errors by @JensKSP in #176

Package changes:

Distfile has been moved to github
Clean up unused PLIST variables
jperkin pushed a commit that referenced this pull request May 2, 2023
23.1.1
------

- fix: support for Python up to v3.11
- fix: update GitHub CI
- fix: copyright transferred to typedef int GmbH - no license change!

22.2.1
------

- fix: cancel handling in python 3.8/3.9. (#175)
- fix: gracefully fail if coroutine called with wrong args (#176)
- fix: eliminate redundant dep. on mock (#170)
- fix: doc note that twisted supports native coroutines (#172)
jperkin pushed a commit that referenced this pull request May 29, 2023
[3.0.0] - 2023-05-25
Bug fixes
 - Completions now properly reference the new binary name, erd
 - Symlink target now shows full path rather than just file name
 - --dir-order <DIR_ORDER> added to address ordering ambiguity with arg names
 - Fixed NetBSD build error associated with xattrs
 - Fixed issue where --level would omit files from the total count
 - Added support for %APPDATA% config folder for Windows

Additions
 - -C, --color #147
 - Support for owner and group, changed default columns for l, --long, and
   added optional long-view arguments #174
 - Support customizing time output format #165
 - Support for sorting files by modified time, access time, and created
   time 55783ff
 - Support for reporting block usage, line-count, and word-count #172
 - Added progress indicator #176
jperkin pushed a commit that referenced this pull request Oct 3, 2023
What's Changed
 - docs: Add installation instructions for Arch Linux by @orhun in #140
 - docs: Add installation instructions for Alpine Linux by @orhun in #142
 - Docs: Update README by @AmmarAbouZor in #144
 - Added: Unit Tests for UI Functions by @AmmarAbouZor in #171
 - Chore: Bump Swatinem/rust-cache from 2.6.2 to 2.7.0 by @dependabot in #166
 - Added: Unit Tests for the main App Logic by @AmmarAbouZor in #176
 - Migrate to Ratatui & Update Crossterm to 27 by @AmmarAbouZor in #178
 - Fix Input Boxes Border color by @AmmarAbouZor in #181
jperkin pushed a commit that referenced this pull request Oct 23, 2023
This is the biggest update ever, with 36 new features, 24 bug fixes,
and 3 performance improvements.

Thank you to every contributor for making Yazi better and better!
What's Changed

    feat: add Mintty (Git Bash) image preview support by @sxyazi in #103
    refactor: use Url instead of PathBuf by @sxyazi in #107
    fix: mime of javascript by @XYenon in #106
    perf: load large folders in chunks by @sxyazi in #117
    fix: set cursor block after closing input prompt from insert mode
         by @auvred in #109
    fix: doesn't redirect the stderr of the clipboard command to null
         by @sxyazi in #119
    feat: suspend process (Ctrl-Z) by @sxyazi in #120
    fix: notification of file changes in linked directories by @sxyazi in #121
    feat: file size sorting under the simplified file system by @sxyazi in #123
    fix: show_hidden not properly applied to hovered folder by @sxyazi in #124
    fix: recognize symlink directories as files by @sxyazi in #125
    fix: respect symlink paths without canonicalizing them by @sxyazi in #126
    feat: make Input streamable by @sxyazi in #127
    perf: doesn't wait for the process of killing by @sxyazi in #128
    feat: find by @sxyazi in #104
    feat: tab-specific sorting by @sxyazi in #131
    feat: new V, D, C keybinding for Input component by @sxyazi in #139
    fix: swap description for search commands by @knutwalker in #141
    fix: image position calculation by @sxyazi in #144
    feat: support for image preview within tmux by @sxyazi in #147
    feat: show keywords when in search mode by @sxyazi in #152
    feat: fallback to built-in highlighting if jq is not installed
          by @ndtoan96 in #151
    feat: make the glob expr case insensitive by default, and prepend \s to
          make it sensitive by @sxyazi in #156
    fix: check relative path on expand_path by @sxyazi in #165
    feat: support for FreeBSD permission type by @yggdr in #169
    feat: multiple openers for a single rule by @Linus789 in #154
    fix: leave upwards only if an IO error occurs in current by @sxyazi in #172
    docs: add archlinuxcn installation guide by @Integral-Tech in #176
    fix: image preview not working on Zellij by @Eric-Song-Nop in #181
    feat: make trash optional by @sxyazi in #178
    fix: inconsistent Shift key behavior on Unix and Windows
         by @ndtoan96 in #174
    feat: new force option added for the remove command, which does not show
          the confirmation dialog on trashing/deleting by @sxyazi in #173
    fix: typo of LICENSE file by @conradojordan in #201
    feat: add flake.nix by @XYenon in #205
    feat: include ignored files on search when hidden files are shown
          by @PhotonQuantum in #212
    feat: new orphan option for opener rules, to keep the process running even
          when Yazi exited by @sxyazi in #216
    feat: scroll half/full page with arrow percentage supported, and new
          Vi-like <C-u>, <C-d>, <C-b>, and <C-f> keybindings added by
          @TD-Sky in #213
    feat: highlight matching words on finding by @PhotonQuantum in #211
    feat: add BackTab support by @sxyazi in #209
    fix: set stdio to null when orphan is true by @sxyazi in #229
    feat: new force option for creating and renaming by @sxyazi in #208
    feat: loop through to find by @ndtoan96 in #234
    feat: backward/forward by @ndtoan96 in #230
    perf: reimplement optimized natural sorting algorithm, speed up ~6 times
          for case-insensitive sorting by @sxyazi in #237
    chore: changing the finding key to n/N to keep with Vim's conventions
           by @sxyazi in #238
    feat: added new options to the `find' command for smart-case/
          case-insensitive finds by @ndtoan96 in #240
    feat: add new --no-cwd-file option to quit command for flexible cwd-file
          setting by @XOR-op in #245
    fix: avoid adding non-regular paths to backstack by @ndtoan96 in #249
    fix: support RGBA16 images by @sxyazi in #250
    feat: support trash for NetBSD by @sxyazi in #251
    feat: support environment variable in cd path by @ndtoan96 in #241
    feat: new theme system by @sxyazi in #161
    fix: cannot cd if there is whitespace in path by @ndtoan96 in #255
    fix: add application/x-wine-extension-ini to text mime by @ndtoan96 in #259
    fix: collect and fix all hard coded themes and color
         by @Eric-Song-Nop in #221
    fix: some colors not readable in light mode by @sxyazi in #264
    feat: better file hover state by @sxyazi in #269
    refactor: split commands into separate files by @sxyazi in #272
    feat: cancel selected items automatically on entering, leaving, copying, or
          cutting by @sxyazi in #273
    feat: add a new Bar component, and make border styles customizable
          by @sxyazi in #278
    fix: adapt another $TERM value of foot-extra for foot by @sxyazi in #277
    refactor: simplify building conditions by @sxyazi in #280
    chore: add git rev to nix pkg version by @XYenon in #206
    feat: new Manager component for better style extensions by @sxyazi in #284
    feat: cross-system opener rule support by @sxyazi in #289
    fix: delegate the SIGINT signal of processes with orphan=true to their
    parent by @sxyazi in #290
    feat: line mode by @sxyazi in #291
    feat: shell completions & auto releasing by @TD-Sky in #282
jperkin pushed a commit that referenced this pull request Jan 25, 2024
# later 1.3.2

* Fixed `unused variable` compiler warning. (@MichaelChirico, #176)

* Fixed #177: The order of includes in `later.h` could cause compilation
   errors on some platforms. (@jeroen, #178)

* Closed #181: Fix R CMD check warning re error() format strings (for r-devel). (#133)

# later 1.3.1

* For C function declarations that take no parameters, added `void` parameter. (#172)
jperkin pushed a commit that referenced this pull request Feb 20, 2024
0.0.33

What's Changed

    fix release workflow, corrective release by @woodruffw in #210

0.0.32

What's Changed

    github: add dependabot config for GHA by @woodruffw in #203
    tox: add pip2400 by @woodruffw in #204
    Bump the actions group with 5 updates by @dependabot in #205
    pip_api: don't pass escaped path into _parse_local_package_name by @woodruffw in #208
    prep 0.0.32 by @woodruffw in #209

0.0.31

What's Changed

    Test against pip==22.2 by @di in #152
    Test against pip==22.2.1 by @di in #158
    Test against pip==22.2.2 by @di in #160
    Test against pip==22.3 by @di in #163
    Test against Python 3.11 by @di in #154
    workflows/release: bump gh-action-sigstore-python, update slug by @woodruffw in #161
    Test against pip==22.3.1 by @di in #165
    Add alls-greens configuration by @di in #166
    Contributions from @webknjaz by @di in #172
    Use sdist as a testing source in CI by @webknjaz in #174
    Test against pip==23.0 by @di in #176
    Test against pip==23.0.1 by @di in #178
    Test against pip==23.1 by @di in #180
    Test against pip==23.1.1 by @di in #183
    Test against pip==23.1.2 by @di in #185
    Test against pip==23.2 by @di in #188
    Test against pip==23.2.1 by @di in #190
    Test against pip==23.3 by @di in #192
    Test against pip==23.3.1 by @di in #194
    Test against pip==23.3.2 by @di in #198
    Handle editable projects with pyproject.toml by @di in #200
    Version 0.0.31 by @di in #201
jperkin pushed a commit that referenced this pull request May 1, 2024
v20.4.0
=======

Features
--------

- Replace deprecated ssl.wrap_socket with SSLContext.wrap_socket and update examples in connection.py docs. (#216)


v20.3.1
=======

No significant changes.


v20.3.0
=======

Features
--------

- Added support for SASL login. (#195)


Bugfixes
--------

- Better handling of escape sequences in message tags. (#205)


v20.2.0
=======

Features
--------

- Require Python 3.8 or later.


v20.1.1
=======

* #213: Pinned against jaraco.text 3.10 due to change in interface.

v20.1.0
=======

* #196: In irc.bot, avoid hanging idle when the first connection
  attempt fails.

v20.0.0
=======

* ``SingleServerIRCBot`` no longer accepts ``reconnection_interval``
  as a parameter.

* Added server support for NOTICE commands.

* Require Python 3.7 or later.

v19.0.1
=======

* #176: Fix issues with version number reporting. Restored version
  version number reporting in bot and client.

v19.0.0
=======

* ``irc.client`` no longer exposes a ``VERSION`` or ``VERSION_STRING``.
  To get the version, call ``importlib.metadata.version('irc')`` directly.

v18.0.0
=======

* Require Python 3.6 or later.

17.1
====

* Rely on
  `importlib_metadata <https://pypi.org/project/importlib_metadata/>`_
  for loading version from metadata. Removes implicit dependency on
  setuptools and pkg_resources.

* #158: The AsyncIO server now accepts a connection factory to
  enable features like SSL and IPv6 support.

* #155: ``SimpleIRCClient`` now has a ``dcc`` method for initiating
  and associating a DCCConnection object with the client.
  ``DCCConnection.listen`` now accepts a ``address`` parameter.
  Deprecated ``SimpleIRCClient.dcc_listen`` and
  ``SimpleIRCClient.dcc_connect`` in favor of the better separation
  of concerns. Clients should replace::

    client.dcc_connect(addr, port, type)
    client.dcc_listen(type)

  with::

    client.dcc(type).connect(addr, port)
    client.dcc(type).listen()


17.0
====

* Removed ``irc.buffer`` module, deprecated in 14.2.
* #153: Drop support for Python 3.3 and 2.7.

16.4
====

* Long Term Service release for Python 2.7.
* #149: ``AioConnection.connect`` moved to coroutine, added
  disconnect handling for AsyncIO.

16.3
====

* #140: Methods now use 'connection' and 'event' for parameter names.

* #135 via #144: Added AsyncIO implementation.

16.2.1
======

* Package refresh and cleanup.

16.2
====

* #133: In ``irc.server``, add support for ISON.

16.1
====

* #131: Add ``Connection.encode`` and ``Connection.transmit_encoding``
  to enable encodings other than UTF-8 to be used when transmitting
  text.

16.0
====

* Removed deprecated ``execute_*`` methods on ``Connection``
  and ``Reactor`` as introduced in 15.0.

* Fixed link in README.

15.1.1
======

* New ``send_items`` method takes star args for simplicity
  in the syntax and usage.

15.1
====

* Introduce ``ServerConnection.send_items``, consolidating
  common behavior across many methods previously calling
  ``send_raw``.

15.0.6
======

* Now publish `documentation <https://python-irc.readthedocs.io/>`_
  to Read The Docs.

15.0.5
======

* #119: Handle broken pipe exception in IRCClient _send() (server.py).

15.0.4
======

* #116: Correct invocation of execute_every.

15.0.3
======

* #115: Fix AttributeError in ``execute_at`` in scheduling
  support.

15.0.2
======

* #113: Use preferred scheduler in the bot implementation.

15.0.1
======

* Deprecated calls to Connection.execute_*
  and Reactor.execute_*. Instead, call the
  equivalently-named methods on the reactor's
  scheduler.

15.0
====

* The event scheduling functionality has been decoupled
  from the client.Reactor object. Now the reactor will
  construct a Scheduler from the scheduler_class property,
  which must be an instance of irc.schedule.IScheduler.

  The ``_on_schedule`` parameter is no longer accepted
  to the Reactor class. Implementations requiring a
  signal during scheduling should hook into the ``add``
  method of the relevant scheduler class.

* Moved the underlying scheduler implementation to
  `tempora <https://pypi.org/project/tempora>`_, allowing
  it to be re-used for other purposes.

14.2.2
======

* Issue #98: Add an ugly hack to force ``build_sphinx``
  command to have the requisite libraries to build
  module documentation.

14.2.1
======

* Issue #97: Restore ``irc.buffer`` module for
  compatibility.
* Issue #95: Update docs to remove missing or
  deprecated modules.
* Issue #96: Declare Gitter support as a badge in the
  docs.

14.2
====

* Moved buffer module to `jaraco.stream
  <https://pypi.python.org/pypi/jaraco.stream>`_ for
  use in other packages.

14.1
====

* ``SingleServerIRCBot`` now accepts a ``recon``
  parameter implementing a ReconnectStrategy. The new
  default strategy is ExponentialBackoff, implementing an
  exponential backoff with jitter.
  The ``reconnection_interval`` parameter is now deprecated
  but retained for compatibility. To customize the minimum
  time before reconnect, create a custom ExponentialBackoff
  instance or create another ReconnectStrategy object and
  pass that as the ``recon`` parameter. The
  ``reconnection_interval`` parameter will be removed in
  future versions.
* Issue #82: The ``ExponentialBackoff`` implementation
  now protects from multiple scheduled reconnects, avoiding
  the issue where reconnect attempts accumulate
  exponentially when the bot is immediately disconnected
  by the server.

14.0
====

* Dropped deprecated constructor
  ``connection.Factory.from_legacy_params``. Use the
  natural constructor instead.
* Issue #83: ``connection.Factory`` no longer attempts
  to bind before connect unless a bind address is specified.

13.3.1
======

* Now remove mode for owners, halfops, and admins when the user
  is removed from a channel.
* Refactored the Channel class implementation for cleaner, less
  repetitive code.
* Expanded tests coverage for Channel class.

13.3
====

* Issue #75: In ``irc.bot``, add support for tracking admin
  status (mode 'a') in channels. Use ``channel.is_admin``
  or ``channel.admins`` to identify admin users for a channel.

* Removed deprecated irc.logging module.

13.2
====

* Moved hosting to github.

13.1.1
======

* Issue #67: Fix infinite recursion for ``irc.strings.IRCFoldedCase``
  and ``irc.strings.lower``.

13.1
====

* Issue #64: ISUPPORT PREFIX now retains the order of
  permissions for each prefix.

13.0
====

* Updated ``schedule`` module to properly support timezone aware
  times and use them by default. Clients that rely on the timezone
  naïve datetimes may restore the old behavior by overriding the
  ``schedule.now`` and ``schedule.from_timestamp`` functions
  like so:

    schedule.from_timestamp = datetime.datetime.fromtimestamp
    schedule.now = datetime.datetime.now

  Clients that were previously patching
  ``schedule.DelayedCommand.now`` will need to instead patch
  the aforementioned module-global methods. The
  classmethod technique was a poor interface for effectively
  controlling timezone awareness, so was likely unused. Please
  file a ticket with the project for support with your client
  as needed.

12.4.2
======

* Bump to jaraco.functools 1.5 to throttler failures in Python 2.

12.4
====

* Moved ``Throttler`` class to `jaraco.functools
  <https://bitbucket.org/jaraco/jaraco.functools>`_ 1.4.

12.3
====

* Pull Request #33: Fix apparent escaping issue with IRCv3 tags.

12.2
====

* Pull Request #32: Add numeric for WHOX reply.
* Issue #62 and Pull Request #34: Add support for tags in message
  processing and ``Event`` class.

12.1.2
======

* Issue #59: Fixed broken references to irc.client members.
* Issue #60: Fix broken initialization of ``irc.server.IRCClient`` on
  Python 2.

12.1.1
======

* Issue #57: Better handling of Python 3 in testbot.py script.

12.1
====

* Remove changelog from package metadata.

12.0
====

* Remove dependency on jaraco.util. Instead depend on surgical packages.
* Deprecated ``irc.logging`` in favor of ``jaraco.logging``.
* Dropped support for Python 3.2.
jperkin pushed a commit that referenced this pull request 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
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.