Skip to content

Latest commit

 

History

History
313 lines (233 loc) · 10.5 KB

CHANGELOG.md

File metadata and controls

313 lines (233 loc) · 10.5 KB

Changelog

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

  • #72: Makefile links and Cosmopolitan instructions
  • #76: logging in normal and debug modes

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 to DS_INTERNAL__FILE
  • #83: moved env_file loading later (during run) instead of earlier (during parsing)
  • #84: pass env values to str
  • #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 if VIRTUAL_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) and shell (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 the SHELL environment variable when running tasks
  • #70: simplified CI.yaml

Added

  • #14: instructions for using uv in CONTRIBUTING.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

  • #53: README.md to have a quicker start section
  • #61: improved command wrapping for --list

Added

  • #30: uv, uvx, and pipx instructions to README.md
  • #51: --env and --env-file command-line option together with env and env-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

  • #38: CHANGELOG typo
  • #42: pypi badges
  • #48: missing docstring

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 make ds 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 into src/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 and cmd 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 into pyproject.toml

Added

  • Working with arguments:
    • #4: command-line task arguments
    • #20: composite task arguments
    • #23: parsing colon at end of task name on command-line
    • #21: argument interpolation
    • #33: error if missing argument during interpolation
    • #34: $@ to refer to "remaining" arguments
  • New file formats:
    • #2: ds.toml support
    • #5: package.json support
    • #8: pyproject.toml support
    • #12: Cargo.toml support
  • New CLI options
    • #3: --list to list tasks
    • #10: --file to specify a config file
    • #11: --cwd to specify current working directory
  • Other

Removed

  • #6: pdm dependency
  • #32: pdm-style call command

Not Implemented / Won't Fix

  • #9: handling duplicate task names
  • #14: adding uv and rye instructions
  • #22: adding command-line error suppression
  • #24: running pre- and post- tasks
  • #26: removing implicit task arg start; changing task arg end