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

Scheduled monthly dependency update for May #209

Closed
wants to merge 14 commits into from

Conversation

pyup-bot
Copy link
Collaborator

@pyup-bot pyup-bot commented May 1, 2024

Update toil[cwl] from 5.0.0 to 6.1.0.

Changelog

6.0.0

NOTE!
We now have a config file!  https://toil.readthedocs.io/en/latest/running/cliOptions.html#the-config-file


Breaking Changes
* Removed the parasol batch system
* Removed the TES batch system (this is now a plugin)
* Removed our WDL compiler in favor of an interpreter (we still support WDL, we just do it differently now)
* We no longer support python3.7


CWL
* Support CWL 1.2.1 (4682)
* CWL Pipefish compatibility (4636)
* Support per-task preemptibility in CWL (4551)
* Fix configargparse in CWL (4618)
* cwl: use the latest commit from the proposed CWL v1.2.1 branch (4565)
* Upgrade cwltool to avoid broken galaxy-tool-util release. (4639)
* Implement a better config file system for CWL/WDL options (4666)
* Allow working with remote files in CWL and WDL workflows (4690)
* Make cwl mutually exclusive groups exist only when cwl is not suppressed (4725)
* Log more usefully for CWL workflows (4736)


WDL
* Simplify WDL Toil job graphs (4524)
* More WDL and Slurm documentation (4558)
* Improve WDL documentation (4732)
* Add String to File functionality into toil-wdl-runner (4589)
* Run WDL output through Toil export system to support URIs (4579)
* Allow the WDL output section to reference itself (4592)
* Ensure sibling files in toil-wdl-runner (4610)
* Make WDLOutputJob collect all task outputs (4602)
* Report errors in WDL using MiniWDL's error location printer (4637)
* Remove the WDL compiler. (4679)
* Implement a better config file system for CWL/WDL options (4666)
* Allow working with remote files in CWL and WDL workflows (4690)
* Strip leading whitespace from WDL commands (4720)


Misc
* Add config file support (4569)
* Support Python3.11 and drop Python 3.7 (4646)
* Move TES batch system to a plugin (4650)
* Turn batch system tests back on (4649)
* Separate out integration tests to run on a schedule (4612)
* Avoid concurrent modification in cluster scaler tests (4600)
* Remove old buckets from AWS (4588)
* Tests: only request a single core (4572)
* Reduce the number of assert statements (4590)
* take any nvidia-smi exception as not having gpu (4611)
* More resiliancy (4395)
* Remove useage of the deprecated pkg_resources (4701)
* Make sure cwltool always knows we have an outdir to fix 4698 (4699)
* AWS jobStoreTest: re-use delete_s3_bucket from toil.lib.aws (4700)
* Only count output file usage when using the file store (4692)
* Remove the parasol batch system. (4678)
* Move around reqs and move aws dev libraries to aws (4664)
* Make sure the `--batchLogsDir` exists if it is set (4635)
* Update EC2 instances and EC2 update script. (4745)
* remove extraneous dependency on old 'mock' (4739)
* Point CI at the new public URLs for stuff we host
* Add __init__.py to options folder (4723)


_Bug Fixes_
* Lower redirect log level to fix 4526 (4578)
* Fix mypy from being broken by new boto types (4577)
* Fix CI on local Gitlab runners (4571)
* Banish ghost jobs (4563)
* Stop deleting chained-to jobs which fail as orphaned jobs (4557)
* Fix pickling error when jobstate file doesnt exist and fix threading error when lock file exists then disappears (4575)
* Fix 3867 and try to explain but not crash when bad things happen to our mutex file (4656)
* Fix CI Appliance Builds (4655)
* Tolerate a failed AMI polling attempt (4727)* Add pure Python fallback for getDirSizeRecursively() (4753)
* Don't mark inputs (or outputs) executable for no reason (4728)
* Fix scheduled CI tests (4742)
* Fix --printJobInfo (4709)


Thank you to our contributors: stxue1 , w-gao, DailyDreaming , mr-c , adamnovak , glennhickey, misterbrandonwalker, and a-detiste !

5.12.0

WDL
* Virtualize filenames as in-container paths from point of view of WDL command (4527)
* Add WDL conformance tests to CI (4530)
* Use less memory in the Giraffe WDL test (4541)

Version Upgrades
* Upgrade to cwltool 3.1.20230601100705 (4500)
* Update mock requirement from <5,>=4.0.3 to >=4.0.3,<6 (4366)

Misc
* Anonymous access to Google Storage (4518)
* Reorder config so that default settings are applied first (4528)
* Add a way to forward accelerators to Docker containers (4492)

_Bug Fixes_
* Fix test failures without docker installed (4544)
* Prevent certain tests from being run twice in CI (4529)
* Drop external Docker builder (4523)
* Fix CI lint test (4533)
* Grab AWS group policies on top of user (4505)
* Grab accelerator set off the end of the list instead of by index (4506)
* Fix RtD build (4491)
* Include tests (4499)

Thank you to our contributors: stxue1 , DailyDreaming , mr-c , adamnovak , and tjni !

5.11.0

Breaking Changes
* Imported files will be symlinked by default, unless the user sets `--noLinkImports` or the workflow imports with `symlink=False`. (3949)

WDL
* Toil will now stop if it encounters an error polling a possible import URL for a WDL workflow input file. (4479)
* WDL workflows will be protected against imported files with no basenames. (4477)

Misc
* Toil batch system ID numbers for issued jobs now start at 1. (4482)
* Attempts to import files from URLs when the implementing job store is missing an extra are now better reported. (4479)
* Include tests in the source distribution that gets published to PyPI (4499)

_Bug Fixes_
* Toil should no longer crash when a delete wins a race against a load in `FileJobStore` (4484)
* Prevent local root jobs (such as WDLRootJob) from being run twice. (4482)
* Slurm and other grid batch system jobs will now have more informative names (4472)
* WDL workflows can no longer import `""` as a File. (4477)

Thank you to our contributors: stxue1, DailyDreaming, mr-c, adamnovak

5.10.0

Changelog

Highlighted Features Added
* Add a `--caching` option which explicitly states whether to use caching with a workflow. Uses a default value depending on whether or not we are using the file job store if not specified. (4218)
* New prototype WDL runner `python -m toil.wdl.wdltoil` using MiniWDL (3468)
* MiniWDL-based WDL implementation can now run the vg Giraffe WDL workflow ( 4353)
* Toil now tests against our own tiny set of WDL conformance tests (4351)
* Toil can run the HPRC assembly WDL workflows (4435)
* Toil can now use Mesos roles (4455)

Breaking Changes

* Replace "preemptable" with "preemptible", add example of using --defaultPreemptible flag to Preemptibility documentation (1951)

CWL
* CWL: run all ExpressionTools on the Leader node, instead of submitting separate jobs (4157)

Kubernetes
* Kubernetes batch system: Delete jobs individually when batch delete fails (3403)
* Documentation for running a Toil leader for a Kubernetes workflow outside Kubernetes now covers examples and common problems for running CWL workflows (document toil-cwl-runner + "Running the Leader Outside Kubernetes" 3422)
* Kubernetes batch system: support `--maxCores`, `--maxDisk`, and `--maxMemory` (2864)
* Add tutorial for Kubernetes launch cluster (3743)


Dependencies

* Require htcondor 10 exactly (4315)
* Toil jobs now have a `local` parameter which determines if they should run on the leader. (4388)

Misc

* The offline tests can now be run in parallel (3493)
* Code updated to be more idiomatic for Python3.7 (4295)
* Support for a `--network` for `toil launch-cluster` for Google cloud (4196)
* Support for a `--use_private_ip` for `toil launch-cluster` to dial nodes by private IP instead of public IP (4196)
* GPU scheduling should now be supported on Slurm (4308)
* Toil now supports a `--batchLogsDir` option and `TOIL_BATCH_LOGS_DIR` environment variable, to provide a directory other than the work dir where Toil will instruct HPC batch systems to save their captured job logs.
* `htcondor` batch system should now work again, and will retry connections
*  Updated the --coalesceStatusCalls help documentation to reflect the current state of https://github.com/DataBiosphere/toil/issues/4431 (#4437)
* Toil no longer trusts XDG_RUNTIME_DIR under Slurm (fixes some of the issues behind 4395 when Slurm is configured not to follow the XDG spec) (4435)
* Toil now puts it lock files for Singularity cache directories for WDL in those directories (4435)
* Toil's WDL interpreter can now use local-to-the-leader jobs for evaluating WDL code that doesn't need appreciable resources (4388)
* Toil now tolerates more possible exceptions related to the panasas network file system (4440)
* Type hinting to functions in resource.py (938)
* Added return type to inVirtualEnv() in `__init__.py` (938)
* Added None checks to some function bodies (938)



_Bug Fixes_
* Stop crashing when predefined batch job exit reasons are used and need to go into the message bus log file (4321)
* Added `import subprocess` to restore the behavior of 588. (4429)
* Toil will no longer use the stored message bus path from an old execution of a workflow when deciding where to save the message bus log when restarting a workflow (4438)
* Fix --custom-net mutual exclusivity bug. (4458)


Thank you to our contributors: stxue1 , DailyDreaming , mr-c , adamnovak , jfennick , misterbrandonwalker , w-gao , stephanaime , glennhickey , Hexotical , manabuishii gmloose , boukn , and thiagogenez !

5.9.2

Changelog

_Bug Fixes_
* Change build tag import (4329)

Thank you to our contributors: adamnovak , Hexotical !

5.9.0

Changelog

_Bug Fixes_
* Fix --provisioner and --metrics together (4328)
* Ignore incorrect type hint from boto3, remove json.loads (4330)
* Warn about missing --bypass-file-store with in-place update (4337)
* Replace prepareHTSubmission with prepareSubmission in HTCondor (4319)
* Merge "Google fixes" (4293)
* Support (only) current htcondor (4320)
* Delete k8s jobs individually when batch delete fails (4306)

Misc
* Update aws spot documentation (4310)
* Enable parallel testing (3493)
* Add documentation for running CWL workflows on non-Toil-managed Kubernetes clusters (4332)
* Export all slurm args by default (4237)
* Allow for subclasses of base types in messages (4322)
* Non cache default (4299)

Dependencies
* Bump mypy from 0.982 to 0.991 (4345)
* Bump schema-salad>=8.4.20230128170514,<9 to schema-salad>=8.3.20220913105718,<8.4 (4342) (4341)
* Bump cwltool from 3.1.20221008225030 to 3.1.20221201130942 (4338)
* Bump pyupgrade to 3.7 (4295)

Thank you to our contributors: adamnovak , Hexotical , w-gao, mr-c , gmloose , boukn , and thiagogenez !

5.8.0

Changelog

Highlighted Features Added

* Toil server now exposes workflow tasks via WES (4046).
* Toil server now has a `--wes_dialect agc` option that will hide any tasks that don't have Amazon Batch job IDs, and put the IDs in the task names for those that do (4047).
* Toil jobs now accept an `accelerators` requirement, like `accelerators=1` or `accelerators={'kind': 'gpu', 'brand': 'nvidia', 'count': 2}` (4163)
* Include total requested cores for each job type in `toil stats` (4173)
* Toil jobs now expose `job.accelerators` to workflow 
* Add prefix suffix params to `AbstractFileStore.getLocalTempFile` and `AbstractFileStore.getLocalTempFileName` (4273)
* CWL: `--no-compute-checksum`, `--strict-cpu-limit`, `--disable-validate`, and `--fast-parser` are now available


Breaking Changes
* Toil's built-in autoscaler now guesses that some memory and disk space on nodes will not actually be available for jobs; pass `--assumeZeroOverhead` to revert to the old behavior (2103) 

CWL
* CWL job unit and display names have been changed to make more sense as task names, and management of them has been unified into a `CWLNamedJob`. (4046/4047)
* CWL `CUDARequirement` is parsed by `cwltool` and turned into a requirement for the minimum requested number of nvidia GPU accelerators (3982)
* fix false warning when outputSource contains only one None value (4300)


Kubernetes
* `KubernetesBatchSystem` can add `nvidia.com/gpu` and `amd.com/gpu` resource requests for jobs that request those accelerators (4163)
* `KubernetesBatchSystem` can request GPUs by `model` key, if nodes are labeled appropriately (4163)

Dependencies

Misc
* Toil WES server now accepts requests that leave out workflow_params. (4037)
* The `MessageBus` has been expanded to use `pypubsub`, and now has `MessageInbox` and `MessageOutbox` objects to represent connections to it. (4046/4047)
* `ToilMetrics` now rides on the `MessageBus` rails. (4046/4047)
* Toil workflows now have a `--writeMessages` option, which takes a file to which a line-oriented stream of `MessageBus` messages will be written. Reading this file will allow you to recover the current state of the workflow. (4046/4047)
* Add code for warning check to be used when launching cluster with AWS. (3514)
* Use a CI prebake image for gitlab testing. (4185)
* Toil clusters now have `/var/tmp` as the default temporary directory, since they often make large temporary files (4148)
* Adds basic testing for slurm using a slurm docker cluster by running sample workflows. (3856)
* Add message bus documentation (4239)
* `SingleMachineBatchSystem` can schedule nvidia GPU accelerators, limiting the concurrent jobs to no more than there are accelerators to support, and setting `CUDA_VISIBLE_DEVICES` in the tasks' environments to tell them which nvidia GPU(s) to use. (4163)
* `AWSBatchBatchSystem` can use AWS Batch's GPU resource to provide nvidia GPU accelerators (4163)
* Toil jobs no longer need to re-run after their child/followOn/service jobs in order to delete themselves. (3188)
* Message bus is now thread safe (4276)
* Docker build has been updated with new Aventer Mesos deb URL (fixes 4290)
* `docker` binary in the container has been updated to that included in the Ubuntu repos (fixes 4282)
* Singularity in the appliance has been updated to 3.10 which is >=3.9, for cgroups v2 support.
* Base Ubuntu container image for the appliance has been updated to 22.04, which has a new enough libc for Debian's Singularity 3.10 debs.
* Safer type usage checking for systems without boto3 installed
* Tests are now more runnable post-installation. Temporary paths are not selected based upon the location of the tests themselves. (4287)

_Bug Fixes_
* Only use `/var/run/user` if XDG tells us we have it in our session. Otherwise we will try other places, including `/run/lock/toil`. (4170)
* `toil destroy-cluster`: terminate stopped instances when destroying the cluster (4271)
* fileJobStore: handle arbitrary `os.link` errors to work on some filesystems (2232)

Thank you to our contributors!

5.7.1

Changelog


Highlighted Features Added

AWS Batch Batch System (3956)
AGC Integration (4039) + More AGC integration (4067) + AGC megabranch (4113)
Scale TES to be able to run reasonably-sized workflows on Funnel on Kubernetes with the AWS job store (3927)

CWL

Run CWL conformance tests via WES (4052)
Implement and test CWL loadContents from URLs to fix 4125 (4126)
Add CWL tests under ARM (4038)
Cache results of cwltool version lookup (4141)

Misc

SGE batch system change to support serial jobs. (4022)
Performance testing for Graviton instances (4123)
Stop waiting on hostpath volumes to exist (4146)
Catch and warn about jobs going away too slowly on FileJobStore (4149)
Add documentation for the type-checking hooks (4117)
Pod murder bot (4060)
Contrib hook scripts (4105)
Allow newer google-cloud-storage (4114)
Use environment variable to set parallel partition name (4096)
Register pytest markers (4103)
Mention --export=ALL for SLURM environments (4100) (4102)
Allow persisting workflow state in WES server across container recreation (4082)
Change `toil kill` to use the job store shared file API to find `pig.log` (4075)
Bring back kill loop in the single_machine batch system but with a timeout (4070)
Reorganize Locking (4059)
Add and test preemptability constraints (4044)
Enhanced types (3975)
Use an `init` process that reaps zombies on toil clusters (3974)
Add launch cluster support for ARM (3971)
Feat: square bracket to period separator (4008)
Add AGC health check endpoint (3997)
Tolerate and require typed Werkzeug (4011)
Add more static URLs for Singularity debs (4007)

_Bug Fixes_

Update WES set up docs (4027)
Add real time logs (4031)
Fail fast if Docker builder is missing (4001)
Make Toil version be reported as a string in WES (4013)
Fix assorted typos within assorted comments (4023)
Make file store case insensitive (4153)
Pre-lex commands for qsub (4150)
Update Cactus and exclude broken networkx (4107)
Make `toil kill` work when the leader is on another machine (4084)
Wrong filename in output (4139)
Tolerate a missing VersionID key to fix 4129 (4130)
Only import from typing_extensions on old Python where we install it (4090)
Allow missing username and fix Docker build (4077)
Leave more time for concurrency measurement to fix 4012 (4068)
Stop people asking for ARM Mesos clusters to fix 4057 (4058)

Thank you to our contributors: mr-c, adamnovak, w-gao, jonathanxu18, Hexotical, gmloose, kannon92, douglowe, gcapes, and pmiddend!

5.6.0

Changelog


Highlighted Features Added
* Integrate ARM Docker builds to make multi-arch images. (3802)
* WES support and server mode. (3779)
* TES batch system prototype. (3821)
* Support for new resource syntax in PBSPro. (3048)
* Toil now looks for lost jobs every minute instead of every hour (3948)

Breaking Changes
* Remove --disableCaching's true/false argument. (3869)

CWL
* CWL helper jobs: better disk & memory requirements. (3834)
* CWL: safer test path generation for post-install testing. (3818)
* More detailed names, which show up in job names sent to BatchSystem schedulers. 3941 (was 3893)
* If you use scatter and collect files,  duplicates are correctly dealt with and renamed. (3968)
* CWL: at the end of a job, ask cwltool to cleanup (3965)

Kubernetes
* Assign Kubernetes jobs an explicit TTL. (3936)
* Wait for node creation. (3934)

Dependencies
* Enable Dependabot updates. (3827)
* Multiple consolidated dependabot updates. (3851)
* Update addict requirement from <2.3,>=2.2.1 to >=2.2.1,<2.5. (3861)
* Bump cwltool to 3.1.20211107152837. (3833 3866 3909)
* Bump cwltest from 2.1.20210626101542 to 2.2.20210901154959. (3848)
* Bump flake8 from 3.8.4 to 4.0.1. (3847)
* Allow more docker-py versions. (3860)
* Remove pyyaml dependency. (3858)

Misc
* Update cleanup script. (3937)
* Remove use of sys.maxsize. (3824)
* Spelling fixes. (3814)
* Add codeql-analysis for Python. (3825)
* Update jobstore function names. (3809)
* Move AMI functions to lib. (3810)
* Add "make pyupgrade" (py36-plus). (3805)
* Type hints.  (3930)
* Coalesce status calls in slurm. (3822)
* Python logging takes format values as *args. (3852)
* Change quick test to a 10 minute timeout. (3843)
* Add make uninstall to makefile. (3883)
* Fix toil kill to find shared pid.log file (with unit test). 3941 (was 3932)
* Update documentation. (3947)
+ Remove remains of Travis. (3976)

_Bug Fixes_
* Stop checkpoints from being reissued multiple times. (3931)
* Don't consult LSF config when explicitly defining memory units. (3820)
* Robustly remove state dirs. (3836)
* Fix exception checking for exit_code. (3830)
* Use exitStatus instead of exitReason for batch exit type comparison. (3839)
* Update cwltest to improve K8 runs. (3935)
* Consolidated CI Fixes. (3887)
* Fix CWL conformance tests. (3891)
* Toil-managed cluster scaling should work again with `--metrics`. (3943)

Thank you to our contributors: mr-c, adamnovak, w-gao, jonathanxu18, Hexotical, tmooney, nikhil, kannon92, douglowe, mhpopescu, Phhere, and gmloose!

5.5.0

Changelog

CWL
* Add podman support; and other fixes from recent cwltool 3799
* Add streaming feature for cwltoil 3694
* Warn users if a different cwltool version is installed 3686
* Turn on all Kubernetes CWL tests that are expected to work on Singularity 3720
* Fix CWL in toil docs jobstore usage 3728
* DOC: update versions of CWL support
* Allow filestore bypass 3652

Misc
* Numerous Type Hints. 3705 3701 3693 3691 3663 3688 3642 3684 3682 3680 3666 3675
* Single source of truth for job state 3776
* Do not set default for statePollingWait 3774
* Use absolute local paths when exportFile/importFile do not detect a schema 3767
* Multi-zone balancing within regions for AWS autoscaling groups 3746
* Migrate cloud-config to ignition 3488
* 🎡 Wheel Of Issues 🎰 3760
* Add back addBatchSystemFactory function 3754
* Redirect stderr to /dev/null of lsf conf queries 3751
* Set number of cores based on job.cores for OpenMP applications 3739
* Google jobstore batching 3740
* Locations of CLI option docs
* Add AWS provisioner storage system 3727
* Set cls.bucket 3726
* Stream vs dowload jobs 3722
* Update Toil's main python test version to 3.8. 3669
* Move Travis tests to Gitlab 3675

_Bug Fixes_
* Don't leak symlinks 3795
* Prevent exception from being raised when modifying dir permissions for clean up 3778
* Fix scontrol output parsing 3793
* Fix AttributeError 3742
* Workaround for S3 in us-east-1 3710
* Time data format 3708
* Fix leader.py batch system std files prefix glob 3679

Thank you to our contributors: mr-c, adamnovak, w-gao, jonathanxu18, Hexotical, ionox0, gmloose, juanesarango, mhpopescu, mberacochea, nikhil!

5.4.0

Changelog

CWL
* Fix cwl and wdl dependency bleed and add stand alone tests. 3582
* Use MpiConfig.load() to handle MPI config file 3574
* Add support for MPI with CWL. 3525

Misc
* Numerous Type Hints. 3571 3634 3626 3625 3616 3614 3601 3592 3590 3581
* Configurable Grafana port 3597
* Handle streaming reads from the cache when the data isn't written back yet 3595
* Balance over pools using AWS ASGs 3490
* Change how Kubernetes schedules and scales for hopefully better scale-down behavior 3587
* Add Owner tags to our AWS buckets when testing. 3577
* Allow workdir override 3586
* Additional info for "Permission denied" error 3579
* Consolidate memory functions 3529
* Pen children 3482
* Sniff raid better 3526
* Add a propagation policy to batch delete 3522
* Cleanup script for buckets, sdb domains, instance profiles, and roles. 3373
* Add decorator for flaky tests. 3510

_Bug Fixes_
* Enforce valid uuid from getNodeId() 3611
* Removed extra memory multiplication 3608
* Fix non integers lsf memory requested 3609
* Fixes jobCommand unpack 3610
* Fix CWL test 20 on Kubernetes 3572
* Fix 3579 breaking AWS docs 3596
* Update cactus test to fix broken bucket links. 3594
* Allow cleaning up a job whose overlargeID fell off 3584
* Only deploy a user script if we can deploy user scripts 3518
* Reduce path name lengths. 3438
* Insist on credentials for testing AMI finding 3524

Thank you to our contributors: mr-c, adamnovak, w-gao, jonathanxu18, thiagogenez, julian-klode, darafferty, nikhil, mhpopescu!

5.3.0

Changelog

CWL
* Run CWL conformance tests on Kubernetes. 3323
* CWL symlinking files into work directory 3445
* set resource reqs for all CWL_INTERNAL_JOBS 3442

WDL
* Add WDL flatten() function + tests. 3485
* Add WDL collect_by_key() function + tests. 3476
* Add WDL keys() function + tests. 3460
* Add WDL as_pairs() function + tests. 3364
* Add as_map() WDL function 3448
* Add basic WDL development support 3434
* Add basic WDL 1.0 support 3421
* Update dictionary structure in AnalyzeWDL. 3416

Misc
* Add extra context for disk usage warning. 3495
* Update developing.rst 3479
* Allow text/encode options for read and write functions in file store 3428
* Type hinting and mypy checking additions 3470  3458 3456
* Quality of life improvements for cactus. 3463
* Add checklists for reviewing and merging PRs 3432
* Ensure that python3 and not python (2) is used 3446
* Support Kubernetes clusters in toil launch-cluster 3357
* Additional check for predecessors. 3417
* Allow setOptions to accept an argparse group. 3426

_Bug Fixes_
* AWS: Handle socket timeout during AWS discovery 3503
* Use back-up flatcar AMI if not found. 3513
* Lsf command parser 3475
* Retry on s3 throttling. 3504
* Stop deleting all ASGs with tags 3474
* Only determine execute permissions on files we copy/move. 3437
* cope with an invalid HTTP_PROXY 3447
* Fix failing Google jobstore test 3420
* Update Google job store 3412

Thank you to our contributors: mr-c, adamnovak, w-gao, jonathanxu18, Arthur Rand, mberacochea, Jessime, thiagogenez, julian-klode!

5.2.0

Changelog

CWL
* Update to the latest cwltool (3.0.20201121085451 -> 3.0.20201203173111).  3375
* Add better handling for potentially mis-ordered CWL args. 3395
* Confirm CommandInputParameter expression can receive a File object. 3350

WDL
* Make AnalyzeWDL abstract to allow implementation for different WDL versions 3391

Misc
* Clean up memoize.py.  3374
* Refactor bioio library, simplify logging, and small adjustments to utils.  3351
* Use regular division for memory calculation on LSF. 3387
* Remove unused --nodeOptions arg. 3397
* Get boto S3 args for minio from environment variables. (3370)
* Update EC2 lists. 3376
* Add a retry to AWS destroy. 3379
* Regular division for memory calculation in LSF. 3387
* Add option to blank mem allocation for SLURM. 3399
* Preserve file permissions on imported/exported files 3322

_Bug Fixes_
* Preserve file permissions on imported/exported files. 3322
* Make building a flattened list of live jobs non-recursive. 3394
* Move AWS job store uploads/downloads to boto3 (reopened) 3400
* Use a Docker Hub mirror when pulling Docker images. 3411
* Corrected gridengine maxMEM check to use memorystring 3410

Thank you to our contributors: mr-c, adamnovak, w-gao, jonathanxu18, douglowe, stevekm , thiagogenez!

5.1.0

Changelog

WDL
* Add WDL cross function.  3360

_Bug Fixes_
* Better error message for insufficient disk.  3362
* Fix maxMEM comparison in LSF.  3369

Thank you to our contributors: mr-c , adamnovak , w-gao , jonathanxu18 !
Links

Update pytz from 2020.1 to 2024.1.

The bot wasn't able to find a changelog for this release. Got an idea?

Links

Update typing from 3.7.4.3 to 3.10.0.0.

The bot wasn't able to find a changelog for this release. Got an idea?

Links

Update ruamel.yaml from 0.16.5 to 0.18.6.

The bot wasn't able to find a changelog for this release. Got an idea?

Links

Update pip from 20.2.3 to 24.0.

The bot wasn't able to find a changelog for this release. Got an idea?

Links

Update wheel from 0.35.1 to 0.43.0.

The bot wasn't able to find a changelog for this release. Got an idea?

Links

Update watchdog from 0.10.3 to 4.0.0.

Changelog

4.0.0

- Drop support for Python 3.7.
- Add support for Python 3.12.
- [snapshot] Add typing to `dirsnapshot` (1012)
- [snapshot] Added `DirectorySnapshotDiff.ContextManager` (1011)
- [events] `FileSystemEvent`, and subclasses, are now `dataclass`es, and their `repr()` has changed
- [windows] `WinAPINativeEvent` is now a `dataclass`, and its `repr()` has changed
- [events] Log `FileOpenedEvent`, and `FileClosedEvent`, events in `LoggingEventHandler`
- [tests] Improve `FileSystemEvent` coverage
- [watchmedo] Log all events in `LoggerTrick``
- [windows] The `observers.read_directory_changes.WATCHDOG_TRAVERSE_MOVED_DIR_DELAY` hack was removed. The constant will be kept to prevent breaking other softwares.
- Thanks to our beloved contributors: BoboTiG, msabramo

3.0.0

- Drop support for Python 3.6.
- `watchdog` is now PEP 561 compatible, and tested with `mypy`
- Fix missing `>` in `FileSystemEvent.__repr__()` (980)
- [ci] Lots of improvements
- [inotify] Return from `InotifyEmitter.queue_events()` if not launched when thread is inactive (963)
- [tests] Stability improvements
- [utils] Remove handling of `threading.Event.isSet` spelling (962)
- [watchmedo] Fixed tricks YAML generation (965)

:heart_decoration:  Thanks to our beloved contributors: kurtmckee, altendky, agroszer, BoboTiG

2.3.1

- Run `black` on the entire source code
- Bundle the `requirements-tests.txt` file in the source distribution (939)
- [watchmedo] Exclude `FileOpenedEvent` events from `AutoRestartTrick`, and `ShellCommandTrick`, to restore watchdog < 2.3.0 behavior. A better solution should be found in the future. (949)
- [watchmedo] Log `FileOpenedEvent`, and `FileClosedEvent`, events in `LoggerTrick`

:heart_decoration:  Thanks to our beloved contributors: BoboTiG

2.3.0

- [inotify] Add support for `IN_OPEN` events: a `FileOpenedEvent` event will be fired (941)
- [watchmedo] Add optional event debouncing for `auto-restart`, only restarting once if many events happen in quick succession (`--debounce-interval`) (940)
- [watchmedo] Add option to not auto-restart the command after it exits (`--no-restart-on-command-exit`) (946)
- [watchmedo] Exit gracefully on `KeyboardInterrupt` exception (Ctrl+C) (945)

:heart_decoration:  Thanks to our beloved contributors: BoboTiG, dstaple, taleinat, cernekj

2.2.1

- Enable mypy to discover type hints as specified in PEP 561 (933)
- [ci] Set the expected Python version when building release files
- [ci] Update actions versions in use
- [watchmedo] [regression] Fix usage of missing `signal.SIGHUP` attribute on non-Unix OSes (935)

:heart_decoration:  Thanks to our beloved contributors: BoboTiG, simon04, piotrpdev

2.2.0

- [build] Wheels are now available for Python 3.11 (932)
- [documentation] HTML documentation builds are now tested for errors (902)
- [documentation] Fix typos here, and there (910)
- [fsevents2] The `fsevents2` observer is now deprecated (909)
- [tests] The error message returned by musl libc for error code `-1` is now allowed (923)
- [utils] Remove unnecessary code in `dirsnapshot.py` (930)
- [watchmedo] Handle shutdown events from `SIGHUP` (912)

:heart_decoration:  Thanks to our beloved contributors: kurtmckee, babymastodon, QuantumEnergyE, timgates42, BoboTiG

2.1.9

- [fsevents] Fix flakey test to assert that there are no errors when stopping the emitter.
- [inotify] Suppress occasional `OSError: [Errno 9] Bad file descriptor` at shutdown. 805
- [watchmedo] Make `auto-restart` restart the sub-process if it terminates. 896
- [watchmedo] Avoid zombie sub-processes when running `shell-command` without `--wait`. 405

:heart_decoration: Thanks to our beloved contributors: samschott, taleinat, altendky, BoboTiG

2.1.8

- Fix adding failed emitters on observer schedule. (872)
- [inotify] Fix hang when unscheduling watch on a path in an unmounted filesystem. (869)
- [watchmedo] Fix broken parsing of `--kill-after` argument for the auto-restart command. (870)
- [watchmedo] Fix broken parsing of boolean arguments. (887)
- [watchmedo] Fix broken parsing of commands from auto-restart, and shell-command. (888)
- [watchmedo] Support setting verbosity level via `-q/--quiet` and `-v/--verbose` arguments. (889)

:heart_decoration: Thanks to our beloved contributors: taleinat, kianmeng, palfrey, IlayRosenberg, BoboTiG

2.1.7

- Eliminate timeout in waiting on event queue. (861)
- [inotify] Fix `not` equality implementation for `InotifyEvent`. (848)
- [watchmedo] Fix calling commands from within a Python script. (879)
- [watchmedo] `PyYAML` is loaded only when strictly necessary. Simple usages of `watchmedo` are possible without the module being installed. (847)

:heart_decoration: Thanks to our beloved contributors: sattlerc, JanzenLiu, BoboTiG

2.1.6

- [bsd] Fixed returned paths in kqueue.py and restored the overall results of the test suite. (842)
- [bsd] Updated FreeBSD CI support .(841)
- [watchmedo] Removed the `argh` dependency in favor of the builtin `argparse` module. (836)
- [watchmedo] Removed unexistant `WindowsApiAsyncObserver` references and `--debug-force-winapi-async` arguments.
- [watchmedo] Improved the help output.

:heart_decoration:  Thanks to our beloved contributors: knobix, AndreaRe9, BoboTiG

2.1.5

- Fix regression introduced in 2.1.4 (reverted "Allow overriding or adding custom event handlers to event dispatch map. (814)"). (830)
- Convert regexes of type `str` to `list`. (831)

:heart_decoration:  Thanks to our beloved contributors: unique1o1, BoboTiG

2.1.4

- [watchmedo] Fix usage of `os.setsid()` and `os.killpg()` Unix-only functions. (809)
- [mac] Fix missing `FileModifiedEvent` on permission or ownership changes of a file. (815)
- [mac] Convert absolute watch path in `FSEeventsEmitter` with `os.path.realpath()`. (822)
- Fix a possible `AttributeError` in `SkipRepeatsQueue._put()`. (818)
- Allow overriding or adding custom event handlers to event dispatch map. (814)
- Fix tests on big endian platforms. (828)

:heart_decoration: Thanks to our beloved contributors: replabrobin, BoboTiG, SamSchott, AndreiB97, NiklasRosenstein, ikokollari, mgorny

2.1.3

- Publish macOS `arm64` and `universal2` wheels. (740)
- Thanks to our beloved contributors: kainjow, BoboTiG

2.1.2

- [mac] Fix relative path handling for non-recursive watch. (797)
- [windows] On PyPy, events happening right after start() were missed. Add a workaround for that. (796)
- Thanks to our beloved contributors: oprypin, CCP-Aporia, BoboTiG

2.1.1

- [mac] Fix callback exceptions when the watcher is deleted but still receiving events (786) 
- Thanks to our beloved contributors: rom1win, BoboTiG, CCP-Aporia

2.1.0

- [inotify] Simplify `libc` loading (776)
- [mac] Add support for non-recursive watches in `FSEventsEmitter` (779)
- [watchmedo] Add support for `--debug-force-*` arguments to `tricks` (781)
- Thanks to our beloved contributors: CCP-Aporia, aodj, UnitedMarsupials, BoboTiG

2.0.3

- [mac] Use `logger.debug()` instead of `logger.info()` (774)
- Updated documentation links (777)
- Thanks to our beloved contributors: globau, imba-tjd, BoboTiG

2.0.2

- [mac] Add missing exception objects (766)
- Thanks to our beloved contributors: CCP-Aporia, BoboTiG

2.0.1

- [mac] Fix a segmentation fault when dealing with unicode paths (763)
- Moved the CI from Travis-CI to GitHub Actions (764)
- Thanks to our beloved contributors: SamSchott, BoboTiG

2.0.0

- ⚠️ [mac] Drop support for macOS 10.12 and earlier (750)
- [mac] Support coalesced filesystem events (734)
- [mac] Fix an issue when renaming an item changes only the casing (750)
- [inotify] Add support for ``IN_CLOSE_WRITE`` events. A ``FileCloseEvent`` event will be fired. Note that ``IN_CLOSE_NOWRITE`` events are not handled to prevent much noise. (184, 245, 280, 313, 690)
- [inotify] Allow to stop the emitter multiple times (760)
- Avoid deprecated `PyEval_InitThreads` on Python 3.7+ (746)
- Thanks to our beloved contributors: bstaletic, lukassup, ysard, SamSchott, CCP-Aporia, BoboTiG

1.0.2

- Wheels are published for GNU/Linux, macOS and Windows (739)
- [mac] Fix missing `event_id` attribute in `fsevents` (721)
- [mac] Return byte paths if a byte path was given in `fsevents` (726)
- [mac] Add compatibility with old macOS versions (733)
- Uniformize event for deletion of watched dir (727)
- Thanks to our beloved contributors: SamSchott, CCP-Aporia, di, BoboTiG

1.0.0

- Versioning is now following the [semver](https://semver.org)
- Drop support for Python 2.7, 3.4 and 3.5
- [mac] Regression fixes for native `fsevents` (717)
- [windows] `winapi.BUFFER_SIZE` now defaults to `64000` (instead of `2048`) (700)
- [windows] Introduced `winapi.PATH_BUFFER_SIZE` (defaults to `2048`) to keep the old behavior with path-realted functions (700)
- Use `pathlib` from the standard library, instead of `pathtools` (556)
- Allow file paths on Unix that don't follow the file system encoding (703)
- Removed the long-time deprecated `events.LoggingFileSystemEventHandler` class, use `LoggingEventHandler` instead
- Thanks to our beloved contributors: SamSchott, bstaletic, BoboTiG, CCP-Aporia

0.10.7

- Avoid crashing the event processing thread on non-utf8 filenames (811)
- [backport 1.0.0] [mac] Regression fixes for native `fsevents` (717)
- [backport 1.0.0] [windows] `winapi.BUFFER_SIZE` now defaults to `64000` (instead of `2048`) (700)
- [backport 1.0.0] [windows] Introduced `winapi.PATH_BUFFER_SIZE` (defaults to `2048`) to keep the old behavior with path-realted functions (700)
- [backport 1.0.0] Removed the long-time deprecated `events.LoggingFileSystemEventHandler` class, use `LoggingEventHandler` instead
- [backport 1.0.2] Wheels are published for GNU/Linux, macOS and Windows (739)
- [backport 1.0.2] [mac] Fix missing `event_id` attribute in `fsevents` (721)
- [backport 1.0.2] [mac] Return byte paths if a byte path was given in `fsevents` (726`)
- [backport 1.0.2] [mac] Add compatibility with old macOS versions (733`)
- [backport 1.0.2] Uniformize event for deletion of watched dir (727)
- [backport 2.0.0] [inotify] Add support for `IN_CLOSE_WRITE` events. A `FileCloseEvent` event will be fired. Note that `IN_CLOSE_NOWRITE` events are not handled to prevent much noise. (184, `245, `280, `313, `690)
- [backport 2.0.0] [mac] Support coalesced filesystem events (734)
- [backport 2.0.0] [mac] Drop support for OSX 10.12 and earlier (750)
- [backport 2.0.0] [mac] Fix an issue when renaming an item changes only the casing (750)
- Thanks to our beloved contributors: SamSchott, bstaletic, BoboTiG, CCP-Aporia, di, lukassup, ysard, lovasoa

0.10.5

- [mac] Regression fixes for native fsevents (716)
- Thanks to our beloved contributors: CCP-Aporia, BoboTiG

0.10.4

- Add `logger` parameter for the `LoggingEventHandler` (676)
- Replace mutable default arguments with `if None` implementation in `RegexMatchingEventHandler` (677)
- Expand tests to Python 2.7 and 3.5-3.10 for GNU/Linux, macOS and Windows
- [mac] Performance improvements for the `fsevents` module (680)
- [mac] Prevent compilation of `watchdog_fsevents.c` on non-macOS machines (687)
- [watchmedo] Handle shutdown events from `SIGTERM` and `SIGINT` more reliably (693)
- Thanks to our beloved contributors: Sraw, CCP-Aporia, BoboTiG, maybe-sybr
Links

Update flake8 from 3.8.4 to 7.0.0.

The bot wasn't able to find a changelog for this release. Got an idea?

Links

Update tox from 3.20.0 to 4.15.0.

Changelog

3.28.0

--------------------

Features
^^^^^^^^

- Support provision of tox 4 with the ``min_version`` option - by :user:`hroncok`
`2661 <https://github.com/tox-dev/tox/issues/2661>`_

3.27.1

--------------------

Bugfixes
^^^^^^^^

- Replaced deprecated ``license_file`` key with ``license_files`` in ``setup.cfg`` -- by :user:`mgorny`.
`2521 <https://github.com/tox-dev/tox/issues/2521>`_
- Add env cleanup to envreport - fix PYTHONPATH leak into "envreport" -- by :user:`f3flight`.
`2528 <https://github.com/tox-dev/tox/issues/2528>`_

3.27.0

--------------------

Bugfixes
^^^^^^^^

- Dropped ``--build-option`` in isolated builds, an alternative fix for the ``SetuptoolsDeprecationWarning`` about using ``--global-option`` -- by :user:`adamchainz`
`2497 <https://github.com/tox-dev/tox/issues/2497>`_
- Remove read-only files in ``ensure_empty_dir``.
`2498 <https://github.com/tox-dev/tox/issues/2498>`_
- Multiple tox instances no longer clobber the ``.tox`` directory when
``provision_tox_env`` is used. - by :user:`masenf`
`2515 <https://github.com/tox-dev/tox/issues/2515>`_


Documentation
^^^^^^^^^^^^^

- Clarify that ``install_command`` only takes one command - by :user:`jugmac00`
`2433 <https://github.com/tox-dev/tox/issues/2433>`_
- Documented problems with plugin and provision env - by :user:`ziima`.
`2469 <https://github.com/tox-dev/tox/issues/2469>`_

3.26.0

--------------------

Bugfixes
^^^^^^^^

- Fix fallback to ``python`` environment when ``isolated_build = true`` is set -- by :user:`Unrud`
`2474 <https://github.com/tox-dev/tox/issues/2474>`_
- Fixed ``SetuptoolsDeprecationWarning`` about using ``--global-option`` -- by :user:`adamchainz`
`2478 <https://github.com/tox-dev/tox/issues/2478>`_


Features
^^^^^^^^

- Use ``tomllib`` on Python 3.11 or later and ``tomli`` instead of ``toml`` library on lower versions - by :user:`hroncok`.
`2463 <https://github.com/tox-dev/tox/issues/2463>`_

3.25.1

--------------------

Bugfixes
^^^^^^^^

- ``sitepackages = true`` will add user's site-package to the python path on Windows as expected -- by :user:`niander`
`2402 <https://github.com/tox-dev/tox/issues/2402>`_
- Avoid importing ``pipes`` on Python 3.3+ to avoid ``DeprecationWarning`` on Python 3.11 -- by :user:`adamchainz`
`2417 <https://github.com/tox-dev/tox/issues/2417>`_
- Fix ``isolated_build`` when the build process produces stderr at exit.
`2449 <https://github.com/tox-dev/tox/issues/2449>`_


Documentation
^^^^^^^^^^^^^

- Explain advantages of ``PIP_CONSTRAINT`` environment variable over ``--constraint`` argument.
`2423 <https://github.com/tox-dev/tox/issues/2423>`_

3.25.0

--------------------

Bugfixes
^^^^^^^^

- Fixed failing isolated_build because setuptools warning was captured
in ``build_requires``. -- by :user:`zariiii9003`
`2332 <https://github.com/tox-dev/tox/issues/2332>`_
- Avoid potential 30s delay caused by socket.getfqdn(). -- by :user:`ssbarnea`
`2375 <https://github.com/tox-dev/tox/issues/2375>`_


Features
^^^^^^^^

- Ignore missing commands if they are prefixed by ``-``
-- by :user:`cdown`.
`2315 <https://github.com/tox-dev/tox/issues/2315>`_
- Add default environment variables (such as http_proxy) regardless of their case to passenv on UNIX -- by :user:`poggenhans`.
`2372 <https://github.com/tox-dev/tox/issues/2372>`_
- On Windows ``PROGRAMFILES``, ``PROGRAMFILES(X86)``, and ``PROGRAMDATA`` environment variables are now passed through, unmasking system values necessary to locate resources such as a C compiler.
`2382 <https://github.com/tox-dev/tox/issues/2382>`_


Documentation
^^^^^^^^^^^^^

- Deleted the tox mailing list -- by :user:`jugmac00`
`2364 <https://github.com/tox-dev/tox/issues/2364>`_

3.24.5

--------------------

Bugfixes
^^^^^^^^

- Fixed an issue where ``usedevelop`` would cause an invocation error if setup.py does not exist. -- by :user:`VincentVanlaer`
`2197 <https://github.com/tox-dev/tox/issues/2197>`_

3.24.4

--------------------

Bugfixes
^^^^^^^^

- Fixed handling of ``-e ALL`` in parallel mode by ignoring the ``ALL`` in subprocesses -- by :user:`guahki`.
`2167 <https://github.com/tox-dev/tox/issues/2167>`_
- Prevent tox from using a truncated interpreter when using
``TOX_LIMITED_SHEBANG`` -- by :user:`jdknight`.
`2208 <https://github.com/tox-dev/tox/issues/2208>`_


Documentation
^^^^^^^^^^^^^

- Enabled the use of the favicon in the Sphinx docs first
introduced in :pull:`764` but not integrated fully
-- :user:`webknjaz`
`2177 <https://github.com/tox-dev/tox/issues/2177>`_

3.24.3

--------------------

Bugfixes
^^^^^^^^

- ``--parallel`` reports now show ASCII OK/FAIL/SKIP lines when full Unicode output is not available - by :user:`brettcs`
`1421 <https://github.com/tox-dev/tox/issues/1421>`_


Miscellaneous
^^^^^^^^^^^^^

- Started enforcing valid references in Sphinx docs -- :user:`webknjaz`
`2168 <https://github.com/tox-dev/tox/issues/2168>`_

3.24.2

--------------------

Bugfixes
^^^^^^^^

- include ``LC_ALL`` to implicit list of passenv variables - by :user:`ssbarnea`
`2162 <https://github.com/tox-dev/tox/issues/2162>`_

3.24.1

--------------------

Bugfixes
^^^^^^^^

- ``get_requires_for_build_sdist`` hook (PEP 517) is assumed to return an empty list if left unimplemented by the backend build system - by :user:`oczkoisse`
`2130 <https://github.com/tox-dev/tox/issues/2130>`_


Documentation
^^^^^^^^^^^^^

- The documentation of ``install_command`` now also mentions that you can provide arbitrary commands - by :user:`jugmac00`
`2081 <https://github.com/tox-dev/tox/issues/2081>`_

3.24.0

--------------------

Bugfixes
^^^^^^^^

- ``--devenv`` no longer modifies the directory in which the ``.tox`` environment is provisioned - by :user:`isaac-ped`
`2065 <https://github.com/tox-dev/tox/issues/2065>`_
- Fix show config when the package names are not in canonical form - by :user:`gaborbernat`.
`2103 <https://github.com/tox-dev/tox/issues/2103>`_


Documentation
^^^^^^^^^^^^^

- Extended environment variables section - by :user:`majiang`
`2036 <https://github.com/tox-dev/tox/issues/2036>`_


Miscellaneous
^^^^^^^^^^^^^

- ``tox`` no longer shows deprecation warnings for ``distutils.sysconfig`` on
Python 3.10 - by :user:`9999years`
`2100 <https://github.com/tox-dev/tox/issues/2100>`_

3.23.1

--------------------

Bugfixes
^^^^^^^^

- Distinguish between normal Windows Python and MSYS2 Python when looking for
virtualenv executable path.  Adds os.sep to :class:`~tox.interpreters.InterpreterInfo`
- by :user:`jschwartzentruber`
`1982 <https://github.com/tox-dev/tox/issues/1982>`_
- Fix a ``tox-conda`` isolation build bug - by :user:`AntoineD`.
`2056 <https://github.com/tox-dev/tox/issues/2056>`_


Documentation
^^^^^^^^^^^^^

- Update examples in the documentation to use ``setenv`` in the ``[testenv]`` sections, not wrongly in the ``[tox]`` main section.
- by :user:`AndreyNautilus`
`1999 <https://github.com/tox-dev/tox/issues/1999>`_


Miscellaneous
^^^^^^^^^^^^^

- Enable building tox with ``setuptools_scm`` 6+ by :user:`hroncok`
`1984 <https://github.com/tox-dev/tox/issues/1984>`_

3.23.0

--------------------

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 - by :user:`hroncok`
`1921 <https://github.com/tox-dev/tox/issues/1921>`_
- Unicode support in ``pyproject.toml`` - by :user:`domdfcoding`
`1940 <https://github.com/tox-dev/tox/issues/1940>`_

3.22.0

--------------------

Features
^^^^^^^^

- The value of the :conf:`requires` configuration option is now exposed via
the :class:`tox.config.Config` object - by :user:`hroncok`
`1918 <https://github.com/tox-dev/tox/issues/1918>`_

3.21.4

--------------------

Bugfixes
^^^^^^^^

- Adapt tests not to assume the ``easy_install`` command exists, as it was removed from ``setuptools`` 52.0.0+ - by :user:`hroncok`
`1893 <https://github.com/tox-dev/tox/issues/1893>`_

3.21.3

--------------------

Bugfixes
^^^^^^^^

- Fix a killed tox (via SIGTERM) leaving the commands subprocesses running
by handling it as if it were a KeyboardInterrupt - by :user:`dajose`
`1772 <https://github.com/tox-dev/tox/issues/1772>`_

3.21.2

--------------------

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 - by :user:`gaborbernat`.
`1854 <https://github.com/tox-dev/tox/issues/1854>`_

3.21.1

--------------------

Bugfixes
^^^^^^^^

- Fix regression that broke using install_command in config replacements - by :user:`jayvdb`
`1777 <https://github.com/tox-dev/tox/issues/1777>`_
- Fix regression parsing posargs default containing colon. - by :user:`jayvdb`
`1785 <https://github.com/tox-dev/tox/issues/1785>`_


Features
^^^^^^^^

- Prevent .tox in envlist - by :user:`jayvdb`
`1684 <https://github.com/tox-dev/tox/issues/1684>`_


Miscellaneous
^^^^^^^^^^^^^

- Enable building tox with ``setuptools_scm`` 4 and 5 by :user:`hroncok`
`1799 <https://github.com/tox-dev/tox/issues/1799>`_

3.21.0

--------------------

Bugfixes
^^^^^^^^

- Fix the false ``congratulations`` message that appears when a ``KeyboardInterrupt`` occurs during package installation. - by :user:`gnikonorov`
`1453 <https://github.com/tox-dev/tox/issues/1453>`_
- Fix ``platform`` support for ``install_command``. - by :user:`jayvdb`
`1464 <https://github.com/tox-dev/tox/issues/1464>`_
- Fixed regression in v3.20.0 that caused escaped curly braces in setenv
to break usage of the variable elsewhere in tox.ini. - by :user:`jayvdb`
`1690 <https://github.com/tox-dev/tox/issues/1690>`_
- Prevent ``{}`` and require ``{:`` is only followed by ``}``. - by :user:`jayvdb`
`1711 <https://github.com/tox-dev/tox/issues/1711>`_
- Raise ``MissingSubstitution`` on access of broken ini setting. - by :user:`jayvdb`
`1716 <https://github.com/tox-dev/tox/issues/1716>`_


Features
^^^^^^^^

- Allow \{ and \} in default of {env:key:default}. - by :user:`jayvdb`
`1502 <https://github.com/tox-dev/tox/issues/1502>`_
- Allow {posargs} in setenv. - by :user:`jayvdb`
`1695 <https://github.com/tox-dev/tox/issues/1695>`_
- Allow {/} to refer to os.sep. - by :user:`jayvdb`
`1700 <https://github.com/tox-dev/tox/issues/1700>`_
- Make parsing [testenv] sections in setup.cfg official. - by :user:`mauvilsa`
`1727 <https://github.com/tox-dev/tox/issues/1727>`_
- Relax importlib requirement to allow 3.0.0 or any newer version - by
:user:`pkolbus`
`1763 <https://github.com/tox-dev/tox/issues/1763>`_


Documentation
^^^^^^^^^^^^^

- Document more info about using ``platform`` setting. - by :user:`prakhargurunani`
`1144 <https://github.com/tox-dev/tox/issues/1144>`_
- Replace ``indexserver`` in documentation with environment variables - by :user:`ziima`.
`1357 <https://github.com/tox-dev/tox/issues/1357>`_
- Document that the ``passenv`` environment setting is case insensitive. - by :user:`gnikonorov`
`1534 <https://github.com/tox-dev/tox/issues/1534>`_

3.20.1

--------------------

Bugfixes
^^^^^^^^

- Relax importlib requirement to allow version<3 - by :user:`usamasadiq`
`1682 <https://github.com/tox-dev/tox/issues/1682>`_
Links

Update coverage from 5.3 to 7.5.0.

Changelog

7.5.0

--------------------------

- Added initial support for function and class reporting in the HTML report.
There are now three index pages which link to each other: files, functions,
and classes.  Other reports don't yet have this information, but it will be
added in the future where it makes sense.  Feedback gladly accepted!

- Other HTML report improvements:

- There is now a "hide covered" checkbox to filter out 100% files, finishing
 `issue 1384`_.

- The index page is always sorted by one of its columns, with clearer
 indications of the sorting.

- The "previous file" shortcut key didn't work on the index page, but now it
 does, fixing `issue 1765`_.

- The debug output showing which configuration files were tried now shows
absolute paths to help diagnose problems where settings aren't taking effect,
and is renamed from "attempted_config_files" to the more logical
"config_files_attempted."

- Python 3.13.0a6 is supported.

.. _issue 1384: https://github.com/nedbat/coveragepy/issues/1384
.. _issue 1765: https://github.com/nedbat/coveragepy/issues/1765


.. _changes_7-4-4:

7.4.4

--------------------------

- Fix: in some cases, even with ``[run] relative_files=True``, a data file
could be created with absolute path names.  When combined with other relative
data files, it was random whether the absolute file names would be made
relative or not. If they weren't, then a file would be listed twice in
reports, as detailed in `issue 1752`_.  This is now fixed: absolute file
names are always made relative when combining.  Thanks to Bruno Rodrigues dos
Santos for support.

- Fix: the last case of a match/case statement had an incorrect message if the
branch was missed.  It said the pattern never matched, when actually the
branch is missed if the last case always matched.

- Fix: clicking a line number in the HTML report now positions more accurately.

- Fix: the ``report:format`` setting was defined as a boolean, but should be a
string.  Thanks, `Tanaydin Sirin <pull 1754_>`_.  It is also now documented
on the :ref:`configuration page <config_report_format>`.

.. _issue 1752: https://github.com/nedbat/coveragepy/issues/1752
.. _pull 1754: https://github.com/nedbat/coveragepy/pull/1754


.. _changes_7-4-3:

7.4.3

--------------------------

- Fix: in some cases, coverage could fail with a RuntimeError: "Set changed
size during iteration." This is now fixed, closing `issue 1733`_.

.. _issue 1733: https://github.com/nedbat/coveragepy/issues/1733


.. _changes_7-4-2:

7.4.2

--------------------------

- Fix: setting ``COVERAGE_CORE=sysmon`` no longer errors on 3.11 and lower,
thanks `Hugo van Kemenade <pull 1747_>`_.  It now issues a warning that
sys.monitoring is not available and falls back to the default core instead.

.. _pull 1747: https://github.com/nedbat/coveragepy/pull/1747


.. _changes_7-4-1:

7.4.1

--------------------------

- Python 3.13.0a3 is supported.

- Fix: the JSON report now includes an explicit format version number, closing
`issue 1732`_.

.. _issue 1732: https://github.com/nedbat/coveragepy/issues/1732


.. _changes_7-4-0:

7.4.0

--------------------------

- In Python 3.12 and above, you can try an experimental core based on the new
:mod:`sys.monitoring <python:sys.monitoring>` module by defining a
``COVERAGE_CORE=sysmon`` environment variable.  This should be faster for
line coverage, but not for branch coverage, and plugins and dynamic contexts
are not yet supported with it.  I am very interested to hear how it works (or
doesn't!) for you.


.. _changes_7-3-4:

7.3.4

--------------------------

- Fix: the change for multi-line signature exclusions in 7.3.3 broke other
forms of nested clauses being excluded properly.  This is now fixed, closing
`issue 1713`_.

- Fix: in the HTML report, selecting code for copying won't select the line
numbers also. Thanks, `Robert Harris <pull 1717_>`_.

.. _issue 1713: https://github.com/nedbat/coveragepy/issues/1713
.. _pull 1717: https://github.com/nedbat/coveragepy/pull/1717


.. _changes_7-3-3:

7.3.3

--------------------------

- Fix: function definitions with multi-line signatures can now be excluded by
matching any of the lines, closing `issue 684`_.  Thanks, `Jan Rusak,
Maciej Kowalczyk and Joanna Ejzel <pull 1705_>`_.

- Fix: XML reports could fail with a TypeError if files had numeric components
that were duplicates except for leading zeroes, like ``file1.py`` and
``file001.py``.  Fixes `issue 1709`_.

- The ``coverage annotate`` command used to announce that it would be removed
in a future version. Enough people got in touch to say that they use it, so
it will stay.  Don't expect it to keep up with other new features though.

- Added new :ref:`debug options <cmd_run_debug>`:

- ``pytest`` writes the pytest test name into the debug output.

- ``dataop2`` writes the full data being added to CoverageData objects.

.. _issue 684: https://github.com/nedbat/coveragepy/issues/684
.. _pull 1705: https://github.com/nedbat/coveragepy/pull/1705
.. _issue 1709: https://github.com/nedbat/coveragepy/issues/1709


.. _changes_7-3-2:

7.3.2

--------------------------

- The ``coverage lcov`` command ignored the ``[report] exclude_lines`` and
``[report] exclude_also`` settings (`issue 1684`_).  This is now fixed,
thanks `Jacqueline Lee <pull 1685_>`_.

- Sometimes SQLite will create journal files alongside the coverage.py database
files.  These are ephemeral, but could be mistakenly included when combining
data files.  Now they are always ignored, fixing `issue 1605`_. Thanks to
Brad Smith for suggesting fixes and providing detailed debugging.

- On Python 3.12+, we now disable SQLite writing journal files, which should be
a little faster.

- The new 3.12 soft keyword ``type`` is properly bolded in HTML reports.

- Removed the "fullcoverage" feature used by CPython to measure the coverage of
early-imported standard library modules.  CPython `stopped using it
<88054_>`_ in 2021, and it stopped working completely in Python 3.13.

.. _issue 1605: https://github.com/nedbat/coveragepy/issues/1605
.. _issue 1684: https://github.com/nedbat/coveragepy/issues/1684
.. _pull 1685: https://github.com/nedbat/coveragepy/pull/1685
.. _88054: https://github.com/python/cpython/issues/88054


.. _changes_7-3-1:

7.3.1

--------------------------

- The semantics of stars in file patterns has been clarified in the docs.  A
leading or trailing star matches any number of path components, like a double
star would.  This is different than the behavior of a star in the middle of a
pattern.  This discrepancy was `identified by Sviatoslav Sydorenko
<starbad_>`_, who `provided patient detailed diagnosis <pull 1650_>`_ and
graciously agreed to a pragmatic resolution.

- The API docs were missing from the last version. They are now `restored
<apidocs_>`_.

.. _apidocs: https://coverage.readthedocs.io/en/latest/api_coverage.html
.. _starbad: https://github.com/nedbat/coveragepy/issues/1407#issuecomment-1631085209
.. _pull 1650: https://github.com/nedbat/coveragepy/pull/1650

.. _changes_7-3-0:

7.3.0

--------------------------

- Added a :meth:`.Coverage.collect` context manager to start and stop coverage
data collection.

- Dropped support for Python 3.7.

- Fix: in unusual circumstances, SQLite cannot be set to asynchronous mode.
Coverage.py would fail with the error ``Safety level may not be changed
inside a transaction.`` This is now avoided, closing `issue 1646`_.  Thanks
to Michael Bell for the detailed bug report.

- Docs: examples of configuration files now include separate examples for the
different syntaxes: .coveragerc, pyproject.toml, setup.cfg, and tox.ini.

- Fix: added ``nosemgrep`` comments to our JavaScript code so that
semgrep-based SAST security checks won't raise false alarms about security
problems that aren't problems.

- Added a CITATION.cff file, thanks to `Ken Schackart <pull 1641_>`_.

.. _pull 1641: https://github.com/nedbat/coveragepy/pull/1641
.. _issue 1646: https://github.com/nedbat/coveragepy/issues/1646


.. _changes_7-2-7:

7.2.7

--------------------------

- Fix: reverted a `change from 6.4.3 <pull 1347b_>`_ that helped Cython, but
also increased the size of data files when using dynamic contexts, as
described in the now-fixed `issue 1586`_. The problem is now avoided due to a
recent change (`issue 1538 <issue 1538b_>`_).  Thanks to `Anders Kaseorg
<pull 1629_>`_ and David Szotten for persisting with problem reports and
detailed diagnoses.

- Wheels are now provided for CPython 3.12.

.. _pull 1347b: https://github.com/nedbat/coveragepy/pull/1347
.. _issue 1538b: https://github.com/nedbat/coveragepy/issues/1538
.. _issue 1586: https://github.com/nedbat/coveragepy/issues/1586
.. _pull 1629: https://github.com/nedbat/coveragepy/pull/1629


.. _changes_7-2-6:

7.2.6

--------------------------

- Fix: the ``lcov`` command could raise an IndexError exception if a file is
translated to Python but then executed under its own name.  Jinja2 does this
when rendering templates.  Fixes `issue 1553`_.

- Python 3.12 beta 1 now inlines comprehensions.  Previously they were compiled
as invisible functions and coverage.py would warn you if they weren't
completely executed.  This no longer happens under Python 3.12.

- Fix: the ``coverage debug sys`` command includes some environment variables
in its output.  This could have included sensitive data.  Those values are
now hidden with asterisks, closing `issue 1628`_.

.. _issue 1553: https://github.com/nedbat/coveragepy/issues/1553
.. _issue 1628: https://github.com/nedbat/coveragepy/issues/1628


.. _changes_7-2-5:

7.2.5

--------------------------

- Fix: ``html_report()`` could fail with an AttributeError on ``isatty`` if run
in an unusual environment where sys.stdout had been replaced.  This is now
fixed.


.. _changes_7-2-4:

7.2.4

--------------------------

PyCon 2023 sprint fixes!

- Fix: with ``relative_files = true``, specifying a specific file to include or
omit wouldn't work correctly (`issue 1604`_).  This is now fixed, with
testing help by `Marc Gibbons <pull 1608_>`_.

- Fix: the XML report would have an incorrect ``<source>`` element when using
relative files and the source option ended with a slash (`issue 1541`_).
This is now fixed, thanks to `Kevin Brown-Silva <pull 1608_>`_.

- When the HTML report location is prin

@pyup-bot
Copy link
Collaborator Author

pyup-bot commented Jun 1, 2024

Closing this in favor of #210

@pyup-bot pyup-bot closed this Jun 1, 2024
@rhshah rhshah deleted the pyup-scheduled-update-2024-05-01 branch June 1, 2024 17:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant