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

mtree bugs with filenames containing wildcards #101

Closed
jgoerzen opened this issue Feb 28, 2022 · 6 comments
Closed

mtree bugs with filenames containing wildcards #101

jgoerzen opened this issue Feb 28, 2022 · 6 comments

Comments

@jgoerzen
Copy link

Let's say I have a directory containing these files, one of which contains an asterisk:

file*
file2.txt
file.txt
file3.txt

Further assume they are different sizes and have different content.

If, in the output from mtree -c, file* is emitted before the others, the later mtree verify will apparently match all four files using the rule file* and emit errors on the other three. I observed this in the wild.

A workaround is to manually edit the emitted mtree data and move file* to be after the other non-wildcard files; then it will properly verify.

Additionally, the support for wildcards in the mtree format is not documented that I can see, and probably should be. Or perhaps it should be removed, since AFAICT, no tools are generating mtree files intentionally using this feature.

I observe a call to fnmatch in verify.c which MAY be the cause of this issue. (I am not certain).

@bsiegert
Copy link
Contributor

Isn't mtree part of the base system? Could you send this as a bug report upstream please? (https://www.netbsd.org/support/send-pr.html)

@jgoerzen
Copy link
Author

jgoerzen commented Mar 1, 2022 via email

@sskras
Copy link

sskras commented Mar 1, 2022

I also submitted an upstream issue (about another problem) on 2022-01-10.
Received zero response so far.

So I am not sure what is the workflow here.

@bsiegert
Copy link
Contributor

bsiegert commented Mar 1, 2022

@sskras If your bug report was about a different problem, then it does not belong here.

There is no SLO on replies to bug reports.

@jgoerzen
Copy link
Author

jgoerzen commented Mar 1, 2022

@bsiegert So I just realized something:

There is mtree in two places:

https://github.com/NetBSD/pkgsrc/tree/trunk/pkgtools/mtree/files (which is what this issue pertains to)

and

https://github.com/NetBSD/src/tree/trunk/usr.sbin/mtree

(and of course their CVS origins)

I note that these two trees aren't identical, and in fact are rather divergent. The pkgsrc version -- this one -- is portable, and in fact I maintain mtree-netbsd for Debian based on this version.

The NetBSD/src version is not portable, but appears newer (for instance, having added -F).

I did have engagement on 56733 but did not at the time realize that we were talking about two different mtrees!

So I am very much talking about the pkgsrc one, which is https://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc/pkgtools/mtree/index.html . Presumably it is portable because pkgsrc itself is portable, to *BSD, Linux, and so forth.

I don't know how the NetBSD/src mtree flows into the pkgsrc mtree -- perhaps, at the moment, the answer is "it doesn't" - fair enough. All I know is that this patch fixes the issue for me:

--- verify.c.orig       2018-08-22 15:48:38.000000000 -0500
+++ verify.c    2022-03-01 09:45:04.854574448 -0600
@@ -142,9 +142,7 @@
                if (specdepth != p->fts_level)
                        goto extra;
                for (ep = level; ep; ep = ep->next)
-                       if ((ep->flags & F_MAGIC &&
-                           !fnmatch(ep->name, p->fts_name, FNM_PATHNAME)) ||
-                           !strcmp(ep->name, p->fts_name)) {
+                       if (!strcmp(ep->name, p->fts_name)) {
                                ep->flags |= F_VISIT;
                                if (compare(ep, p))
                                        rval = MISMATCHEXIT;

@jgoerzen
Copy link
Author

jgoerzen commented Mar 1, 2022

Noting this from an email conversation:

There are some other mtree implementations and forks from NetBSD; for instance:

Like the pkrsrc mtree, these two seem to be outdated relative to the
usr.sbin mtree.

Other implementations:

The NetBSD pkgsrc tree is directly used as part of the Arch Linux
packaging format; https://aur.archlinux.org/packages/nmtree for details.
They also have a "git" mtree derived from archiecobbs/nmtree as above.

So effectively NetBSD pkgsrc tree is the ultimate upstream for a number
of other projects. It is probably reasonable to point many of those to
use archiecobbs/nmtree but I thought I ought to write down all the
options here for others that may be looking.

netbsd-srcmastr pushed a commit that referenced this issue May 2, 2022
# wk 0.6.0

* Fixed `wk_affine_rescale()` to apply the translate and scale
  operations in the correct order (#94).
* Add `wk_handle_slice()` and `wk_chunk_map_feature()` to support
  a chunk + apply workflow when working with large vectors (#101, #107).
* C and R code was rewritten to avoid materializing ALTREP vectors
  (#103, #109).
* Added a `wk_crs_proj_definition()` generic for foreign CRS objects
  (#110, #112).
* Added `wk_crs_longlat()` helper to help promote authority-compliant
  CRS choices (#112).
* Added `wk_is_geodesic()`, `wk_set_geodesic()`, and argument `geodesic`
  in `wkt()` and `wkb()` as a flag for objects whose edges must
  be interpolated along a spherical/ellipsoidal trajectory (#112).
* Added `sf::st_geometry()` and `sf::st_sfc()` methods for wk geometry
  vectors for better integration with sf (#113, #114).
* Refactored well-known text parser to be more reusable and faster
  (#115, #104).
* Minor performance enhancement for `is.na()` and `validate_wk_wkb()`
  when called on a very long `wkb()` vector (#117).
* Fixed issue with `validate_wk_wkb()` and `validate_wk_wkt()`, which failed
  for most valid objects (#119).
* Added `wk_envelope()` and `wk_envelope_handler()` to compute feature-wise
  bounding boxes (#120, #122).
* Fixed headers and tests to pass on big endian systems (#105, #122).
* Incorporated the geodesic attribute into vctrs methods, data frame
  columns, and bbox/envelope calculation (#124, #125).
* Fix `as_xy()` for nested data frames and geodesic objects (#126, #128).
* Remove deprecated `wkb_problems()`, `wkt_problems()`, `wkb_format()`,
  and `wkt_format()` (#129).
* `wk_plot()` is now an S3 generic (#130).
netbsd-srcmastr pushed a commit that referenced this issue May 4, 2022
0.14.0

What's Changed

    docs: update missed example.com reference by @danielgtaylor in #114
    Password prompt when user defined but not password by @kpetremann in #116
    api: add show and add missing sync documentation by @kpetremann in #117
    feat: render Markdown using glamour by @danielgtaylor in #118
    docs: various updates & config examples by @danielgtaylor in #119
    chore: adding some forgotten files by @danielgtaylor in #120
    fix: build on windows by @danielgtaylor in #121

0.13.3

What's Changed

    docs/configuration.md: Clarify equivalent commands by @waldyrious in #109
    fix: formatting, simplify dates by @danielgtaylor in #110
    fix: base64 handling of []byte and raw mode on structured input by @danielgtaylor in #111
    fix: combine all links for paginated responses by @danielgtaylor in #112
    docs: update guide & other docs by @danielgtaylor in #113

0.13.2

What's Changed

    docs: add anatomy of an openapi-powered cli command info by @danielgtaylor in #100
    docs: add comparison page by @danielgtaylor in #101
    Docs updates by @danielgtaylor in #102
    fix: detect text/yaml response content type by @danielgtaylor in #103
    fix: add basic build time to dev --version by @danielgtaylor in #104
    fix: do not use scientific notation for large integers by @danielgtaylor in #105
    fix: do not panic on empty image by @danielgtaylor in #106
    fix: prevent escaping JSON for browsers by @danielgtaylor in #107
    fix: find HAL links in array responses by @danielgtaylor in #108
netbsd-srcmastr pushed a commit that referenced this issue Aug 11, 2022
3.0.27 (2022-06-08)

Merged Pull Requests

* Update chefstyle requirement from 1.2.1 to 1.3.2 #84
  (dependabot-preview[bot])
* Update chefstyle requirement from 1.3.2 to 1.4.0 #85
  (dependabot-preview[bot])
* Update chefstyle requirement from 1.4.0 to 1.4.2 #86
  (dependabot-preview[bot])
* Update chefstyle requirement from 1.4.2 to 1.4.3 #87
  (dependabot-preview[bot])
* Update chefstyle requirement from 1.4.3 to 1.4.5 #89
  (dependabot-preview[bot])
* Update chefstyle requirement from 1.4.5 to 1.5.0 #90
  (dependabot-preview[bot])
* Update chefstyle requirement from 1.5.0 to 1.5.2 #92
  (dependabot-preview[bot])
* Update chefstyle requirement from 1.5.2 to 1.5.8 #96
  (dependabot-preview[bot])
* Update chefstyle requirement from 1.5.8 to 1.5.9 #97
  (dependabot-preview[bot])
* Remove parallel pin now that it supports Ruby 2.4 again #98 (tas50)
* Add Ruby 2.7 testing + cache gem installs in CI #99 (tas50)
* Update chefstyle requirement from 1.5.9 to 1.6.2 #101
  (dependabot-preview[bot])
* Update chefstyle requirement from 1.6.2 to 1.7.1 #102
  (dependabot-preview[bot])
* Update chefstyle requirement from 1.7.1 to 1.7.2 #104
  (dependabot-preview[bot])
* Update chefstyle requirement from 1.7.2 to 1.7.5 #106
  (dependabot-preview[bot])
* Upgrade to GitHub-native Dependabot #107 (dependabot-preview[bot])
* add ruby tests 3.0 and 3.1 in verify pipeline #109 (jayashrig158)
* Fix in nested_hash parsing in config #115 (Nik08)
netbsd-srcmastr pushed a commit that referenced this issue Aug 18, 2022
[0.9.0] - 2022-08-16
Documentation
    Add test repository link to README.md

Features
    Support splitting commits by lines (#101)
    Support setting commit SHA while using --with-commit
    Add commit author and committer to the context (#100)

Miscellaneous Tasks
    Use an alternative method to fetch registry
    Enable building arm64 docker images
    Update the description on Docker Hub on push
    Disable updating the description on Docker Hub
    Add GitHub Sponsors option for funding
    Upgrade dependencies
    Update MSRV to 1.60.0
    Upgrade versions in Dockerfile
    Enable strip option for release profile

Refactor
    Run clippy for tests
    Use a more concise conversion for string
netbsd-srcmastr pushed a commit that referenced this issue Sep 21, 2022
For pin@

## [0.9.0] - 2022-08-16

### Documentation

- Add test repository link to README.md

### Features

- Support splitting commits by lines ([#101](orhun/git-cliff#101))
- Support setting commit SHA while using `--with-commit`
- Add commit author and committer to the context ([#100](orhun/git-cliff#100))

### Miscellaneous Tasks

- Use an alternative method to fetch registry
- Enable building arm64 docker images
- Update the description on Docker Hub on push
- Disable updating the description on Docker Hub
- Add GitHub Sponsors option for funding
- Upgrade dependencies
- Update MSRV to 1.60.0
- Upgrade versions in Dockerfile
- Enable strip option for release profile

### Refactor

- Run clippy for tests
- Use a more concise conversion for string
netbsd-srcmastr pushed a commit that referenced this issue Oct 18, 2022
9.01:
- Fix library minor version (missing bump to 5.8).

9.00:
- Add support for AnyConnect "Session Token Re-use Anchor Protocol"
  (STRAP) (#410).
- Add support for AnyConnect "external browser" SSO mode (!354).
- On Windows, fix crash on tunnel setup. (#370, 6a2ffbb)
- Bugfix RSA SecurID token decryption and PIN entry forms, broken in
  v8.20. (#388, !344)
- Support Cisco's multiple-certificate authentication (!194).
- Append internal=no to GlobalProtect authentication/configuration
  forms, for compatibility with servers which apparently require this to
  function properly. (#246, !337)
- Revert GlobalProtect default route handling change from v8.20. (!367)
- Support split-exclude routes for Fortinet. (#394, !345)
- Add openconnect_set_useragent() function.
- Add webview callback and SAML/SSO support for AnyConnect,
  GlobalProtect. (!126).

8.20:
- When the queue length (-Q option) is 16 or more, try using vhost-net
  to accelerate tun device access.
- Use epoll() where available.
- Support non-AEAD ciphersuites in DTLSv1.2 with AnyConnect. (#249)
- Make tncc-emulate.py work with Python 3.7+. (#152, !120)
- Emulated a newer version of GlobalProtect official clients, 5.1.5-8;
  was 4.0.2-19 (!131)
- Support Juniper login forms containing both password and 2FA
  token (!121)
- Explicitly disable 3DES and RC4, unless enabled with
  --allow-insecure-crypto (!114)
- Add obsolete-server-crypto test (!114)
- Allow protocols to delay tunnel setup and shutdown (!117)
- Support for GlobalProtect IPv6 (!155 and !188; previous work in
  d6db0ec)
- SIGUSR1 causes OpenConnect to log detailed connection information and
  statistics (!154)
- Allow --servercert to be specified multiple times in order to accept
  server certificates matching more than one possible fingerprint
  (!162, #25)
- Add insecure debugging build mode for developers (!112)
- Demangle default routes sent as split routes by GlobalProtect (!118)
- Improve GlobalProtect login argument decoding (!143)
- Add detection of authentication expiration date, intended to allow
  front-ends to cache and reuse authentication cookies/sessions (!156)
- Small bug fixes and clarification of many logging messages.
- Support more Juniper login forms, including some SSO forms (!171)
- Automatically build Windows installers for OpenConnect command-line
  interface (!176)
- Restore compatibility with newer Cisco servers, by no longer sending
  them the X-AnyConnect-Platform header (#101, !175)
- Add support for PPP-based protocols, currently over TLS only (!165).
- Add support for two PPP-based protocols, F5 with --protocol=f5 and
  Fortinet with --protocol=fortinet (!169).
- Add experimental support for Wintun Layer 3 TUN driver under Windows
  (#231, !178).
- Clean up and improve Windows routing/DNS configuration script
  (vpnc-scripts!26, vpnc-scripts!41, vpnc-scripts!44).
- On Windows, reclaim needed IP addresses from down network interfaces
  so that configuration script can succeed (!178).
- Fix output redirection under Windows (#229)
- More gracefully handle idle timeouts and other fatal errors for
  Juniper and Pulse (!187)
- Ignore failures to fetch the Juniper/oNCP landing page if the
  authentication was successful (3e779436).
- Add support for Array Networks SSL VPN (#102)
- Support TLSv1.3 with TPMv2 EC and RSA keys, add test cases for swtpm
  and hardware TPM. (ed80bfac...ee1cd782)
- Add openconnect_get_connect_url() to simplify passing correct server
  information to the connecting openconnect process.
  (NetworkManager-openconnect #46, #53)
- Disable brittle "system policy" enforcement where it cannot be
  gracefully overridden at user request. (RH#1960763).
- Pass "portal cookie" fields from GlobalProtect portal to gateway to
  avoid repetition of password- or SAML-based login (!199)
- With --user, enter username supplied via command-line into all
  authentication forms, not just the first. (#267, !220).
- Fix a subtle bug which has prevented ESP rekey and ESP-to-TLS fallback
  from working reliably with the Juniper/oNCP protocol since v8.04.
  (#322, !293).
- Fix a bug in csd-wrapper.sh which has prevented it from correctly
  downloading compressed Trojan binaries since at least v8.00. (!305)
- Make Windows socketpair emulation more robust in the face of Windows's
  ability to break its localhost routes. (#228, #361, !320)
- Perform proper disconnect and routes cleanup on Windows when receiving
  Ctrl+C or Ctrl+Break. (#362, !323)
- Improve logging in routing/DNS configuration scripts. (!328,
  vpnc-scripts!45)
- Support modified configuration packet from Pulse 9.1R14 servers
  (#379, !331)
netbsd-srcmastr pushed a commit that referenced this issue Nov 14, 2022
What's Changed
Exciting New Features
 - Add focus keybindings to the config by @Builditluc in #79
 - Better logging messages by @Builditluc in #83
 - Create config file if not existent by @Builditluc in #88
 - Overhaul the UI by @Builditluc in #81

Bug Fixes
 - Fix no article being displayed by @Builditluc in #73
 - Disable logging if not enabled in the config by @Builditluc in #91
 - Fix crash on non writable directory by @Builditluc in #99

Documentation Changes
 - Add toc configuration documentation by @Builditluc in #75
 - Change Branch naming by @Builditluc in #76
 - Add FreeBSD install instructions by @nunotexbsd in #86

Other Changes
 - Add label to exclude PRs from release notes by @Builditluc in #72
 - Bump toml dependency to 0.5.9 by @Builditluc in #85
 - Fix documentation action by @Builditluc in #101
netbsd-srcmastr pushed a commit that referenced this issue Dec 7, 2022
Patchlevel 8b (Aug 2021)

NEW FEATURES:
	o Detect the output language from the output file name.
	o On the command line, a minus (-) as input or output file name refers
	  to standard input or standard output.

BUGS FIXED:
	Ticket numbers refer to https://sourceforge.net/p/mcj/tickets/#.
	o Correct buffer overflows and segfaults, mainly due to maliciously
	  crafted input files, tickets #113-117, #122, #123, #125-#135.
	o With -Lepic -P, generate a complete tex file.
	o Correctly produce a gif if a transparent color is given, ticket #121.
	o Return with error if no space is left on the device. Ticket #101.
netbsd-srcmastr pushed a commit that referenced this issue Jan 22, 2023
Changelog:
Version 1.81.0

New Libraries

  * URL: A library for parsing, modifying, and printing URLs using only C++11,
    from Vinnie Falco and Alan de Freitas. Features include fast compilation,
    strong invariants, and strict compliance using a memory-friendly approach.

Updated Libraries

  * Asio:
      + Added the consign completion token adapter, which can be used to attach
        additional values to a completion handler.
      + Added any_completion_handler<>, which can be used to type-erase
        completion handlers.
      + Added experimental::co_composed to enable lightweight implementations
        of user-defined asynchronous operations using C++20 coroutines.
      + Add range-based experimental::make_parallel_group() overloads.
      + Added any_completion_executor, a type-erased wrapper for executors that
        are associated with completion handlers.
      + Added missing context query to use_future's executor.
      + Added nothrow constructor overloads to execution::any_executor<> and
        any_io_executor.
      + Optimised representation of empty execution::any_executor objects to
        improve the performance of copy and move operations.
      + Added an associated_cancellation_slot specialisation for std::
        reference_wrapper.
      + Changed I/O objects to return their executors by const reference.
      + Changed associated to use deduced return types for all two-argument get
        functions.
      + Fixed spawn implementation to catch unhandled exceptions and rethrow
        them outside of the spawned "thread".
      + Fixed spawn to ensure the completion handler is dispatched through the
        correct executor.
      + Fixed cleanup of of terminal-state spawn "thread" objects.
      + Fixed spawn and co_spawn implementations to dispatch cancellation
        handlers on the correct executor.
      + Changed semantics of 'dispatch' to mean the executor is used as-is.
      + Deprecated the execution::execute customisation point and sender/
        receiver facilities.
      + Added a C++11 parallel_group example.
      + Fixed example code to not use the deprecated resolve conversions.
      + Fixed an ambiguity in experimental::channel_traits specialisations.
      + Added a specialised channel implementation for the for R(error_code)
        signature.
      + Made cancelled() public on the async_compose 'self' object.
      + Added io_executor_type and get_io_executor to the async_compose 'self'
        object.
      + Fixed implementation of release() for Windows overlapped handles.
      + Enabled deferred awaiting for experimental::coro, regularised
        experimental::use_coro, and fixed allocator handling.
      + Cleaned up experimental::promise and made it an asynchronous operation
        object.
      + Constrained post/defer overloads on ability to require blocking.never.
      + Changed descriptor implementation to fall back to fcntl if ioctl fails
        with ENOTTY when setting non-blocking mode.
      + Fixed Xcode deprecation warnings related to use of sprintf.
      + Fixed the arguments passed to select_reactor::run when it is run on an
        internal thread.
      + Fixed compilation errors when BOOST_ASIO_DISABLE_SMALL_BLOCK_RECYCLING
        is defined.
      + Updated detection of C++20 coroutine support on clang 14 and later.
      + Changed standard library feature detection to always enable std::
        invoke_result when targeting C++17 or later.
      + Fixed detection of return type deduction with MSVC.
      + Updated the asynchronous operation requirements to relax the
        requirements on the associated executor.
      + Added io_uring to the implementation notes.
      + Consult the Revision History for further details.
  * Beast:
      + Add buffers_generator
      + Add beast::http::message_generator
      + Added buffer_ref, so beast buffers can be used with asio.
      + Support for per-operation cancellation
      + C++20 awaitable examples.
      + websocket per-message compression options
      + websocket timeout option api
      + multiple content length error
      + Support for default-completion and rebind
  * Container Hash:
      + Major update.
      + The specializations of boost::hash have been removed; it now always
        calls hash_value.
      + Support for BOOST_HASH_NO_EXTENSIONS has been removed. The extensions
        are always enabled.
      + All standard containers are now supported. This includes std::
        forward_list and the unordered associative containers.
      + User-defined containers (types that have begin() and end() member
        functions that return iterators) are now supported out of the box.
      + Described structs and classes (those annotated with
        BOOST_DESCRIBE_STRUCT or BOOST_DESCRIBE_CLASS) are now supported out of
        the box.
      + hash_combine has been improved.
      + The performance (and quality, as a result of the above change) of
        string hashing has been improved. boost::hash for strings now passes
        SMHasher in 64 bit mode.
      + The documentation has been substantially revised to reflect the
        changes.
  * Core:
      + empty_value members are now marked as constexpr.
      + Added fclose_deleter, a deleter that calls std::fclose on a pointer to
        std::FILE.
      + Bit manipulation utilities in boost/core/bit.hpp now explicitly require
        unsigned integers on input. (#129)
      + bit_width now returns int instead of a value of the input argument
        type. This follows resolution of LWG3656.
  * Describe:
      + To allow the inclusion of enumerators.hpp, bases.hpp, and members.hpp
        when the option -pedantic is used, the invocation of
        BOOST_DESCRIBE_ENUM has been moved from modifiers.hpp into a separate
        header, modifier_description.hpp. As a consequence, modifiers.hpp no
        longer includes enum.hpp. Code that has been relying on this implicit
        inclusion may fail, and will need to be fixed to include enum.hpp.
  * DLL:
      + Fixed path_from_handle implementation for Windows platforms, thanks to
        @SaltfishAmi for the bug report 57.
  * Filesystem:
      + Deprecated: path construction, assignment and appending from containers
        of characters, such as std::vector<char> or std::list<wchar_t>, is
        deprecated in v3 and removed in v4. Please use string types or
        iterators instead.
      + Deprecated: boost/filesystem/path_traits.hpp header is deprecated and
        will be removed in a future release. The header contained
        implementation details of path and should not be used in user's code.
      + Previously deprecated APIs will now generate compilation warnings on
        use. To suppress these warnings, BOOST_FILESYSTEM_ALLOW_DEPRECATED
        macro can be defined when compiling user's code.
      + Fixed compilation due to a missing include on POSIX systems that do not
        support *at APIs. (#250)
      + On Windows prior to 10, added a workaround for network share filesystem
        that produces ERROR_INVALID_PARAMETER when constructing directory
        iterators. (PR#246, #245)
      + On Windows, fixed weakly_canonical failing with an
        ERROR_INVALID_FUNCTION error code if the path started with the "\\?\"
        prefix. (#247)
      + Added support for std::string_view, boost::string_view and boost::
        container::string (as well as respective wchar_t counterparts) in path
        constructors, assignment and appending operations. (#208)
      + path constructors, assignment and appending operations taking a pair of
        iterators will no longer accept iterators with value types that are not
        one of the supported path character types.
      + On Windows, improved compatibility of directory_iterator with various
        mounted filesystems and Wine releases prior to 7.21. (#255, #266)
      + On Windows, deduplicated files are now reported as regular files rather
        than reparse files. (#262)
  * Fusion:
      + Added fusion::identity_view (PR#240)
      + Added support for associative sequences on fusion::transform_view (PR#
        239)
      + Fixed compilation for the case when fusion::reverse_view used with an
        associative sequence (PR#237)
      + Fixed Clang 13 -Wdeprecated-copy warnings (PR#261)
      + A small dependency reorganization. Now boost::ref and boost::
        noncopyable are used from Boost.Core (PR#249)
      + Added CI testing on Linux and MacOS for clang and gcc, fixed CI testing
        on Windows (PR#245, PR#236)
      + Improved docs and fixed typos (#234, PR#235, PR#238)
  * Geometry:
      + Solved issues
          o #1048 Index: Fix dangling references when Indexable is returned by
            value by IndexableGetter
          o #1076 Union: in rare cases it might miss one polygon
          o #1081 Union: due to precision it might miss interior rings
      + Bugfixes
          o #1063 Intersection: fix a bug in intersection of simple spherical
            polygons
          o #1064 Formulas: fix a consistency issue in geodesic direct formulas
          o #1088 Point: Fix regression for custom point types
          o Various fixes for missing include files, warnings, C++20
            compilation errors and documentation
  * Histogram:
      + Major update.
      + Added new accumulators::fraction to compute fractions, their variance,
        and confidence intervals
      + Added interval computers for fractions: utility::clopper_pearson,
        utility::wilson_interval, utility::jeffreys_interval, utility::
        wald_interval which can compute intervals with arbitrary confidence
        level
      + Added utility::confidence_level and utility::deviation types to pass
        confidence levels as probabilities or in multiples of standard
        deviation for all interval computers, respectively
      + Fixed internal sub_array and span in C++20
  * Iterator:
      + function_output_iterator now supports perfect forwarding of the
        assigned values to the wrapped function object. (PR#73)
      + Fixed compilation of constructing a function_input_iterator from result
        of post-incrementing another function_input_iterator. (#75)
      + The result of post-incrementing an iterator based on iterator_facade
        now supports operator->. (it++)->foo is equivalent to (*it++).foo,
        which was supported before.
  * JSON:
      + Added object::stable_erase.
      + Added parse overload for std::istream and operator>> for value.
      + Added rvalue ref-qualified accessors for value.
      + Conversion traits were redesigned.
      + Added conversion support for described classes and enums, std::optional
        , std::variant, and null-like types (including std::nullptr_t, std::
        nullopt_t, and std::monotype).
      + Added non-throwing conversion from value to user types.
  * LexicalCast:
      + Fixed compilation while casting volatile arithmetic types. Thanks to
        Giovanni Cerretani for the bug report #50.
      + Removed usage of deprecated headers. Thanks to Michael Ford for the PR
        PR#53.
  * Locale:
      + Major update with some breaking changes.
      + C++11 support is now required, support for C++03 and earlier is dropped
      + Some enums have been converted to enum classes - Avoids name clashes
      + Replace -sICU_LINK_LOCALE & -sICU_LINK by fine-grained configuration
        options as done in Boost.RegEx
      + Fix detection of libiconv allowing Boost.Locale to be build (again) on
        some platforms
      + Remove use of and support for std::auto_ptr
      + Make the codecvt using wchar_t on Windows assume/use UTF-16 enconding
      + Performance improvements: Make basic_format, date_time & hold_ptr
        movable, Fix use of format cache
      + Make Boost.Locale compatible with more ICU versions (especially the
        tests)
      + Fix RTTI definitions for some classes (visibility issues)
      + Fix compatibility of the ICU backend with some libc++ versions
      + Fix return value of some operators to correctly return non-const *this
      + Fix int-overflow on negative roll of years in date_time
      + Handle or suppress many warnings which makes the build log cleaner
      + Add support for more Windows codepages
      + Fix support for Windows codepages like ISO-2022-JP
  * Nowide:
      + Fix build failure of tests on MSVC
  * Stacktrace:
      + The library does not use COM initialization any more. Thanks to Alex
        Guteniev for the bug report, clarifications and PR PR#123!
      + The library now may use BOOST_STACKTRACE_BACKTRACE_INCLUDE_FILE macro
        value while detecting the libbacktrace availability in b2, thanks to
        Ben Gemmill for the bug report #115.
      + Added BOOST_STACKTRACE_BACKTRACE_FORCE_STATIC macro to force a single
        backtrace_state static instance while using the libbacktrace. Thanks to
        the Rasmus Thomsen for the bug report #118!
      + Avoid unresolved references when including only the boost/stacktrace/
        stacktrace.hpp header. Thanks to the Long Deng for the bug report #116.
      + Optimized stacktrace printing by not calling strlen on Windows
        platforms. Thanks to Alex Guteniev for the bug report #122
  * PFR:
      + Improved detection of aggregate initializables in C++14 mode, thanks to
        Denis Mikhailov for the PR PR#97.
      + Suppress clang-tidy warnings, thanks to Alexander Malkov for the PRs PR
        #109, PR#104.
      + Use fold expressions if they are supported by the compiler. Thanks to
        Jean-Micha?l Celerier for the PR PR#96.
  * STLInterfaces:
      + Fix two ill-formed iterator_interface operators in pre-C++20 iterators
        with a const value_type.
  * System:
      + The macro BOOST_SYSTEM_DISABLE_THREADS can now be defined to disable
        the use of <mutex> (e.g. on single-threaded libstdc++).
      + Added value_type, error_type, in_place_value, in_place_error to result
        <>.
      + Added emplace to result<>.
  * Unordered:
      + Major update.
      + Added fast containers boost::unordered_flat_map and boost::
        unordered_flat_set based on open addressing.
      + Added CTAD deduction guides for all containers.
      + Added missing constructors as specified in LWG issue 2713.
  * Variant:
      + Avoid recursive inclusion of headers, thanks to Nathan Sidwell for the
        bug report #101.
      + Removed usage of deprecated headers, thanks to Michael Ford for the PR
        PR#96.
      + Fixed compilation on clang in C++23 mode, thanks to Ed Catmur for the
        PR PR#98.
  * Variant2:
      + Added support for boost::json::value_from and boost::json::value_to.


Version 1.80.0

Known Issues

These are patches from library authors which were found too late to be fixed in
the release.

  * Config
      + Support for libcpp15 which removes std::unary_function and std::
        binary_function. Patch.
  * Filesystem
      + Directory iterators may fail to construct for a network share on
        Windows prior to 10, see PR#246 and #245. Patch.
      + On Windows, weakly_canonical fails to process paths that start with the
        "\\?\" prefix, see #247. Patch.
      + On POSIX systems that don't support *at APIs, compilation fails due to
        a missing include, see #250. Patch.
  * Unordered
      + Containers are not in a valid state after moving, see #139. Patch.
      + Fix MSVC /RTCc build runtime failures. Patch.

New Libraries

  * No new libraries.

Updated Libraries

  * Asio:
      + Added a deduced trailing return type to all asynchronous operations, to
        enable the new form of async_result for C++11.
      + Moved append, prepend, as_tuple, and deferred to the boost::asio
        namespace, and made them compatible with C++11.
      + Made experimental::parallel_group compatible with C++11.
      + Added buffer() overloads for contiguous containers, such as std::span.
      + Added the ability for awaitable<>-based coroutines to directly co_await
        operations that are packaged as function objects.
      + Changed spawn() to be a completion token-based asynchronous operation,
        and added support for cancellation. The basic_yield_context token now
        supports move-only and variadic result types. When targeting C++11 and
        later, spawn() and basic_yield_context are implemented in terms of
        Boost.Context directly.
      + Added the is_async_operation trait and async_operation concept.
      + Added the completion_signature_of trait.
      + Added converting move construction/assignment to posix descriptors,
        serial ports, pipes, Windows object_handle, Windows stream handles, and
        Windows random-access handles.
      + Added release() member functions to pipes, Windows stream handles, and
        Windows random-access handles.
      + Enabled support for Endpoint implementations that return void pointers
        from their data() member functions, as per the documented Endpoint type
        requirements.
      + Removed all() and race() from experimental::promise, as experimental::
        parallel_group covers this functionality.
      + Added source locations to exceptions and error codes produced by the
        synchronous and asynchronous operations.
      + Fixed compatibility with OpenSSL 3.0.4 and later.
      + Fixed compatibility with with -masm=intel.
      + Explicitly stated that socket shutdown() calls are thread-safe with
        respect to certain other synchronous operations on the same socket.
      + Optimised the move construction of I/O objects where only the executor
        type differs.
      + Fixed the detection of std::invoke_result for clang/libc++.
      + Fixed an issue where experimental::parallel_group initiation
        incorrectly moved arguments instead of forwarding them.
      + Fixed a sequencing issue in the implementation of post(), dispatch(),
        and defer().
      + Fixed the awaitable<> implementation to propagate exceptions from
        awaited initiation functions through the current completion handler.
      + Fixed detection of std::aligned_alloc with gcc 7.
      + Changed to avoid using the soon-to-be-deprecated std::aligned_storage
        on newer compilers.
      + Fixed detection of std::aligned_alloc for older Apple platforms.
      + Removed faulty assertions from experimental::coro implementation.
      + Added defence against Qt-defined macros when building with Intel C++.
      + Changed the implementation of the select_reactor, on Windows, to ensure
        that any exception resulting from failure to recreate its interrupter's
        sockets will be allowed to propagate out through io_context::run().
      + Fixed various compiler warnings.
      + Updated all composed operations examples, and the C++11 timeouts
        example, to use the new async_result form.
      + Added composed operation and coroutine examples for C++20.
      + Consult the Revision History for further details.
  * Atomic:
      + Improved portability of endianness checks on ARM, AArch32 and AArch64
        targets. (#59)
      + Fixed compilation with MSVC 14.0 (Visual Studio 2015) in C++17 mode. (#
        61)
  * Filesystem:
      + On Windows, added a fallback implementation for querying file
        attributes in case if the file cannot be opened with
        ERROR_ACCESS_DENIED error. This may allow status and symlink_status to
        succeed for system files and directories that are not reparse points or
        symlinks. (#234)
      + On Windows, added a workaround for FAT/exFAT filesystems that produce
        ERROR_INVALID_PARAMETER when querying file attributes. This affected
        status and symlink_status, which reported that files do not exist, and
        directory iterators, which failed to construct, as well as other
        dependent operations. (#236, #237)
      + Worked around a compilation problem on RTEMS. (PR#240)
      + On Linux, corrected switching to sendfile copy_file implementation if
        copy_file_range failed with ENOSYS in runtime. The sendfile fallback
        implementation used to skip the filesystem type check and could fail
        for some filesystems.
      + On POSIX systems supporting openat and related APIs defined in
        POSIX.1-2008 and on Windows Vista and later, improved protection of
        remove_all against CVE-2022-21658 that was implemented in the previous
        release. The previous fix could still result in removing unintended
        files in certain conditions. Other systems remain vulnerable.
  * GIL: NOTICE: We are planning BREAKING switch to C++17 as minimum required
    C++ language version in one or two releases after Boost 1.80 (#676)
      + Added
          o GSoC 2020: Added Perona-Malik anisotropic diffusion algorithm (PR#
            500)
          o GSoC 2020: Added histogram class and related functionality (PR#499)
          o GSoC 2020: Added histogram equalization feature (PR#514)
          o GSoC 2020: Added histogram matching algorithm (PR#515)
          o GSoC 2020: Added ability to stack images either horizontally (
            hstack) or vertically (vstack) (PR#506)
          o GSoC 2020: Added adaptive histogram equalization algorithm (PR#516)
          o GSoC 2020: Added Standard Hough Transform and circle rasterization
            (PR#512)
          o GSoC 2020: Added Bresenham's algorithm for line rasterization (PR#
            512)
          o GSoC 2021: Added rotation of image by arbitrary angle around its
            center (PR#565)
          o GSoC 2021: Added rasterization support for ellipse based on "An
            Efficient Ellipse-Drawing Algorithm" by Jerry Van Aken (PR#585)
          o Added image constructor from compatible view (PR#520)
          o Added inverse function for affine matrix3x2 (PR#527)
          o Added standard morphological transformations (PR#541)
          o Added for_each_pixel overload for any_image (PR#648)
          o Added C++17 polymorphic memory resource typedefs for image class (
            PR#529)
      + Changed
          o BREAKING: The required minimum C++ version is changed from from
            C++11 to C++14. Currently, large parts of GIL still compile with a
            C++11 compiler. However, there is no guarantee that it stays that
            way, and any compilers that do not support at least C++14 are
            considered unsupported as of now.
          o BREAKING: any_color_converted_view() is deprecated and will be
            removed in the next release. Use color_converted_view() instead,
            which provides the same feature.
          o BREAKING: apply_operation for any_image is deprecated and will be
            removed in the next release. Use variant2::visit instead, which
            provides the same feature. (PR#656)
          o Moved numeric extension to core (PR#573)
          o Added support for C++17's <filesystem> (PR#636) The availability of
            the std::filesystem is detected automatically, unless the
            BOOST_GIL_IO_USE_BOOST_FILESYSTEM macro is defined that forces the
            preference of the Boost.Filesystem.
          o Renamed pixel_multiply_t to pixel_multiplies_t and pixel_divide_t
            to pixel_divides_t (PR#655)
          o Renamed io/dynamic_io_new.hpp to io/detail/dynamic.hpp (PR#653)
          o Moved function construct_matched into boost::gil::detail namespace
            as it was only used by other implementation details (PR#653)
          o Made packed_pixel trivially copyable and assignable (PR#679)
          o Replace deprecated libtiff v4.3 typedefs with C99 fixed-size
            integers (PR#685)
      + Removed
          o BREAKING: Removed support for GCC 5 (PR#572)
          o Removed deprecated.hpp (PR#627)
      + Fixed
          o Fixed conversion from RGB to HSL (PR#505)
          o Fixed conversion from RGB to signed CMYK (PR#522)
          o Removed unnecessary numeric cast in hsv.hpp (PR#530)
          o Fixed default constructor for homogeneous_color_base for reference
            pixel elements (PR#542)
          o Fixed returning reference to local temporary object in
            subchroma_image_view (PR#556)
          o Added missing header guards in diffusion.hpp (PR#568)
          o Fixed any_image_view<>::const_t (PR#526)
          o Fixed C++20 incompatibilities in I/O extensions (PR#617)
          o Ensured all examples build without errors (PR#628)
          o Fixed convolve_2d for images with float32_t channel model (PR#577)
          o Fixed for_each_pixel for non-1d iterable views (PR#621)
          o Fixed: is_equal_to_sixteen in PNG I/O was less-than test (PR#650)
          o Re-allow devicen_t with two components (PR#654) It was
            unintentionally removed in Boost 1.72
          o Fixed memory leak in image class for empty dimensions (PR#649)
      + Acknowledgements
          o Cypre55, Samuel Debionne, Mike-Devel, Edward Diener, Peter Dimov,
            Omar Emara, Dhruva Gole, Nicolas Herry, Eugene K, Avinal Kumar,
            Gaurav Kumar, Marco Langer, Pranam Lashkari, Mateusz ??oskot,
            Giovanni Mascellani, Debabrata Mandal, Gopi Krishna Menon, Ren??
            Ferdinand Rivera Morell, Felix Morgner, Harshit Pant, Paul92, Andr
            ?? Schr?der, Scramjet911, Siddharth, Dirk Stolle, Prathamesh
            Tagore, theroyn, Olzhas Zhumabek
  * Graph:
      + Bug fixes:
          o Fix bug in stoer_wagner_min_cut where vertices are not merged at
            the end of each mincut phase (#286)
          o Fix conversion warning for return type of strong_components (#293)
          o Fix compilation failure of boykov_kolmogorov_max_flow named
            parameter overload (#232)
      + General code improvements:
          o Remove redundant call to combine in astar_search_no_init_tree (#260
            )
          o Remove redundant child_idx argument of d_ary_heap_indirect<>::child
            (#261)
          o Improve documentation for traversal categories (#303)
      + Acknowledgements
          o Viktor Pti, Sebastian Brockmeyer, Etienne dg
  * Histogram:
      + Fixed segfault in indexed when trying to iterate over histogram with
        axes of zero size (physical or logical) under certain conditions
      + Removed previously deprecated API
          o class accumulators::thread_safe: use accumulators::count<T, true>
          o Methods accumulators::sum::large and accumulators::sum::small: use
            accumulators::sum::large_part and accumulators::sum::small_part
          o Type alias algorithm::reduce_option: use algorithm::reduce_command
          o Template function axis::traits::static_options: use axis::traits::
            get_options
          o Template function axis::traits::static_is_inclusive: use axis::
            traits::is_inclusive
          o Type alias indexed::range_iterator: use indexed::iterator
          o Type alias indexed::accessor::reference: use indexed::accessor::
            const_reference
  * Iterator:
      + For C++11 and later, added support for perfect forwarding of values
        written to function_output_iterator. (PR#73)
      + Added protection against writing to function_output_iterator a result
        of dereferencing another function_output_iterator.
  * JSON:
      + Added non-const value::at overloads.
      + Added the ability to manually choose endianness of the platform.
      + Added string::subview() overload.
      + Fixed segfault in array::erase(it).
      + Fixed low performance of serialize on libc++.
      + Fixed ambigious conversion to std::string_view on GCC 8.
      + Fixed parsing on big-endian platforms.
      + Fixed handling of comment after trailing comma.
  * LEAF:
      + API breaking change: throw leaf::exception(....) now becomes
        leaf::throw_exception(....)
      + Fixed a bug in support for a rare build configuration (exception
        handling enabled, diagnostics disabled)
      + Using nullptr instead of 0 throughout
      + Fixed pedantic warnings
  * Locale:
      + Deprecated support for C++03 and earlier, C++11 will be required in the
        next release
      + Provide -sICU_LINK_LOCALE as a temporary replacement for -sICU_LINK
        which is incompatible with Boost.Regex. -sICU_LINK_LOCALE and -
        sICU_LINK are deprecated and will be replaced by ICU_*_NAME options to
        be compatible with Boost.Regex
      + Fix UB/assertion failure in the ICU collator implementation when
        transforming empty strings
      + Fix some issues related to visibility of classes in shared libraries
        (Unix only)
      + Fix compatibility with C++20 mode
      + Fix compatibility with BOOST_USE_WINDOWS_H
      + Fix build failures due to missing includes
      + Handle or suppress many warnings which makes the build log cleaner
  * Log:
      + Bug fixes:
          o Fixed binding incorrect local address in UDP socket-based
            syslog_backend when IPv6 address is used for the syslog server. (#
            181)
          o Added a workaround for a bug in libstdc++ from gcc 11.2. When
            max_size_decor was used on a formatting stream, std::codecvt::
            do_length incorrectly accessed the input buffer and caused a buffer
            overflow.
      + See changelog for more details.
  * Math:
      + Deprecated C++11 support: from 2023 we will require C++14 as a minimum
        standard. This will mean GCC-5 or MSVC-14.1 as a minimal requirement.
      + Add constexpr fma support, see 734.
      + Add support for the Chatterjee Correlation Coefficient, see 770.
      + Added support for the logarithm of the PDF for all the distributions.
      + Improve support for building with no exception or RTTI support.
      + Some minor bug fixes for [sub 1]F[sub 1] corner cases, see 778.
  * Multiprecision:
      + Mark C++11 support as deprecated: from 2023 we will move to requiring
        C++14 as a minimum standard level. That will drop support for GCC
        versions prior to 5 and MSVC prior to 14.1.
      + Fix conflict between boost/cstdfloat.hpp and this library.
      + Clean up lots of gcc and clang warnings.
      + Fix input streaming of composite types (complex, interval rational)
        where there is a trailing delimeter in the stream and no whitespace.
      + Fix constexpr integer square root where the input is 1, 2 or 3.
      + Add missing #include of <memory> to float128.hpp.
      + Correct 2-arg constructor for class number to prevent ambiguity in some
        cases.
      + Correct and make more consistent behaviour of divide-by-zero in
        gmp.hpp.
  * Multi-index Containers:
      + Maintenance work.
  * Nowide:
      + Major performance improvement for Bulk I/O with files
      + basic_filebuf: Fix wrong return value of sync when fflush failed
      + basic_filebuf: Fix possible undefined behavior in a corner case when
        nothing was actually written but buffer is in "write" mode
      + basic_filebuf: Limit putback of characters (i.e. pbackfail) only
        allowing putback of buffered characters (may be only 1 character)
  * Optional:
      + Added specializations for std::hash<boost::optional<T>>. This is a
        breaking change for programs that define such specializations
        themselves. For more details see specs.
  * STLInterfaces:
      + Fix #53: "missing 'typename' prior to dependent type name
        'C::const_iterator'"
      + Fix #54: "Concept check fails on .data() of a view on contiguous
        iterator_interface instantiations"
      + New additions to make it easy to write views and view adaptors that
        work like, and interoperate with, the ones in the standard library:
          o Add workalikes for C++23's std::bind_back() and std::
            range_adaptor_closure for pre-C++23 code.
          o Add templates closure and adaptor to make writing view adaptors
            easier, following the examples in P2387.
  * System:
      + When an error_code is converted to std::error_code and then back to
        error_code, the original is now restored, if possible.
      + Reworked the conversion from error_category to std::error_category to
        avoid the one-time allocation that shows up on leak checkers.
      + Added a constructor that allows replacing the source location of an
        error_code, and a corresponding assign.
      + Added a converting constructor to result.
  * Unordered: Major update:
      + Refactor internal implementation to be dramatically faster
      + Allow final Hasher and KeyEqual objects
      + Update documentation, adding benchmark graphs and notes on the new
        internal data structures
  * Utility:
      + In string_view/string_ref, fixed max_size returning incorrect value. (#
        91)
      + Removed noexcept specifier from string_view::compare as it may throw on
        some input arguments. (#94)
      + In string_view/string_ref, added support for calling substr with no
        arguments. (#96)
      + Added string_view::contains methods that were introduced in C++23. (#93
        )
      + In string_view, added asserts in remove_prefix/remove_suffix methods to
        enforce the precondition that the prefix/suffix length does not exceed
        the string view size. The previous (undocumented) behavior of silently
        clamping the prefix/suffix length is deprecated and will be removed in
        a future release. (#92)
  * Wave: Fixed bugs:
      + #24: Line numbers wrong after conditional section
      + #160: one test fails with error C2660 and error C2440 under msvc /
        permissive- mode
      + #161: BOOST_WAVE_THROW_NAME_CTX does not result in a context callback
        and always throws
      + #162: When Boost headers are included in the preprocessed translation
        unit, Wave fails in boost/integer.hpp(99)

Updated Tools

  * Build:
      + Includes release of B2 version 4.9.2.


Version 1.79.0

Known Issues

These are patches from library authors which were found too late to be fixed in
the release.

  * Boost.JSON array::erase can segfault, see #692. Patch.

New Libraries

  * No new libraries.

Updated Libraries

  * Asio:
      + Added bind_allocator.
      + Added file_base::sync_all_on_write flag.
      + Added missing implementation of basic_file::release().
      + Added per-operation cancellation support to signal sets.
      + Exposed recycling_allocator as part of the public interface.
      + Added the nodiscard attribute to a number of functions.
      + Added OpenSSL 3.0 compatibility.
      + Added support for adopting an existing SSL* into an ssl::stream<>.
      + Enabled executor_work_guard<> in all build configurations.
      + Enabled movable socket iostreams when using clang.
      + Fixed bind_cancellation_slot and bind_executor compatibility with
        legacy completion tokens.
      + Fixed associator specialisations for experimental::append and
        experimental::prepend.
      + Fixed associated_allocator primary template.
      + Fixed io_uring implementations of async_receive_from for sockets and
        write_some_at for files.
      + Fixed io_uring feature detection.
      + Fixed experimental::coro's per-operation cancellation.
      + Fixed memory management in experimental::promise's type-erased
        completion handlers.
      + Fixed move operator= implementation for ssl::stream.
      + Fixed any_io_executor implementation to work when both
        BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT and
        BOOST_ASIO_SEPARATE_COMPILATION are defined.
      + Fixed implementation of basic_socket::at_mark() when using the
        sockatmark() system call.
      + Changed the recycling allocator to use the default alignment as the
        minimum alignment for allocations.
      + Added a workaround for apparent coroutine codegen bug with Apple's
        clang.
      + On Windows, changed the file support to open files using the same
        sharing mode as fopen().
      + On Linux, fixed UNIX domain sockets implementation to correctly handle
        EAGAIN.
      + Fixed implementation of experimental::basic_channel::reset() and
        experimental::basic_concurrent_channel::reset().
      + Fixed potential undefined behaviour in the experimental::promise.
      + Changed the co_spawn implementation to dispatch cancellation signals
        through the executor in some circumstances.
      + Fixed various header inclusion issues.
      + Fixed various warnings.
      + A number of documentation enhancements, including:
          o Added an overview of Asio's asynchronous model.
          o Reworked reference and requirements documentation in terms of
            asynchronous model.
          o Updated documentation for dispatch(), post(), and defer().
          o Documented per-operation cancellation for serial ports.
          o Clarified the non-concurrency guarantees made for allocators.
          o Reverted the io_context reference documentation to use
            executor_work_guard.
          o Added more detailed reference documentation to make_strand(),
            make_work_guard(), ip::address_v4, ip::address_v6, experimental::
            basic_channel, and experimental::basic_concurrent_channel.
          o Re-arranged and extended the Overview documentation to cover
            recently added features.
      + Added a C++11 example showing file descriptor passing over local
        sockets.
      + Added C++14 examples of wrapping callback-based APIs in asynchronous
        operations.
      + Consult the Revision History for further details.
  * Assert:
      + source_location().file_name() and source_location().function_name() now
        return "" instead of "(unknown)".
      + Added a source_location constructor from std::source_location.
      + Changed BOOST_CURRENT_LOCATION to more closely match the behavior of
        std::source_location::current(), such as being usable at top level or
        as a default function argument.
  * Atomic:
      + Fixed compilation for Universal Windows Platform (UWP). (#54)
      + Added BOOST_ATOMIC_NO_DARWIN_ULOCK configuration macro. The macro
        affects compilation on Darwin systems and disables ulock-based
        implementation of waiting and notifying operations. This may be useful
        to comply with Apple App Store requirements. (#55)
  * Beast:
      + Added missing include for file_body test.
      + Fixed WebSocket handshake response on failure.
      + Fixed open append mode for file_posix and file_win32.
      + Fixed file open with append/append_existing flag on Windows
      + Fixed clang-cl UTF8 path handling for file_win32 and file_stdio.
      + Added ARM64 builds to drone CI.
      + Fixed async_base documentation link.
      + Added tests for file open in append/append_existing mode.
      + Updated CI to include gcc 11, clang 12, msvc 14.3.
      + Added individual tests to CMake workflow.
      + 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.
  * Core:
      + Made boost::pointer_traits SFINAE friendly, addressing LWG3545. (Glen
        Fernandes)
      + Added boost::allocator_traits that uses the individual allocator access
        traits. This implementation supports C++03 and above. (Glen Fernandes)
      + Updated the allocator access traits to support most of the C++11
        allocator model in C++03. (Glen Fernandes)
      + boost/iterator.hpp is deprecated and will be removed in a future
        release. The header defines boost::iterator template, which is
        equivalent to std::iterator in <iterator> header. However, since std::
        iterator is itself deprecated in C++17, users are advised to remove
        boost::iterator or std::iterator use from their code.
      + Added boost::core::verbose_terminate_handler, a utility function
        intended to be passed to std::set_terminate that prints information
        about the uncaught exception to stderr.
  * Describe:
      + Enabled unions in BOOST_DESCRIBE_STRUCT and updated examples to check
        std::is_union<T>.
      + Added example of defining a fmtlib class formatter.
      + Added example of defining a fmtlib enum formatter.
      + Added example of printing pointers to members.
  * Filesystem:
      + v3: path::replace_extension now works in terms of v3 definition of path
        ::extension rather than v4.
      + Fixed compilation of path appending and concatenation operators with
        arguments of types convertible to path or compatible string type. (#223
        )
      + On POSIX systems that support fdopendir and O_NOFOLLOW and on Windows,
        remove_all is now protected against CVE-2022-21658. The vulnerability
        is a race condition that allows a third party process to replace a
        directory that is being concurrently processed by remove_all with a
        directory symlink and cause remove_all to follow the symlink and remove
        files in the linked directory instead of removing the symlink itself. (
        #224)
      + On Windows, in remove and remove_all implementation, use POSIX
        semantics for file removal, when supported by the OS (Windows 10 1709
        and later). When POSIX semantics is supported, the file name is removed
        from the filesystem namespace as soon as the file is marked for
        deletion, even if it is still open and in use. With legacy Windows
        semantics, the file name remains present in the the filesystem
        namespace until the last file handle to the file is closed, which
        allows the file marked for deletion to be opened and prevents creating
        new files with the same name. (#216)
      + On Windows, remove and remove_all now support deleting read-only
        directories. Support for removing read-only non-directory files was
        added previously.
      + On Windows, directory_iterator internal implementation has been
        reworked to better utilize modern Windows APIs, which may improve
        performance while handling symlinks.
      + On Windows, initialize internal WinAPI function pointers early, if
        possible, to allow Boost.Filesystem operations to be invoked in global
        constructors. This is only supported on MSVC, GCC, Clang and compatible
        compilers.
      + On Windows, resize_file should no longer fail with an error if the file
        to be resized is opened.
      + Disabled use of the statx syscall on Android prior to 11.0 (API version
        30). The syscall is blacklisted by seccomp and causes process
        termination in runtime. (#229)
      + Deprecated: boost/filesystem/string_file.hpp header is deprecated and
        will be removed in a future release. The header is no longer included
        by boost/filesystem.hpp by default. Users are advised to implement the
        functionality themselves or migrate to other implementations.
      + Deprecated: Windows CE support is deprecated and will be removed in a
        future release. Windows CE has been untested for many years and is
        likely non-functional.
  * Geometry:
      + Major change
          o PR#977 Rescaling is turned off by default. This avoids many related
            bugs in set operations and buffer.
      + Improvements
          o PR#923 Added algorithm closest_points for cartesian point/geometry.
          o PR#939 Added algorithm closest_points for other coordinate systems
            and geometry combinations excl. boxes.
          o PR#961 Added Web Mercator projection.
          o PR#966 More efficient cartesian distance strategy used in simplify.
      + Solved issues
          o #956 Result of simplify algorithm with incorrect closure.
          o #962 Runtime error in R-tree deserialization due to load factor.
          o #971 R-tree insertion time impacted by use of long double on ARM
            platforms.
      + Bugfixes
          o PR#936 Envelope of polygon containing pole.
          o PR#948 Spherical and geographic envelope for near meridian
            segments.
          o PR#974 Spheroidal normalization utilities for NaN coordinates.
          o Various fixes in set operations and buffer.
  * Integer:
      + Optimized integer_log2 implementation to use bit operations internally.
        This allows to employ bit instructions available on most modern CPUs. (
        #31)
  * IO:
      + Added boost::io::basic_nullbuf, a null stream buffer, and boost::
        basic_onullstream, a null output stream (Glen Fernandes).
  * Iterator:
      + In counting_iterator, added support for built-in 128-bit integer types
        supported by gcc and clang and compatible compilers on some target
        platforms.
      + Silenced gcc warnings about deprecated implicit copy assignment
        operator in counting_iterator.
  * JSON:
      + Standalone mode of the library is removed. Users who wish to continue
        using standalone JSON can switch to the C++ Alliance fork.
      + Add std::error_code overloads.
      + Add boost::source_location to error_codes.
      + Add support for JSON Pointer.
      + Naturally grow string during serialization.
  * LEAF:
      + Support for FreeRTOS and other embedded platforms
      + Improved diagnostic information
      + Improved configuration macros
      + BOOST_LEAF_CHECK using statement expressions under __GNUC__
      + Fixed symbol demangling bug
  * Log:
      + General changes:
          o In text_file_backend, added support for appending to a previously
            written log file, when file rotation is used and log file names use
            file counters.
          o Breaking change: The file_collector interface has changed:
              # scan_for_files method returns a scan_result structure that
                contains information collected during the scan;
              # is_in_storage method added for testing if a path refers to a
                file within the target storage directory.
          o Added a new invoke_manip stream manipulator that can be used for
            injecting user's function into a stream output expression.
      + Bug fixes:
          o Fixed file counter being set to zero if the user calls
            text_file_backend::scan_for_files multiple times, and the second
            and the following calls don't find any new files. (#179)
      + See changelog for more details.
  * Multi-index Containers:
      + Improved the efficiency of count operations in ranked indices from O(
        log(n) + count) to O(log(n)). Contributed by Damian Sawicki.
      + Maintenance work.
  * Nowide:
      + Fix compilation issues on some platforms (e.g. GCC 11 on MinGW-w64 and
        Cygwin)
      + Fix missing include when using BOOST_USE_WINDOWS_H and
        WIN32_LEAN_AND_MEAN
      + Add sanity check when using boost::nowide::stat with boost::nowide::
        stat_t
  * Optional:
      + Fixed issue #98.
      + Fixed issue #92.
      + Added support for BOOST_NO_IOSTREAM.
      + Now aligned storage uses unsigned char rather than char to avoid UB.
      + Now using cv-unqualified value_type with placement new to avoid UB.
  * Predef:
      + Version 1.14.0
      + Add detection of LoongArch (from Zhang Na).
  * QVM:
      + Added constexpr under C++17
      + Improved single header distribution
  * Smart Pointers:
      + Added boost::get_allocator_pointer to obtain the Allocator pointer from
        the result of boost::allocate_unique (Glen Fernandes).
  * System:
      + Added a boost::source_location parameter to throw_exception_from_error.
      + Added throw_exception_from_error overloads for errc::errc_t, std::
        error_code, std::errc, std::exception_ptr.
      + result<T>::value now automatically supplies BOOST_CURRENT_LOCATION to
        throw_exception_from_error via a default argument.
      + Added an errc::make_error_code overload taking a source location.
  * ThrowException:
      + Added boost::throw_with_location, a more lightweight alternative of
        BOOST_THROW_EXCEPTION for programs that do not use Boost.Exception.
  * Unordered:
      + All containers have been updated to support heterogeneous count,
        equal_range and find.
      + All containers now implement the member function contains.
      + erase_if has been implemented for all containers.
      + All containers have been updated to support heterogeneous erase and
        extract.
      + Changed behavior of reserve to eagerly allocate.
      + Various warning fixes in the test suite.
      + Update code to internally use boost::allocator_traits.
      + Switch to Fibonacci hashing.
      + Update documentation to be written in AsciiDoc instead of QuickBook.
  * Variant2:
      + Added operator<< for monostate.
  * Wave:
      + C++11 now required for building Wave itself
      + Fixed bugs:
          o #135: Comma operators in array subscripts are deprecated in C++20
          o #137: Simple unknown directive => found_unknown_directive is not
            called, stripped of pound.
          o #138: Empty ifdef block does not emit line directive for missing
            whitespace
          o #143: Parsing __has_include() fails with trailing tokens
          o #145: Sanitizer complains about reset_version()
          o #147: bitwise operations between different enumeration types are
            deprecated

Updated Tools

  * Build:
      + Includes release of B2 version 4.8.2.
netbsd-srcmastr pushed a commit that referenced this issue Jan 28, 2023
0.8.1
* In Pandoc and CslJson CaseTransform, group punctuation in clusters
  (#127).
* Fix sorting on dates (#126). Previously this broke for some styles,
  e.g. apa.csl, which styles dates as MM/DD/YYYY, and would lead to
  incorrect sorting of dates with months and/or days.
* Add citation-key variable from citeId. This is a new addition in CSL
  1.0.2.
* Update locales from upstream.
* Raise an error if multiple layout elements are present (#120).
* Fix two test cases. They had illegal bibliography elements with no layout
  children.
* If there are multiple layout elements, only use the last one. This can
  happen with CSL-M styles. The last layout should be
  locale-unspecific. This change will prevent us from emitting doubled
  citations or bibliographic references (see #120), allowing more graceful
  handling of CSL-M styles, even though we don't support CSL-M.

0.8.0.2
* Fix missing locator after collapsing and grouping with year suffix (#96).

0.8.0.1
* Fix disambiguation edge case (#116). We weren't properly disambiguating
  when only one of two ambiguous names had a subsequent citation.
* Chicago page numbering fixes.
* Update test suite form upstream.
* Handle whole-citation links differently in secondFieldAlign (#113,
  Benjamin Bray).
* Require data-default >= 0.5.2 (#114, Bodigrim).

0.8
* Add SubstitutedVal constructor for Val [API change] (#101, #108). This is
  used to track variables that are repressed due to substitution. (We can't
  just delete them, because they still count when we have "if" elements
  that check for a variable.)
* Fix logic for including a group. A group with a text node and an empty
  variable should count as empty.
* CaseTransform: don't change words that are a mix of uppercase and
  nonletters, like CRT1000.
* Fix label with "page" variable (#107).
* Fix error in test suite. We stripped indentation in the expected result
  in some cases.
* Update fr-FR locale from upstream.

0.7
* Handle old term form sub verbo as if it is sub-verbo (the new form).
* Update to latest locales in CSL repository.
* Makefile: Fix update-locales target.
* Keep explicit "et al." (#102, Albert Krewinkel).
* Factor out deleteSubstitutedVariables.
* Add any references in citationItemData to references.
* Add citationItemData field to CitationItem [API change]. This corresponds
  to the itemData that can appear in the JSON representation of a citation
  item.
* Add Ord, Eq instances for Reference, DisambiguationData, Val [API
  change].
netbsd-srcmastr pushed a commit that referenced this issue 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 issue Feb 11, 2023
2.3.0 (2023-01-26)

What's Changed

* Move deprecated constants into dedicated files. by @ioquatix in #99
* Adds Ruby 3.2 to the CI matrix. Updates checkout actions versions. by
  @petergoldstein in #100
* Modernize gem by @ioquatix in #101
* Add support for coverage. by @ioquatix in #102
netbsd-srcmastr pushed a commit that referenced this issue Jun 27, 2023
# hms 1.1.3

## Bug fixes

- Fix method consistency, checked by R-devel.

## Internal

- Use rlang instead of ellipsis (#106).


# hms 1.1.2

- Re-rendered documentation for compatibility with R-devel.


# hms 1.1.1

- Avoid blanket import for lifecycle package for compatibility with upcoming rlang.
- Establish compatibility with development version of testthat (#101, @lionel-).
netbsd-srcmastr pushed a commit that referenced this issue Oct 26, 2023
1.7.14, released 2023-07-01
    #106, add compatibility with GHC 9.7
    #103, future-proof against addition of Data.List.unsnoc

1.7.13, released 2023-04-22
    #102, add mwhen :: Monoid a => Bool -> a -> a
    #99, make replace with an empty from intersperse the replacement
    #101, future-proof against addition of Data.List.!?
netbsd-srcmastr pushed a commit that referenced this issue 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 issue Dec 1, 2023
[0.9.0] - 2023-11-30

Added

- Added support for tracing flows
  ([#776](fujiapple852/trippy#776))
- Added support for `icmp` extensions
  ([#33](fujiapple852/trippy#33))
- Added support for `MPLS` label stack class `icmp` extension
  objects ([#753](fujiapple852/trippy#753))
- Added support for [paris]
  (https://github.com/libparistraceroute/libparistraceroute) ECMP routing
  for `IPv6/udp` ([#749](fujiapple852/trippy#749))
- Added `--unprivileged` (`-u`) flag to allow tracing without elevated
  privileges (macOS
  only) ([#101](fujiapple852/trippy#101))
- Added `--tui-privacy-max-ttl` flag to hide host and IP details for low ttl
  hops ([#766](fujiapple852/trippy#766))
- Added `toggle-privacy` (default: `p`) key binding to show or hide private
  hops ([#823](fujiapple852/trippy#823))
- Added `toggle-flows` (default: `f`) key binding to show or hide tracing
  flows ([#777](fujiapple852/trippy#777))
- Added `--dns-resolve-all` (`-y`) flag to allow tracing to all IPs resolved
  from DNS lookup
  entry ([#743](fujiapple852/trippy#743))
- Added `dot` report mode (`-m dot`) to output hop graph in Graphviz `DOT`
  format ([#582](fujiapple852/trippy#582))
- Added `flows` report mode (`-m flows`) to output a list of all unique tracing
  flows ([#770](fujiapple852/trippy#770))
- Added `--icmp-extensions` (`-e`) flag for parsing `IPv4`/`IPv6` `icmp`
  extensions ([#751](fujiapple852/trippy#751))
- Added `--tui-icmp-extension-mode` flag to control how `icmp` extensions are
  rendered ([#752](fujiapple852/trippy#752))
- Added `--print-config-template` flag to output a template config
  file ([#792](fujiapple852/trippy#792))
- Added `--icmp` flag as a shortcut for `--protocol icmp`
  ([#649](fujiapple852/trippy#649))
- Added `toggle-help-alt` (default: `?`) key binding to show or hide
  help ([#694](fujiapple852/trippy#694))
- Added panic handing to Tui
  ([#784](fujiapple852/trippy#784))
- Added official Windows `scoop` package
  ([#462](fujiapple852/trippy#462))
- Added official Windows `winget` package
  ([#460](fujiapple852/trippy#460))
- Release `musl` Debian `deb` binary asset
  ([#568](fujiapple852/trippy#568))
- Release `armv7` Linux binary assets
  ([#712](fujiapple852/trippy#712))
- Release `aarch64-apple-darwin` (aka macOS Apple Silicon) binary
  assets ([#801](fujiapple852/trippy#801))
- Added additional Rust Tier 1 and Tier 2 binary assets
  ([#811](fujiapple852/trippy#811))

Changed

- [BREAKING CHANGE] `icmp` extension object data added to `json` and `stream`
  reports ([#806](fujiapple852/trippy#806))
- [BREAKING CHANGE] IPs field added to `csv` and all tabular
  reports ([#597](fujiapple852/trippy#597))
- [BREAKING CHANGE] Command line flags `--dns-lookup-as-info` and
  `--tui-preserve-screen` no longer require a boolean
  argument ([#708](fujiapple852/trippy#708))
- [BREAKING CHANGE] Default key binding for `ToggleFreeze` changed from `f`
  to `ctrl+f` ([#785](fujiapple852/trippy#785))
- Always render AS lines in hop details mode
  ([#825](fujiapple852/trippy#825))
- Expose DNS resolver module as part of `trippy` library
  ([#754](fujiapple852/trippy#754))
- Replaced unmaintained `tui-rs` crate with `ratatui` crate
  ([#569](fujiapple852/trippy#569))

Fixed

- Reverse DNS lookup not working in reports
  ([#509](fujiapple852/trippy#509))
- Crash on NetBSD during window resizing
  ([#276](fujiapple852/trippy#276))
- Protocol mismatch causes tracer panic
  ([#745](fujiapple852/trippy#745))
- Incorrect row height in Tui hop detail navigation view for hops with no
  responses ([#765](fujiapple852/trippy#765))
- Unnecessary socket creation in certain tracing modes
  ([#647](fujiapple852/trippy#647))
- Incorrect byte order in `IPv4` packet length calculation
  ([#686](fujiapple852/trippy#686))
netbsd-srcmastr pushed a commit that referenced this issue Dec 17, 2023
18.0.0 (2022-03-24)

Added
* Support for EcmaScript modules (aka ESM) (#1756)
* New optional name property on the Hook schema (#1914)

Changed
* JSON Schema: some array fields now have "minItems": 1.
* Generate Java code that uses Optional in getters.
* Setters are removed.
* Classes without required fields have public empty constructors, and
  static of methods for each field. (#1858 aslakhellesoy)
* Java: Make this library more null safe.

19.0.0 (2022-05-31)

Added
* Expand the messages protocol with keyword types (#1966)

Changed
* [Java] the PickleStep constructor has changed - it now needs an
  extra PickleStepType argument.
* [Java] the Step constructor has changed - it now needs an extra
  StepKeywordType argument.

19.1.0 (2022-06-20)

Added
* [Javascript] Adding the json schemas of the messages to the NPM
  package (PR#2010)

19.1.1 (2022-06-22)

Fixed
* [Javascript] Schema are actually missing from 19.1.0 (PR#2016)

19.1.2 (2022-06-22)

Fixed
* [Javascript] Schema was still missing in 19.1.1 due to how npm
  manages the files attribute in package.json (PR#2020)

19.1.3 (2022-09-20)

Fixed
* Add name field to package.cjs.json (#36)

19.1.4 (2022-09-22)

Changed
* Update dependencies

20.0.0 (2022-11-14)

Changed
* Add workerId field to TestCaseStarted message (#34)
* [Java] Enabled reproducible builds

Fixed
* Change Go module name to match repo (#101)

21.0.0 (2022-12-17)

Added
* [Java] Add javadoc to messages (#124)

Changed
* Add exception to TestStepFinished TestRunFinished (#122)

21.0.1 (2022-12-17)

Fixed
* [Java] Suppress warnings for missing javadoc (#128)

22.0.0 (2023-04-06)

Added
* Added source reference to parameter type (#45)

Fixed
* Corrected Java and PHP generators to allow running using Docker on
  Windows (#146)

23.0.0 (2023-11-01)

Added
* Added C++ implementation (#152)

Changed
* [Ruby] Updated minimum Ruby version to 2.5 - (#177 luke-hill)

24.0.0 (2023-11-24)

Added
* Add stackTrace prop to Exception message (#182)
netbsd-srcmastr pushed a commit that referenced this issue Feb 7, 2024
2.78.1 (stable):

Glib:
* Dispatcher: Allow destroy during emit
  (Kjell Ahlstedt) Issue #116 (PBS)

gmmproc:
* h2def.py: Make return types that are unsigned work.
  Required by gtkmm4, GdkDmabufTextureBuilder
  (Kjell Ahlstedt)

Build:
* Meson build: Don't fail if warning_level=everything
  (Daniel Boles, Kjell Ahlstedt) Merge request gtkmm!87
* MSVC, NMake: Make dep paths configurable
  (Chun-wei Fan)


2.78.0 (stable):

Glib:
* ustring: Add a std::hash<> specialization
  Not included by #include <glibmm.h>.
  Activate with #include <glibmm/ustring_hash.h>.
  (Kjell Ahlstedt) Issue #16 (Murray Cumming), merge request !61


2.77.0 (unstable):

Glib, Gio:
* Use callback functions with C linkage
  (Kjell Ahlstedt) Issue #1 (Murray Cumming)

Glib:
* Add create_variant()
  (Kjell Ahlstedt) Issue #109 (ilya-fedin)
* Add VariantBase::get_dynamic()
  (Kjell Ahlstedt) Issue #110 (ilya-fedin)
* Variant: Provide Variant<long long> whenever possible
  (Kjell Ahlstedt) Issue #111 (ilya-fedin)
* VariantContainerBase: Add a const version of get_child()
  and deprecate the non-const version
  (Kjell Ahlstedt) Issue #112 (ilya-fedin)
* Add DBusHandle and Variant<DBusHandle>
  (Kjell Ahlstedt) Issue #113 (ilya-fedin)
* ustring: Add truncate_middle()
  (Kjell Ahlstedt)

Gio:
* Add Subprocess and SubprocessLauncher
  (Kjell Ahlstedt) Issue #106 (ilya-fedin)
* Resolver: Add set/get/property_timeout()
  (Kjell Ahlstedt)

Documentation:
* Gio::File: Fix various spelling errors
  (Daniel Boles)
* Remove AUTHORS and README.SUN; add info to README.md
  (Kjell Ahlstedt) Issue gtkmm#140

gmmproc:
* Generate callback functions with C linkage
  (Kjell Ahlstedt) Issue #1 (Murray Cumming)

Examples:
* Add subprocess example
  (Kjell Ahlstedt) Issue #106 (ilya-fedin)

Tests:
* Giomm tests: Test for /etc/passwd instead of /etc/fstab
  (Jeremy Bicha) Merge request !60

Build:
* Require glib-2.0 >= 2.77.0
* Autotools build: Don't include config.h in ustring.cc
  (Kjell Ahlstedt)


2.76.0 (stable):

Glib:
* Dispatcher: Don't warn when a Dispatcher is deleted while
  messages are pending.
  (Kjell Ahlstedt) Issue #108 (PBS)
* Dispatcher: Add const versions of emit() and operator()()
  and deprecate the non-const versions.
  (Kjell Ahlstedt) Issue #103 (PBS)

Gio:
* ListModel: Add get_typed_object()
  (Kjell Ahlstedt) See issue gtkmm#132


2.75.0 (unstable):

Glib:
* Module: Deprecate build_path()
* Binding: Fix the bind_property() with two transformation functions
* Add the GLIBMM_CHECK_VERSION() preprocessor macro
  (Kjell Ahlstedt)

Gio:
* NetworkMonitor::get_default(): Add refreturn
  (Kjell Ahlstedt) Issue #104 (ilya-fedin)
* AppInfo: Add get_[recommended|fallback]_for_type()
  (Kjell Ahlstedt) Issue #105 (ilya-fedin)
* Add BytesIcon
  (Kjell Ahlstedt) Issue #107 (ilya-fedin)
* ListStore: Rename a local variable
  (Chun-wei Fan) Merge request !59
* Settings: Add bind() with mapping functions and unbind()
  (Kjell Ahlstedt)

Documentation:
* Glib::Binding::unbind(): Fix documentation
  (Kjell Ahlstedt)

gmmproc:
* generate_wrap_init.pl.in: Disable warning C4273 on Visual Studio
  (Chun-wei Fan) Merge request !57

Tests:
* Fix giomm_simple test on Windows
  (Chun-wei Fan) Merge request !58

Meson build:
* Detect if we build from a git subtree
  (William Roy) Merge request gtkmm!72
  (Kjell Ahlstedt) Issue gtkmm#131 (William Roy)
* Don't copy files with configure_file()
  (Kjell Ahlstedt)


2.74.0 (stable):

Gio:
* ListStore: Add find()
* File: Add create_tmp()
  (Kjell Ahlstedt)

Documentation:
* File: Document create_for_parse_name()
  (Kjell Ahlstedt)


2.73.2 (unstable):

Glib:
* ustring: Add release()
  (Kjell Ahlstedt) Issue #101 (PBS)

Gio:
* ListStore: Don't derive a gtkmm__GListStore GType
  (Kjell Ahlstedt) Issue glib#2661
* DBus::Proxy: get_connection(), get_interface_info(): Add refreturn
  (Kjell Ahlstedt) Issue #102 (우정모)
* AppInfo: Add get_default_for_type_async/finish(),
  get_default_for_uri_scheme_async/finish()
* File: Add make_symbolic_link_async/finish()
* ListStore: Add property_n_items()
* Resolver: Add lookup_by_name_with_flags(),
  lookup_by_name_with_flags_async/finish()
  (Kjell Ahlstedt)

Documentation:
* Glib::RefPtr: Improve the documentation
  (Kjell Ahlstedt) Issue gtkmm#119 (David Marceau)
* Gio::Action: Improve the documentation
  (Kjell Ahlstedt) Issue #100 (Diederik van Lierop)

gmmproc:
* Improved handling of final types
  (Kjell Ahlstedt) Issue glib#2661
* Improve handling of gi-docgen syntax in C documentation
  (Kjell Ahlstedt)

Build:
* Meson build: Avoid unnecessary configuration warnings
  (Kjell Ahlstedt)
* Meson/MSVC: Add more warnings to ignore
  (Chun-wei Fan)
* NMake Makefiles: Ensure g[lib|io]mm[config.h|.rc] are created
  (Chun-wei Fan) Issue #99 (Martin Ammermüller)
* Require glib-2.0 >= 2.73.2
  (Kjell Ahlstedt)


2.72.1 (stable):

Glib:
* ustring_Iterator: Don't declare copy constructor =default.
  A fix in the 2.72.0 release broke ABI.
  (Kjell Ahlstedt) Issue #98 (Scotty Trees)


2.72.0 (stable):

Glib:
* MainContext: Add create(MainContextFlags flags)
  (Kjell Ahlstedt)

Gio:
* Add AppInfoMonitor
  (Kjell Ahlstedt, technic93) Issue #97
* DBus::Proxy: signal_signal() accepts a signal name
* File: Add move_async() and move_finish()
* SocketClient: Deprecate set/get/property_tls_validation_flags()
* TlsCertificate: Add properties private_key, private_key_pem,
pkcs11_uri, private_key_pkcs11_uri. Fix the create*() methods.
* TlsClientConnection.hg: Deprecate set/get/property_validation_flags()
  (Kjell Ahlstedt)

gmmproc:
* Add "ignore_deprecations" argument in _WRAP_METHOD()
  (Kjell Ahlstedt)

Build:
* Require glib-2.0 >= 2.71.2
  (Kjell Ahlstedt)
* MSVC build: Support VS2022 builds
  (Chun-wei Fan)
* Meson build: Specify 'check' option in run_command()
  Require Meson >= 0.55.0
  (Kjell Ahlstedt)


2.70.0 (stable):

Glib:
* Timer: Add resume() and is_active()
  (Kjell Ahlstedt) Issue #87 (chamignoom)
* Add the Environ class
  (Kjell Ahlstedt) Issue #89 (Alexander Shaduri)
* Binding: Add dup_source(), dup_target().
    Deprecate get_source(), get_target().
  TimeZone: Add operator bool(), create_identifier(). Deprecate create().
  (Kjell Ahlstedt)

Gio:
* FileInfo: Add get/set_access_date(), get/set_creation_date().
  Notification: Add set_category().
  TlsCertificate: Add property/get_not_valid_before(),
    property/get_not_valid_after(), property/get_subject_name(),
    property/get_issuer_name().
  TlsConnection: Add property/get_protocol_version(),
    property/get_ciphersuite_name().
  (Kjell Ahlstedt)

Tests:
* Add test of Glib::Environ
  (Kjell Ahlstedt) Issue #89 (Alexander Shaduri)

gmmproc:
* Handle gi-docgen syntax in C documentation
  (Kjell Ahlstedt)

Build:
* Require glib-2.0 >= 2.69.1
  (Kjell Ahlstedt)


2.68.2 (stable):

Glib:
* Replace all g_quark_from_static_string() by g_quark_from_string()
  (Kjell Ahlstedt) Issue #96 (小太)

Gio:
* FileEnumerator: Remove refreturn to avoid memory leak
  (talisein) Merge request !53
* ListModel::get_object(): Make it work for interface classes
  (Kjell Ahlstedt) Issue #93 (pumkinpal)
* AppInfo::get_all(): Avoid a crash on Windows
  (Kjell Ahlstedt) Issue #94 (Lawrence37)

Build:
* MSVC build: Remove extraneous GLIBMM_API in Glib::ustring
  (Kjell Ahlstedt) Issue #92 (Christoph Reiter)
netbsd-srcmastr pushed a commit that referenced this issue Mar 4, 2024
1.5.0 (2024-03-04)

* Modernize gem.
* Expose #idle_duration - for experimental load calculation. (#101)

1.5.1 (2024-03-04)

* Ensure the idle_duration is zeroed if it won't be captured.
netbsd-srcmastr pushed a commit that referenced this issue Mar 29, 2024
Features / Improvements ✨
    Links should be "openable" (#43)
    Add support for previewing images in room scrollback (#108)
    Enable sending strikethrough text (#141)
    Support composing messages in an external editor (#155)
    Add support for logging in with SSO (#160)
    Add new command for logging out of iamb session (#162)
    Support custom sorting for room and user lists (#170)
    feat: desktop file for GUI environment launchers (#178)
    Add a new :chats window that lists both DMs and Rooms (#184)
    Add support for desktop notifications (#192)
    Support coloring entire message with the user color (#193)
    Indicate and sort on rooms with unread messages (#205)
    Support following the .well-known entries for a username's domain (#209)
    Add support for threads (#216)
    Add support for custom key macros (#217)
    Support displaying shortcodes instead of Emojis in messages (#222)
    Support configuring user gutter width (#223)
    Enable autolinking when rendering Markdown (#226)
    Support notifications via terminal bell (#227)
    Support loading a TOML configuration (#229)
    Add commands for importing and exporting room keys (#233)

Documentation / README updates 📚
    Fix example config (#140)
    Add more documentation (#166)
    Update README.md to add openSUSE Tumbleweed (#191)
    Add snap install instructions (#210)
    Add example of mapping "V" to toggle message selection mode (#195)
    Update manual pages to use mdoc(7) and list commands (#230)
    Add an icon for iamb (#232)

Bug Fixes 🐞
    Fix not showing display names in already synced rooms (#171)
    Fix image preview offset (#179)
    Update to [email protected] to use native sixel lib (#181)
    Fix truncation/padding for non-ASCII sender names (#182)
    Fix crash on small image preview (#198)
    Download rooms keys from backups if they exist (#211)
    Ignore key releases on platforms that support it (#220)
    Provide better error message for M_UNKNOWN_TOKEN (#101)
    Fix entering thread view when there's no messages yet (#224)
    Fix image previews in replies (#225)
    Reset message bar when ! is passed with :cancel (#231)
    Wait to log in before starting background tasks (#234)

Performance ⏱️
    Reduce CPU usage by instead fetching read receipts after related sync events (#168)
    Load receipts for room before acquiring lock (#213)

Building / Housekeeping 🧹
    Update Cargo.lock file (#157)
    Update modalkit for newer ratatui and crossterm
    Fix CI workflow (#164)
    Use mozilla-actions/sccache-action for caching builds (#169)
    Enable direnv for Nix flakes (#183)
    Update to [email protected] (#200)
    Rename Nix flake build input from pkgconfig to pkg-config (#203)
    Update modalkit dependencies (#204)
    Move LTO into its own "release-lto" profile (#207)
    Fix Nix flake hashes (#206)
    Pull in modalkit repository with a Cargo.lock (#208)
    Nix flake updates (#214)
    Update to [email protected] (#215)
    Support linking against system OpenSSL (#218)
    GitHub workflow should use --locked to avoid broken Cargo.lock (#219)
    Fix odd Windows-only compile error (#221)
netbsd-srcmastr pushed a commit that referenced this issue May 9, 2024
This package hasn't been updated in a long time. The following list of
changes was therefore curated to focus on features or recent bugfixes.

Changes in 1.7.2:

* Bug #899 Guided Remediation: Parse paths in npmrc auth fields correctly.
* Bug #908 Fix rust call analysis by explicitly disabling stripping of debug info.
* Bug #914 Fix regression for go call analysis introduced in 1.7.0.

Changes in 1.7.0:

* Feature #352 Guided Remediation
  Introducing our new experimental guided remediation feature on osv-scanner fix subcommand.
* Feature #805 Include CVSS MaxSevirity in JSON output.

Changes in 1.6.2:

* Feature #694 OSV-Scanner now has subcommands!
  The base command has been moved to scan (currently the only commands is scan). By default if you do not pass in a command, scan will be used, so CLI remains backwards compatible.
* Feature #776 Add pdm lockfile support.

Changes in 1.6.0 and 1.6.1:

* Feature #694 Add support for NuGet lock files version 2.
* Feature #655 Scan and report dependency groups (e.g. "dev dependencies") for vulnerabilities.
* Feature #702 Created an option to skip/disable upload to code scanning.
* Feature #732 Add option to not fail on vulnerability being found for GitHub Actions.
* Feature #729 Verify the spdx licenses passed in to the license allowlist.

Changes in 1.5.0:

* Feature #501 Add experimental license scanning support!
* Feature #642 Support scanning renv files for the R language ecosystem.
* Feature #513 Stabilize call analysis for Go
* Feature #676 Simplify return codes:
  Return 0 if there are no findings or errors.
  Return 1 if there are any findings (license violations or vulnerabilities).
  Return 128 if no packages are found.
* Feature #651 CVSS v4.0 support.
* Feature #60 Pre-commit hook support.

Changes in 1.4.3:

* Feature #621 Add support for scanning vendored C/C++ files.
* Feature #581 Scan submodules commit hashes.

Changes in 1.4.1:

* Feature #534 New SARIF format that separates out individual vulnerabilities
* Experimental Feature #57 Experimental Github Action

Changes in 1.4.0:

* Feature #183 Add (experimental) offline mode
* Feature #452 Add (experimental) rust call analysis, detect whether vulnerable functions are actually called in your Rust project
* Feature #505 OSV-Scanner support custom lockfile formats

Changes in 1.3.5:

* Feature #409 Adds an additional column to the table output which shows the severity if available.

Changes in 1.3.0:

* Feature #198 GoVulnCheck integration! Try it out when scanning go code by adding the --experimental-call-analysis flag.
* Feature #260 Support -r flag in requirements.txt files.
* Feature #300 Make IgnoredVulns also ignore aliases.
* Feature #304 OSV-Scanner now runs faster when there's multiple vulnerabilities.

Changes in 1.2.0:

* Feature #168 Support for scanning debian package status file, usually located in /var/lib/dpkg/status. Thanks @cmaritan
* Feature #94 Specify what parser should be used in --lockfile.
* Feature #158 Specify output format to use with the --format flag.
* Feature #165 Respect .gitignore files by default when scanning.
* Feature #156 Support markdown table output format. Thanks @deftdawg
* Feature #59 Support conan.lock lockfiles and ecosystem Thanks @SSE4
* Updated documentation! Check it out here: https://google.github.io/osv-scanner/

Changes in 1.1.0:

* Feature #98: Support for NuGet ecosystem.
* Feature #71: Now supports Pipfile.lock scanning.
* Bug #85: Even better support for narrow terminals by shortening osv.dev URLs.
* Bug #105: Fix rare cases of too many open file handles.
* Bug #131: Fix table highlighting overflow.
* Bug #101: Now supports 32 bit systems.

Tested on NetBSD/amd64.
netbsd-srcmastr pushed a commit that referenced this issue Jun 28, 2024
Changelog:
### GMime 3.2.15

* Fixed the g_mime_object_get_header API definition to note that it can return null
* Fixed a memory leak in address_parse() (issue #159)
* Added custom header folding logic for the Newsgroups: header (issue #162)
* Fixed a configure issue regarding ac_cv_sys_file_offset_bits (issue #158)
* Fixed an infinite loop in the Content-Type and Content-Disposition parameter
  serialization logic (issue #165)

### GMime 3.2.14

* Avoid clearing the header list of a GMimeMessage when adding addresses to an address header. (issue #129)
* Added the internet_address_list_append_parse() prototype definition to internet-address.h. (issue #128)
* Use gtk-doc ulink syntax in doc comments instead of `<a href=...>`. (issue #131)
* Fixed rfc2047 token decoding logic for base64 encodings. (issue #133)
* Properly handle GDateTime UTC offsets with non-zero seconds. (issue #134)
* Improved introspection data for bindings such as Vala.
* Improved address name quoting.
* Added a GNotifyDestroy to the GMimeParserOptions callback.
* Fixed the URL linkifier logic to properly handle links without a '/' before the query string.
* Fixed the URL linkifier logic to handle domains that start with numbers. (issue #152)
* Reverted base64 decoder optimizations from 3.2.10 and 3.2.11 to support chunked base64. (issue #150)

### GMime 3.2.13

* Optimized parsing of messages with lots of address headers. (issue #126)

### GMime 3.2.12

* Fixed a memory leak in g_mime_gpgme_get_decrypt_result().

* Updated vapigen.m4, introspection.m4, and gpgme.m4 to improve cross-platform builds.

* Add and use ax_lib_socket_nsl.m4 so that systems that do not require linkage with libnsl
  are not forced to link with it unnecessesarily.

* Changed the build system to no longer use dolt (which is obsolete).

### GMime 3.2.11

* Fixed a bug in the base64 decoder. D'oh!

### GMime 3.2.10

* Improved performance of base64 encoder by ~5%.

* Improved performance of base64 decoder by ~25%.

* Unref the autocrypt header after adding it to the list. (issue #118)

* Work around a bug in g_time_zone_new_offset() by using identifiers instead. (issue #120)

### GMime 3.2.9

* g_mime_multipart_signed_verify() now allows type/subtype and type/x-subtype signature parts. (issue #115)

* Fixed header folding logic to avoid folding the first line of a header value. (issue #112 and issue #113)

* Fixed bugs discovered by static analysis. (issue #110)

* Fixed GMimeStreamPipe to set errno to ESPIPE for seek/tell/length methods.

* Fixed GMimeCertificates to prefer gpgme_user_id_t's address field over the email field. (issue #102)

### GMime 3.2.8

* Various fixes to Vala (and other?) language bindings. (issue #96 and issue #101)

* Enabled build for PPC64LE architecture (issue #100)

* Added g_mime_object_write_content_to_stream() (issue #97)

* Fixed parameter list parsing logic to not report a warning when everything is valid.

* Fixed the parser to handle MIME parts without headers -or- content of any kind.
netbsd-srcmastr pushed a commit that referenced this issue Oct 6, 2024
Highlights
 - Added support for 32X emulation (with a caveat regarding performance)
 - Significant audio quality improvements for Genesis / Mega Drive and SNES
 - Support for loading directly from .zip and .7z files
 - Lots of Genesis / Mega Drive bugfixes

32X Notes
 - All released 32X games plus Doom 32X Resurrection should be playable except for the 6 FMV games that require the Sega CD 32X combo
     - Doom 32X Resurrection features that require Sega CD do not currently work (CD-DA music, offloading some audio processing to the Sega CD 68000)
 - SH-2 CPU cache and basic SH-2 memory access timings are emulated, so overall SH-2 speed should be moderately accurate (though still faster than actual hardware in some cases)
 - SH-2 emulation is currently not optimized well - full-speed 32X emulation requires a CPU with decent single-core performance, and fast-forward speed will be very limited
     - For a comparison point, the Steam Deck CPU barely runs 32X at full speed from my testing
     - This will likely improve in a future release - the current implementation is pure interpreter because that was easiest to implement and it (surprisingly) still runs at full speed with a fast enough host CPU

New Features
 - Added support for loading directly from .zip and .7z compressed archives for every console except Sega CD (#91)
     - Archives containing multiple images are only partially supported; in this case the emulator will always load the first file with a recognized file extension
 - (SNES) Added an audio enhancement option for cubic Hermite interpolation between decoded ADPCM samples, which usually makes the audio sound sharper and less muffled
     - The difference is most noticeable in games that use low sample rate audio, such as the Donkey Kong Country trilogy
     - This is off by default because it pretty radically changes the sound in some games
 - (Genesis) Added an option to have no controller plugged into one or both of the controller ports, for games that behave differently based on the presence or absence of a controller (#113)
 - (NES) Added support for the UNROM 512 mapper (iNES mapper 30), a homebrew mapper used by a number of games including Black Box Challenge and Battle Kid 2 (#73 / #86)
     - This mapper unusually supports flash memory mapped as PRG "ROM"; for the games that have this (e.g. Black Box Challenge), it's emulated by persisting the entire current contents of PRG ROM to the save file whenever the game modifies itself
 - (GB) Added partial support for the Hudson HuC-3 mapper, used by Robopon and a few Japan-only games (#89)
     - "Partial" because the builtin speaker, the IR sensor, and parts of the event/alarm functionality are not emulated
 - GUI: Added a new "Open Using" menu option to open a file using a specific emulator core, rather than always choosing the core based on file extension (#121)
 - GUI: Added an option to explicitly set the UI theme to light or dark rather than always using the system default

Improvements
 - (Genesis) YM2612 DAC crossover distortion (aka the "ladder effect") is now emulated, which significantly improves music accuracy in a number of games; this is extremely noticeable in Streets of Rage, Streets of Rage 2, and After Burner II, among others
     - There is also a new option to disable ladder effect emulation, since the effect was less pronounced on later console models (and also because I think it's neat to hear how it affects the sound by toggling a checkbox)
 - (SMS/GG/Genesis) Replaced the PSG and YM2612 low-pass filters with much more aggressive ones; this should generally improve audio quality, and in some cases will remove erroneous buzzing/popping noises that were present before (e.g. in The Adventures of Batman & Robin) (#108)
 - Improved audio output behavior for all emulator backends, which should significantly reduce the likelihood of audio pops caused by audio buffer underflow
 - GUI: Added help text to most options menus
 - GUI: Improved performance when the main list table is large

Genesis / Mega Drive Fixes
 - Fixed the PSG's noise channel not oscillating when the period is set to 0 (which should behave the same as period of 1); this fixes missing high-frequency noise in Knuckles' Chaotix among other games
 - Fixed a degenerate case for performance when a game repeatedly writes the same value to specific VDP registers during active display, as After Burner Complete does
 - Fixed some 68000 CPU bugs discovered while working on 32X support
     - Implemented line 1010/1111 exception handling for when the 68000 executes an illegal opcode where the highest 4 bits are 1010 or 1111; Zaxxon's Motherbase 2000 depends on this to boot
     - Fixed divide by zero exception handling pushing the wrong PC value onto the stack; After Burner Complete frequently divides by zero and depends on correctly handling the exception
     - Fixed the DIVS instruction finishing way too quickly in some cases where the division overflows a signed 16-bit result but the CPU doesn't detect the overflow early
 - Fixed an off-by-one error in determining whether to set the sprite overflow flag in the VDP status register; this fixes flickering sprite graphics in Alex Kidd in the Enchanted Castle (#125)
     - This was a regression introduced in v0.6.1 as part of the changes to get Overdrive 2's textured cube effect working
 - Adjusted how writes to the controller CTRL registers ($A10009 / $A1000B) affect the controller's TH line; this fixes controls not working properly in Trouble Shooter (#110)
 - Made it possible for games to read the VINT flag in the VDP status register as 1 slightly before the 68000 INT6 interrupt is raised; this fixes Tyrants: Fight Through Time and Ex-Mutants failing to boot (#127)
 - Implemented undocumented behavior regarding how the Z80 BIT instruction sets the S and P/V flags; this fixes missing audio in Ex-Mutants, which relies on this behavior in its audio driver code
 - Implemented approximate emulation of memory refresh delay
     - This is emulated by simply stalling the 68000 for 2 out of every 128 mclk cycles, unless it executes a very long instruction that doesn't access the bus mid-instruction (e.g. multiplication or division)
     - Memory refresh delay is not emulated in 32X mode because it seemed to break audio synchronization between the Genesis and 32X hardware in some games
 - Added SRAM mappings for several games that have SRAM in the cartridge but don't declare it in the cartridge header: NHL 96, Might and Magic, and Might and Magic III (#107 / #116 / #117)
 - Little-endian ROM images are now detected and byteswapped on load; this along with a custom ROM address mapping fixes Triple Play failing to boot (#112)
 - The emulator will now recognize the unconventionial region string "EUROPE" as meaning that the game only supports PAL/EU; this fixes Another World incorrectly defaulting to NTSC/US mode instead of PAL/EU (#122)
 - Unused bits in the Z80 BUSACK register ($A11100) now read approximate open bus instead of 0; this fixes Danny Sullivan's Indy Heat failing to boot (#120)
 - Improved VDP DMA timing; this fixes corrupted graphics in OutRunners (#118)
 - The vertical interrupt is now delayed by one 68000 instruction if a game enables vertical interrupts while a vertical interrupt is pending; this fixes Sesame Street: Counting Cafe failing to boot (#119)
 - The Z80 BUSACK line now changes immediately in response to bus arbiter register writes instead of waiting for the next Z80 instruction time slot; this fixes the Arkagis Revolution demo failing to boot (#123)
 - The emulator will now enable the bank-switching Super Street Fighter 2 mapper if the cartridge header declares the system as "SEGA DOA" in addition to the standard value of "SEGA SSF"; this fixes the Demons of Asteborg demo not working properly (#115)

Other Fixes
 - Fixed save state slots not working properly if the ROM filename contains multiple dots; before this fix, only one slot would ever be used
 - (Sega CD) When a game issues a CDD command while the drive is playing, the drive now continues to read one more sector before it changes behavior in response to the new command; this fixes Radical Rex crashing during the intro (#100)
 - (Sega CD) Writes to PRG RAM by the main CPU and the Z80 are now blocked unless the sub CPU is removed from the bus; this fixes Dungeon Explorer from crashing after the title screen (#104)
 - (Sega CD) The sub CPU is now halted if it accesses word RAM in 2M mode while word RAM is owned by the main CPU, and it remains halted until the main CPU transfers ownership back to the sub CPU. This fixes glitched graphics in Marko's Magic Football (#101)
 - (Sega CD) Various fixes to CDC register and DMA behavior; with this plus all of the above fixes, the emulator now fully passes the mcd-verificator test suite (#105)
 - (NES) The UxROM mapper code (iNES mapper 2) no longer assumes that the cartridge has no PRG RAM; this fixes Alwa's Awakening: The 8-Bit Edition failing to boot (#93)
 - (SNES) Adjusted timing of PPU line rendering to occur 4 mclk cycles later; this fixes Lemmings having a flickering line at the top of the screen during gameplay
     - This worked correctly prior to v0.7.2 - it was broken by the CPU timing adjustment that fixed Rendering Ranger R2 from constantly freezing
 - (GB) Fixed the window X condition incorrectly being able to trigger when WX=255 and fine X scrolling is used (SCX % 8 != 0); this fixes corrupted graphics in Pocket Family GB 2
 - Fixed the emulator crashing if prescale factor is set so high that the upscaled frame size exceeds 8192x8192 in either dimension
netbsd-srcmastr pushed a commit that referenced this issue Oct 13, 2024
Highlights
 - Added support for 32X emulation (with a caveat regarding performance)
 - Significant audio quality improvements for Genesis / Mega Drive and SNES
 - Support for loading directly from .zip and .7z files
 - Lots of Genesis / Mega Drive bugfixes

32X Notes
 - All released 32X games plus Doom 32X Resurrection should be playable except for the 6 FMV games that require the Sega CD 32X combo
     - Doom 32X Resurrection features that require Sega CD do not currently work (CD-DA music, offloading some audio processing to the Sega CD 68000)
 - SH-2 CPU cache and basic SH-2 memory access timings are emulated, so overall SH-2 speed should be moderately accurate (though still faster than actual hardware in some cases)
 - SH-2 emulation is currently not optimized well - full-speed 32X emulation requires a CPU with decent single-core performance, and fast-forward speed will be very limited
     - For a comparison point, the Steam Deck CPU barely runs 32X at full speed from my testing
     - This will likely improve in a future release - the current implementation is pure interpreter because that was easiest to implement and it (surprisingly) still runs at full speed with a fast
enough host CPU

New Features
 - Added support for loading directly from .zip and .7z compressed archives for every console except Sega CD (#91)
     - Archives containing multiple images are only partially supported; in this case the emulator will always load the first file with a recognized file extension
 - (SNES) Added an audio enhancement option for cubic Hermite interpolation between decoded ADPCM samples, which usually makes the audio sound sharper and less muffled
     - The difference is most noticeable in games that use low sample rate audio, such as the Donkey Kong Country trilogy
     - This is off by default because it pretty radically changes the sound in some games
 - (Genesis) Added an option to have no controller plugged into one or both of the controller ports, for games that behave differently based on the presence or absence of a controller (#113)
 - (NES) Added support for the UNROM 512 mapper (iNES mapper 30), a homebrew mapper used by a number of games including Black Box Challenge and Battle Kid 2 (#73 / #86)
     - This mapper unusually supports flash memory mapped as PRG "ROM"; for the games that have this (e.g. Black Box Challenge), it's emulated by persisting the entire current contents of PRG ROM to
the save file whenever the game modifies itself
 - (GB) Added partial support for the Hudson HuC-3 mapper, used by Robopon and a few Japan-only games (#89)
     - "Partial" because the builtin speaker, the IR sensor, and parts of the event/alarm functionality are not emulated
 - GUI: Added a new "Open Using" menu option to open a file using a specific emulator core, rather than always choosing the core based on file extension (#121)
 - GUI: Added an option to explicitly set the UI theme to light or dark rather than always using the system default

Improvements
 - (Genesis) YM2612 DAC crossover distortion (aka the "ladder effect") is now emulated, which significantly improves music accuracy in a number of games; this is extremely noticeable in Streets of
Rage, Streets of Rage 2, and After Burner II, among others
     - There is also a new option to disable ladder effect emulation, since the effect was less pronounced on later console models (and also because I think it's neat to hear how it affects the sound
by toggling a checkbox)
 - (SMS/GG/Genesis) Replaced the PSG and YM2612 low-pass filters with much more aggressive ones; this should generally improve audio quality, and in some cases will remove erroneous buzzing/popping
noises that were present before (e.g. in The Adventures of Batman & Robin) (#108)
 - Improved audio output behavior for all emulator backends, which should significantly reduce the likelihood of audio pops caused by audio buffer underflow
 - GUI: Added help text to most options menus
 - GUI: Improved performance when the main list table is large

Genesis / Mega Drive Fixes
 - Fixed the PSG's noise channel not oscillating when the period is set to 0 (which should behave the same as period of 1); this fixes missing high-frequency noise in Knuckles' Chaotix among other
games
 - Fixed a degenerate case for performance when a game repeatedly writes the same value to specific VDP registers during active display, as After Burner Complete does
 - Fixed some 68000 CPU bugs discovered while working on 32X support
     - Implemented line 1010/1111 exception handling for when the 68000 executes an illegal opcode where the highest 4 bits are 1010 or 1111; Zaxxon's Motherbase 2000 depends on this to boot
     - Fixed divide by zero exception handling pushing the wrong PC value onto the stack; After Burner Complete frequently divides by zero and depends on correctly handling the exception
     - Fixed the DIVS instruction finishing way too quickly in some cases where the division overflows a signed 16-bit result but the CPU doesn't detect the overflow early
 - Fixed an off-by-one error in determining whether to set the sprite overflow flag in the VDP status register; this fixes flickering sprite graphics in Alex Kidd in the Enchanted Castle (#125)
     - This was a regression introduced in v0.6.1 as part of the changes to get Overdrive 2's textured cube effect working
 - Adjusted how writes to the controller CTRL registers ($A10009 / $A1000B) affect the controller's TH line; this fixes controls not working properly in Trouble Shooter (#110)
 - Made it possible for games to read the VINT flag in the VDP status register as 1 slightly before the 68000 INT6 interrupt is raised; this fixes Tyrants: Fight Through Time and Ex-Mutants failing
to boot (#127)
 - Implemented undocumented behavior regarding how the Z80 BIT instruction sets the S and P/V flags; this fixes missing audio in Ex-Mutants, which relies on this behavior in its audio driver code
 - Implemented approximate emulation of memory refresh delay
     - This is emulated by simply stalling the 68000 for 2 out of every 128 mclk cycles, unless it executes a very long instruction that doesn't access the bus mid-instruction (e.g. multiplication or
division)
     - Memory refresh delay is not emulated in 32X mode because it seemed to break audio synchronization between the Genesis and 32X hardware in some games
 - Added SRAM mappings for several games that have SRAM in the cartridge but don't declare it in the cartridge header: NHL 96, Might and Magic, and Might and Magic III (#107 / #116 / #117)
 - Little-endian ROM images are now detected and byteswapped on load; this along with a custom ROM address mapping fixes Triple Play failing to boot (#112)
 - The emulator will now recognize the unconventionial region string "EUROPE" as meaning that the game only supports PAL/EU; this fixes Another World incorrectly defaulting to NTSC/US mode instead of
PAL/EU (#122)
 - Unused bits in the Z80 BUSACK register ($A11100) now read approximate open bus instead of 0; this fixes Danny Sullivan's Indy Heat failing to boot (#120)
 - Improved VDP DMA timing; this fixes corrupted graphics in OutRunners (#118)
 - The vertical interrupt is now delayed by one 68000 instruction if a game enables vertical interrupts while a vertical interrupt is pending; this fixes Sesame Street: Counting Cafe failing to boot
(#119)
 - The Z80 BUSACK line now changes immediately in response to bus arbiter register writes instead of waiting for the next Z80 instruction time slot; this fixes the Arkagis Revolution demo failing to
boot (#123)
 - The emulator will now enable the bank-switching Super Street Fighter 2 mapper if the cartridge header declares the system as "SEGA DOA" in addition to the standard value of "SEGA SSF"; this fixes
the Demons of Asteborg demo not working properly (#115)

Other Fixes
 - Fixed save state slots not working properly if the ROM filename contains multiple dots; before this fix, only one slot would ever be used
 - (Sega CD) When a game issues a CDD command while the drive is playing, the drive now continues to read one more sector before it changes behavior in response to the new command; this fixes Radical
Rex crashing during the intro (#100)
 - (Sega CD) Writes to PRG RAM by the main CPU and the Z80 are now blocked unless the sub CPU is removed from the bus; this fixes Dungeon Explorer from crashing after the title screen (#104)
 - (Sega CD) The sub CPU is now halted if it accesses word RAM in 2M mode while word RAM is owned by the main CPU, and it remains halted until the main CPU transfers ownership back to the sub CPU.
This fixes glitched graphics in Marko's Magic Football (#101)
 - (Sega CD) Various fixes to CDC register and DMA behavior; with this plus all of the above fixes, the emulator now fully passes the mcd-verificator test suite (#105)
 - (NES) The UxROM mapper code (iNES mapper 2) no longer assumes that the cartridge has no PRG RAM; this fixes Alwa's Awakening: The 8-Bit Edition failing to boot (#93)
 - (SNES) Adjusted timing of PPU line rendering to occur 4 mclk cycles later; this fixes Lemmings having a flickering line at the top of the screen during gameplay
     - This worked correctly prior to v0.7.2 - it was broken by the CPU timing adjustment that fixed Rendering Ranger R2 from constantly freezing
 - (GB) Fixed the window X condition incorrectly being able to trigger when WX=255 and fine X scrolling is used (SCX % 8 != 0); this fixes corrupted graphics in Pocket Family GB 2
 - Fixed the emulator crashing if prescale factor is set so high that the upscaled frame size exceeds 8192x8192 in either dimension
netbsd-srcmastr pushed a commit that referenced this issue Oct 22, 2024
What's Changed

  Update CD workflows to use use cross by @LucasFA in #101
  docs: Fix wrong link to config documentation by @kalekdev in #103
  fix(deps): deprecated dependencies, causing building error! by @thamelodev in #108
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants