-
Notifications
You must be signed in to change notification settings - Fork 164
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
Comments
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) |
Sure - pkg/56733 submitted.
I'm not quite sure where to go with all these things; my apologies.
|
I also submitted an upstream issue (about another problem) on 2022-01-10. So I am not sure what is the workflow here. |
@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. |
@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:
|
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 Other implementations:
The NetBSD pkgsrc tree is directly used as part of the Arch Linux So effectively NetBSD pkgsrc tree is the ultimate upstream for a number |
# 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).
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
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)
[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
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
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)
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
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.
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.
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].
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
# 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-).
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.!?
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)
[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))
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)
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)
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.
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)
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.
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.
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
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
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).
The text was updated successfully, but these errors were encountered: