NEWS -- history of user-visible changes -*- mode: org; -*- * master (unreleased) - The 'envvars' directive (new in 5.11.0) and 'cache' keyword (new in Snakemake v5.12.0) are now recognized. * v1.7.0 - The 'multiext' built-in (new in Snakemake v5.8.2) is now recognized. - The font-lock handling has been updated to be compatible with python.el changes in Emacs 27. * v1.6.0 - Checkpoints (new in Snakemake v5.4) are now recognized. * v1.5.0 - ~snakemake-popup~ now includes ~--use-conda~. - Additional Snakemake keywords are now recognized: 'group' keyword (new in Snakemake v5.0), report (both the keyword and function; new in Snakemake v5.1), and 'localrules'. * v1.4.0 - The 'cwl' keyword (new in Snakemake v4.8.0), 'pipe' (new in Snakemake v5.2.0), 'directory' (new in Snakemake v5.2.0), and 'ancient' built-in are now recognized. - The minimum Emacs version is now specified as 24.5. Although the previous specification was a looser "24", Snakemake's indentation function is incompatible with Emacs 24.4 and below. * v1.3.0 - The 'singularity' keyword (new in Snakemake v4.2.0) is now recognized. - ".smk" has been added as a suffix for Snakemake files. * v1.2.0 - ~snakemake-popup~ commands learned to call Snakemake through a terminal rather than through ~compile~. This allows a persistent environment to be maintained between Snakemake calls, which is useful for running Snakemake in isolated environments created by tools like Guix. * v1.1.0 - The 'conda' keyword (new in Snakemake v3.9.0) is now recognized. * v1.0.0 - The 'wildcard_constraints' keyword (new in Snakemake v3.8.0) is now recognized. * v0.5.0 - New command ~snakemake-graph-this-file~ displays the graph for the first rule of the current file. Similar functionality is available from ~snakemake-graph~, which supports graphing any target in the file, but you may find the new command useful if your workflow involves frequently using Snakemake's ~--snakefile~ option. - New function ~snakemake-mode-setup-mmm~ configures MMM mode to highlight string-embedded R code. (Contributed by Endre Bakken Stovner.) - ".rules" has been added as a suffix for Snakemake files. - ~beginning-of-defun~ and ~end-of-defun~ implementations for rule blocks are now defined. - Rule blocks are now recognized by ~add-log-current-defun~. * v0.4.0 - New library snakemake.el provides a popup interface for running Snakemake from Emacs. - New command ~snakemake-graph~ displays the graph of dependencies for a rule. (Thanks to Endre Bakken Stovner for the idea and initial implementation.) - ".snakefile" has been added as a suffix for Snakemake files. - Anonymous rule blocks are now supported. - The 'wrapper' keyword is now recognized. * v0.3.0 - The keywords 'configfile', 'onsuccess', 'onerror', 'log', and 'benchmark', 'script', 'shadow', as well as the 'touch' function, are now recognized. - Indentation for field values starting on the line below a field key is now supported. New variable ~snakemake-indent-value-offset~ controls the offset for the value and replaces the variable ~snakemake-indent-run-offset~. If these values are continued on another line, indentation cycling now includes a step that indents according to Python mode. - ~snakemake-compile-rule~ can now pass the '--touch' flag to snakemake. - The Imenu index now includes Python mode items in addition to rule blocks. - Errors in Snakefiles are now highlighted in complilation buffers. * v0.2.0 - Both the executable and flags for the Snakemake ~compile-command~ are now customizable. - New command ~snakemake-compile-rule~ runs Snakemake with the rule at point as the target. - Subworkflow blocks are now supported. - The 'ruleorder' keyword is now recognized.