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

python3.7 throws exceptions about missing getifaddrs #175

Open
sjorge opened this issue Feb 6, 2019 · 4 comments
Open

python3.7 throws exceptions about missing getifaddrs #175

sjorge opened this issue Feb 6, 2019 · 4 comments

Comments

@sjorge
Copy link

sjorge commented Feb 6, 2019

Traceback (most recent call last):
  File "/opt/homeassistant/lib/python3.7/site-packages/homeassistant/components/discovery.py", line 179, in scan_devices
    results = await hass.async_add_job(_discover, netdisco)
  File "/opt/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/opt/homeassistant/lib/python3.7/site-packages/homeassistant/components/discovery.py", line 207, in _discover
    netdisco.scan()
  File "/opt/homeassistant/lib/python3.7/site-packages/netdisco/discovery.py", line 57, in scan
    self.mdns.start()
  File "/opt/homeassistant/lib/python3.7/site-packages/netdisco/mdns.py", line 23, in start
    self.zeroconf = zeroconf.Zeroconf()
  File "/opt/homeassistant/lib/python3.7/site-packages/zeroconf.py", line 1724, in __init__
    interfaces = normalize_interface_choice(interfaces)
  File "/opt/homeassistant/lib/python3.7/site-packages/zeroconf.py", line 1655, in normalize_interface_choice
    return get_all_addresses()
  File "/opt/homeassistant/lib/python3.7/site-packages/zeroconf.py", line 1645, in get_all_addresses
    for iface in ifaddr.get_adapters()
  File "/opt/homeassistant/lib/python3.7/site-packages/ifaddr/_posix.py", line 44, in get_adapters
    retval = libc.getifaddrs(ctypes.byref(addr))
  File "/opt/local/lib/python3.7/ctypes/__init__.py", line 369, in __getattr__
    func = self.__getitem__(name)
  File "/opt/local/lib/python3.7/ctypes/__init__.py", line 374, in __getitem__
    func = self._FuncPtr((name_or_ordinal, self))
AttributeError: ld.so.1: python3.7: fatal: getifaddrs: can't find symbol```


We (illumos) do have that! http://src.illumos.org/source/xref/illumos-gate/usr/src/lib/libsocket/inet/getifaddrs.c

I think we just might have to add libsocket to the linker libraries?
jperkin pushed a commit that referenced this issue Mar 11, 2019
Changelog:
Changes from 1.5.4 to 1.6.0:
----------------------------

* Bug fixes:
  - Fixed issue where packages which referenced missing packages in
    Requires.private may have crashed due to memory corruption issues
    in some circumstances.
  - Fixed warnings reported by GCC 8 diagnostics.

* Enhancements:
  - Add LIBPKGCONF_VERSION and LIBPKGCONF_VERSION_STR macros for
    determining libpkgconf version.
  - Add pkgconf_fragment_copy_list() to copy a fragment list to
    another fragment list.

Changes from 1.5.3 to 1.5.4:
----------------------------

* Bug fixes:
  - fix build on Windows with Meson
  - fix edge cases for path canonicalization (especially on Windows)

Changes from 1.5.2 to 1.5.3:
----------------------------

* Security fixes:
  - Fix edge cases involving dequoting zero-length tuples that can lead to a
    buffer overflow under the right circumstances.  Thanks to A. Wilcox for
    reporting and supplying a patch.  (MR 3)

Changes from 1.5.1 to 1.5.2:
----------------------------

* Bug fixes:
  - Ensure environment variables override values learned from personality files
    or built-in defaults.

* Documentation enhancements:
  - Add pkgconf-personality(5) manpage documenting the personality file format.

Changes from 1.5.0 to 1.5.1:
----------------------------

* Bug fixes:
  - fixed a crash with some invalid multi-line .pc files

Changes from 1.4.2 to 1.5.0:
---------------------------

* Administrative:
  - The git repository has moved to <https://git.dereferenced.org/pkgconf/pkgconf>,
    due to the acquisition of GitHub by Microsoft.

* Overall enhancements:
  - pkgconf now supports the proposed Requires.internal pkg-config extension,
    by merging it with the Requires.private list (there is no functional difference
    between the two in our resolver implementation)
  - Support for cross-compilation personalities have been added.  To make use of this
    functionality, create a file in the new personality.d directory that sits inside
    the pkgconfig directory.  The personality file format is described in
    pc-personality(5). (github #166)
  - Support for Haiku has been added, including interpretation of BELIBRARIES and
    other toolchain specifics. (github #180)
  - Testsuite support can be disabled when building with Meson. (github #175)

* Bug fixes:
  - tuples are now appropriately dequoted when added by the parser (github #186).

* Various Windows enhancements:
  - CMake supports building with GCC on Windows. (github #179)
  - Prefix rewriting has been improved. (github #177)
  - PKGCONF_API support has been implemented when building with Meson,
    allowing Meson to be used to build pkgconf on Windows. (github #174)

* Documentation fixes:
  - The manpages have been linted and fixed. (github #181, #182, #183)
  - The description of pkgconf --exists has been corrected. (github #173)

Changes from 1.4.1 to 1.4.2:
----------------------------

* Bug fixes:
  - ensure pkgconf_dependency_t nodes have a solution marked when satisfied
    by an indirect provider (github #172)
jperkin pushed a commit that referenced this issue Mar 15, 2019
Changes:
1.8.0
-----
### Added
- Support for:
  - `weibo`
  - `pururin` (#174)
  - `fashionnove` (#175)
  - `shopify` sites in general (#175)
- Snap packaging (#169, #170, #187, #188)
- Automatic Cloudflare DDoS protection bypass
- Extractor and Job information for logging format strings
  - `dynastyscans` image and search extractors (#163)
  - `deviantart` scraps extractor (#168)
  - `artstation` extractor for artwork listings (#172)
  - `smugmug` video support and improved image format selection (#183)

### Changed
- More metadata for `nhentai` galleries
- Combined `myportfolio` extractors into one
- Renamed `name` metadata field to `filename` and removed the original `filename` field
- Simplified and improved internal data structures
- Optimized creation of child extractors

### Fixed
- Filter empty `tumblr` URLs (#165)
- Filter ads and improve connection speed on `hentaifoundry`
- Show proper error messages if `luscious` galleries are unavailable
- Miscellaneous issues on `mangahere`, `ngomik`, `simplyhentai`, `imgspice`

### Removed
- `seaotterscans`
jperkin pushed a commit that referenced this issue Jul 15, 2019
What's new in 0.4.3:

- New API addition: WildMidi_InitVIO(). It is like WildMidi_Init(),
- but tells the library to use caller-provided functions for file IO.
- See wildmidi_lib.h or the man page WildMidi_InitVIO(3) for details.
- This was suggested and implemented by Christian Breitwieser.
- Fixed Visual Studio optimized builds (bug #192, function ptr issue.)
- Fixed a thinko in one of the buffer size checks added in v0.4.2.
- Fixed possible out of bounds reads in sysex commands (bug #190).
- Fixed invalid reads during config parse with short patch file names.
- Do not treat a missing end-of-track marker as an error for type-0
- midi files (bug #183).
- Fixed bad reading of high delta values in XMI converter (bug #199).
- Fixed a memory leak when freeing a midi (bug #204).
- Fixed slurred/echoy playback at quick tempos on looped instruments
- (bug #185).
- Fixed certain midis sounding different compared to timidity, as if
- instruments not turned off (bug #186).
- Fixed compilation on systems without libm.
- Support for RISC OS, Nintendo Switch and PS Vita.
- Several clean-ups.

What's new in 0.4.2:

- Fixed CVE-2017-11661, CVE-2017-11662, CVE-2017-11663, CVE-2017-11664
- (Bug #175).
- Fixed WildMidi_Open() might read beyond buffer with too short inputs
- (Bug #178).
- Fixed a buffer overflow during playback with malformed midi files
- (Bug #180).
- GUS patch processing changes to meet users expectations (Bug #132).
- Worked around a build failure with newer FreeBSD versions failing to
- retrieve the ONLCR constant (Bug #171).
- Fixed a minor Windows unicode issue (PR #170).
- A few other fixes / clean-ups.

What's new in 0.4.1:

- Fixed bug in handling of the "source" directive in config files.
- Fixed a nasty bug in dBm_pan_volume. Other fixes and clean-ups.
- Build system updates. Install a pkg-config file on supported platforms such as Linux. New android ndk makefile.
- File i/o updates.
- Support for OS/2.
- Support for Nintendo 3DS
- Support for Nintendo Wii
- Support for AmigaOS and its variants like MorphOS and AROS.
jperkin pushed a commit that referenced this issue Aug 26, 2019
Version 1.1.27 (released 06-Jun-2019)

  * suppress stack traces (with option to show) (#140)
  * distinguish text/binary/image files by icons (#166, #175)
  * colorize alternating file content lines (#167)
  * link to the instance root from the ViewVC logo (#168)
  * display directory and root counts, too (#169)
  * fix double fault error in standalone.py (#157)
  * support timezone offsets with minutes piece (#176)
jperkin pushed a commit that referenced this issue Dec 15, 2019
…ithub.com page

v3.11
@rsms rsms released this Oct 23, 2019 · 15 commits to master since this release

  - Fixes issue (regression) with variable font where certain glyphs would
    slant in the wrong direction. #198
  - Fixes issue (regression) with variable font where version metadata would be
    wrong. #202
  - Fixes codepoint mapping for /copyleft glyph. #203
  - Improves metadata of variable fonts. “fullName” name table entry is now
    “Inter” instead of “Inter Regular”.
  - New alternate-named variable font “Inter V”. With a different family name,
    this is useful for when you want to install the variable version alongside
    traditional static font files.
  - Improvements to /backslash glyph

v3.10
@rsms rsms released this Sep 7, 2019 · 35 commits to master since this release
Release 3.10 is a mix of new glyphs & glyph changes, and adjustments & fixes.

New glyphs:

  - blackSquare (U+25A0)
  - whiteSquare (U+25A1)
  - whiteRoundedCornersSquare (U+25A2)
  - lowerHalfWhiteSquare (U+2B12)
  - topHalfWhiteSquare (U+2B13)
  - downWhiteTriangle (U+25BD)
  - upWhiteTriangle (U+25B3)
  - leftWhiteTriangle (U+25C1, U+25C5)
  - rightWhiteTriangle (U+25B7, U+25BB)

Other notable changes:

  - Fixes alignment issue with otilde U+00F5. #191
  - Improvements to contextual alternates (calt), primarily reducing the cases
    where case substitution is unwanted. #193
  - Adjustments to the following whitespace glyphs: zerowidthspace, hairspace,
    thinspace, punctuationspace, enspace, emspace, sixthemspace,
    quarteremspace, thirdemspace and figurespace. #185
  - Improvements to ogonek-based diacritics.
  - Refinements and improvements to fractions (both dedicated glyphs and
    arbitrary frac parts)
  - Kerning improvements to all weights
  - Progress on mark and mkmk “dynamic diacritics”

v3.9
@rsms rsms released this Aug 7, 2019 · 58 commits to master since this release

Fixes an issue with metadata where Medium, Semi Bold, and Extra Bold would
incorrectly be marked as “italic” which would confuse certain software.

v3.8
@rsms rsms released this Aug 5, 2019 · 62 commits to master since this release

  - Possibly breaking change: Variable italic axis (really, slnt axis) has been
    inverted (negated) — a negative value causes the text to lean rightwards.
    This is only a breaking change if you are using the multi-axis variable
    font (Inter.var) and define slant angle using high-level CSS properties
    like font-style. This change was done to comply with the convention defined
    in the OpenType spec. #175 #172
  - Variable font files are now significantly smaller thanks to #171 and #169
      □ Inter.var.woff2 v3.7: 393kB, v3.8: 306kB
      □ Inter-upright.var.woff2 v3.7: 267kB, v3.8: 224kB
      □ All this while v3.8 introduces a whole new set of glyphs, kerning and
        feature code.
  - Adds several new glyphs, like double-stemmed arrows and enclosed
    alphanumerics & symbols
      □ Warning sign #168
      □ Copyleft symbol #165
      □ Really long arrows, useful in ligatures like --->
      □ Arrows with double-lined stems, useful for “assign to”, with ligatures
        defined for some combinations with equals, e.g. =>
      □ Enclosed glyphs in circles and squares
  - Fixes a bug where U+0430 Cyrillic lower-case a would not be substituted for
    a single-storey “a” with cv11 enabled. #179
  - Fixes a bug with slant of Ͽ (U+03FF) #170 #169
  - Some calt code has moved to liga (standard ligatures), specifically arrow
    ligatures. Automatic case alignment is still kept in calt. So, you can now
    disable calt to disable only case alignment, and disable liga to only
    disable arrow ligatures.
  - Improvements to kerning, spacing and letterform details
  - Improved Microsoft Windows installation instructions #173

v3.7
@rsms rsms released this May 31, 2019 · 103 commits to master since this
release

  - Fixes an issue with spacing to the right of capital "M"
  - Improves positioning of various bullet glyphs
  - Improved kerning
  - new copyright glyph U+00A9
  - new published (aka sound recording copyright) glyph U+2117
  - new registered sign glyph U+00AE
  - release now contains installation instructions for Linux

v3.6
@rsms rsms released this May 27, 2019 · 123 commits to master since this
release

  - Fixes an issue related to ttfautohint where lower case "r" would be grid
    fitted incorrectly by ClearType on Microsoft Windows #119
  - Fixes an issue with using case and calt features in combination where arrow
    combinations like -> would not be substituted by arrow glyphs #161
  - Fixes an issue with rightArrow of bolder weights in italic #154
  - Adjusts the glyph width of "bullet" to be exactly two "space" glyphs wide,
    allowing easy ad-hoc list creation with wrapping lines
  - Improved kerning for a.1 (alternate single-storey "a")

v3.5
@rsms rsms released this Apr 2, 2019 · 139 commits to master since this release

This is a very small incremental change from v3.4 that mainly contains improved
metrics metadata for some macOS applications, improving vertical alignment.

v3.4
@rsms rsms released this Apr 1, 2019 · 144 commits to master since this release

Lots of changes in this release.

Highlights include:

  - Workaround for bug with some Apple software (including Sketch) where the
    computed line height of the Regular weight would be too tall
  - Several new symbol glyphs, especially in the technical area (e.g. computer
    keyboard symbols)
  - Single-storey a
  - Lots of improvements to diacritics

Some interesting commits since v3.3:

  - 9084323 slight increase of slant of /numbersign
  - e903526 remove slant from /degree
  - c130c69 misc documentation on variable font usage
  - 794662c fixes issues with calt substitution ignore rule
  - 1abaae4 fixes issue with shapes of a.1
  - aa2a3fe adds single-storey a
  - e605458 fix issue with x paths and adds blackstar U+2605, whitestar U+2606
  - ccc994e swap one <-> one.ss01
  - 3b9675e improvements to calt and arithmetic glyphs (e.g. plus, multiply,
    etc.)
  - 56e2c75 Swaps r.1 <-> r + rips out calt r.1 code + adds ss03 for "r curves
    into corund neighbors"
  - dddf6d2 Fixes kerning of pair /v/idotless -- closes #143
  - 1dbc8fd Change vertical metrics to make Apple ATS work properly. New
    ascender value: 2728, new descender value: -680
  - e1d8712 reworked commaaccent
  - fb79b9e Use vert metrics script to fix line heights issue #124 (#141)
  - 3488601 Adds 'Version ' prefix to nameID 5 version string, per MS OT spec (
    #140)
  - 70f3df7 Fixup STAT tables of single-axis variable fonts to aid desktop apps
    (style linking). Related to #142
  - 35a2362 Adds --name option to "fontbuild compile-var" for customizing
    family name, useful for producing variable font files with a different name
    than the constant files so they can be installed alongside each other.
    Closes #144
  - 20aaab6 Change version encoding in font files to match common zero-padded
    version to allow FontBakery to be happy. Closes #138
  - 1208ea9 adds returnsymbol U+23CE
  - 610b997 Adds several "technical" glyphs
  - a503c5a Adds glyphs leftHookArrow, upWhiteArrow, upBlackArrow, control,
    option, deleteleft, deleteright
  - 9f176ab improved placeofinterestsign U+2318
  - 0b8f63c Fix and improve paths (mostly order) of several glyphs
  - 6cf0980 redraws and adds paragraphreversed, blackleftbullet,
    blackrightbullet and .case versions
  - a1a1288 redrawn seagullsubnosp U+033C (also fixes bad paths)
  - 181ba19 fixes paths of uni0346 (COMBINING BRIDGE ABOVE)
  - 528f843 improvements to grave, acute, dblgrave and tonos diacritics
  - 6ef7b3e disable exporting of debug glyph uniE001
  - 162519e update panose metadata
  - 034a240 fixes missing "-BETA" filename suffix in the demo CSS file included
    with dists
  - a99328b Upgrade toolchain. glyphsLib 3.2.0b2 -> 3.2.0; fontmake 1.8.0 ->
    1.9.1
  - a0af904 workaround for bug in Safari where contextual sub in liga causes
    kerning to fail. Moves "r" ligature to calt to work around this bug.

v3.3
@rsms rsms released this Feb 4, 2019 · 203 commits to master since this release

Inter UI is now called simply Inter, without the "UI" part.

  - New name
  - Lots of diacritic improvements
  - Beta-grade light styles are now suffixed " BETA" to make it extra clear
    that these are in development
  - Many many changes; several new glyphs, lots of redrawn glyphs, lots of
    kerning improvements, etc.

v3.2
@rsms rsms released this Jan 4, 2019 · 276 commits to master since this release

  - Now includes lighter weights ([100–400); which are of beta quality and
    needs testing)
  - Lots of improvements to other weights (diacritics, glyph shapes, kerning,
    etc.)

This release is a big one in terms of source changes, adding up to 14,117
changed files with 714,886 additions and 259,287 deletions, since v3.1.

PDF glyph charts:

  - Inter-UI-Thin-BETA-glyphs.pdf
  - Inter-UI-ThinItalic-BETA-glyphs.pdf
  - Inter-UI-Regular-glyphs.pdf
  - Inter-UI-Italic-glyphs.pdf
  - Inter-UI-Black-glyphs.pdf
  - Inter-UI-BlackItalic-glyphs.pdf
jperkin pushed a commit that referenced this issue Jan 8, 2020
Changes:
1.26.1
------
 - build system: Install the "implicitclass" backend with
   "-rwx------" permissions, so that CUPS executes it as root,
   as the "ipp" CUPS backend also has to be executed as root
   (Issue #183).
 - build system: Fixed setting permissions when installing the
   "cups-brf" backend.
 - libcupsfilters: When using the
   "media-{bottom,left,right,top}-margin-supported" IPP
   attributes (needed if we have no "media-col-database"), use
   the minimum and not the maximum margins, this allows
   accessing more of the printer's capabilities, especially for
   legacy printers which do not provide sufficient information
   (Issue #22).

1.26.0
------
 - cups-browsed: When generating local queues for printers for
   which the local CUPS daemon would provide temporary queues
   use the PPDs generated by libcupsfilters and not the ones
   generated by CUPS. The PPD generation of libcupsfilters also
   works with IPP-1.x-only printers, printers which do not
   support to query "media-col-database" and printers which
   support driverless printing only via PCLm. This can be
   changed via the "UseCUPSGeneratedPPDs" directive in
   cups-browsed.conf (Issue #22).
 - libcupsfilters: Re-structured the get_printer_attributes()
   function to remove the recursive calls for the fallbacks, to
   check required attributes in the response only if requested,
   and to fully integrate the method of getting a suitable
   response for a full printer capability list also if the
   printer is only IPP 1.1 or does not support the
   "media-col-database" attribute (Issue #22, Issue #163).
 - libcupsfilters, cups-browsed, driverless: Moved the funtions
   get_printer_attributes() and resolve_uri() from cups-browsed
   into libcupsfilters, to share them with the driverless
   utility (Issue #22).
 - implicitclass: Fixed wrong stdout redirection from the
   filters to the IPP backend and hard-coded path for "ipp"
   backend call (Possible fix for Issue #163, Issue #181).
 - cups-browsed, driverless: Use DNS-SD-service-name-based URIs
   instead of host-name-based ones, as CUPS also does. In
   cups-browsed one can switch back to the conventional
   host-name-based URIs via the new "DNSSDBasedDeviceURIs"
   configuration option.  Note that cups-browsed always uses
   conventional URIs for printers discovered via legacy CUPS
   browsing or LDAP.
 - cups-browsed: When removing a CUPS queue, do not consider an
   error (and retry) if the queue does not actually exist. Also
   ignore errors when checking whether there are still
   jobs. This way when a new queue gets created and the
   generation of the PPD file fails the attempt to remove this
   non-existing queueu when removing the printer entry does not
   cause any problem.
 - cups-browsed: Improved the fallback mechanism of the
   get_printer_attributes() function. Instead of considering
   the request failed by the content of the response only when
   not more than the two language atrributes come out, we check
   through a list of required attributes whether they are all
   there.  In addition, we actually fail when all callbacks
   have failed (Issue #22).
 - cups-browsed: Introduced new configuration options
   "UpdateCUPSQueuesMaxPerCall" and
   "PauseBetweenCUPSQueueUpdates" to limit the amount of local
   CUPS queues created, modified, or removed in a single event
   callback. Before, when there were thousands of printers in
   the network, cups-browsed got blocked for other tasks, like
   assigning a destination printer for a cluster print job
   (Issue #163).

1.25.13
-------
 - implicitclass: When passing on the job via the "ipp" CUPS
   backend, set argv[0] to the destination printer URI (Pull
   request #173).
 - cups-browsed: Added another fallback to the
   get-printer-attributes IPP request: Now after failing the
   standard request ("all", "media-col-database") with both IPP
   2.0 and IPP 1.1, try simply "all", without
   "media-col-database" (Pull request #173).
 - cups-browsed: Do not set printer-is-shared for remote CUPS
   queue when making a temporary queue permanent (Pull request
   #180).
 - cups-browsed: Fix leaks of ipp_t struct and load balancing
   on the servers (Pull request #179).
 - cups-browsed, implicitclass: Prioritize Apple Raster against
   PWG Raster when selecting the PDL for the destination
   printer for a job sent to a cluster, also cleaned up the PDL
   selector code and added PostScript support.
 - libcupsfilters: Updated the PPD generator adding all changes
   of the PPD generator of CUPS: Support for "job-account-id",
   "job-accounting-user-id", "job-password", finishing options
   "trim-..." added, finishing options and
   "finishing-col-database" support synced with CUPS.
 - libcupsfilters: In the PPD generator get the mode for
   handling the back sides of the sheets when printing duplex
   preferrably from the "urf-supported" attribute.
 - libcupsfilters: Fixed bug that the PPD generator did not
   output the "*CloseUI: *ColorModel" line when it did not
   determine a default setting for "ColorModel".
 - cups-browsed: Added some missing memory allocations leading
   to a segfault (Issue #175).

1.25.12
-------
 - libcupsfilters: Use the text names "Draft", "Normal", and
   "High" instead of 3, 4, and 5 as choice names for the
   "cupsPrintQuality" option as CUPS does (Issue #171).
 - libcupsfilters: If a printer supports both Apple Raster and
   PWG Raster let the generated PPD use Apple Raster as there
   are several printers which report PWG Raster support but do
   not actually print PWG Raster (Pull reguest #168, Issue
   #171, CUPS issue #5238).
 - cups-browsed: Fix unset location check to use DNS-SD field
   (Pull request #172).
 - libcupsfilters, beh, implicitclass, foomatic-rip,
   imagetopdf, mupdftoraster, pdftops, sys5ippprinter,
   cups-browsed, driverless: Silenced all compiler warnings to
   make the build process of cups-filters completely free of
   warnings.
 - pdftops: Fixed crash when using filter without PPD file.
 - pdftops: If printing grayscale jobs with Ghostscript as PDF
   renderer, add "-sProcessColorModel=DeviceGray" to
   Ghostscript command line.
 - pdftops: Do not use the ugly "pdftops -level1 ..."
   workaround to get grayscale PostScript output from
   Poppler. It leads to huge output files with Poppler's
   "pdftops" utility and does not work at all with
   "pdftocairo".  Poppler itself does not support PostScript
   output converted to grayscale. Issue a warning with the hint
   to use Ghostscript or MuPDF as PDF renderer (Issue #169).
 - libcupsfilters: In the cupsRasterParseIPPOptions()
   accept also "Mono", "Monochrome", and "Gray" as color
   space names.
jperkin pushed a commit that referenced this issue Jan 11, 2020
1.0.15.1
* Remove whitespace after @ in as-patterns for GHC HEAD #186

1.0.15.0
* Added toNonEmpty to Data.NonNull #185

1.0.14.0
* Added WrappedMono to Data.MonoTraversable #182

1.0.13.0
* Added WrappedPoly to Data.MonoTraversable #180

1.0.12.0
* Added filterSet to Data.Containers
* Use container specific implementations for filterSet and filterMap
  #178

1.0.11.0
* Adding monomorphic instances for GHC.Generics and Data.Proxy types
  #175

1.0.10.0
* Make index work on negative indices #172 #114

1.0.9.0
* Added filterMap to Data.Containers #167
jperkin pushed a commit that referenced this issue Feb 6, 2020
v3.3.1      Mon Jan 13 10:27:16 CST 2020
========================================
[FIXES]
Some regexes would be shown as invalid when used with the -Q option.  Since
the -Q tells ack to treat the regex as a literal, this shouldn't be
possible.  (GH#294)


v3.3.0      Sat Dec 28 16:00:21 CST 2019
========================================
[FEATURES]
The error message ack displays when the regex passed is invalid has been
improved.  The message is more readable and includes a pointer to the
offending part of the regex.  For example:

    $ ack 'status: (open|closed|in progress'
    ack: Invalid regex 'status: (open|closed|in progress'
    Regex: status: (open|closed|in progress
                   ^---HERE Unmatched ( in regex

Added many new file and directory exclusions to speed up file selection.
* Python's *.pyc, *.pyd and *.pyo compiled files
* Python's __pycache__ and .pytest_cache directories
* Linux *.so shared object files
* Windows dynamic-link library *.dll files
* gettext compiled *.mo translation files
* macOS's __MACOSX directories and .DS_Store files

Reorganized the --help menu to put "action" options like -f, -g and -l at
the top of the listing.

The --show-types option only has an effect with -f or -g.  ack will now
tell you if you use --show-types without -f or -g when it will have no
effect.

Improved the error message when ack gets passed two options that can't be
used together.


[FIXES]
Fixed the behavior of --break and --heading.  Using --break would
implicitly set --noheading, and --heading would implicitly set --nobreak.

The following pairs of options don't make sense to use together, and ack will now warn you if you try:

* -x and --files-from
* -v and -o
* -v and --output
* -v and --passthru

Fixed the minimum version of the Getopt::Long module required. (GH #287)

The line number and filename separators in --passthru mode now work the
same as in context (-A/-B/-C) mode.  (GH #291)


v3.2.0      Sun Nov  3 22:52:18 CST 2019
========================================
[FEATURES]
Added "-t X" as a short alias for --type=X.

Added "-T X" as a short alias for --type=noX.

The feature of using the name of the type as an option is deprecated.  For
example, ack currently lets you use "--perl" instead of "--type=perl" or
"-t perl",  This is now deprecated and will be removed in a future release.

Removed support for Parrot (--parrot).


v3.1.3      Sat Oct 19 19:23:48 CDT 2019
========================================
No changes to functionality.  Fixed a problem with version numbers.
Thanks to Dan Book for his help.
See beyondgrep/ack3@b3c43d4


v3.1.2      Mon Oct 14 21:47:51 CDT 2019
========================================
[SPEEDUP]
Using -w with a pattern that ended with a metacharacter would be slower
than it should be because it would skip an optimization. Now it's fixed.
(GH #181, #251)

[FIXES]
Fixed test failures that would sometimes happen on Windows machines because
of taint mode.  Thanks, Tomasz Konojacki. (GH #235)

Remove the use of the version.pm module.


v3.1.1      Sat Aug 31 22:56:10 CDT 2019
========================================
[SPEEDUP]
Improved the speed up the -l, -L and -c options by pre-scanning the file
in bulk before doing line-by-line scan. (GH #221)

ack now uses File::Next 1.18 which calls stat() only once per file or
directory, instead of sometimes calling it twice.  This should improve the
time spent traversing directories.

[FIXES]
On Windows, patterns with $ to mark the end of the line would not match.
(GH #229)

[DOCUMENTATION]
Fixed docs that referred to --range-stop instead of --range-end. (GH #228)


v3.1.0      Thu Aug 22 22:43:15 CDT 2019
========================================
[FEATURES]
Added the --range-start and --range-end options to allow searching only
ranges of each file. (GH #165)


v3.0.3      Tue Aug 20 23:42:02 CDT 2019
========================================
[FIXES]
Made smartcase's check for lowercase patterns smarter.

[DOCUMENTATION]
Updated many URLs, especially in the config. (GH #223)


v3.0.2      Thu Jul  4 21:42:43 CDT 2019
========================================
[FIXES]
ack's smart-case feature would think that a pattern like "select \S+ from"
is looking for a uppercase letter, and so would not make a case-insensitive
search.  Now, ack knows that uppercase letters in metacharacters don't
count as looking for a uppercase letter. (GH #156, 187, 214)


v3.0.1      Tue Jun 25 20:47:58 CDT 2019
========================================
[FIXES]
The -s option tells ack not to complain about missing or unreadable files
it tries to search.  The -s option would not always work in conjection with
the -x option.  Now it does.  Thanks, Anders Eriksson and M. Scott Ford.
(GH #175)

ack would die if you specified a --output option that didn't use one
of Perl's special match variables.  Now it won't.  Thanks, M. Scott
Ford. (GH #210)

[INTERNALS]
Added a Dockerfile for use when working on ack development.  Thanks,
M. Scott Ford. (GH #208)


v3.0.0      Mon May 27 21:46:34 CDT 2019
========================================
First official release of ack verison 3.

See "Release notes for ack 3.0.0" at the bottom of this document for
details of what has changed between ack 2.x and ack 3.

[FIXES]
Fixed a failing test if Pod::Perldoc::ToTextOverstrike was being
used. (GH#202)


2.999_08 Sun May 19 20:33:13 CDT 2019
=====================================
[ENHANCEMENTS]
Consolidated the manual and FAQ into one document, accessible with --man.
Cookbook.pm has been moved to dev for future use.

Added SVG filetype.

[FIXES]
Invalid options used to cause an error message triplicate. Fixes GH #192.


2.999_07 Sun Mar 31 21:54:55 CDT 2019
=====================================
[ENHANCEMENTS]
Added --help-colors and --help-rgb-colors options to display colors
available for color options.

Many more mutex options have been added to help users know when they've
made a mistake.  For example, it doesn't make sense to have -C to show
context when using -f to get a file list.

Overhauled the handling of mutually exclusive options.  We now properly
handle mutex options even if they are abbreviated.  The actual argument
used is now shown.  Fixes GH #57.


2.999_06 Thu Jan 10 20:37:23 CST 2019
=====================================
[ENHANCEMENTS]
The --tt option for Template Toolkit is now --ttml.  The short version
still works.

The standalone version of ack no longer supports the --faq or --cookbook
options, which never worked right for it anyway.  Instead, --man includes
the FAQ and Cookbook.

The --man option no longer uses the `perldoc` program for rendering the
documentation.  This means you'll have to pipe it into your own pager if
you want scrolling, but it makes it much more portable.

[FIXES]
ack would stop finding files if there was a file named "0" in the current
directory. Thanks, Rob Hoelz. (GH #162)

[REMOVED FUNCTIONALITY]
The --lines option has been removed. (GH #167)

The -u short alias for --underline has been removed. (GH #173)


2.999_05 Sun Oct 21 21:37:39 CDT 2018
=====================================
[ENHANCEMENTS]
Add -p as a shorter version of --proximate.


2.999_04 Thu Sep  6 17:45:07 CDT 2018
=====================================
[ENHANCEMENTS]
Added -P as a negation of --proximate.  It is the same as --proximate=0.
If you have --proximate in an .ackrc, -P can be used to cancel it.

Added --ts for Typescript.


2.999_03 Fri Jan 19 11:02:46 CST 2018
=====================================
[ENHANCEMENTS]
The check for whether we need to scan the entire file line-by-line now
reads 10M of file instead of just 100K.

Removed support for the ACK_OPTIONS environment variable.  Use an ackrc
file instead.  If you have ACK_OPTIONS set, ack will give a warning.

Lots of internal speedups.


2.999_02 Mon Jan  8 23:03:42 CST 2018
=====================================
[ENHANCEMENTS]
Added an optimization to make ack only do a line-by-line search of a
file if there's a match somewhere in the file.  This gives ack a 20-30%
in timings of common cases.


2.999_01 Mon Jan  1 22:11:17 CST 2018
=====================================
[ENHANCEMENTS]
Added --pod as a filetype, recognizing .pod as its extension.  This is
Perl's POD (Plain Old Documentation) format.

Added --markdown as a filetype, recognizing .md and .markdown as
extensions.

--pager is no longer allowed in a project .ackrc file.  --match and
--output are not allowed in any .ackrc file.

ack 3's new features are listed below for now.

[FIXES]
--lines had some mutex options that were not getting checked.  Now,
--lines is mutex with --passthru, --match and all context options.


=============================
# Release notes for ack 3.0.0
=============================

# New features

ack 3 is a greplike tool optimized for searching large code trees.

Improvements over ack 2 include:

* Improved `-w` option.

* `-w` option will warn if your pattern does not lend itself to
word matching.

* `-i`, `-I` and `--smart-case`

* `--proximate=N` option

* Added `--pod` and `--markdown`.

* Added `GNUmakefile` to the list of makefile specs.

* Added `-S` as a synonym for `--smart-case`.

# Bug fixes

* Column numbers were not getting colorized in the output.  Added
`--color-colno` option and `ACK_COLOR_COLNO` environment variable.

* A pattern that wanted whitespace at the end could match the
linefeed at the end of a line.  This is no longer possible.

# Incompatibilities with ack 2

## ack 3 requires Perl 5.10.1

ack 2 only needed Perl 5.8.8.  This shouldn't be a problem since 5.10.1
has been out since 2009.

## ack 3 no longer highlights capture groups.

ack 2 would highlight your capture groups.  For example,

    ack '(set|get)_foo_(name|id)'

would highlight the `set` or `get`, and the `name` or `id`, but not the
full `set_user_id` that was matched.

This feature was too confusing and has been removed.  Now, the entire
matching string is highlighted.

## ack 3's --output allows fewer special variables

In ack 2, you could put any kind of Perl code in the `--output`
option and it would get `eval`uated at run time, which would let
you do tricky stuff like this gem from Mark Fowler
(http://www.perladvent.org/2014/2014-12-21.html):

    ack --output='$&: @{[ eval "use LWP::Simple; 1" && length LWP::Simple::get($&) ]} bytes' \
                    'https?://\S+' list.txt
    http://google.com/: 19529 bytes
    http://metacpan.org/: 7560 bytes
    http://www.perladvent.org/: 5562 bytes

This has been a security problem in the past, and so in ack 3 we
no longer `eval` the contents of `--output`.  You're now restricted
to the following variables: `$1` thru `$9`, `$_`, `$.`, `$&`, ``$` ``,
`$'` and `$+`.  You can also embed `\t`, `\n` and `\r` ,
and `$f` as stand-in for `$filename` in `ack2 --output` .
@liv3010m
Copy link

liv3010m commented Mar 6, 2020

Hi there,

I'm having the same problem:

2020-03-06 11:25:09 ERROR (MainThread) [homeassistant.setup] Error during setup of component zeroconf
Traceback (most recent call last):
File "/opt/homeassistant/lib/python3.7/site-packages/homeassistant/setup.py", line 174, in _async_setup_component
component.setup, hass, processed_config # type: ignore
File "/opt/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/opt/homeassistant/lib/python3.7/site-packages/homeassistant/components/zeroconf/__init__.py", line 42, in setup
zeroconf = Zeroconf()
File "/opt/homeassistant/lib/python3.7/site-packages/zeroconf/__init__.py", line 2134, in __init__
interfaces, unicast, ip_version, apple_p2p=apple_p2p
File "/opt/homeassistant/lib/python3.7/site-packages/zeroconf/__init__.py", line 2056, in create_sockets
interfaces = normalize_interface_choice(interfaces, ip_version)
File "/opt/homeassistant/lib/python3.7/site-packages/zeroconf/__init__.py", line 1922, in normalize_interface_choice
result.extend(get_all_addresses())
File "/opt/homeassistant/lib/python3.7/site-packages/zeroconf/__init__.py", line 1844, in get_all_addresses
for iface in ifaddr.get_adapters()
File "/opt/homeassistant/lib/python3.7/site-packages/ifaddr/_posix.py", line 44, in get_adapters
retval = libc.getifaddrs(ctypes.byref(addr))
File "/opt/local/lib/python3.7/ctypes/__init__.py", line 377, in __getattr__
func = self.__getitem__(name)
File "/opt/local/lib/python3.7/ctypes/__init__.py", line 382, in __getitem__
func = self._FuncPtr((name_or_ordinal, self))
AttributeError: ld.so.1: python3.7: fatal: getifaddrs: can't find symbol

@sjorge
Copy link
Author

sjorge commented Mar 6, 2020

IIRC you can patch /opt/homeassistant/lib/python3.7/site-packages/ifaddr/_posix.py to use libsocket instead of libc and it works.

@sjorge
Copy link
Author

sjorge commented Mar 6, 2020

Also see ifaddr/ifaddr#23

@liv3010m
Copy link

liv3010m commented Mar 6, 2020

Thanks @sjorge!

jperkin pushed a commit that referenced this issue 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 issue Mar 25, 2020
Update ruby-puppet-resource_api to 1.8.12.

## [1.8.7](https://github.com/puppetlabs/puppet-resource_api/tree/1.8.7) (2019-09-11)
[Full Changelog](puppetlabs/puppet-resource_api@1.8.6...1.8.7)

**Fixed bugs:**

- \(FM-8092\) Fix caching scope of transport schemas [\#200](puppetlabs/puppet-resource_api#200) ([DavidS](https://github.com/DavidS))

**Merged pull requests:**

- \(FM-8485\) - Addition of CODEOWNERS file [\#203](puppetlabs/puppet-resource_api#203) ([david22swan](https://github.com/david22swan))
- \(MODULES-9258\) Improve referencing and add summary [\#199](puppetlabs/puppet-resource_api#199) ([MaxMagill](https://github.com/MaxMagill))
- \(maint\) Pin both Jruby cells to use `dist: trusty` [\#197](puppetlabs/puppet-resource_api#197) ([da-ar](https://github.com/da-ar))

## [v1.8.6](https://github.com/puppetlabs/puppet-resource_api/tree/v1.8.6) (2019-07-01)
[Full Changelog](puppetlabs/puppet-resource_api@1.8.5...v1.8.6)

**Implemented enhancements:**

- \(SERVER-2470\) list\_all\_transports implementation for puppetserver [\#187](puppetlabs/puppet-resource_api#187) ([DavidS](https://github.com/DavidS))

**Fixed bugs:**

- \(MODULES-9428\) make the composite namevar implementation usable [\#174](puppetlabs/puppet-resource_api#174) ([DavidS](https://github.com/DavidS))

**Merged pull requests:**

- Merge 1.6.x [\#194](puppetlabs/puppet-resource_api#194) ([da-ar](https://github.com/da-ar))
- \(maint\) test fixes [\#193](puppetlabs/puppet-resource_api#193) ([DavidS](https://github.com/DavidS))
- \(packaging\) Revert to version '1.8.5' \[no-promote\] [\#192](puppetlabs/puppet-resource_api#192) ([gimmyxd](https://github.com/gimmyxd))
- \(packaging\) Bump to version '1.9.0' \[no-promote\] [\#191](puppetlabs/puppet-resource_api#191) ([gimmyxd](https://github.com/gimmyxd))

## [1.8.5](https://github.com/puppetlabs/puppet-resource_api/tree/1.8.5) (2019-06-24)
[Full Changelog](puppetlabs/puppet-resource_api@1.8.4...1.8.5)

**Fixed bugs:**

- \(maint\) Mergeup 1.6.x: FM-7839, desc/docs cleanup [\#186](puppetlabs/puppet-resource_api#186) ([DavidS](https://github.com/DavidS))

**Merged pull requests:**

- \(maint\) reduce debug noise caused by `feature?` [\#189](puppetlabs/puppet-resource_api#189) ([da-ar](https://github.com/da-ar))
- \(FM-8265\) Merge branch '1.6.x' into master [\#188](puppetlabs/puppet-resource_api#188) ([da-ar](https://github.com/da-ar))
- \(maint\) test fixes [\#185](puppetlabs/puppet-resource_api#185) ([DavidS](https://github.com/DavidS))
- \(maint\) make test order really random [\#175](puppetlabs/puppet-resource_api#175) ([DavidS](https://github.com/DavidS))
- \(packaging\) Update reported version to 1.8.4 \[no-promote\] [\#171](puppetlabs/puppet-resource_api#171) ([gimmyxd](https://github.com/gimmyxd))

## [1.8.4](https://github.com/puppetlabs/puppet-resource_api/tree/1.8.4) (2019-06-12)
[Full Changelog](puppetlabs/puppet-resource_api@1.8.3...1.8.4)

**Implemented enhancements:**

- \(FM-7839\) Implement `to\_json` method for ResourceShim [\#168](puppetlabs/puppet-resource_api#168) ([da-ar](https://github.com/da-ar))

**Fixed bugs:**

- \(maint\) backport minor fixes from master to 1.6.x [\#184](puppetlabs/puppet-resource_api#184) ([DavidS](https://github.com/DavidS))
- \(PUP-9747\) Relax validation for bolt [\#182](puppetlabs/puppet-resource_api#182) ([DavidS](https://github.com/DavidS))
- \(maint\) Add to\_hash function to resourceShim for compatibility [\#180](puppetlabs/puppet-resource_api#180) ([da-ar](https://github.com/da-ar))
- \(maint\) implement `desc`/`docs` fallback [\#177](puppetlabs/puppet-resource_api#177) ([DavidS](https://github.com/DavidS))

**Closed issues:**

- ResourceShim should respond to to\_hash [\#179](puppetlabs/puppet-resource_api#179)

**Merged pull requests:**

- \(maint\) Merge 1.6.x to master  [\#183](puppetlabs/puppet-resource_api#183) ([mihaibuzgau](https://github.com/mihaibuzgau))
- \(maint\) Fixup Gemfile for JRuby 1.7 installs [\#173](puppetlabs/puppet-resource_api#173) ([da-ar](https://github.com/da-ar))
- \(maint\) test cleanups [\#172](puppetlabs/puppet-resource_api#172) ([DavidS](https://github.com/DavidS))

## [1.8.3](https://github.com/puppetlabs/puppet-resource_api/tree/1.8.3) (2019-04-12)
[Full Changelog](puppetlabs/puppet-resource_api@1.8.2...1.8.3)

**Fixed bugs:**

- \(FM-7867\) Always throw when transport schema validation fails [\#169](puppetlabs/puppet-resource_api#169) ([da-ar](https://github.com/da-ar))

**Merged pull requests:**

- \(PA-2496\) Bump version and remove v from version number [\#170](puppetlabs/puppet-resource_api#170) ([mihaibuzgau](https://github.com/mihaibuzgau))

## [1.8.2](https://github.com/puppetlabs/puppet-resource_api/tree/1.8.2) (2019-04-10)
[Full Changelog](puppetlabs/puppet-resource_api@v1.6.4...1.8.2)

**Merged pull requests:**

- \(packaging\) Update reported version to 1.8.2 \[no-promote\] [\#167](puppetlabs/puppet-resource_api#167) ([mihaibuzgau](https://github.com/mihaibuzgau))

## [v1.6.4](https://github.com/puppetlabs/puppet-resource_api/tree/v1.6.4) (2019-03-25)
[Full Changelog](puppetlabs/puppet-resource_api@v1.8.1...v1.6.4)

**Merged pull requests:**

- Add `implementations` to reserved bolt keywords [\#165](puppetlabs/puppet-resource_api#165) ([DavidS](https://github.com/DavidS))
- \(MAINT\) Bump version [\#164](puppetlabs/puppet-resource_api#164) ([sebastian-miclea](https://github.com/sebastian-miclea))
- Release prep for v1.8.1 [\#163](puppetlabs/puppet-resource_api#163) ([DavidS](https://github.com/DavidS))

# Changelog

All significant changes to this repo will be summarized in this file.


## [v1.8.1](https://github.com/puppetlabs/puppet-resource_api/tree/v1.8.1) (2019-03-13)
[Full Changelog](puppetlabs/puppet-resource_api@v1.8.0...v1.8.1)

**Fixed bugs:**

- \(maint\) Fixes sensitive transport values where absent keys are wrapped [\#161](puppetlabs/puppet-resource_api#161) ([da-ar](https://github.com/da-ar))

**Merged pull requests:**

- 1.6.x mergeup [\#162](puppetlabs/puppet-resource_api#162) ([DavidS](https://github.com/DavidS))
- \(FM-7829\) Update README with transports examples [\#160](puppetlabs/puppet-resource_api#160) ([willmeek](https://github.com/willmeek))
- \(maint\) update release docs [\#159](puppetlabs/puppet-resource_api#159) ([DavidS](https://github.com/DavidS))
- Improve travis cells and testing [\#145](puppetlabs/puppet-resource_api#145) ([DavidS](https://github.com/DavidS))

## [v1.8.0](https://github.com/puppetlabs/puppet-resource_api/tree/v1.8.0) (2019-02-26)
[Full Changelog](puppetlabs/puppet-resource_api@v1.7.0...v1.8.0)

**Implemented enhancements:**

- \(FM-7695\) Transports - the remote content framework [\#157](puppetlabs/puppet-resource_api#157) ([DavidS](https://github.com/DavidS))
- \(FM-7698\) implement `sensitive:true` handling [\#156](puppetlabs/puppet-resource_api#156) ([da-ar](https://github.com/da-ar))
- \(PDK-1271\) Allow a transport to be wrapped and used like a device [\#155](puppetlabs/puppet-resource_api#155) ([da-ar](https://github.com/da-ar))
- \(FM-7701\) Support device providers when using Transport Wrapper [\#154](puppetlabs/puppet-resource_api#154) ([da-ar](https://github.com/da-ar))
- \(FM-7726\) implement `context.transport` to provide access [\#152](puppetlabs/puppet-resource_api#152) ([DavidS](https://github.com/DavidS))
- \(FM-7674\) Allow wrapping a Transport in a legacy Device [\#149](puppetlabs/puppet-resource_api#149) ([da-ar](https://github.com/da-ar))
- \(FM-7600\) Add Transport.connect method [\#148](puppetlabs/puppet-resource_api#148) ([da-ar](https://github.com/da-ar))

**Fixed bugs:**

- \(FM-7690\) Fix transports cache to be environment aware [\#151](puppetlabs/puppet-resource_api#151) ([da-ar](https://github.com/da-ar))

**Merged pull requests:**

- \(FM-7726\) cleanups for the transport  [\#153](puppetlabs/puppet-resource_api#153) ([DavidS](https://github.com/DavidS))
- \(FM-7691,FM-7696\) refactoring definition handling in contexts [\#150](puppetlabs/puppet-resource_api#150) ([DavidS](https://github.com/DavidS))

## [v1.7.0](https://github.com/puppetlabs/puppet-resource_api/tree/v1.7.0) (2019-01-07)
[Full Changelog](puppetlabs/puppet-resource_api@v1.6.3...v1.7.0)

**Implemented enhancements:**

- \(maint\) Validate Type Schema [\#142](puppetlabs/puppet-resource_api#142) ([da-ar](https://github.com/da-ar))

**Merged pull requests:**

- \(maint\) Bundler 2.0 dropped support for Ruby versions \< 2.2 [\#147](puppetlabs/puppet-resource_api#147) ([da-ar](https://github.com/da-ar))
-  \(FM-7597\) RSAPI Transport register function [\#146](puppetlabs/puppet-resource_api#146) ([da-ar](https://github.com/da-ar))
- \(packaging\) Update version to 1.7.0 [\#144](puppetlabs/puppet-resource_api#144) ([branan](https://github.com/branan))

## [v1.6.3](https://github.com/puppetlabs/puppet-resource_api/tree/v1.6.3) (2018-12-11)
[Full Changelog](puppetlabs/puppet-resource_api@v1.6.2...v1.6.3)

**Closed issues:**

- Trying to understand stubbing in the examples [\#136](puppetlabs/puppet-resource_api#136)

**Merged pull requests:**

- \(packaging\) Update version to 1.6.3 [\#143](puppetlabs/puppet-resource_api#143) ([branan](https://github.com/branan))
- Move parameter and property logic to separate classes [\#140](puppetlabs/puppet-resource_api#140) ([bpietraga](https://github.com/bpietraga))
- \(maint\) Predeclare Puppet module before ResourceApi [\#139](puppetlabs/puppet-resource_api#139) ([caseywilliams](https://github.com/caseywilliams))
- \(maint\) minor fix to make data\_type\_handling change work [\#138](puppetlabs/puppet-resource_api#138) ([DavidS](https://github.com/DavidS))
- \(maint\) extract data type handling code [\#137](puppetlabs/puppet-resource_api#137) ([bpietraga](https://github.com/bpietraga))
- Release prep for v1.6.2 [\#135](puppetlabs/puppet-resource_api#135) ([DavidS](https://github.com/DavidS))
jperkin pushed a commit that referenced this issue 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 issue Feb 13, 2021
Changes:
1.0.0
=====
This is the last release that will support Python 2.7. Thanks to the
many contributors that made this release possible!

Main changes
------------
- Added support for Python 3.8 and 3.9.
- StatefulBrowser has new properties page, form, and url, which can be
  used in place of the methods get_current_page, get_current_form and
  get_url respectively (e.g. the new x.page is equivalent to
  x.get_current_page()). These methods may be deprecated in a future
  release. [#175]
- StatefulBrowser.form will raise an AttributeError instead of
  returning None if no form has been selected yet. Note that
  StatefulBrowser.get_current_form() still returns None for backward
  compatibility.

Bug fixes
---------
- Decompose <select> elements with the same name when adding a new
  input element to a form. [#297]
- The params and data kwargs passed to submit will now properly be
  forwarded to the underlying request for GET methods (whereas previously
  params was being overwritten by data). [#343]
jperkin pushed a commit that referenced this issue Jun 4, 2021
# callr 3.7.0

* Reporting errors is much faster now (#185).

* The `user_profile` option of `r_vanilla()` defaults to `FALSE` now (#194).

* It is now possible to set R environment variables (`R_ENVIRON_USER`,
  `R_PROFILE_USER`, etc.) via the `env` argument (#193).

# callr 3.6.0

* callr now supports starting an R process with a different architecture,
  so on Windows 64-bit R can start a 32-bit R background process, and
  vice-versa (#95).

* callr now handles symbolic arguments properly, and does not evaluate them.
  E.g. `callr::r(function(x) x, list(quote(foobar)))` works now (#175).

* `callr::r_session` does not leak file descriptors now in the sub-process
  (#184).
jperkin pushed a commit that referenced this issue Jun 15, 2021
# pillar 1.6.1

- Bump required versions of ellipsis and vctrs to avoid warning during package load.
- `obj_sum()` no longer includes shape twice (#315).


# pillar 1.6.0

## Features

- New `num()` and `char()` offer a flexible way to customize the display of numeric and character columns (#191, #84).
- New `"pillar.max_dec_width"` option (#308).
- New `format_type_sum.AsIs()` avoids the need to implement your own `format_type_sum()` method (#286).
- `align()` gains `space` argument to control the character used for filling (#285).
- Numbers in scientific and decimal notation are formatted with the same rules regarding significant or decimal digits (#297).

## Bug fixes

- Load the debugme package only if the `DEBUGME` environment variable is set.
- More accurate detection if the decimal dot is necessary, and how many digits to show after the decimal dot (#298).
- Use display width instead of number of characters when truncating character columns.

## Documentation

- New `vignette("numbers")` and `vignette("digits")` (#308).

## Internal

- Compatibility with vctrs 0.3.7 (#291).
- `format.pillar_shaft_simple()` requires `"na"` attribute and no longer defaults to `pillar_na()` (#273).


# pillar 1.5.1

## Features

- New `format_glimpse()` (#177).

## Bug fixes

- Color and formatting can now be reliably turned off by setting the `"cli.num_colors"` option to 1 (#269).

## Documentation

- Add examples for new functions (#264).
- Fix lifecycle badges everywhere.


# pillar 1.5.0

## Breaking changes

- `obj_sum()` now always returns a string. `pillar_shaft.list()` iterates over its elements and calls `obj_sum()` for each (#137).

- Breaking: `print.pillar()` and `print.pillar_ornament()` now show  `<pillar>` `<pillar_ornament>` in the first line (#227, #228).

- pillar has been re-licensed as MIT (#215).

## Extensibility

- New `size_sum()` generic (#239).

- New `ctl_new_pillar()` and `ctl_new_compound_pillar()` used via `print.tbl()`, `format.tbl()` and `tbl_format_setup.tbl()` (#230).

- New `new_pillar()` low-level constructor (#230).

- New `new_pillar_component()` and `pillar_component()` (#230).

- New articles `vignette("extending")` and `vignette("printing")` (#251).

## Formatting

- All printing code has been moved from tibble to pillar (#179), including `glimpse()` (#234). This concentrates the printing code in one package and allows for better extensibility.

- Improve formatting for `"Surv"` and `"Surv2"` classes from the survival package (#199).

- Vectors of the `vctrs_unspecified()` class are formatted better (#256).

- Arrays are now formatted by showing only their first slice (#142).

- Avoid wrapping extra column names with spaces (#254).

## Internal

- Now using debugme to simplify understand the complex control flow, see `vignette("debugme")` (#248).

- New `format.pillar_ornament()` (#228).

- Using testthat 3e (#218).

- Avoid pillar.bold option in most tests (#216).

- Change internal storage format for `colonnade()` and `extra_cols()` (#204).


# pillar 1.4.7

- Adapt to changed environment on CRAN's Solaris machine.


# pillar 1.4.6

- Restore compatibility with R 3.2.


# pillar 1.4.5

## Features

- New `pillar.min_chars` option allows controlling the minimum number of characters shown for a character column (#178, @statsmaths).

- `bit64::integer64()` columns are now formatted the same way as numeric columns (#175).

- New `align()` to support easy alignment of strings within a character vector (existing function exported by @davidchall, #185).

## Technical

- `pillar_shaft()`, `format_type_sum()` and `extra_cols()` issue a warning if dots are unused.

- `new_pillar_title()` and `new_pillar_type()` warn if `...` is not empty.

## Internal

- Use lifecycle package.

- Remove compatibility code for R < 3.3.


# pillar 1.4.4

- `obj_sum()` uses `vctrs::vec_size()` internally.

- `is_vector_s3.default()` is soft-deprecated and no longer used. Please ensure that `vctrs::vec_is()` is `TRUE` for your class.

- Rely on vctrs for type abbreviations.


# pillar 1.4.3

- `new_pillar_shaft_simple()` gains `na` argument to control appearance of `NA` values.

- String columns are quoted if at least one value needs quotes (#171).

- Apply subtle style to `list_of` columns (#172).

- Fix formatting if mantissa is very close to 1 (#174).

- Use `as.character()` instead of `as_character()`.

- Remove compatibility with testthat < 2.0.0.
jperkin pushed a commit that referenced this issue Aug 25, 2021
# rvest 1.0.1

* `html_table()` correctly handles tables with cells that contain blank values
  for `rowspan` and/or `colspan`, so that e.g. `<td rowspan="">` is parsed as
  `<td rowspan=1>` (@epiben, #323).

* Fix broken example

# rvest 1.0.0

## New features

* New `html_text2()` provides a more natural rendering of HTML nodes into text,
  converting `<br>` into "\n", and removing non-significant whitespace (#175).
  By default, it also converts `&nbsp;` into regular spaces, which you can
  suppress with `preserve_nbsp = TRUE` (#284).

* `html_table()` has been re-written from scratch to more closely mimic the
  algorithm that browsers use for parsing tables. This should mean that there
  are far fewer tables for which it fails to produce some output (#63, #204,
  #215). The `fill` argument has been deprecated since it is no longer needed.
  `html_table()` now returns a tibble rather than a data frame to be compatible
  with the rest of the tidyverse (#199). Its performance has been considerably
  improved (#237). It also gains a `na.strings` argument to control what values
  are converted to `NA` (#107), and a `convert` argument to control whether to
  run the conversion (#311).

* New `html_form_submit()` allows you to submit a form directly, without
  needing to create a session (#300).

* rvest is now licensed as MIT (#287).

## API changes

Since this is the 1.0.0 release, I included a large number of API changes to make rvest more compatible with current tidyverse conventions. Older functions have been deprecated, so existing code will continue to work (albeit with a few new warnings).

* rvest now imports xml2 rather than depending on it. This is cleaner because
  it avoids attaching all the xml2 functions that you're less likely to use.
  To reduce the change of breakages, rvest re-exports xml2 functions
  `read_html()` and `url_absolute()`, but your code may now need an explicit
  `library(xml2)`.

* `html_form()` now returns an object with class `rvest_form` (instead of form).
   Fields within a form now have class `rvest_field`, instead of a
  variety of classes that were lacking the `rvest_` prefix. All functions for
  working with forms have a common `html_form_` prefix: `set_values()` became
  `html_form_set()`. `submit_form()` was renamed to `session_submit()` because
  it returns a session.

* `html_node()` and `html_nodes()` have been superseded in favor of
  `html_element()`  and `html_elements()` since they (almost) always return
  elements, not nodes (#298).

* `html_session()` is now `session()` and returns an object of class
  `rvest_session` (instead of `session`). All functions that work with session
  objects now have a common `session_` prefix.

* Long deprecated `html()`, `html_tag()`, `xml()` functions have been removed.

* `minimal_html()` (which doesn't appear to be used by any other package)
  has had its arguments flipped to make it more intuitive.

* `guess_encoding()` has been renamed to `html_encoding_guess()` to avoid
  a clash with `stringr::guess_encoding()` (#209). `repair_encoding()` has
  been deprecated because it doesn't appear to work.

* `pluck()` is no longer exported to avoid a clash with `purrr::pluck()`;
  if you need it use `purrr::map_chr()` and friends instead (#209).

* `xml_tag()`, `xml_node()`, and `xml_nodes()` have been formally deprecated
  in favor of their `html_` equivalents.

## Minor improvements and bug fixes

* The "harvesting the web" vignette has been rewritten to focus more on basics
  rvest, eliminating the screenshots to keep the installed package as svelte as
  possible. It's also been renamed to `vignette("rvest")` since it's the
  vignette that you should read first.

* The SelectorGadget vignette is now a web-only article,
  <https://rvest.tidyverse.org/articles/articles/selectorgadget.html>,
  so we can be more generous with screenshots since they're no longer bundled
  with every install of the package. Together with the rewrite of the other
  vignette, this means that rvest is now ~90 Kb instead of ~1.1 Mb.

* All uses of IMDB have been eliminated since the site explicitly prohibits
  scraping (#195).

* `session_submit()` errors if `form` doesn't have a `url` (#288).

* New `session_forward()` function to complement `session_back()`.
  It now allows you to pick the submission button by position (#156).
  The `...` argument is deprecated; please use `config` instead.

* `html_form_set()` can now accept character vectors allowing you to select
  multiple checkboxes in a set or select multiple values from a multi-`<select>`
  (#127, with help from @juba). It also uses dynamic dots so that you can use
  `!!!` if you have a list of values (#189).

# rvest 0.3.6

* Remove failing example
jperkin pushed a commit that referenced this issue 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 issue Oct 18, 2021
pkgsrc changes:
- re-enable man page generation
- remove patch that upstream fixed in a different way

== Version 3.3 (2021-09-19)

New features::

  * core: change key kbd:[Alt+h] to kbd:[Alt+h], kbd:[Alt+c] (clear hotlist)
  * core: add options "hotlist_remove_buffer", "hotlist_restore_buffer" and "hotlist_restore_all" in command /input, add default keys kbd:[Alt+h], kbd:[Alt+m] (remove buffer), kbd:[Alt+h], kbd:[Alt+r] (restore hotlist in current buffer) and kbd:[Alt+h], kbd:[Alt+Shift+R] (restore hotlist in all buffers)
  * core: add option "certs" in command /debug
  * core: add options "-o", "-ol", "-i" and "-il" in command "/plugin list"
  * api: add split of string and shell arguments in evaluation of expressions with "split:number,seps,flags,xxx" and "split_shell:number,xxx"
  * api: add `${re:repl_index}` to get the index of replacement in function string_eval_expression (issue #1689)
  * api: add random integer number in evaluation of expressions with "random:min,max"
  * api: add function string_cut
  * api: add function file_copy (issue #1667)
  * api: remember insertion order in hashtables
  * api: add keys/values with tags in output of irc_message_parse_to_hashtable (issue #1654)
  * irc: add option "-parted" in command /allchan (issue #1685)
  * irc: allow signals "irc_raw_in" and "irc_in" to eat messages (issue #1657)
  * irc: implement IRCv3.2 SASL authentication, add command /auth, reconnect by default to the server in case of SASL authentication failure (issue #413)
  * irc: add support of capability "message-tags" and TAGMSG messages (issue #1654)
  * irc: enable all capabilities by default (if supported by server and WeeChat), change default value of option irc.server_default.capabilities to "*" (issue #320)
  * irc: add options irc.look.display_account_message and irc.look.display_extended_join (issue #320)
  * irc: add command /setname, add support of message and capability "setname" (issue #1653)
  * irc: always set realname in nicks even when extended-join capability is not enabled (issue #1653)
  * irc: add support of FAIL/WARN/NOTE messages (issue #1653)
  * irc: drop support of DH-BLOWFISH and DH-AES SASL mechanisms (issue #175)
  * typing: new plugin "typing": display users currently writing messages on IRC channel/private buffers

Bug fixes::

  * core: fix decoding of attributes in basic ANSI colors (issue #1678)
  * api: fix function string_match with joker in the string if multiple words matched in input string
  * irc: fix send of empty JOIN when connecting to a server with only parted channels (issue #1638)
  * irc: fix SASL authentication when AUTHENTICATE message is received with a server name (issue #1679)
  * irc: remove unneeded message about Diffie-Hellman shared secret exchange during SSL connection to server (issue #857)
  * irc: escape/unescape IRC message tags values (issue #1654)
  * irc: set notify level to "private" for received WALLOPS
  * script: fix move of installed script on another filesystem (issue #1667)

Documentation::

  * add Spanish FAQ (issue #1656)
  * add Serbian translations (issue #1655)

Tests::

  * core: switch to PHP 8.0 in CI
  * core: add build on macOS in CI

Build::

  * core: fix build on macOS (issue #1662)
  * lua: add detection of Lua 5.4
  * php: add support of PHP 8.0 and 8.1 (issue #1599, issue #1668)
jperkin pushed a commit that referenced this issue Dec 9, 2021
## [1.1.0]

### Added

* CLI: The `--path <PATH>` flag has been added, allowing users to limit
  dependency discovery to one or more paths (specified separately)
  when `pip-audit` is invoked in environment mode
  ([#148](pypa/pip-audit#148))

* CLI: The `pip-audit` CLI can now be accessed through `python -m pip_audit`.
  All functionality is identical to the functionality provided by the
  `pip-audit` entrypoint
  ([#173](pypa/pip-audit#173))

* CLI: The `--verbose` flag has been added, allowing users to receive more
  more verbose output from `pip-audit`. Supplying the `--verbose` flag
  overrides the `PIP_AUDIT_LOGLEVEL` environment variable and is equivalent to
  setting it to `debug`
  ([#185](pypa/pip-audit#185))

### Changed

* CLI: `pip-audit` now clears its spinner bar from the terminal upon
  completion, preventing visual confusion
  ([#174](pypa/pip-audit#174))

### Fixed

* Dependency sources: a crash caused by `platform.python_version` returning
  an version string that couldn't be parsed as a PEP-440 version was fixed
  ([#175](pypa/pip-audit#175))

* Dependency sources: a crash caused by incorrect assumptions about
  the structure of source distributions was fixed
  ([#166](pypa/pip-audit#166))

* Vulnerability sources: a performance issue on Windows caused by cache failures
  was fixed ([#178](pypa/pip-audit#178))

## [1.0.1] - 2021-12-02

### Fixed

* CLI: The `--desc` flag no longer requires a following argument. If passed
  as a bare option, `--desc` is equivalent to `--desc on`
  ([#153](pypa/pip-audit#153))

* Dependency resolution: The PyPI-based dependency resolver no longer throws
  an uncaught exception on package resolution errors; instead, the package
  is marked as skipped and an appropriate warning or fatal error (in
  `--strict` mode) is produced
  ([#162](pypa/pip-audit#162))

* CLI: When providing the `--cache-dir` flag, the command to read the pip cache
  directory is no longer executed. Previously this was always executed and
  could result into failure when the command fails. In CI environments, the
  default `~/.cache` directory is typically not writable by the build user and
  this meant that the `python -m pip cache dir` would fail before this fix,
  even if the `--cache-dir` flag was provided.
  ([#161](pypa/pip-audit#161))

## [1.0.0] - 2021-12-01

### Added

* This is the first stable release of `pip-audit`! The CLI is considered
  stable from this point on, and all changes will comply with
  [Semantic Versioning](https://semver.org/)

## [0.0.9] - 2021-12-01

### Added

* CLI: Skipped dependencies are now listed in the output of `pip-audit`,
  for supporting output formats
  ([#145](pypa/pip-audit#145))
* CLI: `pip-audit` now supports a "strict" mode (enabled with `-S` or
  `--strict`) that fails if the audit if any individual dependency cannot be
  resolved or audited. The default behavior is still to skip any individual
  dependency errors ([#146](pypa/pip-audit#146))
jperkin pushed a commit that referenced this issue Apr 29, 2022
# Version 2.1.0
* New arguments `n.chars` and `max.chars` for `checkCharacter()` and
  `checkString()`.
* Checks for integerish now compare the tolerance with the difference to the
  nearest integer with `>` instead of `>=` to allow specifying a tolerance of
  exactly `0` (#177).
* Checks for integerish now check for class `Date` an `POSIXt`.
* Coercion of double to integer in `assertInt()` and `assertIntegerish()` now
  round to the nearest integer instead of always rounding via `trunc()`.
* Fixed an error message where the wrong variable name was reported by
  `assert()` (#182).
* Checks on POSIXct dates with storage mode integer should now work instead of
  raising an exception (#175).
* `*Matrix()` and `*Array()` now allow different storage types than the one
  specified if all values are missing (#184).
* Function `assert()` now supports collecting assertions via `AssertCollection`
  (#112).
* New exported C function `qcheck()` (#180).
* Fixed a bug in `checkFunction(..., ordered = TRUE)` (#204).
* Removed deprecated S macro `DOUBLE_EPS` from C source.
jperkin pushed a commit that referenced this issue May 1, 2022
New features
   You can visit subdomains and limit how deep you want to go inside them
    using --ext-depth
   Now you can include or excludes pages to visit with --include-visit and
    --exclude-visit instead of including or excluding pages to download
   --visit-filter-is-download-filter can be used to use the same regex for both
    visiting and downloading pages
   Updated dependencies

Breaking changes
Some options changed names:
   --include -> --include-download
   --exclude -> --exclude-download

Bug fixes
   Charset detection was not working when surrounded with single quotes
   Some symlinks where broken and/or outside of the specified output directory

What's Changed
   Lib bin initial by @pinkforest in #141
   Introduces external depth (#74) & a few fixes (incl. #69) by
    @marchellodev in #146
   Fix with single quotes by @lhvy in #152
   Fix clippy warnings and add clippy ci check by @Skallwar in #168
   Filter links before downloading / adding to the queue by @raphCode in #175
   Fix symlinks (relative link, argument order, folder creation) by
    @raphCode in #182
   misc: Fix all clippy warnings by @Skallwar in #186
   misc: Update dependencies in Cargo.lock by @Skallwar in #187
   ci: Add riscv64 and aarch64 for release by @Skallwar in #185
   misc: Prepare for release by @Skallwar in #188
jperkin added a commit that referenced this issue May 12, 2022
pkgsrc changes:

  * Use PKG_SYSCONFSUBDIR, there are a number of extra files supported in
    the configuration file so everything should live in a sub-directory.

    HEADS-UP! Users will need to migrate over to new config file location.

  * Create opendmarc user/group, not currently used in rc.d script.

  * Fix build on SunOS and add SMF support.

  * Split multi-file patch correctly into separate files.

  * Add TEST_TARGET.

  * Various pkglint and cleanup.

opendmarc changes:

1.4.2           2021/12/19
        Fix issue #175: Don't reject a multi-valued From when all of the
                domains match.
        Fix issue #179: Don't crash when a value in a multi-valued From field
                is missing a domain name.  Resolves CVE-2021-34555.
jperkin pushed a commit that referenced this issue May 13, 2022
fping 5.1 (2022-02-06)
======================

## Bugfixes and other changes

- Use setcap to specify specific files in fping.spec (#232, thanks @zdyxry)
- Netdata: use host instead name as family label (#226, thanks @k0ste)
- Netdata: use formatstring macro PRId64 (#229, thanks @gsnw)
- Allow -4 option to be given multiple times (#215, thanks @normanr)
- Documentation fix (#208, thanks @timgates42)
- Retain privileges until after privileged setsockopt (#200, thanks @simetnicbr)
- Set bind to source only when option is set (#198, thanks @dinoex)
- Update Azure test pipeline (#197, thanks @gsnw)
- Fix getnameinfo not called properly for IPv4 (#227, thanks @aafbsd)
- Fixed wrong timestamp under Free- and OpenBSD and macOS (#217, thanks @gsnw)
- Documentation updates (#240, thanks @auerswal)
- Updated autotools (autoconf 2.71, automake 1.16.5, libtool 2.4.6)


fping 5.0 (2020-08-05)
======================

## Incompatible Changes

- In non-quiet loop and count mode, a line is printed for every lost packet
  (#175, thanks @kbucheli):

  ```
  $ fping -D -c2 8.8.8.8 8.8.8.7
  [1596092373.18423] 8.8.8.8 : [0], 64 bytes, 12.8 ms (12.8 avg, 0% loss)
  [1596092374.18223] 8.8.8.7 : [0], timed out (NaN avg, 100% loss)
  [1596092374.18424] 8.8.8.8 : [1], 64 bytes, 12.3 ms (12.5 avg, 0% loss)
  [1596092375.18344] 8.8.8.7 : [1], timed out (NaN avg, 100% loss)

  8.8.8.8 : xmt/rcv/%loss = 2/2/0%, min/avg/max = 12.3/12.5/12.8
  8.8.8.7 : xmt/rcv/%loss = 2/0/100%
  ```

- The returned size in bytes now always excludes the IP header, so if before it
  reported '84 bytes' e.g. when using 'fping -l', now it reports '64 bytes'.
  This is to make the reported size consistent with ping(8) from iputils and
  also with fping when pinging a IPv6 host (which never included the IPv6
  header size).

## New features

- The number of sent pings is only counted when the pings are received or have
  timed out, ensuring that the loss ratio will be always correct. This makes it
  possible, for example, to use loop mode (-l) with interval statistics (-Q)
  and a timeout larger than period, without having the issue that initially
  some pings would be reported as missing (#193)

- Improved precision of measurements from 10us to 1us (#136, thanks @tycho)

## Bugfixes and other changes

- The reported size of received packets is now always correct on Linux even for
  packets > 4096 bytes (#180)

- Travis CI automated testing now also macos testing and additional ubuntu
  distributions (#196)
jperkin pushed a commit that referenced this issue 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 issue 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 issue May 21, 2023
v0.14.0 is a big release with new daemon feature and CLI commands.

This release also resolves the application's persistent issue that requires
restarting the application in case of networking errors. The application now
(hopefully) becomes more robust to such errors by automatically re-initializing
the application's states and integrated player after re-gaining access to the
network.

What's Changed
 - Fix broken link in #175
 - Implement spotify-player's CLI commands in #159
 - Update dependencies in #186
 - Add more builds for CD github action in #192
 - Add daemon support in #193
 - Extend CLI functionalities in #194
 - Make the client/application more robust to network errors in #198
 - Fix cargo install examples in README.md in #199
 - Add docs for new features and improve CLI/daemon codes in #200
jperkin pushed a commit that referenced this issue May 21, 2023
Release Notes
 - Breaking Changes occurred, please check the docs for instructions on how to
   upgrade.
 - Change log directory (#175)
   The path of the logfile and the crash report have changed, check the
   upgrading page to learn more.

 - Add Language Selection (#168)
   You can now change the language on the fly either by using the new -l and
   --language cli arguments, or by pressing F2 in the tui and selecting a new
   language from the menu. This feature also includes several new configuration
   options, so be sure to check out the docs about them.

Please also check the docs to learn about what breaking changes have occurred
since 0.6.x

docs: https://builditluc.github.io/wiki-tui/0.7/changelog/upgrade/#upgrade-from-v06x-to-v07x
jperkin pushed a commit that referenced this issue May 21, 2023
v0.19.1
What's Changed
 - Bump h2 from 0.3.16 to 0.3.17 by @dependabot in #188
 - Fix handling of binary input by @rcoh in #191

v0.19.0
What's Changed
 - Use Cow to remove need for cloning input by @rcoh in #163
 - Switch to tikv-jemallocator from jemallocator by @piggynl in #165
 - Upgrade everything to clear out various security vulnerabilities by
   @rcoh in #175
 - Maintain ordering of columns when emitting aggregation JSON. by
   @asutherland in #177
 - Include aliases for NGINX Ingress Controller by @Ziul in #180
 - Include aliases for NGINX by @Ziul in #179
 - upgrade dependencies by @rcoh in #183
 - Fix --output for aggregates @rcoh in #184
jperkin pushed a commit that referenced this issue Jun 11, 2023
# googlesheets4 1.1.0

## Syncing up with gargle

Version 1.3.0 of gargle introduced some changes around OAuth and
googlesheets4 is syncing with up that:

* `gs4_oauth_client()` is a new function to replace the now-deprecated
  `gs4_oauth_app()`.

* The new `client` argument of `gs4_auth_configure()` replaces the now-deprecated `app` argument.

* The documentation of `gs4_auth_configure()` emphasizes that the
  preferred way to "bring your own OAuth client" is by providing the
  JSON downloaded from Google Developers Console.

## Other

`gs4_auth()` now warns if the user specifies both `email` and `path`,
because this is almost always an error.

# googlesheets4 1.0.1

The mere existence of an invalid named range no longer prevents
googlesheets4 from dealing with a Sheet (#175).

googlesheets4 now understands that Google Sheets can have 10 million
cells (up from 5 million) (#257).

## Internal matters

Help files below `man/` have been re-generated, so that they give rise
to valid HTML5. (This is the impetus for this release, to keep the
package safely on CRAN.)

Examples now use `@examplesIf` to express when a token or an
interactive session is required for successful execution.

Errors have been revised to (more often) reveal the most appropriate
call, i.e. the high-level function called by the user as opposed to an
internal helper (#255).

Informative messages now route through `cli::cli_inform()`, instead of
`cli::cli_bullets()`.
jperkin pushed a commit that referenced this issue Dec 8, 2023
## [0.14.0 - 2023-12-02]

### Added

- Synonym for `chroma` encoder parameter: `subsampling`(usage is the same as in Pillow JPEG). #161 #165
- Passing `image_orientation` value to libheif, instead of manually rotating image according to EXIF before encoding. #168
- Pillow plugin: support for images in `YCbCr` mode for saving without converting to `RGB`. #169
- Pi-Heif: Python3.12 32-bit `armv7` wheels. #160

### Changed

- Increased the minimum required libheif version to `1.14.1`.
- Linux: When building from source, `libheif` and other libraries are no longer try built automatically. #158
- Libheif updated from `1.16.2` to `1.17.5` version. #166 #175
- `NCLX` color profile - was reworked, updated docs, see PR for more info. #171
- Minimum supported Pillow version raised to `9.2.0`.
- Pi-Heif: As last libheif version requires minimum `cmake>=3.16.3` dropped Debian `10 armv7` wheels. #160
- libde265 updated from `1.0.12` to `1.0.14`. [changelog](https://github.com/strukturag/libde265/releases/tag/v1.0.13)

### Fixed

- Support of libheif `1.17.x`. #156
- Windows : Build from source with MinGW Python. #178
jperkin pushed a commit that referenced this issue Dec 8, 2023
## [2023.3] - 2023-11-25

### Fixed

- Add missing dependency [#175]
- Add missing test data to the source archive [#174]

## [2023.2] - 2023-11-24

### Added

- Use packaging module to properly compare versions
- Add "implements" in class definition pseudocode
- Ignore the first class instance struct field
- Parse default-value attribute [#103]
- Test the gtk-doc sigil parsing
- Support admonitions in docblocks [#170]
- Add link to the extra content files location in the source repository [#118]
- Search for GIR XML in `$GI_GIR_PATH` and `/usr/share/gir-1.0` [!196]
- Add fallback for missing "since" [!198]

### Changed

- Redesign the search results
- Redesign the index for enumeration types

### Fixed

- Match dependencies list in the index and sidebar [!177]
- Use KeyboardEvent.key to focus search input [#151]
- Build fixes for subproject use [!185]
- Remove display:flex from headings [#147]
- Split transfer notes based on direction [#141]
- Clarify signal flags [!189]
- Hide build section if empty [#160]
- Always explicitely use utf-8 when reading/writing files [!193]
- use `color-scheme: dark` when in dark mode [!188]
jperkin pushed a commit that referenced this issue Feb 1, 2024
0.20.7

    Fix sizeof precedence by @philipturnbull in #168
    Adds GH tag queries by @BekaValentine in #122
    Add Microsoft SEH extension to the grammar by @DennySun2100 in #164
    Add TAGS_QUERY to rust bindings by @Squadrick in #175
    Misc fixes by @amaanq

0.20.6

    fix: rework rules to reduce state count by @amaanq in #162
    Fix by @amaanq in #163
jperkin pushed a commit that referenced this issue Feb 7, 2024
pkgsrc change: fix a few pkglint warnings.

5.0.0 (2024-01-07)

* #175: Replace all backends by Process.spawn for portability, reliability
   and simplicity
* #185: Add support for Ruby 3.x
jperkin pushed a commit that referenced this issue Mar 11, 2024
v2.15.0 - 2024/03/05
 - insert features related arguments before the -- when there's some - Fix #171
 - fix offset in Windows terminal - Fix #175
 - better --help with examples and main shortcuts
 - rewriten execution engine
jperkin pushed a commit that referenced this issue May 6, 2024
2024-05-05 -- 0.9.8

>>>>>>>>>>>>> SECURITY >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  * Fixed: [CVE-2024-34402]
      Protect against integer overflow in ComposeQueryEngine
      (GitHub #183, GitHub #185)
  * Fixed: [CVE-2024-34403]
      Protect against integer overflow in ComposeQueryMallocExMm
      (GitHub #183, GitHub #186)
>>>>>>>>>>>>> SECURITY >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  * Changed: Require CMake >=3.5.0 (GitHub #172)
  * Added: CMake option URIPARSER_SHARED_LIBS=(ON|OFF) to control,
      whether to produce a shared or static library for uriparser
      and that alone, falls back to standard BUILD_SHARED_LIBS
      if available, else defaults to "ON" (GitHub #169, GitHub #170)
  * Improved: Document that scheme-based normalization a la
      section 6.2.3 of RFC 3986 is a responsibility of the application
      using uriparser (GitHub #173, GitHub #174)
  * Improved: Document supported code points for functions uriEscape(Ex)W
      (GitHub #171, GitHub #175)
  * Infrastructure: Update Clang from 15 to 18 (GitHub #161, GitHub #187)
  * Infrastructure: Adapt to breaking changes in Clang packaging (GitHub #160)
  * Infrastructure: Get sanitizer CFLAGS and LDFLAGS back in sync (GitHub #161)
  * Infrastructure: Pin GitHub Actions to specific commits for security
      (GitHub #165)
  * Soname: 1:31:0 — see https://verbump.de/ for what these numbers do

2022-10-05 -- 0.9.7

  * Fixed: Multiple issues with IPv6 and IPvFuture literal parsing
      (GitHub #146, GitHub #150)
      Thanks to Scallop Ye for the report and the pull request!
  * Fixed: Fix symbol visibility for -DBUILD_SHARED_LIBS=OFF (GitHub #139,
      GitHub #141); thanks to Mariusz Zaborski for the report!
  * Fixed: For MinGW, use size_t for inet_ntop declaration and fix macro
      checks for both MinGW and mingw-w64 (GitHub #131)
  * Fixed: Compiler warnings (GitHub #132, GitHub #152)
  * Improved: Use name UriConfig.h rather than generic config.h for the
      config header file to avoid name clashes and also include it through
      "UriConfig.h" with quotes rather than <UriConfig.h> so that it is found
      in quote path locations (GitHub #149)
      Thanks to Gaspard Petit for bringing this up!
  * Improved: Document need for UriConfig.h in UriMemory.c (GitHub #136)
  * Infrastructure: Add (support for) Visual Studio 17/2022 (GitHub #152)
  * Infrastructure: Drop (support for) Visual Studio <=14/2015 (GitHub #152)
  * Infrastructure: Update Clang from 13 to 15 (GitHub #143, GitHub #151)
  * Infrastructure: Make MinGW with 32bit Wine on Ubuntu 20.04 possible
      (GitHub #142, GitHub #144, GitHub #145)
  * Soname: 1:30:0 — see https://verbump.de/ for what these numbers do
jperkin pushed a commit that referenced this issue Jul 20, 2024
Based on PR 58426 by jonathan buschmann.

## 2.4.7 2024-05-05

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

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


## 2.4.6 2024-04-07

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

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


## 2.4.5 2024-02-18

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

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


## 2.4.4 2024-02-11

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

### Changed
- chore: update dependencies


## 2.4.3 2024-02-04

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

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

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


## 2.4.2 2023-12-26

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


## 2.4.1 2023-12-10

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

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


## 2.4.0 2023-10-08

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


## 2.3.3 2023-10-04

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

### Changed
- update dependencies


## [2.3.2] 2023-08-19

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

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


## [2.3.1] 2023-07-25

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

### Changed
- update dependencies


## [2.3.0] 2023-05-25

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

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

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

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


## [2.2.4] 2023-05-15

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

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

### Changed
- chore: update dependencies


## [2.2.3] 2023-04-26

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

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


## [2.2.2] 2023-04-01

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


## [2.2.1] 2023-03-29

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

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


## [2.2.0] 2023-02-24

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

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

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

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


## [2.1.0] 2022-12-12

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

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

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


## [2.0.4] 2022-11-30

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

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


## [2.0.3] 2022-11-21

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

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


## [2.0.2] 2022-11-17

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

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

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


## [2.0.1] 2022-11-07

### Changed
- chore: Update to clap 4.0.22

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


## [2.0.0] 2022-11-06

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

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

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

### Fixed

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

### Changed since 2.0.0-rc.2

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

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


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

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

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


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

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

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

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


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

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

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

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


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

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

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


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

### Removed
- Removed Python implementation of StGit.

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

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

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


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

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

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

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


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

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

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

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


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

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

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

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

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


## [1.5] 2022-01-28

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

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

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


## [1.4] 2021-10-27

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

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

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

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


## [1.3] 2021-09-26

### Removed

### Added

### Changed

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

## [1.2] 2021-09-26

### Removed

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

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

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

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

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


## [1.1] 2021-04-30

### Removed

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

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

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


## [1.0] 2021-02-07

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

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

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

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


## [0.23] 2020-06-12

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

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

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

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

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

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

## [0.22] - 2020-03-02

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

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

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

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

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


## [0.21] - 2019-10-28

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

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


## [0.20] - 2019-10-04

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

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

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


## [0.19] 2018-11-05

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

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


## [0.18] 2017-08-14

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

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

### Fixed
- Various fixes and test coverage improvements
github-actions bot pushed a commit that referenced this issue Oct 18, 2024
# evaluate 1.0.1

* Fix buglet revealed when by using `rlang::abort()` inside of `evaluate()`.

# evaluate 1.0.0

* Setting `ACTIONS_STEP_DEBUG=1` (as in a failing GHA workflow) will
  automatically set `log_echo` and `log_warning` to `TRUE` (#175).

* evaluate works on R 3.6.0 once again.

* `evaluate()` improvements:

  * Now terminates on the first error in a multi-expression input, i.e.
    `1;stop('2');3` will no longer evaluate the third component. This
    matches console behaviour more closely.

  * Calls from conditions emitted by top-level code are automatically stripped
    (#150).

  * Result has a class (`evaluate_evaluation`/`list`) with a basic print method.

  * Plots created before messages/warnings/errors are correctly captured (#28).

* Handler improvements:

  * The default `value` handler now evaluates `print()` in a child of the
    evaluation environment. This largely makes evaluate easier to test, but
    should make defining S3 methods for print a little easier (#192).

  * The `source` output handler is now passed the entire complete input
    expression, not just the first component.

* `evalute(include_timing)` has been deprecated. I can't find any use of it on
  GitHub, and it adds substantial code complexity for little gain.

* `is.value()` has been removed since it tests for an object that evaluate
  never creates.

* New `local_reproducible_output()` helper that sets various options and env
  vars to help ensure consistency of output across environments.

* `parse_all()` adds a `\n` to the end of every line, even the last one if it
  didn't have one in the input. Additionally, it no longer has a default
  method, which will generate better errors if you pass in something unexpected.

* New `trim_intermediate_plots()` drops intermediate plots to reveal the
  complete/final plot (#206).

* `watchout()` is no longer exported; it's really an implementation detail that
  should never have been leaked to the public interface.

# evaluate 0.24.0

* The `source` output handler can now take two arguments (the unparsed `src`
  and the parsed `call`) and choose to affect the displayed source.
* The package now depends on R 4.0.0 in order to decrease our maintenance burden.
github-actions bot pushed a commit that referenced this issue Oct 24, 2024
TL/DR

    Add cramjam.experimental.blosc2
    Add cramjam.experimental.igzip (on 64bit targets)
    Add wasm32 emscripten build and test for pyodide

What's Changed

    Update libcramjam crate to 0.3.0 in cramjam-cli by @musicinmybrain in #152
    Add experimental blosc2 support by @milesgranger in #107
    Move sdist generations to own job by @milesgranger in #155
    Add blosc2 to CLI, libcramjam features and own CI by @milesgranger in #156
    Don't overwrite artifact on each job by @milesgranger in #157
    Prepare for release by @milesgranger in #158
    Change github release job in CI by @milesgranger in #161
    Adjust for move of libcramjam and CLI to own repos by @milesgranger in #162
    Bump libcramjam and simplify CI by @milesgranger in #163
    Bump version and fix CI artifact uploading by @milesgranger in #164
    Bump actions/download-artifact from 3 to 4.1.7 in /.github/workflows by @dependabot in #168
    Update PyO3 0.20 -> 0.22 & Python 3.13 by @milesgranger in #169
    Update upload/download-artifact actions by @milesgranger in #170
    Add more feature configuration options by @milesgranger in #174
    Fix blosc2 upgrade API changes by @milesgranger in #176
    Expose linking flexibility for xz, gzip/deflate from libcramjam by @milesgranger in #175
    Remove pypy3.9 from CI by @milesgranger in #177
    Exclude benchmarks from builds by @milesgranger in #179
    Add wasm32-emscripten builds by @milesgranger in #181
    Add experimental igzip by @milesgranger in #182
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants