Skip to content

Latest commit

 

History

History
295 lines (190 loc) · 13.5 KB

CHANGELOG.md

File metadata and controls

295 lines (190 loc) · 13.5 KB

CHANGELOG

v2.0.0 (2024-11-07)

  • Changes the default formula_folder from formula to Formula to follow the Homebrew convention and allow Linux installs to properly find the folder for installs out of the box without additional configuration
    • macOS is not case sensitive and didn't care about the casing of the directory whereas Linux does

v1.0.0 (2024-10-10)

  • Upgrades Python from 3.12 to 3.13
  • Fixes a bug that would not generate a proper class name for formula if it contained a digit (closes #47)

v0.19.0 (2024-07-11)

  • Adds new formula_includes parameter to allow including items in the built formula
    • eg: including a Python virtual environment, see the Python Docs for more details

v0.18.3 (2024-07-07)

  • Corrects regression introduced in v0.18.2 on the URLs used for public repo asset downloads
  • Removes the quotes that previously wrapped commit messages unintentionally
    • Uses a conventional commit message structure
  • Bumps development dependencies

v0.18.2 (2024-07-04)

WARNING: Do not use this version, please use v0.18.3 or later!

  • Fixes the URLs used to download the default zip/tars for private repos

v0.18.1 (2024-01-12)

  • Corrects order of version definition in formula generation to satisfy the ever-changing Homebrew audit rules

v0.18.0 (2023-12-12)

  • Adds a version parameter which can override the automatically detected version of a formula with an explicit value

v0.17.0 (2023-10-26)

  • Upgrades from Python 3.11 to Python 3.12
  • Corrects /archive URLs to the new /archive/refs/tags URLs to satisfy brew audit

v0.16.7 (2023-05-24)

  • Only strips the leading v from the version string instead of replacing all vs with nothing so versions such as v0.1.0.dev0 can be picked up

v0.16.6 (2023-04-20)

  • Enables typing in generated formula to appease brew audit

v0.16.5 (2023-03-23)

  • Fixes a bug that wouldn't build formula when no assets were present

v0.16.4 (2023-03-20)

  • Writes checksum file once instead of appending for each
  • Better assignment of autogenerated_tar_archive checksum by always taking the first index instead of doing a check

v0.16.3 (2023-03-16)

  • Refactors git subprocess error handling
    • Sends stderr to stdout and captures the subprocess error output as text (previously got clobbered)
    • Returns stack trace
    • Use new helper function to keep all git calls uniform
    • More appropriate error logging and capture
    • Better tests surrounding subprocesses
  • When updating a README table, we now only git add once instead of twice
  • Even if you specify skip_commit, we will now run git commit but will continue to skip the git push, this will ensure a more complete dry-run and will help debug committing issues since it now can commit safely without updating a remote repo

v0.16.2 (2023-03-15)

  • Fixes a packaging issue with v0.16.1

v0.16.1 (2023-03-15)

  • Use x-access-token as Username when authenticating for git clone and push operations which should allow password to explicitly be stored in the correct field
  • Adds a 30 second timeout to all HTTP requests (previously could run forever)

v0.16.0 (2023-03-03)

  • Adds download_strategy input to define a custom Homebrew download strategy for your formula
  • Adds custom_require input to define a custom relative_require in the formula template
  • Fixes a bug where the browser URL was used to download assets instead of the asset URL which wasn't accessible by private repos
  • Fixes a spacing issue in formula templates when only one architecture is specified for each OS
  • Instead of retrieving a list of all tags and then grabbing the most recent one, we grab the latest release and grab the tag from it. Most workflows should continue to work as expected if you were cutting GitHub releases; however, if you were using this action without using GitHub releases and only using git tags, you will need to start using releases per the README. This change was necessary to get asset URLs working along with bringing the expectation more inline with what the docs suggested in the README. This should also slightly improve performance for repos with many tags since the response from GitHub will be much smaller

v0.15.0 (2023-02-28)

  • Add support for private repos by using the already existing GITHUB_TOKEN env var available to GitHub Actions to make authenticated HTTP requests to the GitHub API instead of the previously unauthenticated requests

v0.14.3 (2023-01-31)

  • Bumps image from Python 3.10 to 3.11
  • Strips formula name from description on generated formula to be compliant with brew audit
  • No longer populates an empty license field when one is not provided, uses NA for desc when one is not provided to be compliant with brew audit
  • Bumps test dependencies

v0.14.2 (2022-11-28)

  • Adds a missing newline after replacing the README table if elected

v0.14.1 (2022-09-18)

  • Fixes an ommission of start/end tags on the replacement README table

v0.14.0 (2022-09-18)

  • Fixes a bug that wouldn't update a README table if there was no content between the start and end tags
  • README filename determination is much more robust allowing for alternative filename casing
  • Added error handling for formula directories that do not contain any Ruby files
  • Comprehensive, 100% test coverage for the update_readme module
  • Added bandit for security scanning and added new isort config

v0.13.3 (2022-09-14)

  • Fixes a bug that would replace the README table start/end tags when replacing the content of a table. Now the tags will remain while the table content itself will get updated

v0.13.2 (2022-09-13)

  • Fixes a bug that wouldn't generate the README table correctly even when the start and end tags were found
  • Fixes a bug where the README table could be updated even if there was no end tag, effectively replacing the remaining content after a start tag in your README

v0.13.1 (2022-09-12)

  • Fixes a bug that would attempt to generate an updated README table even if it could not find the old table location to replace it (closes #19)

v0.13.0 (2022-09-12)

  • Fixes a bug where false booleans in the GitHub Actions configuration would still pass through truthy. This is because GitHub Actions passes all env vars to the action as a string. We simply check for false strings and coerce them to False bools now (closes #16)
  • Fixes a bug that would kill the action when no license or description was set on a repo (closes #17)
  • Fixes an error where a few variables were referenced before assignment due to some nested if statements in README generation (closes #18)

v0.12.0 (2022-08-12)

  • Adds support for OS/arch targets such as Linux and Darwin, AMD64 and ARM64 (closes #9 & #14)
  • Generates a checksum for the auto-generate .zip release archive in addition the auto-generated .tar.gz archive
  • Adds better error handling for HTTP errors
  • Completely overhauls the formula templating engine allowing for easy future additions if necessary

v0.11.0 (2022-01-08)

  • Added the depends_on key to formulas allowing users to specify dependencies for their formulas
  • Reworked formula generation logic and tests to be more accurate and explicit for better formula generation (we now audit the test formula on CI)

v0.10.0 (2021-12-12)

  • Adds a checksum.txt file to the latest release of your repo containing the checksums of all "released" assets (binaries, scripts, etc)
  • Bumps minimum version of Python from 3.7 to 3.9

v0.9.2 (2021-12-07)

  • Adds mypy type checking

v0.9.1 (2021-11-24)

  • Restores previous logger formatting for console output

v0.9.0 (2021-11-24)

  • Uses woodchips for logging
  • Bumps pretty_tables to v2
  • Bump Python version used from 3.9 to 3.10
  • Adds Python type hinting

v0.8.3 (2021-11-03)

  • Fixes a bug that setup the git environment incorrectly after the shell refactor from the last release

v0.8.2 (2021-11-02)

  • Refactors shell operations to no longer invoke a shell when using the subprocess module. No longer change directories but instead call git operations directly from the destination path

v0.8.1 (2021-10-25)

  • Removes the bottle :unneeded from formula generation as it's been deprecated

v0.8.0 (2021-09-10)

  • Rebuild with the corrected pretty-tables library which re-adds the horizontal break between headers and row data
  • Removes the mock library in favor of the builtin unittest.mock library
  • Bumps the minimum Python version to 3.7

v0.7.0 (2021-06-27)

  • Refactored app completely by splitting up all logic into separate modules
  • We now use the latest tag instead of release as releases can often be named instead of sticking to strict version numbers (closes #4, closes #7)
  • Adds an to the list of articles to strip out of formula descriptions
  • Changed Installation header in README updater to Install
  • Added better error handling surrounding the README updater
  • Exposed DEBUG logging to the user via the debug: true flag to assist in troubleshooting the GitHub Action if necessary
  • Made all functions static methods
  • Added better test coverage
  • Split up git add, commit, and push functionality for better flexibilty
  • Additional info and debugging statements for each step were added
  • Various small improvements and bug fixes

v0.6.0 (2021-05-31)

  • Pins dependencies

v0.5.6 (2021-04-27)

  • I'm ashamed to need to release 7 versions in a single night...
  • Bug fixes for opening/writing README file

v0.5.5 (2021-04-27)

  • Setup a testing environment via Docker to assist with end-to-end testing this github action locally
  • Added more logging and renamed other output
  • Variious bug fixes

v0.5.4 (2021-04-27)

  • Reworks git setup command order

v0.5.3 (2021-04-27)

  • Properly navigate to git directory

v0.5.2 (2021-04-27)

  • Corrects Dockerfile copy command now that this is a package and not a single script

v0.5.1 (2021-04-27)

  • Fix bad import

v0.5.0 (2021-04-27)

  • Adds a feature to update the project table in the homebrew tap's README which includes all the formula name, descriptions, and installation commands (set update_readme_table to true)
  • Drops the clone depth of a repo from 5 to 2
  • Changes the git config from a global scope to local scope (helps during testing by not accidentally blowing away real credentials)
  • Various code refactor

v0.4.3 (2021-02-01)

  • Added automated releasing (retagging) of Homebrew Releaser via GitHub Actions. When a new version is released, GitHub Actions will automatically update the stable v1 tag to point to the latest release

v0.4.1 && v0.4.2 (2021-01-09)

  • Small bug fix that sets the default formula folder

v0.4.0 (2021-01-09)

  • Overhauled the configurable options and provided more defaults out of the box. Changes include:
    • No longer support owner and repo as these variables are given to use by GitHub already
    • Changed homebrew_formula_folder to formula_folder - added a default of formula
    • Changed owner_email to commit_email and added commit_owner - added defaults of [email protected] and homebrew-releaser respectively
    • Added homebrew_owner as an option to go alongside the already existing homebrew_tap, this allows you to release to a tap that may not be owned by the same person
  • Updated documentation with all changes
  • Cut out extra overhead on the Dockerfile to improve performance
  • Properly format desc field to pass brew audit by stripping articles from the beginning if present and hard stops from the end (all periods and exclamations)
  • Added additional logging for info and debug modes and fixed a typo in the output
  • Added an optional env variable skip_commit which will skip committing the generated formula to a homebrew tap. Useful for local testing

v0.3.0 (2021-01-06)

  • Fixes brew audit lint rules by adding an extra line between magic comments and adding missing typed: false comment
  • Added the logging module and replaced print statements
  • 100% code coverage
  • Code cleanup

v0.2.1 & v0.2.2 && v0.2.3 (2021-01-05)

  • Important bug fix required to get Homebrew Releaser running
  • More unit tests

v0.2.0 (2021-01-05)

  • Changed name from shell-releaser to homebrew-releaser as this tool can really be used for any kind of script, binary, or executable
  • Changed env variable of bin_install to simply install as you may not need/want to place your scripts in bin and use system instead
  • Switch from python-3.9 to python3.9-alpine Docker image for much faster performance. Manually install git and perl-utils in Docker image as we depend on them for correct operation
  • Added try/except blocks and properly throw exit codes/messages for each functionality
  • Added test input variable so you can specify tests
  • Added checks and balances ensuring environment variables are set before running
  • Added sane defaults for a few internal variables
  • Added license to generated formula
  • Maxing out git clone depth to the latest 5 commits to greatly improve performance on large homebrew taps
  • Added unit tests
  • Added GitHub Actions to lint and test the project
  • Refactored code into smaller testable units, other various bug fixes

v0.1.1 (2021-01-02)

  • Adding missing args to action.yml
  • Fixes Dockerfile to run in GitHub Actions environment
  • Updated README with usage instructions
  • Added a success message when the workflow completes

v0.1.0 (2021-01-02)

  • Initial release
  • Generates a Homebrew formula file based off the latest release of a project updating the name, description, checksum, and tar url