-
Notifications
You must be signed in to change notification settings - Fork 605
Comparing changes
Open a pull request
base repository: snakemake/snakemake
base: v9.9.0
head repository: snakemake/snakemake
compare: v9.10.0
- 5 commits
- 19 files changed
- 5 contributors
Commits on Aug 18, 2025
-
fix: don't rate limit jobs when touching (#3699)
Came across this while `--touch`ing many files, but it seems having something like `max-jobs-per-timespan: "100/1m"` in a profile will also limit the rate for files getting touched (which is a very different operation to actually submitting jobs). Previously you would get many messages for > Job rate limit reached, waiting for free slots. Whereas now you should only encounter that message if you are not in dryrun or touch mode. ### QC <!-- Make sure that you can tick the boxes below. --> * [x] The PR contains a test case for the changes or the changes are already covered by an existing test case. * [x] The documentation (`docs/`) is updated to reflect the changes or this is not necessary (e.g. if the change does neither modify the language nor the behavior or functionalities of Snakemake). <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Touch mode now bypasses job submission rate limiting, enabling faster execution when only updating timestamps. * Users with a configured submission cap will no longer experience artificial delays in touch runs; normal runs continue to honor rate limits, and dry-run behavior is unchanged. * Scheduling order and resource checks remain the same; only the rate limiting is skipped in touch mode, improving responsiveness without altering other execution semantics. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
Configuration menu - View commit details
-
Copy full SHA for 9c499e5 - Browse repository at this point
Copy the full SHA 9c499e5View commit details -
fix: silence messages on module load (#3688)
<!--Add a description of your PR here--> On some HPC, `module load` prints to `stdout` when loading the requirements of the environmental modules: ``` $ module load bowtie2/2.5.4 Loading bowtie2/2.5.4 Loading requirement: binutils/2.40 gcc/13.2.0 ``` Not sure why, but this triggers an error when `snakemake` tries to parse it: ``` Unable to determine Python version from output 'Loading bowtie2/2.5.4 Loading requirement: binutils/2.40 gcc/13.2.0 [3, 13] ': Expecting value: line 1 column 1 (char 0) ``` Changes have been tested on both `lmod` and `envmod`. ### QC <!-- Make sure that you can tick the boxes below. --> * [x] The PR contains a test case for the changes or the changes are already covered by an existing test case. * [x] The documentation (`docs/`) is updated to reflect the changes or this is not necessary (e.g. if the change does neither modify the language nor the behavior or functionalities of Snakemake). <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Refactor** * Updated environment module loading to suppress output during module load operations for a cleaner user experience. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
Configuration menu - View commit details
-
Copy full SHA for b13e9c8 - Browse repository at this point
Copy the full SHA b13e9c8View commit details -
fix: raise an error when different rules produce identical (temp) out…
…put (#3667) I noticed an edge case where unused temporary output of different rules would go to the same file. This can introduce nasty side effects, and also made it so that my rules needed to be re-run all the times (because two rules that produce the same output is always detected as a code change by one of the two rules). This is now nicely raises an exception giving an early warning to the user that sth is misconfigured. I'm not sure how this affects performance or other stuff, let me know if sth needs changes or if this is actually wanted behaviour 😄
Configuration menu - View commit details
-
Copy full SHA for f627176 - Browse repository at this point
Copy the full SHA f627176View commit details -
feat: migrate to scheduler plugin interface and scheduler plugins (#3676
) <!--Add a description of your PR here--> ### QC <!-- Make sure that you can tick the boxes below. --> * [x] The PR contains a test case for the changes or the changes are already covered by an existing test case. * [x] The documentation (`docs/`) is updated to reflect the changes or this is not necessary (e.g. if the change does neither modify the language nor the behavior or functionalities of Snakemake). <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Plugin-based scheduler system with selectable scheduler plugins; new greedy and MILP schedulers and settings exposed. * Exposed total temporary-file size reporting for inputs. * **Improvements** * CLI now picks schedulers from available plugins; legacy solver options removed/deprecated and plugin settings integrated. * Asynchronous input-size prefetching and stricter per-job validation for scheduling; scheduler settings passed through execution API. * **Bug Fixes** * Fixed Python version error message formatting. * **Refactor** * Scheduling flow reworked to use external scheduler plugins with a greedy fallback. * **Chores** * Updated help text and deprecation notices. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
Configuration menu - View commit details
-
Copy full SHA for 26fcd38 - Browse repository at this point
Copy the full SHA 26fcd38View commit details
Commits on Aug 29, 2025
-
chore(main): release 9.10.0 (#3702)
🤖 I have created a release *beep* *boop* --- ## [9.10.0](v9.9.0...v9.10.0) (2025-08-19) ### Features * migrate to scheduler plugin interface and scheduler plugins ([#3676](#3676)) ([26fcd38](26fcd38)) ### Bug Fixes * don't rate limit jobs when touching ([#3699](#3699)) ([9c499e5](9c499e5)) * raise an error when different rules produce identical (temp) output ([#3667](#3667)) ([f627176](f627176)) * silence messages on module load ([#3688](#3688)) ([b13e9c8](b13e9c8)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
Configuration menu - View commit details
-
Copy full SHA for 2601b1a - Browse repository at this point
Copy the full SHA 2601b1aView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v9.9.0...v9.10.0