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

Bump mail/opendkim to 2.11.0-Beta2 #78

Closed
wants to merge 10,000 commits into from
Closed

Conversation

netbsd-srcmastr pushed a commit that referenced this pull request Jan 1, 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)
netbsd-srcmastr pushed a commit that referenced this pull request Feb 14, 2021
Added:
-Add syntax highlighting configuration for V (#78)
-Add the ability to execute external commands from the editor (#83)
-Improve file opening error messages for config files (#91)

Fixed:
-Android: fix a bug (#87) related to a SELinux policy that would cause
Kibi to crash on certain Android versions when setting the termios
(#92).
netbsd-srcmastr pushed a commit that referenced this pull request Mar 14, 2021
CUPS 2.3.3op2 is the latest OpenPrinting CUPS security and bug fix
release. Changes include:

    Security: Fixed a buffer (read) overflow in the ippReadIO function
    (CVE-2020-10001)
    Clarified the documentation for the "Listen" directive (Issue #53)
    Fixed duplicate ColorModel entries for AirPrint printers (Issue 59)
    Fixed directory/permission defaults for Debian kfreebsd-based systems
    (Issue #60, Issue #61)
    Fixed crash bug in ppdOpen (Issue #64, Issue #78)
    Fixed regression in snprintf emulation function (Issue #67)
    The scheduler's systemd service file now waits for the nslcd service to start
    (Issue #69)
    The libusb-based USB backend now uses a simpler read timer implementation to
    avoid a regression in a previous change (Issue #72)
    The PPD caching code now only tracks the APPrinterIconPath value on macOS
    (Issue #73)
    Fixed segfault in help.cgi when searching in man pages (Issue #81)
    Root certificates were incorrectly stored in "~/.cups/ssl".
netbsd-srcmastr pushed a commit that referenced this pull request Apr 2, 2021
Patchlevel 8 (Dec 2020)

NEW FEATURES:

o Use deflate to embed image data into eps output, often substantially
  reducing file size.
o Embed pdf files into ps output by converting the pdf to eps.
o Allow negative arrow widths. This might be useful for asymmetric arrow
  tips, which can thus be mirrored around the corresponding line.

BUGS FIXED:

Ticket numbers refer to https://sourceforge.net/p/mcj/tickets/#.
o Reject negative text font sizes. Fixes ticket #86.
o Allow fig files ending without previous eol character. Fixes #83, #84.
o Accept text and ellipse angles only within -2*pi to 2*pi. Fixes #76.
o Allow -1 as default TeX font, not only 0. Fixes #71, #75, #81.
o Do not allow ASCII NUL anywhere in input. Fixes #65, #68, #73, #80.
o Use getline() to improve input scanning.
  Fixes tickets #58, #59, #61, #62, #67, #78, #79, #82.
o Correctly scan embedded pdfs for /MediaBox value.
o Convert polygons having too few points to polylines. Ticket #56.
o Reject huge arrow types causing integer overflow. Ticket #57.
o Allow Fig v2 text strings ending with multiple ^A. Ticket #55.
o Embed images in pdfs with their original compression type, i.e., leave
  the gs switch "-dAutoFilterColorImages" at its default value "true".
netbsd-srcmastr pushed a commit that referenced this pull request May 30, 2021
(pkgsrc chagnes)
 - Add TEST_DEPENDS+=

(upstream changes)
# hms 1.1.0

## Breaking changes

- `"hms"` objects no longer have a common type with `character` and `numeric`. Combining such values previously threw a warning, now throws an error (#94).
- `vec_cast()` and `as_hms()` throw error instead of a warning if input can't be parsed (#68).

## Features

- New `unique.hms()` method (#98, @joethorley).
- `as_hms()` is a generic again (#81).

## Internal

- Avoid `LazyData` in `DESCRIPTION`.
- Bump required versions of ellipsis and vctrs to avoid warning during package load.
- Using lifecycle package (#94).


# hms 1.0.0

## Life cycle

- hms is now marked as "stable".

## Breaking changes

- `"hms"` objects no longer have a common type with `character` and `numeric`. Combining such values previously threw a warning, now throws an error (#94).
- `vec_cast()` and `as_hms()` now throw error instead of a warning if input can't be parsed (#68).

## Features

- `as_hms()` is a generic again (#81).
- `round_hms()` and `trunc_hms()` gain `digits` argument (#78, @hglanz).

## Bug fixes

- `as_hms()` and `vec_cast()` now correctly treat objects of class `"difftime"` with `integer` mode (#84).

## Internal

- Using lifecycle package (#94).
- hms has been re-licensed as MIT (#86).


# hms 0.5.3

- Use `vec_default_ptype2()`, remove `vec_ptype2.hms.unspecified()` (#80, @romainfrancois).
- `vec_ptype2.hms.default()` forwards to `vec_default_ptype2()` for compatibility with vctrs 0.2.1.
- Remove `as.data.frame.hms()`, handeld by vctrs.


# hms 0.5.2.9000

- Internal changes only.


# hms 0.5.2

- Work around parsing error that occurs on DST changeover dates (https://bugs.r-project.org/bugzilla/show_bug.cgi?id=16764).


# hms 0.5.1

- Lossy casts from `character` vectors to `hms` now also trigger a warning if the cast succeeds in the first element of the vector but fails for other elements.
netbsd-srcmastr pushed a commit that referenced this pull request Jun 1, 2021
# lifecycle 1.0.0

* New vignettes:
  * `vignette("stages")` describes the lifecycle stages
  * `vignette("manage")` teaches you how to manage lifecycle changes in
     functions you _use_.
  * `vignette("communicate")` shows how to use lifecycle in functions that
     you _write_.

* In `deprecate_soft()`, `deprecate_warn()`, and `deprecate_stop()`:

  * You can deprecate an argument with `foo(arg)` instead of `foo(arg =)` (#78).
    This syntax is similar in spirit to the formal arguments  of function
    definitions.

  * You can deprecate R6 methods by using `class$method()` (#54).

  * A character vector `details` is now converted into a bulleted list (#55).

  * Messages for non-prefix functions (like "`x<-`()" and "`%>%`()")
    look a little nicer (#95).

  * Manually printed warnings now omit the advice footer (#68).

* Experimental `signal_stage()` can be used to signal that a function is
  experimental or superseded. These signals are not currently hooked up to any
  behaviour, but we'll add tools in a future release (#44).

* `lifecycle_cnd_data()` has been removed; as far as I can tell it wasn't
  used by anyone.
netbsd-srcmastr pushed a commit that referenced this pull request Jun 1, 2021
# Version 2.0.0

* Memoise now uses caching objects from the cachem package by default. These caches support automatic pruning, so that they won't grow indefinitely. The older-style cache objects in the memoise package are still supported, but we suggest using new-style caches from cachem. (#112)

* Name clashes between function arguments and variables defined when memoising
  no longer occur (@egnha, #43).

* Add Google Cloud Storage support via `cache_gcs()` (@MarkEdmondson1234, #59)

* Add `compress` option for non-memory caches (@coolbutuseless, #71).

* Use absolute path in cache file system backend, so user can change working
  directory after using relative path (@xhdong-umd, #51, #65)

* Add `drop_cache()` to drop the cached result for particular arguments
  (@richardkunze, #78)

* Suppress messages of `aws.s3::head_object` within `cache_s3`'s `cache_has_key`
  to avoid printing of 404 messages for new keys (@stelsemeyer, #96).
markd and others added 23 commits June 16, 2021 10:38
This is required to make 'export -f' work, which is enabled by default on
other OS I checked.  While here sort the list of enabled options so that
it's easier to compare against the list of available options, as there are
still a number that we do not enable, and remove the bogus comment.

Bump PKGREVISION.
Upstream decided to delete the distfile and let people download the
on-demand-created tarball instead. At least that seems to be generated
deterministically.
Fixes to auto-pkgsrc-setup and auto-update-pkgsrc
Other minor enhancements and fixes

Upstream change log: https://github.com/outpaddling/auto-admin/releases
This fixes a shift-reduce conflict in the parser that causes e.g.
"static const int" to be rejected as a syntax error.

This patch should have been handled by upstream, but there doesn't seem
to be an upstream.
Feature Changes:
- After the network manager was introduced to named to handle incoming traffic,
  it was discovered that recursive performance had degraded compared to
  previous BIND 9 versions. This has now been fixed by processing internal
  tasks inside network manager worker threads, preventing resource contention
  among two sets of threads.

- Zone dumping tasks are now run on separate asynchronous thread pools. This
  change prevents zone dumping from blocking network I/O.

- inline-signing was incorrectly described as being inherited from the
  options/view levels and was incorrectly accepted at those levels without
  effect. This has been fixed; named.conf files with inline-signing at those
  levels no longer load.


Full changelog:
https://bind9.readthedocs.io/en/v9_16/notes.html#notes-for-bind-9-16-17
Needs more work to build on netbsd HEAD.
netbsd-srcmastr pushed a commit that referenced this pull request Sep 8, 2021
# waldo 0.3.0

* `compare()` is now considerably faster when comparing complex objects that
  don't have any differences (thanks to strategic use of `identical()`) (#86).

* `compare()` gains two improvements to low-level diffs:

    * Structurally identical data frames (#78) and numeric matrices (#76) gain
      a row-by-row diff that makes it easier to see where exactly values differ.

    * An element-by-element diff will be automatically used if it's shorter than
      the "smart" diff. This improves diff quality when comparing two vectors
      that aren't really related (#68).

* `compare()` gains a `list_as_map` argument thanks to an idea from @dmurdoch.
  It allows you to compare the behaviour of two lists when they are used to
  connect names to values (i.e. the list is operating as a map or dictionary).
  It removes `NULL`s and sorts named components (#72).

* The objects involved in `compare()` (as opposed to the caller of `compare()`)
  gained much greater ability to control the comparison.

    * Objects can now contain a `waldo_opts` attribute, a list with the same
      names and valid values as the arguments to `compare()`, which overrides
      the default comparisons (@dmurdoch).

    * `compare_proxy()` is now called earlier (before type comparison) making
      it more flexible (#65).

    * `compare_proxy()` gains a second argument, `path`, used to report how the
      proxy changed the object. This makes it easier to see when and how a proxy
      is used (#73).

    * Proxies now exist for comparing RProtoBuf objects, converting them to
      proto text format (#82, @michaelquinn32).

* Comparing a list with symbol to a list without that element no longer errors
  (@mgirlich, #79).
netbsd-srcmastr pushed a commit that referenced this pull request Sep 8, 2021
# development  openxlsx 4.2.4

## Fixes

* `Write.xlsx()` now successfully passes `withFilter`
  ([#151](ycphs/openxlsx#151))
* code clean up PR [#168](ycphs/openxlsx#168)
* removal of unused variables PR
  [#168](ycphs/openxlsx#168)

## New features

* adds `buildWorkbook()` to generate a `Workbook` object from a
  (named) list or a data.frame
  ([#192](ycphs/openxlsx#192),
  [#187](ycphs/openxlsx#187))
  * this is now recommended rather than the `write.xlsx(x, file) ; wb
    <- read.xlsx(file)` functionality before
  * `write.xlsx()` is now a wrapper for `wb <- buildWorkbook(x);
    saveWorkbook(x, file)`
  * parameter checking from `write.xlsx()` >> `buildWorkbook()` are
    now held off until passed to `writeData()`, `writeDataTable()`,
    etc
  * `row.names` is now deprecated for `writeData()` and
    `writeDataTable()`; please use `rowNames` instead
* `read.xlsx()` now checks for the file extension `.xlsx`; previously
  it would throw an error when the file was `.xls` or `.xlm` files

* memory allocation improvements
* global options added for `minWidth` and `maxWidth`

* `write.xlsx()` >> `buildWorkbook()` can now handle `colWidths`
  passed as either a single element or a `list()`

* Added ability to change positioning of summary columns and rows.
  * These can be set with the `summaryCol` and `summaryRow` arguments
    in `pageSetup()`.

* `activeSheet` allows to set and get the active (displayed) sheet of a worbook.

* Adds new global options for workbook formatting
  ([#165](ycphs/openxlsx#165); see
  `?op.openxlsx`)


# openxlsx 4.2.3

## New Features

* Most of functions in openxlsx now support non-ASCII arguments
  better. More specifically, we can use non-ASCII strings as names or
  contents for `createNamedRegion()`
  ([#103](ycphs/openxlsx#103)),
  `writeComment()`, `writeData()`, `writeDataTable()` and
  `writeFormula()`. In addition, openxlsx now reads comments and
  region names that contain non-ASCII strings correctly on
  Windows. Thanks to @shrektan for the PR
  [#118](ycphs/openxlsx#118).

* `setColWidths()` now supports zero-length `cols`, which is
  convinient when `cols` is dynamically provided
  [#128](ycphs/openxlsx#128). Thanks to
  @shrektan for the feature request and the PR.

## Fixes for Check issues

* Fix to pass the tests for link-time optimization type mismatches

* Fix to pass the checks of native code (C/C++) based on static code
  analysis

## Bug Fixes

* Grouping columns after setting widths no longer throws an error
  ([#100](ycphs/openxlsx#100))

* Fix inability to save workbook more than once
  ([#106](ycphs/openxlsx#106))

* Fix `loadWorkbook()` sometimes importing incorrect column attributes

# openxlsx 4.2.2

## New Features

* Added features for `conditionalFormatting` to support also 'contains
  not', 'begins with' and 'ends with'

* Added return value for `saveWorkbook()` the default value for
  `returnValue` is `FALSE`
  ([#71](ycphs/openxlsx#71))

* Added Tests for new parameter of `saveWorkbook()`

## Bug Fixes

* Solved CRAN check errors based on the change disussed in
  [PR#17277](https://bugs.r-project.org/bugzilla3/show_bug.cgi?id=17277)

# openxlsx 4.2.0

## New Features

* Added `groupColumns()`, `groupRows()`, `ungroupColumns()`, and
  `ungroupRows()` to group/ugroup columns/rows
  ([#32](ycphs/openxlsx#32))

## Bug Fixes

* Allow xml-sensitve characters in sheetnames
  ([#78](ycphs/openxlsx#78))

## Internal

* Updated roxygen2 to 7.1.1

# openxlsx 4.1.5.1

## Bug Fixes

*  fixed issue [#68](ycphs/openxlsx#68])

# openxlsx 4.1.5

## New Features

*  Add functions to get and set the creator of the xlsx file

*  add function to set the name of the user who last modified the xlsx file

## Bug Fixes

*  Fixed NEWS hyperlink

*  Fixed writing of mixed EST/EDT datetimes

* Added description for `writeFormula()` to use only english function
   names

*  Fixed validateSheet for special characters

## Internal

*  applied the tidyverse-style to the package `styler::style_pkg()`

*  include tests for `cloneWorksheet`

# openxlsx 4.1.4

## New Features

* Added `getCellRefs()` as
   function. [#7](ycphs/openxlsx#7)

*  Added parameter for customizing na.strings

## Bug Fixes

*  Use `zip::zipr()` instead of `zip::zip()`.

* Keep correct visibility option for
   loadWorkbook. [#12](ycphs/openxlsx#12])

* Add space surrounding "wrapText"
   [#17](ycphs/openxlsx#17)

* Corrected Percentage, Accounting, Comma, Currency class on column
   level


*  update to rogygen2 7.0.0

# openxlsx 4.1.3

## New Features

*  Added a `NEWS.md` file to track changes to the package.
*  Added `pkgdown` to create site.

## Bug Fixes

*  Return values for cpp changed to R_NilValue for r-devel tests

*  Added empty lines at the end of files

# openxlsx 4.1.2

*  Changed maintainer

# openxlsx 4.1.1

## New Features

* `sep.names` allows choose other separator than '.' for variable
   names with a blank inside

* Improve handling of non-region names in `getNamedRegions` and add
   related test
netbsd-srcmastr pushed a commit that referenced this pull request Sep 18, 2021
version 0.9.8
- Fixed some issues on C-level causing problems with the
  CLANG compiler. (Thanks to Brian Ripley for not only
  reporting this, but also sending updated code with
  fixes).


version 0.9.7
- Fixes in use of INTEGER() and VECTOR_ELT() after updates in R's C API.
  this affected 'afind' and 'max_length' (internally). (Thanks to Luke
  Tierny and Kurt Hornik for the notification).
- Fix in 'amatch' causing utf-8 characters to be ignored in some
  cases (thanks to Joan Mime for reporting #78).
- Fix: segfault when 'afind' was called with many search patterns or many
  texts to be searched.
- Fix: stringsimmatrix was not normalized correctly (Thanks to Tamas Ferenci
  for reporting GH).


version 0.9.6.3
- Resubmit. Fixed an URL redirect that was detected by CRAN.

version 0.9.6.2
- Resubmit. Fixed url issues detected by CRAN, added doi to description
  as per CRAN request.

version 0.9.6.1
- Bugfix: afind/grab/grabl returned wrong results on MacOS only.
  (thanks to Prof. Brian Ripley for the notification and for running tests
   on his personal machine and to Tomas Kalibera for making the
   ubuntu-rchk docker image available).

version 0.9.6
- New function 'afind': find approximate matches in text based on string distance.
- New functions 'grab', 'grabl': fuzzy matching equivalent to 'grep' and 'grepl'.
- New function 'extract': fuzzy matching equivalent of stringr::str_extract.
- New algorithm 'running_cosine': fast fuzzy text search using cosine distance.
- New function 'stringsimmatrix' (Thanks to Johannes Gruber).
- Number of threads used is now reported when loading 'stringdist'.
- Internal fixes (in some cases class() == 'class' was used).
netbsd-srcmastr pushed a commit that referenced this pull request Nov 29, 2021
# desc 1.4.0

* DESCRIPTION objects created with the `!new` command now omit `LazyData: true`
  to match new CRAN checks (#105, @malcolmbarrett)

* `description$write()` now writes out the file in the correct encoding
  (#109).

* `Authors@R` fields are now formatted differently when normalizing a
  DESCRIPTION file (#78).

* New `description$get_list()`, `description$set_list()` and
  corresponding `desc_get_list()` and `desc_set_list()` values to query
  and create comma separated fields (#86).

## Breaking change

* `desc_get_field()` gains a boolean `squish_ws` parameter to normalize
  whitespace within the retrieved value. It defaults to the value of `trim_ws`
  (`TRUE` by default). Example with desc's current DESCRIPTION:

  Old behaviour:

  ```r
  > desc::desc_get_field("Description")
  [1] "... DESCRIPTION files.\n    It is intended for packages ..."
  ```

  New behaviour:

  ```r
  > desc::desc_get_field("Description")
  [1] "... DESCRIPTION files. It is intended for packages ..."
  ```

  If you want the old behaviour, just set `squish_ws = FALSE`.
netbsd-srcmastr pushed a commit that referenced this pull request Feb 11, 2022
1.10.2 (2021-10-24)
* Restored compatibility with GHC 7.10 (and possibly even older) (#80)

1.10.1 (2021-08-15)
* Fixed possible high CPU usage of some blocking calls with the threaded
  RTS (#78)

1.10 (2021-05-31)
* Added setClientMessageEvent' (#71)
* Fixed type of xrrUpdateConfiguration (#72)
* Fixed bottom when deserializing XRRNotifyEvent in getEvent (#72)
* Added xrrGetMonitors and XRRMonitorInfo (#42)
* Added setClassHint (#76)
* Added a few missing event mask fields to WindowAttributes (#77)
netbsd-srcmastr pushed a commit that referenced this pull request Mar 8, 2022
Changelog

    a799f40 Merge pull request #78 from danielgtaylor/auth-code-stdin-fix
    ad772bf Merge pull request #79 from danielgtaylor/format-text
    98ca756 feat: print displayable unicode body when possible
    a99adf0 fix: EOF crash during auth + redirected stdin
netbsd-srcmastr pushed a commit that referenced this pull request May 28, 2022
Upstream changes:
0.076   2022-01-07
        - fix #80 github actions (mac, windows, cygwin)
        - fix #79 isolate ltc functions (via -Wl,--exclude-libs,ALL)
        - fix #68 Segmentation fault on Apache due to symbol clash with libasn1

0.075   2021-12-25
        - fix #78 bundled libtomcrypt update branch:develop (commit:673f5ce2 2021-06-04)

0.074   2021-11-06
        - fix #75 Missing methods _sadd + _ssub in Math::BigInt::LTM
        - fix #76 Tests failing for numbers with multiple underscore characters (Math::BigInt::LTM)
netbsd-srcmastr pushed a commit that referenced this pull request Aug 31, 2022
v0.10.2 - What's Changed

    Rewrite CI-CD in #77
    Update dependencies in #76
    Use a "forked" rcdom module in #78

v0.10.1 - What's Changed

    Update dependencies in #68
    Support multiple keybindings to a single command in #70
    Implement different view traits/helpers in #71
    Refactor link handler codes in #72
    Code refactor and cleanup part I in #74
    Code refactor and clean part II in #75

    Breaking changes
    -Modified the list of shortcuts and default shortcuts for each view.
     Please refer to the shorcuts README or the example config file for
     migration to the new version.
netbsd-srcmastr pushed a commit that referenced this pull request Aug 31, 2022
2.2.0 (2022-06-03)

Added

* Add the ability to set Content-ID header for ParamPart #62
* Allow mixed key types for parts headers #79

Changed

* Refactor Parts into a Multipart::Post namespace #65
* Use mutable strings where needed #70
* Use frozen_string_literal everywhere #78

2.2.1 (not released)

2.2.2 (2022-06-09)

* Drop Ruby 2.5 or earlier

2.2.3 (2022-06-10)

* Add support for Ruby back to 2.3.
netbsd-srcmastr pushed a commit that referenced this pull request Nov 14, 2022
Changelog:

    record: also fix nested record for vectors

    bump version to 4.7.2

    record: don't call scm->record if value is *unspecified* in
    (define-json-type)

    Given the following example:

       (define-json-type <account>
         (id)
         (username)
         (omitted "omitted" <omitted>)
         (boolean))

       (define-json-type <omitted>
         (name))

    If `omitted` is *unspecified* there's no need to keep going through
    that field.

    This also rolls back part of commit 029212e.

    Fixes #78
netbsd-srcmastr pushed a commit that referenced this pull request Jan 19, 2023
2022-04-03: Gaupol 1.11
=======================

* Add IBM858, ISO-8859-11 and ISO-8859-16 encodings
* Fix displayed line lengths being incorrect for subtitles with special
  characters such as apostrophes

2021-10-06: Gaupol 1.10.1
=========================

* Fix playing selection (#188)

2021-09-30: Gaupol 1.10
=======================

* Fix subtitle display when seeking to selection start (#181)
* Fix search dialog result sometimes not being selected
* Fix rare RecursionError with spell-check

2020-12-31: Gaupol 1.9
======================

* Add framerates 30, 50, 59.94 and 60 fps (#164)
* Add selecting next/previous from video position (#154)
* Allow shifting positions of all open projects (#66)
* Fix error dialog when video playback fails (#153)
* Fix the order of audio tracks in the menu (#129, qnga)
* Fix spell-check split words correction task to not hang (#171)
* Add Dutch translation (Heimen Stoffels)

2020-04-10: Gaupol 1.8
======================

* Add action set start from video position (#148)
* Add and fix English spell-check special cases
* Add and fix OCR spell-check special cases
* Add Interlingue translation (OIS)
* Add Portuguese translation (Hugo Carvalho)
* Update translations

2019-08-04: Gaupol 1.7
======================

* New app icon, as full-color and symbolic SVGs (#119)
* Better initial preview experience (#136)
* Disable loading of problematic gstreamer-vaapi (#79)
* Use gspell for spell-check instead of PyEnchant and GtkSpell (#12)
* Use the reverse domain name "io.otsaloma.gaupol" for desktop file,
  appdata file and icons

2019-06-08: Gaupol 1.6
======================

* Add text correction pattern to unpack ligatures
* Don't show video files in recent file menus (#130)
* Update translations

2019-02-03: Gaupol 1.5
======================

* Add support for building a Flatpak
* Highlight changed parts in "Correct Texts" (#34)
* Add keybinding Ctrl+I for toggling italic (#118)
* Add keybinding Ctrl+I for toggling italic while editing (#118)
* Change keybinding for Invert Selection to Ctrl+J
* When opening multiple files, skip ones already open
* Adapt to various GTK deprecations
* Add 64x64 and 128x128 icons
* Update AppData XML file
* Bump iso-codes dependency to >= 3.67
* Update translations

2018-07-07: Gaupol 1.4.1
========================

* Fix TypeErrors due to video player pipeline queries failing (#78)
* Make 'setup.py --record' include compiled extensios as well (#91)

2018-05-01: Gaupol 1.4
======================

* Update the `--video-file` argument to not just select the video
  file, but also load it in the internal video player (#75)
* Fix subtitles with special characters not being displayed by
  the internal video player (#74)
* Fix seeking to selection start if at less than one second (#76)
* Fix pasting texts from outside Gaupol, e.g. from a text editor
* Update checks for required GStreamer elements (#73)
* Update translations

2017-11-12: Gaupol 1.3.1
========================

* Fix pattern file syntax to not be corrupted by msgfmt (#70)

2017-11-11: Gaupol 1.3
======================

* Use gtksink instead of autovideosink with the integrated video
  player, making it work on Wayland too (#60)
* Add a hidden preference to disable autoplay (#57)
* Allow loading video by drag-and-drop (#59)
* Fix missing icon in GNOME shell on Wayland (#62)
* Fix unhandled exception when adding recent menu items
* Fix video player actions being sensitive when playback
  initialization fails (#52)
* Fix Gaupol freezing after changing audio track (#58)
* Fix error quitting if a file is still being loaded (#54)
* Fix duplicate tags when decoding MPL2 (devcompl, #68)
* Install appdata XML file under /usr/share/metainfo
* Prefer iso-codes JSON files over XML files (#10)
* Bump GStreamer dependency ≥ 1.6
* Drop build dependency on intltool (use gettext instead, #13)
* Add donate button to about dialog
* Update translations

2017-04-23: Gaupol 1.2
======================

* Add support for the WebVTT file format (#46)
* Add support for the LRC file format (#39)

2017-03-18: Gaupol 1.1
======================

* Fix error when using the Save All As dialog to save all time-based
  format documents as frame-based or vice versa
* Fix unhandled exception when trying to write non-numeric data into
  integer or float cells
* Add Icelandic translation (Sveinn í Felli)
* Remove severely incomplete Catalan, Polish and Swedish translations
* Update translations

2016-10-29: Gaupol 1.0
======================

* Fix size of custom font with GTK 3.22 (#40)
* Show an error dialog if the integrated video player fails
  to initialize playback due to e.g. missing codecs
* Fix error trying to undo more actions than exist when holding down
  Ctrl+Z (#38)

2016-08-20: Gaupol 0.92
=======================

* Fix error saving document from a time-based format to a
  frame-based or vice versa ([#28][])
* Fix error clicking undo or redo button dropdown arrow when no
  document is yet open ([#29][])
* Fix action states after subtitle cell editing cancelled ([#30][])
* Fix recent file menu states to update correctly ([#31][])
* Fix save as dialog to always add filename extension ([#32][])
* Update AppData file
* Update translations

[#28]: otsaloma/gaupol#28
[#29]: otsaloma/gaupol#29
[#30]: otsaloma/gaupol#30
[#31]: otsaloma/gaupol#31
[#32]: otsaloma/gaupol#32

2016-07-16: Gaupol 0.91
=======================

* Use header bars for dialogs
* Migrate from deprecated `Gtk.UIManager`, `Gtk.Action` etc.
  to `Gtk.Application`, `Gio.Action` etc.
* Add mpv for preview with precise seek (`--hr-seek=yes`)
* Make mpv the default preview video player on non-Windows systems
  and set the default preview offset to one second
* Make seek length configurable in the preferences dialog
* Add find and replace to the toolbar
* Have both Ctrl+F and Ctrl+H open the find and replace dialog
* Have both Ctrl++, Ctrl+- and numpad equivalents control volume
* Remove external video player output window (if you want to see
  that output, start Gaupol from a terminal)
* Use a monospace editing font by default
* Add support for IBM273, IBM1125, KOI8-T and KZ1048 character
  encodings (whether these are actually available depends on your
  version of Python)
* Drop the bookmarks extension
* Fix Cancel button behaviour when quitting Gaupol by closing the
  main window and having unsaved changes ([#14][])
* Fix line length measure em to be narrower ([#763589][])
* Have the text view right-click spell-check language menu
  set the language permanently
* Don't show the "Use Shift+Return for line-break" help message
  if it's likely to overlap with the text being edited
* Only force theme variant if `dark_theme` in config file is
  `true`, thus respecting any global settings ([#753315][])
* Make `GTK_THEME=Adwaita:dark gaupol` work correctly
* Move web pages to <http://otsaloma.io/gaupol/>
* Move releases to <https://github.com/otsaloma/gaupol/releases>
* Move bug tracker to <https://github.com/otsaloma/gaupol/issues>
* Move documentation to <https://github.com/otsaloma/gaupol/tree/master/doc>
* Close mailing lists, use Gitter instead: <https://gitter.im/otsaloma/gaupol>
* Use Transifex for translations: <http://www.transifex.com/otsaloma/gaupol/>
* Update AppData file
* Bump GTK dependency to ≥ 3.12
* Bump PyGObject dependency to ≥ 3.12
* Drop optional dependencies on PT fonts
* Add Serbian translation (Miroslav Nikolić)
* Update French translation (Jean van Kasteel)

[#14]: otsaloma/gaupol#14
[#753315]: https://bugzilla.gnome.org/show_bug.cgi?id=753315
[#763589]: https://bugzilla.gnome.org/show_bug.cgi?id=763589
netbsd-srcmastr pushed a commit that referenced this pull request Feb 6, 2023
1.7.0 (2022-11-17)

What's Changed

* Extract creation of Net::HTTP in httpproxy by @wishdev in #41
* Fix httpd error in CJK directory by @jeremyevans in #42
* Use GitHub Actions instead of Travis CI (retry) by @deivid-rodriguez in
  #40
* Skip env-locale-sensitive CGI test on the "java" platform by @headius in
  #46
* Make readpartial limit chunk to appropriate size by @wishdev in #45
* Do not use ensure in a block without begin by @jeremyevans in #49
* Allow empty POST and PUT requests without content length by @jeremyevans
  in #50
* Only run test_big_bodies test on Ruby 2.5+ by @jeremyevans in #51
* Fix test when run with US-ASCII encoding by @jeremyevans in #52
* Allow shutdown_pipe to be passed in via @config by @wishdev in #44
* Ensure server port numbers are numeric and ensure they are stored as
  ... by @wishdev in #55
* Fix shutdown_pipe test issue by @wishdev in #54
* Allow EPROTOTYPE error when writing junk to a socket by @jeremyevans in
  #56
* Use ruby/setup-ruby instead of actions/setup-ruby by @hsbt in #58
* Refix test_shutdown_pipe by @wishdev in #59
* add mime type of extention mjs by @paulownia in #60
* Make it more strict to interpret some headers by @mame in #61


1.8.0 (2023-01-27)

What's Changed

* Use frozen strings by @kirs in #65
* Use test-unit by @hsbt in #66
* More rubies on CI, deprecating ruby 2.3 due to test failure by
  @mathieujobin in #68
* Adds common mime types by @gotoken in #75
* add mime type for .webmanifest extension by @olleolleolle in #76
* CI: use bundler-cache: true by @olleolleolle in #79
* Typo by @printfinn in #78
* s/RubyVM::JIT/RubyVM::MJIT/g by @k0kubun in #82
* Fix invalid use of IP addresses in SNI by @jeremyevans in #83
* Bump actions/checkout from 2 to 3 by @dependabot in #91
* remove unneeded bin/console and bin/setup files from gemspec by
  @Benjamin-L in #94
* Accept put requests by @bharjr01 in #70
* Move the host request parsing to a separate method. by @wishdev in #85
* Only output prime information to $stderr if $VERBOSE by @jeremyevans in
  #88
* Better support for connection upgrade and bi-directional streaming. by
  @ioquatix in #101

1.8.1 (2023-01-27)

What's Changed

* Body should be non-frozen by default. by @ioquatix in #103
* Join test thread. by @ioquatix in #104
* Fix several regexp warnings. by @ioquatix in #105
netbsd-srcmastr pushed a commit that referenced this pull request Feb 25, 2023
0.6.0 (2023-02-22)

What's Changed

* feat: implement bidirectional adjacency graph #78. New class
  BidirectionalAdjacencyGraph which implements the protocol defined in
  module BidirectionalGraph.

* Bump actions/configure-pages from 2 to 3 by @dependabot in #74

* Fix: codeclimate badge by @monora in #77

* fix(doc): #79 class comments in generated doc by @monora in #80
netbsd-srcmastr pushed a commit that referenced this pull request Mar 11, 2023
What's Changed
 - feat: weekday forcasts #75
 - fix: time_indicator disable option #76
 - fix: daytime icons in graph #77
 - fix border displacement with other precip. units than probability 0473b20
 - feat: historical weather #78
netbsd-srcmastr pushed a commit that referenced this pull request Mar 18, 2023
v1.0.0
What's Changed
 - fix: hardcoded Berlin in geolocation by @andylizi in #87
 - fix: alignment of rendered elements
    - alignment of Dew Point cell
    - improve length calculations for cjk languages

v1.0.0-rc.1
What's Changed
 - Fix config directory creation failure by @brandondong in #82

v1.0.0-rc
What's Changed
 - feat: weekday forcasts #75
 - fix: time_indicator disable option #76
 - fix: daytime icons in graph #77
 - fix border displacement with other precip. units than probability 0473b20
 - feat: historical weather #78
netbsd-srcmastr pushed a commit that referenced this pull request Mar 30, 2023
[1.6.0] - 2023-03-20
What's Changed
 - Add NetBSD instructions by @0323pin in #77
 - Add repology badge by @jubalh in #76
 - fix issue where level wasn't being read from config by @solidiquis in #78
 - add scoop manifest by @fawni in #80
 - default to num logical cpus rather than 4 threads by @solidiquis in #81
 - Add support for generating shell completions by @Brezak in #82
 - Fix miscoloration of directories that have extension by @fawni in #83
 - [Optimization] - Upgraded heap-based tree data structure to an index-tree
   by @solidiquis in #86
 - Replace tempdir crate with tempfile crate by @Brezak in #87
 - fix issue where ansi escapes were being printed raw on windows
   by @solidiquis in #90
netbsd-srcmastr pushed a commit that referenced this pull request Jul 15, 2023
Upstream changes (from NEWS):

Release 1.17.12 (2023-06-17) Sutou Kouhei <kou@cozmixng.org>
============================================================

Improvements
------------

  * Added support for Gentoo Linux.

Fixes
-----

  * Fixed ALT Linux dependencies.

Release 1.17.11 (2023-06-16) Sutou Kouhei <kou@cozmixng.org>
============================================================

Improvements
------------

  * Added support for ALT Linux.

Fixes
-----

  * Fixed conda dependencies.

Release 1.17.10 (2023-06-16) Sutou Kouhei <kou@cozmixng.org>
============================================================

Improvements
------------

  * Added missing dependency packages for conda.

Release 1.17.9 (2023-06-14) Sutou Kouhei <kou@cozmixng.org>
===========================================================

Improvements
------------

  * Dropped support for fat gem.
    [GH-78][rcairo/rcairo#78]
    [Reported by Largo]

  * Added support for auto native package installation with conda.

  * Added support for cairo 1.17.8:

    * Added Cairo::SVGFontError.

    * Added Cairo::ColorMode.

    * Added Cairo::FontOptions#color_mode.

    * Added Cairo::FontOptions#color_mode=.

    * Added Cairo::ColorPalette.

    * Added Cairo::FontOptions#color_palette.

    * Added Cairo::FontOptions#color_palette=.

    * Added Cairo::FontOptions#set_custom_palette_color.

Fixes
-----

  * Fixed the number of arguments of Cairo::GLSurface#initialize and
    Cairo::GLTextureSurface#initialize.
    [GH-79][rcairo/rcairo#79]
    [Patch by Dimitry Andric]

Thanks
------

  * Largo

  * Dimitry Andric
netbsd-srcmastr pushed a commit that referenced this pull request Aug 25, 2023
Switch to GH Actions CI. by @patrickt in #41
Add the same PR template as for tree-sitter-javascript by @mjambon in #43
Update package.json to include the repository key by @msftenhanceprovenance in #50
Loosen Rust crate's tree-sitter dependency by @dcreager in #52
adding make support by @mattmassicotte in #56
feat: treat iota as predeclared identifier by @kawaemon in #58
feat: add support to parse of type parameters by @kawaemon in #57
feat: allow to put type arguments in calling expressions by @kawaemon in #59
Update C code by @aryx in #66
Document reason for statements at top level by @adonovan in #67
Make method bodies non-optional by @adonovan in #68
Fix node naming in {param,field}_declaration by @adonovan in #65
Structure Query by @mattmassicotte in #70
Remove field_identifier from keyed_element by @adonovan in #71
Generic Makefile by @mattmassicotte in #72
Bump tree-sitter version to 0.20 by @hendrikvanantwerpen in #78
Swift Package by @mattmassicotte in #79
Made body optional for method_declaration by @lmaruvada in #90
Allow GenericType to accept QualifiedType by @kawaemon in #92
feat(queries/highlight): highlight built-in functions as @function.builtin by @jimeh in #96
feat(grammar): capture comment directives by @matoous in #97
Revert "Merge pull request #97 from matoous/md/comment-directives" by @matoous in #98
feat(ci): run build & test action on PRs by @matoous in #99
fix: fix string literal rule by @SuperBo in #91
Add more types and struct/parameter fix by @amaanq in #118
Param fix by @amaanq in #119
Update identifiers and top level declarations by @amaanq in #120
Fix single import spec list without terminator by @amaanq in #122
Materialize expression_statement nodes by @josharian in #124
Formatting & CI fixes by @amaanq in #126
netbsd-srcmastr pushed a commit that referenced this pull request Aug 26, 2023
1.3.0 (2023-08-23)

What's Changed

* Rename data -> selector. by @ioquatix in #67
* Spurious wakeups by @ioquatix in #66
* Don't use EPOLLONESHOT for the wakeup event. by @Math2 in #68
* Failing test case for waiting on a reused FD. by @Math2 in #69
* Always re-register epoll descriptor. by @ioquatix in #71
* Fix potential race conditions in io_uring backend. by @ioquatix in #70
* NetBSD/OpenBSD compatibility for KQueue selector, some FreeBSD fixes by
  @Math2 in #72
* Introduce correct support for compacting GC. by @ioquatix in #73
* Fix external tests by @ioquatix in #75
* Add more external tests. by @ioquatix in #74
* Run coverage tests on more Ruby versions. by @ioquatix in #76


1.3.1 (2023-08-24)

What's Changed

* Fix a weird bug with duplicate CQEs. by @ioquatix in #78


1.3.2 (2023-08-24)

What's Changed

* Ensure that every io_uring_get_sqe is used correctly. by @ioquatix in #80
* Add tests for cancellation and update pure Ruby implementation. by
  @ioquatix in #79
netbsd-srcmastr pushed a commit that referenced this pull request Aug 31, 2023
Switch to GH Actions CI. by @patrickt in #41
Add the same PR template as for tree-sitter-javascript by @mjambon in #43
Update package.json to include the repository key by @msftenhanceprovenance in #50
Loosen Rust crate's tree-sitter dependency by @dcreager in #52
adding make support by @mattmassicotte in #56
feat: treat iota as predeclared identifier by @kawaemon in #58
feat: add support to parse of type parameters by @kawaemon in #57
feat: allow to put type arguments in calling expressions by @kawaemon in #59
Update C code by @aryx in #66
Document reason for statements at top level by @adonovan in #67
Make method bodies non-optional by @adonovan in #68
Fix node naming in {param,field}_declaration by @adonovan in #65
Structure Query by @mattmassicotte in #70
Remove field_identifier from keyed_element by @adonovan in #71
Generic Makefile by @mattmassicotte in #72
Bump tree-sitter version to 0.20 by @hendrikvanantwerpen in #78
Swift Package by @mattmassicotte in #79
Made body optional for method_declaration by @lmaruvada in #90
Allow GenericType to accept QualifiedType by @kawaemon in #92
feat(queries/highlight): highlight built-in functions as @function.builtin by @jimeh in #96
feat(grammar): capture comment directives by @matoous in #97
Revert "Merge pull request #97 from matoous/md/comment-directives" by @matoous in #98
feat(ci): run build & test action on PRs by @matoous in #99
fix: fix string literal rule by @SuperBo in #91
Add more types and struct/parameter fix by @amaanq in #118
Param fix by @amaanq in #119
Update identifiers and top level declarations by @amaanq in #120
Fix single import spec list without terminator by @amaanq in #122
Materialize expression_statement nodes by @josharian in #124
Formatting & CI fixes by @amaanq in #126
netbsd-srcmastr pushed a commit that referenced this pull request Aug 31, 2023
1.3.0 (2023-08-23)

What's Changed

* Rename data -> selector. by @ioquatix in #67
* Spurious wakeups by @ioquatix in #66
* Don't use EPOLLONESHOT for the wakeup event. by @Math2 in #68
* Failing test case for waiting on a reused FD. by @Math2 in #69
* Always re-register epoll descriptor. by @ioquatix in #71
* Fix potential race conditions in io_uring backend. by @ioquatix in #70
* NetBSD/OpenBSD compatibility for KQueue selector, some FreeBSD fixes by
  @Math2 in #72
* Introduce correct support for compacting GC. by @ioquatix in #73
* Fix external tests by @ioquatix in #75
* Add more external tests. by @ioquatix in #74
* Run coverage tests on more Ruby versions. by @ioquatix in #76


1.3.1 (2023-08-24)

What's Changed

* Fix a weird bug with duplicate CQEs. by @ioquatix in #78


1.3.2 (2023-08-24)

What's Changed

* Ensure that every io_uring_get_sqe is used correctly. by @ioquatix in #80
* Add tests for cancellation and update pure Ruby implementation. by
  @ioquatix in #79
netbsd-srcmastr pushed a commit that referenced this pull request Oct 29, 2023
4.2.2
* Adding rate limit for RST_STREAM to work around CVE-2023-44487. #94

4.2.1
* This version is identical to v4.2.0 by accident.

4.2.0
* Treating HALF_CLOSED_LOCAL correctly. #90
* Ensuring that GOAWAY is sent after DATA in the client side. #89
* Test uses a random port instead of 8080.
* Breaking change: adding two optional SockAddrs to Config to be copied
  into Aux.
* Close all streams on termination. #83
* Introducing OutBodyStreamingUnmask #80
* Introducing KilledByHttp2ThreadManager instead of ThreadKilled. #79 #81
  #82
* Handle RST_STREAM with NO_ERROR. #78
* Internal changes: #74
* Breaking change: Client is generalized into (forall b. Request ->
  (Response -> IO b) -> IO b) -> IO a. The RankNTypes language extension is
  required. #72

4.1.3
* Using crypton instead of cryptonite.

4.1.2
* Removing the race of frameSender and frameReceiver in the server
  side. This fixes the loss of RST_Stream and TLS bad MAC error. #67

4.1.1
* Fixing memory-blow-up due to no flow control. #62 #66

4.1.0
* Implementing streaming from the client side. #41
* Making use of SettingsMaxFrameSize #44 #57
* Disabling flow control #55
* Fixing buffer overrun by trailers #52
* Proper use of settings
* Breaking change: the data structure of Next was changed. The http3
  package is influenced.

4.0.0
* Breaking change: HTTP2Error is redefined.
* Breaking change: FrameTypeId, SettingsKeyId and ErrorCodeId are
  removed. Use FrameType, SettingsKey and ErrorCode instead.
* A client can receive a concrete HTTP2Error.
* Catching up RFC 9113. Host: and :authority cannot disagree.
* Breaking change: Network.HTTP2 and Network.HTTP2.Priority are removed.
* Breaking change: obsoleted stuff are removed.
netbsd-srcmastr pushed a commit that referenced this pull request Nov 4, 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)
netbsd-srcmastr pushed a commit that referenced this pull request Nov 11, 2023
1.1.13 (2023-09-18)

Merged Pull Requests

* Update chefstyle requirement from 2.0.9 to 2.1.0 #62 (dependabot[bot])
* Update chefstyle requirement from 2.1.0 to 2.1.1 #63 (dependabot[bot])
* Update chefstyle requirement from 2.1.1 to 2.1.3 #65 (dependabot[bot])
* Update chefstyle requirement from 2.1.3 to 2.2.0 #66 (dependabot[bot])
* add ruby 3.1 in verfiy pipeline #69 (skeshari12)
* INFC-158 fix build from addition of Ruby 3.0/3.1 tests for Windows #71
  (tpowell-progress)
* Bundle pristine to patch 3.1 ruby #78 (tpowell-progress)
* Expose archive format compression methods #74 (sj26)
* Allow opening archive from fd #75 (sj26)
* Add .buildkite directory to fix the build #79 (tpowell-progress)
netbsd-srcmastr pushed a commit that referenced this pull request Jan 14, 2024
3.5.0:
- Added the - force option
  - Allows a user to force the generation of digests for strings down to
    50 characters long

3.5.1:
- Fixed the error in the Python extension

3.5.2:
- Added the BlackHat Asia tool (presented at Arsenal)

3.7.0:
- merged in various fixes - ifdef for SPARC and RH73
- corrected TLSH_CTC_final.pdf
- added a SHA1 to the NOTICE.txt file
- improved the make.sh so that it calls the test.sh (and does
  regression tests)
- improved regression tests to confirm that the hash is calculated
  correctly in your environment
- fixed the header file C++ standard violation (reserved identifier
  violation #21)

3.7.1:
- resolved issue #29 - the force option for Python
  Step 1 - adding a regression test for strings approx of length 50
  Step 2 - add python code

3.7.2:
- added code to set the distance parameters for ROC analysis

3.7.3:
- resolving issue #44
- making static library the default

3.7.4:
- resolving issue #45
- add a timing test for TLSH

3.7.5:
- resolving issue #46
- in include/tlsh_impl.h
	#define SLIDING_WND_SIZE  5
  this can be varied between 4 to 8

3.8.0:
- Adding    // access functions - required by tools using TLSH library
  - int Lvalue();
  - int Q1ratio();
  - int Q2ratio();

3.9.0:
- resolving issue #48 - tlsh_pattern program

3.9.1:
- resolving issue #38
- putting in fix in rand_tags.cpp so that it generates identical output
  to previous version while safely working with pointers

3.9.2:
- Also merged the contents of NOTICE.txt into LICENSE. This was done
  because NOTICE.txt is sometimes accidently removed when people clone
  this repository. And the LICENSE specifically states that NOTICE.txt
  should NOT be removed.
- Also added command line option -notice which displays the
  NOTICE.txt file

3.9.3:
- currently tlsh_pattern returns all the matches
  modify tlsh_pattern to return the best match
- remove the newline from the input fields when reading in the
  tlsh_pattern file

3.9.4:
- check in order_bug program which demonstrates issue #50
- resolved issue #50 - added code to tlsh_impl.cpp to check for invalid
  call sequences to update() and final()

3.9.5:
- issue #61: added a command line option -notest - do not do any testing

3.9.6:
- Have a cmake option to build tlsh with a zero byte checksum
  (development / research option)
- Default build has 1 byte checksum - which is strongly recommended

3.9.7:
- resolving issue #50 for bin/timing_unittest

3.9.8:
- timing_unittest measures the time taken to do distance calculations
- add a command line option -size - so that you can measure the time
  taken to evaluate different sizes of string

3.9.9:
- resolve issue #62
- remove dependancy on GNUInstallDirs

3.10.0:
- Adding // access function - required by tools using TLSH library
  - int BucketValue(int bucket);
  - int Checksum(int k);

3.11.0:
- Make calculation of TLSH digests approx 7 times faster (for large
  files), done by
  - inline functions
  - unrolling loops
  - fixing the -O2 optimization option

3.11.1:
- tidy up:
  1. use fast_b_mapping() instead of b_mapping()
  2. remove declaration of unsigned r which is never used
  3. remove #include which is not required

3.12.0:
- remove floating point calculations such as log() function
  use alookup table instead

3.13.0:
- .vcproj files and instructions for builing TLSH on Windows using
  Visual Studio

3.13.1:
- fixing setup.py so that you can install Python Extension on Windows

3.14.0:
- adding sliding window size to tlsh_version
- changing test.sh to read the sliding window size

3.14.1:
- fixing error in test script for -xlen option (print statements about
  considering length were incorrect)
- improved test.sh - tests for existance of expected output files

3.15.0:
- Refactor code - so that input of directory or digest is in a struct.
  The code to process input is in library code (input_desc.cpp,
  shared_file_functions.cpp). The input routines can be used by
  myultiple programs. Also, preparing for things like csv input files.

3.15.1:
- added command line option -help to show full help information

3.15.2:
- tlsh_pattern uses refactored code introduced in 3.15.0

3.16.0:
- improved tlsh_pattern functionality
- added regression tests for tlsh_pattern

3.16.1:
- improved tlsh functionality
- add options

3.16.2:
- added regression tests for 3.16.1

3.17.0:
- Make command line option  -force        (50 char limit) the default behaviour
- Add a command line option -conservative (256 char limit)

3.17.3:
- add checking to confirm that TLSH digests are the correct length in
  - -c option
  - -d option
  - the appropriate column of -l listfile options

3.18.0:
- resolve issue #72 - remove tlsh_version

3.19.0:
- preperation for Windows build
  remove ../Testing/ from test.sh script and from regression test
  results

3.19.1:
- in test.sh and testlen.sh - make TLSH_PROG a variable

4.0.0:
- version 4: adding version identifier to each digest: 'T1'
  - adding command line option -old to generate old style digests
  - In this version - the showvers is defaulted to off - so this will
    pass the old regression tests

4.0.1:
- turing on T1 functionality by setting showvers=1 in main
- updating regression tests to have T1 at the start of digests

4.1.0:
- adding -o option for output filename (output will go to stdout if no
  output file given)
  - changed test scripts to use -o option
- adding -ojson option for json output
  - added regression test for -ojson option
- adding -onull option to output empty files / files too small as TNULL

4.2.0:
- Windows version using minGW

4.2.1:
- resolve issue #78 json objects do not validate on windows

4.2.2:
- resolve issue #81
- Pass regression tests

4.2.3:
- add regression tests that are compatible with
  https://github.com/glaslos/tlsh

4.3.0:
- issue #79 - divide by 0 if q3 == 0
  solution. if (q3 == 0) return invalid hash

4.4.0:
- Fixing Python Extension
  - updated python extension to T1 hashes (4.0.0)
  - fixed python_test.sh (which attempted to access old expected
    results files)
  - added license information to py_ext/tlshmodule.cpp

4.4.1:
- Command line options to tlsh_digest.py
  -conservative	enforce 256 byte limit
  -old		generate old style hash (without "T1")
- added python functions to tlsh package (for backwards compatibility)
  tlsh.oldhash(data)
  tlsh.conservativehash(data)
  tlsh.oldconservativehash(data)

4.5.0:
- Checking in files to create pypi package

4.6.0:
- Add architecture ppc64le to travis build (Thanks ddeka2910)

4.7.0:
- Release updated package py-tlsh on Pypi.org
- Merging in pull request that adds functions to Python package
  lvalue, q1ratio, q2ratio, checksum, bucket_value and is_valid
- resolve issue #102 - correct Python version numbers

4.7.2:
- regression tests for C++ and Python functions for:
  lvalue, q1ratio, q2ratio, checksum, bucket_value
- resolve issue #95 - allow Requires-Python: >=2.7

4.8.0:
- Fix the make install target by adding the version.h in the
  installed files

4.8.1:
- Improve portability, add shared library build, install tlsh_unittest

4.8.2:
- fixed tlsh_win_version.h
netbsd-srcmastr pushed a commit that referenced this pull request Feb 23, 2024
[0.13.0] - 2024-02-21
Added
 - New informational flags to slumber request
      --exit-status to set exit code based on response status (#97)
      --status, --headers, and --no-body to control printed output
 - Filter response via JSONPath (#78)
netbsd-srcmastr pushed a commit that referenced this pull request Jun 30, 2024
1.9.1

Turns out ImageMagick 7 has deprecated using magick convert as
well, which is silly. Our solution: alias both convert and montage
to do the right thing for IM7. This is uglier than the previous
solution, but that's okay if it works.

1.9

Use IM7's 'magick' binary if it exists. Closes #73. Closes #78.
netbsd-srcmastr pushed a commit that referenced this pull request Jul 19, 2024
Based on PR 58426 by jonathan buschmann.

## 2.4.7 2024-05-05

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

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


## 2.4.6 2024-04-07

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

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


## 2.4.5 2024-02-18

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

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


## 2.4.4 2024-02-11

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

### Changed
- chore: update dependencies


## 2.4.3 2024-02-04

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

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

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


## 2.4.2 2023-12-26

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


## 2.4.1 2023-12-10

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

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


## 2.4.0 2023-10-08

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


## 2.3.3 2023-10-04

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

### Changed
- update dependencies


## [2.3.2] 2023-08-19

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

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


## [2.3.1] 2023-07-25

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

### Changed
- update dependencies


## [2.3.0] 2023-05-25

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

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

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

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


## [2.2.4] 2023-05-15

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

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

### Changed
- chore: update dependencies


## [2.2.3] 2023-04-26

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

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


## [2.2.2] 2023-04-01

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


## [2.2.1] 2023-03-29

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

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


## [2.2.0] 2023-02-24

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

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

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

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


## [2.1.0] 2022-12-12

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

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

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


## [2.0.4] 2022-11-30

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

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


## [2.0.3] 2022-11-21

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

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


## [2.0.2] 2022-11-17

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

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

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


## [2.0.1] 2022-11-07

### Changed
- chore: Update to clap 4.0.22

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


## [2.0.0] 2022-11-06

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

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

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

### Fixed

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

### Changed since 2.0.0-rc.2

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

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


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

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

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


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

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

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

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


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

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

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

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


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

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

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


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

### Removed
- Removed Python implementation of StGit.

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

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

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


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

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

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

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


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

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

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

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


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

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

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

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

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


## [1.5] 2022-01-28

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

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

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


## [1.4] 2021-10-27

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

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

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

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


## [1.3] 2021-09-26

### Removed

### Added

### Changed

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

## [1.2] 2021-09-26

### Removed

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

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

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

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

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


## [1.1] 2021-04-30

### Removed

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

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

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


## [1.0] 2021-02-07

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

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

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

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


## [0.23] 2020-06-12

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

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

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

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

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

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

## [0.22] - 2020-03-02

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

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

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

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

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


## [0.21] - 2019-10-28

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

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


## [0.20] - 2019-10-04

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

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

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


## [0.19] 2018-11-05

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

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


## [0.18] 2017-08-14

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

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

### Fixed
- Various fixes and test coverage improvements
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

8 participants