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

postgresql10-server-10.4 does not initialize the database cluster on install #138

Closed
brianewell opened this issue Sep 3, 2018 · 1 comment
Assignees

Comments

@brianewell
Copy link

brianewell commented Sep 3, 2018

Whereas the postgresql96-server-9.6.9 package does successfully initialize the database cluster on install. I'm assuming this is a regression, and not some new feature of PostgreSQL 10?

Instance: (base-64 18.2.0)
Pkgsrc: 2018Q2

@jperkin jperkin self-assigned this Sep 4, 2018
@jperkin
Copy link
Collaborator

jperkin commented Sep 4, 2018

We hadn't copied the INSTALL script in our build repository for the new version, this was fixed a while ago and will appear in 2018Q3.

@jperkin jperkin closed this as completed Sep 4, 2018
jperkin pushed a commit that referenced this issue Sep 5, 2018
Release 2.2.6 Sun August 12 2018
        Bug fixes:
       #170 #206  Avoid doing arithmetic with NULL pointers in XML_GetBuffer
       #204 #205  Fix 2.2.5 regression with suspend-resume while parsing
                    a document like '<root/>'

        Other changes:
       #165 #168  Autotools: Fix docbook-related configure syntax error
            #166  Autotools: Avoid grep option `-q` for Solaris
            #167  Autotools: Support
                    ./configure DOCBOOK_TO_MAN="xmlto man --skip-validation"
       #159 #167  Autotools: Support DOCBOOK_TO_MAN command which produces
                    xmlwf.1 rather than XMLWF.1; also covers case insensitive
                    file systems
            #181  Autotools: Drop -rpath option passed to libtool
            #188  Autotools: Detect and deny SGML docbook2man as ours is XML
            #188  Autotools/CMake: Support command db2x_docbook2man as well
            #174  CMake: Introduce option WARNINGS_AS_ERRORS, defaults to OFF
       #184 #185  CMake: Introduce option MSVC_USE_STATIC_CRT, defaults to OFF
       #207 #208  CMake: Introduce option XML_UNICODE and XML_UNICODE_WCHAR_T,
                    both defaulting to OFF
            #175  CMake: Prefer check_symbol_exists over check_function_exists
            #176  CMake: Create the same pkg-config file as with GNU Autotools
       #178 #179  CMake: Use GNUInstallDirs module to set proper defaults for
                    install directories
            #208  CMake: Utilize expat_config.h.cmake for XML_DEV_URANDOM
            #180  Windows: Fix compilation of test suite for Visual Studio 2008
  #131 #173 #202  Address compiler warnings
  #187 #190 #200  Fix miscellaneous typos
                  Version info bumped from 7:7:6 to 7:8:6

Release 2.2.5 Tue October 31 2017
        Bug fixes:
              #8  If the parser runs out of memory, make sure its internal
                    state reflects the memory it actually has, not the memory
                    it wanted to have.
             #11  The default handler wasn't being called when it should for
                    a SYSTEM or PUBLIC doctype if an entity declaration handler
                    was registered.
       #137 #138  Fix a case of mistakenly reported parsing success where
                    XML_StopParser was called from an element handler
            #162  Function XML_ErrorString was returning NULL rather than
                    a message for code XML_ERROR_INVALID_ARGUMENT
                    introduced with release 2.2.1

        Other changes:
            #106  xmlwf: Add argument -N adding notation declarations
        #75 #106  Test suite: Resolve expected failure cases where xmlwf
                    output was incomplete
            #127  Windows: Fix test suite compilation
       #126 #127  Windows: Fix compilation for Visual Studio 2012
                  Windows: Upgrade shipped project files to Visual Studio 2017
        #33 #132  tests: Mass-fix compilation for XML_UNICODE_WCHAR_T
            #129  examples: Fix compilation for XML_UNICODE_WCHAR_T
            #130  benchmark: Fix compilation for XML_UNICODE_WCHAR_T
            #144  xmlwf: Fix compilation for XML_UNICODE_WCHAR_T; still needs
                    Windows or MinGW for 2-byte wchar_t
              #9  Address two Clang Static Analyzer false positives
             #59  Resolve troublesome macros hiding parser struct membership
                    and dereferencing that pointer
              #6  Resolve superfluous internal malloc/realloc switch
       #153 #155  Improve docbook2x-man detection
            #160  Undefine NDEBUG in the test suite (rather than rejecting it)
            #161  Address compiler warnings
                  Version info bumped from 7:6:6 to 7:7:6
jperkin pushed a commit that referenced this issue Sep 20, 2018
pkgsrc changes:
 - Update MASTER_SITES
 - Remove unused USE_LIBTOOL (libtool was not and is not used)
 - Only pod2man is needed as a tool, avoid to include perl bl3

Changes:
3.20160805.1
  - Fix release tool problem. cflags.sh was missing from the previous two
    releases.
    `make test-package-build` now works correctly on OSX 10.11 and Fedora 23.

3.20160804.2
  - Fix some bugs in the Makefile especially for OS X / macOS Sierra
    (Misty De Meo)

3.20160804.1
  - Fix compilation problems on OSX 10.12 aka macOS Sierra. (#138; Jordan
    Sissel and Misty De Meo)
  - Fix memory leaks in window search and charcode map lookups (Markus Roth)
  - xdotool selectwindow (xdo_select_window_with_click) now only selects the
    window if mouse button 1 is pressed. Any other buttons will cause this
    selection to be aborted. (#136, #137; Jordan Sissel and Yuri D'Elia)
  - Fix bug where `xdotool click` with --clearmodifiers can sometimes leave
    stuck keys or mouse buttons. (#102, Aurelien Lourot)
  - windowmove now supports coordinates as a percentage of screen size. For
    example, a move to 50% 50% would move the window such that the top-left
    corner of the window is in the center of the screen. (#92, #27; Collin
    Guarino)
  - Typing commands (key and type) will now try to use XTEST instead of
    XSendEvent in a special circumstance. If the window id given (by window
    stack or the --window flag) is the currenly-focused window, key sequences
    will be sent using XTEST. (#85, mpnolan)
  - getmouselocation, getwindowgeometry, and search commands: now supports
    --shell and --prefix for having stdout be consumable by bash or similar
    shells. (#80, yatsek)
  - xdotool scripts such as running via `xdotool -` will now execute commands
    as lines of input are read. The previous behavior waited until stdin closed
    before executing anything. (#131, abensj)

3.20150503
  - Lots of changes over the past 4 years, but with many folks telling me to do
    another release tarball, here it is.
    We can backfill the changelog later.
jperkin pushed a commit that referenced this issue Feb 26, 2019
Changes since b137:

Beta #138 - 25.02.2019
- Touchscreen input should now work properly in fullscreen mode
jperkin pushed a commit that referenced this issue May 21, 2019
AsciiDoc:
 * Fix Asciidoc unindented lists (GitHub's #149)
 * Make Asciidoc Tables nowrap and support current format (GitHub's #63)
 * Do not include table fences in pot file (GitHub's #163)
 * Add option to prevent translation of target of image blocks (GitHub's #164)

Markdown:
 * Improve markdown ruler parsing, and add test.
 * Add markdown fenced code block parsing, and add test.

Sgml:
 * Avoid deprecated unescaped left brace in regex to get ready for Perl 5.32.
   (Debian's #903735)

TransTractor:
 * Ensure to split lines before addendum operation without loss or addition of
   newline.  With this change, addendum behavior is more intuitive.
   (Debian's #518218, Github's #147, #153)

Wml:
 * Fix longstanding error regarding comments at the beginning of a file.
   (Github's #138)

Xml, Docbook:
 * Document XML tag behavior customization with example to help use case
   specific customization.  (Debian's #515763)
 * Debug output enhancement to help people understand what exactly happening
   inside po4a.
 * Extensive POD and code comment additions and updates.

po4a tool:
 * Add pot_in feature to support the secondary master file for the base of
   POT/PO file generation.

Test:
 * Add XML test cases with po4a including addendum, tag customization, and
   pot_in feature.

Translations:
 * New translation to Chinese and Chinese Simplified, thanks Liu Guang.
 * Updated: Dutch, thanks Frans Spiesschaert.
 * Updated: Estonian, thanks Kristjan Räts.
 * Updated: French, thanks Brandelune and ButterflyOfFire.
 * Updated: German, thanks Helge Kreutzmann.
 * Updated: Italian, thanks Marco Ciampa.
 * Updated: Norwegian Bokmål, thanks Petter Reinholdtsen.
 * Updated: Portuguese (Brazil), thanks Rafael Fontenelle and Luiz
   Fernando Ranghetti.
 * Updated: Russian: thanks Igor.
 * Updated: Spanish, thanks emma peel and Omar Campagne.
 * Updated: Swedish, thanks Anders Jonsson.
 * Updated: Ukrainian, thanks Yuri Chornoivan (українська).
 * Updated: Vietnamese, thanks Trần Ngọc Quân.
jperkin pushed a commit that referenced this issue Jul 1, 2019
Changelog:
New Libraries

    Outcome: A set of tools for reporting and handling function failures in contexts where directly using C++ exception handling is unsuitable, from Niall Douglas.
    Histogram: Fast and extensible multi-dimensional histograms with convenient interface for C++14, from Hans Dembinski.

Updated Libraries

    Asio:
        This release includes a number of new features, bug fixes, performance enhancements, and documentation improvements. Notable changes include:
            Added the ability to use custom I/O executors with I/O objects (such as sockets).
            Added a new async_result form with an initiate static member function.
            Updated the Coroutines TS support and promoted it to the asio namespace.
            Added a new DynamicBuffer_v2 concept which is CopyConstructible.
            Added a new async_compose function that simplifies the implementation of user-defined asynchronous operations.
            Added a make_strand helper function.
            Relaxed the completion condition type requirements to only require move-constructibility rather than copy-constructibility.
            Added a constructor for local::basic_endpoint that takes a string_view.
            Added the noexcept qualifier to various functions.
            Added a new BOOST_ASIO_DISABLE_VISIBILITY configuration #define.
            Enabled recycling of the memory used to type-erase a function object with the polymorphic executor.
            Changed receive operations to return the correct number of bytes transferred when truncation (error::message_size) occurs on a datagram-oriented socket.
            Fixed calculation of absolute timeout when the backend uses pthread_cond_timedwait.
            Changed the range-based asynchronous connect operation to deduce the EndpointSequence iterator type.
            Fixed buffer_sequence_begin and buffer_sequence_end to prevent implicit conversion.
            Ensured SSL handshake errors are propagated to the peer before the local operation completes.
            Suppressed the eof error on SSL shutdown as it actually indicates success.
            Added a fallback error code for when we OpenSSL produces an SSL_ERROR_SYSCALL result without an associated error.
            Changed composed asynchronous read and write operations to move buffer sequence objects.
            Fixed a macOS-specific warning about the deprecation of OSMemoryBarrier.
            Fixed compile errors that occur when using the composed read and write operations with MSVC 11.0.
            Improved dispatch, post and defer documentation.
            Fixed a Windows-specific memory leak that may occur when system_executor is used.
        Consult the Revision History for further details.
    Beast: BIG Update!!!
        Some APIs have changed.
        The reference shows a star ★ next to each new item.
        Beast needs your help!
            Tell Us how you or your company use Beast
            Please report any bugs, feature requests, or general feedback
            Join the C++ Slack Workspace for free and chat with us in the #beast and #boost channels
            Don't forget to star the repository ⭐!
        More tutorials, code like the pros!
            Networking Refresher teaches you from the ground up.
            Updated Asynchronous Echo example
            Updated Detect SSL composed operation tutorial
            websocket-chat-multi threaded chat server with a JavaScript browser client
        basic_stream and tcp_stream offer:
            Timeouts: async_read_some, async_write_some complete with error::timeout on expiration!
            Traffic-shaping policies simple and unlimited, or a user-defined RatePolicy!
            Put the strand directly on the socket using P1322R0, no more bind_executor at call sites!
        Base classes async_base and stable_async_base and handle all composed operation boilerplate for you.
        ssl_stream provides a movable, assignable SSL stream with a flat write optimization.
        All asynchronous operations use Asio's async_initiate for efficient integration with Coroutines TS.
        ⚡ faster compilation, define BOOST_BEAST_SEPARATE_COMPILATION and #include <boost/beast/src.hpp> in one of your .cpp files!
        See the full Release Notes for a complete list of changes.
    Context:
        #91: cleanup of stack if creating ucontext fails
        #97: add missing BOST_CONTEXT_DECL in stack_context
        #98: fix jump_i386_sysv_macho writing garbage to the x87 control word
    Coroutine2:
        #28: don't crash on pthread_cancel
    DLL:
        New macro BOOST_DLL_USE_STD_FS. Define it to 1 to make the Boost.DLL use C++17's std::filesystem::path, std::system_error and std::error_code (#21). Note that exception types change from boost::system::system_error to std::system_error, so make sure to update catches.
        Significant rewrite of the dynamic loadable detection and decoration logic. More precise errors are now reported in case of loading failures. Added shared_library::decorate() function that returns a decorated path to the library without doing any platform related queries and detections. Prefer using shared_library::load and shared_library constructors for better results (many thanks to Loïc Touraine for the work PR#23).
        CI hardening, docs updates, typos fixes, cleanups and mg
        #196: fix high contention on remote_ready_splk_
    Filesystem:
        Fixed a few instances of dereferencing std::string::end() in path implementation.
        Fixed program termination in case of out of memory condition in directory iteratorsnce to error_code. (#58)
        Fixed possible linking errors caused by missing definitions of static members of path. (#12759)
        Fixed possible use of uninitialized data in directory iterator increment operation on Linux.
        Added support fortatus query overloads for directory_entry. This avoids a relatively expensive OS query when file status is requested for a result of dereferencing a directory iterator. (PR#55)
        Reworked current_path and read_symlink implementation to avoid possiblfilesystems. The functions now have an internal limit of the path size they will accept from the OS, which is currently 16 MiB.
        Increased the size of the internal buffer used by copy_file.
    Integer:
        Added Extended Euclidean Algorithm and Modular Multiplicative Inverse function. (Nick Thompson, PR#11)
    Log:
        New features:
            Added support for generating another log file name before collecting the file in the text file sink backend. This allows to combine appending to aexisting log file with timestamps and file counters in log filenames, and, consequently, file collection in general.
        See changelog for more details.
    Math:
        New features:
            Add Lanczos smoothing derivatives
            Move numols/ to boost/math/differentiation/finite_difference.hpp.
            Add mean, variance, skewness, kurtosis, median, Gini coefficient, and median absolute deviation to tools/univariate_statistics.hpp.
            Add correlation coefficients and covariand absolute Gini coefficient, Hoyer sparsity, oracle SNR, and the M[sub 2]M[sub 4] SNR estimator to tools/signal_statistics.hpp.
            Add total variation, l0, l1, l2, and sup norms, as well as corresponding distance functions to tools/norms.hpp.
   for polynomials, support complex coefficients, add .prime() and .integrate() methods.
            Add quadratic_roots to tools/roots.hpp.
            Add support for complex-valued functions to Newton's method in roots.hpp.
            Add Catmull-Rom inted mp_invoke to mp_invoke_q
        Added mp_similar
        Added mp_set_union, mp_set_intersection, mp_set_difference
        Added mp_not_fn
        Added mp_transform_first, mp_transform_second, mp_transform_third
        Added mp_filter
        Addedp_valid_q
        Added mp_back, mp_pop_back
    Multi-index Containers:
        size_type and difference_type are now defined as the allocator's same-named types. This will not make any difference in the vast majority of cases, but allows for some degreevia user-defined allocator types (see issue #17 for motivation). For the moment being, this change is not documented in the reference section (i.e., it has semi-official status).
        Maintenance work.
    Multiprecision:
        Fix various conversioncheck for compatibility with Boost.Optional.
        Prevent instantiation of std::numeric_limits on any old type when checking for convertibility. See #98.
        Update variable precision code to account for arbitrary precision integers. See #103.
    lization archives.
        Fix bug in fixed precision iostream formatting in mpf_float and mpfr_float. See #113.
        Add more overloads for special functions which are better handled natively by MPFR.
        Fixed bug in generic exp implementation wh.
        Fixed generic conversion from float to integer to avoid undefined behaviour. See #110.
    PolyCollection:
        Improved handling of stateful allocators and allocator propagation traits, after an error reported by Billy O'Neal (PR#9).
       ug with an internal cache structure.
    Spirit:
        Removed use of deprecated boost/detail/iterator.hpp header. PR#432
        X3
            Integer parsers should now handle user defined types. PR#429
            Note: The check_overflow trait defan std::numeric_limits<T>::is_bounded instead of boost::integer_traits<T>::is_integral.
            Removed sequence into plain parsing. Now it triggers a compile time error instead of silently parsing the the sequence and taking the last value as a resulte_rule instantiation with BOOST_SPIRIT_INSTANTIATE when:
                A rule has no attribute. PR#455
                An actual attribute is not of type a rule was declared with. PR#456 #457
            A huge thanks goes out to Xeverous for reporting    Fixed unneded attribute synthesization and no-transformation attribute reference pass-through in rules. #444 PR#449 PR#452
            Removed broken 1.0#INF parser. It was poorly documented and never worked. #415 PR#458 #8699
            The undocumenoved due to bugs PR#449 and to simplify attribute transformation. PR#460
            If you were using it to workaround bugs in attribute transformation - they should not be needed anymore as of this release.
            The integer value parser now respe10 value. PR#469
            Fixed underflow check for a (Min % Base) == 0 corner case. PR#469
            Fixed an output value on overflow of IgnoreOverflowDigits=true integer parser. PR#470
            Container attribute elements were copyied, but notial handling of references in transform_attribute was removed. PR#480
        V2
            Macro name collisions and namespace conflicts with Boost.Endian were fixed. PR#349 PR#482
            utree
                Fixed UB in tag getter due to left shi            Fixed double-conversion (spirit::string -> std::string -> spirit::string). PR#462
            Qi
                Added static asserts for rule skipper type problems. PR#427
                The check_overflow trait default implementation now reoost::integer_traits<T>::is_integral PR#429
                Integer parsers should now handle user defined types. PR#429
                Note: The check_overflow trait default implementation now relies on std::numeric_limits<T>::is_bounded instead of boosl.
                Removed broken 1.0#INF parser. It was poorly documented and never worked. #415 PR#458 #8699
                The undocumented make_attribute trait was merged into transform_attribute trait. PR#471
                The pre_transform, post_tility functions were removed in favor of directly using pre/post/fail of the transform trait. PR#467
                The integer value parser now respects std::numeric_limits<T>::digits10 value. PR#469
                Fixed underflow check for a (Min % B            Fixed an output value on overflow of IgnoreOverflowDigits=true integer parser. PR#470
                Special handling of references in transform_attribute was removed. PR#480
            Lex
                Fixed UB in default constructor of ken type. PR#420
        Classic:
            Fixed position_iterator forming reference to local when the underlying iterator dereference operator returns a non-reference type. PR#422 #9737
    Stacktrace:
        Build fix for iOS 32-bit ARM (many thanksng the fix PR#70)
        Fixed multiple typos, warnings and updated the docs.
    Test:
        Boost.test v3.10 see the Changes log for more details.
        Breaking changes:
            Boost.Test minimal.hpp is now showing a deprecation warning,
    omparison may fail tests that were silently not using the floating point comparison logic prior to this release,
            Internal API change to unit_test_log_formatter, see detailed change log,
        New feature:
            Floating point compariso non-floating point and arithmetic operands: expressions like BOOST_TEST(3.0001 == 3) now use floating point support of Boost.Test,
            Custom datasets are not required to declare the sample type field anymore,
            Extending template test riadic definition,
            Windows support for timed tests,
            Timed test on test-suites,
            Removed dependency to Boost.Timer,
            New macro BOOST_TEST_INFO_SCOPE for scoped context declaration,
            Improved BOOST_TE and pull requests:
            Trac tickets: #7397, #9434, #13106, #13418
            GitHub Issues: #133, #138, #141, #157, #160, #174, #176, #177, #180, #181, #194, #196, #198, #199, #202, #203, #204
            GitHub Pull Requests: PR#171, PR#172, PR PR#195, PR#195, PR#197, PR#205
    TypeIndex:
        Support for the GHS C++ compiler added (many thanks to Brandon Castellano for providing the patch PR#28)
        Optimized string and type comparisons (many thanks to Andrey Semashev for providing the-win compilation (many thanks to Peter Dimov for providing the patch PR#25)
        CI hardening.
    TypeTraits:
        Added is_bounded_array and is_unbounded_array (Glen Fernandes).
        Added copy_reference and copy_cv_ref (Glen Fernandes).
       /clr option.
        Misc compiler compatibility fixes.
    Variant:
        Many cleanups and internal improvements, many thanks to Nikita Kniazev (PR#55, PR#56, PR#57) and Louis Dionne (PR#51)
        CI hardening.
    uBlas:
        Addition of tensorassoy PR#65)
        Addition of basic OpenCL support (many thanks to Fady Essam PR#59)
        Integration of basic benchmark suite (many thanks to Stefan Seefeld PR#57)
        CI integration and hardening

Compilers Tested

Boost's primary test compileang: 3.0, 4.0.1, 6.0.1
        Clang, C++0x: 3.0
        Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 4.0.1, 6.0.1, 7.0.0, 8.0.0
        Clang, C++14: 3.5.0, 3.6.0, 3.7.1, 3.8.0, 3.9.1, 4.0.0, 4.0.1, 5.0.2, 6.0.1, 7.0.0, 8.0.0
        Clang, C++17: 5.0.2, 6.0.17, 4.5.3, 4.6.3, 5.4.0, 8.0.1
        GCC, C++0x: 4.4.7
        GCC, C++11: 4.7.3, 4.8.5, 4.9.4, 5.4.0, 6.4.0, 7.1.0, 8.0.1
        GCC, C++14: 5.4.0, 5.5.0, 6.4.0, 7.1.0, 7.3.0, 8.0.1
        GCC, C++17: 7.3.0, 8.0.1
        Intel, C++14: 18.0
    OS X:
, 9.1.0, 10.0.0
        Apple Clang, C++11: 9.0.0, 9.1.0, 10.0.0
        Apple Clang, C++14: 9.0.0, 9.1.0, 10.0.0
        Apple Clang, C++17: 9.1.0, 10.0.0
        Apple Clang, C++1z: 9.0.0
        Apple Clang, C++2a: 10.0.0
    Windows:
        GCC: 3.4.4.0, 4.5.4
        GCC, C++0x: 4.6.4
        GCC, C++11: 4.7.3, 4.8.1, 4.9.3
        GCC, C++14: 5.1.0, 5.2.0, 5.3.0, 6.1.0, 6.2.0, 6.3.0, 6.4.0
        GCC, C++17: 7.1.0, 7.2.0, 7.3.0
        Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
    Fr
        Clang, C++11: 4.0.0
        Clang, C++14: 4.0.0
        Clang, C++1z: 4.0.0

Boost's additional test compilers include:

    Linux:
        Clang: 3.0, 3.8.1, 3.9.1, 4.0.1, 5.0.2, 6.0.1
        Clang, C++0x: 3.0
        Clang, C++11: 3.0, 3.1, 3..0.0, 8.0.0
        Clang, C++14: 3.5.0, 3.6.0, 3.7.1, 3.8.0, 3.9.1, 4.0.0, 4.0.1, 5.0.2, 6.0.1, 7.0.0, 8.0.0
        Clang, C++17: 5.0.2, 6.0.1, 7.0.0, 8.0.0
        GCC: 4.4.7, 4.5.3, 4.6.3, 4.9.4, 5.4.0, 5.5.0, 8.0.1
        GCC, C++0x: 4.4.7
        G9.4, 5.4.0, 6.4.0, 7.1.0, 8.0.1
        GCC, C++14: 5.4.0, 5.5.0, 6.3.0, 6.4.0, 7.1.0, 7.3.0, 8.0.1, 8.1.0
        GCC, C++17: 7.3.0, 8.0.1
        Intel, C++14: 18.0
    OS X:
        Apple Clang: 9.0.0, 9.1.0, 10.0.0
        Apple Clang, C++11: 9.0.0, 9ang, C++14: 9.0.0, 9.1.0, 10.0.0
        Apple Clang, C++17: 9.1.0, 10.0.0
        Apple Clang, C++1z: 9.0.0
        Apple Clang, C++2a: 10.0.0
    Windows:
        GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
        GCC, C++0x: 4.6.4
        GCC, C++11 GCC, C++14: 5.1.0, 5.2.0, 5.3.0, 6.1.0, 6.2.0, 6.3.0, 6.4.0
        GCC, C++17: 7.1.0, 7.2.0, 7.3.0
        Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
    FreeBSD:
        Clang: 4.0.0
        Clang, C++11: 4.0.0
        Clang, C++14: 4.0.0
jperkin pushed a commit that referenced this issue Aug 26, 2019
Changes:
1.10.2
======
### Additions
 - Support for `instagram` stories and IGTV (#371, #373)
 - Support for individual `imgbb` images (#363)
 - `deviantart.quality` option to set the JPEG compression quality for newer
   images (#369)
 - `enumerate` option for `extractor.skip` (#306)
 - `adjust-extensions` option to control filename extension adjustments
 - `path-remove` option to remove control characters etc. from filesystem
   paths

### Changes
 - Rename `restrict-filenames` to `path-restrict`
 - Adjust `pixiv` metadata and default filename format (#366)
   - Set `filename` to `"{category}_{user[id]}_{id}{suffix}.{extension}"` to
     restore the old default
 - Improve and optimize directory and filename generation

### Fixes
 - Allow the `classify` post-processor to handle files with unknown filename
   extension (#138)
 - Fix rate limit handling for OAuth APIs (#368)
 - Fix artwork and scraps extraction on `deviantart` (#376, #392)
 - Distinguish between `imgur` album and gallery URLs (#380)
 - Prevent crash when using `--ugoira-conv` (#382)
 - Handle multi-image posts on `patreon` (#383)
 - Miscellaneous fixes for `*reactor`, `simplyhentai`
jperkin pushed a commit that referenced this issue Sep 2, 2019
Changes since 1.5.2:

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

Changes since 1.5.1:

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

Changes since 1.5.0:

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


Changes from Epoxy 1.4.3

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

Issues fixed

    #128 - Fix macOS linker flags [Tom Schoonjans]
    #129 - Use GLVND if available [Adam Jackson]
    #134 - Add fallback definition for EGL_CAST [Daniel Stone]
    #133 - Try even harder to not load GLX [Adam Jackson]
    #138 - Fix the libOpenGL soname [Adam Jackson]
    #137 - Update differences with GLEW [Nigel Stewart]
    #131 - Add epoxy_set_resolver_failure_handler() [Adam Jackson]
    #140 - Fix pointer mismatch on Windows 10 [danem]
    #141 - Define visibility flags for static builds [Dylan Baker]
    #136 - Expose epoxy_extension_in_string() [Lyude Paul]
    #151 - Use correct guard for Android builds [Robert Bragg]
    #154 - Fix dlwrap for glvnd [Adam Jackson]
    #155 - Respect DLOPEN_LIBS [Michał Górny]
    #143 - Fix printf family usage [Ikey Doherty]
    #152 - Do not use OPENGL_LIB on Android
    #145 - Add epoxy_glsl_version()
jperkin pushed a commit that referenced this issue Oct 20, 2019
pkgsrc changes:
 - Remove patch-filter_pdf.cxx (was a backport from upstream) and patch-Makefile.in
   (now `-r' option of `ln' is checked in configure phase)

Changes:
1.25.11
-------
 - cups-browsed: Really accept entries without printer name
   reported on a job status request (Issue #163).
 - cups-browsed: Strip IPP atrribute values reported by the
   printer on a get-printer-attributes request from white
   space (Pull request #166).

1.25.10
-------
 - libcupsfilters: Added NULL checks when handling page size
   names as some of the page sizes in CUPS' PWG media list have
   a NULL PPD name (Ubuntu bug #1847488).

1.25.9
------
 - cups-browsed: Fix leaks in get_printer_attributes() function.
 - cups-browsed: Avoid infinite recursion on IPP 1.1 fallback.

1.25.8
------
 - cups-browsed: On a job status request accept also entries
   without the printer name being reported (Issue #163).
 - cups-browsed: Fall back to IPP 1.1 if a
   get-printer-attributes IPP request with IPP 2.x fails (Issue
   #124, Issue #163).
 - gstoraster: Use ".setfilladjust2" instead of the
   undocumented ".setfilladjust" PostScript command for
   Center-of-Pixel method to fill paths (Issue #164).

1.25.7
------
 - implicitclass, libcupsfilters: Fixes to solve an assertion
   error and printing to an Apple Raster printer (Issue #162,
   Ubuntu bug #1845286, Ubuntu bug #1845548).
 - cups-browsed: Do not try to resolve the network interface
   name on Avahi messages which are not interface-related (like
   "All for now"or "Cache exhausted", Issue #163).
 - Build system: The helper script ln-srf to build on systems
   with old ln was not included in the release tarballs (Issue
   #161).
 - pdftoraster: Fixed some bugs in output bitmap generation (
   writePageImage() function): Segfault on output of
   up-side-down pages (back side when printing duplex on some
   printers), margin offsets not taken into account on
   monochrome jobs, CUPS_CSPACE_W color space not recognized as
   monochrome (Ubuntu bug #1845286).

1.25.6
------
 - implicitclass: Make sure the destination printer gets always
   set and do not pass on the cups-browsed-dest-printer when
   sending the job to the final destination (Issue #152, Pull
   request #159).
 - Build system: Support old ln versions without the -r option
   (Pull request #154, #157).
 - texttotext: Link with libiconv if needed (Pull request
   #155, #158).
 - foomatic-rip: Fix argument representation for raw queue
   debug mesaage (Pull request #153).

1.25.5
------
 - bannertopdf: Added missing "#include <cstring>" to pdf.cxx
   so that bannertopdf correctly builds with QPDF 9.0.0 (Issue
   #134, Issue #151, Gentoo bug #693498).
 - rastertopdf: Let the getIPPColorProfileName() function not
   return a pointer to a local variable (clang warning, Issue
   #150).
 - cups-browsed: If a locally generated queue (usually with
          "implicitclass://..." URI) left over from a previous
          (crashed) session is picked up on startup, do not set the
          URI as the remote printer's URI and do not cause a fatal
          error on a failed get-printer-attributes IPP request (Issue
          #148, Debian bug #939316).
 - pdftopdf: Do not preserve encryption, since the output
          already goes into the printer (Issue #146, Pull request
          #147).

1.25.4
------
 - imagetoraster: Do not call imagetops and pstoraster for
   classifications and page labels as these filters are not
   included any more with cups-filters.  Classifications and
   page labels are currently not supported for direct image
   printing, only for PDF or PostScript input (which goes
   through pdftopdf).
 - imagetoraster, imagetopdf: Fixed auto-rotation of images to
   fit output page best (Issue #145).
 - pdftoraster: If the PPD contains several equally-sized page
   size entries which match the size of the input page and one
   is the size selected by the user via the "PageSize" or
   "media" option (or the default selection in the PPD) then
   prefer this one instead of simply the first matching one.
 - pdftoraster: If the input page size cannot be matched with
   one of the PPD's page sizes it is considered a custom size,
   fill the page size name field of the CUPS Raster header with
   "Custom.XXXxYYY" then.
 - pdftoraster: Match the input page size with a page size in
   the PPD only if the differences of the dimensions are less
   than 1%, also match the input page size against the
   imageable area of the PPD's page sizes if no match with the
   full page size is found (Issue #138).

1.25.3
------
 - Sample PPDs: In HP-Color_LaserJet_CM3530_MFP-PDF.ppd renamed
   "custom" choice of the option "stapleoption" to "customsize"
   as from CUPS 2.2.12 on "custom" is not accepted any more as a
   choice name in a PPD file.
 - cups-browsed: Fixed check whether the remote printer understands
   PWG Raster (Issue #141).

1.25.2
------
 - foomatic-rip: Fixed segmentation fault when running
   foomatic-rip by hand and the PRINTER environment variable is
   not set (Pull request #139).
 - cups-browsed: Added note to cups-browsed.conf and man page
   about IP-based URIs depending on the network interface used.
 - cups-browsed: For each DNS-SD-discovered printer register
   each DNS-SD discovery instance with network interface,
   family, and IPP type. When DNS-SD messages of instances
   disappearing show up, only unregister this instance and
   remove the printer only if no instance is left. This
   prevents a local queue of a still available printer being
   removed when Wi-Fi (= one interface) is turned off (Issue
   #136).
 - cups-browsed: If a remote printer is served from the local
   machine, prefer the "localhost"/loopback interface URI.
 - cups-browsed: If a remote printer is discovered more than
   once, use the new instance only if it has no downgrades and
   at least one upgrade compared to the old one. Features
   currently compared are IPP/IPPS, loopback interface or not,
   and discovery via CUPS legacy/LDAP/DNS-SD.
 - cups-browsed: If an Avahi-discovered entry comes through the
   "lo" interface, always use the host name "localhost". Use
   IP addresses instead of host names only if explicitly
   requested.
 - cups-browsed: Consider remote printer entries also as from
   the same printer if one has the local machine's network name
   and the other "localhost" as host name (Issue #136).

1.25.1
------
 - imagetopdf: Fixed crash when no PPD file was supplied (Pull
   request #133).
 - pdftoraster: Fixed offset issues leading to segmentation
   faults (Issue #131, Pull request #132).
 - pdftoraster: Added anti-aliasing for better raster image
   quality (Pull request #129).
 - pdftoraster: Added graceful handling of zero-page input
   (Issue #117, Pull request #127).

1.25.0
------
 - pdftoijs, pdftoopvp: Removed these deprecated filters
   completely as there is no demand for them any more. They
   also used unstable, undocumented APIs of Poppler.
 - pdftoraster: Changed from using unstable, undocumented APIs
   of Poppler to stable, documented ones, to improve
   maintainability of this filter, and with it of the
   cups-filters package. Thanks to Tanmay Anand for
   contributing this as his Google Summer of Code 2019 project.
 - libcupsfilters: Added support for color spaces CMY and RGBW
   when using filters without PPD file (mainly for development
   and debugging, option "print-color-mode" with values
   "cmy-XX" and "rgbw-XX" with XX being the number of bits per
   color).

1.24.0
------
 - cups-browsed: Integration of Deepak Patankar's Google Summer
   of Code 2018 project with the main goal of clustering
   different printers and automatically selecting the
   destination printers by job content and option/attribute
   settings. All changes of this release are done by Deepak as
   parts of his project.
 - cups-browsed, implicitclass: Support for mixed clusters of
   remote CUPS queues and IPP network printers. For this PPD
   files of remote CUPS queues are generated by cups-browsed
   based on IPP queries, as for native IPP printers, the number
   of jobs for load balancing is polled in a way that it works
   also with native IPP printers, the implicitclass backend
   sends jobs directky to the printer instead of re-queueing
   them via CUPS.
 - cups-browsed: Merge IPP attributes of several printers to
   combined attributes for the cluster to generate the
   cluster's PPD file, including PPD constraints for option
   combinations not fulfillable by any of the member printers,
   and finding reasonable, non-conflicting default settings,
 - cups-browsed: Selection algorithm for the destination
   printer for a job sent to the cluster. Based on the job
   settings requested such as page size, media type, print
   quality, ... the best most suitable printer in the cluster
   for the job will be selected.
 - cups-browsed, implicitclass: Filter jobs to clusters already
   locally. Due to the fact that a cluster's member printers
   are not exclusively non-raw CUPS queues with the complete
   filtering framework on the remote server, but also native
   IPP printers, we need to support generic driverless printers
   as destination. So we cannot pass on the input data
   unfiltered but need to filter locally. We let the cluster's
   PPD file emulate a PDF printer, letting the local CUPS queue
   of the cluster run pdftopdf and any pre-filters to turn the
   input into PDF and we let the implicitclass backend turn PDF
   into a format understood by the destination printer,
   supporting the 4 formats of driverless IPP printing: PDF,
   PWG Raster, Apple Raster, PCLm.
jperkin pushed a commit that referenced this issue Dec 15, 2019
…ithub.com page

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

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

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

New glyphs:

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

Other notable changes:

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

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

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

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

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

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

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

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

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

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

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

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

Lots of changes in this release.

Highlights include:

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

Some interesting commits since v3.3:

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

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

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

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

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

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

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

PDF glyph charts:

  - Inter-UI-Thin-BETA-glyphs.pdf
  - Inter-UI-ThinItalic-BETA-glyphs.pdf
  - Inter-UI-Regular-glyphs.pdf
  - Inter-UI-Italic-glyphs.pdf
  - Inter-UI-Black-glyphs.pdf
  - Inter-UI-BlackItalic-glyphs.pdf
jperkin pushed a commit that referenced this issue Feb 20, 2020
Pkgsrc changes:
 * Adjust line numbers in patch.

Upstream changes:

The 1.10.0 release has RPZ support and serve stale functionality
according to draft draft-ietf-dnsop-serve-stale-10.  And a number of
other, smaller, features, and bug fixes.

The DNS Response Policy Zones (RPZ) functionality makes it possible
to express DNS response policies in a DNS zone. These zones can
be loaded from file or transferred over DNS zone transfers or
HTTP. The RPZ functionality in Unbound is implemented as specified in
draft-vixie-dnsop-dns-rpz-00. Only the QNAME and Response IP Address
triggers are supported. The supported RPZ actions are: NXDOMAIN, NODATA,
PASSTHRU, DROP and Local Data.

Enabling the respip module using `module-config` is required to use
RPZ. Each RPZ zone can be configured using the `rpz` clause. RPZ clauses
are applied in order of configuration.  Unbound can get the data from
zone transfer, a zonefile or https url, and more options are documented
in the man page.  A minimal RPZ configuration that will transfer the
RPZ zone using AXFR and IXFR can look like:

server:
  module-config: "respip validator iterator"

rpz:
  name: "rpz.example.com" # name of the policy zone
  master: 192.0.2.0	  # address of the name server to transfer from

The serve-stale functionality as described in
draft-ietf-dnsop-serve-stale-10 is now supported in unbound.
This allows unbound to first try and resolve a domain name before
replying with expired data from cache.  This differs from unbound's
initial serve-expired behavior which attempts to reply with expired
entries from cache without waiting for the actual resolution to finish.
Both behaviors are available and can be configured with the various
serve-expired-* configuration options.  serve-expired-client-timeout is
the option that enables one or the other.

The DSA algorithms have been disabled by default, this is because of
RFC 8624.

There is a crash fix in the parse of text of type WKS, reported by
X41 D-Sec.

In addition, neg and key caches can be shared with multiple
libunbound contexts, a change that assists unwind.  The
contrib/unbound_portable.service provides a systemd start file for a
portable setup.  The configure --with-libbsd option allows the use
of the bsd compatibility library so that it can use the arc4random
from it.  The stats in contrib/unbound_munin_ have num.query.tls and
num.query.tls.resume added to them.  For unbound-control the command
view_local_datas_remove is added that removes data from a view.


Features:
- Merge RPZ support into master. Only QNAME and Response IP triggers are
  supported.
- Added serve-stale functionality as described in
  draft-ietf-dnsop-serve-stale-10. `serve-expired-*` options can be used
  to configure the behavior.
- Updated cachedb to honor `serve-expired-ttl`; Fixes #107.
- Renamed statistic `num.zero_ttl` to `num.expired` as expired replies
  come with a configurable TTL value (`serve-expired-reply-ttl`).
- Merge #135 from Florian Obser: Use passed in neg and key cache
  if non-NULL.
- Fix #153: Disable validation for DSA algorithms.  RFC 8624 compliance.
- Merge PR#151: Fixes for systemd units, by Maryse47, Edmonds
  and Frzk.  Updates the unbound.service systemd file and adds a portable
  systemd service file.
- Merge PR#154; Allow use of libbsd functions with configure option
  --with-libbsd. By Robert Edmonds and Steven Chamberlain.
- Merge PR#148; Add some TLS stats to unbound_munin_. By Fredrik Pettai.
- Merge PR#156 from Alexander Berkes; Added unbound-control
  view_local_datas_remove command.

Bug Fixes:
- Fix typo to let serve-expired-ttl work with ub_ctx_set_option(), by
  Florian Obser
- Update mailing list URL.
- Fix #140: Document slave not downloading new zonefile upon update.
- Downgrade compat/getentropy_solaris.c to version 1.4 from OpenBSD.
  The dl_iterate_phdr() function introduced in newer versions raises
  compilation errors on solaris 10.
- Changes to compat/getentropy_solaris.c for,
  ifdef stdint.h inclusion for older systems.  ifdef sha2.h inclusion
  for older systems.
- Fix 'make test' to work for --disable-sha1 configure option.
- Fix out-of-bounds null-byte write in sldns_bget_token_par while
  parsing type WKS, reported by Luis Merino from X41 D-Sec.
- Updated sldns_bget_token_par fix for also space for the zero
  delimiter after the character.  And update for more spare space.
- Fix #138: stop binding pidfile inside chroot dir in systemd service
  file.
- Fix the relationship between serve-expired and prefetch options,
  patch from Saksham Manchanda from Secure64.
- Fix unreachable code in ssl set options code.
- Removed the dnscrypt_queries and dnscrypt_queries_chacha tests,
  because dnscrypt-proxy (2.0.36) does not support the test setup
  any more, and also the config file format does not seem to have the
  appropriate keys to recreate that setup.
- Fix crash after reload where a stats lookup could reference old key
  cache and neg cache structures.
- Fix for memory leak when edns subnet config options are read when
  compiled without edns subnet support.
- Fix auth zone support for NSEC3 records without salt.
- Merge PR#150 from Frzk: Systemd unit without chroot.  It add
  contrib/unbound_nochroot.service.in, a systemd file for use with
  chroot: "", see comments in the file, it uses systemd protections
  instead.  It was superceded by #151, the unbound_portable.service
  file.
- Merge PR#155 from Robert Edmonds: contrib/libunbound.pc.in: Fixes
  to Libs/Requires for crypto library dependencies.
- iana portlist updated.
- Fix to silence the tls handshake errors for broken pipe and reset
  by peer, unless verbosity is set to 2 or higher.
- Merge PR#147; change rfc reference for reserved top level dns names.
- Fix #157: undefined reference to `htobe64'.
- Fix subnet tests for disabled DSA algorithm by default.
- Update contrib/fastrpz.patch for clean diff with current code.
- updated .gitignore for added contrib file.
- Add build rule for ipset to Makefile
- Add getentropy_freebsd.o to Makefile dependencies.
- Fix memory leak in error condition remote.c
- Fix double free in error condition view.c
- Fix memory leak in do_auth_zone_transfer on success
- Stop working on socket when socket() call returns an error.
- Check malloc return values in TLS session ticket code
- Fix fclose on error in TLS session ticket code.
- Add assertion to please static analyzer
- Fixed stats when replying with cached, cname-aliased records.
- Added missing default values for redis cachedb backend.
- Fix num_reply_addr counting in mesh and tcp drop due to size
  after serve_stale commit.
- Fix to create and destroy rpz_lock in auth_zones structure.
- Fix to lock zone before adding rpz qname trigger.
- Fix to lock and release once in mesh_serve_expired_lookup.
- Fix to put braces around empty if body when threading is disabled.
- Fix num_reply_states and num_detached_states counting with
  serve_expired_callback.
- Cleaner code in mesh_serve_expired_lookup.
- Document in unbound.conf manpage that configuration clauses can be
  repeated in the configuration file.
- Document 'ub_result.was_ratelimited' in libunbound.
- Fix use after free on log-identity after a reload; Fixes #163.
- Fix with libnettle make test with dsa disabled.
- Fix contrib/fastrpz.patch to apply cleanly.  Fix for serve-stale
  fixes, but it does not compile, conflicts with new rpz code.
- Fix to clean memory leak of respip_addr.lock when ip_tree deleted.
- Fix compile warning when threads disabled.
jperkin pushed a commit that referenced this issue Mar 25, 2020
Update ruby-puppet-resource_api to 1.8.12.

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

**Fixed bugs:**

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

**Merged pull requests:**

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

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

**Implemented enhancements:**

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

**Fixed bugs:**

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

**Merged pull requests:**

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

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

**Fixed bugs:**

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

**Merged pull requests:**

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

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

**Implemented enhancements:**

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

**Fixed bugs:**

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

**Closed issues:**

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

**Merged pull requests:**

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

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

**Fixed bugs:**

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

**Merged pull requests:**

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

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

**Merged pull requests:**

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

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

**Merged pull requests:**

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

# Changelog

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


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

**Fixed bugs:**

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

**Merged pull requests:**

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

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

**Implemented enhancements:**

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

**Fixed bugs:**

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

**Merged pull requests:**

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

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

**Implemented enhancements:**

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

**Merged pull requests:**

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

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

**Closed issues:**

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

**Merged pull requests:**

- \(packaging\) Update version to 1.6.3 [\#143](puppetlabs/puppet-resource_api#143) ([branan](https://github.com/branan))
- Move parameter and property logic to separate classes [\#140](puppetlabs/puppet-resource_api#140) ([bpietraga](https://github.com/bpietraga))
- \(maint\) Predeclare Puppet module before ResourceApi [\#139](puppetlabs/puppet-resource_api#139) ([caseywilliams](https://github.com/caseywilliams))
- \(maint\) minor fix to make data\_type\_handling change work [\#138](puppetlabs/puppet-resource_api#138) ([DavidS](https://github.com/DavidS))
- \(maint\) extract data type handling code [\#137](puppetlabs/puppet-resource_api#137) ([bpietraga](https://github.com/bpietraga))
- Release prep for v1.6.2 [\#135](puppetlabs/puppet-resource_api#135) ([DavidS](https://github.com/DavidS))
jperkin pushed a commit that referenced this issue May 20, 2020
v0.9.5 (2020-03-28) : I Knew Her, She Knew Me
----------------------------------------------

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


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

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

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

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


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

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

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

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


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

Fix
~~~
- Docs and pep8.

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


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

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

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

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

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

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


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

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

Other
~~~~~
- Test with py38


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

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


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

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

Fix
~~~
- Honor APIC text encoding when description is "".  #200.
- Fixed bug with improper types when re-rendering unique file ID. (#324)
  <[email protected]>


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

Changes
~~~~~~~
- Fixup plugin: -t changed to --type.
- Pin pathlib to latest version 1.0.1 (#304) <[email protected]>

Fix
~~~
- Force no-color output when stdout is not a terminal (#297)
  <[email protected]>
- Requirements.txt: pathlib is only needed for older python versions
  (#284) <[email protected]>
- Art plugin: Pin pylast to 2.x to preserve Python2 support.


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

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

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

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

Other
~~~~~
- Added a separate example for Windows (--add-image <url>) [Addresses
  the issue #219] (#220) <[email protected]>


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

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


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

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

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

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


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

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

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

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

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


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

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

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

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

Other
~~~~~
- Set theme jekyll-theme-slate.
- Update pytest to 3.2.5 (#122) <[email protected]>
- Update pytest-runner to 3.0 (#108) <[email protected]>
- Update sphinx to 1.6.5 (#106) <[email protected]>
- Update flake8 to 3.5.0 (#107) <[email protected]>


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

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

Other
~~~~~
- Make the classic output span the actual width of the tty so you can
  see the actual path with a long file name. (#92) <[email protected]>


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

New
~~~
- Pypy and pypy3 support.

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

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


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

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

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


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

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

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

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

Other
~~~~~
- Moved to pytest, although unittest not yet purged.
jperkin pushed a commit that referenced this issue Sep 9, 2020
4.23 2020-09-05 (rurban)
        - Fixup t/54_stringify change for JSON 2.09 (really use PR #169 madsen)

4.22 2020-09-04 (rurban)
        - Fix t/54_stringify needs JSON 2.09 for allow_unknown (PR #169 madsen)
        - Fix t/118_type.t for 5.6
        - Fix t/96_interop.t for missing JSON::XS (GH #83 ribasushi)
        - Possible fix for s390x with long double, untested (GH #83)

4.21 2020-08-13 (rurban)
        - Fix not enough HEK memory allocation for the new canonical tied hashes
          feature. (GH #168)
        - TODO broken JSON::PP::Boolean versions 2.9x - 4.0 with threads::shared in
          125_shared_boolean.t

4.20 2020-08-12 (rurban)
        - New feature: sort tied hashes with canonical. (GH #167)
        - Fix encode of threads::shared boolean (#166 Sam Bingner).
          This was broken with 4.00.
        - Fix some stringify overload cases via convert_blessed (GH #105)
        - Fix a compat case with JSON::XS, when convert_blessed is set, but
          allow_blessed not. (GH #105)
        - Improve blessed and stringify tests
        - Work on better inf/nan detection on AIX (#165 Peter Heuchert)
        - Fix documentation for booleans and their types (#162 by Karen Etheridge)

4.19 2020-02-06 (rurban)
        - Fix typed decode memory leak (#160 by Pali).

4.18 2019-12-13 (rurban)
        - Add new method ->type_all_string (#156 by Pali).
          When type_all_string is set then encode method produce stable deterministic
          string types in result JSON.
          This can be an alternative to Cpanel::JSON::XS::Type when having
          deterministic output is required but string JSON types are enough for any
          output.
        - Move SvGETMAGIC() from encode_av() and encode_hv() to encode_sv()
          (#156 by Pali)
        - Add Math::BigInt and Math::BigFloat as recommended dependences
          (#157 by Pali and Grinnz)

4.17 2019-11-04 (rurban)
        - Add Changes tests and fixups (see #155)

4.16 2019-11-04 (rurban)
        - Use Perl_strtod instead of self-made atof (via pow), to
          minimize differences from core string-to-float conversions.
          (#154). Fixes float representation regressions (in the 1e-6
          to 1e-16 range) since 5.22.

4.15 2019-10-21 (rurban)
        - Fix more tests for nvtype long double

4.14 2019-10-15 (rurban)
        - Fix tests for nvtype long double (#153)
        - Fix PREREQ's. E.g. CentOS 7 has not Test::More anymore. (#152 by Pali)

4.13 2019-10-14 (rurban)
        - For JSON_TYPE_INT and JSON_TYPE_FLOAT allow to encode numeric values
          above 2^64 in PV slot via Math::BigInt/Float (#145, #148, #149 by Pali)
        - For JSON_TYPE_INT and JSON_TYPE_FLOAT encoder allow to pass Math::BigInt
          and Math::BigFloat objects with allow_bignum. (#147 by Pali)
        - Fix encoding floating point values above 2^64 in PV slot to JSON_TYPE_INT
          (#148, #150 by Pali)
        - Do not allow serializing objects when convert_blessed is not enabled.
          (#146 by Pali)

4.12 2019-06-11 (rurban)
        - Make encoder independent on Math::BigInt version (#140 by Pali)
        - Rethrow error from eval_sv and eval_pv() (#138, #139 by Pali),
          e.g. when Math::BigInt/BigFloat fails.
        - Fix encoding Inf and NaN from PV and NV slots to JSON_TYPE_INT
          (#137 by Pali)
        - Fix memory corruption in sv_to_ivuv() function (#136 by Pali)
        - Add new method ->require_types (#135 by Pali)
        - Fix typed json encoder conversion from scalar's PV and NV slot to
          JSON_TYPE_INT (#133, #134 by Pali)
        - Fix inconsistency with warnings in typed json encoder (#131 by Pali)
        - Fix Perl 5.8.0 support (#130 by Pali)
        - Fixed minor pod typo (#129 by sheeit)
        - Document invalid recursive callbacks or overloads (#128)

4.11 2019-03-26 (rurban)
        - Fix unicode strings with BOM corrupt ->utf8 state (#125)
          The BOM encoding effects only its very own decode call,
          not its object.

4.10 2019-03-18 (rurban)
        - Fix incr_text refcounts (#123)
        - Add incr_rest testcase (#123)
        - Fix encode_stringify string-overload refcnt problem (#124)
          "Attempt to free unreferenced scalar" with convert_blessed and overload.

4.09 2019-02-15 (rurban)
        - Add seperate allow_dupkeys property, in relaxed (#122)
        - Fixed allow_dupkeys for the XS slow path
        - Silence 2 -Wunused-value warnings
        - Fix ->unblessed_bool to produce modifiable perl structures (PR #121 by Pali)
jperkin pushed a commit that referenced this issue Sep 21, 2020
# cli 2.0.2

* The status bar now does not simplify multiple spaces by a single space.

* cli now does not crash if it fails to detect whether the RStudio theme
  is a dark theme (#138).

* cli now works better with wide Unicode characters, for example emojis.
  In particular, a status bar containing emojis is cleared properly (#133).

* The status bar now does not flicker when updated, in terminals (#135).

# cli 2.0.1

* Symbols (`symbol$*`) are now correctly printed in RStudio on Windows (#124).

* The default theme for `cli_code()` output looks better now, especially
  in RStudio (#123).

* Remove spurious newline after a `cli_process_start()` was cleared
  manually, and also at the end of the function.

* Use Oxford comma when listing 3 or more items (@jonocarroll, #128).

# cli 2.0.0

## Semantic command line interface tools

cli 2.0.0 has a new set of functions that help creating a CLI using a set
of higher level elements: headings, paragraphs, lists, alerts, code blocks,
etc. The formatting of all elements can be customized via themes.
See the "Building a semantic CLI" article on the package web site:
https://cli.r-lib.org

## Bug fixes:

* Fix a bug in `is_dynamic_tty()`, setting `R_CLI_DYNAMIC="FALSE"` now
  properly turns dynamic tty off (#70).
 CVS: ----------------------------------------------------------------------
jperkin pushed a commit that referenced this issue Dec 23, 2020
24 November 2020: Wouter
	- Merge PR #141: ZONEMD RR type.
	- tag for 4.3.4rc1.

23 November 2020: Wouter
	- Fix #142: NODATA answers missin SOA in authority section after
	  CNAME chain.
	- Fix for CVE-2020-28935 : Fix that symlink does not interfere
	  with chown of pidfile.
	- fix writepid for retvalue 0.

9 November 2020: Wouter
	- Fix #138: NSD returns non-EDNS answer when QUESTION is empty.
	- Fix to check nscount in previous fix for EDNS in formerr response
	  when there is no question.

28 October 2020: Wouter
	- Remove unused init_cfg_parse routine from configlexer.

20 October 2020: Wouter
	- Fix to add missing closest encloser NSEC3 for wildcard nodata type
	  DS answer.

14 October 2020: Wouter
	- Fix #134: IPV4_MINIMAL_RESPONSE_SIZE vs EDNS_MAX_MESSAGE_LEN.

13 October 2020: Wouter
	- Fix missing parenthesis on size of fix to init buffer.

12 October 2020: Wouter
	- Fix #127: two minor `-Wcast-qual` cleanups
	- Fix #126: minor header hygiene
	- Fix #125: include config.h in compat/setproctitle.c and fix prototype of `setproctitle`
	- Fix #133: fix 0-init of local ( stack ) buffer.
jperkin pushed a commit that referenced this issue Dec 28, 2020
Change since 1.3.1 from RELEASE_NOTES

1.4.0           2018/06/??
        Add ARC support.  Extensive work contributed by ValiMail.
        Add "DomainWhitelist" and "DomainWhitelistFile" config options.
        Extract client IP address for ARC reports when provided via
                Authentication-Results.
        Update SQL schema to support new reporting functionality for DKIM
                selectors and ARC local policy overrides (refer to the example
                schema.mysql file).
        Add experimental support for reporting of ARC local policy overrides.
        Add support for recording and reporting of DKIM selectors.
        Override a DMARC "fail" if an ARC "pass" is recorded in conjunction with
                an ARC policy pass.
        Fix bug #137: Handle base64 inside AR tokens that are values.
                Problem reported by Joseph Coffland.
        LIBOPENDMARC: Fix bug #203: Reject DMARC records that have duplicate
                tags in them.  Reported by Dirk Stoecker.
        REPORTS: Feature request #146: Add option to pull input from a file.
        REPORTS: Fix bug #153: Suppress duplicate results from the same
                domain.  Patch from Tomki Camp.

1.3.2           2017/03/04
        Feature request #86: Change meaning of "RequiredHeaders" such that
                header validity is always checked, but messages are only
                rejected on that basis when the flag is set.  Based
                on a patch from Andreas Schulze.
        Feature request #127: Log SPF results when rejecting.  Requested
                by Patrick Wagner; patch from Andreas Schulze, follow-up
                patch from Juri Haberland.
        Feature request #138: Inculde policy and disposition information
                in an Authentication-Results comment.  Based on a patch
                from Juri Haberland.
        Feature request #139: Include the client host name if known
                in failure reports.  Suggested by Roland Turner;
                patch by Andreas Schulze.
        Fix bug #95: Assume IPv6 for SPF operations.  Patch from Juri Haberland.
        Fix bug #120: Fix control logic around the SPF result.
                Reported by Christophe Wolfhugel; patch from Andreas Schulze.
        Fix bug #122: Don't skip the HELO milter phase when SPF is enabled.
                Reported by Christophe Wolfhugel.
        Fix bug #157: Fix logging of implicit authserv-ids.  Reported
                by Andreas Schulze; patch from Juri Haberland.
        Fix bug #158: Log ignored connections.  Patch from Andreas Schulze.
        Fix bug #160: Fix "SyslogFacility" handling.  Patch from
                Juri Haberland.
        Fix bug #163: Use a larger buffer for the raw MAIL FROM value.
                Based on a patch from Andreas Schulze.
        Fix bug #174: Trim "!" suffixes from reporting addresses.  Problem
                noted by Juri Haberland.
        Fix bug #186: When reloading the configuration file, the public
                suffix list was read in with the wrong comment indicator.
                Patch from Federico Omoto.
        Fix bug #194: Fix inappropriate DMARC status when "p=none" is
                discovered.  Patch from Juri Haberland.
        Fix bug #195: When parsing Received-SPF, use the correct constants
                in the history file entries.  Patch from Juri Haberland.
        LIBOPENDMARC: Fix bug #115: Fix type mismatch.  Patch from
                Sebastian A. Siewior via Scott Kitterman.
        LIBOPENDMARC: Fix bug #121: Fix IPv6 CIDR matching in SPF code.
                Patch from Christophe Wolfhugel.
        LIBOPENDMARC: Fix bug #125: Compile time IPv6 fix.  Reported by
                Christophe Wolfhugel.
        LIBOPENDMARC: Fix bug #131: Fix alignment bug.  Patch from
                Andreas Schulze.
        LIBOPENDMARC: Fix bug #147: Fix stripping of whitespace from
                DMARC DNS records.  Based on a patch from Job Noorman.
        LIBOPENDMARC: Fix bug #149: Apply "sp" setting, if present and
                applicable.  Patch from Petr Novak.
        LIBOPENDMARC: Fix bug #154: Fix "rf" and "fo" processing logic.
        LIBOPENDMARC: Fix bug #156: Fix variable name.  Patch by
                Andreas Schulze.
        LIBOPENDMARC: Fix bug #165: Fix logic in checking which SPF
                identifier was used.  Patches from Marco Favero and
                Juri Haberland.
        LIBOPENDMARC: Fix bug #167: Don't return "fail" when we should
                return "none".  Patch from Marco Favero.
        REPORTS: Fix bug #134: Handle SMTP errors correctly.  Patch from
                Andreas Schulze.
        REPORTS: Fix bug #141: Set the HELO parameter correctly.
                Reported by Alan Smith; patch from Andreas Schulze.
        REPORTS: Fix bug #143: Fix logic in table truncation.
                Reported by Wayne Andersen; patch from Juri Haberland.
        REPORTS: Fix bug #162: Always report "sp" in aggregate reports.
                Patch from Juri Haberland.
        REPORTS: Fix bug #166: Fix report start/end time logic.
                Patch from Juri Haberland.
        REPORTS: Fix bug #188: Don't delete inputs too early in
                opendmarc-reports.  Patch from Juri Haberland.
        TOOLS: Fix bug #161: "Forensic" reports were renamed "Failure"
                reports.  Patch from Andreas Schulze.
        TOOLS: Fix bug #164: Handle IPv6 test addresses.  Reported by
                Andreas Schulze; patch from Juri Haberland.
        DOCS: Patch #189: Replace the DMARC RFC with an HTML page
                referencing the relevant specs, since Debian doesn't
                consider RFCs to be "free".  Patch from Scott Kitterman
                via Juri Haberland.
jperkin pushed a commit that referenced this issue Jan 2, 2021
Changelog:
1.75.0
New Libraries

  * JSON: JSON parsing, serialization, and DOM in C++11, from Vinnie Falco and
    Krystian Stasiowski.
      + Fast compilation requiring only C++11
      + Easy and safe modern API with allocator support
      + Compile without Boost, define BOOST_JSON_STANDALONE
      + Optional header-only, without linking to a library
  * LEAF: A lightweight error-handling library for C++11, from Emil Dotchevski.
      + Small single-header format, no dependencies.
      + Designed for maximum efficiency ("happy" path and "sad" path).
      + No dynamic memory allocations, even with heavy payloads.
      + O(1) transport of arbitrary error types (independent of call stack
        depth).
      + Can be used with or without exception handling.
  * PFR: Basic reflection without macro or boilerplate code for user defined
    types, from Antony Polukhin.

Updated Libraries

  * Asio:
      + Enabled support for UNIX domain sockets on Windows.
      + Added executor-converting construction and assignment to ip::
        basic_resolver.
      + Added compatibility between polymorphic executors and the (deprecated)
        handler invocation hook.
      + Added the experimental::as_single completion token adapter.
      + Added support for MSG_NOSIGNAL on more platforms by using
        _POSIX_VERSION to detect whether it is supported.
      + Added the ability to compile using libpthread on Windows.
      + Added workarounds for the Intel C++ compiler.
      + Added more support for detecting and optimising for handlers that have
        no custom executor.
      + Reduced lock contention for timer cancellation on Windows.
      + Reinstated a previously removed null-pointer check, as it had a
        measurable impact on performance.
      + Fixed the executor concept to test for a const-qualified execute().
      + Fixed any_executor support for builds without RTTI support.
      + Fixed the thread_pool unit test to work without RTTI support.
      + Fixed C++20 coroutines compatibility with clang on Windows.
      + Fixed some compatibility issues with Windows Runtime.
      + Fixed shadow name warnings caused by addition of asio::query.
      + Fixed a "logical ‘or’ of equal expressions" warning on linux.
      + Fixed a benign switch fallthrough warning.
      + Added missing push/pop_options.hpp includes.
      + Suppressed zero-as-null-pointer-constant warnings.
      + Fixed a comma-operator warning.
      + Updated the documentation to clarify when the select reactor is used on
        Windows.
      + Fixed potential ambiguity caused by any_executor comparisons and
        conversion.
      + Added detection of non-experimental C++20 coroutines on MSVC 19.8.
      + Fixed compatibility with uClibc.
      + Fixed strand<> adaptation of Networking TS executors when targeting
        older C++ versions or less conformant compilers.
      + Consult the Revision History for further details.
  * Atomic:
      + Implemented SSE2 and SSE4.1 versions of address lookup algorithm, which
        is used in the internal lock pool implementation. This may improve
        performance of waiting and notifying operations in heavily contended
        cases.
      + Fixed a possible compilation error on AArch64 targets caused by
        incorrect instructions generated for bitwise (logical) operations with
        immediate constants. (#41)
  * Beast:
      + This update brings bug fixes and support for the
        BOOST_ASIO_ENBALE_HANDLER_TRACKING compile flag from Boost.Asio:
      + We'd love to know how you or your company use Beast, consider adding an
        entry to the Companies and Individuals Using Beast list.
      + See the full Release Notes for a complete list of changes.
  * Container:
      + New devector container.
      + Fixed bugs/issues:
          o #152 Tree-based containers have troubles with move-only types.
          o #156 Compile error with vector.
          o PR#157 Add missing include.
          o #159: pmr::monotonic_buffer_resource crashes on large single
            allocations.
          o #160: Usage of uses_allocator needs a remove_cvref_t.
          o #162: small_vector on MSVC x86 call-by-value crash.
          o #161: polymorphic_allocator(memory_resource*) non-standard
            extension causes headache.
          o PR#163: container_rebind for small_vector with options.
          o #165: Link error with shared library and memory_resource inline
            members.
          o PR#166: Fix encoding error in copyright headers.
          o PR#167: error: the address of 'msg' will always evaluate as 'true'
            warning with GCC 4.4.
          o #169: flood of warnings building dlmalloc_ext_2_8_6.c on clang11.
  * Endian:
      + endian_arithmetic no longer inherits from endian_buffer
      + When BOOST_ENDIAN_NO_CTORS is defined, the unaligned endian_buffer and
        endian_arithmetic are C++03 PODs, to enable use of __attribute__((
        packed))
  * Filesystem:
      + New: Added creation_time operation, which allows to obtain file
        creation time. (Inspired by PR#134)
      + The returned value of last_write_time(p, ec) operation in case of
        failure has been changed to a minimal value representable by std::
        time_t instead of -1.
      + The returned value of hard_link_count(p, ec) operation in case of
        failure has been changed to static_cast<uintmax_t>(-1) instead of 0.
      + On POSIX systems, file_size will now indicate error code errc::
        function_not_supported if the path resolves to a non-regular file.
        Previously, errc::operation_not_permitted was reported.
      + On Linux, many operations now use statx system call internally, when
        possible, which allows to reduce the amount of information queried from
        the filesystem and potentially improve performance. The statx system
        call was introduced in Linux kernel 4.11.
      + Removed const-qualification from return types of some path methods.
        This could prevent move construction and move assignment at the call
        site in some cases. (#160)
      + On OpenBSD 4.4 and newer, use statvfs system call to obtain filesystem
        space information. (Inspired by PR#162)
      + On Windows, space now returns with an error if the provided path does
        not idendify an existing file. (#167)
  * GIL:
      + BREAKING: In next release, we are going to drop support for GCC 5. We
        may also change the required minimum C++ version from C++11 to C++14.
  * Histogram:
      + This update brings
          o Bug-fixes for corner-cases
          o Small documentation improvements
          o Fixes for new warnings from latest compilers and when compiling
            against the C++20 standard
      + See the full Release Notes for a complete list of changes.
  * Interprocess:
      + Fixed bugs:
          o #127: static assertion failure with boost interprocess 1.74 and
            basic_managed_shared_memory.
  * Intrusive:
      + Fixed bugs:
          o PR#48: MSVC "assignment within conditional" warning fix.
          o PR#49: Fix empty control statement warnings.
          o #52: Invalid casting in BOOST_INTRUSIVE_BSR_INTRINSIC.
  * Log:
      + Bug fixes:
          o Corrected the file counter that would be used in text_file_backend
            when generating the target file name (based on the pattern set by
            set_target_file_name_pattern method) when the log file is rotated.
            (#125)
          o Replaced a volatile version counter in basic_sink_frontend with an
            atomic. (#128)
          o In the asynchronous_sink frontend, resolved a possible conflict
            between flush and run methods, if run is called from a user's
            thread instead of the internal dedicated thread spawned by the
            frontend. (#131)
      + See changelog for more details.
  * Move:
      + Fixed bugs:
          o #30: (void) C-cast is a non-portable way of suppressing compiler
            warnings.
  * Mp11:
      + Added mp_pairwise_fold (suggested by Barry Revzin)
      + Removed mp_invoke (use mp_invoke_q)
  * Optional:
      + boost::none is constexpr-declared.
      + Fixed issue #78.
  * Outcome:
      + Announcements:
          o After a year and three major Boost releases announcing this
            upcoming change, this is the FINAL RELEASE of the v2.1 branch. From
            Boost 1.76 onwards, the v2.2 branch becomes the default. This
            branch has a number of major breaking changes to Outcome v2.1, see
            the documentation for details.
      + Enhancements:
          o The ADL discovered event hooks have been replaced with
            policy-specified event hooks instead. This is due to brittleness
            (where hooks would quietly self-disable if somebody changed
            something), compiler bugs (a difference in compiler settings causes
            the wrong hooks, or some but not all hooks, to get discovered), and
            end user difficulty in using them at all. The policy-specified
            event hooks can be told to default to ADL discovered hooks for
            backwards compatibility: set OUTCOME_ENABLE_LEGACY_SUPPORT_FOR to
            less than 220 to enable emulation.
          o Improve configuring OUTCOME_GCC6_CONCEPT_BOOL. Older GCCs had
            boolean based concepts syntax, whereas newer GCCs are standards
            conforming. However the precise logic of when to use legacy and
            conforming syntax was not well understood, which caused Outcome to
            fail to compile depending on what options you pass to GCC. The new
            logic always uses the legacy syntax if on GCC 8 or older, otherwise
            we use conforming syntax if and only if GCC is in C++ 20 mode or
            later. This hopefully will resolve the corner case build failures
            on GCC.
      + Bug fixes:
          o Boost.Outcome should now compile with BOOST_NO_EXCEPTIONS defined.
            Thanks to Emil, maintainer of Boost.Exception, making a change for
            me, Boost.Outcome should now compile with C++ exceptions globally
            disabled. You won't be able to use boost::exception_ptr as it can't
            be included if C++ exceptions are globally disabled.
          o #236 In the Coroutine support the final_suspend() was not noexcept,
            despite being required to be so in the C++ 20 standard. This has
            been fixed, but only if your compiler implements noop_coroutine.
            Additionally, if noop_coroutine is available, we use the much more
            efficient coroutine handle returning variant of await_suspend()
            which should significantly improve codegen and context switching
            performance.
  * Polygon:
      + C++20 fixes for event_comparison_type, vertex_equality_predicate_type,
        and voronoi_predicates. (Glen Fernandes)
  * Preprocessor:
      + When variadic data is empty in C++20 mode with __VA_OPT__ support the
        variadic size has been corrected to be 0. This also means that in this
        C++20 mode it is now valid to convert to and from empty arrays and
        lists and variadic data. The end-user can read the "C++20 Support For
        Variadic Macros" part of the "variadic macros" topic for more
        information about empty variadic data in the library.
      + The macro BOOST_PP_IS_STANDARD() has been added for identifying if the
        currently used preprocessor is a C++ standard conforming preprocessor.
        A number of preprocessors which generally work correctly with the
        library but need various internal workarounds, including the currently
        default VC++ preprocessor, are not considered C++ standard conforming
        preprocessors. However most preprocessors, including among others gcc,
        clang, and the new but currently non-default VC++ preprocessor in
        VS2019, are C++ standard conforming preprocessors.
      + For C++ standard conforming preprocessors a number of the limits
        defined in the config/limits.hpp can now be changed to higher amounts
        for a TU. The end-user should read the "limitations" topic to
        understand how and which limits can be changed.
      + For C++ standard conforming preprocessors, in order to allow the
        maximum number of FOR and WHILE iterations, the beginning 'r' and 'd'
        iteration numbers in the user-defined macros start at 1 and not 2, as
        it did in previous releases. This could be a breaking change if these
        iteration numbers are used in the user-defined macros ( they probably
        would not be ), but the change was necessary to fix some arcane bugs
        when dealing with numerical/logical operations with maximum numbers as
        well to allow the user-defined macros to be called the correct possible
        maximum number of times. For non-C++ conforming preprocessors, this
        change was not made because those non-conforming C++ preprocessors
        generally have limitations which disallow the maximum number of looping
        constructs to be run, and it was felt not to introduce a possible
        breaking change to those more fragile preprocessors would be better. It
        was also felt that besides fixing some arcane preprocessor bugs and
        providing the possible maximum number of user-defined macro
        invocations, this change could be made because it has never been
        documented what the starting 'r' and 'd' iteration numbers actually are
        but only that these numbers are incremented for each iteration.
      + The library has been upgraded to assume variadic macro support for any
        compiler working with the library. Ostensibly this means that the
        library is now a C++11 on up library, yet most of the major compilers,
        including gcc, clang, and VC++, also support variadic macros in C++98/
        C++03 mode as long as strict compliance to C++98/C++03 is not turned on
        when using one of those compilers.
  * Rational:
      + Fix Rational operators to not break under new C++20 operator==
        rewriting rules. (Glen Fernandes)
  * Signals2:
      + Correct C++ allocator model support to fix compilation in C++20
        standards mode. (Glen Fernandes)
  * System:
      + The platform-specific headers windows_error.hpp, linux_error.hpp, and
        cygwin_error.hpp emit deprecation messages and are slated for removal.
      + The old names for generic_category() and system_category() emit
        deprecation messages and are slated for removal.
      + error_condition::failed is deprecated and is slated for removal.
        operator bool() for error_condition has been reverted to its old
        meaning of value() != 0. This is done for compatibility with std::
        error_condition as the next release is expected to improve
        interoperability with <system_error> even further. Note that this does
        not affect error_code::failed, which is still alive and well.
      + The overload of error_condition::message that takes a buffer is
        deprecated and is slated for removal, for the same reasons. Note that
        this does not affect error_code::message.
  * uBLAS:
      + Correct C++ allocator model support to fix compilation in C++20
        standards mode. (Glen Fernandes and Conrad Poelman)
  * VMD:
      + The VMD number parsing has been upgraded to support the ability for the
        end-user to change the number limits in the Preprocessor library.
      + The macro BOOST_VMD_IS_GENERAL_IDENTIFIER has been added to support the
        parsing of input that represents a preprocessor token which matches the
        VMD identifier syntax, without having to register the identifier as a
        specific identifier.
  * Wave:
      + Added new C++20 tokens, including the spaceship operator <=>
      + Fixed bugs:
          o #94: fix incorrect behavior of __LINE__ and __FILE__ under
            rescanning

1.74.0
New Libraries

  * STLInterfaces: A library of CRTP bases to ease the writing of STL views,
    iterators, and sequence containers, from Zach Laine.

Updated Libraries

  * Asio:
      + Added an implementation of the proposed standard executors (P0443r13,
        P1348r0, and P1393r0).
      + Added support for the proposed standard executors to Asio's I/O
        facilities.
          o The supplied executors now meet the requirements for the proposed
            standard executors. These classes also continue to meet the
            existing requirements for the Networking TS model of executors.
          o All I/O objects, asynchronous operations, and utilities will
            interoperate with both new proposed standard executors, and with
            existing Networking TS executors.
          o The any_io_executor type alias has been introduced as the default
            runtime-polymorphic executor for all I/O objects. This defaults to
            the execution::any_executor<> template. If required for backward
            compatibility, BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT can be defined
            to use the old asio::executor polymorphic wrapper instead.
          o Support for the existing Networking TS model of executors can be
            disabled by defining BOOST_ASIO_NO_TS_EXECUTORS.
      + Added converting move construction and assignment to
        basic_waitable_timer.
      + Enabled C++20 coroutine support when using gcc 10.
      + Added overloads of co_spawn that launch an awaitable.
      + Added a new constructor overload to use_awaitable_t's default executor
        adapter, to enable conversion between executor types.
      + Added support for using detached_t as a default completion token, by
        adding members as_default_on() and as_default_on_t<>.
      + Added a move constructor to ssl::stream<>.
      + Changed ssl::stream<> write operations to linearise gather-write buffer
        sequences.
      + Added compile-time detection of the deprecated asio_handler_invoke,
        asio_handler_allocate, and asio_handler_deallocate hooks, when
        BOOST_ASIO_NO_DEPRECATED is defined.
      + Implemented a number of performance optimisations.
      + Added source location support to handler tracking.
      + Implemented various improvements to the handlerviz.pl tool.
      + Added the handlerlive.pl tool, which processes handler tracking output
        to produce a list of "live" handlers.
      + Added the handlertree.pl tool, which filters handler tracking output to
        include only those events in the tree that produced the nominated
        handlers.
      + Added changes for clang-based Embarcadero C++ compilers.
      + Fixed a deadlock that can occur when multiple threads concurrently
        initialise the Windows I/O completion port backend.
      + Fixed async_compose to work with copyable handlers when passed by
        lvalue.
      + Fixed completion signature deduction in co_spawn.
      + Removed a spurious Executor base class from the executor_binder
        implementation.
      + Various fixes and improvements in the documentation and examples.
      + Consult the Revision History for further details.
  * Atomic:
      + Added missing const qualifiers to some operations in atomic_ref.
      + Added support for yield instruction on ARMv8-A. The instruction is used
        internally in spin loops to reduce CPU power consumption.
      + Added support for C++20 waiting and notifying operations. The
        implementation includes generic backend that involves the internal lock
        pool, as well as specialized backends for Windows, Linux, FreeBSD,
        DragonFly BSD and NetBSD. Atomic types provide a new method
        has_native_wait_notify, a static boolean constant
        always_has_native_wait_notify and a set of capability macros that allow
        to detect if the implementation supports native waiting and notifying
        operations for a given type.
      + Changed internal representation of atomic_flag to use 32-bit storage.
        This allows for more efficient waiting and notifying operations on
        atomic_flag on some platforms.
      + Added support for build-time configuration of the internal lock pool
        size. The user can define the BOOST_ATOMIC_LOCK_POOL_SIZE_LOG2 macro to
        specify binary logarithm of the size of the lock pool. The default
        value is 8, meaning that the size of the lock pool is 256, up from 64
        used in the previous release.
      + Added support for a new set of atomic types dedicated for inter-process
        communication: ipc_atomic_flag, ipc_atomic and ipc_atomic_ref. Users
        are recommended to port their code using non-IPC types for
        inter-process communication to the new types. The new types provide the
        same set of operations as their non-IPC counterparts, with the
        following differences:
          o Most operations have an added precondition that is_lock_free
            returns true for the given atomic object. The library will issue a
            compile time error if this precondition is known to be not
            satisfied at compile time.
          o All provided operations are address-free, meaning that the atomic
            object (in case of ipc_atomic_ref - the referenced object) may be
            located in process-shared memory or mapped into the same process at
            multiple different addresses.
          o The new has_native_wait_notify operation and
            always_has_native_wait_notify constant indicate support for native
            inter-process waiting and notifying operations. When that support
            is not present, the operations are implemented with a busy loop,
            which is less efficient, but still is address-free. A separate set
            of capability macros is also provided to indicate this support.
      + Added new atomic_unsigned_lock_free and atomic_signed_lock_free types
        introduced in C++20. The types indicate the atomic object type for an
        unsigned or signed integer, respectively, that is lock-free and
        preferably has native support for waiting and notifying operations.
      + Added new gcc assembler backends for ARMv8-A (for both AArch32 and
        AArch64). The new backends are used to implement operations not
        supported by compiler intrinsics (including 128-bit operations on
        AArch64) and can also be used when compiler intrinsics are not
        available. Both little and big endian targets are supported. AArch64
        backend supports extensions defined in ARMv8.1 and ARMv8.3.
      + Added support for big endian targets in the legacy ARM backend based on
        gcc assembler blocks (this backend is used on ARMv7 and older targets).
        Previously, the backend assumed little endian memory layout, which is
        significant for 64-bit operations.
      + Improved performance of seq_cst stores and thread fences on x86 by
        using lock-prefixed instructions instead of mfence. This means that the
        operations no longer affect non-temporal stores, which was also not
        guaranteed before. Use specialized instructions and intrinsics to order
        non-temporal memory accesses.
      + Fixed capability macros for 80-bit long double on x86 targets not
        indicating lock-free operations even if 128-bit atomic operations were
        available.
      + Fixed compilation of gcc asm blocks on Alpha targets.
      + In the gcc __sync* intrinsics backend, fixed that store and load
        operations of large objects (larger than a pointer size) could be
        non-atomic. The implementation currently assumes that small objects can
        be stored with a single instruction atomically on all modern
        architectures.
  * Beast:
      + This update brings bug fixes and support for the following changes
        changes in Boost.Asio:
      + Beast supports BOOST_ASIO_NO_DEPRECATED. Define this to help identify
        areas of your Beast and Asio code which use deprecated Asio interfaces.
      + Beast also supports BOOST_ASIO_NO_TS_EXECUTORS. Define this to identify
        uses of executors from the now potentially outdated Networking TS
      + Asio will use the Standard Executors model by default. You can prevent
        this behaviour by defining BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT in
        which the Networking TS model will be used by default. Setting this
        flag does not prevent a program from using executors from the Standard
        Executors model explicitly.
      + We'd love to know how you or your company use Beast, consider adding an
        entry to the Companies and Individuals Using Beast list.
      + See the full Release Notes for a complete list of changes.
  * Bimap:
      + Correct allocator usage (fixes C++20 compilation). (Glen Fernandes)
  * Config:
      + Implement BOOST_NO_CXX11_OVERRIDE and BOOST_OVERRIDE. (Glen Fernandes)
  * Core:
      + Implemented the allocator access utilities which provide a replacement
        for allocator_traits with individual traits and functions for each
        facility. They support the C++11 allocator model when possible and
        provide a fallback for C++98 compatibility. These are now used in
        Circular_Buffer, Wave, Lockfree, Heap, Smart_Ptr, Dynamic_Bitset,
        Format, Bimap and more. (Glen Fernandes)
  * DLL:
      + Multiple fixes for the library_info work on empty shared objects.
      + Compilation fixes for C++98 and C++11 modes (#28).
      + Fixes for smart_library manglings (thanks to XiaLiChao82 #37).
  * Endian:
      + Enabled scoped enumeration types in endian_reverse.
      + Enabled bool, enum, float, double in endian_reverse_inplace.
      + Added an overload of endian_reverse_inplace for arrays.
  * Filesystem:
      + Removed compile-time checks for support for symlinks and hardlink on
        Windows. Instead, a runtime check is used. (PR#142)
      + Fixed handling of reparse points in canonical and read_symlink on
        Windows. This also affects other algorithms that involve canonical and
        read_symlink in their implementation. (PR#100, #85, #99, #123, #125)
      + Fixed that read_symlink on Windows could potentially fail or cause
        failures elsewhere with a sharing violation error, if the same symlink
        was opened concurrently. (#138)
      + Fixed that is_symlink(directory_entry) would always return false, even
        if the directory entry actually referred to a symlink. (PR#148)
      + Added missing status inspection operation overloads for directory_entry
        and error_code (e.g. is_directory(directory_entry, error_code&)).
        Removed incorrect noexcept specifications for the overloads not taking
        the error_code arguments.
      + copy_file implementation has been updated to perform checks on the
        source and target files, as required by C++20 ([fs.op.copy.file]/4.1).
        In particular, the operation will fail if the source or target file is
        not a regular file or the source and target paths identify the same
        file.
      + copy_file on POSIX systems will now also copy the source file
        permissions to the target file, if the target file is overwritten.
      + New: Added copy_file implementations based on sendfile and
        copy_file_range system calls on Linux, which may improve file copying
        performance, especially on network filesystems.
      + Deprecated: The copy_option enumeration that is used with the copy_file
        operation is deprecated. As a replacement, the new enum copy_options
        (note the trailing 's') has been added. The new enum contains values
        similar to the copy_options enum from C++20. The old enum values are
        mapped onto the new enum. The old enum will be removed in a future
        release.
      + New: Added copy_options::skip_existing option, which allows copy_file
        operation to succeed without overwriting the target file, if it exists.
      + New: Added copy_options::update_existing option, which allows copy_file
        operation to conditionally overwrite the target file, if it exists, if
        its last write time is older than that of the replacement file.
      + New: copy_file now returns bool, which indicates whether the file was
        copied.
      + New, breaking change: copy operation has been extended and reworked to
        implement behavior specified in C++20 [fs.op.copy]. This includes
        support for copy_options::recursive, copy_options::copy_symlinks,
        copy_options::skip_symlinks, copy_options::directories_only,
        copy_options::create_symlinks and copy_options::create_hard_links
        options. The operation performs additional checks based on the
        specified options. Applying copy to a directory with default
        copy_options will now also copy files residing in that directory (but
        not nested directories or files in those directories).
      + New: Added create_directory overload taking two paths. The second path
        is a path to an existing directory, which is used as a source of
        permission attributes to use in the directory to create.
      + Deprecated: copy_directory operation has been deprecated in favor of
        the new create_directory overload. Note that the two operations have
        reversed order of the path arguments.
      + equivalent on POSIX systems now returns the actual error code from the
        OS if one of the paths does not resolve to a file. Previously the
        function would return an error code of 1. (#141)
      + equivalent no longer considers file size and last modification time in
        order to test whether the two paths refer to the same file. These
        checks could result in a false negative if the file was modified during
        the equivalent call.
      + New: Added absolute overloads taking error_code argument.
      + Operations that have current_path() as the default value of their
        arguments and also have an error_code argument will use the
        current_path(error_code& ec) overload to obtain the current path, so
        that its failure is reported via the error_code argument instead of an
        exception.
      + space now initializes the space_info structure members to -1 values on
        error, as required by C++20 ([fs.op.space]/1).
      + space on Windows now accepts paths referring to arbitrary files, not
        only directories. This is similar to POSIX systems and corresponds to
        the operation description in C++20. (#73)
      + New: Added implementation of temp_directory_path for Windows CE. (PR#25
        )
      + New: Improved compatibility with WASI platform. (PR#144)
      + New: Improved support for Embarcadero compilers. (PR#130)
      + New: Added implementations of unique_path operation based on getrandom
        (Linux), arc4random_buf (OpenBSD/FreeBSD/CloudABI) and BCrypt (Windows)
        system APIs.
      + Deprecated: Auto-linking against system libraries on Windows with
        MSVC-compatible compilers is deprecated and will be removed in a future
        release. This affects users linking against static library of
        Boost.Filesystem. Users are advised to update their project build
        systems to either use a shared library of Boost.Filesystem, or
        explicitly specify the dependencies of Boost.Filesystem in the linker
        command line. Users of shared library of Boost.Filesystem are not
        affected.
  * Flyweight:
      + Maintenance work.
  * Format:
      + Correct allocator usage (fixes C++20 compilation). (Glen Fernandes)
  * Geometry:
      + Improvements
          o PR#720 Additional R-tree constructors (thanks to Caian Benedicto).
          o Various improvements in buffer, set and relational operations.
      + Solved issues
          o #709 memcpy called for object with no trivial copy-assignment.
          o #721 Compilation error in bgi::detail::rtree::visitors::insert.
          o #727 MSVC warning: conditional expression is constant.
      + Bugfixes
          o PR#700 Missing cases for default strategies in distance algorithm.
          o PR#738 Longitudes out of range in direct geodesic formulas.
  * GIL:
      + Added
          o Added new constructor initializing any_image from r-value reference
            to any image (PR#486).
          o Implemented mechanism to reverse kernel_2d (PR#489).
      + Changed
          o BREAKING: Replace Boost.Variant with Boost.Variant2 (PR#474) which
            completes removal on uses of Boost.MPL (missing from Boost 1.72.0
            change added PR#274).
          o Use perfect forwarding from apply_operation to visit (PR#491).
      + Removed
          o BREAKING: Removed dependency on Boost.Variant
      + Fixed
          o Fixed invalid conversion from RGB8 to CMYK32 due to overflow (PR#
            470).
          o Fixed image constructor from other image (PR#477).
          o Fixed error plane_view_t is not a class or namespace name (PR#481).
          o Fixed interleaved_view factory using point<std::ptrdiff_t> for
            dimension (PR#487).
          o Fixed documentation replacing uses MPL with MP11 in tutorial (PR#
            494).
          o Fixed missing header in numeric/kernel.hpp to make it
            self-contained (PR#502).
      + Acknowledgements
          o Samuel Debionne, Pranam Lashkari, Mateusz Loskot, Debabrata Mandal
  * Heap:
      + Correct destruction of top node in skew_heap. (Glen Fernandes)
      + Correct and simplify allocator use. (Glen Fernandes)
  * Integer:
      + Fixed compilation of gcd in C++20 mode with clang 10.
      + Improved support for Embarcadero compilers. (PR#21)
  * Iterator:
      + boost/function_output_iterator.hpp header is now deprecated. Users
        should replace its inclusion with boost/iterator/
        function_output_iterator.hpp. (PR#51)
      + Improved support for Embarcadero compilers. (PR#55)
  * LexicalCast:
      + Fixed warnings on missing override (thanks to EugeneZelenko #35, #34).
      + Fixes for the the Embarcadero compilers (thanks to Edward Diener).
  * Log:
      + Bug fixes:
          o The syslog sink backend now verifies the IP version of the local
            and target addresses set by user. The addresses must have the same
            IP version as was specified in the ip_version named parameter on
            the sink backend construction (by default, IPv4 is assumed). When
            an address is obtained as a result of host name resolution, only
            addresses with matching IP version are considered. (#119)
      + New Features:
          o Move constructors and assignment operators of various components
            were marked noexcept.
          o Added a new range_manip stream manipulator that can be used for
            outputting elements of a range, optionally separated by a
            delimiter.
          o Added a new tuple_manip stream manipulator that can be used for
            outputting elements of a tuple or any other heterogeneous sequence,
            optionally separated by a delimiter.
          o Added a new optional_manip stream manipulator that can be used for
            outputting optionally present values.
      + See changelog for more details.
  * Mp11:
      + Improved compilation performance of mp_with_index<N> for large N.
      + Added tuple_transform (contributed by Hans Dembinski.)
  * Multi-index Containers:
      + Added node extraction and insertion following the analogous interface
        of associative containers as introduced in C++17. This feature has also
        been extended to non key-based indices, in contrast to C++ standard
        library sequence containers, which do not provide such functionality.
      + Clarified documentation on read/write key extractors (issue #32).
      + Maintenance work.
  * Nowide:
      + The library now requires a C++11-compliant compiler and stdlib
      + LFS: Add support for files > 2 GB where the underlying system supports
        it
      + Generic UTF conversion functions are now available in the boost::nowide
        ::utf namespace
      + Add support for stat with UTF-8 paths
  * Outcome:
      + Announcements:
          o The v2.1 branch is expected to be retired end of 2020, with the
            v2.2 branch becoming the default. You can use the future v2.2
            branch now using better_optimisation. This branch has a number of
            major breaking changes to Outcome v2.1, see the front page for
            details.
      + Enhancements:
          o BREAKING CHANGE void results and outcomes no longer default
            construct types during explicit construction. Previously if you
            explicitly constructed a result<T> from a non-errored result<void>,
            it default constructed T. This was found to cause unhelpful
            surprise, so it has been disabled.
          o New macro OUTCOME_ENABLE_LEGACY_SUPPORT_FOR. The macro
            OUTCOME_ENABLE_LEGACY_SUPPORT_FOR can be used to enable aliasing of
            older naming and features to newer naming and features when using a
            newer version of Outcome.
          o Concepts now have snake case style naming instead of camel case
            style. When Outcome was first implemented, it was thought that C++
            20 concepts were going to have camel case style. This was changed
            before the C++ 20 release, and Outcome's concepts have been renamed
            similarly. This won't break any code in Outcome v2.1, as
            compatibility aliases are provided. However code compiled against
            Outcome v2.2 will need to be upgraded, unless
            OUTCOME_ENABLE_LEGACY_SUPPORT_FOR is set to 210 or lower.
          o Concepts now live in OUTCOME_V2_NAMESPACE::concepts namespace.
            Previously concepts lived in the convert namespace, now they live
            in their own namespace.
          o New concepts basic_result<T> and basic_outcome<T> added. End users
            were finding an unhelpful gap in between is_basic_result<T> and
            value_or_error<T> where they wanted a concept that matched types
            which were basic_result, but not exactly one of those. Concepts
            filling that gap were added.
          o Operation TRY works differently from Outcome v2.2 onwards. This is
            a severely code breaking change which change the syntax of how one
            uses OUTCOME_TRY(). A regular expression suitable for upgrading
            code can be found in the list of changes between Outcome v2.1 and
            v2.2.
      + Bug fixes:
          o #224 The clang Apple ships in Xcode 11.4 (currently the latest) has
            not been patched with the fixes to LLVM clang that fix noexcept(std
            ::is_constructible<T, void>) failing to compile which I originally
            submitted years ago. So give up waiting on Apple to fix their
            clang, add a workaround to Outcome.
          o Spare storage could not be used from within no-value policy
            classes. Due to an obvious brain fart when writing the code at the
            time, the spare storage APIs had the wrong prototype which
            prevented them working from within policy classes. Sorry.
  * PolyCollection:
      + Fixed internal ambiguity problem between boost::type_erasure::any and
        boost::any (issue #17).
      + Maintenance work.
  * SmartPtr:
      + Added owner_equals to shared_ptr, weak_ptr, local_shared_ptr.
      + Added owner_hash_value to shared_ptr, weak_ptr.
      + Added owner_equal_to, owner_hash.
      + Added std::hash specializations for shared_ptr, local_shared_ptr.
      + Added boost::hash support to, and std::hash, std::equal_to
        specializations for, weak_ptr.
  * Stacktrace:
      + Fixed a build error when compiled with -fno-exceptions (thanks to
        Jeremiah Rodriguez #91).
  * System:
      + operator bool() now returns failed() instead of value() != 0.
  * Type_Traits:
      + Implemented conjunction, disjunction, negation, is_trivially_copyable,
        is_scoped_enum, and is_unscoped_enum. (Glen Fernandes)
  * Variant:
      + Fixed warnings on missing override (thanks to EugeneZelenko #78).
      + Fixes for the the Embarcadero compilers (thanks to Edward Diener #79).
      + Updated header locations to avoid warnings about using deprecated
        headers (thanks to Andrey Semashev #80)
  * Variant2:
      + Added support for derived types in visit.
      + Improved compilation performance for many (hundreds of) alternatives.
      + Added support for visit<R>.
  * Wave:
      + Implement C++20 features for variadics, including __VA_OPT__ (PR#75)
      + Implement __has_include (PR#102)
      + Introduce new sample: check_macro_naming, useful with Boost itself (PR#
        97)
      + Fix compilation issue caused by std::allocator member removal in C++20
        (PR#72)
      + Repair Xpressive lexer and token_statistics sample (PR#79)
      + Repair lexertl lexer (PR#78)
      + Ensure hooks are run on predefined macros as well (PR#87)
      + Various minor bug fixes
      + C++98/03 support is now deprecated and will be removed in 1.77
  * YAP:
      + Fixed compilation errors for placeholders; they now work in the general
        case, and in particular work with yap::print().
      + constexpr all the YAP.
      + Fix printing of correct value category in yap::print().
      + Doc clarification.

Updated Tools

  * Boostbook:
      + Change encoding of generated documentation from US-ASCII to UTF-8.
        (Glen Fernandes)
jperkin pushed a commit that referenced this issue Feb 18, 2021
Snowball 2.1.0 (2021-01-21)
===========================

C/C++
-----

* Fix decoding of 4-byte UTF-8 sequences in `grouping` checks.  This bug
  affected Unicode codepoints U+40000 to U+7FFFF and U+C0000 to U+FFFFF and
  doesn't affect any of the stemming algorithms we currently ship (#138,
  reported by Stephane Carrez).

Python
------

* Fix snowballstemmer.algorithms() method (#132, reported by kkaiser).

* Update code to generate trove language classifiers for PyPI.  All the
  natural languages we previously had stemmers for have now been added to
  PyPI's list, but Armenian and Yiddish aren't on it.  Patch from Dmitry
  Shachnev.

Java
----

Code Quality Improvements
-------------------------

* Suppress GCC warning in compiler code.

* Use `const` pointers more in C runtime.

* Only use spaces for indentation in javascript code.  Change proposed by Emily
  Marigold Klassen in #123, and seems to be the modern Javascript norm.

New Code Generators
-------------------

* Add Ada generator from Stephane Carrez (#135).

New Snowball Language Features
------------------------------

* `lenof` and `sizeof` can now be applied to a literal string, which can be
  useful if you want to do calculations on cursor values.

  This change actually simplifies the language a little, since you can now use
  a literal string in any read-only context which accepts a string variable.

Code generation improvements
----------------------------

* General:

  + Fix bugs in the code generated to handle failure of `goto`, `gopast` or
    `try` inside `setlimit` or string-`$`.  This affected all languages (though
    the issue with `try` wasn't present for C).  These bugs don't affect any of
    the stemming algorithms we currently ship.  Reported by Stefan Petkovic on
    snowball-discuss.

  + Change `hop` with a negative argument to work as documented.  The manual
    says a negative argument to hop will raise signal f, but the implementation
    for all languages was actually to move the cursor in the opposite direction
    to `hop` with a positive argument.  The implemented behaviour is
    problematic as it allows invalidating implicitly saved cursor values by
    modifying the string outside the current region, so we've decided it's best
    to fix the implementation to match the documentation.

    The only Snowball code we're aware of which relies on this was the original
    version of the new Yiddish stemming algorithm, which has been updated not
    to rely on this.

    The compiler now issues a warning for `hop` with a constant negative
    argument (internally now converted to `false`), and for `hop` with a
    constant zero argument (internally now converted to `true`).

  + Canonicalise `among` actions equivalent to `()` such as `(true)` which
    previously resulted in an extra case in the among, and for Python
    we'd generate invalid Python code (`if` or `elif` with an empty body).
    Bug revealed by Assaf Urieli's Yiddish stemmer in #137.

  + Eliminate variables whose values are never used - they no longer have
    corresponding member variables, etc, and no code is generated for any
    assignments to them.

  + Don't generate anything for an unused `grouping`.

  + Stop warning "grouping X defined but not used" for a `grouping` which is
    only used to define other another `grouping`.

* C/C++:

  + Store booleans in same array as integers.  This means each boolean is
    stored as an int instead of an unsigned char which means 4 bytes instead of
    1, but we save a pointer (4 or 8 bytes) in struct SN_env which is a win for
    all the current stemmers.  For an algorithm which uses both integers and
    booleans, we also save the overhead of allocating a block on the heap, and
    potentially improve data locality.

  + Eliminate duplicate generated C comment for sliceto.

* Pascal:

  + Avoid generating unused variables.  The Pascal code generated for the
    stemmers we ship is now warning free (tested with fpc 3.2.0).

* Python:

  + End `if`-chain with `else` where possible, avoiding a redundant test
    of the variable being switched on.  This optimisation kicks in for an
    `among` where all cases have commands.  This change seems to speed up `make
    check_python_arabic` by a few percent.

New stemming algorithms
-----------------------

* Add Serbian stemmer from stef4np (#113).

* Add Yiddish stemmer from Assaf Urieli (#137).

* Add Armenian stemmer from Astghik Mkrtchyan.  It's been on the website for
  over a decade, and included in Xapian for over 9 years without any negative
  feedback.

Behavioural changes to existing algorithms
------------------------------------------

Optimisations to existing algorithms
------------------------------------

* kraaij_pohlmann: Use `$v = limit` instead of `do (tolimit setmark v)` since
  this generates simpler code, and also matches the code other algorithm
  implementations use.

  Probably for languages like C with optimising compilers the compiler
  will generate equivalent code anyway, but e.g. for Python this should be
  an improvement.

Code clarity improvements to existing algorithms
------------------------------------------------

* hindi.sbl: Fix comment typo.

Compiler
--------

* Don't count `$x = x + 1` as initialising or using `x`, so it's now handled
  like `$x += 1` already is.

* Comments are now only included in the generated code if command like option
  -comments is specified.

  The comments in the generated code are useful if you're trying to debug the
  compiler, and perhaps also if you are trying to debug your Snowball code, but
  for everyone else they just bloat the code which as the number of languages
  we support grows becomes more of an issue.

* `-parentclassname` is not only for java and csharp so don't disable it if
  those backends are disabled.

* `-syntax` now reports the value for each numeric literal.

* Report location for excessive get nesting error.

* Internally the compiler now represents negated literal numbers as a simple
  `c_number` rather than `c_neg` applied to a `c_number` with a positive value.
  This simplifies optimisations that want to check for a constant numeric
  expression.

Build system
------------

* Link binaries with LDFLAGS if it's set, which is needed for some platform
  (e.g. OpenEmbedded).  Patch from Andreas Müller (#120).

* Add missing dependencies of algorithms.go rule.

Testsuite
---------

* C: Add stemtest for low-level regression tests.

Documentation
-------------

* Document a C99 compiler as a requirement for building the snowball compiler
  (but the C code it generates should still work with any ISO C compiler.)

  A few declarations mixed with code crept in some time ago (which nobody's
  complained about), so this is really just formally documenting a requirement
  which already existed.

* README: Explain what Snowball is and what Stemming is (#131, reported by Sean
  Kelly).

* CONTRIBUTING.rst: Expand section on adding a new generator.

* For Python snowballstemmer module include global NEWS instead of
  Python-specific CHANGES.rst and use README.rst as the long description.
  Patch from Dmitry Shachnev (#119).

* COPYING: Update and incorporate Python backend licensing information which
  was previously in a separate file.
jperkin pushed a commit that referenced this issue Mar 6, 2021
* Fix sqlite3 case.

Changelog:
10.6.0:
Summary
    Bugfix - Cleaning up autocapitalize="off" in files: #15399
    Bugfix - Google Drive file modifications should not create duplicate files: #25826
    Bugfix - Fix exit codes of security:certificates commands: #35364
    Bugfix - Translate public link sharing email subject: #37321
    Bugfix - Only allow http/https protocol on CORS: #38101
    Bugfix - Fix problem with the market app installing an app using OpenIDConnect: #37715
    Bugfix - Fix expiring a wrong share entry problem: #37729
    Bugfix - Fix decoding of calendars uri: #37750
    Bugfix - Add openid client secret to the sensitive values list: #37782
    Bugfix - Show all shares in the "shared with you" section: #37786
    Bugfix - Reshares using files:transfer-ownership cannot be transferred: #4121
    Bugfix - "Passwords do not match" message was not being translated: #37826
    Bugfix - Fix federated share accepting problem which occurs with some apps enabled: #37719
    Bugfix - Allow federated share name up to 255 character: #36730
    Bugfix - Fix application id used for sharing settings translation: #37846
    Bugfix - Add metrics shared secret to the sensitive values list: #37848
    Bugfix - Fix list of apps returned by OCS Provisioning API apps endpoint: #37884
    Bugfix - Add very minimal empty ODF files: #37896
    Bugfix - Checksums will be kept when a file is uploaded or a version is created: #37934
    Bugfix - Fix invisible notification container blocking mouse events: #37941
    Bugfix - Fix display of public link shares in case avatars are disabled: #37945
    Bugfix - Clean the user's preferences only if they exist during user sync: #37947
    Bugfix - OCS and Public WebDAV Apis should handle LoginException: #112
    Bugfix - Properly exit and log during error in user sync command: #37951
    Bugfix - Add a configurable number of retries on unsuccessful mountpoint move: #37956
    Bugfix - Fix icon alignment when avatars are disabled: #37964
    Bugfix - Fix file target in the accept share API call: #37973
    Bugfix - Fix for Google Docs not syncing with error "server reported no size": #37997
    Bugfix - Do not emit "share.failedpasswordcheck" events for authenticated links: #138
    Bugfix - Fix request token check for ocs requests: #38019
    Bugfix - Fix logging when loading an apps fails: #38037
    Bugfix - Properly handle StorageNotAvailableException in share external: #38042
    Bugfix - Avoid retrieving user root iteratively in share controller: #4107
    Bugfix - Pick the translations from templates included from other apps: #38072
    Bugfix - Override browser Accept-Language header in ajax requests: #38073
    Bugfix - Prevent server error when loading invalid/corrupt translations: #37799
    Bugfix - SSL check when adding a public link to your ownCloud: #4241
    Bugfix - Fix translations of some strings in settings: #38119
    Change - Update deepdiver/zipstreamer (1.1.1 => 2.0.0): #37159
    Change - Update sabre dependencies: #37684
    Change - Update google/apiclient from 2.5.0 to 2.6.0 and related dependencies: #37687
    Change - Update symfony/polyfill (1.17.0 => 1.18.0): #37694
    Change - Update icewind/smb from 3.2.5 to 3.2.6 in files_external: #37712
    Change - Add settings checkbox to enable manual file locking: #37720
    Change - Update Symfony components to 4.4.11: #37727
    Change - Update league/flysystem (1.0.69 => 1.0.70): #37730
    Change - Make core/signature.json and core/skeleton/ inaccessible: #37734
    Change - Update google/apiclient from 2.6.0 to 2.7.0 and related dependencies: #37739
    Change - Add values to the invalid uid list: #37765
    Change - Update doctrine/event-manager (1.1.0 => 1.1.1): #37768
    Change - Update symfony/polyfill (1.18.0 => 1.18.1): #37772
    Change - Update egulias/email-validator (2.1.18 => 2.1.19): #37790
    Change - Update opis/closure (3.5.5 => 3.5.6): #37804
    Change - Add system config to load a different license implementation: #37827
    Change - Update laminas/laminas-zendframework-bridge (1.0.4 => 1.1.0): #37843
    Change - Use a debug log level if a share download is aborted: #37856
    Change - Add command to troubleshoot transfer ownership runs for issues: #37950
    Change - Update Symfony components to 4.4.12: #37862
    Change - Update doctrine/dbal (2.10.2 => 2.10.3): #37870
    Change - Update Symfony components to 4.4.13: #37876
    Change - Update opis/closure (3.5.6 => 3.5.7): #37892
    Change - Update egulias/email-validator (2.1.19 => 2.1.20): #37892
    Change - Update phpseclib/phpseclib (2.0.28 => 2.0.29): #37893
    Change - Update icewind/smb from 3.2.6 to 3.2.7 in files_external: #37894
    Change - Update doctrine/dbal (2.10.3 => 2.10.4): #37904
    Change - Update symfony/translation-contracts (v1.1.9 => v1.1.10): #37904
    Change - Reduce the log level of locked exceptions: #37907
    Change - Update google/apiclient from 2.7.0 to 2.7.1 and related dependencies: #37912
    Change - Update sabre/event (5.1.0 => 5.1.1): #37921
    Change - Update laminas/laminas-zendframework-bridge (1.1.0 => 1.1.1): #37921
    Change - New defaults for phoenix app switcher icon and label: #37923
    Change - Update pear/archive_tar (1.4.9 => 1.4.10): #37926
    Change - Update egulias/email-validator (2.1.20 => 2.1.21): #37926
    Change - Update egulias/email-validator (2.1.21 => 2.1.22): #37949
    Change - Update Symfony components to 4.4.14: #37949
    Change - DropOldTables repair job won't show a progress bar: #37953
    Change - Update sabre dependencies: #37975
    Change - Update Symfony components to 4.4.15: #37975
    Change - Update opis/closure (3.5.7 => 3.6.0): #38004
    Change - Update symfony/polyfill (1.18.1 => 1.19.0): #38032
    Change - Update symfony/polyfill (1.19.0 => 1.20.0): #38033
    Change - Update google/apiclient from 2.7.1 to 2.8.0 and related dependencies: #38043
    Change - Update dg/composer-cleaner (v2.1 => v2.2): #38044
    Change - Update Symfony components to 4.4.16: #38046
    Change - Update egulias/email-validator (2.1.22 => 2.1.23): #38061
    Change - Update sabre/vobject (4.3.2 => 4.3.3): #38091
    Change - Update opis/closure (3.6.0 => 3.6.1): #38091
    Change - Update sabre/dav (4.1.2 => 4.1.3): #38092
    Change - Update egulias/email-validator (2.1.23 => 2.1.24): #38116
    Change - Update pear/archive_tar (1.4.10 => 1.4.11): #38137
    C on disabling encryption: #35980
    Enhancement - Add support for date expiration on remote shares: #37548
    Enhancement - Support pre-signed urls: #37634
    Enhancement - Add capability for the favorite files feature: #37673
    Enhancement - Add Support for SGI Image Previews: #37758
    Enhancement - Allow getting the share list filtered by share type via API: #38000
    Enhancement - GetShare API request's "subfiles" parameter allows new interactions: #38053
    Enhancement - Add new method in the PHP API interface: #38054

Older changelog is too long to include here.
jperkin pushed a commit that referenced this issue Apr 18, 2021
-Add support for Elvish (#174)
-Use Nushell from Nixpkgs unstable (#171)
-Make z exclude current directory (#173)
-Append __zoxide_hook to front of PROMPT_COMMAND (#170)
-Add support for Nushell (#164)
-Find zoxide in Xonsh shells (#168)
-Reference integration with nnn (autojump plugin) (#166)
-Fix CI (#161)
-Remove barely-used aliases (#158)
-Use variable to prevent hook redefinition (#154)
-Use /dev/null on Unix shells (#152)
-Specified external call to cd for fish (#146)
-Remove cargo-udeps
-Handle write errors gracefully (#143)
-Use builtin in shells (#141)
-Use zero copy deserialization (#138)
-Forcibly disable backtraces (#130)
-Start fish in an isolated env (#128)
-Run shell tests in a clean env
-Add NetBSD and Alpine Linux install instructions
-Use Nix for testing
-Split tests
-Change install instructions, add third-party integrations and update README
-Add Termux install instructions
-Update installation instructions
jperkin pushed a commit that referenced this issue May 11, 2021
2.2.5 (2021-04-15)

* Fix argument forwarding on Ruby 2.7 [#149]

2.2.4 (2021-04-12)

* Add reload to close all connections, recreating them afterwards [Andrew
  Marshall, #140]
* Add then as a way to use a pool or a bare connection with the same code
  path [#138]
jperkin pushed a commit that referenced this issue Jun 4, 2021
Changes since 1.4.0 from the RELEASE_NOTES file
        NOTE: In response to CVE-2019-20790, opendmarc has changed
                how it evaluates headers added by previous
                SPF milters.  Users are encouraged to read the
                CVE-2019-20790 file in the "SECURITY" folder
                for more details. (#49, #158).  Originally reported by
                Jianjun Chen, feedback by Simon Wilson and
                David Bürgin <[email protected]>.
        NOTE: OpenDMARC's internal SPF handling will be removed
                in a future version.  Users are encouraged to
                build linked against libspf2.  Many pre-built
                packages provided by OS packagers already do this.
                (See https://www.libspf2.org)
        Addition of defines for MUSL C Library. (#129/#133).  Patches by
                Marco Rebhan.
        Updated opendmarc.conf manpage and opendmarc.conf.sample to point to
                https://publicsuffix.org/list/.
        Added a CONTRIBUTING document.
        Fix two #ifdefs in arc functions for strlcpy. (#138).  Reported by
                Leo Bicknell.
        Fixes to MySQL Schema (#98/#99).  Patch by Bond Keevil.
        LIBSPF2 calls would not compile on OpenBSD due to OpenBSD not
                having the ns_type definition in arpa/resolv.h.
                Added detection to configure script.  (#134)
        Reworked hcreate_r calls to use hcreate, to compile natively on
                OpenBSD and MacOS. (Part of #94)  Reported by Rupert
                Gallagher.
        Add compatibility with AutoConf 2.70. (#95)
        Documentation updates about SourceForge being deprecated.  (#101)
        Only accept results from Received-SPF fields that indicate clearly
                which identifier was being evaluated, since DMARC specifically
                only wants results based on MAIL FROM.
        Many build-time fixes (#100, #91, #90, #86, #85, #84, #83, #82, #81)
                Patches provided by Rupert Gallagher ([email protected])
        Added config option HoldQuarantinedMessages (default false), which
                controls if messages with p=quarantine will be passed on to
                the mail stream (if False) or placed in the MTA's "hold"
                queue (if True).  Issue #105.  Patch by Marcos Moraes, on
                the OpenDMARC mailing list.
        Remove "--with-wall" from "configure".  Suggested by Leo Bicknell.
        LIBOPENDMARC: Fix bug #50: Ignore all RRTYPEs other than TXT.
                Problem reported by Jan Bouwhuis.
        LIBOPENDMARC: Fix bug #89: Repair absurd RRTYPE test in SPF code.
        LIBOPENDMARC: Fix bug #104: Fix bogus header field parsing code.
        LIBOPENDMARC: Fix bug #161: Don't pass the client IP address through
                htonl() since it's already in network byte order.  This
                was causing SPF errors when the internal SPF
                implementation was in use.
        LIBOPENDMARC: Fix numerous problems with the internal SPF
                implementation.
jperkin pushed a commit that referenced this issue Jun 15, 2021
## later 1.2.0

* Closed #138: later is now licensed as MIT. (#139)

* Closed #140: Previously, the event loop stopped running if the R
  process was forked. (#141)

* Closed #143: Packages which link to later no longer need to take a
  direct dependency on Rcpp, because `later.h` no longer includes
  `Rcpp.h`. (#144)

* Removed dependency on the BH package. C++11 is now required. (#147)

## later 1.1.0.1

* Private event loops are now automatically run by their parent. That
  is, whenever an event loop is run, its children event loops are
  automatically run. The `create_loop()` function has a new parameter
  `parent`, which defaults to the current loop. The auto-running
  behavior can be disabled by using `create_loop(parent=NULL)`. (#119)

* Fixed #73, #109: Previously, later did not build on some platforms,
  notably ARM, because the `-latomic` linker was needed on those
  platforms. A configure script now detects when `-latomic` is
  needed. (#114)

* Previously, `execLaterNative` was initialized when the package was
  loaded, but not `execLaterNative2`, resulting in a warning message
  in some cases. (#116)
jperkin pushed a commit that referenced this issue Sep 8, 2021
## 1.7.4 (2021-08-12)

* [BUGFIX] #449: Fixed segfaults generated by `stri_sprintf`.

* [BUILD TIME] No longer defining `USE_RINTERNALS` and `R_NO_REMAP`.


## 1.7.3 (2021-07-15)

* [BUGFIX] Fixed the previous patch of ICU55 causing a build failure on,
  amongst others, CRAN's Solaris-based target.


## 1.7.2 (2021-07-14)

* [BUGFIX] Workaround for a bug in `tools::checkFF` failing
  when `NA_character_` is passed to `.Call`.


## 1.7.1 (2021-07-14)

* [BACKWARD INCOMPATIBILITY] `%s$%` and `%stri$%` now use the new `stri_sprintf`
  (see below) function instead of `base::sprintf`.

* [BACKWARD INCOMPATIBILITY, NEW FEATURE] In `stri_sub<-` and `stri_sub_all<-`,
  providing a negative `length` from now on does not result in the corresponding
  input string being altered.

* [BACKWARD INCOMPATIBILITY, NEW FEATURE] In `stri_sub` and `stri_sub_all`,
  negative `length` results in the corresponding output being `NA`
  or not extracted at all, depending on the setting of the new argument
  `ignore_negative_length`.

* [BACKWARD INCOMPATIBILITY, BUGFIX, NEW FEATURE] In `stri_subset*`
  and their replacement versions, `pattern` and `value` cannot be longer
  than `str` (but now they are recycled if necessary).

* [BACKWARD INCOMPATIBILITY, NEW FEATURE] `stri_sub*` now accept the
  `from` argument being a matrix like `cbind(from, length=length)`.
  Unnamed columns or any other names are still interpreted as `cbind(from, to)`.
  Also, the new argument `use_matrix` can be used to disable
  the special treatment of such matrices.

* [DOCUMENTATION] It has been clarified that the syntax of `*_charclass`
  (e.g., used in `stri_trim*`) differs slightly from regex character
  classes.

* [NEW FEATURE] #420: `stri_sprintf` (alias: `stri_string_format`)
  is a Unicode-aware replacement for and enhancement of the base `sprintf`:
  it adds a customised handling of `NA`s (on demand), computing field size
  based on code point width, outputting substrings of at most given width,
  variable width and precision (both at the same time), etc. Moreover,
  `stri_printf` can be used to display formatted strings conveniently.

* [NEW FEATURE] #153: `stri_match_*_regex` now extract capture group names.

* [NEW FEATURE] #25: `stri_locate_*_regex` now have a new argument,
  `capture_groups`, which allows for extracting positions of matches
  to parenthesised subexpressions.

* [NEW FEATURE] `stri_locate_*` now have a new argument, `get_length`,
  whose setting may result in generating *from-length* matrices
  (instead of *from-to* ones).

* [NEW FEATURE] #438: `stri_trans_general` now supports rule-based
  as well as reverse-direction transliteration.

* [NEW FEATURE] #434: `stri_datetime_format` and `stri_datetime_parse`
  are now vectorised also with respect to the `format` argument.

* [NEW FEATURE] `stri_datetime_fstr` has a new argument, `ignore_special`,
  which defaults to `TRUE` for backward compatibility.

* [NEW FEATURE] `stri_datetime_format`, `stri_datetime_add`, and
  `stri_datetime_fields` now call `as.POSIXct` more eagerly.

* [NEW FEATURE] `stri_trim*` now have a new argument, `negate`.

* [NEW FEATURE] `stri_replace_rstr` converts `gsub`-style replacement strings
  to `stri_replace`-style.

* [INTERNAL] `stri_prepare_arg*` have been refactored, buffer overruns
  in the exception handling subsystem are now avoided.

* [BUGFIX] Few functions (`stri_length`, `stri_enc_toutf32`, etc.)
  did not throw an exception on an invalid UTF-8
  byte sequence (and merely issued a warning instead).

* [BUGFIX] `stri_datetime_fstr` did not honour `NA_character_`
  and did not parse format strings such as `"%Y%m%d"` correctly.
  It has now been completely rewritten (in C).

* [BUGFIX] `stri_wrap` did not recognise the width of certain Unicode sequences
  correctly.


## 1.6.2 (2021-05-14)

* [BACKWARD INCOMPATIBILITY] In `stri_enc_list()`,
  `simplify` now defaults to `TRUE`.

* [NEW FEATURE] #425: The outputs of `stri_enc_list()`, `stri_locale_list()`,
  `stri_timezone_list()`, and `stri_trans_list()` are now sorted.

* [NEW FEATURE] #428: In `stri_flatten`, `na_empty=NA` now omits missing values.

* [BUILD TIME] #431: Pre-4.9.0 GCC has `::max_align_t`,
  but not `std::max_align_t`, added a (possible) workaround, see the `INSTALL`
  file.

* [BUGFIX] #429: `stri_width()` misclassified the width of certain
  code points (including grave accent, Eszett, etc.);
  General category *Sk* (Symbol, modifier) is no longer of width 0,
  `UCHAR_EAST_ASIAN_WIDTH` of `U_EA_AMBIGUOUS` is no longer of width 2.

* [BUGFIX] #354: `ALTREP` `CHARSXP`s were not copied, and thus could have been
  garbage collected in the so-called meanwhile (with thanks to @jimhester).


## 1.6.1 (2021-05-05)

* [GENERAL] #401: stringi is now bundled with ICU4C 69.1 (upgraded from 61.1),
  which is used on most Windows and OS X builds as well as on *nix systems
  not equipped with system ICU. However, if the C++11 support is disabled,
  stringi will be built against the battle-tested ICU4C 55.1.
  The update to ICU brings Unicode 13.0 and CLDR 39 support.

* [DOCUMENTATION] A draft version of a paper on `stringi` is now available at
  https://stringi.gagolewski.com/_static/vignette/stringi.pdf

* [GENERAL] stringi now requires R >= 3.1 (`CXX_STD` of `CXX11` or `CXX1X`).

* [NEW FEATURE] #408: `stri_trans_casefold()` performs case folding;
  this is different from case mapping, which is locale-dependent.
  Folding makes two pieces of text that differ only in case identical.
  This can come in handy when comparing strings.

* [NEW FEATURE] #421: `stri_rank()` ranks strings in a character vector
  (e.g., for ordering data frames with regards to multiple criteria,
  the ranks can be passed to `order()`, see #219).

* [NEW FEATURE] #266: `stri_width()` now supports emojis.

* [NEW FEATURE] `%s$%` and `%stri$%` are now vectorised with respect to
  both arguments.

* [BUGFIX] `stri_sort_key()` now outputs `bytes`-encoded strings.

* [BUGFIX] #415: `locale=''` was not equivalent to `locale=NULL`
  in `stri_opts_collator()`.

* [INTERNAL] #414: Use `LEVELS(x)` macro instead of accessing `(x)->sxpinfo.gp`
  directly (@lukaszdaniel).


## 1.5.3 (2020-09-04)

* [DOCUMENTATION] stringi home page has moved to https://stringi.gagolewski.com
  and now includes a comprehensive reference manual.

* [NEW FEATURE] #400: `%s$%` and `%stri$%` are now binary operators
  that call base R's `sprintf()`.

* [NEW FEATURE] #399: The `%s*%` and `%stri*%` operators can be used
  in addition to `stri_dup()`, for the very same purpose.

* [NEW FEATURE] #355: `stri_opts_regex()` now accepts the `time_limit` and
  `stack_limit` options so as to prevent malformed or malicious regexes
  from running for too long.

* [NEW FEATURE] #345: `stri_startswith()` and `stri_endswith()` are now equipped
  with the `negate` parameter.

* [NEW FEATURE] #382: Incorrect regexes are now reported to ease debugging.

* [DEPRECATION WARNING] #347: Any unknown option passed to `stri_opts_fixed()`,
  `stri_opts_regex()`, `stri_opts_coll()`, and `stri_opts_brkiter()` now
  generates a warning. In the future, the `...` parameter will be removed,
  so that will be an error.

* [DEPRECATION WARNING] `stri_duplicated()`'s `fromLast` argument
  has been renamed `from_last`. `fromLast` is now its alias scheduled
  for removal in a future version of the package.

* [DEPRECATION WARNING] `stri_enc_detect2()`
  is scheduled for removal in a future version of the package.
  Use `stri_enc_detect()` or the more targeted `stri_enc_isutf8()`,
  `stri_enc_isascii()`, etc., instead.

* [DEPRECATION WARNING] `stri_read_lines()`,  `stri_write_lines()`,
  `stri_read_raw()`: use `con` argument instead of `fname` now.
  The argument `fallback_encoding` is scheduled for removal and is no longer
  used. `stri_read_lines()` does not support `encoding="auto"` anymore.

* [DEPRECATION WARNING] `nparagraphs` in `stri_rand_lipsum()` has been renamed
  `n_paragraphs`.

* [NEW FEATURE] #398: Alternative, British spelling of function parameters
  has been introduced, e.g., `stri_opts_coll()` now supports both
  `normalization` and `normalisation`.

* [NEW FEATURE] #393: `stri_read_bin()`, `stri_read_lines()`, and
  `stri_write_lines()` are no longer marked as draft API.

* [NEW FEATURE] #187: `stri_read_bin()`, `stri_read_lines()`, and
  `stri_write_lines()` now support connection objects as well.

* [NEW FEATURE] #386: New function `stri_sort_key()` for generating
  locale-dependent sort keys which can be ordered at the byte level and
  return an equivalent ordering to the original string (@DavisVaughan).

* [BUGFIX] #138: `stri_encode()` and `stri_rand_strings()`
  now can generate strings of much larger lengths.

* [BUGFIX] `stri_wrap()` did not honour `indent` correctly when
  `use_width` was `TRUE`.
jperkin pushed a commit that referenced this issue Sep 17, 2021
As of version 1.0.0 macchina uses google-speech to support text-to-speech.
I've disabled this feature, please let me know if you think this should be on.

v1.1.4
-Fix NetBSD build.

v1.1.3
-macOS: manually look for config in $HOME/.config/ (#138)

v1.1.2
-readme: Fix Linux benchmark table formatting

v1.1.1
-misc: Remove X11 feature from codebase after having replaced it with a built-in
resolution parser (#135)
-misc: Bump all dependencies' versions
-config: Fallback to original naming for some ReadoutKeys
-readme: Remove saythanks badge
-readme: benchmarks: disclose the environment/processor
-readme: Nix's installation section now mentions all channels
-actions: Bring back netbsd workflow after having removed all X11 code
-libmacchina: Bump from v0.8.1 to v1.0.1
	-[*nix only] Implement a new readout, disk_space() which for now returns the
	used bytes of the root partition
	-Add macOS resolution (#56)
	-Address a panic caused by too much output in the resolution readout (#132)
	-src/macos/mach_ffi.rs: Remove useless CGError typedef
	-src/macos/mod.rs: Search for "brew" rather than "homebrew" before getting
	package count
-src/data/mods.rs: Significantly improve shell readout logic
-macchina.toml: Be more specific in small_ascii description
-src/cli.rs: Be more specific in small_ascii description

v1.1.0
Bug fixes:
-Address an issue that causes text to overflow when the terminal
is reduced beyond its original size
-Address an issue that causes terminal information to be incorrect
when in a nested shell situation

Features:
-Added the commit hash to --version
-Added an option to toggle between displaying the current or default shell

Misc:
-Added macOS Monterey to list of macOS versions
-Removed many build dependencies (breaking shell auto-completion)
-Removed many annoying conflict checks in the configuration file
-No longer capitalize shell output
-Bumped most dependencies' versions
jperkin pushed a commit that referenced this issue Nov 28, 2021
1.3.0 (2021-09-23)

* Issues #138 #262, see github.com/zdavatz/spreadsheet
jperkin pushed a commit that referenced this issue Feb 21, 2022
0.12.2
* Parser: handle context shift to external context, e.g.,
  BashOneLine##Bash. Closes #139 (issue with Dockerfile).
* Update xml files from upstream: bash, cmake, markdown, objectivecpp, php,
  sql-postgresql, sql, stan, zshr
* Fix formatting in Color doc-comment (Janek Spaderna).
* Add stan.xml (Brian Ward).

0.12.1
* Update syntax definitions: bash, cmake, dockerfile, gnuassembler,
  markdown, spdx-comments.
* Support hex escapes using \x in regex char classes (#135). These occur in
  a number of syntax definitions and weren't correctly interpreted
  before. Thanks to @Agnishom.
* Support regex property syntax, e.g. \p{Lu}.
* Regex: support \B (non-word-boundary).

0.12
* Properly handle include elements in keyword lists (#124). A number of
  syntaxes (e.g. typescript, scala) include keyword lists from other
  syntaxe,s and previously we weren't able to handle this.
* There are several pieces to this change. We need to store lists where
  other Syntaxes can look them up, so we add an sLists field to Syntax [API
  change], and modify the parser to fill this. We change lists so that
  their values are not just a Text, but a ListItem that can either be a
  textual value or an include directive, specifying a ListName (syntax name
  and list name).
* The Keyword constructor for Matcher now takes, instead of a WordSet,
  Either a ListName or a WordSet (API change).
* Skylighting.Parser now exports resolveKeywords (API change), which
  modifies all Keyword matchers in a syntax so that Left values with a
  ListName become Right values with resolved WordSets. The tokenizer
  applies this function automatically to the SyntaxMap given in Config. But
  it is more efficient to do this conversion just once, rather than every
  time tokenize is called. So we have loadSyntaxesFromDir call it on the
  SyntaxMap. With this optimization, there is not an appreciable
  performance cost to the changes described above.
* Skylighting.Regex: Fix bug with regexes like a{10}b (#133). This requires
  exactly 10 a's; previously we interpreted it as "at least 10."
* skylighting-extract: take a directory as argument rather than files. This
  allows us to use loadSyntaxesFromDir.
* Update xml syntax definitions from upstream: julia, cmake, cpp, isocpp,
  markdown, python, toml.

0.11
* Skylighting.Regex: Support regex subroutines (#118). For example, (?1) is
  replaced by the regex in the first capturing group. So far we only
  support this simple, absolute form, not the relative form (?-1) supported
  by some engines (but not used, I think, in KDE's syntax
  highlighters). This change involves an API change: Regex in
  Skylighting.Regex has a new Subroutine constructor, and the Recurse
  constructor has been removed. Instead of Recurse we use Subroutine 0,
  which unifies the code.
* Skylighting.Regex: handle e.g. [\1] and [\123] (without initial 0) as
  octal escapes (#118). These occur in the zsh.xml syntax definition.
* Pull xml definitions for bash, cmake, python, zsh from upstream.
* README: Add a note about pulling syntax definitions from upstream
  (#138). Update build instructions for recent cabal versions (#131).

0.10.5.2
* Added swift grammar definition (Igor Ranieri).
* Simplify README.md instructions for two-step build.
* Fix link to KDE documentation.
jperkin pushed a commit that referenced this issue Feb 21, 2022
0.12.2
* Parser: handle context shift to external context, e.g.,
  BashOneLine##Bash. Closes #139 (issue with Dockerfile).
* Update xml files from upstream: bash, cmake, markdown, objectivecpp, php,
  sql-postgresql, sql, stan, zshr
* Fix formatting in Color doc-comment (Janek Spaderna).
* Add stan.xml (Brian Ward).

0.12.1
* Update syntax definitions: bash, cmake, dockerfile, gnuassembler,
  markdown, spdx-comments.
* Support hex escapes using \x in regex char classes (#135). These occur in
  a number of syntax definitions and weren't correctly interpreted
  before. Thanks to @Agnishom.
* Support regex property syntax, e.g. \p{Lu}.
* Regex: support \B (non-word-boundary).

0.12
* Properly handle include elements in keyword lists (#124). A number of
  syntaxes (e.g. typescript, scala) include keyword lists from other
  syntaxe,s and previously we weren't able to handle this.
* There are several pieces to this change. We need to store lists where
  other Syntaxes can look them up, so we add an sLists field to Syntax [API
  change], and modify the parser to fill this. We change lists so that
  their values are not just a Text, but a ListItem that can either be a
  textual value or an include directive, specifying a ListName (syntax name
  and list name).
* The Keyword constructor for Matcher now takes, instead of a WordSet,
  Either a ListName or a WordSet (API change).
* Skylighting.Parser now exports resolveKeywords (API change), which
  modifies all Keyword matchers in a syntax so that Left values with a
  ListName become Right values with resolved WordSets. The tokenizer
  applies this function automatically to the SyntaxMap given in Config. But
  it is more efficient to do this conversion just once, rather than every
  time tokenize is called. So we have loadSyntaxesFromDir call it on the
  SyntaxMap. With this optimization, there is not an appreciable
  performance cost to the changes described above.
* Skylighting.Regex: Fix bug with regexes like a{10}b (#133). This requires
  exactly 10 a's; previously we interpreted it as "at least 10."
* skylighting-extract: take a directory as argument rather than files. This
  allows us to use loadSyntaxesFromDir.
* Update xml syntax definitions from upstream: julia, cmake, cpp, isocpp,
  markdown, python, toml.

0.11
* Skylighting.Regex: Support regex subroutines (#118). For example, (?1) is
  replaced by the regex in the first capturing group. So far we only
  support this simple, absolute form, not the relative form (?-1) supported
  by some engines (but not used, I think, in KDE's syntax
  highlighters). This change involves an API change: Regex in
  Skylighting.Regex has a new Subroutine constructor, and the Recurse
  constructor has been removed. Instead of Recurse we use Subroutine 0,
  which unifies the code.
* Skylighting.Regex: handle e.g. [\1] and [\123] (without initial 0) as
  octal escapes (#118). These occur in the zsh.xml syntax definition.
* Pull xml definitions for bash, cmake, python, zsh from upstream.
* README: Add a note about pulling syntax definitions from upstream
  (#138). Update build instructions for recent cabal versions (#131).

0.10.5.2
* Added swift grammar definition (Igor Ranieri).
* Simplify README.md instructions for two-step build.
* Fix link to KDE documentation.
jperkin pushed a commit that referenced this issue Feb 21, 2022
1.3.0 (2022-01-24)
Feature

    bom-ref for Component and Vulnerability default to a UUID (#142) (3953bb6)

1.2.0 (2022-01-24)
Feature

    Add CPE to component (#138) (269ee15)

1.1.1 (2022-01-19)
Fix

    Bump dependencies (#136) (18ec498)

1.1.0 (2022-01-13)
Feature

    Add support for bom.metadata.component (#118) (1ac31f4)

1.0.0 (2022-01-13)

Support for CycloneDX schema version 1.4 (#108)
Breaking Changes

Support for CycloneDX 1.4. This includes:

    Support for tools having externalReferences
    Allowing version for a Component to be optional in 1.4
    Support for releaseNotes per Component
    Support for the core schema implementation of Vulnerabilities (VEX)

Features

    $schema is now included in JSON BOMs
    Concrete Parsers how now been moved into downstream projects to keep this libraries focus on modelling and outputting CycloneDX - see https://github.com/CycloneDX/cyclonedx-python

Fixes

    Unit tests now include schema validation (we've left schema validation out of the core library due to dependency bloat)
    Ensure schema is adhered to in 1.0
    URIs are now used throughout the library through a new XsUri class to provide URI validation

Other

    Documentation is now hosted on readthedocs.org (https://cyclonedx-python-library.readthedocs.io/)
    Added reference to release of this library on Anaconda

0.12.3 (2021-12-15)
Fix

    Removed requirements-parser as dependency (temp) as not available for Python 3 as Wheel (#98) (3677d9f)

0.12.2 (2021-12-09)
Fix

    Tightened dependency packageurl-python (#95) (eb4ae5c)

0.12.1 (2021-12-09)
Fix

    Further loosened dependency definitions (8bef6ec)

0.12.0 (2021-12-09)
Feature

    Loosed dependency versions to make this library more consumable (55f10fb)
jperkin pushed a commit that referenced this issue Sep 1, 2022
1.4.1 (2022-07-23)

This is a gem housekeeping release. No user-facing changes.

Housekeeping

* Rename default branch to main (#140) @mattbrictson
* Include link to full diff in generated release notes (#144) @mattbrictson
* Replace Travis with CircleCI and add Ruby 3.0 and 3.1 to CI matrix (#138)
  @mattbrictson
* Upgrade to modern version of coveralls gem (#143) @mattbrictson
* Update appveyor to use a more modern version of Ruby (2.6) (#142)
  @mattbrictson
* Fix build failures on Ruby < 2.5 (#141) @mattbrictson
* Simplify release-drafter config (#139) @mattbrictson
jperkin pushed a commit that referenced this issue Oct 3, 2022
- added support for Carbon
- added support for Fortran77 star comments comments (#208)
- added support for PowerShell block comments (#210)
- fixed Python formatted string pattern (#212)
- added new shell completion generation script (#137)
- W32: fixed Windows compilation headers (#138)
jperkin pushed a commit that referenced this issue Oct 13, 2022
shared-mime-info 2.2 (2022-03-27)
* model/3mf: new
* Match shared libraries with version suffix
* model/obj: add mtllib and Blender comment based magic
* model/mtl: add Blender comment magic, increase newmtl range
* model/obj, model/mtl: new types
* Add Electron Archive Format type application/x-asar
* text/x-qml: Lower match priority to avoid conflicts with Python
* Move '*.blend' to top of Blender glob list
* Adding SPARQL media types
* application/zip: Add `*.zipx` glob and test fixture
* Added DSD mime type
* Differentiate comic book archives
* FITS: Add missing `application/fits` and legacy globs
* Add Godot engine files
* Add FlashForge "xgcode" mime-type
* text/x-objc++src: new type
* image/heif: test .hif extension too
* image/hif: add *.hif glob
* image/heif: add another test case
* image/heif: add magics
* Add a build-tools option to allow installing only the mime data
* Add compressed SVG glob pattern `*.svg.gz`
* Add Apple Wallet pass type application/vnd.apple.pkpass
* migrate from custom itstool to builtin msgfmt for creating translated XML
* Make the remaining plain text types subclasses of text/plain
* audio/mobile-xmf: separate from audio/x-xmf
* Adding ZIM file
* Make text/x-mrml a subclass of application/xml
* image/avif: move acronym and expansion to separate fields from comment
* freedesktop_generate.sh: Don't hardcode ninja
* Add text/x-mpl2
* application/x-apple-systemprofiler+xml: require _SPCommandLineArguments in plist
* image/jpeg: add test case with embedded property list XML
* audio/vnd.dts.hd: include parent type magic in magic match
* model/gltf+json: new type
* model/gltf-binary: new type
* application/x-object: add *.mod and a test case
* application/x-mod: add some ProTracker magics and a test case
* image/jxl: include test files in test list
* tests: add trailing linefeed to mime-detection list
* Make application/x-mswinurl a subclass of text/plain
* Change description for *.desktop files to "desktop entry"
* application/x-x509-ca-cert: add magics and test cases
* application/pkix-cert: add BEGIN/END X509 CERTIFICATE magic
* application/pkix-crl: add magic and test case
* application/pkix-cert: add magic and test case
* image/jxl: new type
* Added .sc filename extension for Scala source code, as it is occasionally used
* application/schema+json: new type
* Add text/x-crystal
* application/x-krita: remove stray period from comment
* adding org-mode
* Add Elixir source code mime type
* Add two new offsets for .kra and .krz
* text/x-python3: add *.pyi glob (Python stub files)
* image/x-canon-cr3: new
* image/x-xpixmap: make XPM3 magic more specific
* image/x-xpixmap: add XPM2 magic
* application/x-troff-man: add *.[1-9] glob
* application/toml: new type
* Lower priority of "BEGIN {" for perl, awk uses that too
* Add Smacker video type video/vnd.radgamettools.smacker
* Clarify database license
* meson: make xmlto optional, build spec only if found
* application/x-7z-compressed: add *.7z.001 glob
* Add Bink video type video/vnd.radgamettools.bink
* image/x-nikon-nrw: add test case
* image/x-nikon-nrw: new type
* application/x-vhdx-disk: improve acronym and its expansion
* application/ovf: new
* application/x-qed-disk: new
* application/x-vdi-disk: new
* application/x-vmdk-disk: new
* application/x-vhd-disk, /x-vhdx-disk: new
* application/vnd.apple.numbers, .pages: add older magics and test cases
* Add text/x-dart
* application/vnd.apple.numbers, /vnd.apple.pages: new types
* xdgmime: configure as submodule

shared-mime-info 2.1 (2020-12-31)
* New maintainers: David Faure and Ville Skyttä
* Adapt to xdgmime behaviour change: in case of multiple glob matches, and the magic match is unrelated to all of them, ignore the magic and pick one of the glob matches. xdgmime was actually deviating from the spec on this. (#138)
* Improve text/vnd.trolltech.linguist magic to reduce false positives for MPEG TS files (#10)
* audio/mpeg: add layer 2, 2.5, and 1 protected magics (#46)
* Add many aliases for image/x-tga
* audio/x-mod: improve magic for 669 Composer files (#144)
* Add mime-type image/ktx2 (Khronos image texture format version 2)
* application/oxps: differentiate from /vnd.ms-xpsdocument
* Make image/g3fax the canonical name for image/fax-g3
* Make text/vnd.trolltech.linguist the canonical name for text/vnd.qt.linguist
* Make application/vnd.smaf the canonical name for application/x-smaf
* Make application/vnd.apple.keynote the canonical name for application/x-iwork-keynote-sffkey
* Add mime-type image/astc (Adaptive Scalable Texture Compression files)
* Add mime-type for SageMath script files (*.sage)
* Add mime-type for Kaitai Struct
* Remove application/x-dc-rom
* Add mime-type for MAME compressed hard disk image (application/x-mame-chd)
* Add mime-types application/nintendo-3ds-executable, application/x-nintendo-3ds-rom
* Add mime-types application/x-dreamcast-rom, application/x-gd-rom-cue, application/x-discjuggler-cd-image
* Add mime-type application/x-compressed-iso (*.cso)
* Remove image/avif-sequence
* Fix application/x-sharedlib vs application/x-executable confusion for PIE executables (#11)

shared-mime-info 2.0 (2020-06-05)
* Port build system to meson, and ship test suite with tarball
* Install ITS file to allow gettext to translate mime-type descriptions
* Add BPS and IPS patch formats
* Lower weight for "use strict" and similar in the perl mimetype
* Add new magic for Sega Mega Drive ROMs
* Add Common Lisp mime-type
* Rename text/x-tcl to text/tcl
* Add text/vbscript
* Add PySpread spreadsheet mime-types
* Add Kotlin source mime-type
* Add AVIF image mime-type
* Split versions of the Audible audio mime types
* Add *.spx glob for audio/x-speex+ogg
* Add Apple System Profiler XML mime-type

shared-mime-info 1.15 (2019-10-30)
* Add Kindle 8 eBook format
* Fix some HTML files being detected as XML

shared-mime-info 1.14 (2019-09-20)
* Add mime-type for QCOW images
* Fix matching SVG files in some circumstances (again)

shared-mime-info 1.13.1 (2019-09-11)
* Fix matching SVG files in some circumstances

shared-mime-info 1.13 (2019-09-11)
* Add code of conduct document
* Use itstool and gettext to generate translations
* Add content-tree type for OSTree USB repositories
* Add match for MPEG-4 v1 videos
* Adjust a lot of user readable mime-type descriptions
* Fix WOFF/WOFF2 mime-types
* Prefer text/html to XHTML for *.html files
* Better magic for text/html files
* Fix SVG magic for files embedded in HTML
* Add *.sgd as a glob for Mega Drive ROMs

Specification:
- Mention that sub-class-of can be aliases

Tools:
- Enable Large File Support in update-mime-database

Test suite:
- Make test suite failures fatal
- Add test for duplicate mime-types
- Fix WarpScript test
- Generate the specification in the CI, to avoid it becoming
  syntactically invalid

shared-mime-info 1.12 (2019-01-17)
* Fix build from tarball

shared-mime-info 1.11 (2019-01-17)
* Add mime-type for reStructuredText
* Add mime-type for Groovy scripting language
* Add mime-type for Gradle build tool
* Add mime-type for Maven
* Add mime-type for WarpScript source code
* Add mime-type for zstd and tar.zst archives
* Change the preferred suffix for image/jpeg from .jpeg to .jpg
* Assign *.html to XHTML pages
* Better detection for *.key files (Apple Keynote vs. GPG keys)
* Give weight to one of the appimage patterns

Tools:
- Link to GitLab for contributions and bug reports
- Loads of memory and file descriptor leak fixes

Spec:
- Clarify the availability of C character escape support
jperkin pushed a commit that referenced this issue Dec 6, 2022
0.9.1 (2022-10-24)

* Fix Slim's error in AttributeMerger due to 0.9.0's :capture_generator
  (#137)
* Use specified :capture_generator for nested captures (#112)
* Fix Temple::ERB::Engine's <%= to not escape and <%== to escape expressions

0.9.0 (2022-10-24)

* Require Ruby 2.5+ (#131)
* Change default :capture_generator to self (#113)
* Improve compatibility with Rails 7.1 (#135)
* Support Rails 6.1's annotate_rendered_view_with_filenames
  with Temple::Filters::Ambles (#134)
* Fix a crash in StringSplitter filter (#138)
* Fix a warning by Object#=~ since Ruby 2.6 (#129)
* Fix deprecated Tilt template mime type (#108)
* Stop using deprecated EscapeUtils from Temple::Utils (#136)
jperkin pushed a commit that referenced this issue Dec 18, 2022
# crayon 1.5.2

* crayon functions now mark their output with the right encoding,
  if their input was marked (#136, #138).
jperkin pushed a commit that referenced this issue Jan 4, 2023
2.5.1 was not released.

2.5.2 (2022-12-27)

* Update Addressable - #145 - JamieKDonnelly
* Fix deprecated usage of Object#=~ - #138 - marcrohloff
* Move to sempahore for matrix builds and macos tests
jperkin pushed a commit that referenced this issue Feb 20, 2023
What's Changed
Bug Fixes 🐛
 - Fix link selection of mulit-line links by @Builditluc in #141
 - Fix link selection reset on layout change by @Builditluc in #142

Documentation Changes
 - Simplify Readme by @Builditluc in #138
 - Improve Contribution Documentation by @Builditluc in #139

Style and Structure Changes
 - Update default labels in the issue templates by @Builditluc in #127
 - Update label configurations in workflows by @Builditluc in #128
 - Create Api Handler by @Builditluc in #147
 - Create new parser system by @Builditluc in #149
 - Rework backend by @Builditluc in #150

Other Changes
 - Add keywords to the cargo manifest by @Builditluc in #145
jperkin pushed a commit that referenced this issue Apr 8, 2023
Fixes
 - Fixed AppImage build for systems without OpenSSL 1.1 (#182).
 - Fixed build errors on MinGW (#193).
 - Fixed not being able to change volume on some styles (#206).
 - Fixed crash when playing library items with many tracks (#208).
 - Fixed MPRIS support on Qt 6.
 - Fixed side panel tabs not working on some styles.
 - Fixed not showing tool-tip for added date in albums.
 - Fixed using Fusion style when saving settings with default selected.
 - Fixed not displaying artist names with "&" properly.
 - Fixed flat buttons having a background with built-in dark theme.
 - Fixed not refreshing some cached albums correctly.

Changes
 - Added automatic re-authentication if token expired (#64).
 - Improved error handling when setting client path (#65).
 - Added support for saving passwords on more Linux systems, macOS, and Windows
   (#70).
 - Added column for track liked status (#138).
 - Disallowed actions are now disabled (#186).
 - Added support for media keys on Windows (#192).
 - Client volume is now remembered instead of always being 100% (#196).
 - Added options for copying name of playlist/track/album (#203).
 - Added support for librespot v0.5.0 (#210).
 - Added back lyrics.
 - Now uses a native menu bar on macOS.
 - Improved startup performance.
 - Replaced "Save password in keyring" option with "Remember me" in password
   entry.
 - Added Apple Silicon support for macOS builds.
 - Replaced "fixed width remaining time" with custom fixed-width system font.
jperkin pushed a commit that referenced this issue May 2, 2023
erdtree v2.0.0 introduces numerous breaking changes as well as a plethora of
new features. Most breaking changes are predicated on the fact that arguments
were either renamed, removed, or fundamentally modified. The following is a
list of all the PRs that document these changes and feature additions:

  - Regular expressions #130
  - Unix permissions #132
  - Force color #135
  - Show hardlinks without double counting file size #136
  - Regular expressions and globbing with file-type #137
  - Truncate output #138
  - Inverted tree layout #139

Perhaps the most important change to note is that the compiled binary has been
renamed from et to erd in order to address the following issue regarding name
collisions with other programs: #23
jperkin pushed a commit that referenced this issue Jun 17, 2023
# forcats 1.0.0

## New features

* New `fct_na_value_to_level()` and `fct_na_level_to_value()` to convert
  NA values to NA levels and vice versa (#337).

## Minor improvement and bug fixes

* All functions now validate their inputs, giving more useful errors if you
  accidentally misspecify an input.

* `fct_collapse()` can now use `other_level = NA` (#291).

* `fct_count()` works with factors that contain `NA`s in levels.

* `fct_explicit_na()` is deprecated in favour of `fct_na_value_to_level()`.

* `fct_expand()` gains an `after` argument so that you can choose where
  the new levels are placed (#138).

* `fct_infreq()` gains the ability to weight by another variable using the `w`
  argument (#261).

* `fct_inorder()` now works when not all levels appear in the data (#262).

* `fct_lump_prop()` and friends now work correctly if you supply weights
  and have empty levels (#292).

* `fct_lump_n()` and `fct_lump_prop()` will now create an "Other" level even
  if it only consists of a single level. This makes them consistent with the
  other `fct_lump_*` functions (#274).

* `fct_other()` no longer generates a warning if no levels are replaced with
  other (#265).

* `fct_relevel()`, `fct_cross()`, and `fct_expand()` now error if you name the
  arguments in `...` since those names are ignored and your code probably
  doesn't do what you think it does (#319).

* `fct_reorder()` and `fct_reorder2()` now remove `NA` values in `.x` with a
  warning (like  `ggplot2::geom_point()` and friends). You can suppress the
  warning by setting `.na_rm = TRUE` (#315).

* `fct_reorder()` and `fct_reorder2()` gain a new `.default` argument that
  controls the placement of  empty levels (including levels that might become
  empty after removing missing values in `.x`) (#266).

* `fct_unique()` now captures implicit missing values if present (#293).


# forcats 0.5.2

* New `fct()` which works like `factor()` but errors if values of `x`
  are not included in the levels specification (#299)

* `first2()` and `last2()` now ignore missing values in both `x` and `y` (#303).

* Error messages are more informative.
jperkin pushed a commit that referenced this issue Aug 8, 2023
(also taking over maintainership after confirming with Patrick)

v.2.4.3
    Add static hpdf_version.h header by @vszakats in #241
    hpdf_version.h included again by hpdf.h #241 #246
    File attachment issue resolved @hvanbrug #159
    Renamed *_LIBZ defines to _*ZLIB, thanks to @karstenBriksoft #249, enables compression of PDF files again.

v.2.4.2

    Reinstated hpdf_version.h #237 #240
v.2.4.1

    Fixed library name #236 from @jschueller
    Set correct version number #237 pointed out by @xantares

v.2.4.0

    Add support for free-form triangle shading objects. by @allisonvacanti in #157
    Fix config constant to match use in hpdf_mmgr.c by @bvirlet in #167
    Improve small number writing in HPDF_FToA. by @allisonvacanti in #187
    Fix missing /CapHeight key in font definition by @yabaud in #138
    Change HPDF_Page_CreateXObjectFromImage zoom parameter type to HPDF… by @extensia in #114
    Fix another case of png files with background mask save uncompressed by @igor-niv in #221
    Avoid issue with libtiff duplicate symbols by @bvirlet in #168
    Reajust bit_depth of png image after striping depth from 16 to 8. by @joelhecht in #125
    Fixed typo in Japanese font name: Mincyo -> Mincho by @qtamaki in #80
    Fix various typos by @luzpaz in #226
    hpdf.h: add missing HPDF_Boolean typedef by @mathstuf in #189
    Moved to a CMake only build environment.
    Fix bad unicode in comment by @gix in #229
    Fix various typos by @luzpaz in #230
jperkin pushed a commit that referenced this issue Aug 17, 2023
What's Changed
    [Aeruginous] Create CHANGELOG Fragment by @github-actions in #110
    Chore: Bump clap from 4.3.11 to 4.3.14 by @dependabot in #113
    Chore: Bump sqlx from 0.7.0 to 0.7.1 by @dependabot in #112
    Chore: Bump thiserror from 1.0.40 to 1.0.43 by @dependabot in #111
    Chore: Bump anyhow from 1.0.71 to 1.0.72 by @dependabot in #115
    Chore: Bump scopeguard from 1.1.0 to 1.2.0 by @dependabot in #114
    Fix: Release GitHub Action by @AmmarAbouZor in #116
    [Aeruginous] Create CHANGELOG Fragment by @github-actions in #117
    Changed: Optimization for app main loop by @AmmarAbouZor in #118
    [Aeruginous] Create CHANGELOG Fragment by @github-actions in #119
    Chore: Bump async-trait from 0.1.69 to 0.1.72 by @dependabot in #120
    Chore: Bump thiserror from 1.0.43 to 1.0.44 by @dependabot in #121
    Chore: Bump serde_json from 1.0.100 to 1.0.104 by @dependabot in #126
    Chore: Bump clap from 4.3.14 to 4.3.19 by @dependabot in #123
    Chore: Bump serde from 1.0.171 to 1.0.178 by @dependabot in #125
    Chore: Bump serde from 1.0.178 to 1.0.180 by @dependabot in #127
    Chore: Bump serde from 1.0.180 to 1.0.183 by @dependabot in #129
    Chore: Bump Swatinem/rust-cache from 2.5.1 to 2.6.0 by @dependabot in #128
    Fix: Fix SQLite connection string path by @AmmarAbouZor in #137
    [Aeruginous] Create CHANGELOG Fragment by @github-actions in #138
    Chore: Bump tokio from 1.29.1 to 1.31.0 by @dependabot in #136
    Chore: Bump async-trait from 0.1.72 to 0.1.73 by @dependabot in #135
    Chore: Bump Swatinem/rust-cache from 2.6.0 to 2.6.1 by @dependabot in #132
    Chore: Bump log from 0.4.19 to 0.4.20 by @dependabot in #134
    Chore: Bump clap from 4.3.19 to 4.3.21 by @dependabot in #133
    [Aeruginous] Assemble CHANGELOG by @github-actions in #139
jperkin pushed a commit that referenced this issue Nov 6, 2023
Overview of changes in gnome-calculator 45.0.1
    * Retagging release

Overview of changes in gnome-calculator 45.0
    * Search provider performance improvements !154, !155, !156 (Christian Hergert)
    * Use numeric font instead of monospace #290 (Robert Roth)
    * Fixed electron-volt unit abbreviation #347 (Robert Roth)
    * Fixed erroneous Joule unit name #348 (Robert Roth)
    * Fixed missing build dependency !157 (Jeremy Bicha)

Overview of changes in gnome-calculator 45.beta
    * Fixed variable and function popover reverse typing #335, #320 (Robert Roth)
    * Better left/right cursor key handling !153 (Seth Falco)
    * Improved toolbar using Adwaita library !151 (Felipe Kinoshita)
    * Flatpak build improvements (Robert Roth)

Overview of changes in gnome-calculator 45.alpha
    * Remember window size #328 !146 (Leonard K, Alice Mikhaylenko)
    * Allow opening Main Menu by pressing F10 !142 !149 (Automeris naranja)
    * Extend bit-shifting limit #306 !143 (J Sory)
    * Added new energy units !143 (J Sory)
    * Added TWD support via Bank of Canada rates #27 !148 (Mário Adriano)
    * Added legal section for exchange rate source attribution (Robert Roth)
    * Added United Nations Treasury exchange rate datasource (Robert Roth)
    * Added Jamaican Dollar currency #291 (Robert Roth)
    * Added Ukrainian hryvnia currency #278 (Robert Roth)
    * Added Nigerian Naira currency #142 (Robert Roth)
    * Changed symbolic icon to C on the clear button #336 (Robert Roth)
    * Dropped VEF currency support #78 (Robert Roth)
    * Use new vala-nightly SDK extension for flatpak (Robert Roth)

Overview of changes in gnome-calculator 44.beta
    * Improved factorization !141 (J. Sory)
    * Number format selection documentation improvements #321 (Robert Roth)
    * Made builtin function descriptions translatable #323 (Robert Roth)
    * Fixed display showing 0 on startup #318 (Robert Roth)
    * Improved button tooltips !132 (sunflowerskater)
    * Added signed int support to programming mode !110 (Erik Wolf)
    * i and e constants updated according to ISO 80000-2:2009 !137 (majjejjam)
    * Help overlay updates !133 (Sabri Ünal)
    * Added preferences shortcut !129 (Sabri Ünal)
    * Destroy dialog after clicking cancel #310 (Jaycee Santos)

Overview of changes in gnome-calculator 43.0.1
    * Fixed appdata versioning (Robert Roth)

Overview of changes in gnome-calculator 43.0
    * Removed old issue tracker references !128 (Jake Dane)

Overview of changes in gnome-calculator 43.rc
    * Fix crash when entering new function name !124 (Nathaniel Russel)
    * Fix source view border !121 (Alexander Mikhaylenko)
    * Flatpak build update !122 (Bartłomiej Piotrowski)
    * Port about window to libadwaita !119 (Christopher Davis)
    * Port to libsoup3 !120 (AppleME)

Overview of changes in gnome-calculator 43.alpha
    * Fixed broken undo/redo #266 (Robert Roth)
    * Make sure variable name definitions work with whitespace too (Robert Roth)
    * Fix translatable strings !116 (Maximiliano)
    * Fixed missing implicit multiplication with variable and root #279 (Robert Roth)
    * meson warning fixes (Robert Roth)

Overview of changes in gnome-calculator 42.2
    * Fixed incorrect history with bits toggling #281 (Robert Roth)
    * Fixed crash when typing in variable popover #282 (Robert Roth)
    * Fixed incorrect libxml usage #283 (Luca Bacci, Robert Roth)

Overview of changes in gnome-calculator 42.1
    * Fixed broken undo/redo #266 (Robert Roth)
    * Removed automatic closing brace addition #271 (Robert Roth)
    * Fixed incorrect percentage symbol precedence handling #236, #275 (Robert Roth)

Overview of changes in gnome-calculator 42.rc
    * Use new gnome post_install script !106 (Bobby Rong)
    * gcalc build fixes (Daniel Espinoza Ortiz)
    * Updated screenshots (Christopher Davis)
    * Set default focus to entry (Robert Roth)

Overview of changes in gnome-calculator 42.beta
    * Fixed build issues with GCI entry controller tests #250 (Robert Roth)
    * Force LTR in history view #252 (Robert Roth)
    * programing mode: Force bit digits to be always LTR #258 (Yosef Or Boczko)
    * Use AdwApplication (Alexander Mikhaylenko)
    * ui: Fix styles !105 (Alexander Mikhaylenko)

Overview of changes in gnome-calculator 42.alpha
    * build: Support flatpak development builds (Óscar Fernández Díaz)
    * build: migrated to GTK4 !98 (Cristopher Davis, Robert Roth)
    * entry: Added currencies completion provider (Robert Roth)
    * entry: Fixed percentage evaluation error #237 (Robert Roth)
    * internal: Moved history view from MathDisplay to MathWindow (Robert Roth)
    * window: set default width for basic and keyboard mode #240 (Robert Roth)
    * buttons: removed destructive action class from clear button #242 (Robert Roth)
    * converter: search support in unit selector, separate conversion category selector #108 (Robert Roth)

Overview of changes in gnome-calculator 41.0
    * Use first translated symbol for conversion with button #219 (Robert Roth)
    * Appdata includes hardware support information (Adrien Plazas)

Overview of changes in gnome-calculator 41.alpha
    * Adaptive preferences window !85 (Adrien Plazas)
    * Fixed currency conversion using convert button #216 (Robert Roth)
    * User interface reworked, adaptive UI !81 (Adrien Plazas)
    * Enlarged calculator icon in help !82 (Sabri Ünal)
    * Code cleanup (Robert Roth)
    * Fixed kilohertz shorthand !87 (scootergrisen)
    * Fixed donation link !88 (René Genz)
    * Added support using calculator without currency conversion for privacy !89 (Ray Strode)
    * Added support for function description of custom functions using @ !90 (Martin Jirku)

Overview of changes in gnome-calculator 40.rc
    * Resize window after switching mode !78 (joshas)
    * Fixed compilation warnings (Robert Roth)
    * Support offline currency conversion tests #208 (Robert Roth)
    * Use official unit on conversion button click #207 (Robert Roth)
    * Fixed temperature unit typos #211 (Robert Roth)
    * Ellipsize conversion labels #17 (Robert Roth)
    * Added Ctrl+Delete shortcut for clearing the current equation #187 (Robert Roth)
    * Allow multiple decimal points #166. #5 (Robert Roth)
    * Added Ctrl+O shortcut for degrees symbol (Robert Roth)
    * Use gtk-sourceview 4.8 !80 (Robert Roth)

Overview of changes in gnome-calculator 40.beta
    * Fixed CI build (Robert Roth)
    * Fixed issues with initial loading of currencies (Robert Roth)
    * Rework currency retrieval preparing for currency provider plugins (Robert Roth)
    * Fixed commandline conversions #33 (Robert Roth)
    * Added currency conversion tests (Robert Roth)
    * Added support for frequencies conversion (Dave Hulst)
    * Added support for converting to and from weeks (Dave Hulst)
    * Added support for converting to and from centuries and decades (Dave Hulst)
    * Increase buttons font size #201 (Robert Roth)
    * Added % button to Advanced mode (Dave Hulst)
    * Show 4 decimals in converter instead of only two #203 (Robert Roth)
    * Added style classes to buttons !76 (Dave Hulst)

Overview of changes in gnome-calculator 40.alpha
    * Use libhandy for window and headerbar !69 (Cristopher Davis)
    * Use C instead of Clr in help !70 (scootergrisen)
    * Fixed broken currency conversion on first start #199 (Robert Roth)
    * Removed duplicate word from help #198 (Robert Roth)
    * Added lbs shortcut for pounds conversion (Robert Roth)
    * Fixed inconsistent word size (A. M. Roswell)
    * Removed unused trunc button from programming mode #41 (Robert Roth)
    * Fixed deprecation warnings
    * Added Serbian Dinar with fixed rate #49 (Robert Roth)
    * Added Bangladeshi Taka with fixed rate #191 (A. M. Roswell)
    * Updated mailing list contact to Discourse (Robert Roth)
    * Added basic help page for programming mode (A. M. Roswell)
    * Added insert character code button (A. M. Roswell)
    * Dim inapplicable bits on word size change #189 (A. M. Roswell)
    * Make the conversion labels selectable (Robert Roth)
    * Do not convert on swap #170 (Robert Roth)
    * Word size changer in programming mode !58 (A. M. Roswell)
    * Added metric cups conversion unit !53 (Lucy Coleclough)
    * Fixed astronomical unit conversion !51 (Thomas Nilsson)
    * Fixed feet-based units name, added mph and kph shortcuts #180 (Robert Roth)
    * Use shell copy to clipboard action #178 (Robert Roth)
    * Fixed preferences of angle units !56 (Delton Ding)

Overview of changes in gnome-calculator 3.38.0

Overview of changes in gnome-calculator 3.37.92

Overview of changes in gnome-calculator 3.37.90
    * Add tooltips for bits in programming mode !46 (Olliver Schinagl)
    * snap packaging updates (Ken VanDine)
    * Added link to website in About #155 (Robert Roth)
    * Added speed conversions !49 (Mathieu Heurtevin)
    * History view follows preferences #105, #159, #168 (Robert Roth)
    * Added month as time unit #158 (Robert Roth)
    * Better help for variables example usage #154 (Robert Roth)
    * Defined pi variable, added pi button in programming mode #153 (Robert Roth)
    * CI build fixes (Robert Roth)
    * Updated app icon !47 (Jakub Steiner)
    * Fixed bug returning empty string as result #152 (Robert Roth)
    * Support latex-style multiplication #164 (Robert Roth)
    * Added support for tau constant #46 (Robert Roth)
    * Unify constant handling (Robert Roth)
    * Separate UI files from sources (Robert Roth)
    * Moved number format selection to separate menu #24 (Robert Roth)
    * Replaces mode selector shortcuts with Ctrl+Alt (Robert Roth)
    * Clear answer if editing right before it #59, #161 (Robert Roth)
    * Moved preferences dialog to UI file (Robert Roth)
    * Refresh bits panel after calculation #38 (Robert Roth)
    * Removed past author addresses #174 (Robert Roth)

Overview of changes in gnome-calculator 3.36.0

Overview of changes in gnome-calculator 3.35.92
    * doc: Don't pass --fatal-warnings to valadoc (Rico Tzschichholz)
    * Removed obsolete keyboard shortcut #148 (Robert Roth)
    * help: Update icon for 3.36 (Andre Klapper)

Overview of changes in gnome-calculator 3.35.90
    * Drop padding around the display !40 (Adrien Plazas)
    * Updated Keyboard Shortcuts (Sabri Ünal)
    * Handle Escape and Enter correctly with completion #144 (Robert Roth)
    * Added F10 for primary menu shortcut #148 (Robert Roth)
    * Updated app icon !43 (Tobias Bernard)
    * Added Rack Units to the conversions !37 (Léo Gillot-Lamure)
    * Fixed freeze on calculating atan(+/-i) #139 (Robert Roth)
    * Fixed mode shortcuts by removing blocking mnemonics #138 (Robert Roth)
    * Implemented result history browsing using alt left/right #129 (Robert Roth)
    * Added translator comments for possible modes as command line arguments !38 (Rafael Fontenelle)

Overview of changes in gnome-calculator 3.35.3
    * Help updates (Andre Klapper)

Overview of changes in gnome-calculator 3.35.2
    * List possible modes in commandline help #112 (Robert Roth)
    * Add square feet unit #132 (Robert Roth)
    * Base conversion display selectable #123 (Robert Roth)
    * Created nightly icon (Jakub Steiner)
    * Snap build updates (Heather Ellsworth)
    * GCalc library code fixes (Rico Tzschichholz, Daniel Espinoza Ortiz)
    * Update required meson version (Diego Escalante Urrelo)
    * Adapt code to changed gtk+-3.0 bindings (Rico Tzschichholz)
    * Added GCi libary and tests for controllers for widgets (Daniel Espinoza Ortiz)
    * Solve on = key if input isq not a variable name #22 (Alberto González Palomo)

Overview of changes in gnome-calculator 3.33.92
    * README updates (Roger)

Overview of changes in gnome-calculator 3.33.90
    * Flatpak build cleanup (Jordan Petridis)
    * Debug messages cleanup (Daniel Espinosa Ortiz)

Overview of changes in gnome-calculator 3.33.3
    * calculator library build fixes (Daniel Espinosa Ortiz)
    * CI build fixes (Ken VanDine)
    * Added mnemonics for primary menu items #113 (Robert Roth)
    * Dropped leading zeros octal prefix #114, #109, #110 (Robert Roth)

Overview of changes in gnome-calculator 3.33.2
    * Separated calculator library !19 (Daniel Espinosa Ortiz)
    * Ensure icon is available for shell (Ken VanDine)
    * Support entering left/right shift with keyboard #98 (Robert Roth)
    * Fixed CFA conversion rate #102 (Robert Roth)
    * Remove copy icon from search provider results #103 (Robert Roth)
    * Do not assume octal base for binary numbers #101 (Robert Roth)
    * Show thousands separator in unit converter #102 (Robert Roth)
    * Use currency name instead of display name for conversion #106 (Robert Roth)
    * Quit warns and closes all windows #51 (Robert Roth)
    * Avoid normalizing the equation twice in search #104 (Pascal Nowack)
    * Ignore keypresses while calculating results #47 (Robert Roth)
    * Only allow one decimal point in numbers #5 (Robert Roth)
    * Application icon updated in help (Andre Klapper)
jperkin pushed a commit that referenced this issue Jan 12, 2024
Added:
- [Python] Support the feature of escaping also in Python (#144)

Fixed:
- [Python] Added workflow to release to Pypi (#145, #146, #20)
- [Ruby] Fixed up around 75% of all rubocop offenses (#138)
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 7, 2024
6.1.0 (2024-01-10)

Added

* [Python] Support the feature of escaping also in Python (#144)

Fixed

* [Python] Added workflow to release to Pypi (#145, #146, #20)
* [Ruby] Fixed up around 75% of all rubocop offenses (#138)
jperkin pushed a commit that referenced this issue Feb 7, 2024
Changelog:


Release version 12

    Clean up some FreeBSD conditions (#98) (5a81837)
    Add ES256K support (#90) (e6a7ae7)
    Meson changes (#135) (c1569b7)
    Update CI (#8) (#129) (253549a)
    lib/openssl/rsaes.c: Fix issue where jose_hook_alg_find failed to find the … …existance of RSA_OAEP algorithm (58112df)
    Increase test program/scripts timeout values (#131) (45367dd)
    Fix test compilation warnings (#127) (aee1096)
    Adapt alg_comp test to different zlib (#142) (4878253)
    Use checkout v3 Github action to avoid warnings (#137) (6a639e2)
    Alternative fix for fedora:rawide (#138) (55b11f5)
    lib/openssl/hmac.c: rename hmac function to jhmac (#130) (33b9e0b)
    jose: build library only as shared (#119) (b72f8ca)
    meson: add option to disable building manpages (#118) (786b426)
    Add a more descriptive error when jwk gen fails (#105) (cdb1030)
    Use "command -v" instead of "which" (deprecated) (#125) (e1d66f1)
    Test for jq existing (used in jose-jwe-enc test) (#124) (ddc0d2a)
    Correct jose_jws.3 man page example (#122) (ad08d70)
    lib/hsh.c: rename hsh local variable (#111) (3d5b287)
    Avoid master word when possible (#120) (5bc6a92)
    Fix github action CI by setting appropriate centos (a091f56)
    Fix format of jose-jwe-enc man page (76924de)
    Meson Fixes (320336b)
    ci: make ubuntu:devel and fedora:rawhide not to fail the pipeline (1d15950)
    ci: retry when installing the deps in debian/ubuntu (bfdbb6e)
    ci: remove travis-ci (05d8e70)
jperkin pushed a commit that referenced this issue Feb 9, 2024
4.12.0 (stable):

Gtk:
* AboutDialog: Deprecate ctor with use_header_bar.
  (Daniel Boles) Merge request !74
* Add SymbolicPaintable.
* Add ScrollInfo and enum ListScrollFlags.
* ColumnView, GridView, ListView, Viewport: Add scroll_to().
* ColumnViewRow, ListItem: Add set/get/property_accessible_description()
  and set/get/property_accessible_label().
* DropDown: Add set/get/property_header_factory()
  and set/get/property_search_match_mode().
* FileLauncher: Add set/get/property_always_ask().
* Window: Add is_suspended() and property_suspened().
  (Kjell Ahlstedt)

Documentation:
* Remove README.SUN and other obsolete files
  (Kjell Ahlstedt) Issue #140
* Gtk::Widget: Describe managed and non-managed widgets
  (Kjell Ahlstedt) Issue #138 (Daniel Boles)

Build:
* recentinfo.hg: Fix Visual Studio build
  (Chun-wei Fan) Merge request !75
* Require gtk4 >= 4.12.0
  (Kjell Ahlstedt)


4.11.3 (unstable):

Gdk:
* Pixbuf: Deprecate the create() method taking a Cairo::Surface.
  (Kjell Ahlstedt)

Gtk:
* Snapshot: Add some #includes.
  (Kjell Ahlstedt) Issue #137 (Daniel Boles)
* Image: Deprecate the set() method taking a Pixbuf.
* Notebook: Wrap the object returned from get_pages() in a
  SelectionListModelImpl (like Stack::get_pages()).
* Picture: Deprecate set_pixbuf().
* ColumnView: Add set/get/property_header_factory().
* CssProvider: Deprecate load_from_data(). Add load_from_string()
  and load_from_bytes().
  (Kjell Ahlstedt)

Documentation:
* Group some classes in the new ListView group and note that
  all classes in the TreeView group are deprecated.
  (Kjell Ahlstedt)

Build:
* Require gtk4 >= 4.11.3
  (Kjell Ahlstedt)


4.11.2 (unstable):

Gdk:
* GLTexture: Deprecate create().
* Add GLTextureBuilder.
  (Kjell Ahlstedt)

Gtk:
* Box, BoxLayout: Add set/get/property_baseline_child().
* Button: Add set/get/property_can_shrink().
* CenterBox, CenterLayout: Add set/get/property_shrink_center_last().
* GLArea: Deprecate set/get/property_use_es().
  Add set/get/property_allowed_apis(), get/property_api().
* Add ListHeader, SectionModel.
* ListView: Add set/get/property_header_factory().
* MenuButton: Add set/get/property_can_shrink().
* SortListModel: Add set/get/property_section_sorter().
* Widget: Deprecate get_allocation(),
  get_allocated_width/height/baseline(). Add get_baseline().
  (Kjell Ahlstedt)

Build:
* MSVC build: Mark GTKMM_API for the Entry class
  (Chun-wei Fan) Merge request !73
* Require gtk4 >= 4.11.2
  (Kjell Ahlstedt)


4.11.1 (unstable):

Gdk and Gtk:
* Use callback functions with C linkage.
  (Kjell Ahlstedt) Issue glibmm#1 (Murray Cumming)

Gdk:
* Add Gdk::Graphene::Point, Rect and Size.
  They wrap the corresponding classes in the Graphene library.
  (Kjell Ahlstedt)
* Add class DragSurfaceSize.
* DragSurface: Add signal_compute_size().
* Surface: Add get/property_scale(). Deprecate create_similar_surface().
  (Kjell Ahlstedt)

Gtk:
* Snapshot: Add push_repeat(), push_clip(), append_cairo(),
  append_texture(), append_color() with Gdk::Graphene::Rect.
  Deprecate other push_clip(), push_clip(), append_cairo(),
  append_texture(), append_color() overloads. Add translate().
* Widget: Add compute_bounds() and compute_point().
  Deprecate translate_coordinates().
  (Kjell Ahlstedt)
* Add classes ColumnViewCell and ColumnViewRow.
* ColumnView: Add set/get/property_tab_behavior() and
  set/get/property_row_factory().
* Add enum ListTabBehavior.
* FlowBox and ListBox: Add remove_all().
* GridView and ListView: Add set/get/property_tab_behavior().
* ListItem: Add set/get/property_focusable().
  (Kjell Ahlstedt)

Build:
* Require gtk4 >= 4.11.1
  (Kjell Ahlstedt)


4.10.0 (stable):

Gdk:
* Add TextureDownloader
* Add enum MemoryFormat, identical to MemoryTexture::Format
* Texture: Add get_format()
  (Kjell Ahlstedt)

Gtk:
* VolumeButton: Deprecated
* ProgressBar: Deprecate property_ellipsize()
  (Kjell Ahlstedt)
* FileDialog: open_multiple_finish() and select_multiple_folders_finish()
  return std::vector<Glib::RefPtr<Gio::File>> instead of
  Glib::RefPtr<Gio::ListModel>.
  FileChooser: Deprecate get_files() and get_shortcut_folders().
  Add get_files2() and get_shortcut_folders2().
  (Kjell Ahlstedt) Issue #132
* FileDialog: Make open[_finish](), select_folder[_finish](),
  save[_finish](), open_multiple[_finish](),
  select_multiple_folders[_finish]() non-const.
* FontDialog: Make choose_family[_finish]() and
  choose_face[_finish]() non-const.
* Accessible: Add set_accessible_parent(), update_next_accessible_sibling()
* MenuButton: Add set/get/property_active().
* ScaleButton: Add get/property_active().
* SearchEntry: Add set/get_placeholder_text().
  (Kjell Ahlstedt)

Tests:
* Add filedialog test
  (Kjell Ahlstedt)

Build:
* Require gtk4 >= 4.10.0
  (Kjell Ahlstedt)


4.9.3 (unstable):

Gdk:
* Display: Deprecate get_startup_notification_id().
* Monitor: Add get/property_description().
  (Kjell Ahlstedt)

Gtk:
* Deprecated classes: Assistant, AssistantPage, LockButton, Statusbar
* Gesture: Deprecate set_sequence_state().
* Accessible: Add enum Accessible::PlatformState. Add get_at_context(),
  get_platform_state(), get_accessible_parent(), get_bounds(),
  get_first_accessible_child(), get_next_accessible_sibling().
* Add ATContext and UriLauncher.
  (Kjell Ahlstedt)

Documentation:
* Gtk::Image, Picture, StringList, StringObject: Improve class descriptions
  (Kjell Ahlstedt)

Build:
* Require gtk4 >= 4.9.3
  (Kjell Ahlstedt)


4.9.2 (unstable):

Gdk:
* Display: Deprecate notify_startup_complete() and put_event().
  (Kjell Ahlstedt)

Gtk:
* Widget: Deprecate show() and hide(). (Use set_visible().)
* Add FileLauncher.
* CenterBox: Add property_[start|center|end]_widget().
* FileDialog: Rename get/set/property_current_filter() to
    get/set/property_default_filter(). Rename get/set/property_current_folder() to
    get/set/property_initial_folder(). Add get/set/property_initial_name(),
    get/set/property_initial_file(), get/set/property_accept_label().
    Remove current_file parameter from open(), current_folder parameter from
    select_folder(). Delete get/set/property_shortcut_folders().
* GestureStylus: Add get/set/property_stylus_only().
* TreeExpander: Add get/set/property_indent_for_depth()
   and get/set/property_hide_expander().
* ToggleButton: Deprecate toggled().
  (Kjell Ahlstedt)

Build:
* Require gtk4 >= 4.9.2
  (Kjell Ahlstedt)
* Meson build: Fix the evaluation of is_git_build on Windows
  (Kjell Ahlstedt) Issue #131 (William Roy)


4.9.1 (unstable):

Gtk:
* Deprecate about 50 classes:
  AppChooser, AppChooserButton, AppChooserDialog,
  AppChooserWidget, CellArea, CellAreaBox, CellAreaContext,
  CellLayout, CellRenderer, CellRendererAccel, CellRendererCombo,
  CellRendererPixbuf, CellRendererProgress, CellRendererSpin,
  CellRendererSpinner, CellRendererText, CellRendererToggle, CellView,
  ComboBox, ComboBoxText, EntryCompletion, IconView, ListStore,
  ListViewText, StyleContext, TreeDragDest, TreeDragSource,
  TreeIter and other classes in treeiter.hg,
  TreeModel, TreeModelFilter, TreeModelSort, TreePath, TreeRowReference,
  TreeSelection, TreeSortable, TreeStore, TreeView, TreeViewColumn,
  namespace CellRenderer_Generation, namespace TreeView_Private,
  ColorButton, ColorChooser, ColorChooserDialog,
  FileChooser, FileChooserDialog, FileChooserNative, FileChooserWidget,
  FontButton, FontChooser, FontChooserDialog, FontChooserWidget,
  MessageDialog, TreeModelColumn, TreeModelColumnRecord, InfoBar
* Deprecate Window::signal_keys_changed()
* Add ColumnViewColumn::set/get/property_id(), enum Collation,
  StringSorter::set/get/property_collation(), Widget::get_color,
  StyleProvider::add/remove_provider_for_display()
* StringList::create(): Add default value (empty vector) to parameter
* Add classes AlertDialog, ColorDialog, ColorDialogButton,
  ColumnViewSorter, FileDialog, FontDialog, FontDialogButton,
  enums DialogError, FontLevel
  (Kjell Ahlstedt)

Demos:
* Don't use deprecated API.
  Some demo programs have been renamed.
  (Kjell Ahlstedt)

Build:
* Meson build: Detect if we build from a git subtree
  (William Roy) Merge request !72
* Require gtk4 >= 4.9.1
  (Kjell Ahlstedt)


4.8.0 (stable):

Gtk:
* TextView::get_tabs(): Fix a memory leak
* Add enum ContentFit
* Label: Add set/get/property_tabs()
* Picture: Add set/get/property_content_fit()
  (Kjell Ahlstedt)

Demos:
* Dialog demo: Add a non-modal dialog
  (Kjell Ahlstedt) Issue #123 (PBS)

Documentation:
* Don't translate the preprocessor macro name GDK_MODIFIER_MASK
  (Kjell Ahlstedt) Issue #124 (PBS)

Build:
* Require gtk4 >= 4.7.2
  (Kjell Ahlstedt)


4.7.1 (unstable):

Gdk:
* Add enum Gdk::GLApi, deprecate enum Gdk::GLAPI
  (Kjell Ahlstedt) Issue #113 (PBS)
* Add enum ScrollUnit
* Event: Add get_scroll_unit()
  (Kjell Ahlstedt)

Gtk:
* Allow managed Gtk::Window's
  (Kjell Ahlstedt) Issue #24 (Daniel Elstner)
* Gtk::Object::_release_c_instance(): Unref orphan managed widgets
  (Kjell Ahlstedt) Issue #115 (PBS)
* Entry: Add signal_activate()
  (Kjell Ahlstedt) Issue #100 (RedDocMD)
* Don't derive gtkmm__GtkXxx GTypes from final types
  (Kjell Ahlstedt) Issue glib#2661
* Application: Only create window on first activate
  (Andrew Potter) Merge request !70
* CheckButton: Add set/unset/get/property_child()
* EventControllerScroll: Add get_unit()
* Picture: Deprecate set/get/property_keep_aspect_ratio()
* SearchEntry: Add set/get/property_search_delay()
* DirectoryList, FilterListModel, FlattenListModel, MultiFilter,
  MultiSelection, MultiSorter, NoSelection, SelectionFilterModel,
  ShortcutController, SingleSelection, SliceListModel, SortListModel,
  TreeListModel: Add property_item_type(), property_n_items()
  (Kjell Ahlstedt)
* ApplicationWindow: Disambiguate activate_action()
  (Kjell Ahlstedt) Issue #122 (PBS)
* Add class Inscription
  (Kjell Ahlstedt)
* Widget: Add signal_destroy()
  (Baldvin Kovacs) Merge request !71

Documentation:
* Gdk::Drag, Gdk::Drop, Gtk::Dialog, Gtk::Widget: Improve class descriptions
  (Kjell Ahlstedt)

Build:
* Meson build: Avoid configuration warnings
  (Kjell Ahlstedt)
* Meson build: Fix builds with Vulkan-enabled GTK
  (Chun-wei Fan) Merge request !68
* Require gtk4 >= 4.7.1
  (Kjell Ahlstedt)


4.6.1 (stable):

Gdk:
* Surface::signal_render(): Fix ref count of Cairo::Region
  (Baldvin Kovacs) Merge request !66
* enum GLAPI: Partially fix name clash with epoxy/gl.h
  A complete fix requires new API; will have to wait until gtkmm 4.8
  (Kjell Ahlstedt) Issue #113 (PBS)

Gtk:
* Application::make_window_and_run(): Delay the deletion of Window
  (Kjell Ahlstedt) Issue #114 (PBS)

Build with Meson:
* Don't use deprecated execute(..., gui_app: ...)
  Require meson >= 0.56.0
  (Kjell Ahlstedt) Issue #111
* Check if Perl is required for building documentation
  (Kjell Ahlstedt)


4.6.0 (stable):

Gdk:
* Deprecate Gdk::Cairo::draw_from_gl().
* Display: Add create_gl_context().
* Texture: Add create_from_filename(), create_from_bytes(),
  save_to_png_bytes(), save_to_tiff(), save_to_tiff_bytes().
* GLContext: Deprecate set_use_es() and unset_use_es().
  Add set/get/property_allowed_apis() and get/property_api().
  (Kjell Ahlstedt)

Gtk:
* DropDown: Add set/get/property_show_arrow().
* FlowBox: Add prepend(), append().
* Label: Add set/get/property_natural_wrap_mode().
* MenuButton: Add set/unset/get/property_child().
* Settings: Add property_gtk_hint_font_metrics().
* TextChildAnchor: Add create(replacement_character).
* TextTag: Add properties line_height(), text_transform(),
  word(), sentence(), line_height_set(), text_transform_set(),
  word_set(), sentence_set().
* TreeExpander: Add set/get/property_indent_for_icon().
* Window: Add property_titlebar().
  (Kjell Ahlstedt)

Documentation:
* Gtk::Object: Change deprecated `pack_start` to `append`.
  (LI Daobing) Merge request !65

Build:
* MSVC build: Support Visual Studio 2022.
  NMake Makefiles: Fix header installation.
  (Chun-wei Fan)
* Require pangomm-2.48 >= 2.50.0, gtk4 >= 4.6.0
  (Kjell Ahlstedt)


4.4.0 (stable):

Gdk:
* PixbufAnimation: Add create_from_stream(), create_from_stream_async(),
  create_from_stream_finish(), create_from_resource().
  (Kjell Ahlstedt)
* ContentFormats: Add parse().
  Display: Add prepare_gl().
  GLContext: Deprecate get/property_shared_context(). Add is_shared().
  (Kjell Ahlstedt)

Gtk:
* Add EventControllerLegacy.
  (BogDan Vatra) Merge request !64
* DropDown::get_selected_item(), ListItem::get_item(),
  SingleSelection::get_selected_item(), TreeExpander::get_item(),
  TreeListRow::get_item(): Don't try to dynamic_cast the return value
  to Glib::Object. It fails if the object has been constructed as
  an interface.
  (Kjell Ahlstedt)
* Fixed the const versions of Assistant::get_page(), NoteBook::get_page()
  and Stack::get_page(). Fixed MediaControls::set_media_stream() and
  Video::set_media_stream().
  (Kjell Ahlstedt)
* Application, Window: Swap inclusions. Include window.h in application.h
  instead of application.h in window.h.
  === Note === This will affect compilation of code that uses Application
  without including gtkmm/application.h.
  (Kjell Ahlstedt)
* DropTarget: Deprecate get/property_drop(). Add get/property_current_drop().
  FileFilter: Add add_suffix().
  MediaStream: Deprecate prepared(), unprepared() and ended().
  Add stream_prepared(), stream_unprepared() and stream_ended().
  MenuButton: Add set/get/property_always_show_arrow() and
  set/get/property_primary().
  TextView: Add set/get_rtl_context() and set/get_ltr_context().
  (Kjell Ahlstedt)

Demos:
* Images, SizeGroup, ListStore and TreeStore demos: Minor fixes.
  (Kjell Ahlstedt)
* Add Add ColumnView demo.
  (Kjell Ahlstedt)

Build:
* Require gtk4 >= 4.4.0.
  (Kjell Ahlstedt)
jperkin pushed a commit that referenced this issue May 1, 2024
Changes in 2.2.5

    #117: Document that empty for Concurrently waits forever
    #120: Add ConcurrentlyE.
    #123: Fix failing concurrentlyE tests in older GHCs.
    #124: Allow hashable 1.4
    #126: Semigroup and Monoid instances for ConcurrentlyE
    #120: Add ConcurrentlyE
    #138: expose internals as Control.Concurrent.Async.Internal
    #131: Fix typos in docs
    #132: waitAny(Catch): clarify non-empty input list requirement
    #142: Add cancelMany
    #135, #145, #150: Support for GHC 9.4, 9.6, 9.8
    Document that empty for Concurrently waits forever.
jperkin pushed a commit that referenced this issue May 3, 2024
0.2.2.1
    Remove nested footnotes (#138).

0.2.2
    Add support for alerts extension (#132).
jperkin pushed a commit that referenced this issue Jul 20, 2024
Based on PR 58426 by jonathan buschmann.

## 2.4.7 2024-05-05

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

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


## 2.4.6 2024-04-07

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

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


## 2.4.5 2024-02-18

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

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


## 2.4.4 2024-02-11

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

### Changed
- chore: update dependencies


## 2.4.3 2024-02-04

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

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

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


## 2.4.2 2023-12-26

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


## 2.4.1 2023-12-10

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

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


## 2.4.0 2023-10-08

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


## 2.3.3 2023-10-04

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

### Changed
- update dependencies


## [2.3.2] 2023-08-19

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

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


## [2.3.1] 2023-07-25

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

### Changed
- update dependencies


## [2.3.0] 2023-05-25

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

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

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

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


## [2.2.4] 2023-05-15

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

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

### Changed
- chore: update dependencies


## [2.2.3] 2023-04-26

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

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


## [2.2.2] 2023-04-01

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


## [2.2.1] 2023-03-29

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

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


## [2.2.0] 2023-02-24

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

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

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

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


## [2.1.0] 2022-12-12

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

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

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


## [2.0.4] 2022-11-30

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

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


## [2.0.3] 2022-11-21

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

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


## [2.0.2] 2022-11-17

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

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

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


## [2.0.1] 2022-11-07

### Changed
- chore: Update to clap 4.0.22

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


## [2.0.0] 2022-11-06

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

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

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

### Fixed

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

### Changed since 2.0.0-rc.2

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

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


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

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

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


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

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

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

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


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

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

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

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


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

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

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


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

### Removed
- Removed Python implementation of StGit.

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

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

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


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

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

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

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


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

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

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

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


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

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

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

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

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


## [1.5] 2022-01-28

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

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

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


## [1.4] 2021-10-27

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

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

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

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


## [1.3] 2021-09-26

### Removed

### Added

### Changed

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

## [1.2] 2021-09-26

### Removed

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

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

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

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

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


## [1.1] 2021-04-30

### Removed

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

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

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


## [1.0] 2021-02-07

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

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

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

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


## [0.23] 2020-06-12

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

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

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

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

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

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

## [0.22] - 2020-03-02

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

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

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

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

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


## [0.21] - 2019-10-28

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

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


## [0.20] - 2019-10-04

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

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

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


## [0.19] 2018-11-05

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

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


## [0.18] 2017-08-14

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

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

### Fixed
- Various fixes and test coverage improvements
jperkin pushed a commit that referenced this issue Jul 31, 2024
Upstream changes:
## 2024 05 11

    - The option --valign-signed-numbers, or -vsn is now the default. It
      was introduced in the previous release has been found to significantly
      improve the overall appearance of columns of signed and unsigned
      numbers.  See the previous Change Log entry for an example.
      This will change the formatting in scripts with columns
      of vertically aligned signed and unsigned numbers.
      Use -nvsn to turn this option off and avoid this change.

    - Previously, a line break was made before a short concatenated terminal
      quoted string, such as "\n", if the previous line had a greater
      starting indentation. The break is now placed after the short quote.
      This keeps code a little more compact. For example:

    # old rule: break before "\n" here because '$name' has more indentation:
    my $html = $this->SUPER::genObject( $query, $bindNode, $field . ":$var",
        $name, "remove", "UNCHECKED" )
      . "\n";

    # new rule: break after a short terminal quote like "\n" for compactness;
    my $html = $this->SUPER::genObject( $query, $bindNode, $field . ":$var",
        $name, "remove", "UNCHECKED" ) . "\n";

    - The option --delete-repeated-commas is now the default.

      It makes the following checks and changes:
      - Repeated commas like ',,' are removed with a warning
      - Repeated fat commas like '=> =>' are removed with a warning
      - The combination '=>,' produces a warning but is not changed
      These warnings are only output if --warning-output, or -w, is set.

      Use --nodelete-repeated-commas, or -ndrc, to retain repeated commas.

    - The operator ``**=`` now has spaces on both sides by default. Previously,
      there was no space on the left.  This change makes its spacing the same
      as all other assignment operators. The previous behavior can be obtained
      with the parameter setting -nwls='**='.

    - The option --file-size-order, or -fso is now the default. When
      perltidy is given a list of multiple filenames to process, they
      are sorted by size and processed in order of increasing size.
      This can significantly reduce memory usage by Perl.  This
      option has always been used in testing, where typically several
      jobs each operating on thousands of filenames are running at the
      same time and competing for system resources.  If this option
      is not wanted for some reason, it can be deactivated with -nfso.

    - In the option --dump-block-summary, the number of sub arguments indicated
      for each sub now includes any leading object variable passed with
      an arrow-operator call.  Previously the count would have been decreased
      by one in this case. This change is needed for compatibility with future
      updates.

    - Fix issue git #138 involving -xlp (--extended-line-up-parentheses).
      When multiple-line quotes and regexes have long secondary lines, these
      line lengths could influencing some spacing and indentation, but they
      should not have since perltidy has no control over their indentation.
      This has been fixed. This will mainly influence code which uses -xlp
      and has long multi-line quotes.

    - Add option --minimize-continuation-indentation, -mci (see git #137).
      This flag allows perltidy to remove continuation indentation in some
      special cases where it is not really unnecessary. For a simple example,
      the default formatting for the following snippet is:

        # perltidy -nmci
        $self->blurt( "Error: No INPUT definition for type '$type', typekind '"
              . $type->xstype
              . "' found" );

      The second and third lines are one level deep in a container, and
      are also statement continuations, so they get indented by the sum
      of the -i value and the -ci value.  If this flag is set, the
      indentation is reduced by -ci spaces, giving

        # perltidy -mci
        $self->blurt( "Error: No INPUT definition for type '$type', typekind '"
            . $type->xstype
            . "' found" );

      This situation is relatively rare except in code which has long
      quoted strings and the -nolq flag is also set.  This flag is currently
      off by default, but it could become the default in a future version.

    - Add options --dump-mismatched-args (or -dma) and
      --warn-mismatched-arg (or -wma).  These options look
      for and report instances where the number of args expected by a
      sub appear to differ from the number passed to the sub.  The -dump
      version writes the results for a single file to standard output
      and exits:

         perltidy -dma somefile.pl >results.txt

      The -warn version formats as normal but reports any issues as warnings in
      the error file:

         perltidy -wma somefile.pl

      The -warn version may be customized with the following additional parameters
      if necessary to avoid needless warnings:

      --warn-mismatched-arg-types=s (or -wmat=s),
      --warn-mismatched-arg-exclusion-list=s (or -wmaxl=s), and
      --warn-mismatched-arg-undercount-cutoff=n (or -wmauc=n).
      --warn-mismatched-arg-overcount-cutoff=n (or -wmaoc=n).

      These are explained in the manual.

    - Add option --valign-wide-equals, or -vwe, for issue git #135.
      Setting this parameter causes the following assignment operators

         = **= += *= &= <<= &&= -= /= |= >>= ||= //= .= %= ^= x=

      to be aligned vertically with the ending = all aligned. For example,
      here is the default formatting of a snippet of code:

            $str .= SPACE x $total_pad_count;
            $str_len += $total_pad_count;
            $total_pad_count = 0;
            $str .= $rfields->[$j];
            $str_len += $rfield_lengths->[$j];

      And here is the same code formatted with -vwe:

            # perltidy -vwe
            $str             .= SPACE x $total_pad_count;
            $str_len         += $total_pad_count;
            $total_pad_count  = 0;
            $str             .= $rfields->[$j];
            $str_len         += $rfield_lengths->[$j];

      This option currently is off by default to avoid changing existing
      formatting.

    - Added control --delete-interbracket-arrows, or -dia, to delete optional
      hash ref and array ref arrows between brackets as in the following
      expression (see git #131)

        return $self->{'commandline'}->{'arg_list'}->[0]->[0]->{'hostgroups'};

        # perltidy -dia gives:
        return $self->{'commandline'}{'arg_list'}[0][0]{'hostgroups'};

      Added the opposite control --aia-interbracket-arrows, or -aia, to
      add arrows. So applied to the previous line the arrows are restored:

        # perltidy -aia
        return $self->{'commandline'}->{'arg_list'}->[0]->[0]->{'hostgroups'};

     The manual describes additional controls for adding and deleting
     just selected interbracket arrows.
jperkin pushed a commit that referenced this issue Sep 24, 2024
This is a point release intended to clear up a couple of CVEs and
apply point fixes that have been accumulating since 5.2.1

There are a few unresolved (but minor) memory leaks related to design
issues in the API that still need to be resolved. Expect those fixes
in the next release.

Code Fixes
----------

* Fixes for CVE-2023-48161, CVE-2022-28506,

* Address SF issue #138 Documentation for obsolete utilities still installed

* Address SF issue #139: Typo in "LZW image data" page ("110_2 = 4_10")

* Address SF issue #140: Typo in "LZW image data" page ("LWZ")

* Address SF issue #141: Typo in "Bits and bytes" page ("filed")

* Note as already fixed SF issue #143: cannot compile under mingw

* Address SF issue #144: giflib-5.2.1 cannot be build on windows and other platforms using c89

* Address SF issue #145: Remove manual pages installation for binaries that are not installed too

* Address SF issue #146: [PATCH] Limit installed man pages to binaries, move giflib to section 7

* Address SF issue #147 [PATCH] Fixes to doc/whatsinagif/ content

* Address SF issue #148: heap Out of Bound Read in gif2rgb.c:298 DumpScreen2RGB

* Declared no-info on SF issue #150: There is a denial of service vulnerability in GIFLIB 5.2.1

* Declared Won't-fix on SF issue 149: Out of source builds no longer possible

* Address SF issue #151: A heap-buffer-overflow in gif2rgb.c:294:45

* Address SF issue #152: Fix some typos on the html documentation and man pages

* Address SF issue #153: Fix segmentation faults due to non correct checking for args

* Address SF issue #154: Recover the giffilter manual page

* Address SF issue #155: Add gifsponge docs

* Address SF issue #157: An OutofMemory-Exception or Memory Leak in gif2rgb

* Address SF issue #158: There is a null pointer problem in gif2rgb

* Address SF issue #159 A heap-buffer-overflow in GIFLIB5.2.1 DumpScreen2RGB() in gif2rgb.c:298:45

* Address SF issue #163: detected memory leaks in openbsd_reallocarray giflib/openbsd-reallocarray.c

* Address SF issue #164: detected memory leaks in GifMakeMapObject giflib/gifalloc.c

* Address SF issue #166: a read zero page leads segment fault in getarg.c and memory leaks in gif2rgb.c and gifmalloc.c

* Address SF issue #167: Heap-Buffer Overflow during Image Saving in DumpScreen2RGB Function at Line 321 of gif2rgb.c
github-actions bot pushed a commit that referenced this issue Oct 17, 2024
### 1.8.0 (2024-10-17)
 * All: Drop support for Python 2 and <3.6, removing compatibility code.
 * All: Use stdlib unittest.mock instead of mock package.
 * All: Removed usage of path.py and path in favour of pathlib. #174 #224
 * pytest-devpi-server: Run devpi-init for initialisation. #179
 * pytest-server-fixtures: BREAKING CHANGE: Removed RethinkDB support, as the project is no longer maintained.
 * pytest-server-fixtures: Allowed passing through HTTP headers to the server. #149
 * pytest-server-fixtures: Fixed threading log debug messages. #146
 * pytest-server-fixtures: Removed usage of deprecated Thread.setDaemon. #202
 * pytest-server-fixtures: Explicitly close initial Mongo client. #198
 * pytest-server-fixtures: Don't use context manager for CREATE DATABASE #186
 * pytest-shutil: Removed contextlib2 requirement. #144
 * pytest-shutil: Fixed forcing color through termcolor. #217
 * pytest-shutil: Replaced deprecated imp module #219
 * pytest-profiling: Added support to hide/show the full path of file. #95
 * pytest-profiling: Fixed SVG file generation on Windows. #93
 * pytest-profiling: Remove pinning of more-itertools. #194
 * pytest-profiling: Add support to define element number for print_stats() #96
 * pytest-profiling: Fix mock in test_writes_summary #223
 * pytest-virtualenv: Modernised package. #188 #185 #182 #163
 * pytest-virtualenv: Fixed virtualenv creation on Windows. #142
 * pytest-virtualenv: Added delete_workspace parameter to VirtualEnv. #195
 * pytest-virtualenv: Removed extras_require. #240
 * ci: Remove usage of deprecated distutils. #189
 * ci: Disabled jenkins server tests on CircleCI to improve build time.
 * ci: Fixed `collections` import for py 3.11 compatibility #222


### 1.7.1 (2019-05-28)
* pytest-profiling: Fix pytest-profiling to profile fixtures. #48
* pytest-devpi-server: Fixed Python 3.4 support updating "ruamel.yaml" requirements. #138
* ci: Added  PYTEST_DONT_REWRITE in order to suppress module already imported. #123
github-actions bot pushed a commit that referenced this issue Oct 21, 2024
1.8.2 (2024-09-24)

What's Changed

* Drop commented-out line by @olleolleolle in #108
* Add Ruby 3.1 & 3.2 to CI matrix by @tricknotes in #109
* Fix/redos by @ooooooo-q in #114
* Raise HTTPStatus::BadRequest for requests with invalid/duplicate
  content-length headers by @jeremyevans in #120
* Bump actions/checkout from 3 to 4 by @dependabot in #121
* Improve CI by @hsbt in #123
* Fix WEBrick::TestFileHandler#test_short_filename test not working on mswin
  by @KJTsanaktsidis in #128
* Fix bug chunk extension detection by @jeremyevans in #125
* Fix CI. by @ioquatix in #131
* Merge multiple cookie headers, preserving semantic correctness. by
  @ioquatix in #130
* Test on macos-latest by @byroot in #132
* Require CRLF line endings in request line and headers by @jeremyevans in
  #138
* Prefer squigly heredocs. by @ioquatix in #143
* Only strip space and horizontal tab in headers by @jeremyevans in #141
* Treat missing CRLF separator after headers as an EOFError by @jeremyevans
  in #142
* Return 400 response for chunked requests with unexpected data after chunk
  by @jeremyevans in #136
* Fix reference to URI::REGEXP::PATTERN::HOST by @casperisfine in #144
* Prevent request smuggling by @jeremyevans in #146

New Contributors

* @tricknotes made their first contribution in #109
* @ooooooo-q made their first contribution in #114
* @KJTsanaktsidis made their first contribution in #128
* @byroot made their first contribution in #132
* @casperisfine made their first contribution in #144
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