Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

openldap-server buckles under load due to file descriptor limit #181

Closed
bahamat opened this issue Mar 16, 2019 · 7 comments
Closed

openldap-server buckles under load due to file descriptor limit #181

bahamat opened this issue Mar 16, 2019 · 7 comments
Assignees

Comments

@bahamat
Copy link
Member

bahamat commented Mar 16, 2019

http://www.openldap.org/faq/data/cache/1126.html

OpenLDAP has a hard coded limit limit of 4096 file descriptors. Documentation suggests using the following compile time flag:

env CPPFLAGS="-DOPENLDAP_FD_SETSIZE=8192" ./configure

This should (based on what I'm reading) work at least as far back as 2.2.30. Older versions may need to use the following instead.

env CPPFLAGS="-DFD_SETSIZE=8192" ./configure
@bahamat
Copy link
Member Author

bahamat commented Mar 16, 2019

I need this back ported to 2017Q4.

@jperkin
Copy link
Collaborator

jperkin commented Apr 30, 2019

Can I confirm this is with the x86_64 set? The code appears to be written such that it ignores the operating system default (which in our case would be 64k and plenty), but it's hard to tell as it depends on include ordering.

@jperkin jperkin self-assigned this Apr 30, 2019
@jperkin
Copy link
Collaborator

jperkin commented May 2, 2019

Fixed in NetBSD@01a9f8b, will backport to 2017Q4.

@jperkin
Copy link
Collaborator

jperkin commented May 3, 2019

openldap-client-2.4.45nb1 is now available for 2017Q4 x86_64.

@jperkin jperkin closed this as completed May 3, 2019
@bahamat
Copy link
Member Author

bahamat commented May 3, 2019

What about openldap-server?

@jperkin
Copy link
Collaborator

jperkin commented May 3, 2019

The client package provides libldap, which the server links against.

@bahamat
Copy link
Member Author

bahamat commented May 3, 2019

OK, great. That should work.

Thanks!

jperkin pushed a commit that referenced this issue Jul 1, 2019
Changelog:
New Libraries

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

Updated Libraries

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

Compilers Tested

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

Boost's additional test compilers include:

    Linux:
        Clang: 3.0, 3.8.1, 3.9.1, 4.0.1, 5.0.2, 6.0.1
        Clang, C++0x: 3.0
        Clang, C++11: 3.0, 3.1, 3..0.0, 8.0.0
        Clang, C++14: 3.5.0, 3.6.0, 3.7.1, 3.8.0, 3.9.1, 4.0.0, 4.0.1, 5.0.2, 6.0.1, 7.0.0, 8.0.0
        Clang, C++17: 5.0.2, 6.0.1, 7.0.0, 8.0.0
        GCC: 4.4.7, 4.5.3, 4.6.3, 4.9.4, 5.4.0, 5.5.0, 8.0.1
        GCC, C++0x: 4.4.7
        G9.4, 5.4.0, 6.4.0, 7.1.0, 8.0.1
        GCC, C++14: 5.4.0, 5.5.0, 6.3.0, 6.4.0, 7.1.0, 7.3.0, 8.0.1, 8.1.0
        GCC, C++17: 7.3.0, 8.0.1
        Intel, C++14: 18.0
    OS X:
        Apple Clang: 9.0.0, 9.1.0, 10.0.0
        Apple Clang, C++11: 9.0.0, 9ang, C++14: 9.0.0, 9.1.0, 10.0.0
        Apple Clang, C++17: 9.1.0, 10.0.0
        Apple Clang, C++1z: 9.0.0
        Apple Clang, C++2a: 10.0.0
    Windows:
        GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
        GCC, C++0x: 4.6.4
        GCC, C++11 GCC, C++14: 5.1.0, 5.2.0, 5.3.0, 6.1.0, 6.2.0, 6.3.0, 6.4.0
        GCC, C++17: 7.1.0, 7.2.0, 7.3.0
        Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
    FreeBSD:
        Clang: 4.0.0
        Clang, C++11: 4.0.0
        Clang, C++14: 4.0.0
jperkin pushed a commit that referenced this issue Aug 26, 2019
Changelog:

New Libraries

    Variant2: A never-valueless, strong guarantee implementation of std::variant, from Peter Dimov.

Updated Libraries

    Align:
        Support for any integral type in the integral versions of align_up and align_down.
        Revised the implementation of aligned_allocator to no longer require a specialization for void.
        Define propagate_on_container_move_assignment and is_always_equal in aligned_allocator.
    Asio:
        Improved performance slightly by eliminating a redundant move construction when completed handlers are dispatched.
        Eliminated a compiler warning by annotating a case fall-through in the free function connect() implementation.
        Fixed the is_*_buffer_sequence detection traits for user-defined sequence types.
        Fixed some Windows-specific warnings about an incompatible pointer cast when obtaining the CancelIoEx entry point.
        Changed to automatically set the defaults when opening a serial port on Windows.
        Changed the serial port get_option() member function to be const.
        Fixed a name hiding issue with the WinRT stream-oriented socket backend's shutdown function.
        Applied a minor fix to the documentation for is_dynamic_buffer.
        Added some support for Haiku OS.
        Added wolfSSL compatability.
        Changed to require C++17 or later for coroutines TS support with clang.
        Fixed a doxygen generation problem in the tutorial.
        Ensured example programs are correctly incorporated into the documentation.
    Any:
        Static initialization of the default constructed boost::any is now possible.
        Fixed performance regression in assignment on a compilers without move-semantics.
        Maintenance work.
    Beast:
        This version consists mostly of bug fixes and performance improvements.
        Substantial work included for the split compilation mode, to reduce compile time when defining BOOST_BEAST_SEPARATE_COMPILATION.
        We'd love to know how you or your company use Beast, consider adding an item to the Companies and Individuals Using Beast list.
        See the full Release Notes for a complete list of changes.
    Circular Buffer:
        Correct doxygen generated reference to no longer show internal members. (Glen Fernandes)
        Eliminate ubsan warning on add and sub. (Glen Fernandes)
        Fix incorrect check in is_uninitialized. (Niklas Fejes)
    Container:
        Fixed bugs:
            GitHub #47: "added alignment specification for small_vector".
            GitHub #88: "Implement C++17 MoveAssignable requirements for self-move assignments".
            GitHub #107: "Alignment ignored in resource_adaptor".
            GitHub #109: "Get rid of integer overflow in copy_move_algo.hpp (-fsanitize=integer)".
            GitHub #110: "Avoid gcc 9 deprecated copy warnings in new_allocator.hpp".
            GitHub #112: "vector::resize() compilation error with msvc-10..12: data is not a member of boost::detail::aligned_storage".
            GitHub #114: "Fix small_vector noexcept specification".
            GitHub #116: "MSVC + boost 1.70 compilation error when windows.h is already included (detail/thread_mutex.hpp)".
            GitHub #117: "flat_map/map::insert_or_assign with hint has wrong return types".
            GitHub #118: "Non-unique inplace_set_difference used in in flat_tree_merge_unique and iterator invalidation in insert_unique".
            GitHub #122: "Fix has_trivial_destructor_after_move".
            GitHub #123: "With heterogeneous lookup, equal_range can result in a range with length greater than 1".
        deque can now have options, using deque_options. The block size/bytes can be be specified.
        static_vector can now have options, using static_vector_options. Alignment and throwing behaviour can be be specified.
        small_vector can now have options, using small_vector_options. Alignment and growth factor can be be specified.
    Context:
        Add support for RISC-V LP64D
        #72: Fix ABI violation on ppc64 ELFv2
        #99: cleanup of stack if creating ucontext fails
    Conversion:
        Maintenance work.
    Core:
        Added functions alloc_construct, alloc_construct_n, alloc_destroy, and alloc_destroy_n in <boost/core/alloc_construct.hpp> for allocator aware and exception safe construction and destruction of objects and arrays. (Glen Fernandes)
        Added constexpr functions first_scalar in <boost/core/first_scalar.hpp> for obtaining a pointer to the first scalar element of an array. Given a pointer of type T* they return a pointer of type remove_all_extents_t<T>*. (Glen Fernandes)
        Added class template noinit_adaptor in <boost/core/noinit_adaptor.hpp> which is an allocator adaptor that converts any allocator into one whose construct(ptr) performs default initialization via placement new, and whose destroy(ptr) invokes the value_type destructor directly. (Glen Fernandes)
        Added class template default_allocator in <boost/core/default_allocator.hpp>, which can serve as a minimal default allocator that has interface similar to C++20 std::allocator, supports configurations with disabled exceptions and does not have std as an associated namespace. The allocator uses operator new and operator delete for allocation. (Glen Fernandes)
        In <boost/core/uncaught_exceptions.hpp> header, added workarounds for better compatibility with QNX SDP 7.0 when libc++/libc++abi libraries are used. (Andrey Semashev, #59)
        The <boost/detail/sp_typeinfo.hpp> header is now marked as deprecated and will be removed in a future release. <boost/core/typeinfo.hpp> should be used instead. (Peter Dimov)
    Dynamic Bitset:
        Enabled hardware-assisted popcount on MSVC (#38).
        Added support for boost::hash and std::hash (#45).
        Support copy-initialization with default constructor (#48).
    Endian:
        Clarified requirements on the value type template parameter
        Added support for float and double
        Added endian_load, endian_store
        Updated endian_reverse to correctly support all non-bool integral types
        Moved deprecated names to the deprecated header endian.hpp
    Fiber:
        documentation for shared_work updated
    Filesystem:
        Fixed incorrect error_code returned from directory iterator increment when readdir_r is used.
        For path, fixed rvalue-aware operator/ return type to return an rvalue instead of rvalue reference. This fixes leaving a dangling reference in the user's code if the result of operator/ is bound to a const reference. (#110)
        Fixes for better compatibility with Windows CE. (#24)
        Added minimal support for CMake. (#106)
    Flyweight:
        Maintenance work.
    Histogram:
        New features:
            Support for thread-safe storages and new thread-safe accumulators
            Support for compiling without exceptions/RTTI (increases performance by 10-20 %) (with Glen Fernandes)
            Performance improvements for 1D and 2D histograms
            boost::histogram::indexed now returns forward iterator range instead of input iterator range
            boost::histogram::indexed_range::accessor is now non-copyable and acts like reference to cell value, making more algorithms from the C++ stdlib work
            boost::histogram::algorithm::reduce with new slice option and option fusion
            boost::histogram::algorithm::project accepts runtime indices for static histograms
        Bug Fixes:
            boost::histogram::algorithm::reduce also works on histograms that have some axis types without reduction support
            boost::histogram::axis::traits::update now works correctly for boost::histogram::axis::variant
        Other:
            100 % test coverage
            Reduced internal Boost dependencies
            Improved documentation and examples
            Guaranteed no-throw moves for all builtin axis types
            Compile cleanly at higher warning levels
        See changelog for more details.
    IoStreams:
        Fixed processing of multi-stream files (#87).
        Added support for multi-threaded LZMA (#95).
    Interprocess:
        GitHub #85 ("warning: Implicit conversion loses integer precision").
        GitHub #86 ("warning: Possible misuse of comma operator").
    Intrusive:
        GitHub #42: Documentation does not describe treap priority_of_value changes
        GitHub #43: Fix tests with BOOST_INTRUSIVE_VARIADIC_TEMPLATES enabled
        GitHub #45: Disable variadic templates for MSVC-12 to avoid ICEs
    LexicalCast:
        Added tests for boost::filesystem::path conversions #25.
        Maintenance work, including #28.
    Log:
        New features:
            Improved support for C++17 std::string_view in basic_formatting_ostream. The string view can now participate in character code conversion on output.
            Added auto_newline formatter and stream manipulator. It can be used to ensure that formatted output always ends with a newline while avoiding duplicate newlines.
            In the output stream, text file and text multi-file sink backends added support for configuring behavior with regard to appending a trailing newline to every formatted log record. Use auto_newline_mode named parameter of the backend constructor or call the set_auto_newline_mode method on the sink backend.
            Note: The default behavior with regard to trailing newlines added by sink backends has changed slightly compared to the previous Boost.Log releases. The backends will now only add a trailing newline if there isn't one in the formatted log message string already. In previous releases a newline was added unconditionally.
            Added support for passing arbitrary function objects in the filter and format named parameters to sink constructors and convenience functions for initializing sinks. For example, it is now possible to specify C++11 lambda functions directly in these parameters. (#63)
            In the default filter and formatter factories used in filter and formatter parsers, added support for severity level attribute values of type boost::log::trivial::severity_level. For filters, the support is limited to attributes with "Severity" name.
        Bug fixes:
            Fixed incorrect parsing of components of the rotated file names while scanning for files in the text file sink backend. If the file name pattern ended with a placeholder (for example, a file counter), the scan_for_files method would not find files matching that pattern in the target storage, leaving them unmanaged. In particular, such files would not be deleted to free target storage. (#78)
            Updated basic_formatting_ostream and basic_record_ostream to make it possible to overload stream output operators for pointers to user-defined types. User-defined operator<< overloads taking std::basic_ostream and a pointer argument should now be picked up by the compiler when the pointer is being written to one of Boost.Log streams. (#84)
        See changelog for more details.
    Math:
        New features:
            Catmull-Rom interpolator now works in C++11
            Cardinal quadratic B-spline interpolation
            Domain of elliptic integrals extended
            sin_pi and cos_pi performance improvements
            Forward-mode automatic differentiation
            Vector valued barycentric rational interpolation
            Ooura's method for evaluation of Fourier integrals
        Bug fixes:
            Multiple compatibility issues with Multiprecision fixed
            Lambert-W fixed on a rare architecture
    Metaparse:
        New features:
            In C++11 variadic template support for the following: sequence, one_of_c, one_of, repeated_one_of, repeated_one_of1, one_char_except_c, one_char_except.
        Bug fixes:
            BOOST_METAPARSE_STRING does not use out of range character values as template arguments.
            any_of_c<> does not create empty array in C++14.
    Move:
        Git Issue #26: "Invalid iterator increment/decrement in the last iteration of adaptive_sort_combine_blocks".
    Multi Array:
        Simplify allocator support by using new alloc_construct_n and alloc_destroy_n facilities from Core. (Glen Fernandes)
    Multi-index Containers:
        Added variants of const_mem_fun and mem_fun for differently qualified member functions (issue #24).
        Terse key specification syntax now correctly handles noexcept-specified member functions (issue #24).
    Outcome:
        Enhancements:
            #184 As per request from Boost release managers, relocated version.hpp and revision.hpp into detail, and added the Boost licence boilerplate to the top of every source file which was missing one (I think). Also took the opportunity to run the licence restamping script over all Outcome, so copyright dates are now up to date.
            #185 Add FAQ item explaining issue #185, and why we will do nothing to fix it right now.
            #189 Refactored the OUTCOME_TRY implementation to use more clarified customisation points capable of accepting very foreign inputs. Removed the std::experimental::expected<T, E> specialisations, as those are no longer necessary. Fixed the documentation for the customisation points which previously claimed that they are ADL discovered, which they are not. Added a recipe describing how to add in support for foreign input types.
            #183 Added a separate motivation/plug_error_code specifically for Boost.
        Bug fixes:
            OUTCOME_VERSION_MINOR hadn't been updated to 1.
            #181 Fix issue #181 where Outcome didn't actually implement the strong swap guarantee, despite being documented as doing so.
            #190 Fix issue #190 in Boost edition where unit test suite was not runnable from the Boost release distro.
            #182 Fix issue #182 where trait::is_exception_ptr_available<T> was always true, thus causing much weirdness, like not printing diagnostics and trying to feed everything to make_exception_ptr().
            #192 Fix issue #192 where the std::basic_outcome_failure_exception_from_error() was being defined twice for translation units which combine standalone and Boost Outcome's.
    Parameter:
        Upgraded keyword generation macro BOOST_PARAMETER_TEMPLATE_KEYWORD (#15).
        Moved keyword generation macro BOOST_PARAMETER_NESTED_KEYWORD from Accumulators to this library (#28).
        Added support for std::reference_wrapper and std::ref() (#16).
        Moved boost::parameter::required, boost::parameter::optional, and boost::parameter::deduced metafunction definitions to their own header files in directory boost/parameter (#18).
        Added support for Boost.Parameter-enabled function call operators (#20).
        Added support for parameter category qualifiers "forward", "consume", and "move_from" (current qualifiers are "in", "out", and "in_out") (#21) (#23) based on http://www.modernescpp.com/index.php/c-core-guidelines-how-to-pass-function-parameters. Added new usage syntax BOOST_PARAMETER_NAME((object-name), namespace-name) qualifier(tag-name)) and BOOST_PARAMETER_NAME(qualifier(name)). (Existing code that uses qualifiers directly and correctly with BOOST_PARAMETER_FUNCTION and other code generation macros should remain unaffected for now, so no breaking changes.) The reason for the change in usage is to enable applying of parameter category constraints to Boost.Parameter-enabled functions and constructors invoked through argument composition. (Otherwise, it is currently possible to use argument composition to bypass parameter category constraints applied in BOOST_PARAMETER_FUNCTION et. al.)
        Added support for perfect forwarding (#23) (#26), so that parameter::parameters::operator() can accept non-const rvalues. As a positive side effect, Boost.Parameter-enabled functions and constructors are no longer bound by BOOST_PARAMETER_MAX_ARITY on compilers that support perfect forwarding. User code can now check for this support by detecting the configuration macro BOOST_PARAMETER_HAS_PERFECT_FORWARDING, or manually turn off this support by defining the configuration macro BOOST_PARAMETER_DISABLE_PERFECT_FORWARDING.
        Added metafunctions boost::parameter::is_argument_pack (#27), boost::parameter::are_tagged_arguments (#52), and boost::parameter::result_of::compose (#75).
        Added variadic function template boost::parameter::compose() which takes in named arguments and returns them in an argument pack (#52). For compilers that do not support perfect forwarding, the configuration macro BOOST_PARAMETER_COMPOSE_MAX_ARITY determines the maximum number of arguments that boost::parameter::compose() can take in (#61).
        Added code generation macros BOOST_PARAMETER_BASIC_FUNCTION_CALL_OPERATOR, BOOST_PARAMETER_BASIC_CONST_FUNCTION_CALL_OPERATOR, BOOST_PARAMETER_NO_SPEC_FUNCTION, BOOST_PARAMETER_NO_SPEC_MEMBER_FUNCTION, BOOST_PARAMETER_NO_SPEC_CONST_MEMBER_FUNCTION, BOOST_PARAMETER_NO_SPEC_FUNCTION_CALL_OPERATOR, BOOST_PARAMETER_NO_SPEC_CONST_FUNCTION_CALL_OPERATOR, BOOST_PARAMETER_NO_SPEC_CONSTRUCTOR, and BOOST_PARAMETER_NO_SPEC_NO_BASE_CONSTRUCTOR (#52).
        Added support for Boost.MP11 (#47) (#66) (#70). User code can now check for this support by detecting the configuration macro BOOST_PARAMETER_CAN_USE_MP11, or manually turn off this support by defining the configuration macro BOOST_PARAMETER_DISABLE_MP11_USAGE.
        Improved support for parameter-dependent return types via SFINAE (#73).
    PtrContainer:
        Fix a ptr_vector regression introduced in 1.66.0 (#24).
    PolyCollection:
        Maintenance work.
    SmartPtr:
        Added aliasing constructors to weak_ptr
        Added weak_ptr<T>::empty()
        Added enable_shared_from, shared_from, and weak_from
    Stacktrace:
        Fixed output of name(), source_location() and source_line() for the default constructed frame with thread sanitizer builds in C++98 mode.
        Fixed output of long strings from name() and source_location() on MSVC #78.
        Maintenance work.
    Test:
        Boost.test v3.11 see the Changes log for more details.
        Breaking changes:
            Boost.Test shows deprecation warnings if some very old headers as deprecated. If you encounter such warnings, please follow the indications: those headers will be removed in a future release.
        New feature:
            Now BOOST_TEST can be used to compare abstract types
        Bug fixes and pull requests:
            GitHub Issues: #209, #218
            GitHub Pull Requests: #219, #224
    Utility:
        Implemented function template ostream_string in <boost/utility/ostream_string.hpp> to optimally write any kind of string content to an output stream. It satisfies the requirements of [ostream.formatted.reqmts]. (Glen Fernandes)
        Optimized the stream output operators of basic_string_view and basic_string_ref to write directly to the rdbuf stream buffer. (Glen Fernandes)
    Uuid:
        Breaking change: MD5 name-based uuid generation was corrected to be identical on all endian systems. Define BOOST_UUID_COMPAT_PRE_1_71_MD5 to keep the result in a format compatible with 1.66 through 1.70. This does not affect the default name-based uuid generation which is based on SHA1. (#109)
    Variant:
        Fixed compilation of boost::apply_visitor with variants passed by non const reference in #68. Many thanks to Ed Catmur for providing the fix.
        Added support for std::hash (#49). Macro BOOST_VARIANT_DO_NOT_SPECIALIZE_STD_HASH could be defined to avoid those specializations.
        Added micro optimizations for binary size and performance by Nikita Kniazev in #63 and #66.
        Maintenance work, including #64 by Nikita Kniazev and #67 by Hans Dembinski.
    YAP:
        Added an example showing how to make self-evaluating YAP expressions (that is, expressions that don't need an explicit call to evaluate() or transform()).
jperkin pushed a commit that referenced this issue Sep 2, 2019
Changes since 1.5.2:

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

Changes since 1.5.1:

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

Changes since 1.5.0:

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


Changes from Epoxy 1.4.3

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

Issues fixed

    #128 - Fix macOS linker flags [Tom Schoonjans]
    #129 - Use GLVND if available [Adam Jackson]
    #134 - Add fallback definition for EGL_CAST [Daniel Stone]
    #133 - Try even harder to not load GLX [Adam Jackson]
    #138 - Fix the libOpenGL soname [Adam Jackson]
    #137 - Update differences with GLEW [Nigel Stewart]
    #131 - Add epoxy_set_resolver_failure_handler() [Adam Jackson]
    #140 - Fix pointer mismatch on Windows 10 [danem]
    #141 - Define visibility flags for static builds [Dylan Baker]
    #136 - Expose epoxy_extension_in_string() [Lyude Paul]
    #151 - Use correct guard for Android builds [Robert Bragg]
    #154 - Fix dlwrap for glvnd [Adam Jackson]
    #155 - Respect DLOPEN_LIBS [Michał Górny]
    #143 - Fix printf family usage [Ikey Doherty]
    #152 - Do not use OPENGL_LIB on Android
    #145 - Add epoxy_glsl_version()
jperkin pushed a commit that referenced this issue Jan 3, 2020
Version 3.1.1.1
* Fix for GHCJS. #431

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

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

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

Version 3.0.1.1
* Fix blocking if_nametoindex errors on Windows #391

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Version 2.6.2.0
* Add support for TCP_USER_TIMEOUT.
* Don't conditionally export the SockAddr constructors.
* Add isSupportSockAddr to allow checking for supported address types
  at runtime.
jperkin pushed a commit that referenced this issue Jan 8, 2020
Changes:
1.26.1
------
 - build system: Install the "implicitclass" backend with
   "-rwx------" permissions, so that CUPS executes it as root,
   as the "ipp" CUPS backend also has to be executed as root
   (Issue #183).
 - build system: Fixed setting permissions when installing the
   "cups-brf" backend.
 - libcupsfilters: When using the
   "media-{bottom,left,right,top}-margin-supported" IPP
   attributes (needed if we have no "media-col-database"), use
   the minimum and not the maximum margins, this allows
   accessing more of the printer's capabilities, especially for
   legacy printers which do not provide sufficient information
   (Issue #22).

1.26.0
------
 - cups-browsed: When generating local queues for printers for
   which the local CUPS daemon would provide temporary queues
   use the PPDs generated by libcupsfilters and not the ones
   generated by CUPS. The PPD generation of libcupsfilters also
   works with IPP-1.x-only printers, printers which do not
   support to query "media-col-database" and printers which
   support driverless printing only via PCLm. This can be
   changed via the "UseCUPSGeneratedPPDs" directive in
   cups-browsed.conf (Issue #22).
 - libcupsfilters: Re-structured the get_printer_attributes()
   function to remove the recursive calls for the fallbacks, to
   check required attributes in the response only if requested,
   and to fully integrate the method of getting a suitable
   response for a full printer capability list also if the
   printer is only IPP 1.1 or does not support the
   "media-col-database" attribute (Issue #22, Issue #163).
 - libcupsfilters, cups-browsed, driverless: Moved the funtions
   get_printer_attributes() and resolve_uri() from cups-browsed
   into libcupsfilters, to share them with the driverless
   utility (Issue #22).
 - implicitclass: Fixed wrong stdout redirection from the
   filters to the IPP backend and hard-coded path for "ipp"
   backend call (Possible fix for Issue #163, Issue #181).
 - cups-browsed, driverless: Use DNS-SD-service-name-based URIs
   instead of host-name-based ones, as CUPS also does. In
   cups-browsed one can switch back to the conventional
   host-name-based URIs via the new "DNSSDBasedDeviceURIs"
   configuration option.  Note that cups-browsed always uses
   conventional URIs for printers discovered via legacy CUPS
   browsing or LDAP.
 - cups-browsed: When removing a CUPS queue, do not consider an
   error (and retry) if the queue does not actually exist. Also
   ignore errors when checking whether there are still
   jobs. This way when a new queue gets created and the
   generation of the PPD file fails the attempt to remove this
   non-existing queueu when removing the printer entry does not
   cause any problem.
 - cups-browsed: Improved the fallback mechanism of the
   get_printer_attributes() function. Instead of considering
   the request failed by the content of the response only when
   not more than the two language atrributes come out, we check
   through a list of required attributes whether they are all
   there.  In addition, we actually fail when all callbacks
   have failed (Issue #22).
 - cups-browsed: Introduced new configuration options
   "UpdateCUPSQueuesMaxPerCall" and
   "PauseBetweenCUPSQueueUpdates" to limit the amount of local
   CUPS queues created, modified, or removed in a single event
   callback. Before, when there were thousands of printers in
   the network, cups-browsed got blocked for other tasks, like
   assigning a destination printer for a cluster print job
   (Issue #163).

1.25.13
-------
 - implicitclass: When passing on the job via the "ipp" CUPS
   backend, set argv[0] to the destination printer URI (Pull
   request #173).
 - cups-browsed: Added another fallback to the
   get-printer-attributes IPP request: Now after failing the
   standard request ("all", "media-col-database") with both IPP
   2.0 and IPP 1.1, try simply "all", without
   "media-col-database" (Pull request #173).
 - cups-browsed: Do not set printer-is-shared for remote CUPS
   queue when making a temporary queue permanent (Pull request
   #180).
 - cups-browsed: Fix leaks of ipp_t struct and load balancing
   on the servers (Pull request #179).
 - cups-browsed, implicitclass: Prioritize Apple Raster against
   PWG Raster when selecting the PDL for the destination
   printer for a job sent to a cluster, also cleaned up the PDL
   selector code and added PostScript support.
 - libcupsfilters: Updated the PPD generator adding all changes
   of the PPD generator of CUPS: Support for "job-account-id",
   "job-accounting-user-id", "job-password", finishing options
   "trim-..." added, finishing options and
   "finishing-col-database" support synced with CUPS.
 - libcupsfilters: In the PPD generator get the mode for
   handling the back sides of the sheets when printing duplex
   preferrably from the "urf-supported" attribute.
 - libcupsfilters: Fixed bug that the PPD generator did not
   output the "*CloseUI: *ColorModel" line when it did not
   determine a default setting for "ColorModel".
 - cups-browsed: Added some missing memory allocations leading
   to a segfault (Issue #175).

1.25.12
-------
 - libcupsfilters: Use the text names "Draft", "Normal", and
   "High" instead of 3, 4, and 5 as choice names for the
   "cupsPrintQuality" option as CUPS does (Issue #171).
 - libcupsfilters: If a printer supports both Apple Raster and
   PWG Raster let the generated PPD use Apple Raster as there
   are several printers which report PWG Raster support but do
   not actually print PWG Raster (Pull reguest #168, Issue
   #171, CUPS issue #5238).
 - cups-browsed: Fix unset location check to use DNS-SD field
   (Pull request #172).
 - libcupsfilters, beh, implicitclass, foomatic-rip,
   imagetopdf, mupdftoraster, pdftops, sys5ippprinter,
   cups-browsed, driverless: Silenced all compiler warnings to
   make the build process of cups-filters completely free of
   warnings.
 - pdftops: Fixed crash when using filter without PPD file.
 - pdftops: If printing grayscale jobs with Ghostscript as PDF
   renderer, add "-sProcessColorModel=DeviceGray" to
   Ghostscript command line.
 - pdftops: Do not use the ugly "pdftops -level1 ..."
   workaround to get grayscale PostScript output from
   Poppler. It leads to huge output files with Poppler's
   "pdftops" utility and does not work at all with
   "pdftocairo".  Poppler itself does not support PostScript
   output converted to grayscale. Issue a warning with the hint
   to use Ghostscript or MuPDF as PDF renderer (Issue #169).
 - libcupsfilters: In the cupsRasterParseIPPOptions()
   accept also "Mono", "Monochrome", and "Gray" as color
   space names.
jperkin pushed a commit that referenced this issue Feb 6, 2020
v3.3.1      Mon Jan 13 10:27:16 CST 2020
========================================
[FIXES]
Some regexes would be shown as invalid when used with the -Q option.  Since
the -Q tells ack to treat the regex as a literal, this shouldn't be
possible.  (GH#294)


v3.3.0      Sat Dec 28 16:00:21 CST 2019
========================================
[FEATURES]
The error message ack displays when the regex passed is invalid has been
improved.  The message is more readable and includes a pointer to the
offending part of the regex.  For example:

    $ ack 'status: (open|closed|in progress'
    ack: Invalid regex 'status: (open|closed|in progress'
    Regex: status: (open|closed|in progress
                   ^---HERE Unmatched ( in regex

Added many new file and directory exclusions to speed up file selection.
* Python's *.pyc, *.pyd and *.pyo compiled files
* Python's __pycache__ and .pytest_cache directories
* Linux *.so shared object files
* Windows dynamic-link library *.dll files
* gettext compiled *.mo translation files
* macOS's __MACOSX directories and .DS_Store files

Reorganized the --help menu to put "action" options like -f, -g and -l at
the top of the listing.

The --show-types option only has an effect with -f or -g.  ack will now
tell you if you use --show-types without -f or -g when it will have no
effect.

Improved the error message when ack gets passed two options that can't be
used together.


[FIXES]
Fixed the behavior of --break and --heading.  Using --break would
implicitly set --noheading, and --heading would implicitly set --nobreak.

The following pairs of options don't make sense to use together, and ack will now warn you if you try:

* -x and --files-from
* -v and -o
* -v and --output
* -v and --passthru

Fixed the minimum version of the Getopt::Long module required. (GH #287)

The line number and filename separators in --passthru mode now work the
same as in context (-A/-B/-C) mode.  (GH #291)


v3.2.0      Sun Nov  3 22:52:18 CST 2019
========================================
[FEATURES]
Added "-t X" as a short alias for --type=X.

Added "-T X" as a short alias for --type=noX.

The feature of using the name of the type as an option is deprecated.  For
example, ack currently lets you use "--perl" instead of "--type=perl" or
"-t perl",  This is now deprecated and will be removed in a future release.

Removed support for Parrot (--parrot).


v3.1.3      Sat Oct 19 19:23:48 CDT 2019
========================================
No changes to functionality.  Fixed a problem with version numbers.
Thanks to Dan Book for his help.
See beyondgrep/ack3@b3c43d4


v3.1.2      Mon Oct 14 21:47:51 CDT 2019
========================================
[SPEEDUP]
Using -w with a pattern that ended with a metacharacter would be slower
than it should be because it would skip an optimization. Now it's fixed.
(GH #181, #251)

[FIXES]
Fixed test failures that would sometimes happen on Windows machines because
of taint mode.  Thanks, Tomasz Konojacki. (GH #235)

Remove the use of the version.pm module.


v3.1.1      Sat Aug 31 22:56:10 CDT 2019
========================================
[SPEEDUP]
Improved the speed up the -l, -L and -c options by pre-scanning the file
in bulk before doing line-by-line scan. (GH #221)

ack now uses File::Next 1.18 which calls stat() only once per file or
directory, instead of sometimes calling it twice.  This should improve the
time spent traversing directories.

[FIXES]
On Windows, patterns with $ to mark the end of the line would not match.
(GH #229)

[DOCUMENTATION]
Fixed docs that referred to --range-stop instead of --range-end. (GH #228)


v3.1.0      Thu Aug 22 22:43:15 CDT 2019
========================================
[FEATURES]
Added the --range-start and --range-end options to allow searching only
ranges of each file. (GH #165)


v3.0.3      Tue Aug 20 23:42:02 CDT 2019
========================================
[FIXES]
Made smartcase's check for lowercase patterns smarter.

[DOCUMENTATION]
Updated many URLs, especially in the config. (GH #223)


v3.0.2      Thu Jul  4 21:42:43 CDT 2019
========================================
[FIXES]
ack's smart-case feature would think that a pattern like "select \S+ from"
is looking for a uppercase letter, and so would not make a case-insensitive
search.  Now, ack knows that uppercase letters in metacharacters don't
count as looking for a uppercase letter. (GH #156, 187, 214)


v3.0.1      Tue Jun 25 20:47:58 CDT 2019
========================================
[FIXES]
The -s option tells ack not to complain about missing or unreadable files
it tries to search.  The -s option would not always work in conjection with
the -x option.  Now it does.  Thanks, Anders Eriksson and M. Scott Ford.
(GH #175)

ack would die if you specified a --output option that didn't use one
of Perl's special match variables.  Now it won't.  Thanks, M. Scott
Ford. (GH #210)

[INTERNALS]
Added a Dockerfile for use when working on ack development.  Thanks,
M. Scott Ford. (GH #208)


v3.0.0      Mon May 27 21:46:34 CDT 2019
========================================
First official release of ack verison 3.

See "Release notes for ack 3.0.0" at the bottom of this document for
details of what has changed between ack 2.x and ack 3.

[FIXES]
Fixed a failing test if Pod::Perldoc::ToTextOverstrike was being
used. (GH#202)


2.999_08 Sun May 19 20:33:13 CDT 2019
=====================================
[ENHANCEMENTS]
Consolidated the manual and FAQ into one document, accessible with --man.
Cookbook.pm has been moved to dev for future use.

Added SVG filetype.

[FIXES]
Invalid options used to cause an error message triplicate. Fixes GH #192.


2.999_07 Sun Mar 31 21:54:55 CDT 2019
=====================================
[ENHANCEMENTS]
Added --help-colors and --help-rgb-colors options to display colors
available for color options.

Many more mutex options have been added to help users know when they've
made a mistake.  For example, it doesn't make sense to have -C to show
context when using -f to get a file list.

Overhauled the handling of mutually exclusive options.  We now properly
handle mutex options even if they are abbreviated.  The actual argument
used is now shown.  Fixes GH #57.


2.999_06 Thu Jan 10 20:37:23 CST 2019
=====================================
[ENHANCEMENTS]
The --tt option for Template Toolkit is now --ttml.  The short version
still works.

The standalone version of ack no longer supports the --faq or --cookbook
options, which never worked right for it anyway.  Instead, --man includes
the FAQ and Cookbook.

The --man option no longer uses the `perldoc` program for rendering the
documentation.  This means you'll have to pipe it into your own pager if
you want scrolling, but it makes it much more portable.

[FIXES]
ack would stop finding files if there was a file named "0" in the current
directory. Thanks, Rob Hoelz. (GH #162)

[REMOVED FUNCTIONALITY]
The --lines option has been removed. (GH #167)

The -u short alias for --underline has been removed. (GH #173)


2.999_05 Sun Oct 21 21:37:39 CDT 2018
=====================================
[ENHANCEMENTS]
Add -p as a shorter version of --proximate.


2.999_04 Thu Sep  6 17:45:07 CDT 2018
=====================================
[ENHANCEMENTS]
Added -P as a negation of --proximate.  It is the same as --proximate=0.
If you have --proximate in an .ackrc, -P can be used to cancel it.

Added --ts for Typescript.


2.999_03 Fri Jan 19 11:02:46 CST 2018
=====================================
[ENHANCEMENTS]
The check for whether we need to scan the entire file line-by-line now
reads 10M of file instead of just 100K.

Removed support for the ACK_OPTIONS environment variable.  Use an ackrc
file instead.  If you have ACK_OPTIONS set, ack will give a warning.

Lots of internal speedups.


2.999_02 Mon Jan  8 23:03:42 CST 2018
=====================================
[ENHANCEMENTS]
Added an optimization to make ack only do a line-by-line search of a
file if there's a match somewhere in the file.  This gives ack a 20-30%
in timings of common cases.


2.999_01 Mon Jan  1 22:11:17 CST 2018
=====================================
[ENHANCEMENTS]
Added --pod as a filetype, recognizing .pod as its extension.  This is
Perl's POD (Plain Old Documentation) format.

Added --markdown as a filetype, recognizing .md and .markdown as
extensions.

--pager is no longer allowed in a project .ackrc file.  --match and
--output are not allowed in any .ackrc file.

ack 3's new features are listed below for now.

[FIXES]
--lines had some mutex options that were not getting checked.  Now,
--lines is mutex with --passthru, --match and all context options.


=============================
# Release notes for ack 3.0.0
=============================

# New features

ack 3 is a greplike tool optimized for searching large code trees.

Improvements over ack 2 include:

* Improved `-w` option.

* `-w` option will warn if your pattern does not lend itself to
word matching.

* `-i`, `-I` and `--smart-case`

* `--proximate=N` option

* Added `--pod` and `--markdown`.

* Added `GNUmakefile` to the list of makefile specs.

* Added `-S` as a synonym for `--smart-case`.

# Bug fixes

* Column numbers were not getting colorized in the output.  Added
`--color-colno` option and `ACK_COLOR_COLNO` environment variable.

* A pattern that wanted whitespace at the end could match the
linefeed at the end of a line.  This is no longer possible.

# Incompatibilities with ack 2

## ack 3 requires Perl 5.10.1

ack 2 only needed Perl 5.8.8.  This shouldn't be a problem since 5.10.1
has been out since 2009.

## ack 3 no longer highlights capture groups.

ack 2 would highlight your capture groups.  For example,

    ack '(set|get)_foo_(name|id)'

would highlight the `set` or `get`, and the `name` or `id`, but not the
full `set_user_id` that was matched.

This feature was too confusing and has been removed.  Now, the entire
matching string is highlighted.

## ack 3's --output allows fewer special variables

In ack 2, you could put any kind of Perl code in the `--output`
option and it would get `eval`uated at run time, which would let
you do tricky stuff like this gem from Mark Fowler
(http://www.perladvent.org/2014/2014-12-21.html):

    ack --output='$&: @{[ eval "use LWP::Simple; 1" && length LWP::Simple::get($&) ]} bytes' \
                    'https?://\S+' list.txt
    http://google.com/: 19529 bytes
    http://metacpan.org/: 7560 bytes
    http://www.perladvent.org/: 5562 bytes

This has been a security problem in the past, and so in ack 3 we
no longer `eval` the contents of `--output`.  You're now restricted
to the following variables: `$1` thru `$9`, `$_`, `$.`, `$&`, ``$` ``,
`$'` and `$+`.  You can also embed `\t`, `\n` and `\r` ,
and `$f` as stand-in for `$filename` in `ack2 --output` .
jperkin pushed a commit that referenced this issue Mar 7, 2020
ChangeLog:

v5.6.2

Bug fixes:

    #271 fixes a corner-case bug with more than 100 CSV/TSV files with
    headers of varying lengths.

Documentation:

    The new http://johnkerl.org/miller/doc/whyc-details.html is an
    elaboration on http://johnkerl.org/miller/doc/whyc.html which answers
    a question posed by @BurntSushi on Reddit a couple years ago which
    I did not address in detail at the time.

v5.6.1

    The only change is that http://johnkerl.org/miller/doc is now
    more mobile-friendly.  All build artifacts are the same as at
    https://github.com/johnkerl/miller/releases/tag/v5.6.0

v5.6.0

    The new system DSL function allows you to run arbitrary shell commands
    and store them in field values. Some example usages are documented
    here. This is in response to issues #246 and #209.

    There is now support for ASV and USV file formats. This is in response
    to issue #245.

    The new format-values verb allows you to apply numerical formatting
    across all record values. This is in response to issue #252.

Documentation:

    The new DKVP I/O in Python sample code now works for Python 2 as
    well as Python 3.

    There is a new cookbook entry on doing multiple joins. This is in
    response to issue #235.

Bugfixes:

    The toupper, tolower, and capitalize DSL functions
    are now UTF-8 aware, thanks to @sheredom's marvelous
    https://github.com/sheredom/utf8.h. The internationalization page
    has also been expanded. This is in response to issue #254.

    #250 fixes a bug using in-place mode in conjunction with verbs
    (such as rename or sort) which take field-name lists as arguments.

    #253 fixes a bug in the label when one or more names are common
    between old and new.

    #251 fixes a corner-case bug when (a) input is CSV; (b) the last
    field ends with a comma and no newline; (c) input is from standard
    input and/or --no-mmap is supplied.

v5.5.0

    The new positional-indexing feature resolves #236 from @aborruso. You
    can now get the name of the 3rd field of each record via $[[3]], and
    its value by $[[[3]]]. These are both usable on either the left-hand
    or right-hand side of assignment statements, so you can more easily
    do things like renaming fields progrmatically within the DSL.

    There is a new capitalize DSL function, complementing the
    already-existing toupper. This stems from #236.

    There is a new skip-trivial-records verb, resolving #197. Similarly,
    there is a new remove-empty-columns verb, resolving #206. Both are
    useful for data-cleaning use-cases.

    Another pair is #181 and #256. While Miller uses mmap internally
    (and invisibily) to get approximately a 20% performance boost over
    not using it, this can cause out-of-memory issues with reading either
    large files, or too many small ones. Now, Miller automatically avoids
    mmap in these cases. You can still use --mmap or --no-mmap if you
    want manual control of this.

    There is a new --ivar option for the nest verb which complements
    the already-existing --evar. This is from #260 thanks to @jgreely.

    There is a new keystroke-saving urandrange DSL function:
    urandrange(low, high) is the same as low + (high - low) *
    urand(). This arose from #243.

    There is a new -v option for the cat verb which writes a low-level
    record-structure dump to standard error.

    There is a new -N option for mlr which is a keystroke-saver for
    --implicit-csv-header --headerless-csv-output.

Documentation:

    The new FAQ entry
    http://johnkerl.org/miller/doc/faq.html#How_to_escape_'%3F'_in_regexes%3F
    resolves #203.

    The new FAQ entry
    http://johnkerl.org/miller/doc/faq.html#How_can_I_filter_by_date%3F
    resolves #208.

    #244 fixes a documentation issue while highlighting the need for #241.

Bugfixes:

    There was a SEGV using nest within then-chains, fixed in response
    to #220.

    Quotes and backslashes weren't being escaped in JSON output with
    --jvquoteall; reported on #222.

v5.4.0

    The new clean-whitespace verb resolves #190 from @aborruso. Along with
    the new functions strip, lstrip, rstrip, collapse_whitespace, and
    clean_whitespace, there is now both coarse-grained and fine-grained
    control over whitespace within field names and/or values. See the
    linked-to documentation for examples.

    The new altkv verb resolves #184 which was originally opened via an
    email request. This supports mapping value-lists such as a,b,c,d to
    alternating key-value pairs such as a=b,c=d.

    The new fill-down verb resolves #189 by @aborruso. See the linked-to
    documentation for examples.

    The uniq verb now has a uniq -a which resolves #168 from @sjackman.

    The new regextract and regextract_or_else functions resolve #183
    by @aborruso.

    The new ssub function arises from #171 by @dohse, as a simplified way
    to avoid escaping characters which are special to regular-expression
    parsers.

    There are new localtime functions in response to #170 by
    @sitaramc. However note that as discussed on #170 these do
    not undo one another in all circumstances. This is a non-issue
    for timezones which do not do DST. Otherwise, please use with
    disclaimers: localdate, localtime2sec, sec2localdate, sec2localtime,
    strftime_local, and strptime_local.

Builds:

    Windows build-artifacts are now available in Appveyor at
    https://ci.appveyor.com/project/johnkerl/miller/build/artifacts,
    and will be attached to this and future releases. This resolves #167,
    #148, and #109.

    Travis builds at https://travis-ci.org/johnkerl/miller/builds now
    run on OSX as well as Linux.

    An Ubuntu 17 build issue was fixed by @singalen on #164.

Documentation:

    put/filter documentation was confusing as reported by @NikosAlexandris
    on #169.

    The new FAQ entry
    http://johnkerl.org/miller-releases/miller-head/doc/faq.html#How_to_rectangularize_after_joins_with_unpaired?
    resolves #193 by @aborruso.

    The new cookbook entry
    http://johnkerl.org/miller/doc/cookbook.html#Options_for_dealing_with_duplicate_rows
    arises from #168 from @sjackman.

    The unsparsify documentation had some words missing as reported by
    @tst2005 on #194.

    There was a typo in the cookpage page
    http://johnkerl.org/miller/doc/cookbook.html#Full_field_renames_and_reassigns
    as fixed by @tst2005 in #192.

Bugfixes:

    There was a memory leak for TSV-format files only as reported by
    @treynr on #181.

    Dollar sign in regular expressions were not being escaped properly
    as reported by @dohse on #171.

v5.3.0

    Comment strings in data files: mlr --skip-comments allows
    you to filter out input lines starting with #, for all file
    formats. Likewise, mlr --skip-comments-with X lets you specify
    the comment-string X. Comments are only supported at start of data
    line. mlr --pass-comments and mlr --pass-comments-with X allow you
    to forward comments to program output as they are read.

    The count-similar verb lets you compute cluster sizes by cluster
    labels.

    While Miller DSL arithmetic gracefully overflows from 64-integer
    to double-precision float (see also here), there are now the
    integer-preserving arithmetic operators .+ .- .* ./ .// for those
    times when you want integer overflow.

    There is a new bitcount function: for example, echo x=0xf0000206 |
    mlr put '$y=bitcount($x)' produces x=0xf0000206,y=7.

    Issue 158: mlr -T is an alias for --nidx --fs tab, and mlr -t is an
    alias for mlr --tsvlite.

    The mathematical constants π and e have been renamed from PI and
    E to M_PI and M_E, respectively. (It's annoying to get a syntax
    error when you try to define a variable named E in the DSL, when
    A through D work just fine.) This is a backward incompatibility,
    but not enough of us to justify calling this release Miller 6.0.0.

Documentation:

    As noted here, while Miller has its own DSL there will always be
    things better expressible in a general-purpose language. The new page
    Sharing data with other languages shows how to seamlessly share data
    back and forth between Miller, Ruby, and Python. SQL-input examples
    and SQL-output examples contain detailed information the interplay
    between Miller and SQL.

    Issue 150 raised a question about suppressing numeric conversion. This
    resulted in a new FAQ entry How do I suppress numeric conversion?,
    as well as the longer-term follow-on issue 151 which will make
    numeric conversion happen on a just-in-time basis.

    To my surprise, csvlite format options weren’t listed in mlr --help
    or the manpage. This has been fixed.

    Documentation for auxiliary commands has been expanded, including
    within the manpage.

Bugfixes:

    Issue 159 fixes regex-match of literal dot.

    Issue 160 fixes out-of-memory cases for huge files. This is an old
    bug, as old as Miller, and is due to inadequate testing of huge-file
    cases. The problem is simple: Miller prefers memory-mapped I/O
    (using mmap) over stdio since mmap is fractionally faster. Yet as
    any processing (even mlr cat) steps through an input file, more and
    more pages are faulted in -- and, unfortunately, previous pages are
    not paged out once memory pressure increases. (This despite gallant
    attempts with madvise.) Once all processing is done, the memory is
    released; there is no leak per se. But the Miller process can crash
    before the entire file is read. The solution is equally simple: to
    prefer stdio over mmap for files over 4GB in size. (This 4GB threshold
    is tunable via the --mmap-below flag as described in the manpage.)

    Issue 161 fixes a CSV-parse error (with error message "unwrapped
    double quote at line 0") when a CSV file starts with the UTF-8
    byte-order-mark ("BOM") sequence 0xef 0xbb 0xbf and the header line
    has double-quoted fields. (Release 5.2.0 introduced handling for
    UTF-8 BOMs, but missed the case of double-quoted header line.)

    Issue 162 fixes a corner case doing multi-emit of aggregate variables
    when the first variable name is a typo.

    The Miller JSON parser used to error with Unable to parse JSON data:
    Line 1 column 0: Unexpected 0x00 when seeking value on empty input,
    or input with trailing whitespace; this has been fixed.
jperkin pushed a commit that referenced this issue Mar 17, 2020
ChangeLog:

Features

    The new remove-empty-columns and skip-trivial-records are
    keystroke-savers for things which would other require DSL
    syntax, as tracked in #274.

Bugfixes

    A bug regarding optional regex-pattern groups was fixed in
    #277.

    As of #294 you can now specify --implicit-csv-header for the
    join-file in mlr join.

    A bug with spaces in XTAB-file values was fixed on #296.

    A bug with missing final newline for XTAB-formatted files
    using MMAP files was fixed on #301.

Documentation

    Look-and-feel at http://johnkerl.org/miller/doc/ is (hopefully)
    improved, including clearer visual indication of which section/page
    you're currently looking at. Note that this change has been
    live for a few weeks, as look-and-feel-related doc-mods from
    post-5.6.2 were backported to http://johnkerl.org/miller/doc/.

    #282 improves DSL-function documentation at
    http://johnkerl.org/miller/doc/reference-dsl.html#Built-in_functions_for_filter_and_put,_summary

Note

Support for mmap mode has been entirely discontinued. This is an
invisible change and should not affect you at all. For anyone
interested in lower-level details, though, the summary is as follows:

    For an incremental performance gain (perhaps 10-20% run time
    at most, but see below), within the C source code one can use
    the mmap system call to access input files via pointer arithmetic
    rather than malloc-and-memcopy using stdio.

    However mmap is not available when reading from standard
    input -- it cannot be memory-mapped.

    This means all file-format readers are implemented twice
    within the Miller source code.

    While I try to regression-test Miller thoroughly, running
    all canned tests through mmap and stdio mode, I've nonetheless
    found my mmap implementations liable to corner-cases which I
    miss but users find: for example #29, #102, and #296.

    As tracked on #160, various operating systems do not release
    mmapped pages after use as one might intuit, meaning that for
    large files and/or large numbers of files, I've for a long time
    now needed to have Miller opt out of mmap usage for precisely
    those cases which most need the performance gain: see #160,
    #181, and #256.

    Additionally, mmap is not used at all for Windows/MSYS2 so
    there is nothing to lose there.

For these reasons, keeping mmap mode isn't worth the development
overhead.

As of release 5.6.3, the mlr executable will still accept the --mmap
and --no-mmap command-line flags as no-ops, for backward compatibility.

The caveat for you is that for everyday small files, the default
was previously mmap mode and is now stdio (except mlr ... < filename
or ... | mlr ... which have always used stdio). There is the off
chance that this will newly reveal an old, latent bug or two
somewhere.

I've re-run regressions in valgrind mode to aggressively catch any
errors, but, please let me know ASAP via GitHub issue of any
unexpected behavior in 5.7.0.
jperkin pushed a commit that referenced this issue Mar 25, 2020
Update ruby-bcrypt to 3.1.13.
pkgsrc change: correct HOMEPAGE.


3.1.13 May 31 2019

  - No longer include compiled binaries for Windows. See GH #173.
  - Update C and Java implementations to latest versions [GH #182 by @fonica]
  - Bump default cost to 12 [GH #181 by @bdewater]
  - Remove explicit support for Rubies 1.8 and 1.9
  - Define SKIP_GNU token when building extension (Fixes FreeBSD >= 12)
    [GH #189 by @adam12]
jperkin pushed a commit that referenced this issue May 17, 2020
Update ruby-loofah to 2.5.0.


## 2.5.0 / 2020-04-05

### Features

* Allow more CSS length units: "ch", "vw", "vh", "Q", "lh", "vmin", "vmax". [#178] (Thanks, @JuanitoFatas!)


### Fixes

* Remove comments from `Loofah::HTML::Document`s that exist outside the `html` element. [#80]


### Other changes

* Gem metadata being set [#181] (Thanks, @JuanitoFatas!)
* Test files removed from gem file [#180,#166,#159] (Thanks, @JuanitoFatas and @greysteil!)
jperkin pushed a commit that referenced this issue Jun 14, 2020
Update ruby-faraday_middleware to 1.0.0.

pkgsrc change: add "USE_LANGUAGES=	# none".


1.0.0 (2020-03-29)
This is FaradayMiddleware 1.0 official release!

This release officially supports Faraday 1.0.
It contains all changes included in the 1.0.0.rc1 release, plus:

* Increase minimum rake version to 12.3.3 for security reasons

Special thanks to contributors who helped us push this over the line:
@BobbyMcWho, @onk and @d-m-u


1.0.0.rc1 (2020-02-28)

This is a prerelease. See #200 for details on the shipping plans for 1.0.0.

Changes

* Support Ruby 2.3+.
* Drop support for Faraday v0.7

Bugs fixed

* #198 Autoload an exception class correctly

Chores and misc

* Lint the codebase with RuboCop
* Closed the Wiki and turned it into Markdown files in docs/


0.14.0 (2020-01-10)

NOTE: This is the last minor release in the v0.x series, next release will
be 1.0 to match Faraday v1.0 release and from then on only fixes will be
applied to v0.14.x!

* Fix support for empty bodies having Content-Encoding Gzip (#192)
* RSpec: disable_monkey_patching (#191)
* Add ResponseMiddleware.define_parser unit test (#190)
* Use full URL (url.host + url.request_uri) as cache key (#195)


0.13.1 (2019-02-04)

* Clear Authorization header when redirecting cross-site (#183)
* Brotli is an optional dependency for Gzip (#186)


0.13.0 (2019-01-22)

* Adds support for Brotli decompression of responses (#134)
* Adds support for JSON 2 (#169)
* Hash request URIs before using them as a cache key (#181)
* Remove Addressable::URI query hack (#184)
jperkin pushed a commit that referenced this issue Feb 23, 2021
Changelog:
What's New in libchewing 0.5.1 (May 18, 2016)
---------------------------------------------------------
* Bug fixed:
  - Fix wrong CHEWING_DATADIR definition in CMake build #222.
  - Fix j, k selection when symbol in between #149 #221.


What's New in libchewing 0.5.0 (May 2, 2016)
---------------------------------------------------------
* New feature
  - Add Carpalx keyboard layout support #217.

* Dictionary
  - Update dictionary #151 #155 #188 #191 #201.
  - Add debug tool: dump_database.
  - Sort tsi.src #212.

* Misc
  - Tweak several comments.
  - Fix libchewing document.
  - Remove old/dead code.
  - Improve code readability and consistency.
  - Update automake syntax #114.
  - Add test cases #169 #177.
  - Update Python sample code.
  - Add debug tool dump_database.
  - Integrate coverity scan in https://scan.coverity.com/.

* Platform-specific
  - Update README for OS X.
  - Set WITH_INTERNAL_SQLITE3 to true by default in MS-Windows.
  - Fix Visual Studio compiling warnings/errors #168 #171 #189 #190 #213.
  - Add a cmake option BUILD_DLL to enable building *.dll with MS VC++ #185.
  - Make the python binding of libchewing support Windows dll files #186.
  - Don't use SIGSTOP in MS-Windows.

* Bug fixed
  - Check if ld supports --no-defined #144.
  - Fix unexpected candidate disorder for '1' #153
  - Replace bash-izm '==' operator with '=' for test(1) # 158.
  - Fix several Coverity errors #172 #173.
  - Fix ChewingKillChar which is disabling OpenSymbolChoice #160 #181.
  - ㄅ cannot overwrite ㄆ in HSU and ET26 #170 #183.

* Successful stories:
  - Rime Input Method Engine (RIME) takes partial dictionary from
    libchewing.
  - PIME (writing input methods for Windows easily with Python) supports
    Chewing IM by default.
jperkin pushed a commit that referenced this issue Apr 18, 2021
============
Version 40.0
============

- No changes

===============
Version 40.rc
===============

- bg-slide-show: Always parse date/time integers in base 10
- thumbnail: Fix thumbnailing of CBZ with UTF-8 filenames
- thumbnail: Fix non-working thumbnailer in Flatpak
- Translation updates

===============
Version 40.beta
===============

- xkbinfo: Update iso639Ids but not iso3166Ids correctly in evdev
- Translation updates

==============
Version 40.alpha
==============

- Add support for x-large and xx-large thumbnail sizes (!99, Bastien Nocera)
- Make it easier to profile thumbnailers (!94, Bastien Nocera)
- thumbnailer: Cache GStreamer's plugin registry (!93, Bastien Nocera)
- Sandbox thumbnailers in Flatpaks (!92, Bastien Nocera)
- Change default input source to anthy for Japanese (#181, Takao Fujiwara)
- xkbinfo: use libxkbregistry to parse the rules files (!79, Peter Hutterer)
- Translation updates
jperkin pushed a commit that referenced this issue Jun 4, 2021
0.5.6 (2021-04-02)

* Add metadata to Gemspec file
* Change default timeout to be the same as Net::HTTP default, 60 seconds
  instead of 30 seconds.
* Add support for PUT requests with Action Controller (#181)
jperkin pushed a commit that referenced this issue Jun 15, 2021
htmltools 0.5.1.1
--------------------------------------------------------------------------------

* Added shiny as a suggested package.


htmltools 0.5.1
--------------------------------------------------------------------------------

## New Features & Improvements

* Added a new `tagFunction()` for generating `tags` and/or
  `htmlDependency()`s conditional on the rendering context. For an
  example, see `?tagFunction`. (#180)

* Closed #104: `save_html()`'s `file` argument now properly handles
  relative paths. (@haozhu233, #105, #192)

* `save_html()` now has a `lang` parameter that can be used to set the
  lang attribute of `<html>`. (@ColinFay, #185)

* Closed #101: `htmlDependency` & `renderDependencies` now allow the
  `script` argument to be given as a named list containing the
  elements: `src`, `integrity`, `crossorigin`. (@matthewstrasiotto,
  #188)

* Closed #189: `validateCssUnit()` now accepts `fit-content`. (#190)

* `htmlPreserve()` can now optionally use the Pandoc `raw_attribute`
  extension to enclose HTML.

## Breaking Changes

* Closed #161: `parseCssColors(x)` now requires `x` to be a character
  vector (it no longer accepts a `list()` of strings) and an error is
  no longer thrown when `mustWork = FALSE` and `x` contains `NA`
  value(s). (#194)

## Bug fixes

* `print(as.tags(x))` no longer results in error when `x` is a generic
  `list()` of tag-like objects. (#181)


htmltools 0.5.0
--------------------------------------------------------------------------------

* `tags` is now generated by a script which collects all
  [HTML](https://developer.mozilla.org/en-US/docs/Web/HTML/Element) and
  [SVG](https://developer.mozilla.org/en-US/docs/Web/SVG/Element) element tags
  documented in [MDN Web Docs](https://developer.mozilla.org).  This feature
  only appends to the existing set of `tags` (#159)

* Removed the Rcpp depedency and the compiled code now uses C rather than C++ (#158)

* BREAKING CHANGE: Fixed #57, #153: `htmlTemplate` output no longer inserts
  extra whitespace around {{...}} replacement values. (#154)

* `HTML()` now takes `.noWS` argument, which can be used to suppress surrounding
  whitespace (similar to the new argument for tags in htmltools 0.4.0). (#154)

* `css()` now returns `NULL` instead of `""` when no non-empty properties are
  specified. (#145)

* `save_html(tags$body(...))` no longer results in double <body> tags being
  written to the .html file. (Note that `save_html(tags$html(...))` is not
  supported at this time.) (#145)

* Trailing commas now permited in `...` arguments to `css()`, `tagList()`, and
  the var-arg mutation functions: `tagAppendAttributes()`, `tagSetChildren()`,
  and `tagAppendChildren()`. (#145)

* Added `capturePlot` and `plotTag` functions, for easily creating image files
  and HTML <img> tags (respectively) from plot expressions. (#150)

* Added `parseCssColors` function, for normalizing the various CSS
  color formats into #RRGGBB(AA) strings. (#155)

* Fixed #156: Now `extractPreserveChunks()` handles strings contain
  Emoji Unicode strings correctly on Windows. (#157)

* The `.noWS` parameter for suppressing whitespace can now take an `"inside"`
  value (equivalent to `c("after-start", "before-end")`). (#163)

htmltools 0.4.0
--------------------------------------------------------------------------------

* Fixed #128: Added support for trailing commas in tagLists and the predefined
  tags. (#135)

* Added some HTML tag functions to `tags` that were missing. (#111)

* Updated RcppExports for new version of Rcpp. (#93)

* `as.character.shiny.tags()` will handle non-ASCII attributes correctly if they
  are not encoded in native encoding.

* Fixed #99: `NA` attributes were sometimes rendered as `"NA"` in the HTML,
  instead of being blank. (#100)

* The error message for trailing commas in tag functions now provides context
  and useful information. (#109)

* Stopped using inline styles to set background color for `save_html`, as doing so
  makes it difficult to override using other CSS rules. (#123)

* Added a `.noWS` argument to `tag()` and `tags` which can be used to suppress
  the automatically generated whitespace around a particular tag. (#131)

* Added a shim for `system.file()` so that htmltools works with `htmlDependency`
  objects created by a package that was loaded with `devtools::load_all()`.
  (#129)

* `validateCssUnit()` now accepts `ch`, `rem`, and `calc()`. (#134)

* Fixed #125: `print.html` removes html dependencies. (#126)

* Stopped extra carriage returns from being inserted by `save_html` on Windows.
  (#137)
jperkin pushed a commit that referenced this issue Sep 20, 2021
# pillar 1.6.2
## Options

- Options `pillar.print_max`, `pillar.print_min`, `pillar.width` and
  `pillar.max_extra_cols` are now queried before the corresponding
  `tibble.` or `dplyr.` options are consulted, the latter will be
  soft-deprecated in pillar v2.0.0 (#353).
- New `pillar.bidi` option. When active, control characters are
  inserted to improve display of data with right-to-left text (#333).
- The new `pillar.max_footer_lines` option (default: 7) allows
  controlling the maximum number of footer lines shown. It is applied
  in addition to the existing `tibble.max_extra_cols` option (#263).

## Formatting
- If a column doesn't make use of all horizontal width offered to it,
  the excess width is distributed over other columns (#331).
- Improved allocation of free space in multi-tier tables with
  `getOption("tibble.width") > getOption("width")` (#344).
- All pillars are shown with their true horizontal extent,
  irrespective of the indicated `width`. This simplifies the
  implementation of custom `pillar_shaft()` methods (#347).

## Features
- `num()` gains `extra_sigfig` argument to automatically show more
  significant figures for numbers of the same magnitude with subtle
  differences (#97).
- `print.tbl()` and `format.tbl()` support the `max_extra_cols` and
  `max_footer_lines` arguments that override the corresponding options
  (#360).
- `print.tbl()` and `format.tbl()` maps the now deprecated `n_extra`
  argument to `max_extra_cols` for consistency (#360).

## Bug fixes
- Avoid mangling of duplicate column names in footer (#332).
- Fix warning with zero of type `bit64::integer64()` (#319).

## Documentation
- All package options are now documented in `?pillar_options` (#339).
- `obj_sum()` no longer calls `type_sum()` for vectors since pillar
  v1.6.1, this is now documented (#321).
- Fix documentation on usage of `vctrs::vec_proxy()` and
  `vctrs::vec_restore()` (#322).

## Internal
- Using `attr(exact = TRUE)` everywhere.
- `is_vector_s3()` is no longer generic (#181).
- Fix internal logic around `vec_proxy()` and `vec_restore()` (#316).
jperkin pushed a commit that referenced this issue Nov 3, 2021
v5.0.2
-libmacchina/netbsd: fixed failing brightness readout.
-libmacchina/netbsd: (somehow) fixed failing package count readout.
-themes: the custom_ascii.color field is now optional, omitting it uses the
 colors provided in the text file.
-themes: color values (e.g. "Red", "Green", "Blue") are now case-insensitive.
-general: introduce a new readout, "Session" that is appended to your Window
 Manager readout output. If the latter fails, so does the former.

v5.0.1
-The default theme's bars should not be visible.

macchina v5.0.0, codename "Zinc"
-Deprecated multiple command-line options: --no-ascii, --custom-ascii,
 --palette, --hide-delimiters. (#181)
-Deprecated built-in themes. (#181)
-NetBSD: count packages without the use of pkg_info. (by upgrading to the
 latest libmacchina version)
jperkin pushed a commit that referenced this issue Mar 10, 2022
Update eog to 40.3

Highlights:
- !106, EogImage: Do not crash if content type or filesize cannot be
        detected (Felix Riemann)
- #195, Critical warning after closing EOG (invalid unclassed pointer;
        assertion 'EOG_IS_IMAGE (img)' failed) (Felix Riemann)
- !100, Remove directories when unmount external drive (Krifa75)
- #189, Crash Report: eog_thumb_view_clear_range: assertion failed:
        (start_thumb <= end_thumb) (Andrew Consroe)
- #146, Part of a large image (exceeding certain dimensions)
        does not display (Felix Riemann)
- #181, docs: Remove PicasaWeb support (Andre Klapper)
- !83, Re-detect mimetype from data if loading fails the first time (Krifa75)
- !89, Update EogWindow and EogListStore when deleting
       a monitored directory (Krifa75)
- !85, Fix several image reference counting issues (Felix Riemann)
- many new and updated translations
jperkin pushed a commit that referenced this issue Apr 17, 2022
Change log:

1.0.1
======
Stable release fixing regressions and a couple of older bugs.

- A new hidden preference `DropdownParametersOnce` has been introduced to control whether the drop-down
  window accepts command line arguments after creation. With the introduction of this preference
  an older bug was fixed where tabs could be added to the drop-down window even though they
  weren't supposed to.
- Options: --active-tab does not behave properly when adding tabs to existing windows.

Regressions fixed:
- Find dialog does not respond to Return key (Issue #176)
- Dragging a URL from Chromium ends up truncated (Issue #180)
- Toolbar size changes when the window is maximized (Issue #181).
- Unable to create a single window with many tabs through command line options (Issue #182).

Translation Updates:
  Danish, Finnish, Greek, Russian, Turkish
jperkin pushed a commit that referenced this issue May 10, 2023
### [2.3.1] - 2022-11-29

#### Changed

  * The printout of the inferred `intersphinx_mapping` item for inventories
    retrieved by URL (`--url`) in the 'suggest' CLI mode is now relocated to
    fall immediately below the inventory-search output. It also now is displayed
    even if no objects in the `objects.inv` satisfy the score threshold.
    ([#262](bskinn/sphobjinv#262))

  * The 'suggest' CLI mode output now includes dividers for improved
    readability.

#### Tests

  * The plaintext `tests/resource/objects_attrs.txt` was converted to POSIX EOLs
    and declared as binary to git, in order to provide a consistent state for
    sdist packaging, regardless of platform (POSIX vs Windows).

    * As a result, it was necessary to modify the `scratch_path` fixture to
      "`unix2dos`" this file on Windows systems, in order to provide a
      consistent test state.

    * Similarly, the `decomp_cmp_test` fixture was modified to "`unix2dos`" the
      `objects_attrs.txt` resource before comparisons, again in order to provide
      a consistent reference artifact. Implementing required direct manipulation
      of the bytes contents of the file, instead of the `filecmp.cmp` method
      that had been used previously.

  * The README doctests and shell tests have been removed from the default
    pytest suite. They must be explicitly opted-in with the `--readme` and
    `--doctest-glob="README.rst"` flags to pytest.

    * A new job, `readme`, has been added to the `aux_tests` stage of the Azure
      Pipelines CI to run these tests for PRs and release branches.

  * The constraint for `pytest-check` was bumped to `>=1.1.2` and all uses of
    the `check` fixture were revised from `with check.check(...):` to
    `with check(...):`. ([#265](bskinn/sphobjinv#265))

  * Azure Pipelines now has Python 3.11 available for all of Ubuntu, Windows and
    MacOS, so it was added to the core text matrix for all platforms.

  * A new CI job was created on Azure Pipelines that creates an sdist from the
    current project, extracts it into a sandboxed environment, installs the dev
    dependencies, and runs the pytest suite (`azure-sdisttest.yml`).

  * All uses of `pytest-check` were updated to use the
    [v1.1.2 syntax](https://github.com/okken/pytest-check/blob/main/changelog.md#110---2022-nov-21)
    (`check` fixture, or `from pytest_check import check`).

#### Internal

  * The `sys.exit()` in the case of no objects falling above the 'suggest'
    search threshold was refactored into the main `do_suggest()` body, to
    minimize the surprise of an `exit()` call coming in a subfunction.
    ([#263](bskinn/sphobjinv#263))

#### Packaging

  * `MANIFEST.in` was revised in order to provide a testable (`pytest --nonloc`)
    sdist, in order to streamline packaging of `sphobjinv` for conda-forge.
    (Thanks very much to [@anjos](https://github.com/anjos) for getting the
    recipes for `sphobjinv` and its dependencies in place! See
    [#264](bskinn/sphobjinv#264).)

#### Administrative

  * `sphobjinv` is now available via conda-forge! A note was added to the docs
    to indicate this.

  * The version bump on `pytest-check` no longer permits the use of Python 3.6
    in CI. As Python 3.6 is nearly a year beyond EOL, this seems a reasonable
    time to officially drop support for it. `python_requires` will still be at
    `>=3.6` for now; it *should* still work for 3.6...but, no guarantees.

  * The hook versions for `pre-commit-hooks`, `black`, and `pyproject-fmt` were
    updated to v4.3, v22.10, and v0.3.5, respectively.

  * `CONTENT_LICENSE.txt` was created, to specifically house the full
    content/documentation license information.

  * `LICENSE.txt` was revised to only hold the MIT License for the code,
    primarily so that Github's automatic systems will recognize the project as
    MIT licensed.

  * Caching of pip downloads was added to all of the Azure Pipelines jobs.

  * The version constraint for `pytest-check` was raised to `>=1.1.2`.

  * A temporary upper bound was placed on the `flake8` version (now `>=5,<6`,
    instead of `>=5`) to avoid pip resolver failures likely due to conflicts
    with constraints declared by plugins.

  * The older versions of `jsonschema` tested in the `tox` matrix were
    streamlined down to 3.0 (`==3.0`), 3.x (`<4`), 4.0 (`<4.1`) and 4.8
    (`<4.9`).

  * The pin of `sphinx-issues==0.4.0` in the `tox` matrix was removed, to match
    the unpinned package in the `requirements-xxx.txt` files.


### [2.3] - 2022-11-08

#### Added

  * The CLI now prints the project name and version for the `objects.inv` as
    part of the 'suggest' mode output.

  * The CLI now prints an inferred `intersphinx_mapping` entry for a remote
    docset as part of the 'suggest' mode output, where such inference is
    possible. The output from this mapping inference was added to the relevant
    tests, and a couple of unit tests on some basic pieces of functionality were
    written. ([#149](bskinn/sphobjinv#149))

  * The CLI now provides considerably more information about what is happening
    with the URLs it checks when trying to retrieve a remote inventory.
    ([#99](bskinn/sphobjinv#99), plus more)

  * CLI 'suggest' results output now displays more information about
    the total number of objects in the inventory, the search score threshold,
    and the number of results falling at/above that threshold.
    ([#232](bskinn/sphobjinv#232))

  * A new CLI option, `-p`/`--paginate`, enables paging of the results from the
    `suggest` feature. ([#70](bskinn/sphobjinv#70))

#### Fixed

  * The regex for parsing object lines from decompressed inventories now
    correctly processes `{role}` values that contain internal colons.

  * CLI corner case where options are passed but no subparser is specified
    now results in a clean error-exit, instead of an exception.
    ([#239](bskinn/sphobjinv#239))

#### Documentation

  * Updated doctests to reflect the new v22.1 attrs `objects.inv` used for
    demonstration purposes.

  * Updated `syntax.rst` to indicate that the `{role}` in an inventory object
    MAY contain a colon.

  * Added new 'CLI implementation' pages for the new modules, downstream of the
    refactoring of the CLI 'convert' and 'suggest' code.

  * Revised the intro paragraph of the 'CLI usage' page to more clearly emphasize
    the two CLI subcommands and the links to their respective docs pages.

  * Fixed a mistake in the CLI help info for the `--url` argument to `convert`.

#### Tests

  * Various tests were updated to reflect the contents of the new v22.1 attrs
    `objects.inv` introduced to replace the previous v17.2 inventory.

  * A modern Sphinx `objects.inv` (v6.0.0b) was added to `tests/resource` as
    `objects_sphinx.inv`, and the previous v1.6.6 was renamed to
    `objects_sphinx_1_6_6.inv`.

  * The 'valid objects' test cases were updated to reflect the possibility for a
    colon within `{role}`:

    * The colon-within-`{role}` test case was moved from 'invalid' to 'valid'.

    * The colon-within-`{domain}` test case was also moved from 'invalid' to
      'valid', but with an annotation added to indicate that it's not actually
      viable---it will actually be interpreted incorrectly, with the first
      portion of the colon-containing `{domain}` imported as `{domain}`, and the
      remainder imported as part of `{role}`.

#### Internal

  * Refactor CLI code to place the 'convert' and 'suggest' implementations in
    their own modules.

  * Refactor CLI 'suggest' code to the main `do_suggest()` function and a
    handful of sub-functions.

  * Rename the `log_print()` CLI helper function to the more-descriptive
    `print_stderr()`.

  * Bump development Sphinx version to v5.3.

  * Bump flake8 version to >=5, due to the absorption of flake8-colors
    colorization functionality. The flake8/tox config was updated accordingly.

  * Bump pre-commit black hook to v22.3.0.

  * Remove PyPy and Python 3.6 from Azure Pipelines test matrix.

  * Revise `__version__` retrieval in `setup.py` to use an intermediate
    dictionary with `exec()`.

  * Update `setup.cfg` to use `license_files`, instead of the deprecated
    `license_file`.

#### Administrative

  * Apply CC BY 4.0 to documentation and docstrings and update project files to
    reflect.


### [2.2.2] - 2022-03-22

#### Fixed

  * UnicodeDecodeErrors are ignored within the vendored `fuzzywuzzy` package
    during `suggest` operations, using the `errors=replace` mode within
    bytes.decode().

    * This misbehavior emerged after vendoring `fuzzywuzzy`, suggesting that
      it was a bug fixed later on in that project's development, after the
      point from which it was vendored.

    * This change may alter `suggest` behavior for those inventory objects with
      pathological characters. But, given their rarity, user experience is not
      expected to be noticeably affected.

#### Internal

  * The `pyproject-fmt` formatted was added as a pre-commit hook.

  * The `flake8-raise` plugin was added to the linting suite.

#### Testing

  * A smoke test for error-free `suggest` execution was added for all of the
    inventory files in `tests/resource`.


### [2.2.1] - 2022-02-05

#### Internal

  * The `benchmarks.py` file within the vendored version of `fuzzywuzzy`
    was removed. This *should* have no effect on `sphobjinv` functionality.
    * Per [#223](bskinn/sphobjinv#223), the
      Python 2 code within `benchmarks.py` breaks a full-source compilation
      done as part of an RPM packaging workflow.


### [2.2] - 2022-01-30

#### Administrative

  * The project documentation has been updated to reflect the deprecation
    of the `python-Levenshtein` speedup.

  * `pre-commit` has been added to the project, primarily to automate
    `black` code formatting on every commit.

    * The default trailing-whitespace, end-of-file, YAML syntax, and
      large-file-prevention hooks have also been added.

#### Internal

  * `sphinx-removed-in` was added as a dev and RTD dependency, to provide
    the `versionremoved` Sphinx directive.


### [2.2b1] - 2021-12-23

#### Removed

  * Acceleration of the `suggest` functionality via use of `python-Levenshtein`
    is no longer possible due to the vendoring of an early, MIT-licensed version
    of `fuzzywuzzy`, as noted below. The `speedup` install extra is now obsolete,
    and has been removed.

#### Internal

  * The `fuzzywuzzy` string matcher was vendored into the project from a point
    in its development history before the `python-Levenshtein` dependency,
    and its corresponding GPL encumbrance, was introduced.

#### Administrative

  * Project default branch migrated to `main` from `master`.

  * Standard development Python version bumped to 3.10.

  * Standard development Sphinx version bumped to 4.3.1.

  * Active support for Python 3.11 added.


### [2.1] - 2021-04-14

#### Added

  * Python 3.10 support was officially added.

#### Changed

  * The User-Agent header sent by `Inventory` when making an HTTP(S) request
    now identifies `sphobjinv` and its version (anticipate no API or
    behavior change).

  * An extraneous newline was removed before tables printed in the
    'suggest' CLI mode (cosmetic change).

#### Fixed

  * Previously, `sphobjinv.Inventory` would ignore entries in `objects.inv`
    that contained spaces within `name`
    (see [#181](bskinn/sphobjinv#181));
    this is now fixed.

#### Removed

  * Python 3.5 is no longer supported.

  * The relaxation of the integer constraint on the `priority` field
    introduced in v2.1b1 has been *reverted*, as `objects.inv` data lines
    with such non-integer `priority` values are skipped by Sphinx.

#### Internal

  * Where possible, string interpolation has been refactored to use
    f-strings.

  * A 'speedup' `extras_require` entry has been added to allow simple installation
    of `python-Levenshtein` for Linux and MacOS platforms, as
    `pip install sphobjinv[speedup]`. This extra does nothing on Windows, since
    compilation machinery is anticipated not to be available for most users.

  * `objects_mkdoc_zlib0.inv`, which was compressed at `zlib` level 0,
    has been added to the test resources directory.

  * This file had to be flagged as binary in `.gitattributes` in order to avoid
      git EOL auto-conversion on Windows.

  * The CLI functionality was refactored from the single `sphobjinv.cmdline` module
    into a dedicated set of `sphobjinv.cli.*` submodules.

  * Some internal `type(...) is ...` checks were replaced with `isinstance(...)`

#### Testing

  * Added *significant* body of new tests to confirm inventory compatibility
    with both `sphobjinv` and Sphinx itself.

    * Consistency checks added both for data within `sphobjinv.Inventory` instances
      **AND** as emitted from `sphinx.ext.inventory.InventoryFile.load()`.

    * The tests in `tests/test_valid_objects.py` strive to bracket as precisely
      as possible what content is allowed on an `objects.inv` data line,
      in addition to providing guidance on what is allowable, but discouraged.

      `docs/source/syntax.rst` was also edited to reflect this guidance.

  * Additional tests have been added to probe corner cases involving Windows EOLs.

  * A test was added to ensure that the schema in `sphobjinv.schema` is in fact
    a valid JSON schema.

  * Multiple asserts/checks per test method have been converted to use
    `pytest-check` instead of `pytest-subtests`, due to some inconsistent
    behavior with the latter.

  * `tox` environments and dependencies were updated, and some flake8 configuration
    was adjusted.

#### Administrative

  * Standard development Python version bumped to 3.9.

  * Standard development Sphinx version bumped to 3.5.0.

  * Added `[skip ci]` flag in commit text for skipping Github Actions CI.

  * RtD upgraded to use Python 3.8.

  * Added 'radio Sphinx' logo to RtD docs.

  * Drafted `CONTRIBUTING.md` and added PR & issue templates.

  * Tranferred most project metadata from `setup.py` to `setup.cfg`.


### [2.1b1] - 2020-11-13

#### Fixed

  * Equality tests on Inventory and DataObjStr/DataObjBytes instances
    now work correctly.

  * Non-integer and non-numeric values for `priority` are now accepted
    during `Inventory` instantiation, consistent with what is allowed
    by `DataObjStr` and `DataObjBytes` instantiation.


### [2.1a2] - 2020-10-27

#### Added

  * When an inventory is retrieved via CLI from a remote URL with `-u`,
    the resolved location of the inventory is included in generated JSON
    at `json_dict.metadata.url`.

#### Changed

  * CLI logging messages are now emitted to stderr instead of stdout.


### [2.1a1] - 2020-10-26

#### Added

  * A hyphen can now be passed as the CLI input and/or output file name
    to instruct sphobjinv to use stdin and/or stdout, respectively.

  * The `fileops` and `inventory` APIs are now tested to work with
    both strings and `pathlib.Path` objects, where they interact
    with the filesystem.

#### Refactored

  * Patterns in regular expressions are now defined with raw strings
    to improve readability.
jperkin pushed a commit that referenced this issue May 18, 2023
Change log:

0.6.1 (2023-05-13)
=====
- I18n: Update po/LINGUAS list
- I18n: Update po/LINGUAS list
- build: Optionally require polkit
- build: Use m4_defined min versions and cleanup
- build: Use XDT_VERSION_INIT and get rid of configure.ac.in
- build: Switch from intltool to gettext
- menubar: Improve some strings
- search: Use consistent naming
- history: Properly restore multi-window session
- Restore opening mode only when it was overridden from the command line
- Add "X of Y matches" to search bar and replace dialog (Closes #174)
- Add application/x-zerosize to supported mime types (Fixes #194)
- Apply opening mode also to the open dialog (Fixes #181)
- Properly reconnect signal handler when auto-reload is enabled
- Translation Updates:
  Albanian, Arabic, Armenian (Armenia), Basque, Belarusian, Bulgarian,
  Catalan, Chinese (China), Chinese (Taiwan), Croatian, Czech, Danish,
  Dutch, Eastern Armenian, English (Australia), English (United
  Kingdom), Estonian, Finnish, French, Galician, German, Greek, Hebrew,
  Hungarian, Icelandic, Indonesian, Interlingue, Italian, Japanese,
  Kazakh, Korean, Lithuanian, Malay, Norwegian Bokmål, Occitan (post
  1500), Persian (Iran), Polish, Portuguese, Portuguese (Brazil),
  Romanian, Russian, Serbian, Slovak, Slovenian, Spanish, Swedish,
  Telugu, Thai, Turkish, Ukrainian, Uyghur
jperkin pushed a commit that referenced this issue May 25, 2023
What's Changed

    Fix building without duktape by @mattst88 in #180
    Fix WITH_GNOME2 documentation by @mattst88 in #181
    bindings: perl: Use ccflags from %Config for libproxy module compilation by @Vogtinator in #183
    Use XDG_CURRENT_DESKTOP to detect GNOME desktop like systems by @janbrummer in #192
    Enable the use of ducktape in Windows systems by @illera88 in #194
    Enable static builds for libproxy by @illera88 in #195
    Fix build on macOS by @wegank in #189
    Complete rewrite by @janbrummer in #201
    kde: Remove line breaks in values by @janbrummer in #203
    Add man page for proxy tool by @janbrummer in #204
    Add PX_FORCE_CONFIG env by @janbrummer in #205
    add alert function to pacrunners by @multiSnow in #196
    Update architecture documentation by @janbrummer in #206
    Check for valid uri_host in ignore_ip() by @janbrummer in #210
    Remove line break in debug output by @janbrummer in #211
    Improve GNOME/KDE get_config() execution by @janbrummer in #212
jperkin pushed a commit that referenced this issue Jul 10, 2023
pkgsrc change: remove redundunt PKGNAME.

3.1.19 (2019-05-31)

* No longer include compiled binaries for Windows. See GH #173.
* Update C and Java implementations to latest versions [GH #182 by @fonica]
* Bump default cost to 12 [GH #181 by @bdewater]
* Remove explicit support for Rubies 1.8 and 1.9
* Start calibration from the minimum cost supported by the algorithm [GH
  #206 by @sergey-alekseev]
* Remove explicit support for Rubies 1.8 and 1.9 [GH #185 by @tjschuck]
* Define SKIP_GNU token when building extension (Fixes FreeBSD >= 12) [GH
  #189 by @adam12]
jperkin pushed a commit that referenced this issue Jul 13, 2023
v0.8.0 (Fri Jul 07 2023)
🎉 This release contains work from a new contributor! 🎉

Thank you, Enoumy (@Enoumy), for all your work!

Release Notes
Correctly handle non-existent pages (#186)

When you now try to open a link leading to a page that doesn't exist yet, a
warning will now pop up informing you about the missing page.

Vim movements (ctrl+d, ctrl+u, gg, G) (#180)

The Vim keybindings ctrl+d, ctrl+u, gg, and G have been implemented!

Exciting New Features 🎉
 - Correctly handle non-existent pages #186 (@Builditluc)
 - Vim movements (ctrl+d, ctrl+u, gg, G) #180 (@Enoumy)

Bug Fixes 🐛
 - Fix url encoded links #181 (@Builditluc)

CI Pipeline and Dependency Updates
 - Bump select to v0.6 #189 (@Builditluc)

Documentation Changes
 - Update and Improve the Documentation #188 (@Builditluc)

Structure and Style Changes
 - Change default keybindings to vim #185 (@Builditluc)
jperkin pushed a commit that referenced this issue Oct 3, 2023
What's Changed
 - docs: Add installation instructions for Arch Linux by @orhun in #140
 - docs: Add installation instructions for Alpine Linux by @orhun in #142
 - Docs: Update README by @AmmarAbouZor in #144
 - Added: Unit Tests for UI Functions by @AmmarAbouZor in #171
 - Chore: Bump Swatinem/rust-cache from 2.6.2 to 2.7.0 by @dependabot in #166
 - Added: Unit Tests for the main App Logic by @AmmarAbouZor in #176
 - Migrate to Ratatui & Update Crossterm to 27 by @AmmarAbouZor in #178
 - Fix Input Boxes Border color by @AmmarAbouZor in #181
jperkin pushed a commit that referenced this issue Oct 23, 2023
This is the biggest update ever, with 36 new features, 24 bug fixes,
and 3 performance improvements.

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

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

A quick note to any packages. The generated shell completions and man page are
now in the gen directory of the repo. They're also included in the pre-built
release artifacts on the releases page.

Improvements
 #115 Do not replace symlink with output file (@SimplyDanny)
      Fixes an issue where a symlink would be replaced with a regular file
 #124 Fix tests (@Linus789)
      Removed displaying the file path when passing the --preview flag and fixed how text coloring was handled in tests

Breaking
 #192 Rename --string-mode to --fixed-strings (@CosmicHorrorDev)
      Renamed -s --string-mode to -f --fixed-strings to better match similar
      tools
      -s and --string-mode will still continue to work for backwards
      compatibility, but are no longer documented
 #258 Error on $<num><non_num> capture replacement names (@CosmicHorrorDev)
      Previously when you tried to use a numbered capture group right before
      some letters in the replacement text (e.g. $1foo) then it would be
      considered the impossible-to-use 1foo capture. The correct way to pass
      the numbered capture group in this case would be to surround the number
      with curly braces like so ${1}foo. The error just detects this case and
      informs the user of the issue

Docs
 #93 Add note about in-place file modification to --help output (@jchook)
 #148 Doc: nitpick -- has no special meaning to shells (@hexagonrecursion)
 #181 Fix man page -f flag help text (@ulope)
      Fixed copy-pasted text in the man page's -f flag's help text
 #186 Improve error message for failed replacements (@CosmicHorrorDev)
 #187 Freshen up README (@CosmicHorrorDev)
      Added a repology badge to document different installation methods
      Improved the formatting of the benchmarks
 #207 Documenting $ escape (@yahkbar)
      Adds a section in the README that covers that $$ is a literal $ in the
      replacement text
 #227 Improve README readability (@vassudanagunta)
      Various formatting improvements
 #231 Use clap_mangen and roff to generate manpage (@nc7s)
      This change ensures the man page contents stay in sync with the CLI
      automatically, and fixes some broken rendering of the existing manpage
 #243 Exclude unsupported packages from the repology badge (@CosmicHorrorDev)

Pre-built Releases
 (11295fb) Add ARM target (@chmln)
           Added the arm-unknown-linux-gnueabihf target to CI and releases
 #114 Adding aarch64-apple-darwin target (@yahkbar)
 #143 Fix paths to release binary in "publish" action (@skrattaren)
 #179 Build Adjustments (@yahkbar)
      striped release binaries and added the aarch64-ubuntu-linux-musl target
 #204 Adding armv7-unknown-linux-gnueabihf target (@yahkbar)
      Added the armv7-unknown-linux-gnueabihf target to the list of targets to
      build in CI and for each release
 #205 Resolving broken aarch64-apple-darwin tests (@yahkbar)
      Switched aarch64-apple-darwin to only try building the executable without
      running the tests since there seems to be no easy way to test for ARM
      Apple targets
 #206 Adding Windows builds back (@yahkbar)
      Added the x86_64-pc-windows-gnu and x86_64-windows-musl targets back to
      the list of targets to build in CI and for each release

Internal
 #118 Fix master (@SimplyDanny)
      Fixes several cross-compilation issues that effected different targets
      in CI
 #182 cargo update (@CosmicHorrorDev)
      Bumps dependencies to their latest compatible versions
 #183 Switch memmap -> memmap2 (@CosmicHorrorDev)
      Switches away from an unmaintained crate
 #184 Add editor config file matching rustfmt config (@CosmicHorrorDev)
      Adds an .editorconfig file matching the settings listed in the
      .rustfmt.toml file
 #185 Fix warnings and clippy lints (@CosmicHorrorDev)
 #188 Switch atty for is-terminal (@CosmicHorrorDev)
      Switches away from an unmaintained crate
 #189 Replace structopt with clap v4 (@CosmicHorrorDev)
      Switches away from a defacto deprecated crate
 #190 Change how all shell variants are expressed (@CosmicHorrorDev)
      Tiny tidying up PR
 #196 Move generating static assets to a cargo-xtask task (@CosmicHorrorDev)
      Moves the generation of the man page and shell completions from a build
      script to a cargo-xtask task
 #197 Add a release checklist (@CosmicHorrorDev)
 #209 Dependency updates (@yahkbar)
 #235 Update generated assets (@CosmicHorrorDev)
 #236 Tone down dependabot (@CosmicHorrorDev)
 #245 Update sd to 2021 edition (@CosmicHorrorDev)
      Updates sd to the Rust 2021 edition
 #248 Misc Cargo.toml tweaks (@CosmicHorrorDev)
      Switches to use workspace edition and dependencies where appropriate
 #249 Resolve CI warnings (@CosmicHorrorDev)
      Switched from actions-rs actions to dtolnay@rust-toolchain
      Switched from using ::set-output to $GITHUB_ENV
 #251 Update dependencies (@CosmicHorrorDev)
 A lot of sad CI tweaking:
      #252 Fix build target usage in CI (@CosmicHorrorDev)
      #253 Improve publishing CI job (@CosmicHorrorDev)
      #256 More CI tweaks (@CosmicHorrorDev)
      #257 Fix publish action (@CosmicHorrorDev)
 #267 Rework the replacements flag (@CosmicHorrorDev)
 #269 Make modified text blue instead of green (@CosmicHorrorDev)
 #271 Fix release checklist indentation (@CosmicHorrorDev)
 #272 Remove outdated release checklist step (@CosmicHorrorDev)
 #274 Prepare 1.0.0-beta.0 release (@CosmicHorrorDev)
 #275 Update sd version in lockfile (@CosmicHorrorDev)
jperkin pushed a commit that referenced this issue Dec 4, 2023
Just a small follow-up release to v0.3.2
Fixed
 - Fixes a panic in wgpu_core that can occur when resizing windows (#180)
 - Fixes list numbering when an element is nested within a list item (#181)
jperkin pushed a commit that referenced this issue Dec 17, 2023
Change Log

2.6.1   C<2023-07-26>

* Fix: Formatting with perltidy was broken in 2.6.0

2.6.0   C<2023-07-23>

* Add debug setting for running as different user. See sudoUser setting. (#174) [wielandp]

* Allow to use a string for debuggee arguments. (#149, #173) [wielandp]

* Add stdin redirection (#166) [wielandp]

* Add link to issues to META files (#168) [szabgab/issues]

* Add support for podman

* Add support for run Perl::LanguageServer outside, but debugger inside a container

* Add setting useTaintForSyntaxCheck. If true, use taint mode for syntax check (#172) [wielandp]

* Add setting useTaintForDebug. If true, use taint mode inside debugger (#181) [wielandp]

* Add debug adapter request C<source>, which allows to display source of eval or file that are not available to vscode (#180) [wielandp]

* Fix: Spelling (#170, #171) [pkg-perl-tools]

* Fix: Convert charset encoding of debugger output according to current locale (#167) [wielandp]

* Fix: Fix diagnostic notifications override on clients (based on #185) [bmeneg]
jperkin pushed a commit that referenced this issue Dec 29, 2023
Provided by Chavdar Ivanov in PR 57796.

# 23.12.0

- Input text selection was cleared when right-clicking
  on it (#1845)
- Pressing both mouse buttons simultaneously caused an
  assert (#1844)
- Corrected the cursor position after unsuccessful autocompletes
- Corrected the handling of question prompts from maxima (#1827)
- Bug corrections in the search functionality
- RegEx search works again
- Clicking on the notification now is more likely to focus the worksheet
- Corrected the cell folding logic (#1853)
- Folded cells are no more evaluated (#1853)
- Now we try to generate a backtrace on crashes (#1802)
- Corrected the position of integral limits
- Nicer product, sum and integral signs
- Hidden cells weren't restored from wxm files (#1855)
- diff() no longer causes spurious multiplication dots (#1825)

# 23.11.0

- Correctly draw the bracket of the cell under the cursor (#1811)
- Maths display was corrupted if the window was temporarily not wide
  enough to display it in 2D (#1812)
- Added many range checks to the code
- Correct label scaling after changing the zoom factor (#1815)
- Repaired "copy as bitmap" (#1820)
- Repaired EMF and SVG output (#1838)
- Focus the search text on activating the search box (#1821)
- Correctly support dropping multiple files on the worksheet
- If the worksheet isn't empty dropping a file on the worksheet
  no more closes the currently open file
- Try harder to kill maxima on closing it (#1824)
- Menu items for displaying the internal representation
- Better display of diff(), if multiplication dots are enabled (#1825)
- Tried to resolve a few asserts (#1831)
- Resolved many warnings from several static analysis tools
- Fine-tuning of the "undo" function

# 23.10.0

- A big rewrite to make the static analysis tools happy
- Many stability improvements
- Maxima's help commands work again out-of-the-box.
- Corrected the worksheet size calculation
- Better support for loading .wxmx files from weird paths
- Finally resolved the "Right-click resets zoom" problem (#1810)
- A speed up
- Many right-click menu fixes (#1810)
- Display/Hide label fixes
- Many help browser improvements (#1802)
- The worksheet size no more is underestimated (#1802)
- Cell creation fixes
- Copy-and-paste improvements (#1809)
- Better error messages for bitmaps
- Many additional bug fixes

# 23.08.0

- Better print scaling
- More consistent page size handling for printing
- Many performance and stability fixes from coverity-scan
- Resolved many warnings from cppcheck
- A RegEx search

# 23.07.0

- Printing: Made the page margins configurable (#1787)
- Printing: We no more print page headers (#1791)
- Printing: Printing no more omits labels (#1507)
- Printing: A better pagebreak algorithm
- Printing: No more ghost lines around text cells
- Less ugly integral signs
- Many stability fixes
- More consistent worksheet scaling and sizes (#1780)
- Correctly save the color settings (#1789)
- Correctly check the numeric and other menu items
- The cursor no more disappears (#1788)
- Updated italian translation

# 23.05.1

- Updated the Russian and Italian translation.
- Process the command line option `--maxima=<str>`.
- Resolved several possibilities to crash the config dialogue
  (#1774, #1766)
- Correctly calculate the worksheet size in the background (#1766)
- Correctly restore parenthesis on load (#1779)
- Always revise the decision what to display as 2D equation on
  window width changes
- 2D display of integrals had zero size (#1780)

# 23.05.0

- Got rid of some compiler and cppcheck warnings
- Big performance improvements
- A "maxima versus typical programming languages" tutorial.
- Table of contents: Jump to the chapter the cursor is in.
- Resolved another crash in the config dialogue
- Updated the unicode character list
- Resolved more potential event ID clashes
- Use an external file as wxMathML.lisp is now selected using
  a command line option, not configured in the GUI.
  This is mostly needed for developers, no need to expose it
  to the end user.
- Better handling of paths to maxima when starting new
  wxMaxima processes
- new wxMaxima processes now get more of the command-line args
  of the parent process
- wxMaxima no more tries to install its own fonts.

# 23.04.1

- More config dialogue tweaks
- MacOs: No more create config icons that aren't needed
- Recent file list: Don't try to re-use no-more-used wxWidgets IDs
- Make sure that the help sidebar is shown when opening a help topic
- If maxima wants us to open a help browser and wxMaxima was compiled
  without one it now opens an external help browser
- Be aware that the MSW port recycles unused window IDs.
- The load() command now again works with symbols as package names.

# 23.04.0

- Made the GUI more responsive for functions with much output
- Handle errors in the XML from maxima more gracefully
- Rewrote parts of the lisp part of wxMaxima
- Resolved a few lisp warnings
- Resolved a few XML errors caused by not escaping special chars
- Automatic XML generation tests
- More MacOs fixes
- Correct display of operators
- A better style sample for the config dialogue
- Resolved several asserts
- Resolved a few small bugs in the autosave logic

# 23.03.0

- Make sure all bitmaps are valid on High-DPI MacOs (#1749)
- More styles consistency (#1753)
- Better configuration validation
- Depending on the wxWidgets version Unicode letters were
  interpreted inorrectly (#1754)
- The manual anchors cache now saves the file-per-chapter URLs, too.
- cmake -DWXM_DISABLE_WEBVIEW now allows to find wxWidgets, if
  wxWebView wasn't compiled.
- Completely rewrote the dockable-sidebars-stuff
- Many files are now build on demand, not at configure time

# 23.02.0

- Fix XML generation of wxmx documents (#1556)
- A faster font cache
- Faster communication between wxMaxima and Maxima
- Dropped the dependency on an \[internal\] ww898 library
- More consistent text style handling
- A try to improve locale management on the Mac platform
- A separate style for operators (#1002)
- A nicer ChangeLog

# 22.12.0

- A cleaner status bar with double-click actions
- Better display of labels
- box() now is displayed as a box, as the maxima manual states
- box(expr, "highlight") display expr in red, instead
- Resolved a few display glitches
- Resolved OS-dependant wrong actions on gui events
- A few system and compiler specific fixes
- Resolved a few compilation warnings
- Try harder to connect maxima if one communication port is blocked (#1717)
- Better display of help text in the console
- Faster saving of .wxmx files
- Better toolbar bitmap handling

# 22.11.1

- Repaired zooming the worksheet

# 22.11.0

- Resolved an ID collision (#1726)
- Faster restart of maxima (#1715)
- Make various dialogs window-modal (#1712)
- Proper handling of unicode in selection (#1726)
- An unicode conversion error (#1727)
- Repaired the "enter matrix" dialogue
- Jump to the correct anchor even if using online help
- Translation updates
- Many windows build improvements
- Resolved a crash on restarting maxima

# 22.09.0

- Support for wxWidgets 3.1.7
- The description field for wizards no more is a MouseOverToolTip
- Wizards now accept chars from the unicode buttons
- Wizards now can balance parenthesis
- Wizards for operatingsystem, basic programming and string operations
- More miscellaneous work on the wizards
- The watchlist was broken
- In MacOs the config dialogue crashed
- Better scalability of the config dialogue
- Folded multiline code cells are now sent to Maxima correctly (#1674)
- The output of the "?" command contained spurious "\<" (#1688)
- ?, ?? and describe() now use a browser window, by default
  (an up-to-date Maxima is required for that feature)
- Search harder for the Maxima manual
- Search harder for Maxima manual entries
- Now we find Maxima manual entries that have no explicit anchor
- On Linux, MacOs and, if wxWidgets was compiled with edge support
  the help browser can be obened in a dockable window
- wxMaxima can now compiled, even if wxWidgets was configured with
  the option "--enable-privatefonts=no".
  Use the option -DWXM_INCLUDE_FONTS=NO when compiling wxMaxima.
- Names that end in an underscore are now printed correctly (#1706)
- Made the tests work on more platforms (#1709)
- Resolved some asserts (#1574)
- Working MathJaX (#1702)
- A primitive integrated ChangeLog viewer
- Better documentation (#1693)
- Better unicode handling (#1691)
- Many additional bugfixes

# 22.05.0:

- Updated the Ukrainian translation
- Added `guess_exact_value` to the numeric menu.
- Added lapack to the matrix menu
- Added linpack to the numeric menu
- Added a "declare facts" right-click menu entry to variables
- We no more reserve space for hidden input
- A better logexpand section in the numeric menu
- Many wizards have a more modern look and feel, now
- The modern-style wizards are now dockable by default
- Undo and redo buttons for the toolbar
- A "construct fraction" wizard (#1664)
- Printing multiple-page documents now should work again on Linux (#1671)
- The selection should now no more overwrite test (#1665)
- Hidden code cells now are correctly sent to maxime (#1674)
- MacOs: The toolbar icons work now on retina screens (#1657)
- MacOs: The config dialogue works again (#1662)
- Many additional MacOs fixes
- The Cygwin build works again
- Support for wxWidgets 3.1.6

# 22.04.0:

- A Russian translation update from Olesya Gerasimenko
- Repaired drag-and-drop on MacOs (#1624)
- Resolved a bug in parenthesis matching (#1649)
- Faster startup logic

# 22.03.0:

- Add an compile option "WXM_INCLUDE_FONTS", which allows to
  specify, if additional fonts should be included.
  Current default: YES; use -DWXM_INCLUDE_FONTS=NO when calling
  CMake to disable that.
  Including fonts caused some issues on MacOS. (#1580)
- Rename command line option --logtostdout to --logtostderr.
  Because the option does print the log messages to STDERR, not STDOUT.
- A better heuristics for finding out what to style as 1D maths
- An updated french translation from Frédéric Chapoton
- Consistent image resolutions
- No more crashes on exporting multiple animations at once (#1616)
- Drag-and-Drop in the table of contents
- Table of contents: Convert sections to subsections and similar (#1629)
- Parenthesis and quote matching now uses the Maxima parser.
  This means it now both knows the details of the Maxima language
  and is much faster than before.
- A way of limiting the toc depth shown in the table of contents
- Now the problems after a kill(all) should be finally resolved
- Better support for the debugger (#1625)
- Machine-Float NaNs no more causes XML errors
- Labels with hexadecimal numbers no more cause crashes (#1633)
- wxMaxima no more skips chars in subscripted variables (#1632)
- Merging cells per keyboard shortcut works again (#1626)
- Symbols buttons whose symbols the GUI font lacks are now hidden

# 21.11.0:

- Allow seeing all files in the file save dialog. (#1557)
- Fix an error when using Alt up arrow (show previous command) (#1566)
- Rewrote a config dialogue
- Improvements in the manual
- Update Spanish translation of manual
- Update German, Russian, Hungarian and Ukrainian translation
- Fix a warning, which occurred, when starting wxMaxima the first time
- ww898 unnecessarily limited the list of supported platforms
- wxMaxima's properties to Maxima symbols can now no more be killed
- Allow single GroupCells to be converted to LaTeX
- Enable reloading and changing images inserted via "Cell" -> "Insert Image..." (#1597)
- Correctly set the document saved state when the size of an image is changed
- Use the AUTHORS file for the Credits page in the "About" dialogue
- Handle power events (#1607)
- Fix ugly buttons in the sidebars with recent wxWidgets

# 21.05.2:

- The integral signs disappeared or were misplaced on some MS Windows computers

# 21.05.1:

- Resolved a segfault on printing that could be triggered on some computers

# 21.05.0:

- Long numbers now can be broken into lines
- On Export long numbers sometimes got lost
- The height of folded cells now is calculated correctly, again (bug #1532)
- Printing now can insert pagebreaks within GroupCells (bug #970, #1528,
  #1241, #181, #573,#1082)
- A Russian translation update by OlesyaGerasimenko
- A Ukrainian translation update by Yuri Chornoivan
- Changed the font for the PDF manuals to free Google Noto fonts.
  Now all PDF manuals can be created without missing characters
  (before cyrillic, chinese and greek characters were missing).
- Solved a crash when printing.

# 21.04.0

- Fix visualization after "Evaluate all cells (Ctrl+Shift+R)" (bug #1512).
- Fix context sensitive help with F1 (bug #1508).
- Add an option for not showing matching parenthesis (bug #1509).
- Changed the weather icons in the toolbar to more meaningful ones (bug #1514).
- Many bugfixes with respect to correctly breaking lines (bugs #1528, #1471, #1512).
- Fix a bug in copy-paste of saved/loaded results (bug #1518).
- Fix a crash when pressing Ctrl-X while a math cell is selected (bug #1519).
- CMake 3.10 is now required for building wxMaxima.
- C++ 14 is required for building wxMaxima. Now CMake knows about that fact.
- Many external build scripts are now replaced by C++ and CMake commands.
- A menu entry for when to invoke the debugger.

# 21.02.0

- A Spanish translation update by cyphra
- Replaced openMP by c++11's built-in thread handling. This should improve
  stability at the cost of making loading files with lots of images slower.
- Language selection now works on Windows.
- Resolved a crash when deleting regions.
- The --ini switch should work again correctly.
- Fix an issue, where demos didn't re-center screen anymore, when screen
  is full and print was incomplete.
- Made the time between autosaves configurable.
- Fixed an issue with reproducible builds.

# 21.01.0

- Chinese translation updates by 刘荣.
- A Russian translation update by OlesyaGerasimenko
- Many small bugfixes including a crash on loading files with images.
jperkin pushed a commit that referenced this issue Jan 25, 2024
# later 1.3.2

* Fixed `unused variable` compiler warning. (@MichaelChirico, #176)

* Fixed #177: The order of includes in `later.h` could cause compilation
   errors on some platforms. (@jeroen, #178)

* Closed #181: Fix R CMD check warning re error() format strings (for r-devel). (#133)

# later 1.3.1

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

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

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

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

Building / Housekeeping 🧹
    Update Cargo.lock file (#157)
    Update modalkit for newer ratatui and crossterm
    Fix CI workflow (#164)
    Use mozilla-actions/sccache-action for caching builds (#169)
    Enable direnv for Nix flakes (#183)
    Update to [email protected] (#200)
    Rename Nix flake build input from pkgconfig to pkg-config (#203)
    Update modalkit dependencies (#204)
    Move LTO into its own "release-lto" profile (#207)
    Fix Nix flake hashes (#206)
    Pull in modalkit repository with a Cargo.lock (#208)
    Nix flake updates (#214)
    Update to [email protected] (#215)
    Support linking against system OpenSSL (#218)
    GitHub workflow should use --locked to avoid broken Cargo.lock (#219)
    Fix odd Windows-only compile error (#221)
jperkin pushed a commit that referenced this issue May 1, 2024
jperkin pushed a commit that referenced this issue May 6, 2024
v2.17.0 - 2024/05/05
 - default binding for 'c' in bacon.toml is now the new 'clippy-all' job which
   does what the old 'clippy' job was doing. 'clippy' job changed to not run on
   all targets. Default bacon.toml explain how to bind 'c' to clippy instead of
   'clippy-all' - Fix #167
 - expand env vars in job command unless the job specifies
   expand_env_vars = false - Fix #181
 - some file events filtered out from watch (feedback welcome, especially if
   you notice some failures to recompute)
 - parse test results even when tests are run with -q/--quiet - Thanks @narpfel
jperkin pushed a commit that referenced this issue Jun 4, 2024
1.5.2 (2024-05-24)

What's Changed

* Yet Another memleak with str(list) by @mknkmyzk in #169
* Use exec instead of eval in raise test by @mrkn in #179
* Fix segvs by @mrkn in #178
* Use RTYPEDDATA_GET_DATA if exist by @mrkn in #181
jperkin pushed a commit that referenced this issue Jun 10, 2024
## [2024.1] - 2024-05-20

### Added

- Add unit testing for link syntax
- Support link to enumeration members [!214, !215]
- Add favicon support [#152]
- Add proper anchor for enum members [#183]
- Parse optional anchors in links [#191]
- Generate a link to finish functions [#189]
- Add 'inline' to C declarations for inline callables [#173]
- Make the logo a link to the index [#195]
- Clear search when pressing Escape [#194]

### Changed

- Update the wording for transfer modes [!205]
- Turn deprecation notices into admonitions [#155]
- Improve filesystem string type docs [#193]

### Fixed

- Fix doubled paragraph tags around descriptions [!206]
- Append period after last line in more cases [#181]
- Documentation fixes [!223, #198]
- Use the basename of the urlmap file [#197]

### Removed

- Revert "generate: Add fallback for missing "since"" [#179]
jperkin pushed a commit that referenced this issue Jul 1, 2024
4.18.4 (2024-06-09)
======
- Update copyright year
- Explicitly depend on gio-unix-2.0
- Replace deprecated xfce_spawn_command_line_on_screen()
- Add missing G_(BEGIN|END)_DECLS
- Add xapp for Wallpaper and Screenshot in xfce-portals.conf
- Add minimal xdg-desktop-portal conf file for Xfce (Fixes #181)
- Ensure all various XDG_* etc. env vars are passed to DBus and systemd
- Add missing export for XDG_CONFIG_HOME and XDG_CACHE_HOME
- Clean up SVG icon metadata for 24px, 48px actions
- Add action icons at 96px
- Add icons at missing sizes, clean up SVG metadata
- Translation Updates:
  Albanian, Arabic, Armenian (Armenia), Asturian, Azerbaijani, Basque,
  Belarusian, Belarusian (Tarask), Bengali, Bulgarian, Catalan, Chinese
  (China), Chinese (Hong Kong), Chinese (Taiwan), Croatian, Czech,
  Danish, Dutch, Eastern Armenian, English (Australia), English
  (Canada), English (United Kingdom), Estonian, Finnish, French,
  Galician, German, Greek, Hebrew, Hindi, Hungarian, Icelandic,
  Indonesian, Interlingue, Italian, Japanese, Kazakh, Korean,
  Lithuanian, Malay, Norwegian Bokmål, Norwegian Nynorsk, Occitan
  (post 1500), Persian (Iran), Polish, Portuguese, Portuguese (Brazil),
  Romanian, Russian, Serbian, Slovak, Slovenian, Spanish, Swedish,
  Thai, Turkish, Ukrainian, Uyghur, Vietnamese
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants