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

gcc 6/7/8 fails to compile c++ program, gcc49 works #238

Closed
zhiwenzheng opened this issue Dec 22, 2019 · 3 comments
Closed

gcc 6/7/8 fails to compile c++ program, gcc49 works #238

zhiwenzheng opened this issue Dec 22, 2019 · 3 comments

Comments

@zhiwenzheng
Copy link

/opt/local/gcc6/bin/g++ /tmp/quick_exit.cc
In file included from /opt/local/gcc6/include/c++/ext/string_conversions.h:41:0,
from /opt/local/gcc6/include/c++/bits/basic_string.h:5429,
from /opt/local/gcc6/include/c++/string:52,
from /opt/local/gcc6/include/c++/bits/locale_classes.h:40,
from /opt/local/gcc6/include/c++/bits/ios_base.h:41,
from /opt/local/gcc6/include/c++/ios:42,
from /opt/local/gcc6/include/c++/ostream:38,
from /opt/local/gcc6/include/c++/iostream:39,
from /tmp/quick_exit.cc:1:
/opt/local/gcc6/include/c++/cstdlib:132:11: error: '::at_quick_exit' has not been declared
using ::at_quick_exit;
^~~~~~~~~~~~~
/opt/local/gcc6/include/c++/cstdlib:155:11: error: '::quick_exit' has not been declared
using ::quick_exit;
^~~~~~~~~~

/tmp/quick_exit.cc

#include <iostream>
#include <cstdlib>
using namespace std;
void quick_exit1()
{
	cout << "Exit Function 1" << endl;
}
void quick_exit2()
{
	cout << "Exit Function 2" << endl;
}
int main()
{
	/* registering function */
	at_quick_exit(quick_exit1);
	at_quick_exit(quick_exit2);
	quick_exit(0);
	return 0;
}
@zhiwenzheng
Copy link
Author

using the latest repo.

jperkin pushed a commit that referenced this issue Jan 3, 2020
Version 3.1.1.1
* Fix for GHCJS. #431

Version 3.1.1.0
* A new API: gracefulClose. #417
* touchSocket, unsafeFdSocket: Allow direct access to a socket's file
  descriptor while providing tools to prevent it from being garbage
  collected. This also deprecated fdSocket in favor of unsafeFdSocket
  and withFdSocket. #423
* socketToFd: Duplicates a socket as a file desriptor and closes the
  source socket. #424

Version 3.1.0.1
* getAddrInfo: raise exception if no AddrInfo returned. #410
* Avoid catching SomeException. #411

Version 3.1.0.0
* Making GC of socket safer. #399
* Deprecating fdSocket. Use withFdSocket instead to ensure that
  sockets are GCed in proper time. #399

Version 3.0.1.1
* Fix blocking if_nametoindex errors on Windows #391

Version 3.0.1.0
* Added getSocketType :: Socket -> IO SocketType. #372
* Correcting manual and brushing up test cases #375
* Fixed longstanded bug in getContents on mac #375
* Fixing regression: set correct sockaddr length for abstract
  addresses for Linux. #374

Version 3.0.0.1
* Fixed a bug in connect where exceptions were not thrown #368

Version 3.0.0.0
* Breaking change: the Network and Network.BSD are
  removed. Network.BSD is provided a new package: network-bsd.
* Breaking change: the signatures are changed:

    old fdSocket :: Socket -> CInt
    new fdSocket :: Socket -> IO CInt

    old mkSocket :: CInt -> Family -> SocketType -> ProtocolNumber -> SocketStatus -> IO Socket
    new mkSocket :: CInt -> IO Socket

* Breaking change: the deprecated APIs are removed: send, sendTo,
  recv, recvFrom, recvLen, htonl, ntohl, inet_addr, int_ntoa,
  bindSocket, sClose, SocketStatus, isConnected, isBound, isListening,
  isReadable, isWritable, sIsConnected, sIsBound, sIsListening,
  sIsReadable, sIsWritable, aNY_PORT, iNADDR_ANY, iN6ADDR_ANY,
  sOMAXCONN, sOL_SOCKET, sCM_RIGHTS, packSocketType, getPeerCred.
* Breaking change: SockAddrCan is removed from SockAddr.
* Socket addresses are extendable with Network.Socket.Address.
* "socket" is now asynchronous-exception-safe. #336
* "recvFrom" returns (0, addr) instead of throwing an error on EOF. #360
* All APIs are available on any platforms.
* Build system is simplified.
* Bug fixes.

Version 2.8.0.1
* Eensuring that accept returns a correct sockaddr for unix
  domain. #400
* Avoid out of bounds writes in pokeSockAddr. #400

Version 2.8.0.0
* Breaking change: PortNumber originally contained Word16 in network
  byte order and used "deriving Ord". This results in strange behavior
  on the Ord instance. Now PortNumber holds Word16 in host byte
  order. #347
* Breaking change: stopping the export of the PortNum constructor in
  PortNumber.
* Use bytestring == 0.10.* only.
* Use base >= 4.7 && < 5.

Version 2.7.0.2
* Removing withMVar to avoid the deadlock between "accept" and "close"
  #330
* "close" does not throw exceptions. A new API: "close'" throws
  exceptions when necessary. #337
* Fixing the hang of lazy sendAll. #340
* Installing NetDef.h (#334) #334

Version 2.7.0.1
* A new API: socketPortSafe. #319
* Fixing a drain bug of sendAll. #320
* Porting the new CALLCONV convention from master. #313
* Withdrawing the deprecations of packFamily and unpackFamily. #324

Version 2.7.0.0
* Obsoleting the Network module.
* Obsoleting the Network.BSD module.
* Obsoleting APIs: MkSocket, htonl, ntohl, getPeerCred, getPeerEid,
  send, sendTo, recv, recvFrom, recvLen, inet_addr, inet_ntoa,
  isConnected, isBound, isListening, isReadable, isWritable, aNY_PORT,
  iNADDR_ANY, iN6ADDR_ANY, sOMAXCONN, sOL_SOCKET, sCM_RIGHTS,
  packFamily, unpackFamily, packSocketType
* Breaking change: do not closeFd within sendFd. #271
* Exporting ifNameToIndex and ifIndexToName from Network.Socket.
* New APIs: setCloseOnExecIfNeeded, getCloseOnExec and getNonBlock
* New APIs: isUnixDomainSocketAvailable and getPeerCredential
* socketPair, sendFd and recvFd are exported even on Windows.

Version 2.6.3.5
* Reverting "Do not closeFd within sendFd" #271

Version 2.6.3.4
* Don't touch IPv6Only when running on OpenBSD #227
* Do not closeFd within sendFd #271
* Updating examples and docs.

Version 2.6.3.3
* Adds a function to show the defaultHints without reading their
  undefined fields #291
* Improve exception error messages for getAddrInfo and getNameInfo
  #289

Version 2.6.3.2
* Zero memory of sockaddr_un if abstract socket #220
* Improving error messages #232
* Allow non-blocking file descriptors via setNonBlockIfNeeded #242
* Update config.{guess,sub} to latest version #244
* Rename my_inet_ntoa to avoid symbol conflicts #228
* Test infrastructure improvements #219 #217 #218
* House keeping and cleanup #238 #237

Version 2.6.3.1
* Reverse breaking exception change in Network.Socket.ByteString.recv
  #215

Version 2.6.3.0
* New maintainers: Evan Borden (@eborden) and Kazu Yamamoto
  (@kazu-yamamoto). The maintainer for a long period, Johan Tibell
  (@tibbe) stepped down. Thank you, Johan, for your hard work for a
  long time.
* New APIs: ntohl, htonl,hostAddressToTuple{,6} and
  tupleToHostAddress{,6}. #210
* Added a Read instance for PortNumber. #145
* We only set the IPV6_V6ONLY flag to 0 for stream and datagram socket
  types, as opposed to all of them. This makes it possible to use
  ICMPv6. #180 #181
* Work around GHC bug #12020. Socket errors no longer cause segfaults
  or hangs on Windows. #192
* Various documentation improvements and the deprecated pragmas. #186
  #201 #205 #206 #211
* Various internal improvements. #193 #200

Version 2.6.2.1
* Regenerate configure and HsNetworkConfig.h.in.
* Better detection of CAN sockets.

Version 2.6.2.0
* Add support for TCP_USER_TIMEOUT.
* Don't conditionally export the SockAddr constructors.
* Add isSupportSockAddr to allow checking for supported address types
  at runtime.
@timfoster
Copy link

I ran into this problem trying to build Node.js v8.16.1 on a SmartOS build built from

 { "repo": "illumos-joyent", "branch": "release-20170105", "rev": "39356c1d4443c2428f28abe318c71c6ebb2ed256", "commit_date": "1483531824", "url": "/root/data/jenkins/workspace/platform/MG/build/illumos-joyent" }

The error I hit was:

/opt/local/gcc7/bin/g++ '-DV8_GYP_BUILD' '-DV8_TARGET_ARCH_X64' '-D__C99FEATURES__=1' '-DENABLE_DISASSEMBLER' '-DV8_PROMISE_INTERNAL_FIELD_COUNT' '-Dv8_promise_internal_field_count' '-DV8_INTL_SUPPORT' -I../deps/v8 -I../deps/v8/include  -Wall -Wextra -Wno-unused-parameter -m64 -pthreads -fno-strict-aliasing -O3 -fno-omit-frame-pointer -fno-rtti -fno-exceptions -std=gnu++0x -MMD -MF /root/data/jenkins/workspace/sdcnode-minimal-x86_64-19.4.0-EXPERIMENTAL/build/nodes/v8.16.1-gz/src/out/Release/.deps//root/data/jenkins/workspace/sdcnode-minimal-x86_64-19.4.0-EXPERIMENTAL/build/nodes/v8.16.1-gz/src/out/Release/obj.target/v8_builtins_setup/deps/v8/src/setup-isolate-full.o.d.raw  -fno-aggressive-loop-optimizations -c -o /root/data/jenkins/workspace/sdcnode-minimal-x86_64-19.4.0-EXPERIMENTAL/build/nodes/v8.16.1-gz/src/out/Release/obj.target/v8_builtins_setup/deps/v8/src/setup-isolate-full.o ../deps/v8/src/setup-isolate-full.cc
  LD_LIBRARY_PATH=/root/data/jenkins/workspace/sdcnode-minimal-x86_64-19.4.0-EXPERIMENTAL/build/nodes/v8.16.1-gz/src/out/Release/lib.host:/root/data/jenkins/workspace/sdcnode-minimal-x86_64-19.4.0-EXPERIMENTAL/build/nodes/v8.16.1-gz/src/out/Release/lib.target:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; cd ../deps/v8/src; mkdir -p /root/data/jenkins/workspace/sdcnode-minimal-x86_64-19.4.0-EXPERIMENTAL/build/nodes/v8.16.1-gz/src/out/Release/obj/gen; python ../tools/js2c.py "/root/data/jenkins/workspace/sdcnode-minimal-x86_64-19.4.0-EXPERIMENTAL/build/nodes/v8.16.1-gz/src/out/Release/obj/gen/libraries.cc" CORE js/macros.py messages.h js/prologue.js js/max-min.js js/v8natives.js js/array.js js/string.js js/typedarray.js js/weak-collection.js js/messages.js js/templates.js js/spread.js js/proxy.js debug/mirrors.js debug/debug.js debug/liveedit.js js/intl.js
In file included from /opt/local/gcc7/include/c++/ext/string_conversions.h:41:0,
                 from /opt/local/gcc7/include/c++/bits/basic_string.h:6361,
                 from /opt/local/gcc7/include/c++/string:52,
                 from /opt/local/gcc7/include/c++/bits/locale_classes.h:40,
                 from /opt/local/gcc7/include/c++/bits/ios_base.h:41,
                 from /opt/local/gcc7/include/c++/ios:42,
                 from /opt/local/gcc7/include/c++/istream:38,
                 from /opt/local/gcc7/include/c++/sstream:38,
                 from ../deps/v8/src/base/logging.h:9,
                 from ../deps/v8/src/setup-isolate-full.cc:7:
/opt/local/gcc7/include/c++/cstdlib:137:11: error: '::at_quick_exit' has not been declared
   using ::at_quick_exit;
           ^~~~~~~~~~~~~
/opt/local/gcc7/include/c++/cstdlib:160:11: error: '::quick_exit' has not been declared
   using ::quick_exit;
           ^~~~~~~~~~
make[2]: *** [deps/v8/src/v8_builtins_setup.target.mk:94: /root/data/jenkins/workspace/sdcnode-minimal-x86_64-19.4.0-EXPERIMENTAL/build/nodes/v8.16.1-gz/src/out/Release/obj.target/v8_builtins_setup/deps/v8/src/setup-isolate-full.o] Error 1
make[2]: *** Waiting for unfinished jobs....
rm 5be8145455ecfa84b72c21d905ad85df6824320c.intermediate
make[1]: *** [Makefile:88: node] Error 2
make[1]: Leaving directory '/root/data/jenkins/workspace/sdcnode-minimal-x86_64-19.4.0-EXPERIMENTAL/build/nodes/v8.16.1-gz/src'
gmake: *** [Makefile:47: nodes] Error 2
Build step 'Execute shell' marked build as failure
Finished: FAILURE

Notably, the platform build I was compiling on included:

commit fc2512cfb727d49529d8ed99164db871f4829b73
Author: Robert Mustacchi <[email protected]>
Date:   Mon Mar 28 19:43:25 2016 -0700

    6951 Initial c11 support
    6952 gets should not be visible in C11
    6953 add support for c11 threads api
    6954 Symbols test should support validating pre-processor symbols
    Reviewed by: Josef 'Jeff' Sipek <[email protected]>
    Reviewed by: Dan McDonald <[email protected]>
    Reviewed by: Garrett D'Amore <[email protected]>
    Approved by: Garrett D'Amore <[email protected]>

but did not include the fix for

commit 0df48811699b83d09c552548effcb1718d6ff1d0
Author: Aurélien Larcher <[email protected]>
Date:   Mon May 21 18:35:40 2018 +0200

    9545 Global visibility of C11 functions in C++11 and C++17 in stdlib.h
    Reviewed by: Igor Kozhukhov <[email protected]>
    Reviewed by: Andy Fiddaman <[email protected]>
    Reviewed by: Robert Mustacchi <[email protected]>
    Approved by: Gordon Ross <[email protected]>

which I believe we need. Building on a newer SmartOS build (from 20200117T180335Z) which did include that fix did not hit the compilation problem.

@zhiwenzheng
Copy link
Author

I confirm applying " 9545 Global visibility of C11 functions in C++11 and C++17 in stdlib.h" solved the problem.

jperkin pushed a commit that referenced this issue May 10, 2020
Upstream changes:
4.47 2020-05-01

    [ FIX / TESTING ]
    - fix typo in variable name (GH #239)

4.46 2020-02-03

    [ DOCUMENTATION ]
    - Document support for SameSite=None cookies (GH #238)

4.45 2019-06-03

    [ ENHANCEMENT ]
    - Add support for SameSite=None cookies (GH #237, thanks to Dur09)
jperkin pushed a commit that referenced this issue Jul 23, 2020
Patch #358 - 2020/07/12
-correct logic for decodeTerminalID changes in patch #357 (report by "Chartreuse").
-modify makefile to use plink.sh when linking test-programs, to fix build when
using pcre (report by H Merijn Brand)
-build-fix for test_ptydata program (patch by H Merijn Brand)

Patch #357 - 2020/07/05
-several minor optimizations for the ReGIS and SIXEL features, improving
performance by 10%.
-add resource decGraphicsID to allow displaying graphics when the emulation
level would ordinarily disallow this (prompted by discussion with Thomas Wolff).
-add control sequences for fast switching of color palettes: XTPUSHCOLORS,
XTPOPCOLORS, XTREPORTCOLORS
-amend change for soft-hyphen from patch #328 to avoid stripping replacement-
characters which would be shown with malformed or overlong UTF-8 input.
-corrected an error-handling case in decodeUtf8, matching a similar fix in patch
#268 (report/patch by Dan Gohman).
-add a test-driver for ptydata.c
-minor cleanup of macros (adapted from patch by Walter Harms).
-fix some errata in ctlseqs.ms (report by Thomas Wolff).
-allow immediate repaint-on-palette-changed if double-buffering is enabled.
-deprecate codes 10/11 in sgr push controls, changing those to 30/31, to avoid
confusion with sgr 10-19.
-modify SGR parameter handling to stop if an unrecognized parameter is
encountered, to guard against malformed or nonstandard sequences
(report by Bram Moolenaar).
-modify DECERA color for consistency with other erasures/clearing
(report by Thomas Wolff).
-ECH should not be masked by DECSCA (report by Thomas Wolff).
-extend DECFRA and REP to accept any graphic character rather than just
Latin1, etc. (report by Thomas Wolff).
-add -C option to 256colors2.pl and 88colors2.pl, to demonstrate mixed semicolon
/colon separators which are implied by ECMA-48.
-update sample terminfo to reflect the documentation improvements.
-update description of 88/256/direct color in ctlseqs.ms to point out that using
semicolons is a deprecated legacy feature, and standard terminal applications
should use colons (prompted by discussion with Bram Moolenaar).
-modify configure-check for tgetent to conditionally include termcap.h, enabling
configuration using clang's pedantic-errors option (report by Dennis Clarke).
See Other Compatibility in ncurses' curs_termcap(3X).
-remove some unnecessary pointer checks (patch by Walter Harms).
-accept terminal-id and add DA response for VT131, VT132.

Patch #356 - 2020/05/02
-revise fix for Debian #954730, which interfered with wheel mouse events
(report by Gabriele Balducci).

Patch #355 - 2020/05/01
-revise fix for Debian #954730, which interfered with wheel mouse events
(report by Henri Menke).
-fix typos in documentation (reports by Stephen Hurd, Stefan Assmann).
-add mapping for decTerminalID for 100 overlooked in patch #354.
-update tables in wcwidth.c based on Unicode 13.0.0
-build-fix for make check when building out-of-tree (report by Sven Joachim).

Patch #354 - 2020/04/26
-work around performance problems of XDrawImageString and XDrawImageString16
functions (Debian #954845).
-add a control sequence which reports xterm's version (patch by Nicholas
Marriott, mintty #881).
-temporarily set numeric locale category to "C" when parsing resources, so that
scaleHeight and faceSize settings do not depend on locale (Debian #820803).
-improve DA/DA2 response by ensuring that the decTerminalID maps to one of the
known identifiers, as well as providing DA2 response for VT241 and VT382.
-terminfo improvements:
-add (my) comments from ncurses which explain the keypad layouts.
-add vt52+keypad from ncurses
-use improved xm example for xterm+x11mouse, xterm+sm+1006 from ncurses 6.2
terminfo.src
-two fixes for left/right wheel mouse event reporting (Debian #954730):
filter identical button-events
correct order of button-range versus protocol type (see patch #345)
-change make check makefile-rule to use test-drivers for charclass and wcwidth
data.
-quiet did not find a usable xxx TrueType font warnings by making fontWarnings
apply to these messages (report by Jim Rees).
-improve reinitialization of parameter list (report/testcase by James Holderness).
-temporarily set numeric locale category to "C" when formatting SVG or XHTML
screendumps, to make the radix separator used in RGB values consistent
(adapted from patch by George Kouryachy).
-add resource forceXftHeight to control whether workaround from Debian #880407
is used.
-apply updated ascent/descent in workaround from Debian #880407 to fix a 1-pixel
gap in built-in vertical lines (report/testcase by Stefan Assmann).
-improve round-off of scaling for built-in line-drawing (prompted by discussion
with Stefan Assmann).
-adjust fonts in svg-icon files to accommodate reduced functionality of new pango
(report/analysis by YOKOTA Hiroshi).
-improve configure check for X Toolkit library.
-correct Y-coordinate transformation in ClearCurBackground, overlooked in changes
for patch #334 (report/analysis by Chuck Silvers).
-remove --vendor option from test-packages' install of desktop files; the feature
is badly broken in gnome-shell.
-modify uxterm to make it possible to select nonstandard locale C.UTF-8, e.g, if
the user's locale is set to C (Debian #940626).
-re-save/tweak .svg icon-files to work around breakage in toolset since the
files were created in patch #283.

Patch #353 - 2020/02/01
-amend change in patch #352 for button-events to fix a case where some followup
events were not processed soon enough (report/patch by Jimmy Aguilar Mena).
-handle MappingNotify X event, to improve recovery when switching keyboard
configurations using xkbcomp (prompted by discussion with Frank Mosch, Debian
#661295). There is more work needed here, possibly in the X libraries.
improve discussion of mouse-mode in ctlseqs.ms (suggested by Igor van den Hoven).
-further improve checks for Xft max-advance-width to take into account fonts
which use two cells for ambiguous width characters. Also improve the time used
for these checks (reports by Yuri Pankov, Frank Mosch).
-fix a few spelling errors reported by codespell (report by Jens Schleusener).
-modify run-tic.sh to prefer development version of ncurses since changes to
terminfo file in patch #345 rely upon bug-fixes in ncurses (prompted by discussion
with Will Senn).

Patch #352 - 2020/01/16
-adjust fontsize data to handle a minor inconsistency from recent Xft versions
(Debian #880407, adapted from patch by Vincent Lefèvre).
-add a table to the manual page description of forceBoxChars to alert the reader
to the special characters aside from line-drawing which are drawn directly
when this resource is set (Debian #931305).
-improve checkXft logic which attempts to detect fonts whose max-advance-width
is inconsistent with the actual glyph widths. For some fonts, it is necessary to
check additional characters (report/analysis by Jan Engelhardt).
-improve configure-checks for X headers and libraries on recent MacOS, which has
moved those files under /usr/X11.
-improve portability of iconify/deiconify feature by taking into account some
window managers which manipulate the EWMH _NET_WM_STATE property,
adding/removing _NET_WM_STATE_HIDDEN rather than actually minimizing the window
(pon with Jörg Breitbart).
-improve workaround from patch #287 fo postponing the extra request for minimizing the window to the key by itself can generate button-events
(report/analysis by Maal page (patch by Larry Hynes).
-add definitions in xterm_io.h updated autoconf macros
-update config.guess

Patch #351 - 2019-add -report-icons to help-message.
-improved autoconf macros:
update config.guess, config.sub
-correct status in XTGETXRES resize from the struct-notify event handler to prevent
-recursion(report by Stefan Assmann).
-improve the note on the xterm-rep  not ignore zero'd/blank cells.
-align terminfo file with ncurs-add vttests/modify-keys.pl script to illustrate the modifyOtheines resource default value
(Branden Robinson, Debian #913815).n is complete.
-add a control sequence which, like tcap-query, in the imake configuration as they
would be by default via the  Sven Joachim).
-build-fix for the case when configure --enableSven Joachim).
-fix a few minor bugs found with Coverity.
-add the --disable-doublechars configure option (report by Brian Lin-document window properties in the manual page.
-improve title-le-string encoded in UTF-8, check if that is the case, and if iencoding (FreeBSD #240393).
-Make sameName resource work for thn UTF-8 is active.
-reorganize text-drawing to make it possiblen switching from 132 to 80 columns.
-improve font-warning messafont-warning messages, to accommodate broken X configurations.
ont (Redhat #1679790). That relies upon the :unscaled
property configurations.
-set a graphic-context for border when double-bg when switching to reverse-video.
-build-fix for --disable-zic(report by Scott Bertilson).

Patch #348 - 2019/07/22
-update wos types, to improve compiler-warnings.
-ensure that when resetgins), and DECSTR.
-corrected order of reset/move when setting ing margins, rather than only when the mode is changed
(report fering configuration.
-correct logic for filtering scrollbar-updescription of 1006 and 1005 mouse modes, to avoid implying thawere xterm extensions
rather than VT100/VT220 terminal featuresnse (suggested by Thomas Wolff).
-fix a typo, improve wording iolff).
-fix off-by-one in VT52 graphics character mapping (patcarnings when building with imake.
-update config.sub

Patch #34esource to control the maximum rate of screen updates
(report bed by report by Martin Hostettler).
-correct off-by-one in paraestcase by Thomas Wolff).
-add resource buffered to allow enablthat the needSwap flag is set after drawing TrueType text
-corr video attributes. The attribute to use is
in the left-half (reomas Wolff).
-reset flags including wraparound and reverse-wrap(report by Thomas Wolff).
-ensure that italic font is turned ofth
binary-search table generated using updated uniset (report b name comparisons work when active-icon is enabled,
since CSI13e since 2008 (see patch #238).

Patch #346 - 2019/05/27
.update#862042).
-account for internalBorder in useBorderClipping (repcharacters in wcwidth.c based on Unicode 12.1.0
(prompted by diort by Bram Moolenaar).
-fix a sign-extension when reporting of run-tic.sh for HPUX, whose mktemp prints the name of a temporalation is VT420 (suggested by Thomas Wolff).
-modify treatment discussion
with Ben Wong, lsix #20).
-modify button-handling tor after
a direct-color to be ignored.
-add resource useBorderClRobert Ross).
-improve logic for displaying xterm's built-in li, as well as to
demonstrate push/pop of the various color typesof indexed-colors, contrary to documentation.
-reduce buffer-fl for OSC 5 use the 5 in the response; formerly
it was mapped to request.
-update tables of combining and unknown-width charact-add vttests/query-dynamic.pl
-modify vttests/query-color.pl towhether to use OSC 5 rather than OSC 4.
-modify cursor coloringmouse responses from patch #342 changes; the legacy
protocol suy.pl to demonstrate batch queries with -q option.
-increase reslation of predefined symbols
-check for updated X Toolkit, whicrt by Emile LeBlanc).
-documentation errata (patch by Larry Hynfull-screen mode.
-window's border-size was incorrectly added t
jperkin pushed a commit that referenced this issue Sep 21, 2020
(pkgsrc)
 - Add  TEST_DEPENDS+, but still fails at pdLaTeX

(upstream)
# fs 1.5.0
----------

* The libuv release used by fs was updated to 1.38.1

* `dir_create()` now consults the process umask so the mode during
  directory creation works like `mkdir` does (#284).

* `fs_path`, `fs_bytes` and `fs_perms` objects are now compatible with vctrs 0.3.0 (#266)

* `fs_path` objects now sort properly when there is a mix of ASCII and
  unicode elements (#279)

# fs 1.4.2
----------
* `file_info(..., follow = TRUE)`, `is_dir()`, and `is_file()`
  follow relative symlinks in non-current directories (@heavywatal, #280)

* `dir_map()` now grows its internal list safely, the 1.4.0 release
  introduced an unsafe regression (#268)

* `file_info()` returns a tibble if the tibble package is installed,
  and subsets work when it is a `data.frame` (#265)

* `path_real()` always fails if the file does not exist. Thus it can no longer
  be used to resolve symlinks further up the path hierarchy for files that do not
  yet exist. This reverts the feature introduced in 1.2.7 (#144, #221, #231)

# fs 1.4.1
----------
* Fix compilation on Solaris.

# fs 1.4.0
----------
* `[[.fs_path`, `[[.fs_bytes` and `[[.fs_perms` now preserve their
  classes after subsetting (#254).

* `path_has_parent()` now recycles both the `path` and `parent` arguments (#253).
* `path_ext_set()` now recycles both the `path` and `ext` arguments (#250).
* Internally fs no longer depends on Rcpp

# fs 1.3.2
----------
* fs now passes along `CPPFLAGS` during compilation of libuv, fixing an issue that could
  prevent compilation from source on macOS Catalina. (@kevinushey, #229)

* fs now compiles on alpine linux (#210)

* `dir_create()` now works with absolute paths and `recurse = FALSE` (#204).

* `dir_tree()` now works with paths that need tilde expansion (@dmurdoch, @jennybc, #203).

* `file_info()` now returns file sizes with the proper classes
  ("fs_bytes" and "numeric"), rather than just "fs_bytes" (#239)

* `get_dirent_type()` gains a `fail` argument (@bellma-lilly, #219)

* `Is_Dir()`, `is_file()`, `is_file_empty()` and `file_info()` gain a
  `follow` argument, to follow links and return information about the
  linked file rather than the link itself (#198)

* `path()` now follows "tidy" recycling rules, namely only consistent
  or length 1 inputs are recycled. (#238)

* `path()` now errors if the path given or constructed will exceed `PATH_MAX` (#233).

* `path_ext_set()` now works with multiple paths (@maurolepore, #208).
jperkin pushed a commit that referenced this issue Sep 21, 2020
2.0.3 (2020-08-22)
~~~~~~~~~~~~~~~~~~

- Fix issues when building re2c as a CMake subproject
  (`#302 <https://github.com/skvadrik/re2c/pull/302>`_:

- Final corrections in the SIMPA article "RE2C: A lexer generator based on
  lookahead-TDFA", https://doi.org/10.1016/j.simpa.2020.100027

2.0.2 (2020-08-08)
~~~~~~~~~~~~~~~~~~

- Enable re2go building by default.

- Package CMake files into release tarball.

2.0.1 (2020-07-29)
~~~~~~~~~~~~~~~~~~

- Updated version for CMake build system (forgotten in release 2.0).

- Added a short article about re2c for the Software Impacts journal.

2.0 (2020-07-20)
~~~~~~~~~~~~~~~~

- Added new code generation backend for Go and a new ``re2go`` program
  (`#272 <https://github.com/skvadrik/re2c/issues/272>`_: Go support).
  Added option ``--lang <c | go>``.

- Added CMake build system as an alternative to Autotools
  (`#275 <https://github.com/skvadrik/re2c/pull/275>`_:
  Add a CMake build system (thanks to ligfx),
  `#244 <https://github.com/skvadrik/re2c/issues/244>`_: Switching to CMake).

- Changes in generic API:

  + Removed primitives ``YYSTAGPD`` and ``YYMTAGPD``.
  + Added primitives ``YYSHIFT``, ``YYSHIFTSTAG``, ``YYSHIFTMTAG``
    that allow to express fixed tags in terms of generic API.
  + Added configurations ``re2c:api:style`` and ``re2c:api:sigil``.
  + Added named placeholders in interpolated configuration strings.

- Changes in reuse mode (``-r, --reuse`` option):

  + Do not reset API-related configurations in each `use:re2c` block
    (`#291 <https://github.com/skvadrik/re2c/issues/291>`_:
    Defines in rules block are not propagated to use blocks).
  + Use block-local options instead of last block options.
  + Do not accumulate options from rules/reuse blocks in whole-program options.
  + Generate non-overlapping YYFILL labels for reuse blocks.
  + Generate start label for each reuse block in storable state mode.

- Changes in start-conditions mode (``-c, --start-conditions`` option):

  + Allow to use normal (non-conditional) blocks in `-c` mode
    (`#263 <https://github.com/skvadrik/re2c/issues/263>`_:
    allow mixing conditional and non-conditional blocks with -c,
    `#296 <https://github.com/skvadrik/re2c/issues/296>`_:
    Conditions required for all lexers when using '-c' option).
  + Generate condition switch in every re2c block
    (`#295 <https://github.com/skvadrik/re2c/issues/295>`_:
    Condition switch generated for only one lexer per file).

- Changes in the generated labels:

  + Use ``yyeof`` label prefix instead of ``yyeofrule``.
  + Use ``yyfill`` label prefix instead of ``yyFillLabel``.
  + Decouple start label and initial label (affects label numbering).

- Removed undocumented configuration ``re2c:flags:o``, ``re2c:flags:output``.

- Changes in ``re2c:flags:t``, ``re2c:flags:type-header`` configuration:
  filename is now relative to the output file directory.

- Added option ``--case-ranges`` and configuration ``re2c:flags:case-ranges``.

- Extended fixed tags optimization for the case of fixed-counter repetition.

- Fixed bugs related to EOF rule:

  + `#276 <https://github.com/skvadrik/re2c/issues/276>`_:
    Example 01_fill.re in docs is broken
  + `#280 <https://github.com/skvadrik/re2c/issues/280>`_:
    EOF rules with multiple blocks
  + `#284 <https://github.com/skvadrik/re2c/issues/284>`_:
    mismatched YYBACKUP and YYRESTORE
    (Add missing fallback states with EOF rule)

- Fixed miscellaneous bugs:

  + `#286 <https://github.com/skvadrik/re2c/issues/286>`_:
    Incorrect submatch values with fixed-length trailing context.
  + `#297 <https://github.com/skvadrik/re2c/issues/297>`_:
    configure error on ubuntu 18.04 / cmake 3.10

- Changed bootstrap process (require explicit configuration flags and a path to
  re2c executable to regenerate the lexers).

- Added internal options ``--posix-prectable <naive | complex>``.

- Added debug option ``--dump-dfa-tree``.

- Major revision of the paper "Efficient POSIX submatch extraction on NFA".

----
1.3x
----

1.3 (2019-12-14)
~~~~~~~~~~~~~~~~

- Added option: ``--stadfa``.

- Added warning: ``-Wsentinel-in-midrule``.

- Added generic API primitives:

  + ``YYSTAGPD``
  + ``YYMTAGPD``

- Added configurations:

  + ``re2c:sentinel = 0;``
  + ``re2c:define:YYSTAGPD = "YYSTAGPD";``
  + ``re2c:define:YYMTAGPD = "YYMTAGPD";``

- Worked on reproducible builds
  (`#258 <https://github.com/skvadrik/re2c/pull/258>`_:
  Make the build reproducible).

----
1.2x
----

1.2.1 (2019-08-11)
~~~~~~~~~~~~~~~~~~

- Fixed bug `#253 <https://github.com/skvadrik/re2c/issues/253>`_:
  re2c should install unicode_categories.re somewhere.

- Fixed bug `#254 <https://github.com/skvadrik/re2c/issues/254>`_:
  Turn off re2c:eof = 0.

1.2 (2019-08-02)
~~~~~~~~~~~~~~~~

- Added EOF rule ``$`` and configuration ``re2c:eof``.

- Added ``/*!include:re2c ... */`` directive and ``-I`` option.

- Added ``/*!header:re2c:on*/`` and ``/*!header:re2c:off*/`` directives.

- Added ``--input-encoding <ascii | utf8>`` option.

  + `#237 <https://github.com/skvadrik/re2c/issues/237>`_:
    Handle non-ASCII encoded characters in regular expressions
  + `#250 <https://github.com/skvadrik/re2c/issues/250>`_
    UTF8 enoding

- Added include file with a list of definitions for Unicode character classes.

  + `#235 <https://github.com/skvadrik/re2c/issues/235>`_:
    Unicode character classes

- Added ``--location-format <gnu | msvc>`` option.

  + `#195 <https://github.com/skvadrik/re2c/issues/195>`_:
    Please consider using Gnu format for error messages

- Added ``--verbose`` option that prints "success" message if re2c exits
  without errors.

- Added configurations for options:

  + ``-o --output`` (specify output file)
  + ``-t --type-header`` (specify header file)

- Removed configurations for internal/debug options.

- Extended ``-r`` option: allow to mix multiple ``/*!rules:re2c*/``,
  ``/*!use:re2c*/`` and ``/*!re2c*/`` blocks.

  + `#55 <https://github.com/skvadrik/re2c/issues/55>`_:
    allow standard re2c blocks in reuse mode

- Fixed ``-F --flex-support`` option: parsing and operator precedence.

  + `#229 <https://github.com/skvadrik/re2c/issues/229>`_:
    re2c option -F (flex syntax) broken
  + `#242 <https://github.com/skvadrik/re2c/issues/242>`_:
    Operator precedence with --flex-syntax is broken

- Changed difference operator ``/`` to apply before encoding expansion of
  operands.

  + `#236 <https://github.com/skvadrik/re2c/issues/236>`_:
    Support range difference with variable-length encodings

- Changed output generation of output file to be atomic.

  + `#245 <https://github.com/skvadrik/re2c/issues/245>`_:
    re2c output is not atomic

- Authored research paper "Efficient POSIX Submatch Extraction on NFA"
  together with Dr Angelo Borsotti.

- Added experimental libre2c library (``--enable-libs`` configure option) with
  the following algorithms:

  + TDFA with leftmost-greedy disambiguation
  + TDFA with POSIX disambiguation (Okui-Suzuki algorithm)
  + TNFA with leftmost-greedy disambiguation
  + TNFA with POSIX disambiguation (Okui-Suzuki algorithm)
  + TNFA with lazy POSIX disambiguation (Okui-Suzuki algorithm)
  + TNFA with POSIX disambiguation (Kuklewicz algorithm)
  + TNFA with POSIX disambiguation (Cox algorithm)

- Added debug subsystem (``--enable-debug`` configure option) and new debug
  options:

  + ``-dump-cfg`` (dump control flow graph of tag variables)
  + ``-dump-interf`` (dump interference table of tag variables)
  + ``-dump-closure-stats`` (dump epsilon-closure statistics)

- Added internal options:

  + ``--posix-closure <gor1 | gtop>`` (switch between shortest-path algorithms
    used for the construction of POSIX closure)

- Fixed a number of crashes found by American Fuzzy Lop fuzzer:

  + `#226 <https://github.com/skvadrik/re2c/issues/226>`_,
    `#227 <https://github.com/skvadrik/re2c/issues/227>`_,
    `#228 <https://github.com/skvadrik/re2c/issues/228>`_,
    `#231 <https://github.com/skvadrik/re2c/issues/231>`_,
    `#232 <https://github.com/skvadrik/re2c/issues/232>`_,
    `#233 <https://github.com/skvadrik/re2c/issues/233>`_,
    `#234 <https://github.com/skvadrik/re2c/issues/234>`_,
    `#238 <https://github.com/skvadrik/re2c/issues/238>`_

- Fixed handling of newlines:

  + correctly parse multi-character newlines CR LF in ``#line`` directives
  + consistently convert all newlines in the generated file to Unix-style LF

- Changed default tarball format from .gz to .xz.

  + `#221 <https://github.com/skvadrik/re2c/issues/221>`_:
    big source tarball

- Fixed a number of other bugs and resolved issues:

  + `#2 <https://github.com/skvadrik/re2c/issues/2>`_: abort
  + `#6 <https://github.com/skvadrik/re2c/issues/6>`_: segfault
  + `#10 <https://github.com/skvadrik/re2c/issues/10>`_:
    lessons/002_upn_calculator/calc_002 doesn't produce a useful example program
  + `#44 <https://github.com/skvadrik/re2c/issues/44>`_:
    Access violation when translating the attached file
  + `#49 <https://github.com/skvadrik/re2c/issues/49>`_:
    wildcard state \000 rules makes lexer behave weard
  + `#98 <https://github.com/skvadrik/re2c/issues/98>`_:
    Transparent handling of #line directives in input files
  + `#104 <https://github.com/skvadrik/re2c/issues/104>`_:
    Improve const-correctness
  + `#105 <https://github.com/skvadrik/re2c/issues/105>`_:
    Conversion of pointer parameters into references
  + `#114 <https://github.com/skvadrik/re2c/issues/114>`_:
    Possibility of fixing bug 2535084
  + `#120 <https://github.com/skvadrik/re2c/issues/120>`_:
    condition consisting of default rule only is ignored
  + `#167 <https://github.com/skvadrik/re2c/issues/167>`_:
    Add word boundary support
  + `#168 <https://github.com/skvadrik/re2c/issues/168>`_:
    Wikipedia's article on re2c
  + `#180 <https://github.com/skvadrik/re2c/issues/180>`_:
    Comment syntax?
  + `#182 <https://github.com/skvadrik/re2c/issues/182>`_:
    yych being set by YYPEEK () and then not used
  + `#196 <https://github.com/skvadrik/re2c/issues/196>`_:
    Implicit type conversion warnings
  + `#198 <https://github.com/skvadrik/re2c/issues/198>`_:
    no match for ‘operator!=’ in ‘i != std::vector<_Tp, _Alloc>::rend() [with _Tp = re2c::bitmap_t, _Alloc = std::allocator<re2c::bitmap_t>]()’
  + `#210 <https://github.com/skvadrik/re2c/issues/210>`_:
    How to build re2c in windows?
  + `#215 <https://github.com/skvadrik/re2c/issues/215>`_:
    A memory read overrun issue in s_to_n32_unsafe.cc
  + `#220 <https://github.com/skvadrik/re2c/issues/220>`_:
    src/dfa/dfa.h: simplify constructor to avoid g++-3.4 bug
  + `#223 <https://github.com/skvadrik/re2c/issues/223>`_:
    Fix typo
  + `#224 <https://github.com/skvadrik/re2c/issues/224>`_:
    src/dfa/closure_posix.cc: pack() tweaks
  + `#225 <https://github.com/skvadrik/re2c/issues/225>`_:
    Documentation link is broken in libre2c/README
  + `#230 <https://github.com/skvadrik/re2c/issues/230>`_:
    Changes for upcoming Travis' infra migration
  + `#239 <https://github.com/skvadrik/re2c/issues/239>`_:
    Push model example has wrong re2c invocation, breaks guide
  + `#241 <https://github.com/skvadrik/re2c/issues/241>`_:
    Guidance on how to use re2c for full-duplex command & response protocol
  + `#243 <https://github.com/skvadrik/re2c/issues/243>`_:
    A code generated for period (.) requires 4 bytes
  + `#246 <https://github.com/skvadrik/re2c/issues/246>`_:
    Please add a license to this repo
  + `#247 <https://github.com/skvadrik/re2c/issues/247>`_:
    Build failure on current Cygwin, probably caused by force-fed c++98 mode
  + `#248 <https://github.com/skvadrik/re2c/issues/248>`_:
    distcheck still looks for README
  + `#251 <https://github.com/skvadrik/re2c/issues/251>`_:
    Including what you use is find, but not without inclusion guards

- Updated documentation and website.
jperkin pushed a commit that referenced this issue Oct 9, 2020
Vala 0.50.1
===========
 * Various improvements and bug fixes:
  - codegen:
    + Don't falsly use g_return_val_if_fail() for async creation method [#1077]
    + Don't pass CCodeFunctionCall to NULL-aware free macro
  - vala:
    + Improve parsing of with-statement and allow it as embedded statement
    + Prioritize the usage of an existing with-variable instance,
      Recognize previously inserted implicit access to with-variable [#1043]
  - parser: Allow to begin expression with statement keyword [#1073]
  - g-i: Fix a couple of C compiler warnings
  - libvaladoc: Fix a couple of C compiler warnings
  - testrunner: Pass --enable-checking to increase coverage, Filter external
    -0X flags to preserve current default -O0
  - build: Stop passing obsolete --use-header

 * Bindings:
  - gstreamer: Update from 1.19.0+ git master
  - gtk4: Don't skip LayoutManager.create_layout_child() [#1071]
  - gtk4: Update to 3.99.1+15b635d7
  - vapi: Update GIR-based bindings
  - webkit2gtk-4.0: Update to 2.30.1

Vala 0.50.0
===========
 * Various improvements and bug fixes:
  - codegen: The actual struct size is required for calloc (POSIX) [#1068]

 * Bindings:
  - gstreamer: Update from 1.18.0+ git master
  - poppler-glib: Update to 20.09.0
  - vapi: Update GIR-based bindings

Vala 0.49.92
============
 * Various improvements and bug fixes:
  - Don't use locale dependent string functions on syntax strings [#1067]
  - girparser: Additionally fallback to "glib:type-name" to retrieve the cname
  - libvaladoc/girimporter:
    + Fallback to "name" for callback
    + Fallback to "glib:type-name" for class, interface and record
    + Improve parse_symbol_doc() and don't use parse_doc()
    + Skip "attribute" elements
  - libvaladoc/gtkdoc-importer:
    + Correctly retrieve "url" from "ulink" elements
    + Don't let parse_block_taglet() return null

 * Bindings:
  - gtk4: Update to 3.99.1
  - vapi: Update GIR-based bindings

Vala 0.49.91
============
 * Various improvements and bug fixes:
  - codegen: Don't append unreachable clean-up section of Block [#169] [#838]
  - codegen: Always include base_struct declaration if available [#464]
  - vala: Additionally break on ObjectCreationExpression in "tainted" check
  - vala: Add ObjectCreationExpression.to_string()
  - manual: Update from wiki.gnome.org

 * Bindings:
  - gio-unix-2.0,glib-2.0: Updates for 2.66
  - gtk4: Resolve a few conflicts of methods with virtual-methods

Vala 0.49.90
============
 * Regression and bug fixes:
  - Revert "girwriter: Use appropriate get_ccode_* functions" [#1059]
  - tests: Don't rely on undefined use-after-free behaviour of glibc
  - Add TraverseVisitor for traversing the tree with a callback
  - Force usage of temporary variables for "tainted" member accesses [#1061]
  - vala: Move transformation of unary increment/decrement to codegen
  - vala: Set parent_node for child nodes of lambda-expression [#1062]

 * Bindings:
  - gstreamer: Update from 1.17.2+ git master
  - gtk4: Update to 3.99.0+e6e2d6b4
  - pango: Update from 1.46.0
  - webkit2gtk-4.0: Update to 2.29.91

Vala 0.49.2
===========
 * Highlights:
  - Support non-virtual signals with default handler [#1056]

 * Various improvements and bug fixes:
  - codegen: Include header for base-symbols when connecting vfuncs
  - vala:
    + Inherit CCode.returns_floating_reference attribute from base [#1053]
    + Mark tranformed member-access as qualified [#57]
    + Switch context if with-variable is not owned by with-statement [#1043]
  - girparser: Add support for string "feature_test_macro" metadata

 * Bindings:
  - gio-2.0: Include "gio/gsettingsbackend.h" for GLib.SettingsBackend
    members [#1054]
  - goocanvas-2.0: Fix some field ownerships and types [#1057]
  - gstreamer: Update from 1.17.2+ git master
  - gtk4: Update to 3.99.0+358b698e
  - pango: Update from 1.45.4+
  - posix: Add missing "has_typedef" attribute for some delegates
  - posix: Declare WRDE_APPEND constant as public
  - vapi: Update GIR-based bindings

Vala 0.49.1
===========
 * Highlights:
  - Use defintions of public header in internal header if available
    and drop --use-header compiler option and enable it by default [#713]
  - gdbus: Use GDBusProxy API to set `g-interface-info` at initialization time
  - Check vfunc of abstract/virtual methods and property accessors for NULL
    before using it [#153]
  - Check coverage of switch on enum-type and issue warnings if needed [#777]
  - Map empty start/end index to 0/length for slice expressions [#238]
  - Add support for "with" statement (mark them experiemental) [#327]
  - Use inheritted scopes of base-types/prerequisites to resolve symbols [#54]

 * Various improvements and bug fixes:
  - codegen:
    + Add implicit parameter and instance checks in async method [#1005]
    + Make use of CCode.cname for label name of CatchClause
  - vala:
    + Move setting of target profile and standard packages into CodeContext
    + Remove some public API from expressions and statements
    + Add Expression.is_always_true/false() helpers
    + Add InvalidExpression as replacement for erroneous nodes instead
    + Don't loose invalid_syntax when copying array type for variables [#942]
  - girparser: Strip "Enum"-suffix only from enumeration
  - girwriter: Internal fields/vfuncs in type-symbols are public in C [#513]
  - libvaladoc: Remove unused Api.Class.get_finalize_function_name() API
  - testrunner: Add more -Werror=* flags

 * Bindings:
  - gio-unix-2.0: Fix "g_unix_mount_for" binding [#1052]
  - glib-2.0,gio-2.0,gobject-2.0: Updates for 2.66
  - glib-2.0: data of GLib.Bytes is allowed to be null
  - glib-2.0: Add more explicit type_id attributes for various symbols
  - gstreamer: Update from 1.17.2+ git master
  - gtk4: Update to 3.99.0+d743e757
  - pango: Update from 1.45.2
  - vapi: Update GIR-based bindings
jperkin pushed a commit that referenced this issue Oct 19, 2020
This notably fixes a security issue, CVE-2020-27197.

Version 1.1.118:

 * #247 [CVE-2020-27197] Avoid SSRF on parsing XML (@orsinium)

Version 1.1.117:

 * #244 SSL Verify Server not working correctly (@motok) (@nschwane)
 * #245 Unicode lxml.etree.SerialisationError on lxml 4.5.0+ (@advptr)

Version 1.1.116:

 * #240 PY3 Compatibility changes for HTTP Response Body (@nschwane)

Version 1.1.115:

 * #239 Convert the HTTP response body to a string type (PY3 this will be bytes) (@sddj)

Version 1.1.114:

 * #237 Support converting dicts to content bindings (@danielsamuels)
 * #238 Provide XMLParser copies instead of reusing the cached instance. Prevents future messages to lose namespace

Version 1.1.113:

 * #234 Add ability to load a configuration file when executing a script
 * #232 Fix TLS handshake failure when a server requires SNI (@marcelslotema)

Version 1.1.112:

 * #227 Fixes to poll_client script (Python3 compatibility)
 * #226 Clean-up documentation warnings
 * #228 Fix 'HTTPMessage' has no attribute 'getheader' (Python3 compatibility)
 * #225 Fix checks that involve xpath (lxml) to prevent FutureWarning message
 * #230 Fix parsing status message round-trip (@danielsamuels)

Thanks leot@ and pkgsrc's security team for the heads up!
Pull-up to be requested.
jperkin pushed a commit that referenced this issue Jan 27, 2021
Most work done by leot@ and sjmulder@ in pkgsrc-wip.

tig-2.5.1
---------

Improvements:

 - bash/zsh completion: reimplement and decrease runtime by factor 1863. (#795)
 - Add binding to reflog view to toggle reference display.
 - Fail if tig is given an invalid or ambiguous ref. (#980)
 - Make tig process-group leader an option. (#986, #951)
 - Handle GIT_WORK_TREE environment variable.
 - The blame view requires a working tree.
 - Fix use of deprecated vwprintw() function.
 - Update utf8proc to v2.5.0.
 - Add --word-diff=plain colorizing support. (#221)

Bug fixes:

 - Fix segmentation fault. (#971)
 - Fix cursor position after "Move to parent" in blame view. (#973)
 - Fix crash on adding a line to a view. (#523)
 - Fix memory leak in diff unit.
 - Fix loop after refresh or change in refs/main split view. (#991)
 - Fix occasional crash on custom key bindings. (#1001)

tig-2.5.0
---------

Improvements:

 - Single file view enters blame mode on "b". (#804)
 - Show untracked files in the default view. (#762)
 - Disable graph if log.follow is enabled and there is only one pathspec.
   (#881)
 - Disable graph for author searches.
 - git_colors: interpret 'ul' as 'underline'.
 - Add refname variable. (#900)
 - Add -C option to specify the working directory. (#570)
 - Improve behaviour of auto and periodic refresh modes. (#389, #441, #482,
   #794, #888, #932)
 - Add support for repos created with git --work-tree. (#872)
 - Add diff-highlight to pager mode.
 - Show annotated commits in main view. (#819)
 - Introduce reflog view. (#538)
 - Add option to start with cursor on HEAD commit. (#755)
 - Support combined diffs with more than 2 parents.
 - Improve how a toggle option value is shown on the status line. (#879)
 - Add options to filter refs output. (#694)
 - Update utf8proc to v2.4.0. (#961)

Bug fixes:

 - Fix garbled cursor line with older ncurses versions.
 - Fix diff highlighting of removed lines starting with -- and added lines
   starting with ++. (#871, #875)
 - Fix loop when displaying search result if regex matches an empty string.
   (#866)
 - Add synchronous command description in tigrc.
 - Fix parsing of git rev-parse output. (#884)
 - Propagate --first-parent to diff arguments. (#861)
 - Use proper type for hash table size. (#858)
 - Fix incorrect cppcheck warning about realloc() use.
 - Don't shift signed int by 31 bits.
 - Fix Vim going background after running Tig outside of a git repository.
   (#906)
 - make-builtin-config: use "read -r". (#912)
 - Fix segfaults with readline 8.0. (#893)
 - Reset state before closing stage view automatically.
 - Don't use a child view as previous view.
 - Force reload of VIEW_FLEX_WIDTH views only when needed.
 - Combined diff uses @@@ as hunk marker.
 - Fix memory leak induced by 'tig grep'.
 - Fix memory leak in main view.
 - Exit gracefully if refs view was defined without ref column. (#897)
 - Fix pager view not moving up when child view is open.
 - make-builtin-config: Fix unportable sed usage in read_tigrc().
 - Properly detect combined diffs. (#942)

tig-2.4.1
---------

Bug fixes:

 - Add `CURSES_CFLAGS` to `CPPFLAGS`. (#856, Linuxbrew/homebrew-core#8440)

tig-2.4.0
---------

Improvements:

 - Add 'send-child-enter' option to control interaction with child views.
   (#791)
 - Update make config defaults for Cygwin to ncurses6. (#792)
 - Build against netbsd-curses. (#789)
 - Change the blame view to render more like `git blame`. (#812)
 - Improve worktree and submodule support. (#459, #781, #783)
 - Support running Tig via a Git alias. (#763)
 - Use ISO-8601 letters for short relative dates. (#759, #760)
 - Change date formatting to show time zones by default. (#428, #811)
 - Use utf8proc to handle Unicode characters. (#827)

Bug fixes:

 - Fix `file(1)` argument on Linux used for resolving encodings. (#788)
 - Fix underflow in the file search. (#800, #801)
 - Fix line numbers in grep view when scrolled. (#813)
 - Pass command line args through to the stage view. (#569, #823)
 - Fix resource leak. (#780)
 - Fix various compiler warnings and pointer arithmetic. (#799, #803)
 - Workaround potential null pointer dereferences. (#824)
 - Bind to single and double quotes by using the *<SingleQuote>* and
   *<DoubleQuote>* key mappings. (#821)
 - Make Tig the process-group leader and clean child processes. (#828, #837)
 - Fix sh compatibility in `contrib/tig-pick`. (#832)
 - Fix incorrect behaviour of up and down keys in diff view when opened from
   diff preview. (#802, #835)
 - Open the stage view when maximizing a split diff view of (un)staged changes.
   (#836)
 - Use fully qualified reference name for tags when conflicting with branch
   name. (#746, #787, #849)
 - Fix resize not working after entering command. (#845) (#846)
 - Use stack allocated memory to handle `TIG_LS_REMOTE`. (#839)
 - Fix deleted file mode line remains highlighted after hovering in diff or
   stage view. (#851)
 - Fix `TIG_LS_REMOTE` not working with git-ls-remote(1). (#853, #854)

tig-2.3.3
---------

Bug fixes:

 - Revert "Handle \n like \r (#758)". (GH #769)
 - Fix GH #164 by catching SIGHUP.
 - Change `refs_tags` type to `size_t`.

tig-2.3.2
---------

Bug fixes:

 - Fix busy loop detection to handle large repos. (GH #164)

tig-2.3.1
---------

Improvements:

 - Restore TTY attributes. (GH #725)
 - Handle `\n` like `\r`. (GH #758)

Bug fixes:

 - Add workaround that detects busy loops when Tig loses the TTY. This may
   happen if Tig does not receive the HUP signal (e.g. when started with
   `nohup`). (GH #164)
 - Fix compatibility with ncurses-5.4 which caused copy-pasting to not work
   in the prompt. (GH #767)
 - tig(1): document correct environment variable. (GH #752)

tig-2.3.0
---------

Incompatibilities:

 - The `width` setting on the `status`, `text` and `commit-title` columns was
   never applied and has been removed. (GH #617)

Improvements:

 - Improve load performance by throttling screen updates. (GH #622, #629)
 - Speed up graph rendering. (GH #638)
 - Enable scroll optimizations for Terminal.app and iTerm2. (GH #637)
 - Improve the test suite portability to not depend on GNU sed. (GH #609, #614)
 - Make build reproducible. (https://reproducible-builds.org/) (GH #613)
 - Enable binding to more symbolic keys and keys with control modifier:
   `F13`-`F19`, `ShiftLeft`, `ShiftRight`, `ShiftDel`, `ShiftHome`, `ShiftEnd`,
   `ShiftTab`, `Ctrl-C`, `Ctrl-V`, `Ctrl-S`, and `Ctrl-@`. (GH #314, #619,
   #642)
 - Persist readline history to `~/.tig_history` or `$XDG_DATA_HOME/tig/history`.
   Use `history-size` to control the number of entries to save. (GH #620, #713,
   #714, #718)
 - Preload last search from persistent history. (GH #630)
 - Add `view-close-no-quit` action, unbound by default. (GH #607)
 - Add `mouse-wheel-cursor` option (off by default) when set to true causes
   wheel actions to prefer moving the cursor instead of scrolling. (GH #608)
 - Add `truncation-delimiter` option, set to `~` by default. (GH #646)
 - Add `-q` parameter to `source` for "source-if-present". (GH #612)
 - Add `:echo` prompt command to display text in the status bar. (GH #626, #636)
 - Make `diff-highlight` colors configurable. (GH #625, #633)
 - Let Ctrl-C exit Y/N dialog, menu prompts and the file finder. (GH #632, #648)
 - Hide cursor unless at textual prompt. (GH #643)
 - Expand tilde ('~') in `:script` paths. (GH #674)
 - Show single-line output of external command in status bar. (GH #200, #557,
   #678)
 - Disable the graph when `--no-merges` is passed. (GH #687)
 - Print backtraces on segfault in debug mode.
 - Ignore script lines starting with `#` (comment). (GH #705)
 - Complete `repo:*` variables when readline is enabled. (GH #702)
 - Incorporate XTerm's `wcwidth.c` to find Unicode widths. (GH #691)

Bug fixes:

 - Fix graph display issues. (GH #419, #638)
 - Fix and improve rendering of Unicode characters. (GH #330, #621, #644, #682)
 - Handle hyphenated directory names when listing content. (GH #602)
 - Do not jump to next match when cancelling the search prompt. (GH #627)
 - Fix clearing of the status line after `Ctrl-C`. (GH #623, #649)
 - Fix handling of width on line-number and trimmed width of 1. (GH #617)
 - Set cursor position when not updating prompt contents. (GH #647)
 - Erase status line at exit time for users without altscreen-capable terminals.
   (GH #589)
 - Fix unexpected keys when restoring from suspend (`Ctrl-Z`). (GH #232)
 - contrib/vim.tigrc: Also bind G in the main as a workaround for limitations of
   the `none` action. (GH #594, #599)
 - Only override `blame-options` when commands are given and fix parsing of
   `-C`. (GH #597)
 - Fix diff name discovery to better handle prefixes.
 - Interpret button5 as wheel-down. (GH #321, #606)
 - Fix `back` / `parent` in tree view. (GH #641)
 - Fix memory corruption in `concat_argv` and file finder. (GH #634, #655)
 - Fix reading from stdin for `tig show`.
 - Document problem of outdated system-wide `tigrc` files in Homebrew. (GH #598)
 - Repaint the display when toggling `line-graphics`. (GH #527)
 - Fix custom date formatting support longer strings. (GH #522)
 - Don't segfault on ":exec" irregular args. (GH #686)
 - Fix segfault when calling htab_empty. (GH #663, #745)

tig-2.2.2
---------

Upgrade instructions:

 - The `status-untracked-dirs` option was renamed to
   `status-show-untracked-dirs` to match the new `status-show-untracked-files`
   option.

Improvements:

 - Use `diff-options` when preparing the diff in the stage view to make the diff
   state configurable. (GH #545)
 - Add 'status-show-untracked-files' option mirroring Git's
   'status.showUntrackedFiles' to toggle display of untracked files.  in the
   status view. On by default. (GH #562)
 - Update `ax_with_curses.m4` and use `pkg-config` to detect. (GH #546)
 - Add `tig-pick` script for using Tig as a commit picker. (GH #575, #580)
 - Add "smart case" option ('set ignore-case = smart-case') to ignore case when
   the search string is lower-case only. (GH #320, #579)

Bug fixes:

 - Fix author ident cache being keyed by email only. (GH #424, #526, #547)
 - Fix periodic refresh mode to properly detect ref changes. (GH #430, #591)
 - Add workaround for detecting failure to start the diff-highlight process.
 - Show diffs in the stash view when `set mailmap = true`. (GH #556)
 - Fix parsing of git-log revision arguments, such as `--exclude=...` in
   conjunction with `--all`. (GH #555)
 - Fix diff stat parsing for binary copies.
 - Fix crash when resizing terminal while search is in progress. (GH #515, #550)
 - Fix argument filtering to pass more arguments through to Git.
 - Check for termcap support in split tinfo libs. (GH #568, #585)

tig-2.2.1
---------

Improvements:

 - Support Git's 'diff-highlight' program when `diff-highlight` is set to either
   true or the path of the script to use for post-processing.
 - Add navigation between merge commits. (GH #525)
 - Add 'A' as a binding to apply a stash without dropping it.
 - Bind 'Ctrl-D' and 'Ctrl-U' to half-page movements by default.
 - manual: Mention how to change default Up/Down behavior in diff view.

Bug fixes:

 - Reorganize checking of libraries for termcap functions.
 - Fix `:goto <id>` error message.

tig-2.2
-------

Incompatibilities:

 - Note that all user-defined commands are now executed at the repository root
   instead of whatever subdirectory Tig was started in. (GH #412)
 - Remove `cmdline-args` option to avoid problems where setting it in `~/.tigrc`
   potentially breaks other views due to its "context-sensitive" nature, where
   a `git-log` option maybe cause `git-grep` to fail. (GH #431)

Improvements:

 - Use .mailmap to show canonical name and email addresses, off by default.
   Add `set mailmap = yes` to `~/.tigrc` to enable. (GH #411)
 - Highlight search results, configurable via `search-result` color. (GH #493)
 - Wrap around when searching, configurable via `wrap-search` setting.
 - Populate `%(file)` with file names from diff stat. (GH #404)
 - `tig --merge` implies `--boundary` similar to gitk.
 - Expose repository variables to external commands, e.g. `%(repo:head)` gives
   the branch name of the current HEAD and `%(repo:cdup)` for the repo root
   path.
 - Add `make uninstall`. (GH #417)
 - Add ZSH completion file (based on Bash completion) (GH #433)
 - Expose the text of the currently selected line as the %(text) (GH #457)
 - Allow users to specify rev arguments to blame (GH #439)
 - Update OSX make config to find brew installed ncurses
 - Add sample git-flow keybinding (GH #421)
 - Add chocolate theme (GH #432)
 - Show stash diffs. (GH #328)
 - Make user tigrc location configurable. (GH #479)
 - Compact relative date display mode. (GH #331)
 - Add date column option controlling whether to show local date.
 - Move to parent commit in the main view. (GH #388)
 - Add `:goto <rev>` prompt command to go to a `git-rev-parse`d revision, e.g.
   `:goto some/branch` or `:goto %(commit)^2`.
 - Respect the XDG standard for configuration files. (GH #513)
 - Show tracking information in `tig status` (GH #504)
 - Resolve diff paths when `diff.noprefix` is true. (GH #487, #488)
 - Support for custom `strftime(3)` date formats, e.g.:

	set main-view-date = custom
	set main-view-date-format = "%Y-%m-%d"

Bug fixes:

 - Prevent staged rename from displaying unstaged changes (GH #472, #491)
 - Fix corrupt chunk header during staging of single lines. (GH #410)
 - Fix out of bounds read in graph-v2 module. (GH #402)
 - Add currently checked out branch to `%(branch)`. (GH #416)
 - Size diff stats correctly for split views.
 - Fix `git-worktree` support by using `git-show-ref`. (GH #437)
 - Add currently checked out branch to `%(branch)` (GH #416)
 - Fix segfault when hitting return in empty file search (GH #464)
 - Remove separator on horizontal split when switching from vertical split
 - Do not expand `--all` when parsing `%(revargs)` (GH #442, #462)
 - Fix exit when the main view is reloaded due to option toggling. (GH #470)
 - Expand all whitespace and control characters to spaces. (GH #485)
 - Restore ability to unbind a default keybinding with `none`. (GH #483)
 - Fix blob view to honor the `wrap-lines` setting.

tig-2.1.1
---------

Improvements:

 - Add support for key combos. (GH #67)
 - See `contrib/vim.tigrc` for Vim-like keybindings. (GH #273, #351)
 - Add GitHub inspired file finder to search for and open any file. (GH #342)
 - Add `search` keymap for navigating file finder search results.

Bug fixes:

 - Fix display of multiple references per commit. (GH #390, #391)
 - Sync the prompt's cursor position with readline's internal position.
   (GH #396)
 - Keep unstaged changes view open after an staging command. (GH #399)

tig-2.1
-------

Improvements:

 - Improve C99 compliance so Tig compiles with the native compilers on
   Solaris (SunStudio cc) and AIX (xlc). (GH #380)
 - Add move-half-page-up and move-half-page-down actions. (GH #323)
 - Preserve the cursor position when changing the diff context.
 - Show 'Unstaged changes' above 'Staged changes' in the main view. (GH #383)
 - Add `:exec <flags><args...>` prompt command to execute commands.
 - Add shorthand for changing the view settings of a single column,
   eg. `set main-view-author = short`. (GH #318)
 - Show better diff context info in the stage view.
 - Add `%(lineno)` state variable. (GH #304)
 - Use hash table to speed up refs lookup. (GH #350)
 - Show the file path in the blob view when available.
 - Use `set commit-order = default` to use Git's default commit order, even when
   the commit graph is enabled. The option will turn off automatic enabling of
   `--topo-order` when the graph is shown in the main view. (GH #310, #324)
 - Speed up the diff view in large repos by loading git-describe info after the
   diff content has been read. (GH #324)
 - Add the old graph rendering as an option. (GH #310, #324)
 - Add `main-options` setting for specifying default main view options.
   Example: `set main-options = --max-count=1000`. (GH #368)
 - See `contrib/large-repo.tigrc` for settings that will help to speed up Tig in
   large repos. (GH #368)
 - Add `:save-options <file>` prompt command to save config to file. (GH #315)

Bug fixes:

 - Update manual to reflect default keybinding changes. (GH #325)
 - Fix graph support for `--first-parent`. (GH #326)
 - Fix off-by-one error when opening editor from the grep view.
 - Fix status on-branch information.
 - Fix main view to handle the case when git-log doesn't find any commits.
 - Fix corner case when parsing diff chunk when lines information is missing.
 - Ensure main view changes commits are shown right before the current HEAD.
 - Fix rendering of boundary commits.
 - Fix compilation with GNU Make 3.80 by removing `$(abspath)`. (GH #362)
 - Fix config parsing to support shell-like quoting in user-defined command,
   e.g. `bind generic <Ctrl-f> :!git log -G"%(prompt Prompt: )"` (GH #371)
 - Make diff meta information colors more consistent with Git. (GH #375)
 - Fix segfault when updating changes in a maximized stage view opened via the
   main view. (GH #376)
 - Handle line number configs where the interval is not specified. (GH #378)
 - Fix display of error messages during startup. (GH #385)
 - Show untracked files outside the current directory like git-status. (GH #230)

tig-2.0.3
---------

Improvements:

 - Add `:save-display <file>` prompt command to save the current display.
 - Add `:script <file>` prompt command for scripting the Tig UI.
 - Add test framework and convert existing tests to use it.
 - Add command-line option for starting in refs view: `tig refs`. (GH #309)
 - Make blame commit ID colors stable across reloads. (GH #303)
 - Increase blame ID and graph rendering color palette to 14 colors.
 - New setting 'split-view-width' controls the width for vertical splits. It
   takes the width of the right-most view either as a number or a percentage.
 - Expose settings holding command line argument lists: `file-args`, `rev-args`,
   and `cmdline-args`. They are mainly intended for testing purposes but also
   allows to change the filtering arguments dynamically. (GH #306)
 - Add `log-options` setting for specifying default log view options.
   Example: `set log-options = --pretty=fuller`.
 - Use option specific view flags to reload view after `:set` commands.

Bug fixes:

 - Refresh the current view when returning from an external command and
   `refresh-mode=after-command`. (GH #289)
 - Fix readline completion.
 - Fix '/' to `find-next` when readline support is enabled. (GH #302)
 - Fix readline prompt to correctly handle UTF-8 characters.
 - Add warnings for more obsolete actions and colors.
 - Fix passing of commit IDS via stdin to the main view.
 - Fix commit title overflow drawing for multibyte text. (GH #307)
 - Fix installation directory permissions.
 - Handle binary files matches reported by git-grep.
 - Toggling of "args"-typed options without any arguments will clear the current
   arguments. Example: `:toggle blame-options`.
 - Detect custom `pretty.format` settings that break the log view and fallback
   to use the `medium` format. (GH #225)
 - Fix invocation of git-diff for the blame view's line tracking. (GH #316)
 - Fix blame completion of directory names. (GH #317)
 - Fix display of conflicts in the main view when 'show-changes' is enabled.
 - Fix off-by-one error when displaying line numbers in the grep view.
 - When showing the commit graph ensure that either topo, date or author-date
   commit order is used. (Debian #757692) (GH #238)

tig-2.0.2
---------

Improvements:

 - Use git-status for diffing the index.
 - Group toggle options together in the help view.

Bug fixes:

 - Fix refs, main and grep loading when 'gui.encoding' is set. (GH #287)
 - Ignore 'gui.encoding' and 'i18n.commitencoding' when set to 'UTF-8'.
 - Add work-around for missing strndup() on Mac OS X v10.6. (GH #286)
 - Fix spurious abbreviation of author names. (GH #288)
 - Don't show empty action groups in the help view.

tig-2.0.1
---------

Bug fixes:

 - Fix compilation in watch.c.
 - Fix parsing of key bindings mapped to '^' and '<'. (GH #280, #282)

tig-2.0
-------

Incompatibilities:

 - In preparation for key combo support, key mappings for symbolic keys (e.g.
   `Up` and `Down`) must now start with `<` and end with `>`, e.g. `<Up>` and
   `<Down>`. Furthermore, escape key combos must now use `<Esc>key` instead of
   `^[key`, and control key mappings must now use `<Ctrl-key>` instead of
   `^key`.
 - Only use 'diff-options' for the diff view and introduce '%(cmdlineargs)' to
   hold non-file and non-revision flags passed on the command line. Affects all
   user-defined commands that expect '%(diffargs)' to hold both 'diff-options'
   arguments and those passed on the command line. (GH #228)
 - Remove built-in keybinding for `git gc`. Add the following line to `~/.tigrc`
   to restore it: `bind generic G ?git gc`.
 - To support view specific colors, '.' can no longer be used interchangeably
   with '-' and '_' in settings names and in particular color names.
 - Replace 'stage-next' action with prompt command using a predefined search
   (see below) and add binding (`@` by default) to also work in the diff view.
 - Most view display options must now be set via the new `*-view` options in
   tigrc. Existing options are no longer recognized, but a warning is shown.
 - Remap default bindings to have more consistent convention: use lower-case
   keys primarily for view switching and non-destructive actions, use upper-case
   keys for view-specific actions including user-defined commands. To preserve
   old default key bindings see `contrib/bindings-v1.x.tigrc`. (GH #257)

Improvements:

 - Add mouse support: scroll view, click line to move cursor, double click line
   (or click again) to "Enter" cursor line, e.g. open commit diff. Disabled by
   default, since it makes text selection less intuitive. If you enable this
   remember to hold down Shift (or Option on Mac) when selecting text.
 - Rewrite and improve the rendering of the commit graph. (GH #144, #46)
 - Add completion and history support to the prompt via readline. (GH #185)
 - Options can be configured and toggled individually for each view. Use the new
   view settings to configure the order and display options for each view
   columns. See system tigrc and tigrc(5) for examples. (GH #89, #222)
 - Add grep view as a front-end to git-grep(1): `tig grep -p strchr`. From
   within Tig, the key for switching or grepping is bound to 'g' by default.
 - Rename 'branch' view to 'refs' view and show tags. (GH #134)
 - Add main view pager mode that reads git-log's '--pretty=raw' data
   from stdin, e.g. `git reflog --pretty=raw | tig --pretty=raw`.
 - Add support for `--graph` and highlight diff stats in the log view.
 - Add default command bindings: `!` to delete branch, `!` to drop stash.
 - Add 'stage-split-chunk' action for splitting chunks in the stage view.
   Bound to '\' by default. (GH #107)
 - Add 'back' action bound to '<' by default, which will return the blame view
   to the previous revision and line after moving e.g. to the parent. (GH #124)
 - Auto-refresh views based on watched repository changes. Configure by setting
   `refresh-mode` to 'manual', 'auto', 'after-command', or 'periodic'. (GH #190)
 - All default settings are in well-documented system `tigrc`.
 - Add `:toggle` prompt command to manipulate options using keybindings. For
   example: `bind diff D :toggle diff-options --patience --notes`. (GH #69)
 - Add a new "auto" value for the 'vertical-split' option to let Tig choose the
   split orientation (this is the new default behavior). Can be toggled.
 - Make it possible to toggle the display of files in untracked directories.
 - Allow Tig to be started with no default configuration by specifying an
   alternative system `tigrc` file, e.g.: `TIGRC_SYSTEM=~/.tigrc.safe tig`. Set
   `TIGRC_SYSTEM` to the empty string to use built-in configuration instead of
 - Key mappings can contain UTF-8 multibyte unicode keys.
 - Warn about conflicting keybindings using Ctrl, e.g. `<Ctrl-f>` and
   `<Ctrl-F>`. (GH #218)
 - Extend key bindings for prompt commands (ie. `bind <keymap> <key> :<prompt>`)
   to support predefined searches, eg.: `bind stage 2 :?^@@`.
 - Git color mappings can be configured in tigrc.
 - More informative configuration error messages.
 - Make reference label formatting configurable, for example:
   `set reference-format = (branch) <tags> remote`. (GH #201)
 - Adjust author width and other view columns automatically. (GH #49)
 - Support view specific colors: `color stage.diff-add yellow default`.
 - Copy `-S`, `-G` and `--grep=` pattern to search buffer so 'find-next' and
   'find-prev' work as expected.
 - Optionally specify custom prompt for `%(prompt)` in shell commands, e.g.
   `bind main B ?git checkout -b "%(prompt Enter new branch name: )"`.
 - Add `%(remote)` and `%(tag)` symbols to complement `%(branch)`.
 - User-defined commands can now be prefixed with any of the supported flags,
   e.g. `?git checkout -b %(branch)`.
 - Open editor at line number for combined diffs e.g. diffs of unmerged files.
 - Add build configuration for Cygwin (OS name: CYGWIN_NT-6.1). (GH #92)
 - Document the Git commands supported by the pager mode.  (GH #1)
   system `tigrc` configuration. (GH #235)

Bug fixes:

 - Fix stash diff display when reloading the stash view after a deleting.
 - Set the commit reference when opening the blame view from the blob view.
 - Correctly identify and highlight the remote branch tracked by HEAD.
 - Pass --no-color after user defined arguments to ensure that colors do not
   break the output parsing. (GH #191)
 - Close stdin when pager mode is not supported.
 - Show newly created branches in the main view. (GH #196)
 - File with 0 changes breaks diffstat highlighting (GH #215)
 - Update %(branch) variable in the main view. (GH #223)
 - Disable graph rendering when either of `--reverse`, `-S`, `-G`, and `--grep`
   are passed to the main view. (GH #127)
 - Only refresh views that support it.
 - Fix author and date annotation of renamed entries in the tree view.
 - Fix use of unsafe methods in the signal handler. (GH #245)
 - Fix rendering in non-UTF8 terminals.
 - Fix stage-update-line by rewriting the diff chunk containing the line instead
   of using `--unidiff-zero` and a diff context of zero. (GH #130)
 - Fix status-update to work for untracked directories. (GH #236)
 - Don't pass log parameters given on the command line to the diff view.
jperkin pushed a commit that referenced this issue Apr 22, 2021
Version 1.68.0
--------------

- Closed bugs and merge requests:

  * 40.rc session crashes in gjs on unlocking (sometimes) [#387, !588, Marco
    Trevisan]
  * 40.rc: installed-tests installed despite explicitly disabled [#388, !589,
    Philip Chimento]

Version 1.67.3
--------------

- Closed bugs and merge requests:

  * System.exit() doesn't work inside signal handler [#19, !565, Evan Welsh]
  * GdkEvent subtypes trigger assert in Gtk4 [#365, !566, Evan Welsh]
  * Replace g_memdup [#375, !567, Philip Chimento]
  * 1.67.2: build fails with gcc 11 [#376, !568, Philip Chimento]
  * Warnings introspecting array of boxed type as signal argument. [#377, !569,
    Carlos Garnacho]
  * Add list command to debugger [!571, Nasah Kuma]
  * Assertion failure in enqueuePromiseJob [#349, !572, Philip Chimento]
  * in interpreter Ctrl-c should exit inner shell if stuck [#98, !574, Philip
    Chimento]
  * Compiler ambiguity in enum-utils.h on operator overloading [#368, !576,
    Chun-wei Fan]
  * Fix GJS_DISABLE_JIT not fully disabling JIT [!575, Ivan Molodetskikh]
  * Error running gjs built with prefix: g_object_new_is_valid_property: object
    class 'GjsContext' has no property named 'program-path' [#381, !577, Sonny
    Piers]
  * Various maintenance [!578, !586, Philip Chimento]
  * Add some profiling labels [!579, Ivan Molodetskikh]
  * Some installed tests (introspection) segfault when GTK isn't available
    [#383, !580, Olivier Tilloy]
  * Installed tests do not install the js/modules subdir [#384, !581, Olivier
    Tilloy]
  * Installed tests fail because expected path doesn't include project name
    [#385, !582, Olivier Tilloy]
  * 1.67.2: Regress test hangs / timeouts on i686 [#379, !583, Marco Trevisan]
  * object: Do not call any function on disposed GObject pointers [!585, Marco
    Trevisan]

Version 1.67.2
--------------

- New language features: Importing ES modules is now supported, both statically
  with import statements and dynamically with the import() function. For more
  information on how to use modules, see:
  https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import
  Four built-in modules exist: cairo, gettext, gi, and system. Except for gi,
  they work similarly to the old-style modules imports.cairo, imports.gettext,
  and imports.system. Consult the documentation in doc/Modules.md on how to use
  them.

- The debugger now has a "list" command which works very similarly to its GDB
  equivalent.

- New API: GObject.ParamSpec.jsobject() works like the other GObject.ParamSpec
  types, and allows you to have a GObject property whose value is a JavaScript
  object (plain object, Date, Array, etc.)

- New API: System.programPath is the name of the JS program that GJS is running,
  or null if there isn't one (for example, in the interactive interpreter.)

- New API: System.programArgs is an array of arguments given to the JS program.
  It is the same as ARGV but is consistently always present. (ARGV was not
  defined in the interactive interpreter or when embedding GJS in a C program.)

- Closed bugs and merge requests:

  * Support Native JSObject GType for Signals and Properties [!305, Marco
    Trevisan, Philip Chimento]
  * Add 'system.programPath' API. [!443, Evan Welsh]
  * ESM: Enable static imports. (Part 3) [!450, Evan Welsh, Philip Chimento]
  * Refactor ARGV handling and add `system.programArgs` [!455, Evan Welsh,
    Philip Chimento]
  * Function make the object more C++ friendly [!514, Marco Trevisan]
  * ESM: Enable dynamic imports. [!525, Evan Welsh, Philip Chimento]
  * Remove JSClass macros from Ns, GType, and Cairo types [!549, Philip
    Chimento]
  * various documentation improvements [!551, Sonny Piers]
  * Replace remaining mentions of window with globalThis [!552, Sonny Piers]
  * add .editorconfig file [!553, Sonny Piers]
  * Display current line of source code when displaying current frame in
    debugger [!554, Nasah Kuma]
  * doc: add Clapper and Flatseal to thirty party applications written in GJS
    [!555, Sonny Piers]
  * Multiline template literals are missing newlines when entered at interactive
    prompt [#371, !556, Ales Huzik]
  * function: Remove JSClass macros [!558, Philip Chimento, Marco Trevisan]
  * Missing classes on global. [#372, !559, Philip Chimento]
  * arg: fix build failure with glib main branch [!560, Michael Catanzaro]
  * Update to Jasmine 2.9.1 [!561, Evan Welsh]
  * Various maintenance [!562, Philip Chimento]
  * Add list command to debugger [!563, Nasah Kuma]
  * Upgrade to Jasmine 3.6.0 [!564, Evan Welsh]

- Various refactors in preparation for BigInt support in gobject-introspection
  [Marco Trevisan]

Version 1.67.1
--------------

- The debugger now has a "backtrace full" command which works very similarly to
  its GDB equivalent.

- The GObject.ParamFlags.CONSTRUCT_ONLY flag is now correctly enforced, when
  using it on GObject classes defined in JavaScript. This might break code that
  was incorrectly trying to set a property that it had previously defined as
  construct-only. The workaround is to remove the CONSTRUCT_ONLY flag.

- Fixed exception when calling GObject.Type().

- Several performance improvements.

- Progress on ES Modules.

- Closed bugs and merge requests:

  * gobject: Handle CONSTRUCT_ONLY flag [!377, Florian Müllner]
  * Add native module registry to global (Part 2) [!456, Evan Welsh]
  * testGIMarshalling: Expand test coverage for flags [!479, Simon McVittie]
  * Private Objects: Use native allocators and structs [!494, Marco Trevisan]
  * Pass-by-reference GValue arguments do not work right [#74, !496, !507, Marco
    Trevisan]
  * Templated-data-only GjsAutoPointer (and use it more around) [!504, Marco
    Trevisan]
  * Error in function "_init()" in module "modules/overrides/GObject.js" [#238,
    !508, Nina Pypchenko]
  * fails to build on 32-bit [#357, !511, Michael Catanzaro]
  * Revert "arg-cache: Save space by not caching GType" [!512, Jonas Dreßler]
  * gi/wrapperutils: Move gjs_get_string_id() into resolve() implementations
    [!513, Jonas Dreßler]
  * updates on eslint configuration [!517, Nasah Kuma]
  * Update CONTRIBUTING.md about the runner system failure [!518, Nasah Kuma]
  * Switch to eslint-plugin-jsdoc and remove lint-condo [!520, #359, Evan Welsh,
    Philip Chimento]
  * gi: Check property before access [!521, Florian Müllner]
  * testGIMarshalling: Actually run the GPtrArray utf8 tests [!522, Marco
    Trevisan]
  * Add more documents for "imports" and "imports.gi" [!526, wsgalaxy]
  * overrides/Gtk: Set BuilderScope in class init [!527, Florian Müllner]
  * gi/arg-cache: Only skip array length parameter once [!528, Florian Müllner]
  * Copyright conformance with Reuse Software spec [!529, Philip Chimento, Evan
    Welsh]
  * Remove JSClass macros [!530, !533, !537, Philip Chimento]
  * Avoid pulling from DockerHub in CI [!531, Philip Chimento, Marco Trevisan]
  * Use GNOME-specific rules with cppcheck [!532, Philip Chimento]
  * Fedora 33 CI images [!535, Philip Chimento]
  * Fix IWYU bugs [!536, Philip Chimento]
  * Reduce bandwidth usage in CI, and pick a more accurate base for diff checks
    [!538, Philip Chimento]
  * debugger: Make '$$' mean the last value [!539, Philip Chimento]
  * Add codespell CI job [#362, !540, !541, !547, Björn Daase]
  * Various maintenance [!542, !548, Philip Chimento]
  * fix readline build on certain systems [!543, Jakub Kulík]
  * build: Require gobject-introspection 1.66.0 [!546, Philip Chimento]
  * Add backtrace full command to debugger [#208, !550, Nasah Kuma]

- Various refactors for type safety [Marco Trevisan]

- Various maintenance [Philip Chimento]

Version 1.66.2
--------------

- Performance improvements and crash fixes backported from the development
  branch.

- Bug fixes enabling use of GTK 4.

- Closed bugs and merge requests:

  * Error in function "_init()" in module "modules/overrides/GObject.js" [#238,
    !508, Nina Pypchenko]
  * Revert "arg-cache: Save space by not caching GType" [!512, Jonas Dreßler]
  * gi/wrapperutils: Move gjs_get_string_id() into resolve() implementations
    [!513, Jonas Dreßler]
  * overrides/Gtk: Set BuilderScope in class init [!527, Florian Müllner]
  * fix readline build on certain systems [!543, Jakub Kulík]
jperkin pushed a commit that referenced this issue Jun 4, 2021
# cli 2.5.0

* New `style_no_*()` functions to locally undo styling.
  New `col_none()` and `bg_none()` functions to locally undo text color
  and background color.

* It is now possible to undo text and background color in a theme, by
  setting them to `NULL` or `"none"`.

* `cli_memo()` was renamed to `cli_bullets()`, as it is by default
  formatted as a bullet list (#250).

* New `ansi_toupper()`, `ansi_tolower` and `ansi_chartr()` functions,
  the ANSI styling aware variants of `toupper()`, `tolower()` and
  `chartr()` (#248).

* New `test_that_cli()` helper function to write testthat tests for
  cli output.

* `tree()` now does not produce warnings for tibbles (#238).

* New inline style: `.cls` to format class names, e.g.
  `"{.var fit} must be an {.cls lm} object"`.

# cli 2.4.0

* New `cli_memo()` function to create a list of items or tasks.

* New `cli::cli()` function to create a single cli message from multiple
  cli calls (#170).

* cli now highlights weird names, e.g. path names with leading or
  trailing space (#227).

* Styling is fixed at several places. In particular, nested lists should
  be now formatted better (#221).

* New `spark_bar()` and `spark_line()` funcions to draw small bar or
  line charts.

# cli 2.3.1

* ANSI color support detection works correctly now in older RStudio,
  and also on older R versions.

* `cli_h1()`, `cli_h2()` and `cli_h3()` now work with multiple glue
  substitutions (#218).

# cli 2.3.0

* `boxx()` now correctly calculates the width of the box for non-ASCII
  characters.

* New `ansi_trimws()` and `ansi_strwrap()` functions, they are similar
  to `trimws()` and `strwrap()` but work on ANSI strings.

* New `ansi_columns()` function to format ANSI strings in multiple columns.

* `ansi_substr()`, `ansi_substring()`, `ansi_strsplit()`, `ansi_align()`
  now always return `ansi_string` objects.

* `ansi_nchar()`, `ansi_align()`, `ansi_strtrim()` and the new
  `ansi_strwrap()` as well handle wide Unicode correctly, according to
  their display width.

* `boxx()` can now add headers and footers to boxes.
jperkin pushed a commit that referenced this issue Feb 21, 2022
### Added

* CLI: The `--fix` flag has been added, allowing users to attempt to
  automatically upgrade any vulnerable dependencies to the first safe version
  available ([#212](pypa/pip-audit#212),
  [#222](pypa/pip-audit#222))

* CLI: The combination of `--fix` and `--dry-run` is now supported, causing
  `pip-audit` to perform the auditing step but not any resulting fix steps
  ([#223](pypa/pip-audit#223))

* CLI: The `--require-hashes` flag has been added which can be used in
  conjunction with `-r` to check that all requirements in the file have an
  associated hash ([#229](pypa/pip-audit#229))

* CLI: The `--index-url` flag has been added, allowing users to use custom
  package indices when running with the `-r` flag
  ([#238](pypa/pip-audit#238))

* CLI: The `--extra-index-url` flag has been added, allowing users to use
  multiple package indices when running with the `-r` flag
  ([#238](pypa/pip-audit#238))

### Changed

* `pip-audit`'s minimum Python version is now 3.7.

* CLI: The default output format is now correctly pluralized
  ([#221](pypa/pip-audit#221))

* Output formats: The SBOM output formats (`--format=cyclonedx-xml` and
  `--format=cyclonedx-json`) now use CycloneDX
  [Schema 1.4](https://cyclonedx.org/docs/1.4/xml/)
  ([#216](pypa/pip-audit#216))

* Vulnerability sources: When using PyPI as a vulnerability service, any hashes
  provided in a requirements file are checked against those reported by PyPI
  ([#229](pypa/pip-audit#229))

* Vulnerability sources: `pip-audit` now uniques each result based on its
  alias set, reducing the amount of duplicate information in the default
  columnar output format
  ([#232](pypa/pip-audit#232))

* CLI: `pip-audit` now prints its output more frequently, including when
  there are no discovered vulnerabilities but packages were skipped.
  Similarly, "manifest" output formats (JSON, CycloneDX) are now emitted
  unconditionally
  ([#240](pypa/pip-audit#240))

### Fixed

* CLI: A regression causing excess output during `pip audit -r`
  was fixed ([#226](pypa/pip-audit#226))
jperkin pushed a commit that referenced this issue Apr 24, 2022
Changes since 1.5.8

    Allow libopengl.so to be used when GLX_LIB is missing [#257, John Bates]

Changes since 1.5.7

    Revert changes from PR #238 / #229
    Fixes regressions: #240, #252, #253

Changes since Epoxy 1.5.6

    Remove type redefinition [#249]

Changes since 1.5.5

    Fix issue with loading OpenGL/GLX/EGL libraries [#238, Yaroslav Isakov]
    Expose dependency variables in pkg-config file [#231, Xavier Claessens]
    Support Win64 pointer-sized types [#246]
    Close output objects when generating files [#242, Aleksandr]

Changes since 1.5.4

    Remove Python 2 support [#213]
    Remove Autotools support [#212]
    Use EGL_NO_X11 to disable X11 headers [#216]
    Use call convention for mock function [crziter, #220]
    Return correct version of GLSL on GLES2 [Eric Anholt, #223]
    Rely on Meson's darwin_versions option [#225]
jperkin pushed a commit that referenced this issue Sep 4, 2022
2.0.2 (2022-06-28)

Bug fixes:

* Fix additional incompatible character encodings error when building
  uploaded bodies (Jeremy Evans #311)

2.0.1 (2022-06-27)

Bug fixes:

* Fix incompatible character encodings error when building uploaded file
  bodies (Jeremy Evans #308 #309)

2.0.0 (2022-06-24)

Breaking changes:

* Digest authentication support is now deprecated, as it relies on digest
  authentication support in rack, which has been deprecated (Jeremy Evans
  #294)
* Rack::Test::Utils.build_primitive_part no longer handles array values
  (Jeremy Evans #292)
* Rack::Test::Utils module methods other than build_nested_query and
  build_multipart are now private methods (Jeremy Evans #297)
* Rack::MockSession has been combined into Rack::Test::Session, and remains
  as an alias to Rack::Test::Session, but to keep some backwards
  compatibility, Rack::Test::Session.new will accept a Rack::Test::Session
  instance and return it (Jeremy Evans #297)
* Previously protected methods in Rack::Test::Cookie{,Jar} are now private
  methods (Jeremy Evans #297)
* Rack::Test::Methods no longer defines build_rack_mock_session, but for
  backwards compatibility, build_rack_test_session will call
  build_rack_mock_session if it is defined (Jeremy Evans #297)
* Rack::Test::Methods::METHODS is no longer defined (Jeremy Evans #297)
* Rack::Test::Methods#_current_session_names has been removed (Jeremy Evans
  #297)
* Headers used/accessed by rack-test are now lower case, for rack 3
  compliance (Jeremy Evans #295)
* Frozen literal strings are now used internally, which may break code that
  mutates static strings returned by rack-test, if any (Jeremy Evans #304)

Minor enhancements:

* rack-test now works with the rack main branch (what will be rack 3)
  (Jeremy Evans #280 #292)
* rack-test only loads the parts of rack it uses when running on the rack
  main branch (what will be rack 3) (Jeremy Evans #292)
* Development dependencies have been significantly reduced, and are now a
  subset of the development dependencies of rack itself (Jeremy Evans #292)
* Avoid creating multiple large copies of uploaded file data in memory
  (Jeremy Evans #286)
* Specify HTTP/1.0 when submitting requests, to avoid responses with
  Transfer-Encoding: chunked (Jeremy Evans #288)
* Support :query_params in rack environment for parameters that are appended
  to the query string instead of used in the request body (Jeremy Evans #150
  #287)
* Reduce required ruby version to 2.0, since tests run fine on Ruby 2.0
  (Jeremy Evans #292)
* Support :multipart env key for request methods to force multipart input
  (Jeremy Evans #303)
* Force multipart input for request methods if content type starts with
  multipart (Jeremy Evans #303)
* Improve performance of Utils.build_multipart by using an append-only
  design (Jeremy Evans #304)
* Improve performance of Utils.build_nested_query for array values (Jeremy
  Evans #304)

Bug fixes:

* The CONTENT_TYPE of multipart requests is now respected, if it starts with
  multipart/ (Tom Knig #238)
* Work correctly with responses that respond to to_a but not to_ary (Sergio
  Faria #276)
* Raise an ArgumentError instead of a TypeError when providing a StringIO
  without an original filename when creating an UploadedFile (Nuno Correia
  #279)
* Allow combining both an UploadedFile and a plain string when building a
  multipart upload (Mitsuhiro Shibuya #278)
* Fix the generation of filenames with spaces to use path escaping instead
  of regular escaping, since path unescaping is used to decode it (Muir
  Manders, Jeremy Evans #275 #284)
* Rewind tempfile used for multipart uploads before it is submitted to the
  application (Jeremy Evans, Alexander Dervish #261 #268 #286)
* Fix Rack::Test.encoding_aware_strings to be true only on rack 1.6+ (Jeremy
  Evans #292)
* Make Rack::Test::CookieJar#valid? return true/false (Jeremy Evans #292)
* Cookies without a domain attribute no longer are submitted to requests for
  subdomains of that domain, for RFC 6265 compliance (Jeremy Evans #292)
* Increase required rack version to 1.3, since tests fail on rack 1.2 and
  below (Jeremy Evans #293)
gco pushed a commit to gco/pkgsrc that referenced this issue Sep 11, 2022
pkgsrc change: remove one pkglint warning.

2.3.1 (2022-05-24)

Bug Fixes
- logging hangs on JRuby when the stdout appender is closed [PR TritonDataCenter#237]
- initialize the Logging framework when a Filter is created [PR TritonDataCenter#238]
jperkin pushed a commit that referenced this issue Sep 13, 2022
37.1 (2022-09-03)
-----------------

* Allow HTML5 `nav` tag through cleaner (#259)

37.0 (2022-08-21)
-----------------

* Remove command line example from docs (#197)
* Multiple pyproject.toml fixes (#251)
* Confirm handling multiple inline strong (#252)
* Convert RST output to HTML5 (#253)
* Add Typing to classifiers (#254)
* Development tweaks - coverage reporting, actions updates (#255)
* Add test confirming behavior with unknown lexers (#256)

36.0 (2022-08-06)
-----------------

* Enable gitpod development (#238)
* Allow rst admonitions to render (#242)
* Add badges to README (#243)
* Update codebase for modern Python (#244)
* Fix table cell spans (#245)
* Allow ``math`` directive in rst (#246)
* Preserve ``lang`` attribute in ``pre`` (#247)

35.0 (2022-04-19)
-----------------

* Add py.typed to the built wheel (#228)
* Use isolated build for tox (#229)
* Fix renderer ignore (#230)
* Remove legacy check command and distutils (#233)
* Emit a warning when no content is rendered (#231)
* Drop support for Python 3.6 (#236)
* Update html attribute order in tests (#235)

34.0 (2022-03-11)
-----------------

* Add static types (#225)

33.0 (2022-03-05)
-----------------

* Support cmarkgfm>=0.8.0 (#224)

33.0 (2022-02-05)
-----------------

* Support cmarkgfm>=0.8.0 (#224)
* Support Python 3.10

32.0 (2021-12-13)
-----------------

* Allow start attribute in ordered lists (#216)
* No limit rendering RST one column field names (#219)

31.0 (2021-12-09)
-----------------

* Render disabled checkboxes from Markdown (#217)

30.0 (2021-09-30)
-----------------

* support cmarkgfm>=0.6.0 (#209)
jperkin pushed a commit that referenced this issue Dec 6, 2022
3.2.1 (2022-11-17)

* Fix encoding issue with non-ASCII characters
* Fix Net::NTLM::EncodeUtil.encode_utf16le
* Add tracing messages for the custom NDR types
* Decrypt fragments after the first part too
* Land #239, Fix DCERPC Encrypted Fragments
* Land #238, Fix encoding issue
jperkin pushed a commit that referenced this issue Dec 18, 2022
# tidyselect 1.2.0

## New features

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

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

## Lifecycle changes

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

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

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

## Minor improvements and bug fixes

* Selection language:

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

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

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

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

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

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

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

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

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

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

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

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

* `tidyselect_verbosity` is no longer used; deprecation messaging is now
  controlled by `lifecycle_verbosity` like all other packages (#317).
jperkin pushed a commit that referenced this issue Jan 12, 2023
1.0.21 (2022-11-23)

* Land #238, Fix dangling pointer in resolve

  network_client: fix dangling pointer in resolve() function
jperkin pushed a commit that referenced this issue Feb 21, 2023
pkgsrc change: avoid use empty in options.mk.

What's new in Sudo 1.9.13 (2023-02-14)

 * Fixed a bug running relative commands via sudo when "log_subcmds"
   is enabled.  GitHub issue #194.
 * Fixed a signal handling bug when running sudo commands in a shell
   script.  Signals were not being forwarded to the command when
   the sudo process was not run in its own process group.
 * Fixed a bug in cvtsudoers' LDIF parsing when the file ends without
   a newline and a backslash is the last character of the file.
 * Fixed a potential use-after-free bug with cvtsudoers filtering.
   GitHub issue #198.
 * Added a reminder to the default lecture that the password will
   not echo. This line is only displayed when the pwfeedback option
   is disabled. GitHub issue #195.
 * Fixed potential memory leaks in error paths.  GitHub issues #199,
   #202.
 * Fixed potential NULL dereferences on memory allocation failure.
   GitHub issues #204, #211.
 * Sudo now uses C23-style attributes in function prototypes instead
   of gcc-style attributes if supported.
 * Added a new "list" pseudo-command in sudoers to allow a user to
   list another user's privileges.  Previously, only root or a user
   with the ability to run any command as either root or the target
   user on the current host could use the -U option.  This also
   includes a fix to the log entry when a user lacks permission to
   run "sudo -U otheruser -l command".  Previously, the logs would
   indicate that the user tried to run the actual command, now the
   log entry includes the list operation.
 * JSON logging now escapes control characters if they happen to
   appear in the command or environment.
 * New Albanian translation from translationproject.org.
 * Regular expressions in sudoers or logsrvd.conf may no longer
   contain consecutive repetition operators.  This is implementation-
   specific behavior according to POSIX, but some implementations
   will allocate excessive amounts of memory.  This mainly affects
   the fuzzers.
 * Sudo now builds AIX-style shared libraries and dynamic shared
   objects by default instead of svr4-style. This means that the
   default sudo plugins are now .a (archive) files that contain a
   .so shared object file instead of bare .so files.  This was done
   to improve compatibility with the AIX Freeware ecosystem,
   specifically, the AIX Freeware build of OpenSSL.  Sudo will still
   load svr4-style .so plugins and if a .so file is requested,
   either via sudo.conf or the sudoers file, and only the .a file
   is present, sudo will convert the path from plugin.so to
   plugin.a(plugin.so) when loading it.  This ensures compatibility
   with existing configurations.  To restore the old, pre-1.9.13
   behavior, run configure using the --with-aix-soname=svr4 option.
 * Sudo no longer checks the ownership and mode of the plugins that
   it loads.  Plugins are configured via either the sudo.conf or
   sudoers file which are trusted configuration files.  These checks
   suffered from time-of-check vs. time-of-use race conditions and
   complicate loading plugins that are not simple paths.  Ownership
   and mode checks are still performed when loading the sudo.conf
   and sudoers files, which do not suffer from race conditions.
   The sudo.conf "developer_mode" setting is no longer used.
 * Control characters in sudo log messages and "sudoreplay -l"
   output are now escaped in octal format.  Space characters in the
   command path are also escaped.  Command line arguments that
   contain spaces are surrounded by single quotes and any literal
   single quote or backslash characters are escaped with a backslash.
   This makes it possible to distinguish multiple command line
   arguments from a single argument that contains spaces.
 * Improved support for DragonFly BSD which uses a different struct
   procinfo than either FreeBSD or 4.4BSD.
 * Fixed a compilation error on Linux arm systems running older
   kernels that may not define EM_ARM in linux/elf-em.h.
   GitHub issue #232.
 * Fixed a compilation error when LDFLAGS contains -Wl,--no-undefined.
   Sudo will now link using -Wl,--no-undefined by default if possible.
   GitHub issue #234.
 * Fixed a bug executing a command with a very long argument vector
   when "log_subcmds" or "intercept" is enabled on a system where
   "intercept_type" is set to "trace".  GitHub issue #194.
 * When sudo is configured to run a command in a pseudo-terminal
   but the standard input is not connected to a terminal, the command
   will now be run as a background process.  This works around a
   problem running sudo commands in the background from a shell
   script where changing the terminal to raw mode could interfere
   with the interactive shell that ran the script.
   GitHub issue #237.
 * A missing include file in sudoers is no longer a fatal error
   unless the error_recovery plugin argument has been set to false.

What's new in Sudo 1.9.13p1 (2023-02-17)

 * Fixed a typo in the configure script that resulted in a line
   like "]: command not found" in the output.  GitHub issue #238.
 * Corrected the order of the C23 [[noreturn]] attribute in function
   prototypes.  This fixes a build error with GCC 13.  GitHub issue
   #239.
 * The "check" make target misbehaved when there was more than
   one version of the UTF-8 C locale in the output of "locale -a".
   GitHub issue #241.
 * Removed a dependency on the AC_SYS_YEAR2038 macro in configure.ac.
   This was added in autoconf 2.72 but sudo's configure.ac only
   required autoconf 2.70.
 * Relaxed the autoconf version requirement to version 2.69.
jperkin pushed a commit that referenced this issue May 5, 2023
Changelog:

v1.0.27 -- 24 Apr 2023
----------------------
Note: This release is not binary compatible with previous releases. It is source
 compatible.

- BookmarkStorage: allow empty bookmark names (as per spec) (fixes #300)
- MUCRoom: added send( message, subject, StanzaExtensionList ) (fixes #301)



v1.0.26 -- 19 Mar 2023
----------------------
- MUCRoom: init m_session (fixes #293)
- TLSOpenSSL: use system certificates for verification (fixes #292)
- ConnectionTCPServer: compilation fix for musl (fixes #291)



v1.0.25 -- 16 Mar 2023
----------------------
- compile fixes for modern compilers
- Tag: expose internal NodeList for optional XHTML-IM rendering without external
 parser; compile with --enable-xhtmlim (fixes #297)
- enabled/fixed support for TLS 1.3



v1.0.24 -- 14 Jul 2020
----------------------
Note: This release is not binary compatible with previous releases. It is source
 compatible.

- Tag: fixed XML namespace for attribute with empty namespace (fixes #278) (than
ks to drizt72)
- PubSub::Event: add simple ctor (thanks to Daniel Kraft)
- PubSub::Manager: fixed subscription error case handling (thanks to Daniel Kraf
t)
- PubSub: fixed support for instant nodes
- RosterManager: fixed behavior if subscription attribute is absent in roster it
em



v1.0.23 -- 08 Dec 2019
----------------------
- fixed a memory leak in dns.cpp (thanks to Daniel Kraft)
- fixed session management/stream resumption (thanks to Michel Vedrine, François
 Ferreira-de-Sousa, Frédéric Rossi)
- MUCRoom::MUCUser: include reason if set
- ClientBase: fix honorThreadID (first noticed by Erik Johansson in 2010)
- TLSGnuTLS: disabled TLS 1.3 for now, as there are connection issues with it



v1.0.22 -- 04 Jan 2019
----------------------
- TLSOpenSSLBase: conditionally compile in TLS compression support only if available in OpenSSL (fixes #276) (thanks to Dominyk Tiller)
- TLSGNUTLS*Anon: fix GnuTLS test by explicitely requesting ANON key exchange algorithms (fixes #279) (thanks to elexis)
- TLSGNUTLSClient: fix server cert validation by adding gnutls_certificate_set_x509_system_trust() (fixes #280) (thanks to elexis)
- DNS: fix compilation on OpenBSD sparc64 (fixes #281) (thanks to Anthony Anjbe)
- Enable getaddrinfo by default (fixes #282) (thanks to Filip Moc)



v1.0.21 -- 12 Jun 2018
----------------------
- InBandBytestream: error handling corrected
- doc fix: CertInfo::date_from/to set correctly when using OpenSSL



v1.0.20 -- 26 Feb 2017
----------------------
Note: This release is not binary compatible with previous releases. It is source compatible.

- BytestreamDataHandler: added callback for acknowledged packets
- ConnectionTCPClient: compile fix for Win32 (broken in 1.0.19)
- ConnectionTCPClient: no-block fix
- use ws2_32.lib instead of ws_32.lib on Win32



v1.0.19 -- 21 Feb 2017
----------------------
Note: This release is not binary compatible with previous releases. It is source compatible.

- ConnectionTCPServer: cleanup
- lots of compile-time warnings removed
- TLSOpenSSL: made it speak TLSv1.1 and 1.2 again (thanks to Nicolas Belouin)
- added Client State Indication (XEP-0352)
- CertInfo struct: fixed protocol version when using OpenSSL
- TLSOpenSSL: fixed compilation with OpenSSL 1.1.0
- Registration: added Resource Constraint error condition (thanks to elexis1987) (#267)
- ConnectionTCP: fixed some blocking (thanks to Marco Ciprietti)



v1.0.18 -- 10 Nov 2016
----------------------
- TLSOpenSSL: fixed wildcard certificate support (#262)
- Pubsub::Event: fixed potential NULL dereference (#257)
- ConnectionTCPServer: fixed listening on local socket
- Adhoc: fixed memory leak (thanks to Erik Horemans)
- documentation fixes (Adhoc::Plugin, StanzaExtension)
- ConnectionTLS: delete old connection in setConnectionImpl() (thanks to Erik Horemans) and clarify this in the documentation
- Tag: Android compilation fix (thanks to Erik Horemans)
- ConnectionSOCKS5Proxy: improved compatibility (thanks to Erik Horemans)
- util: Android compilation fix (thanks to Erik Horemans)
- Client, ClientBase: avoid 'from' attribute when doing resource binding (#265)
- MUCRoom: allow empty message body if extension is present (#264) (thanks to Tom Quackenbush)
- ConnectionBOSH: initialize 'hold' to 1 to improve compatibility (#238)
- ConnectionTCPServer: actually accept incoming connections
jperkin pushed a commit that referenced this issue May 25, 2023
Changelog (taken from https://github.com/eudev-project/eudev/releases/tag/v3.2.12):

Release 3.2.12

What's Changed

    rules/50-udev-default.rules: add PTP entry for Hyper-V/Azure by @dermotbradley in #218
    Add the BUILD instructions for Gentoo by @lu-zero in #224
    Fix warnings by @bbonev in #222
    udev: add udev_dir as synonym of udevdir by @oreo639 in #225
    build: Remove dead g-i-r configuration by @akiernan in #231
    Hwdb.7 by @bbonev in #221
    Precompiled hwdb by @bbonev in #223
    Merge suitable rules changes from systemd by @bbonev in #220
    Merge hwdb from systemd by @bbonev in #219
    Fix problems detected by fortified builds by @bbonev in #232
    Avoid warning on 32bit by @bbonev in #233
    Systemd PR 24353 by @bbonev in #239
    Do not free a static string by @bbonev in #238
    man: udev.7, mention /usr/lib with split-usr by @omnivagant in #246
    Missing tools by @bbonev in #240
    Fix compile-time issue on very old kernels by @cockroach in #247
jperkin pushed a commit that referenced this issue Jun 21, 2023
pkgsrc change: avoid use empty in options.mk.

What's new in Sudo 1.9.13 (2023-02-14)

 * Fixed a bug running relative commands via sudo when "log_subcmds"
   is enabled.  GitHub issue #194.
 * Fixed a signal handling bug when running sudo commands in a shell
   script.  Signals were not being forwarded to the command when
   the sudo process was not run in its own process group.
 * Fixed a bug in cvtsudoers' LDIF parsing when the file ends without
   a newline and a backslash is the last character of the file.
 * Fixed a potential use-after-free bug with cvtsudoers filtering.
   GitHub issue #198.
 * Added a reminder to the default lecture that the password will
   not echo. This line is only displayed when the pwfeedback option
   is disabled. GitHub issue #195.
 * Fixed potential memory leaks in error paths.  GitHub issues #199,
   #202.
 * Fixed potential NULL dereferences on memory allocation failure.
   GitHub issues #204, #211.
 * Sudo now uses C23-style attributes in function prototypes instead
   of gcc-style attributes if supported.
 * Added a new "list" pseudo-command in sudoers to allow a user to
   list another user's privileges.  Previously, only root or a user
   with the ability to run any command as either root or the target
   user on the current host could use the -U option.  This also
   includes a fix to the log entry when a user lacks permission to
   run "sudo -U otheruser -l command".  Previously, the logs would
   indicate that the user tried to run the actual command, now the
   log entry includes the list operation.
 * JSON logging now escapes control characters if they happen to
   appear in the command or environment.
 * New Albanian translation from translationproject.org.
 * Regular expressions in sudoers or logsrvd.conf may no longer
   contain consecutive repetition operators.  This is implementation-
   specific behavior according to POSIX, but some implementations
   will allocate excessive amounts of memory.  This mainly affects
   the fuzzers.
 * Sudo now builds AIX-style shared libraries and dynamic shared
   objects by default instead of svr4-style. This means that the
   default sudo plugins are now .a (archive) files that contain a
   .so shared object file instead of bare .so files.  This was done
   to improve compatibility with the AIX Freeware ecosystem,
   specifically, the AIX Freeware build of OpenSSL.  Sudo will still
   load svr4-style .so plugins and if a .so file is requested,
   either via sudo.conf or the sudoers file, and only the .a file
   is present, sudo will convert the path from plugin.so to
   plugin.a(plugin.so) when loading it.  This ensures compatibility
   with existing configurations.  To restore the old, pre-1.9.13
   behavior, run configure using the --with-aix-soname=svr4 option.
 * Sudo no longer checks the ownership and mode of the plugins that
   it loads.  Plugins are configured via either the sudo.conf or
   sudoers file which are trusted configuration files.  These checks
   suffered from time-of-check vs. time-of-use race conditions and
   complicate loading plugins that are not simple paths.  Ownership
   and mode checks are still performed when loading the sudo.conf
   and sudoers files, which do not suffer from race conditions.
   The sudo.conf "developer_mode" setting is no longer used.
 * Control characters in sudo log messages and "sudoreplay -l"
   output are now escaped in octal format.  Space characters in the
   command path are also escaped.  Command line arguments that
   contain spaces are surrounded by single quotes and any literal
   single quote or backslash characters are escaped with a backslash.
   This makes it possible to distinguish multiple command line
   arguments from a single argument that contains spaces.
 * Improved support for DragonFly BSD which uses a different struct
   procinfo than either FreeBSD or 4.4BSD.
 * Fixed a compilation error on Linux arm systems running older
   kernels that may not define EM_ARM in linux/elf-em.h.
   GitHub issue #232.
 * Fixed a compilation error when LDFLAGS contains -Wl,--no-undefined.
   Sudo will now link using -Wl,--no-undefined by default if possible.
   GitHub issue #234.
 * Fixed a bug executing a command with a very long argument vector
   when "log_subcmds" or "intercept" is enabled on a system where
   "intercept_type" is set to "trace".  GitHub issue #194.
 * When sudo is configured to run a command in a pseudo-terminal
   but the standard input is not connected to a terminal, the command
   will now be run as a background process.  This works around a
   problem running sudo commands in the background from a shell
   script where changing the terminal to raw mode could interfere
   with the interactive shell that ran the script.
   GitHub issue #237.
 * A missing include file in sudoers is no longer a fatal error
   unless the error_recovery plugin argument has been set to false.

What's new in Sudo 1.9.13p1 (2023-02-17)

 * Fixed a typo in the configure script that resulted in a line
   like "]: command not found" in the output.  GitHub issue #238.
 * Corrected the order of the C23 [[noreturn]] attribute in function
   prototypes.  This fixes a build error with GCC 13.  GitHub issue
   #239.
 * The "check" make target misbehaved when there was more than
   one version of the UTF-8 C locale in the output of "locale -a".
   GitHub issue #241.
 * Removed a dependency on the AC_SYS_YEAR2038 macro in configure.ac.
   This was added in autoconf 2.72 but sudo's configure.ac only
   required autoconf 2.70.
 * Relaxed the autoconf version requirement to version 2.69.
jperkin pushed a commit that referenced this issue Jun 22, 2023
Link with libsocket where needed (#234) by @amigadave in #235
Remove libsoup from doc and CI by @janbrummer in #238
Fix coverity findings by @janbrummer in #241
Add a comment that docs option needs introspection by @janbrummer in #242
Set pac data after download only by @janbrummer in #244
Fix race condition in px_manager_get_proxies_sync by @janbrummer in #245
Update gobject dependency in pkgconfig file by @floppym in #239
Reread env variables in each get_config call by @janbrummer in #246
Bump version to 0.5.2 by @janbrummer in #247
jperkin pushed a commit that referenced this issue Oct 20, 2023
Fix PKGNAME while here.

Changelog for rest-server 0.12.1 (2023-07-09)
============================================

The following sections list the changes in rest-server 0.12.1 relevant
to users. The changes are ordered by importance.

Summary
-------

 * Fix #230: Fix erroneous warnings about unsupported fsync
 * Fix #238: API: Return empty array when listing empty folders
 * Enh #217: Log to stdout using the `--log -` option

Details
-------

 * Bugfix #230: Fix erroneous warnings about unsupported fsync

   Due to a regression in rest-server 0.12.0, it continuously printed `WARNING: fsync is not
   supported by the data storage. This can lead to data loss, if the system crashes or the storage is
   unexpectedly disconnected.` for systems that support fsync. We have fixed the warning.

   restic/rest-server#230
   restic/rest-server#231

 * Bugfix #238: API: Return empty array when listing empty folders

   Rest-server returned `null` when listing an empty folder. This has been changed to returning
   an empty array in accordance with the REST protocol specification. This change has no impact on
   restic users.

   restic/rest-server#238
   restic/rest-server#239

 * Enhancement #217: Log to stdout using the `--log -` option

   Logging to stdout was possible using `--log /dev/stdout`. However, when the rest server is run
   as a different user, for example, using

   `sudo -u restic rest-server [...] --log /dev/stdout`

   This did not work due to permission issues.

   For logging to stdout, the `--log` option now supports the special filename `-` which also
   works in these cases.

   restic/rest-server#217
jperkin pushed a commit that referenced this issue Oct 23, 2023
From the changelog:

- updated astyle lib to version 3.4.9
- added support for Elm (#237)
- added support for Factor (#239)
- added support for Cpp2
- updated c.lang to include module keywords
- fixed Lua nested string deprecation error (#238)
jperkin pushed a commit that referenced this issue Oct 23, 2023
This is the biggest update ever, with 36 new features, 24 bug fixes,
and 3 performance improvements.

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

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

11.1.0 (2022-12-22)
Changed
* Update gherkin and messages dependencies
Fixed
* Restore support for matching a scenario by tag and step line
  numbers. (#237, #238, #239)

12.0.0 (2023-09-06)
Changed
* Update gherkin and messages minimum dependencies
* Added in new rubocop sub-gems for testing, pinning versions where
  appropriate
* Removed all redundant / incorrect rubocop config overrides (Placed in TODO
  file)
* Began to refactor the repo by initially fixing up a bunch of rubocop
  auto-fix offenses (See PRs for details) (#257 #258)
Removed
* Remove support for ruby 2.4 and below. 2.5 or higher is required now

13.0.0 (2023-12-05)
Changed
* Now using a 2-tiered changelog to avoid any bugs when using polyglot-release
* More refactoring of the repo by fixing up a bunch of manual rubocop
  offenses (See PR's for details) (#259 #262 #268 #274)
* In all Summary and Result classes, changed the strict argument into a
  keyword argument See upgrading notes for 13.0.0.md (#261)
* Permit usage of gherkin v27
Fixed
* Restore support for matching a scenario by its Feature, Background, and
  Rule line numbers (#247)
Removed
* Remove legacy unindent gem (Now no longer required since Ruby 2.3 and
  Squiggly heredocs) (#278)
jperkin pushed a commit that referenced this issue Jan 25, 2024
# withr 3.0.0

## Performance of withr

* `defer()` is now a thin wrapper around `base::on.exit()`. This is
  possible thanks to two contributions that we made to R 3.5:

  - We added an argument for FIFO cleanup: `on.exit(after = FALSE)`.
  - Calling `sys.on.exit()` elsewhere than top-level didn't work. This
    is needed for manual invokation with `deferred_run()`.

  Following this change, `defer()` is now much faster (although still
  slower than `on.exit()` which is a primitive function and about as
  fast as it gets). This also increases the compatibility of `defer()`
  with `on.exit()` (all handlers are now run in the expected order
  even if they are registered with `on.exit()`) and standalone
  versions of `defer()`.


## Breaking change

* When `source()` is used with a local environment, as opposed to
  `globalenv()` (the default), you now need to set
  `options(withr.hook_source = TRUE)` to get proper withr support
  (running `defer()` or `local_` functions at top-level of a script).
  THis support is disabled by default in local environments to avoid a
  performance penalty in normal usage of withr features.


## Other features and bugfixes

* `deferred_run()` now reports the number of executed expressions with
  a message.

* `deferred_run()` can now be run at any point in a knitr file (#235).

,* `local_tempfile()` now writes `lines` in UTF-8 (#210) and always uses
  `\n` for newlines (#216).

* `local_pdf()` and friends now correctly restore to the previously
  active device (#138).

* `local_()` now works even if withr isn't attached (#207).

* `local_par()` and `with_par()` now work if you don't set any parameters
  (#238).

* `with_language()` now properly resets the translation cache (#213).

* Fixes for Debian packaging.


# withr 2.5.2

* Fixes for CRAN checks.


# withr 2.5.1

* Fixes for CRAN checks.
jperkin pushed a commit that referenced this issue Feb 14, 2024
v0.20.1

What's Changed

    Switch to GitHub Actions CI. by @patrickt in #166
    Add the same PR template as for tree-sitter-javascript by @mjambon in #169
    Fixed CRLF behavior for tests by @ahelwer in #188
    Fix CRLF behavior mismatch during error recovery by @ahelwer in #189
    Endless methods by @aibaars in #190
    Add forwarded parameters/arguments by @aibaars in #191
    Disable C++ exceptions when compile for wasm32-wasi by @glebpom in #192
    Pattern matching by @aibaars in #193
    Improve grammar after the introduction of case-in pattern matching by @aibaars in #197
    Add parenthesized_pattern by @aibaars in #198
    Ruby 3.1 features by @aibaars in #201
    Update to Node 16 by @mattmassicotte in #206
    C bindings by @mattmassicotte in #199
    Parser improvements by @aibaars in #207
    CI: use windows-2019 for now by @aibaars in #209
    Add named rules for the various call operators by @aibaars in #211
    Update Makefile by @mattmassicotte in #213
    Allow newer tree-sitter upstream library. by @patrickt in #215
    Bump tree-sitter version to 0.20 by @hendrikvanantwerpen in #214
    Fix parse error in 'foo! if condition' by @aibaars in #216
    Parser improvements: != operator and key: [line_break] by @aibaars in #220
    Some improvements to the parser by @aibaars in #222
    Wrap class, module, method, and block bodies in a named node by @npezza93 in #224
    Parser improvments: quoted heredocs and short-hand interpolations by @aibaars in #225
    Add body field for end-less methods by @aibaars in #226
    Swift bindings by @mattmassicotte in #227
    fix: rename reserved word “arguments” by @drwpow in #229
    Bump versions in #208
    Anonymous (hash) splat arguments by @aibaars in #233
    One-line pattern matching by @aibaars in #194
    Scanner: do not skip LINE_BREAKs before .. and ... by @aibaars in #238
    Fix non-termination in parser by @aibaars in #239
    Fix scanning of division vs regex before line ending by @aibaars in #246
    Fix 'case' with newlines before expression by @aibaars in #247
jperkin pushed a commit that referenced this issue Feb 23, 2024
v0.4.1
Fixes
    Fix an issue where fonts can fail to be detected on some systems (#250)

Docs
    Update the repo link to our newly minted organization (#251)

v0.4.0
I'd like to start with a huge thanks to all of our contributors. This release
wouldn't have happened nearly as soon, nor would it have had as many fixes and
features without everyone's help ❤️
Breaking Changes
    Completions are now generated ahead of time and provided with the release
    assets instead of the old --gen-completions <SHELL> flag
    The default light theme code-highlighter was changed from the
    inpsired-github to the new github syntax highlighter
    We have a new wayland feature that is enabled by default for clipboard
    support. If you don't use wayland and you run into wayland related build
    errors then consider building with the --no-default-features with the
    optional --features x11 if you're using Xorg still
    The default zoom-out keybind is now <Ctrl+=> instead of <Ctrl++> and
    zoom-reset is now unbound by default instead of <Ctrl+=>

Features
    Font fallback is now supported 🎉 (less tofu --> more emojis)
    A lot more embedded syntax highlighting themes (#219)
        The full list is always in the inlyne.default.toml file
    Add clipboard support for wayland (#243)
    Add support for color-scheme specific <picture>s (#236)
    Underlines are now supported in syntax highlighting (#221 and #225)
    extra keybindings now override base (#224)
    Use human-panic for more user-friendly panic messages (#172)
    Support table column alignment (#136)
    Use taffy for laying out tables (#129)

Fixes
    Inherit alignment for headers (#241)
    Allow for px suffix on pixel length (#238)
    Mimic GitHub's anchorizer for creating headers' anchor links (#227)
    Correctly reset table column alignment (#218)
    Reset scroll on markdown navigation (#213)
    Debounce file watcher events (#200)
    More gracefully handle failures in image loading (#187)
    Switch the TLS library from openssl to rustls (#179)
        Fixes some issues with window's failing some image requests

Documentation
    Document fontconfig dependency (#220)

Internal
    The usual swarm of non-user-facing changes
jperkin pushed a commit that referenced this issue Mar 20, 2024
Changelog:

2.13.c.5
Highlights
New features

    New custom key commands (#256)
    Support basic control chars (\n, \r, \b, \t) in text options (#238)
    Added support for the XF86AudioMicMute media key (#273)
    Added tab completion for Bash and Zsh (#230)

Perf improvements

    Lazy-load slideshow images (#242)
    Disable debug build by default; faster blurring (#251)

Changes by PR

    fix --max and --fill not scaling image when the image has the same aspect ratio as the screen by @Rio6 in #228
    Add link to new active port by @loralighte in #233
    chore: rename variables for examples, remove unused variables by @graves501 in #229
    fix(typo): fix wrong greeter_y_expr and typo error message in arguments parser. by @cmsxbc in #237
    Tab completion (#204) by @JezerM in #230
    Slideshow images loaded when needed (#241) by @JezerM in #242
    feat(control char): add basic control char support by @cmsxbc in #238
    build: disable debug and sanitizers by default by @alanswanson in #251
    Shell command options for media keys by @jclds139 in #256
    Support for XF86AudioMicMute by @kwesthaus in #273
    Fix: Remove breaking space in zsh completion by @kwesthaus in #274
jperkin pushed a commit that referenced this issue May 17, 2024
Changes in CUPS v2.4.8 (2024-04-26)
-----------------------------------

- Added warning if the device has to be asked for 'all,media-col-database'
  separately (Issue #829)
- Added new value for 'lpstat' option '-W' - successfull - for getting
  successfully printed jobs (Issue #830)
- Added support for PAM modules password-auth and system-auth (Issue #892)
- Updated IPP Everywhere printer creation error reporting (Issue #347)
- Updated and documented the MIME typing buffering limit (Issue #925)
- Raised `cups_enum_dests()` timeout for listing available IPP printers
  (Issue #751)
- Now report an error for temporary printer defaults with lpadmin (Issue #237)
- Fixed mapping of PPD InputSlot, MediaType, and OutputBin values (Issue #238)
- Fixed "document-unprintable-error" handling (Issue #391)
- Fixed the web interface not showing an error for a non-existent printer
  (Issue #423)
- Fixed printing of jobs with job name longer than 255 chars on older printers
  (Issue #644)
- Really backported fix for Issue #742
- Fixed `cupsCopyDestInfo` device connection detection (Issue #586)
- Fixed "Upgrade" header handling when there is no TLS support (Issue #775)
- Fixed memory leak when unloading a job (Issue #813)
- Fixed memory leak when creating color profiles (Issue #815)
- Fixed a punch finishing bug in the IPP Everywhere support (Issue #821)
- Fixed crash in `scan_ps()` if incoming argument is NULL (Issue #831)
- Fixed setting job state reasons for successful jobs (Issue #832)
- Fixed infinite loop in IPP backend if hostname is IP address with Kerberos
  (Issue #838)
- Added additional check on socket if `revents` from `poll()` returns POLLHUP
  together with POLLIN or POLLOUT in `httpAddrConnect2()` (Issue #839)
- Fixed crash in `ppdEmitString()` if `size` is NULL (Issue #850)
- Fixed reporting `media-source-supported` when sharing printer which has
  numbers as strings instead of keywords as `InputSlot` values (Issue #859)
- Fixed IPP backend to support the "print-scaling" option with IPP printers
  (Issue #862)
- Fixed potential race condition for the creation of temporary queues
  (Issue #871)
- Fixed `httpGets` timeout handling (Issue #879)
- Fixed checking for required attributes during PPD generation (Issue #890)
- Fixed encoding of IPv6 addresses in HTTP requests (Issue #903)
- Fixed sending response headers to client (Issue #927)
- Fixed CGI program initialization and validation of form checkbox and text
  fields.


Changes in CUPS v2.4.7 (2023-09-20)
-----------------------------------

- CVE-2023-4504 - Fixed Heap-based buffer overflow when reading Postscript
  in PPD files
- Added OpenSSL support for cupsHashData (Issue #762)
- Fixed delays in lpd backend (Issue #741)
- Fixed extensive logging in scheduler (Issue #604)
- Fixed hanging of `lpstat` on IBM AIX (Issue #773)
- Fixed hanging of `lpstat` on Solaris (Issue #156)
- Fixed printing to stderr if we can't open cups-files.conf (Issue #777)
- Fixed purging job files via `cancel -x` (Issue #742)
- Fixed RFC 1179 port reserving behavior in LPD backend (Issue #743)
- Fixed a bug in the PPD command interpretation code (Issue #768)
- Fixed Oki 407 freeze when printing larger jobs (Issue #877)
jperkin pushed a commit that referenced this issue Jun 16, 2024
6.1.1 (2024-06-13)

* Proactively fixed a compatibility issue with libxml >= 2.13.0 (which will
  be used in an upcoming version of Nokogiri) that caused HTML doctype
  sanitization to fail.  @flavorjones - #238
jperkin pushed a commit that referenced this issue Jun 18, 2024
[1.4.0] - 2024-06-11

Added

- Structured bodies can now be defined with tags on the body field of a recipe,
making it more convenient to construct bodies of common types. Supported types
are:
  - `!json` [#242](LucasPickering/slumber#242)
  - `!form_urlencoded` [#244](LucasPickering/slumber#244)
  - `!form_multipart` [#243](LucasPickering/slumber#243)
  - [See docs](https://slumber.lucaspickering.me/book/api/request_collection/recipe_body.html) for usage instructions
- Support multiple instances of the same query param [#245](LucasPickering/slumber#245) (@maksimowiczm)
  - Query params can now be defined as a list of `<param>=<value>` entries
  - [See docs](https://slumber.lucaspickering.me/book/api/request_collection/query_parameters.html)
- Templates can now render binary values in certain contexts
  - [See docs](https://slumber.lucaspickering.me/book/user_guide/templates.html#binary-templates)

Changed

- When a modal/dialog is open `q` now exits the dialog instead of the entire app
- Upgrade to Rust 1.76

Fixed

- Fix "Unknown request ID" error showing on startup [#238](LucasPickering/slumber#238)
jperkin pushed a commit that referenced this issue Jul 20, 2024
Based on PR 58426 by jonathan buschmann.

## 2.4.7 2024-05-05

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

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


## 2.4.6 2024-04-07

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

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


## 2.4.5 2024-02-18

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

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


## 2.4.4 2024-02-11

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

### Changed
- chore: update dependencies


## 2.4.3 2024-02-04

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

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

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


## 2.4.2 2023-12-26

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


## 2.4.1 2023-12-10

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

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


## 2.4.0 2023-10-08

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


## 2.3.3 2023-10-04

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

### Changed
- update dependencies


## [2.3.2] 2023-08-19

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

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


## [2.3.1] 2023-07-25

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

### Changed
- update dependencies


## [2.3.0] 2023-05-25

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

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

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

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


## [2.2.4] 2023-05-15

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

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

### Changed
- chore: update dependencies


## [2.2.3] 2023-04-26

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

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


## [2.2.2] 2023-04-01

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


## [2.2.1] 2023-03-29

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

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


## [2.2.0] 2023-02-24

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

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

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

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


## [2.1.0] 2022-12-12

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

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

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


## [2.0.4] 2022-11-30

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

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


## [2.0.3] 2022-11-21

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

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


## [2.0.2] 2022-11-17

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

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

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


## [2.0.1] 2022-11-07

### Changed
- chore: Update to clap 4.0.22

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


## [2.0.0] 2022-11-06

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

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

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

### Fixed

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

### Changed since 2.0.0-rc.2

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

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


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

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

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


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

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

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

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


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

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

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

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


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

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

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


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

### Removed
- Removed Python implementation of StGit.

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

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

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


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

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

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

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


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

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

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

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


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

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

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

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

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


## [1.5] 2022-01-28

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

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

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


## [1.4] 2021-10-27

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

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

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

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


## [1.3] 2021-09-26

### Removed

### Added

### Changed

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

## [1.2] 2021-09-26

### Removed

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

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

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

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

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


## [1.1] 2021-04-30

### Removed

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

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

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


## [1.0] 2021-02-07

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

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

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

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


## [0.23] 2020-06-12

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

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

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

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

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

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

## [0.22] - 2020-03-02

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

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

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

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

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


## [0.21] - 2019-10-28

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

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


## [0.20] - 2019-10-04

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

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

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


## [0.19] 2018-11-05

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

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


## [0.18] 2017-08-14

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

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

### Fixed
- Various fixes and test coverage improvements
jperkin pushed a commit that referenced this issue Aug 7, 2024
Changelog for rest-server 0.13.0 (2024-07-26)
============================================

The following sections list the changes in rest-server 0.13.0 relevant
to users. The changes are ordered by importance.

Summary
-------

 * Chg #267: Update dependencies and require Go 1.18 or newer
 * Chg #273: Shut down cleanly on TERM and INT signals
 * Enh #271: Print listening address after start-up
 * Enh #272: Support listening on a unix socket

Details
-------

 * Change #267: Update dependencies and require Go 1.18 or newer

   Most dependencies have been updated. Since some libraries require newer language
   features, support for Go 1.17 has been dropped, which means that rest-server now
   requires at least Go 1.18 to build.

   restic/rest-server#267

 * Change #273: Shut down cleanly on TERM and INT signals

   Rest-server now listens for TERM and INT signals and cleanly closes down the
   http.Server and listener when receiving either of them.

   This is particularly useful when listening on a unix socket, as the server will
   now remove the socket file when it shuts down.

   restic/rest-server#273

 * Enhancement #271: Print listening address after start-up

   When started with `--listen :0`, rest-server would print `start server on :0`

   The message now also includes the actual address listened on, for example `start
   server on 0.0.0.0:37333`. This is useful when starting a server with an
   auto-allocated free port number (port 0).

   restic/rest-server#271

 * Enhancement #272: Support listening on a unix socket

   It is now possible to make rest-server listen on a unix socket by prefixing the
   socket filename with `unix:` and passing it to the `--listen` option, for
   example `--listen unix:/tmp/foo`.

   This is useful in combination with remote port forwarding to enable a remote
   server to backup locally, e.g.:

   ```
   rest-server --listen unix:/tmp/foo &
   ssh -R /tmp/foo:/tmp/foo user@host restic -r rest:http+unix:///tmp/foo:/repo backup
   ```

   restic/rest-server#272


Changelog for rest-server 0.12.1 (2023-07-09)
============================================

The following sections list the changes in rest-server 0.12.1 relevant
to users. The changes are ordered by importance.

Summary
-------

 * Fix #230: Fix erroneous warnings about unsupported fsync
 * Fix #238: API: Return empty array when listing empty folders
 * Enh #217: Log to stdout using the `--log -` option

Details
-------

 * Bugfix #230: Fix erroneous warnings about unsupported fsync

   Due to a regression in rest-server 0.12.0, it continuously printed `WARNING:
   fsync is not supported by the data storage. This can lead to data loss, if the
   system crashes or the storage is unexpectedly disconnected.` for systems that
   support fsync. We have fixed the warning.

   restic/rest-server#230
   restic/rest-server#231

 * Bugfix #238: API: Return empty array when listing empty folders

   Rest-server returned `null` when listing an empty folder. This has been changed
   to returning an empty array in accordance with the REST protocol specification.
   This change has no impact on restic users.

   restic/rest-server#238
   restic/rest-server#239

 * Enhancement #217: Log to stdout using the `--log -` option

   Logging to stdout was possible using `--log /dev/stdout`. However, when the rest
   server is run as a different user, for example, using

   `sudo -u restic rest-server [...] --log /dev/stdout`

   This did not work due to permission issues.

   For logging to stdout, the `--log` option now supports the special filename `-`
   which also works in these cases.

   restic/rest-server#217
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