Skip to content

Releases: palmetto/palm-cli

Release 2.6.0

11 Oct 13:41
5c1e87e
Compare
Choose a tag to compare

Changed

  • run_in_docker is abstracted to a utility function, allowing plugins to
    execute commands in the docker container without needing to import the
    environment object.

Removed

  • run_in_shell is removed in favor of run_in_docker. This has been
    deprecated since v2.0.0

Release 2.5.3

16 May 16:12
Compare
Choose a tag to compare

Fixed

  • Modern Docker compose Switch all docker-compose commands to use the modern
    docker compose syntax and remove dependency check for docker-compose. This
    change was made to support the new docker-compose v2.0.0 syntax, which is
    widely used in the community. docker-compose is reaching end of support next
    month.

Release 2.5.2

16 Mar 16:41
Compare
Choose a tag to compare

Fixed

  • Pyyaml v6 support Removed upper version pin for pyyaml to support v6.0.0

Release 2.5.1

23 Nov 18:44
Compare
Choose a tag to compare

Fixed

  • Plugin config update was returning boolean, needed to also return the config.

Release 2.5.0

22 Nov 22:01
Compare
Choose a tag to compare

Added

  • Global palm allows palm to run outside of initialized git projects.
    This feature opens up many new possibilities for automation with palm,
    including project scaffolding with cookiecutter, machine setup, and
    global plugins that can do just about anything!
  • Project scaffolding with cookiecutter. Palm now includes cookiecutter
    for scaffolding new projects. Why would you use palm for this, instead of
    using cookiecutter directly? Because with palm, you're able to configure a set
    of default cookiecutter templates, which helps keep projects consistent.
    Every developer, on every team, should use the same set of templates!
  • Plugin Configs enable plugins to define a configuration object which is
    persisted in the .palm/config.yml. Configurations are defined by the plugin
    and made available to each command via the palm environment. The next release
    of palm-dbt will include a working example of Plugin Configuration!
  • Pre-commit Added pre-commit hooks to palm to improve contributor
    experience.
  • Continuous deployment via github actions workflow.
  • Additional Dependencies palm-cli now depends on cookiecutter >= 2.0 for
    project scaffolding via palm new and pydantic >= 1.9 for Plugin Configs.

Changed

  • linting & cleanup as a result of adding more tools in out pre-commit
    hooks, we also cleaned up some poorly formatted files in the project!.
  • Use pass_obj all core commands now use @click.pass_obj to provide the
    palm environment to the command, rather than the more convoluted
    @click.pass_context()

v2.4.1

08 Jun 20:10
Compare
Choose a tag to compare

Improvements

  • Improved layout for palm --help: Palm help now outputs the command list in
    groups based on the plugin the command originates from! This is particularly helpful
    when working in a project that defines uses plugins, defines it's own commands,
    and you have global plugins installed!

Bug fixes

  • Fixed a path issue for windows users when using code_gen or palm init
  • Fixes a potential security vulnerability when upgrading plugins via
    palm plugin update
  • Fixes a number of other small issues detected by CodeQL static anlysis

v2.4.0

10 May 17:14
Compare
Choose a tag to compare

Features:

  • Run docker commands without /bin/bash - Added optional arguments to
    environment.run_in_docker allows developers to execute commands in their docker
    containers without prepending them with /bin/bash -c. This is useful & necessary
    for images with a specific entrypoint

Improvements:

  • Added documentation New documentation for:
    • Global palm configuration
    • Shell autocomplete
    • Upgrading palm

v2.3.0

28 Mar 21:06
Compare
Choose a tag to compare

Features:

  • Override command The new palm override command makes it easy to change the functionality of core or plugin commands in your project.
  • git repo added to palm config Developers can now access the pygit2 Repository via the context.obj.palm.config - this can be helpful when implementing commands that use git or need data from the repo.

Improvements

  • Startup speed changed the implementation of checking docker-compose is installed, this fixes intermittent slowdowns on startup
  • Dependency upgrades: Click updated to v8.1 and up, Black updated to v22.3.0

v2.2.0

24 Feb 18:59
604fc59
Compare
Choose a tag to compare

Python Version Support"

  • Dropped support for python3.6 Python 3.6 is end of life and supporting it started to cause issues with dependent packages. We are dropping support for python 3.6 in palm v2.2.0

Features:

  • Global config & Global plugins Palm now supports installing plugins globally!
    After updating to palm 2.2.0, the first time you run palm ... a new global config
    will be created at ~/.palm/config.yaml, you can add plugins to this config to
    make them available to all of your repositories! This feature was developed to
    support a Palmetto internal palm-workflow plugin, which is used to manage our
    dev workflow in Trello.

Bug Fixes:

  • pygit2 version pin adjusted: The upper version pin on pygit2 was removed to resolve an error
    installing palm on newer versions of MacOS. Note that libgit2 is still required,
    per the requirements of pygit2. A future version will introduce checking for libgit2
    and more friendly error messaging.
  • Upgraded jinja: We were previously using an unsupported version of Jinja which was using
    a deprecated method in markupsafe, markupsafe removed that method which caused an error when
    installing palm. We upgraded to the latest version of jinja to resolve this issue and get the latest jinja features.

v2.1.1

07 Feb 15:12
9d9dabe
Compare
Choose a tag to compare

Bug fixes

  • Resolve a template issue when running palm plugin new

Improvements

  • Command templates now use click's @pass_obj decorator and pass the environment argument, this is a cleaner API for interacting with the Palm.Environment class
  • CI now runs against multiple python versions
  • Black version is pinned for consistency between local & CI runs