One of Haskell's strengths is immutable data structures. These structures
make it easier to reason about code, simplify concurrency and parallelism,
and in some cases can improve performance by allowing sharing. However,
there are still classes of problems where mutable data structures can both
be more convenient, and provide a performance boost. This library is meant
to provide such structures in a performant, well tested way. It also
provides a simple abstraction over such data structures via typeclasses.
This package provides a bunch of ad hoc classes for accessing parts of a
container.
In practice this package is largely subsumed by the lens package, but it is
maintained for now as it has much simpler dependencies.
See the dlist packages. This package is the canonical source for some
orphan instances. Orphan instances are placed here to avoid dependencies
elsewhere.
The premise of basic-prelude is that there are a lot of very commonly
desired features missing from the standard Prelude, such as commonly used
operators (<$> and >=>, for instance) and imports for common datatypes
(e.g., ByteString and Vector). At the same time, there are lots of other
components which are more debatable, such as providing polymorphic versions
of common functions.
So basic-prelude is intended to give a common foundation for a number of
alternate preludes. The package provides two modules: CorePrelude provides
the common ground for other preludes to build on top of, while BasicPrelude
exports CorePrelude together with commonly used list functions to provide a
drop-in replacement for the standard Prelude.
Users wishing to have an improved Prelude can use BasicPrelude. Developers
wishing to create a new prelude should use CorePrelude.
This package exposes combinators that can wrap arbitrary monadic
actions. They run the action and potentially retry running it with some
configurable delay for a configurable number of times. The purpose is to
make it easier to work with IO and especially network IO actions that often
experience temporary failure and warrant retrying of the original
action. For example, a database query may time out for a while, in which
case we should hang back for a bit and retry the query instead of simply
raising an exception.
Provides orphan instances for the RIO data type. Currently supports:
* MonadBase from transformers-base
* MonadBaseControl from monad-control
* MonadCatch and MonadMask from exceptions
* MonadLogger from monad-logger
* MonadResource from resourcet
The goal of the rio library is to make it easier to adopt Haskell for
writing production software. It is intended as a cross between:
* Collection of well designed, trusted libraries
* Useful Prelude replacement
* A set of best practices for writing production quality Haskell code
This library uses GHC.Generics to derive efficient optics (traversals,
lenses and prisms) for algebraic data types in a type-directed way, with a
focus on good type inference and error messages when possible.
This library uses GHC.Generics to derive efficient optics (traversals,
lenses and prisms) for algebraic data types in a type-directed way, with a
focus on good type inference and error messages when possible.
This package is the shared internal logic of the generic-lens and
generic-optics libraries.
SQLite Release 3.38.0 On 2022-02-22
Added the -> and ->> operators for easier processing of JSON. The new operators are compatible with MySQL and PostgreSQL.
The JSON functions are now built-ins. It is no longer necessary to use the -DSQLITE_ENABLE_JSON1 compile-time option to enable JSON support. JSON is on by default. Disable the JSON interface using the new -DSQLITE_OMIT_JSON compile-time option.
Enhancements to date and time functions:
Added the unixepoch() function.
Added the auto modifier and the julianday modifier.
Rename the printf() SQL function to format() for better compatibility. The original printf() name is retained as an alias for backwards compatibility.
Added the sqlite3_error_offset() interface, which can sometimes help to localize an SQL error to a specific character in the input SQL text, so that applications can provide better error messages.
Enhanced the interface to virtual tables as follows:
Added the sqlite3_vtab_distinct() interface.
Added the sqlite3_vtab_rhs_value() interface.
Added new operator types SQLITE_INDEX_CONSTRAINT_LIMIT and SQLITE_INDEX_CONSTRAINT_OFFSET.
Added the sqlite3_vtab_in() interface (and related) to enable a virtual table to process IN operator constraints all at once, rather than processing each value of the right-hand side of the IN operator separately.
CLI enhancements:
Columnar output modes are enhanced to correctly handle tabs and newlines embedded in text.
Added options like "--wrap N", "--wordwrap on", and "--quote" to the columnar output modes.
Added the .mode qbox alias.
The .import command automatically disambiguates column names.
Use the new sqlite3_error_offset() interface to provide better error messages.
Query planner enhancements:
Use a Bloom filter to speed up large analytic queries.
Use a balanced merge tree to evaluate UNION or UNION ALL compound SELECT statements that have an ORDER BY clause.
The ALTER TABLE statement is changed to silently ignores entries in the sqlite_schema table that do not parse when PRAGMA writable_schema=ON.
Atomically write to a file on POSIX-compliant systems while preserving
permissions.
On most Unix systems, mv is an atomic operation. This makes it simple to
write to a file atomically just by using the mv operation. However, this
will destroy the permissions on the original file. This library does the
following to preserve permissions while atomically writing to a file:
* If an original file exists, take those permissions and apply them to the
temp file before mving the file into place.
* If the original file does not exist, create a following with default
permissions (based on the currently-active umask).
This way, when the file is mv'ed into place, the permissions will be the
ones held by the original file.
This package (formerly binary-serialise-cbor) provides pure, efficient
serialization of Haskell values directly into ByteStrings for storage or
transmission purposes. By providing a set of type class instances, you can
also serialise any custom data type you have as well.
The underlying binary format used is the 'Concise Binary Object
Representation', or CBOR, specified in RFC 7049. As a result, serialised
Haskell values have implicit structure outside of the Haskell program
itself, meaning they can be inspected or analyzed without custom tools.
A sensible starting Prelude for building custom Preludes.
Design points:
* Banishes String.
* Banishes partial functions.
* Compiler warning on bottoms.
* Polymorphic string IO functions.
* Polymorphic show.
* Automatic string conversions.
* Types for common data structures in scope.
* Types for all common string types (Text/ByteString) in scope.
* Banishes impure exception throwing outside of IO.
* StateT/ReaderT/ExceptT transformers in scope by default.
* Foldable / Traversable functions in scope by default.
* Unsafe functions are prefixed with "unsafe" in separate module.
* Compiler agnostic, GHC internal modules are abstracted out into Base.
* sum and product are strict by default.
* Includes Semiring for GHC >= 7.6.
* Includes Bifunctor for GHC >= 7.6.
* Includes Semigroup for GHC >= 7.6.
This package backports the Control.Monad.Except module from mtl (if using
mtl-2.2.0.1 or earlier), which reexports the ExceptT monad transformer and
the MonadError class.
This package should only be used if there is a need to use the
Control.Monad.Except module specifically. If you just want the mtl class
instances for ExceptT, use transformers-compat instead, since mtl-compat
does nothing but reexport the instances from that package.
Note that unlike how mtl-2.2 or later works, the Control.Monad.Except
module defined in this package exports all of ExceptT's monad class
instances. Therefore, you may have to declare import Control.Monad.Except
() at the top of your file to get all of the ExceptT instances in scope.
This package offers a collection of channel types, similar to
Control.Concurrent.STM.{TChan,TQueue} but with additional features. In
particular we offer the following data types:
Control.Concurrent.STM.TBChan:
Bounded FIFO channels. When the channel is full, writers will
block/retry. This ensures that the writers do not get too far ahead of
the readers, which helps to make sure that memory and cpu resources are
used responsibly.
Control.Concurrent.STM.TMChan:
Closeable FIFO channels.
Control.Concurrent.STM.TMQueue:
Closeable FIFO queues. Like TChan (Maybe a) but with a monotonicity
guarantee that once Nothing is returned all future reads will be
Nothing as well.
Control.Concurrent.STM.TBMChan:
Bounded Closeable FIFO channels.
Control.Concurrent.STM.TBMQueue:
Bounded Closeable FIFO queues. Combines the capabilities of TBChan and
TMChan.
This package exports a module which is the recommended starting point for
using microlens if you aren't trying to keep your dependencies minimal. By
importing Lens.Micro.Platform you get all functions and instances from
microlens, microlens-th, microlens-mtl, microlens-ghc, as well as instances
for Vector, Text, and HashMap.
Use this package instead of microlens if you don't mind depending on all
dependencies here -- Lens.Micro.GHC reexports everything from Lens.Micro
and additionally provides orphan instances of microlens classes for
packages coming with GHC (array, bytestring, containers, transformers).
This package provides an efficient implementation of the Concise Binary
Object Representation (CBOR), as specified by RFC 7049
(https:/tools.ietf.orghtml/rfc7049).
This package supplies half-precision floating point values w/ 1 bit of
sign, 5 bits of exponent, 11 bits of mantissa trailing a leading 1 bit with
proper underflow.
These arise commonly in GPU applications.
optparse-applicative has a really nice feature that enables any tools
parsing command-line arguments with the library to automatically generate
bash, fish, and zsh completion scripts via hidden options, by hidden it
means they aren't shown in the "--help" message.
Packages that install executables using optparse-applicative can now
include this file to automatically generate and install such scripts.
21.4.0 (2021-12-29)
-------------------
Changes
^^^^^^^
- Fixed the test suite on PyPy3.8 where ``cloudpickle`` does not work.
- Fixed ``coverage report`` for projects that use ``attrs`` and don't set a ``--source``.
----
21.3.0 (2021-12-28)
-------------------
Backward-incompatible Changes
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- When using ``@define``, converters are now run by default when setting an attribute on an instance -- additionally to validators.
I.e. the new default is ``on_setattr=[attrs.setters.convert, attrs.setters.validate]``.
This is unfortunately a breaking change, but it was an oversight, impossible to raise a ``DeprecationWarning`` about, and it's better to fix it now while the APIs are very fresh with few users.
- ``import attrs`` has finally landed!
As of this release, you can finally import ``attrs`` using its proper name.
Not all names from the ``attr`` namespace have been transferred; most notably ``attr.s`` and ``attr.ib`` are missing.
See ``attrs.define`` and ``attrs.field`` if you haven't seen our next-generation APIs yet.
A more elaborate explanation can be found `On The Core API Names <https://www.attrs.org/en/latest/names.html>`_
This feature is at least for one release **provisional**.
We don't *plan* on changing anything, but such a big change is unlikely to go perfectly on the first strike.
The API docs have been mostly updated, but it will be an ongoing effort to change everything to the new APIs.
Please note that we have **not** moved -- or even removed -- anything from ``attr``!
Please do report any bugs or documentation inconsistencies!
Changes
^^^^^^^
- ``attr.asdict(retain_collection_types=False)`` (default) dumps collection-esque keys as tuples.
- ``__match_args__`` are now generated to support Python 3.10's
`Structural Pattern Matching <https://docs.python.org/3.10/whatsnew/3.10.html#pep-634-structural-pattern-matching>`_.
This can be controlled by the ``match_args`` argument to the class decorators on Python 3.10 and later.
On older versions, it is never added and the argument is ignored.
- If the class-level *on_setattr* is set to ``attrs.setters.validate`` (default in ``@define`` and ``@mutable``) but no field defines a validator, pretend that it's not set.
- The generated ``__repr__`` is significantly faster on Pythons with f-strings.
- Attributes transformed via ``field_transformer`` are wrapped with ``AttrsClass`` again.
- Generated source code is now cached more efficiently for identical classes.
- Added ``attrs.converters.to_bool()``.
- ``attrs.resolve_types()`` now resolves types of subclasses after the parents are resolved.
- Added new validators: ``lt(val)`` (< val), ``le(va)`` (≤ val), ``ge(val)`` (≥ val), ``gt(val)`` (> val), and ``maxlen(n)``.
- ``attrs`` classes are now fully compatible with `cloudpickle <https://github.com/cloudpipe/cloudpickle>`_ (no need to disable ``repr`` anymore).
- Added new context manager ``attrs.validators.disabled()`` and functions ``attrs.validators.(set|get)_disabled()``.
They deprecate ``attrs.(set|get)_run_validators()``.
All functions are interoperable and modify the same internal state.
They are not – and never were – thread-safe, though.
- ``attrs.validators.matches_re()`` now accepts pre-compiled regular expressions in addition to pattern strings.
21.2.0 (2021-05-07)
-------------------
Backward-incompatible Changes
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- We had to revert the recursive feature for ``attr.evolve()`` because it broke some use-cases -- sorry!
- Python 3.4 is now blocked using packaging metadata because ``attrs`` can't be imported on it anymore.
To ensure that 3.4 users can keep installing ``attrs`` easily, we will `yank <https://pypi.org/help/#yanked>`_ 21.1.0 from PyPI.
This has **no** consequences if you pin ``attrs`` to 21.1.0.
21.1.0 (2021-05-06)
-------------------
Deprecations
^^^^^^^^^^^^
- The long-awaited, much-talked-about, little-delivered ``import attrs`` is finally upon us!
Since the NG APIs have now been proclaimed stable, the **next** release of ``attrs`` will allow you to actually ``import attrs``.
We're taking this opportunity to replace some defaults in our APIs that made sense in 2015, but don't in 2021.
So please, if you have any pet peeves about defaults in ``attrs``'s APIs, *now* is the time to air your grievances in 487!
We're not gonna get such a chance for a second time, without breaking our backward-compatibility guarantees, or long deprecation cycles.
Therefore, speak now or forever hold you peace!
- The *cmp* argument to ``attr.s()`` and `attr.ib()` has been **undeprecated**
It will continue to be supported as syntactic sugar to set *eq* and *order* in one go.
I'm terribly sorry for the hassle around this argument!
The reason we're bringing it back is it's usefulness regarding customization of equality/ordering.
The ``cmp`` attribute and argument on ``attr.Attribute`` remains deprecated and will be removed later this year.
Changes
^^^^^^^
- It's now possible to customize the behavior of ``eq`` and ``order`` by passing in a callable.
- The instant favorite next-generation APIs are not provisional anymore!
They are also officially supported by Mypy as of their `0.800 release <https://mypy-lang.blogspot.com/2021/01/mypy-0800-released.html>`_.
We hope the next release will already contain an (additional) importable package called ``attrs``.
- If an attribute defines a converter, the type of its parameter is used as type annotation for its corresponding ``__init__`` parameter.
If an ``attr.converters.pipe`` is used, the first one's is used.
- Fixed the creation of an extra slot for an ``attr.ib`` when the parent class already has a slot with the same name.
- ``__attrs__init__()`` will now be injected if ``init=False``, or if ``auto_detect=True`` and a user-defined ``__init__()`` exists.
This enables users to do "pre-init" work in their ``__init__()`` (such as ``super().__init__()``).
``__init__()`` can then delegate constructor argument processing to ``self.__attrs_init__(*args, **kwargs)``.
- ``bool(attr.NOTHING)`` is now ``False``.
- It's now possible to use ``super()`` inside of properties of slotted classes.
- Allow for a ``__attrs_pre_init__()`` method that -- if defined -- will get called at the beginning of the ``attrs``-generated ``__init__()`` method.
- Added forgotten ``attr.Attribute.evolve()`` to type stubs.
- ``attrs.evolve()`` now works recursively with nested ``attrs`` classes.
- Python 3.10 is now officially supported.
- ``attr.resolve_types()`` now takes an optional *attrib* argument to work inside a ``field_transformer``.
- ``ClassVar``\ s are now also detected if they come from `typing-extensions <https://pypi.org/project/typing-extensions/>`_.
- To make it easier to customize attribute comparison, we have added the ``attr.cmp_with()`` helper.
See the `new docs on comparison <https://www.attrs.org/en/stable/comparison.html>`_ for more details.
- Added **provisional** support for static typing in ``pyright`` via the `dataclass_transforms specification <https://github.com/microsoft/pyright/blob/main/specs/dataclass_transforms.md>`_.
Both the ``pyright`` specification and ``attrs`` implementation may change in future versions of both projects.
Hypothesis strategies for generating Python programs, something
like CSmith.
This is definitely pre-alpha, but if you want to play with it feel
free! You can even keep the shiny pieces when - not if - it breaks.
1.1.2 (2021-12-05)
Changed
Removed dependency on tomli to simplify installation.
Improve error messages on invalid inputs to rust_extensions keyword.
1.1.1 (2021-12-01)
Fixed
Fix regression from setuptools-rust 1.1.0 which broke builds for the x86_64-unknown-linux-musl target.
Fix --target command line option being unable to take a value.
Fix regression from setuptools-rust 1.0.0 which broke builds on arm64 macos conda builds.
Fix regression from setuptools-rust 1.1.0 which incorrectly converted library extension suffixes to the "abi3" suffix when py_limited_api was unspecified.
1.1.0 (2021-11-30)
Added
Add support for cross-compiling using cross.
Fixed
Fix incompatibility with Python 3.6.0 using default values for NamedTuple classes.
Stop forcing the msvc Rust toolchain for Windows environments using the gnu toolchain.
1.0.0 (2021-11-21)
Added
Add --target command line option for specifying target triple.
Add new default "auto" setting for RustExtension.py_limited_api.
Support very verbose cargo build.rs output.
Changed
Switch to tomli dependency.
Removed
Remove test_rust command. (python setup.py test is deprecated.)
Remove check_rust command.
Move tomlgen_rust command to separate setuptools-rust-tomlgen package.
Fixed
Use info from sysconfig when cross-compiling.
Put Rust extension module binary under build/lib.* directory.
Fix Exec binding with console scripts.
Trio 0.20.0 (2022-02-21)
------------------------
Features
- You can now conveniently spawn a child process in a background task
and interact it with on the fly using ``process = await
nursery.start(run_process, ...)``. See `run_process` for more details.
We recommend most users switch to this new API. Also note that:
- ``trio.open_process`` has been deprecated in favor of
`trio.lowlevel.open_process`,
- The ``aclose`` method on `Process` has been deprecated along with
``async with process_obj``.
- Now context variables set with `contextvars` are preserved when running functions
in a worker thread with `trio.to_thread.run_sync`, or when running
functions from the worker thread in the parent Trio thread with
`trio.from_thread.run`, and `trio.from_thread.run_sync`.
This is done by automatically copying the `contextvars` context.
`trio.lowlevel.spawn_system_task` now also receives an optional ``context`` argument.
Bugfixes
- Trio now avoids creating cyclic garbage when a `MultiError` is generated and filtered,
including invisibly within the cancellation system. This means errors raised
through nurseries and cancel scopes should result in less GC latency.
- Trio now deterministically cleans up file descriptors that were opened before
subprocess creation fails. Previously, they would remain open until the next run of
the garbage collector.
- Add compatibility with OpenSSL 3.0 on newer Python and PyPy versions by working
around ``SSLEOFError`` not being raised properly.
- Fix a bug that could cause `Process.wait` to hang on Linux systems using pidfds, if
another task were to access `Process.returncode` after the process exited but before
``wait`` woke up
mold 1.1 is a new release of the high-performance linker. It contains
a few new major features and various bug fixes.
New features:
- Native LTO (link-time optimization) support has been added.
mold used to invoke ld.bfd or ld.lld if it encountered a GCC
IR (intermediate representation) file or an LLVM IR file to
delegate the task to the LTO-capable linkers, respectively.
Now, mold handles IR files directly. This feature is implemented
using the linker plugin API which is also used by GNU ld and
GNU gold. Note that the LTO support has been added for completeness
and not for speed. mold is only marginally faster than the
other linkers for LTO builds because not linking but code
optimization dominates. (46995bc)
- RISC-V (RV64) is now supported as both host and target platforms.
mold can link real-world large programs such as mold itself or
LLVM Clang for RISC-V. (e76f7c0)
- The -emit-relocs option is supported. If the option is given,
mold copies relocation sections from input files to an output
file. This feature is used by some post-link binary optimization
or analysis tools such as Facebook's Bolt. (26fe71d)
- mold gained the --shuffle-sections option. If the option is
given, the linker randomly shuffle the order of input sections
before fixing their addresses in the virtual address space.
This feature is useful in some situations. First, it can be
used as a strong form of ASLR (address space layout randomization).
Second, you can enable it when you are benchmarking some other
program to get more reliable benchmark numbers, because even
the same machine code can vary in performance if they are laid
out differently in the virtual address space. You want to make
sure that you got good/bad benchmark numbers not by coincidence
by shuffling input sections. (7e91897)
- The --print-dependencies and --print-dependencies=full options
were added. They print out dependencies between input files in
the CSV format. That is, they print out the information as to
which file depends on which file to use which symbol. We added
this feature with a few use cases in mind. First, you can use
this to analyze why some object file was pulled out from an
archive and got linked to an output file. Second, when you want
to eliminate all dependencies to some library, you can find
all of them very easy with this feature. Note that this is an
experimental feature and may change or removed in feature
releases of mold. (a1287c2)
- The following options are added: --warn-once (f24b997),
--warn-textrel (6ffcae4)
- Runtime dependency to libxxhash has been eliminated. (e5f4b96)
Bug fixes and compatibility improvements:
- A PT_GNU_RELRO segment is now aligned up to the next page
boundary. Previously, mold didn't align it up, and the runtime
loader align it down, so the last partial page would not be
protected by the RELRO mechanism. Now, the entire RELRO segment
is guaranteed to be read-only at runtime. (0a0f9b3)
- The .got.plt section is now protected by RELRO if -z now is
given. This is possible because writes to .got.plt happen only
during process startup if all symbols are resolved on process
startup. (73159e2)
- Previously, mold reported an error if object files created with
old GCC (with -fgnu-unique) are mixed with ones created with
newer GCC or Clang (with -fno-gnu-unique) (#324). Now, mold
accepts such input files. (e65c5d2)
- mold can now be built with musl libc. (42b7eb8)
- mold-generated .symtab section now contains section symbols
and symbols derived from input shared object files. (e4c03c2,
1550b5a)
- mold-generated executables can now run under valgrind. Previously,
valgrind aborted on startup due to an assertion failure because
it didn't expect for an executable to have both .bss and .dynbss
sections. mold generated .dynbss to contain copy-relocated
symbols. The section has been renamed .copyrel to workaround
the valgrind's issue. (0f8bf23)
Options.withComparator: You can now inject a custom comparator to check
if two files are equivalent.
Minor bug fix: delete_approve file will not explode if the file does
not exist.
Minor bug fix: options are passed down the stack where they were not
previously being used.
Bug Fixes
- Only drop previous releases if skipped (#44)
- Run clippy from nightly toolchain
- Update tests about optional config values
- Set the previous release when using `--unreleased` (#47)
- Lower the priority of global configuration file (#51)
- Update the download link of latest grcov release
- Use the correct tar command for extracting grcov archive
- Update grcov download command
- Update custom error tests
Documentation
- Update template contexts about link_parsers
- Add minimal example
- Update copyright years
Features
- Add `link_parsers` for parsing/extracting links (#42)
- Make the `git` section optional (#45)
- Make the `changelog` section optional (#45)
- [**breaking**] Use conventional commit body to check against commit parsers
- [**breaking**] Replace --topo-order by --date-order (#58)
Miscellaneous Tasks
- Update arg parsing to clap v3 (#49)
- Upgrade dependencies
- Bump the Rust version in Dockerfile
- Run cargo-audit for checking vulnerabilities
- Update the runner to macos-11
Refactor
- Apply clippy suggestions
- [**breaking**] Change the default value of `trim` to `true`
- Unify serde and serde_derive using derive feature (#57)
Styling
- Update the styling
- Comply with MD022 and fix minor typos (#61)
v60.9.3
Misc
* Repaired automated release process.
v60.9.2
Misc
* When loading distutils from the vendored copy, rewrite __name__ to ensure consistent importing from inside and out.
v60.9.1
Misc
* Prevent vendored importlib_metadata from loading distributions from older importlib_metadata.
* Fixed issue where string-based entry points would be omitted.
* Bump importlib_metadata to 4.11.1 addressing issue with parsing requirements in egg-info as found in PyPy.
v60.9.0
Changes
* In the build backend, allow single config settings to be supplied.
* Removed workaround in distutils hack for get-pip now that pypa/get-pip#137 is closed.
* Setuptools no longer relies on pkg_resources for entry point handling.
* Bump vendored packaging to 21.3.
* Removed bootstrap script.
3.2.7 (2022-01-12)
* Update test expectations for php 8.2.0-dev. Add
`#[AllowDynamicProperties]` Attribute to some tests to avoid notices.
* In php 8.1+, make igbinary_unserialize check to see if an equivalent
interned string already exists when unserializing object property names,
array keys, and class names and use that instead of creating a brand new
string.
(This deliberately doesn't create a new interned string if one doesn't
already exist.)
(Before this change, igbinary would deduplicate strings when serializing,
but would not check if strings were interned by PHP itself when
unserializing)
* Avoid debug build assertion failure for `HT_ASSERT_RC1` the same way as
PHP's unserialize - this is a case where ostensibly there are no other
references to the array being unserialized.
3.1.3 (2022-02-01)
Fixed bugs:
* Fixed issue #2049: evaling broken code (still) causes unhandled exception
in PHP 7.4
* Fixed issue #2052: Memory leak when a trace file can't be opened because
xdebug.trace_output_name is invalid
* Fixed issue #2054: Slowdown when calling a function with long string
parameters
* Fixed issue #2055: Debugger creates XML with double facet attribute
1.43.0-0
* Change the call to acquire_vm_cb() in luv.new_therad() to be made
before the thread is created in luv_new_thread().
* simplify vm management in thread and threadpool
- Enable git hooks with `MOB_GIT_HOOKS_ENABLED=true`. By default, this
option is false and no git hooks such as `pre-commit` or `pre-push`
are triggered via mob itself.
v3.24.5 (2021-12-29)
Bugfixes
- Fixed an issue where ``usedevelop`` would cause an invocation error if setup.py does not exist. -- by :user:`VincentVanlaer`
v3.24.4 (2021-09-16)
--------------------
Bugfixes
- Fixed handling of ``-e ALL`` in parallel mode by ignoring the ``ALL`` in subprocesses -- by :user:`guahki`.
- Prevent tox from using a truncated interpreter when using
``TOX_LIMITED_SHEBANG`` -- by :user:`jdknight`.
Documentation
- Enabled the use of the favicon in the Sphinx docs first
introduced in :pull:`764` but not integrated fully
v3.24.3 (2021-08-21)
--------------------
Bugfixes
- ``--parallel`` reports now show ASCII OK/FAIL/SKIP lines when full Unicode output is not available
Miscellaneous
- Started enforcing valid references in Sphinx docs -- :user:`webknjaz`
v3.24.2 (2021-08-18)
--------------------
Bugfixes
- include ``LC_ALL`` to implicit list of passenv variables
v3.24.1 (2021-07-31)
--------------------
Bugfixes
- ``get_requires_for_build_sdist`` hook (PEP 517) is assumed to return an empty list if left unimplemented by the backend build system
Documentation
- The documentation of ``install_command`` now also mentions that you can provide arbitrary commands
v3.24.0 (2021-07-14)
--------------------
Bugfixes
- ``--devenv`` no longer modifies the directory in which the ``.tox`` environment is provisioned
- Fix show config when the package names are not in canonical form
Documentation
- Extended environment variables section
Miscellaneous
- ``tox`` no longer shows deprecation warnings for ``distutils.sysconfig`` on
Python 3.10
v3.23.1 (2021-05-05)
--------------------
Bugfixes
- Distinguish between normal Windows Python and MSYS2 Python when looking for
virtualenv executable path. Adds os.sep to :class:`~tox.interpreters.InterpreterInfo`
- Fix a ``tox-conda`` isolation build bug
Documentation
- Update examples in the documentation to use ``setenv`` in the ``[testenv]`` sections, not wrongly in the ``[tox]`` main section.
Miscellaneous
- Enable building tox with ``setuptools_scm`` 6+ by :user:`hroncok`
v3.23.0 (2021-03-03)
--------------------
Features
- tox can now be invoked with a new ``--no-provision`` flag that prevents provision,
if :conf:`requires` or :conf:`minversion` are not satisfied,
tox will fail;
if a path is specified as an argument to the flag
(e.g. as ``tox --no-provision missing.json``) and provision is prevented,
provision metadata are written as JSON to that path
- Unicode support in ``pyproject.toml``
v3.22.0 (2021-02-16)
--------------------
Features
- The value of the :conf:`requires` configuration option is now exposed via
the :class:`tox.config.Config` object
v3.21.4 (2021-02-02)
--------------------
Bugfixes
- Adapt tests not to assume the ``easy_install`` command exists, as it was removed from ``setuptools`` 52.0.0+
v3.21.3 (2021-01-28)
--------------------
Bugfixes
- Fix a killed tox (via SIGTERM) leaving the commands subprocesses running
by handling it as if it were a KeyboardInterrupt
v3.21.2 (2021-01-19)
--------------------
Bugfixes
- Newer coverage tools update the ``COV_CORE_CONTEXT`` environment variable, add it to the list of environment variables
that can change in our pytest plugin
v3.21.1 (2021-01-13)
--------------------
Bugfixes
- Fix regression that broke using install_command in config replacements
- Fix regression parsing posargs default containing colon.
Features
- Prevent .tox in envlist
Miscellaneous
- Enable building tox with ``setuptools_scm`` 4 and 5 by :user:`hroncok`
v3.21.0 (2021-01-08)
--------------------
Bugfixes
- Fix the false ``congratulations`` message that appears when a ``KeyboardInterrupt`` occurs during package installation.
- Fix ``platform`` support for ``install_command``.
- Fixed regression in v3.20.0 that caused escaped curly braces in setenv
to break usage of the variable elsewhere in tox.ini.
- Prevent ``{}`` and require ``{:`` is only followed by ``}``.
- Raise ``MissingSubstitution`` on access of broken ini setting.
Features
- Allow \{ and \} in default of {env🔑default}.
- Allow {posargs} in setenv.
- Allow {/} to refer to os.sep.
- Make parsing [testenv] sections in setup.cfg official.
- Relax importlib requirement to allow 3.0.0 or any newer version
Documentation
- Document more info about using ``platform`` setting.
- Replace ``indexserver`` in documentation with environment variables
- Document that the ``passenv`` environment setting is case insensitive.
v3.5.1 (2022-02-16)
-------------------
- Use ``time.monotonic`` instead of ``time.time`` for calculating timeouts.
v3.5.0 (2022-02-15)
-------------------
- Enable use as context decorator
v3.4.2 (2021-12-16)
-------------------
- Drop support for python ``3.6``
v3.4.1 (2021-12-16)
-------------------
- Add ``stacklevel`` to deprecation warnings for argument name change
v3.4.0 (2021-11-16)
-------------------
- Add correct spelling of poll interval parameter for :meth:`acquire <filelock.BaseFileLock.acquire>` method, raise
deprecation warning when using the misspelled form :pr:`119`
v3.3.2 (2021-10-29)
-------------------
- Accept path types (like ``pathlib.Path`` and ``pathlib.PurePath``) in the constructor for ``FileLock`` objects.
v3.3.1 (2021-10-15)
-------------------
- Add changelog to the documentation :pr:`108`
- Leave the log level of the ``filelock`` logger as not set (previously was set to warning) :pr:`108` - by
:user:`gaborbernat`
v3.3.0 (2021-10-03)
-------------------
- Drop python 2.7 and 3.5 support, add type hints :pr:`100`
- Document asyncio support
- fix typo :pr:`98`