All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
Sections order is: Fixed
, Changed
, Added
, Deprecated
, Removed
, Security
.
These are changes that are on main
that are not yet in prod
.
1.3.0 - 2024-08-29T13:08:58Z
This release represents a shift from only supporting the overlap of all file formats to specific parsers for each supported format.
Fixed
Changed
- #65: tried to detect current
SHELL
on Windows - #77: refactored parsers, runner; each file format now has its own parser
- #80: config file search order
- #81: renamed environment variable
_DS_CURRENT_FILE
toDS_INTERNAL__FILE
- #83: moved
env_file
loading later (during run) instead of earlier (during parsing) - #84: pass
env
values tostr
- #87: moved project detection (
venv
,node_modules/.bin
) earlier (right before top-level task run) instead of later (right before command run)
Added
- #24:
--pre
and--post
options to run pre-/post- tasks - #73: search for nearby
node_modules/.bin
- #74, #78: search for nearby
venv
ifVIRTUAL_ENV
is not set - #75:
--no-config
and--no-project
options to suppress searching for config files and project dependencies, respectively - #79: more helpful debug messages (e.g., how to enable / disable options)
- #82: support for
poetry
Removed
- As part #77,
.ds.toml
is not longer a supported file format name.
1.2.0 - 2024-08-22T04:17:00Z
Fixed
- #71: allow
composite
(prerequisites) andshell
(recipe) within a single task
Changed
- #64: allow shell commands directly when calling ds, e.g.,
ds 'echo hello'
- #65:
ds
now respects the value of theSHELL
environment variable when running tasks - #70: simplified
CI.yaml
Added
- #14: instructions for using
uv
inCONTRIBUTING.md
- #31: Cosmopolitan Python build; Actually Portable Executable
- #67:
uv run
command that runs tests against all supported Python versions - #69: documentation for why branch coverage is disabled
- #66: support for
uv
workspaces - #68: support for simplified
Makefile
format
1.1.0 - 2024-08-18T04:48:22Z
Changed
Added
- #30:
uv
,uvx
, andpipx
instructions toREADME.md
- #51:
--env
and--env-file
command-line option together withenv
andenv-file
/env_file
task options for passing environment variables to tasks - #55:
--dry-run
command-line option to show which tasks would be run - #57: support for glob-like task selector from the command line and in composite tasks
- #58:
help
task option to display description when using--list
- #59: support for
pdm
-style{args}
during argument interpolation - #60:
cwd
/working_dir
task option for where tasks should run
1.0.0 - 2024-08-08T16:25:40Z
Fixed
Changed
- #17: config loading now looks for specific keys and tries more files if the key is not found
- #47: error suppression prefix string changed from hyphen (
-
) to plus (+
).
Added
- #22: error suppression from the command-line
- #28: argument interpolation now accepts defaults
- #30:
__main__.py
to makeds
executable as a package - #41:
composer.json
support - #45: support for workspaces
- #49: tasks that call
ds
have an implied default to use the same configuration file they were called from (via_DS_CURRENT_CONFIG
environment variable). - #50: support for
rye
Removed
- #32: unused python
call
format string
0.1.3 - 2024-07-25T06:20:18Z
Fixed
- #40: renamed PyPI package to
ds-run
0.1.2 - 2024-07-25T06:06:36Z
Fixed
- #38: typo in
CHANGELOG.md
Changed
- #39: moved
src/ds.py
intosrc/ds/__init__.py
in the hope this will fix the PyPI publishing error
0.1.1 - 2024-07-25T05:29:41Z
Fixed
- #36: self-referential dependency
Added
- #37: release task
0.1.0 - 2024-07-25T04:42:52Z
Initial release.
Fixed
- #7: conditional import for
tomli
- #19: double-quotes in f-string
- #25:
shell
andcmd
error suppression - #29: running the same task twice (switch to detecting cycles)
- #35: py3.8 graphlib-backport missing types
Changed
- #15: generic parser to handle multiple file types
- #16: refactored
Task
- #18: moved
ds.toml
configuration intopyproject.toml
Added
- Working with arguments:
- New file formats:
- New CLI options
- Other
- #1: setup repo
- #13: inspirations to README
Removed
Not Implemented / Won't Fix