Skip to content

Latest commit

 

History

History
441 lines (336 loc) · 27.6 KB

CHANGELOG.md

File metadata and controls

441 lines (336 loc) · 27.6 KB

CHANGELOG

v1.0.6 (2024-01-15)

Continuous Integration

Documentation

  • docs: Add more badges (629857d)

    Add additional badges to capture things like contributions, the conda-forge release channel, etc.

  • docs: Include badges in ReadTheDocs (e30fc68)

    Include the badges from the README in the index page of our documentation so this information is visible on ReadTheDocs in addition to GitHub and PyPI.

    Closes #81.

  • docs: Private vulnerability reporting (9d6a758)

    Remove the security issue template and instead direct people to file a private security advisory.

Patch

  • patch: Add a badge for the CodeQL action (2d77837)

    Create a patch release to push all these new badges out to PyPI.

v1.0.5 (2023-10-24)

Chore

  • chore: Update python-semantic-release config (9972341)

    • Add commit types to automatically bump the minor or patch version numbers via a commit message.
    • Update commitizen configuration to allow the new commit types.
  • chore: Add Python 3.12 to pyproject.toml (ef59c2d)

    This was accidentally omitted in 6642a176e3591f3ef8ed0c04dbcbc4a257c5b127.

  • chore: Remove YAPF configuration (ad02127)

    We switched to black back in #5.

Continuous Integration

Documentation

  • docs: Remove dependency pinning (b14034f)

    I should be the case that the bugs that kept us on an older version of Sphinx have been resolved at this point, so remove the version pinning.

  • docs: Add sphinx-copybutton (2122825)

    Automatically add a button to all code boxes to copy the contents to the clipboard.

  • docs: Fix typos (eb05c2c)

  • docs: Special thanks to @mjsumpter (6cc3054)

    Include @mjsumpter in the Credits section at the bottom of the README, as he put together a prior iteration of this concept under my guidance. His earlier implementation informed the eventual creation of this package.

  • docs: Add CI details to contributing guidelines (b8269bf)

  • docs: Check spelling (b72ee11)

    Add sphinxcontrib-spelling extension to check the spelling in our documentation, and add a step to the CI job to ensure all is well.

  • docs: Add OpenSSF Best Practices badge (604fb61)

  • docs: Fix copy/paste issue (2f6517a)

  • docs: pre-commit install instructions (063d8f9)

Patch

  • patch: Add release notes template (a447eac)

    • Create a template to govern the generation of release notes by python-semantic-release.
    • Bump the patch version number to test that this works as expected.

Test

  • test: Run examples in CI (6642a17)

    Create example/test_examples.py so pytest runs all the examples and checks their output.

v1.0.4 (2023-07-25)

Fix

v1.0.3 (2023-07-25)

Fix

  • fix: Semantic release configuration (a73688c)

v1.0.2 (2023-07-24)

Continuous Integration

  • ci: Remove -vv for semantic-release (d83ae5d)

Fix

  • fix: Release notes template (1ac839a)

  • fix: Semantic release configuration (0325dc0)

    • Add __init__.py to the files modified.
    • Fix the __version__ in that file.
    • Remove trailing space in CHANGELOG template.
    • Add build command.
    • Make release commit match conventional standard.
    • Add release notes template.
    • Publish releases to PyPI and GitHub Releases.

v1.0.1 (2023-07-20)

Continuous Integration

  • ci: Rename workflow file (1cfed2d)

  • ci: Add conventional commits job (c683d7a)

  • ci: Set up semantice-release (9f233be)

    Add a semantic-release configuration to pyproject.toml, with a custom CHANGELOG.md template. Also add a GitHub Actions workflow.

Documentation

Fix

  • fix: Include version in init.py (b7b369e)

Unknown

  • 1.0.1 (92bdc1a)

    Automatically generated by python-semantic-release.

v1.0.0 (2023-07-18)

Breaking

  • refactor!: Build up args consecutively (d9a5639)

    Rework the class such that:

    • We initialize the args to a list of strings containing only the program name.
    • Each _unparse_* method appends a list of strings corresponding to the action to the args.
    • The get_*_command_line_invocation methods appropriately concatenate the elements in args into a single string.

    This sets us up for being able to handle sub-parser actions.

    Note that this is a breaking change, as it removes the get_*_args public methods.

Chore

  • chore: Enable Pyroma (124fa62)
  • chore: Enable Bandit (80e5bbe)
  • chore: Add pre-commit hooks (1c2a015)
  • chore: Add pre-commit configuration (93ba0e7)
  • chore: Add VS Code settings (cc4edb2)
  • chore: Add pycache to .gitignore (48a8acd)

Continuous Integration

  • ci: Remove documentation jobs (81ab9c2)

    Let ReadTheDocs test the PR instead.

  • ci: Add Sphinx job to build the docs (671ac18)

  • ci: Install all development dependencies (d8e7cf6)

  • ci: Switch to CodeCov (5899e2f)

    Abandon Coveralls, as it doesn't seem to integrate well with GitHub Actions.

  • ci: Add Coveralls integration (7b19390)

  • ci: Don't auto-fix PRs (cab73e9)

  • ci: Switch flake8 (477646b)

    Instead of running flake8 in our GitHub Actions workflow, run it via pre-commit.ci.

  • ci: Add initial workflow (9e42fcd)

    Create initial GitHub Actions workflow to lint and test the package.

Documentation

  • docs: Prepare for PyPI (511e859)

  • docs: Fix punctuation. (cfc1279)

  • docs: Tweak badge (369b154)

  • docs: Sort badges in README (9db52fe)

  • docs: Add ReadTheDocs badge to README (df7e2db)

  • docs: Correct links (df1bde3)

    Correct the URL for the documentation hosting on ReadTheDocs.

  • docs: Create _static directory (6d83328)

  • docs: Install the package first (c00c692)

    Try to pip install . as part of creating the environment for ReadTheDocs.

  • docs: Add ReadTheDocs configuration (32e84f1)

  • docs: Add Sphinx documentation (4595541)

    Create the Sphinx-based documentation for the package, including:

    • Getting started guidelines
    • The motivation for the package
    • Example use cases
    • Reference documentation for developers
  • docs: Add CI badge to README (b14c7dd)

  • docs: Fix contributing guidelines (87afd52)

  • docs: Address pydocstyle issues (1c1d2e2)

  • docs: Update contributing guidelines (7f41b8d)

    Translate from GitLab to GitHub.

  • docs: Add issue template (9e8cfc0)

  • docs: Update Markdown files (62c9115)

    Tweaks to link syntax, etc.

  • docs: Update README.md (1d69674)

  • docs: Add LICENSE.md (72de284)

  • docs: Make unparse grammar consistent (bb55e4d)

    Make the spelling of unparse and its derivatives consistent (no hyphenation, not quoted) in all docstrings and text printed to the terminal.

Feature

  • feat: Make private method public (509fafb)

    Since classes/scripts using reverse_argparse may also need the ability to quote a command line argument if there are spaces in it, transition quote_arg_if_necessary from a private to a public method. This will avoid code duplication outside reverse_argparse, and ensure classes and scripts that are using it are quoting arguments consistently.

  • feat: Handle subparsers (b2262d5)

    Enable the unparsing of subparser actions by recursively pushing them onto the stack of parsers, unparsing them, and popping them back off the stack.

    Note: This also makes it such that optional arguments are unparsed before positional ones, as this is required when dealing with subparsers.

Fix

  • fix: Move init.py (324f3e5)

    Part of extracting this package from the repository it was initially developed in.

  • fix: Correct method call (27fb201)

    Should have been part of 509fafb33329128ba8985578d66ab1bffe3fdbfb.

  • fix: Omit suppressed arguments (9484360)

    If an argument's help text has been suppressed, and the value of the argument matches the default value, that indicated that a parser author has hidden an argument from users, and the user hasn't modified it on the command line. To match the parser author's intent, such arguments should be omitted from the effective command line invocation.

Refactor

  • refactor: Only support Python 3.8+ (8d15f4a)

    Changes that can be undone when we remove 3.8 support:

    • Change certain type hints to work for 3.8
    • Use version guard around BooleanOptionalAction

    Changes that can be undone when we remove 3.9 support:

    • Switch match-case statement to if block.
  • refactor: Address pylint issues (b4555dc)

  • refactor: Address isort issues (fd6242d)

  • refactor: Address mypy issues (403e53d)

  • refactor: Display positional arguments first (ccf644d)

    Display positional rather than optional arguments first in the effective command line. This is necessary to prepare for the ability to handle sub-parsers.

  • refactor: Prepare for nested parsers (ec3a7d8)

    Change the parser attribute to be a list of parsers to prepare for processing nested parsers.

Style

  • style: Address black issues (f2a8622)

Test

  • test: Adjust code coverage (b7aa09e)

  • test: Rework tests for calling program name (8c21452)

    As part of the transition from GitLab CI/CD to GitHub Actions, the program name used when running the tests has shifted from __main__.py to pytest. This commits adjusts the tests to ignore the program name, and only pay attention to the arguments that come after it, such that the tests will work in both contexts.

  • test: Fix import (65e57ba)

    Rework how the tests import the class, given the package reorganization after pulling it out of the repository it was initially developed in.

Unknown