Skip to content

Latest commit

Β 

History

History
3645 lines (1952 loc) Β· 153 KB

CHANGELOG.md

File metadata and controls

3645 lines (1952 loc) Β· 153 KB

CHANGELOG

v9.8.8 (2024-09-01)

Documentation

  • docs(configuration): update build_command env table for windows to use all capital vars (0e8451c)

  • docs(github-actions): update version in examples to latest version (3c894ea)

Fix

  • fix(config): fix path traversal detection for windows compatibility (#1014)

    The original implementation of the path traversal detection expected that resolve() works the same on windows as it does with Linux/Mac. Windows requires the folder paths to exist to be resolved and that is not the case when the template_dir is not being used.

    Resolves: #994 (16e6daa)

v9.8.7 (2024-08-20)

Documentation

  • docs: use pinned version for GHA examples (#1004)

  • docs(github-actions): use pinned version for GHA examples

    Fixes #1003

  • chore(scripts): add auto version bump to non dynamic docs text (i.e. code snippets)

  • docs(github-actions): adjust formatting & version warning in code snippets

  • style(docs-github-actions): adjust formatting for readability


Co-authored-by: codejedi365 <codejedi365@gmail.com> (5fdf761)

  • docs(configuration): fix build_command_env table rendering (#996) (a5eff0b)

  • docs(changelog): clarify description of the default changelog generation process (399fa65)

  • docs(configuration): clarify changelog_file vs template_dir option usage

Provided additional description that warns about the mutually-exclusive nature of the changelog_file option and the template_dir option.

Resolves: #983 (a7199c8)

Fix

  • fix: provide context.history global in release notes templates (#1005)

  • fix(release-notes): provide context.history global in release note templates

    Temporarily return the context.history variable to release notes generation as many users are using it in their release documentation. It was never intended to be provided and will be removed in the future.

    context was removed in v9.8.3 during a refactor and condensing of changelog and release notes functionality.

    Resolves: #984

  • fix(release-notes): fix noop-changelog to print raw release notes

    Some markdown sequences can be interpreted as ansi escape sequences which dilute debugging of release note templates by the user. This change ensures the raw content is displayed to the console as expected. (5bd91b4)

v9.8.6 (2024-07-20)

Documentation

  • docs(configuration): correct GHA parameter name for commit email (#981)

git_committer_name was repeated; replace one instance of it with git_committer_email (ce9ffdb)

Fix

  • fix(version-cmd): resolve build command execution in powershell (#980)

Fixes the command line option for passing a shell command to Powershell. Also included a similar shell detection result for pwsh (Powershell Core) (32c8e70)

v9.8.5 (2024-07-06)

Fix

  • fix: enable --print-last-released* when in detached head or non-release branch (#926)

  • test(version-cmd): add tests to print when detached or non-release branch

    ref: #900

  • fix(version-cmd): drop branch restriction for --print-last-released* opts

    Resolves: #900 (782c0a6)

Performance

  • perf: improve git history processing for changelog generation (#972)

  • perf(changelog): improve git history parser changelog generation

    This converts the double for-loop (O(n^2)) down to O(n) using a lookup table to match the current commit with a known tag rather than iterating through all the tags of the repository every time.

  • fix(changelog): resolve commit ordering issue when dates are similar (bfda159)

v9.8.4 (2024-07-04)

Fix

  • fix(changelog-cmd): remove usage strings when error occured

Resolves: #810 (348a51d)

  • fix(publish-cmd): remove usage strings when error occured

Resolves: #810 (afbb187)

  • fix(config): prevent path traversal manipulation of target changelog location (43e35d0)

  • fix(version-cmd): remove usage strings when error occurred

Resolves: #810 (a7c17c7)

  • fix(publish-cmd): prevent error when provided tag does not exist locally (16afbbb)

  • fix(config): prevent path traversal manipulation of target changelog location (3eb3dba)

  • fix(changelog-cmd): render default changelog when user template directory exist but is empty (bded8de)

v9.8.3 (2024-06-18)

Fix

  • fix(parser): strip DOS carriage-returns in commits (#956)

The default template can result in mixed (UNIX / DOS style) carriage returns in the generated changelog. Use a string replace in the commit parser to strip the DOS CRs ("\r"). This is only needed in the case when we are not byte decoding.

Fixes #955 (0b005df)

v9.8.2 (2024-06-17)

Fix

  • fix(templates): suppress extra newlines in default changelog (#954)

    Suppress extra newlines in default generated changelog output (7b0079b)

v9.8.1 (2024-06-05)

Fix

  • fix: improve build cmd env on windows (#942)

  • fix(version-cmd): pass windows specific env vars to build cmd when on windows

  • test(version-cmd): extend build cmd tests to include windows vars

  • docs(configuration): define windows specific env vars for build cmd

  • refactor(version-cmd): only add windows vars when windows is detected


Co-authored-by: Juan Cruz Mencia Naranjo <jcmencia@arsys.es> (d911fae)

v9.8.0 (2024-05-27)

Documentation

  • docs(migration-v8): update version references in migration instructions (#938) (d6ba16a)

Feature

  • feat: extend gitlab to edit a previous release if exists (#934)

  • style(hvcs-github): update function docstrings for params

  • feat(hvcs-gitlab): enable gitlab to edit a previous release if found

  • fix(hvcs-gitlab): add tag message to release creation

  • fix(gitlab): adjust release name to mirror other hvcs release names

  • refactor(gitlab): consolidate & simplify usage of gitlab client

  • test(gitlab): neuter test cases that used the internet & add new tests

  • refactor(gitlab): handle errors in release retrieval gracefully

  • refactor(gitlab): update release notes editing implementation


Co-authored-by: bdorsey <brentadorsey@gmail.com> (23e02b9)

  • feat(gha): configure ssh signed tags in GitHub Action (#937)

Resolves: #936 (dfb76b9)

  • feat(version-cmd): add toggle of --no-verify option to git commit (#927)

  • test(version-cmd): add test w/ failing pre-commit hook--preventing version commit

  • feat(version-cmd): add toggle of --no-verify option to git commit

    This commit adds a configuration option that toggles the addition of --no-verify command line switch on git commit operations that are run with the version command.

  • docs(configuration): add no_git_verify description to the configuration page


Co-authored-by: bdorsey <brentadorsey@gmail.com> (1de6f78)

v9.7.3 (2024-05-15)

Fix

  • fix: enabled prelease-token parameter in github action (#929) (1bb26b0)

v9.7.2 (2024-05-13)

Documentation

  • docs(configuration): clarify TOC & alphabetize configuration descriptions (19add16)

  • docs(configuration): clarify TOC & standardize heading links (3a41995)

Fix

  • fix: enable user configuration of build_command env vars (#925)
  • test(version): add test of user defined env variables in build command

    ref: #922

  • fix(version): enable user config of build_command env variables

    Resolves: #922

  • docs(configuration): document build_command_env configuration option (6b5b271)

v9.7.1 (2024-05-07)

Fix

  • fix(gha): fix missing git_committer_* definition in action (#919)

    Resolves: #918 (ccef9d8)

v9.7.0 (2024-05-06)

Documentation

  • docs(configuration): add description of build command available env variables (c882dc6)

Feature

  • feat(version-cmd): pass NEW_VERSION & useful env vars to build command (ee6b246)

Fix

  • fix(gha): add missing tag option to GitHub Action definition (#908)

    Resolves: #906 (6b24288)

v9.6.0 (2024-04-29)

Feature

  • feat: changelog filters are specialized per vcs type (#890)

  • test(github): sync pr url expectation with GitHub api documentation

  • fix(github): correct changelog filter for pull request urls

  • refactor(hvcs-base): change to an abstract class & simplify interface

  • refactor(remote-hvcs-base): extend the base abstract class with common remote base class

  • refactor(github): adapt to new abstract base class

  • refactor(gitea): adapt to new abstract base class

  • refactor(gitlab): adapt to new abstract base class

  • refactor(bitbucket): adapt to new abstract base class

  • refactor(cmds): prevent hvcs from executing if not remote hosted vcs

  • feat(changelog): changelog filters are hvcs focused

  • test(hvcs): add validation for issue_url generation

  • feat(changelog-github): add issue url filter to changelog context

  • feat(changelog-gitea): add issue url filter to changelog context

  • refactor(cmd-version): consolidate asset uploads with release creation

  • style: resolve ruff errors

  • feat(changelog-context): add flag to jinja env for which hvcs is available

  • test(changelog-context): demonstrate per hvcs filters upon render

  • docs(changelog-context): explain new hvcs specific context filters

  • refactor(config): adjust default token resolution w/ subclasses (76ed593)

Fix

  • fix(parser-custom): gracefully handle custom parser import errors (67f6038)

  • fix: correct version --prerelease use & enable --as-prerelease (#647)

  • test(version): add validation of --as-prerelease and --prerelease opts

  • fix(version-cmd): correct --prerelease use

    Prior to this change, --prerelease performed the role of converting whichever forced version into a prerelease version declaration, which was an unintentional breaking change to the CLI compared to v7.

    --prerelease now forces the next version to increment the prerelease revision, which makes it consistent with --patch, --minor and --major. Temporarily disabled the ability to force a prerelease.

    Resolves: #639

  • feat(version-cmd): add --as-prerelease option to force the next version to be a prerelease

    Prior to this change, --prerelease performed the role that --as-prerelease now does, which was an unintentional breaking change to the CLI compared to v7.

    --prerelease is used to force the next version to increment the prerelease revision, which makes it consistent with --patch, --minor and --major, while --as-prerelease forces for the next version to be converted to a prerelease version type before it is applied to the project regardless of the bump level.

    Resolves: #639

  • docs(commands): update version command options definition about prereleases


Co-authored-by: codejedi365 <codejedi365@gmail.com> (2acb5ac)

v9.5.0 (2024-04-23)

Build

  • build(deps): bump ruff from 0.3.5 to 0.3.7 (#894) (6bf2849)

Feature

  • feat: extend support to on-prem GitHub Enterprise Server (#896)

  • test(github): adjust init test to match the Enterprise Server api url

  • feat(github): extend support to on-prem GitHub Enterprise Server

    Resolves: #895 (4fcb737)

v9.4.2 (2024-04-14)

Build

  • build(deps): update rich requirement from ~=12.5 to ~=13.0 (#877)

Updates the requirements on rich to permit the latest version.

Resolves: #888

Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (4a22a8c)

Fix

  • fix(hvcs): allow insecure http connections if configured (#886)

  • fix(gitlab): allow insecure http connections if configured

  • test(hvcs-gitlab): fix tests for clarity & insecure urls

  • test(conftest): refactor netrc generation into common fixture

  • refactor(hvcsbase): remove extrenous non-common functionality

  • fix(gitea): allow insecure http connections if configured

  • test(hvcs-gitea): fix tests for clarity & insecure urls

  • refactor(gitlab): adjust init function signature

  • fix(github): allow insecure http connections if configured

  • test(hvcs-github): fix tests for clarity & insecure urls

  • fix(bitbucket): allow insecure http connections if configured

  • test(hvcs-bitbucket): fix tests for clarity & insecure urls

  • fix(config): add flag to allow insecure connections

  • fix(version-cmd): handle HTTP exceptions more gracefully

  • style(hvcs): resolve typing issues & mimetype executions

  • test(cli-config): adapt default token test for env resolution

  • test(changelog-cmd): isolate env & correct the expected api url

  • test(fixtures): adapt repo builder for new hvcs init() signature

  • style: update syntax for 3.8 compatiblity & formatting

  • docs(configuration): update remote settings section with missing values

    Resolves: #868

  • style(docs): improve configuration & api readability (db13438)

  • fix(hvcs): prevent double url schemes urls in changelog (#676)

  • fix(hvcs): prevent double protocol scheme urls in changelogs

    Due to a typo and conditional stripping of the url scheme the hvcs_domain and hvcs_api_domain values would contain protocol schemes when a user specified one but the defaults would not. It would cause the api_url and remote_url to end up as "https://https://domain.com&#34;

  • fix(bitbucket): correct url parsing & prevent double url schemes

  • fix(gitea): correct url parsing & prevent double url schemes

  • fix(github): correct url parsing & prevent double url schemes

  • fix(gitlab): correct url parsing & prevent double url schemes

  • test(hvcs): ensure api domains are derived correctly


Co-authored-by: codejedi365 <codejedi365@gmail.com> (5cfdb24)

v9.4.1 (2024-04-06)

Fix

  • fix(gh-actions-output): fixed trailing newline to match GITHUB_OUTPUT format (#885)

  • test(gh-actions-output): fix unit tests to manage proper whitespace

    tests were adjusted for clarity and to replicate error detailed in #884.

  • fix(gh-actions-output): fixed trailing newline to match GITHUB_OUTPUT format

    Resolves: #884 (2c7b6ec)

v9.4.0 (2024-03-31)

Feature

  • feat(gitea): derives gitea api domain from base domain when unspecified (#675)

  • test(gitea): add test of custom server path & custom api domain

  • feat(gitea): derives gitea api domain from base domain when unspecified

  • refactor(hvcs-gitea): uniformly handle protocol prefixes


Co-authored-by: codejedi365 <codejedi365@gmail.com> (2ee3f8a)

v9.3.1 (2024-03-24)

Fix

  • fix(cli-version): change implementation to only push the tag we generated

Restricts the git push command to only push the explicit tag we created which will eliminate the possibility of pushing another tag that could cause an error.

Resolves: #803 (8a9da4f)

  • fix(algorithm): handle merge-base errors gracefully

Merge-base errors generally occur from a shallow clone that is primarily used by CI environments and will cause PSR to explode prior to this change. Now it exits with an appropriate error.

Resolves: #724 (4c998b7)

Performance

  • perf(algorithm): simplify logs & use lookup when searching for commit & tag match (3690b95)

v9.3.0 (2024-03-21)

Feature

  • feat(cmd-version): changelog available to bundle (#779)

  • test(util): fix overlooked file differences in folder comparison

  • test(version): tracked changelog as changed file on version create

Removes the temporary release_notes hack to prevent CHANGELOG generation on execution of version command. Now that it is implemented we can remove the fixture to properly pass the tests.

  • feat(cmd-version): create changelog prior to build enabling doc bundling (37fdb28)

v9.2.2 (2024-03-19)

Fix

  • fix(cli): enable subcommand help even if config is invalid

Refactors configuration loading to use lazy loading by subcommands triggered by the property access of the runtime_ctx object. Resolves the issues when running --help on subcommands when a configuration is invalid

Resolves: #840 (91d221a)

v9.2.1 (2024-03-19)

Fix

  • fix(parse-git-url): handle urls with url-safe special characters (27cd93a)

v9.2.0 (2024-03-18)

Build

  • build(deps): add click-option-group for grouping exclusive flags (bd892b8)

Documentation

  • docs(configuration): clarify the major_on_zero configuration option (f7753cd)

  • docs(configuration): add description of allow-zero-version configuration option (4028f83)

Feature

  • feat(version-config): add option to disable 0.x.x versions (dedb3b7)

  • feat(version): add new version print flags to display the last released version and tag (814240c)

Fix

  • fix(changelog-generation): fix incorrect release timezone determination (f802446)

  • fix(changelog): make sure default templates render ending in 1 newline (0b4a45e)

v9.1.1 (2024-02-25)

Fix

  • fix(parse_git_url): fix bad url with dash (1c25b8e)

v9.1.0 (2024-02-14)

Build

  • build(deps): bump minimum required tomlkit to &gt;=0.11.0

TOMLDocument is missing the unwrap() function in v0.10.2 which causes an AttributeError to occur when attempting to read a the text in pyproject.toml as discovered with #834

Resolves: #834 (291aace)

Documentation

  • docs: add bitbucket to token table (56f146d)

  • docs: add bitbucket authentication (b78a387)

  • docs: fix typo (b240e12)

Feature

  • feat: add bitbucket hvcs (bbbbfeb)

Fix

  • fix: remove unofficial environment variables (a5168e4)

v9.0.3 (2024-02-08)

Fix

  • fix(algorithm): correct bfs to not abort on previously visited node (02df305)

Performance

  • perf(algorithm): refactor bfs search to use queue rather than recursion (8b742d3)

v9.0.2 (2024-02-08)

Documentation

  • docs: Remove duplicate note in configuration.rst (#807) (fb6f243)

Fix

  • fix(util): properly parse windows line-endings in commit messages

Due to windows line-endings \r\n, it would improperly split the commit description (it failed to split at all) and cause detection of Breaking changes to fail. The breaking changes regular expression looks to the start of the line for the proper syntax.

Resolves: #820 (70193ba)

v9.0.1 (2024-02-06)

Fix

  • fix(config): set commit parser opt defaults based on parser choice (#782) (9c594fb)

v9.0.0 (2024-02-06)

Breaking

  • fix!: drop support for Python 3.7 (#828) (ad086f5)

v8.7.2 (2024-01-03)

Fix

  • fix(lint): correct linter errors (c9556b0)

v8.7.1 (2024-01-03)

Documentation

  • docs(contributing): add docs-build, testing conf, & build instructions (#787) (011b072)

  • docs(configuration): change defaults definition of token default to table (#786) (df1df0d)

  • docs: add note on default envvar behaviour (#780) (0b07cae)

Fix

  • fix(cli-generate-config): ensure configuration types are always toml parsable (#785) (758e649)

v8.7.0 (2023-12-22)

Feature

  • feat(config): enable default environment token per hvcs (#774) (26528eb)

v8.6.0 (2023-12-22)

Documentation

  • docs: minor correction to commit-parsing documentation (#777) (245e878)

Feature

  • feat(utils): expand parsable valid git remote url formats (#771)

Git remote url parsing now supports additional formats (ssh, https, file, git) (cf75f23)

v8.5.2 (2023-12-19)

Fix

  • fix(cli): gracefully output configuration validation errors (#772)

  • test(fixtures): update example project workflow & add config modifier

  • test(cli-main): add test for raw config validation error

  • fix(cli): gracefully output configuration validation errors (e8c9d51)

v8.5.1 (2023-12-12)

Documentation

  • docs(configuration): adjust wording and improve clarity (#766)

  • docs(configuration): fix typo in text

  • docs(configuration): adjust wording and improve clarity (6b2fc8c)

Fix

  • fix(config): gracefully fail when repo is in a detached HEAD state (#765)

  • fix(config): cleanly handle repository in detached HEAD state

  • test(cli-main): add detached head cli test (ac4f9aa)

  • fix(cmd-version): handle committing of git-ignored file gracefully (#764)

  • fix(version): only commit non git-ignored files during version commit

  • test(version): set version file as ignored file

Tweaks tests to use one committed change file and the version file as an ignored change file. This allows us to verify that our commit mechanism does not crash if a file that is changed is ignored by user (ea89fa7)

v8.5.0 (2023-12-07)

Feature

  • feat: allow template directories to contain a '.' at the top-level (#762) (07b232a)

v8.4.0 (2023-12-07)

Documentation

  • docs(migration): fix comments about publish command (#747) (90380d7)

Feature

  • feat(cmd-version): add --tag/--no-tag option to version command (#752)

  • fix(version): separate push tags from commit push when not committing changes

  • feat(version): add --no-tag option to turn off tag creation

  • test(version): add test for --tag option & --no-tag/commit

  • docs(commands): update version subcommand options (de6b9ad)

Unknown

  • Revert "feat(action): use composite action for semantic release (#692)"

This reverts commit 4648d87bac8fb7e6cc361b765b4391b30a8caef8. (f145257)

v8.3.0 (2023-10-23)

Feature

  • feat(action): use composite action for semantic release (#692)

Co-authored-by: Bernard Cooke <bernard-cooke@hotmail.com> (4648d87)

v8.2.0 (2023-10-23)

Documentation

  • docs: add PYTHONPATH mention for commit parser (3284258)

Feature

  • feat: Allow user customization of release notes template (#736)

Signed-off-by: Bryant Finney <bryant.finney@outlook.com> (94a1311)

v8.1.2 (2023-10-13)

Fix

  • fix: correct lint errors

GitHub.upload_asset now raises ValueError instead of requests.HTTPError (a13a6c3)

  • fix: Error when running build command on windows systems (#732) (2553657)

v8.1.1 (2023-09-19)

Fix

  • fix: attribute error when logging non-strings (#711) (75e6e48)

v8.1.0 (2023-09-19)

Documentation

  • docs: update project urls (#715) (5fd5485)

  • docs: fix typos (#708) (2698b0e)

Feature

  • feat: upgrade pydantic to v2 (#714) (5a5c5d0)

v8.0.8 (2023-08-26)

Fix

  • fix: dynamic_import() import path split (#686) (1007a06)

v8.0.7 (2023-08-16)

Fix

  • fix: use correct upload url for github (#661)

Co-authored-by: github-actions <action@github.com> (8a515ca)

v8.0.6 (2023-08-13)

Fix

  • fix(publish): improve error message when no tags found (#683) (bdc06ea)

v8.0.5 (2023-08-10)

Documentation

  • docs: fix typo missing 's' in version_variable[s] in configuration.rst (#668) (879186a)

Fix

  • fix: don't warn about vcs token if ignore_token_for_push is true. (#670)

  • fix: don't warn about vcs token if ignore_token_for_push is true.

  • docs: password should be token. (f1a54a6)

v8.0.4 (2023-07-26)

Documentation

  • docs: clarify usage of assets config option (#655) (efa2b30)

  • docs: add Python 3.11 to classifiers in metadata (#651) (5a32a24)

Fix

  • fix(changelog): use version as semver tag by default (#653) (5984c77)

v8.0.3 (2023-07-21)

Fix

  • fix: skip unparseable versions when calculating next version (#649) (88f25ea)

v8.0.2 (2023-07-18)

Documentation

  • docs: correct version_toml example in migrating_from_v7.rst (#641) (325d5e0)

  • docs: clarify v8 breaking changes in GitHub action inputs (#643) (cda050c)

  • docs: better description for tag_format usage (2129b72)

Fix

  • fix: handle missing configuration (#644) (f15753c)

v8.0.1 (2023-07-17)

Documentation

  • docs: reduce readthedocs formats and add entries to migration from v7 guide (9b6ddfe)

  • docs(migration): fix hyperlink (#631) (5fbd52d)

Fix

  • fix: invalid version in Git history should not cause a release failure (#632) (254430b)

v8.0.0 (2023-07-16)

Breaking

  • feat!: v8 (#619)

  • feat!: 8.0.x (#538)

Co-authored-by: Johan <johanhmr@gmail.com> Co-authored-by: U-NEO\johan <johan.hammar@ombea.com>

  • fix: correct Dockerfile CLI command and GHA fetch

  • fix: resolve branch checkout logic in GHA

  • fix: remove commit amending behaviour

this was not working when there were no source code changes to be made, as it lead to attempting to amend a HEAD commit that wasn't produced by PSR

  • 8.0.0-alpha.1

Automatically generated by python-semantic-release

  • fix: correct logic for generating release notes (#550)

  • fix: cleanup comments and unused logic

  • fix(action): mark container fs as safe for git to operate on

  • style: beautify 49080c510a68cccd2f6c7a8d540b483751901207

  • fix(action): quotation for git config command

  • 8.0.0-alpha.2

Automatically generated by python-semantic-release

  • fix: resolve bug in changelog logic, enable upload to pypi

  • 8.0.0-alpha.3

Automatically generated by python-semantic-release

  • test: add tests for ReleaseHistory.release

  • fix: resolve loss of tag_format configuration

  • 8.0.0-alpha.4

Automatically generated by python-semantic-release

  • feat: various improvements

  • Added sorting to test parameterisation, so that pytest-xdist works again - dramatic speedup for testing

  • Reworked the CI verification code so it's a bit prettier

  • Added more testing for the version CLI command, and split some logic out of the command itself

  • Removed a redundant double-regex match in VersionTranslator and Version, for some speedup

  • chore(test): proper env patching for tests in CI

  • style: beautify bcb27a4a8ce4789d083226f088c1810f45cd4c77

  • refactor!: remove verify-ci command

  • 8.0.0-alpha.5

Automatically generated by python-semantic-release

  • fix(docs): fixup docs and remove reference to dist publication

  • feat!: remove publication of dists to artefact repository

  • feat: rename 'upload' configuration section to 'publish'

  • feat!: removed build status checking

  • feat: add GitHub Actions output

  • fix(action): remove default for 'force'

  • fix(ci): different workflow for v8

  • fix(action): correct input parsing

  • fix: correct handling of build commands

  • feat: make it easier to access commit messages in ParsedCommits

  • fix: make additional attributes available for template authors

  • fix: add logging for token auth, use token for push

  • ci: add verbosity

  • fix: caching for repo owner and name

  • ci: contents permission for workflow

  • 8.0.0-alpha.6

Automatically generated by python-semantic-release

  • docs: update docs with additional required permissions

  • feat: add option to specify tag to publish to in publish command

  • feat: add Strict Mode

  • docs: convert to Furo theme

  • feat: add --skip-build option

  • 8.0.0-alpha.7

Automatically generated by python-semantic-release

  • test: separate command line tests by stdout and stderr

  • ci: pass tag output and conditionally execute publish steps

  • fix: correct assets type in configuration (#603)

  • change raw config assets type

  • fix: correct assets type-annotation for RuntimeContext


Co-authored-by: Bernard Cooke <bernard-cooke@hotmail.com>

  • 8.0.0-alpha.8

Automatically generated by python-semantic-release

  • fix: pin Debian version in Dockerfile

  • feat: promote to rc

  • 8.0.0-rc.1

Automatically generated by python-semantic-release

  • ci: fix conditionals in workflow and update documentation

  • ci: correct conditionals

  • fix: only call Github Action output callback once defaults are set

  • 8.0.0-rc.2

Automatically generated by python-semantic-release

  • fix: create_or_update_release for Gitlab hvcs

  • ci: remove separate v8 workflow

  • chore: tweak issue templates

  • chore: bump docs dependencies

  • 8.0.0-rc.3

Automatically generated by python-semantic-release

  • fix(deps): add types-click, and downgrade sphinx/furo for 3.7

  • 8.0.0-rc.4

Automatically generated by python-semantic-release

  • docs: fix typo (#623)

  • docs: correct typo in docs/changelog_templates.rst

Co-authored-by: Micael Jarniac <micael@jarniac.com>


Co-authored-by: Johan <johanhmr@gmail.com> Co-authored-by: U-NEO\johan <johan.hammar@ombea.com> Co-authored-by: semantic-release <semantic-release> Co-authored-by: github-actions <action@github.com> Co-authored-by: smeng9 <38666763+smeng9@users.noreply.github.com> Co-authored-by: Micael Jarniac <micael@jarniac.com> (ec30564)

v7.34.6 (2023-06-17)

Fix

  • fix: relax invoke dependency constraint (18ea200)

v7.34.5 (2023-06-17)

Fix

  • fix: consider empty commits (#608) (6f2e890)

v7.34.4 (2023-06-15)

Fix

  • fix: docker build fails installing git (#605)

git was installed from bullseye-backports, but base image is referencing latest python:3.10 since bookworm was recently released, this now points at bookworm and installing the backport of git is actually trying to downgrade, resulting in this error:

> E: Packages were downgraded and -y was used without --allow-downgrades.

> ERROR: failed to solve: process "/bin/sh -c echo &#34;deb http://deb.debian.org/debian bullseye-backports main&#34; >> /etc/apt/sources.list; apt-get update; apt-get install -y git/bullseye-backports" did not complete successfully: exit code: 100 (9e3eb97)

v7.34.3 (2023-06-01)

Fix

  • fix: generate markdown linter compliant changelog headers & lists (#597)

In #594, I missed that there are 2 places where the version header is formatted (cc87400)

v7.34.2 (2023-05-29)

Fix

  • fix: open all files with explicit utf-8 encoding (#596) (cb71f35)

v7.34.1 (2023-05-28)

Fix

  • fix: generate markdown linter compliant changelog headers & lists (#594)

Add an extra new line after each header and between sections to fix 2 markdownlint errors for changelogs generated by this package (9d9d403)

v7.34.0 (2023-05-28)

Feature

  • feat: add option to only parse commits for current working directory (#509)

When running the application from a sub-directory in the VCS, the option use_only_cwd_commits will filter out commits that does not changes the current working directory, similar to running commands like git log -- . in a sub-directory. (cdf8116)

v7.33.5 (2023-05-19)

Documentation

  • docs: update broken badge and add links (#591)

The "Test Status" badge was updated to address a recent breaking change in the GitHub actions API. All the badges updated to add links to the appropriate resources for end-user convenience. (0c23447)

Fix

  • fix: update docs and default config for gitmoji changes (#590)

  • fix: update docs and default config for gitmoji changes

PR #582 updated to the latest Gitmojis release however the documentation and default config options still referenced old and unsupported Gitmojis.

  • fix: update sphinx dep

I could only build the documentation locally by updating Sphinx to the latest 1.x version. (192da6e)

v7.33.4 (2023-05-14)

Fix

  • fix: if prerelease, publish prerelease (#587)

Co-authored-by: Ondrej Winter <ondrej.winter@gmail.com> (927da9f)

v7.33.3 (2023-04-24)

Documentation

  • docs: update repository name (#559)

In order to avoid 'Repository not found: relekang/python-semantic-release.' (5cdb05e)

  • docs: spelling and grammar in travis.rst (#556)
  • spelling
  • subject-verb agreement
  • remove verbiage

Signed-off-by: Vladislav Doster <mvdoster@gmail.com> (3a76e9d)

  • docs: grammar in docs/troubleshooting.rst (#557)
  • change contraction to a possessive pronoun

Signed-off-by: Vladislav Doster <mvdoster@gmail.com> (bbe754a)

Fix

  • fix: update Gitmojis according to official node module (#582) (806fcfa)

  • fix: trim emojis from config (#583) (02902f7)

v7.33.2 (2023-02-17)

Fix

  • fix: inconsistent versioning between print-version and publish (#524) (17d60e9)

v7.33.1 (2023-02-01)

Fix

  • fix(action): mark container fs as safe for git (#552)

See actions/runner-images#6775 (comment) and actions/runner-images#6775 (comment) (2a55f68)

v7.33.0 (2023-01-15)

Feature

  • feat: add signing options to action (31ad5eb)

  • feat(repository): add support for TWINE_CERT (#522)

Fixes #521 (d56e85d)

  • feat: Update action with configuration options (#518)

Co-authored-by: Kevin Watson <Kevmo92@users.noreply.github.com> (4664afe)

Fix

  • fix: changelog release commit search logic (#530)

  • Fixes changelog release commit search logic

Running semantic-release changelog currently fails to identify "the last commit in [a] release" because the compared commit messages have superfluous whitespace. Likely related to the issue causing: python-semantic-release#490

  • Removes a couple of extra strip()s. (efb3410)

  • fix: bump Dockerfile to use Python 3.10 image (#536)

Fixes #533

Co-authored-by: Bernard Cooke <bernard.cooke@iotics.com> (8f2185d)

  • fix: fix mypy errors for publish (b40dd48)

  • fix: formatting in docs (2e8227a)

  • fix: update documentaton (5cbdad2)

  • fix(action): fix environment variable names (3c66218)

v7.32.2 (2022-10-22)

Documentation

  • docs: fix code blocks (#506)

Previously: https://i.imgur.com/XWFhG7a.png (24b7673)

Fix

  • fix: fix changelog generation in tag-mode (#171) (482a62e)

v7.32.1 (2022-10-07)

Documentation

  • docs: correct spelling mistakes (#504) (3717e0d)

Fix

  • fix: corrections for deprecation warnings (#505) (d47afb6)

v7.32.0 (2022-09-25)

Documentation

  • docs: correct documented default behaviour for commit_version_number (#497) (ffae2dc)

Feature

  • feat: add setting for enforcing textual changelog sections (#502)

Resolves #498

Add the use_textual_changelog_sections setting flag for enforcing that changelog section headings will always be regular ASCII when using the Emoji parser. (988437d)

v7.31.4 (2022-08-23)

Fix

  • fix: account for trailing newlines in commit messages (#495)

Fixes #490 (111b151)

v7.31.3 (2022-08-22)

Fix

  • fix: use commit_subject when searching for release commits (#488)

Co-authored-by: Dzmitry Ryzhykau <d.ryzhykau@onesoil.ai> (3849ed9)

v7.31.2 (2022-07-29)

Documentation

  • docs: Add example for pyproject.toml (2a4b8af)

Fix

  • fix: Add better handling of missing changelog placeholder

There is still one case where we don't add it, but in those corner cases it would be better to do it manually than to make it mangled.

Fixes #454 (e7a0e81)

  • fix: Add repo=None when not in git repo

Fixes #422 (40be804)

v7.31.1 (2022-07-29)

Fix

  • fix: Update git email in action

Fixes #473 (0ece6f2)

v7.31.0 (2022-07-29)

Feature

  • feat: override repository_url w REPOSITORY_URL env var (#439) (cb7578c)

  • feat: add prerelease-patch and no-prerelease-patch flags for whether to auto-bump prereleases (b4e5b62)

Fix

  • fix: πŸ› fix get_current_release_version for tag_only version_source (cad09be)

v7.30.2 (2022-07-26)

Fix

  • fix: declare additional_options as action inputs (#481) (cb5d8c7)

v7.30.1 (2022-07-25)

Fix

  • fix: don't use commit_subject for tag pattern matching (#480) (ac3f11e)

v7.30.0 (2022-07-25)

Feature

  • feat: add additional_options input for GitHub Action (#477) (aea60e3)

Fix

  • fix: allow empty additional options (#479) (c9b2514)

v7.29.7 (2022-07-24)

Fix

  • fix: ignore dependency version bumps when parsing version from commit logs (#476) (51bcb78)

v7.29.6 (2022-07-15)

Fix

  • fix: allow changing prerelease tag using CLI flags (#466)

Delay construction of version and release patterns until runtime. This will allow to use non-default prerelease tag.

Co-authored-by: Dzmitry Ryzhykau <d.ryzhykau@onesoil.ai> (395bf4f)

v7.29.5 (2022-07-14)

Fix

  • fix(publish): get version bump for current release (#467)

Replicate the behavior of "version" command in version calculation.

Co-authored-by: Dzmitry Ryzhykau <d.ryzhykau@onesoil.ai> (dd26888)

  • fix: add packaging module requirement (#469) (b99c9fa)

v7.29.4 (2022-06-29)

Fix

  • fix: add text for empty ValueError (#461) (733254a)

v7.29.3 (2022-06-26)

Fix

  • fix: Ensure that assets can be uploaded successfully on custom GitHub servers (#458)

Signed-off-by: Chris Butler <cbutler@australiacloud.com.au> (32b516d)

v7.29.2 (2022-06-20)

Fix

  • fix: ensure should_bump checks against release version if not prerelease (#457)

Co-authored-by: Sebastian Seith <sebastian@vermill.io> (da0606f)

v7.29.1 (2022-06-01)

Fix

  • fix: Capture correct release version when patch has more than one digit (#448) (426cdc7)

v7.29.0 (2022-05-27)

Feature

  • feat: allow using ssh-key to push version while using token to publish to hvcs (#419)

  • feat(config): add ignore_token_for_push param

Add ignore_token_for_push parameter that allows using the underlying git authentication mechanism for pushing a new version commit and tags while also using an specified token to upload dists

  • test(config): add test for ignore_token_for_push

Test push_new_version with token while ignore_token_for_push is True and False

  • docs: add documentation for ignore_token_for_push

  • fix(test): override GITHUB_ACTOR env

push_new_version is using GITHUB_ACTOR env var but we did not contemplate in our new tests that actually Github actions running the tests will populate that var and change the test outcome

Now we control the value of that env var and test for it being present or not (7b2dffa)

Fix

  • fix: fix and refactor prerelease (#435) (94c9494)

v7.28.1 (2022-04-14)

Fix

  • fix: fix getting current version when version_source=tag_only (#437) (b247936)

v7.28.0 (2022-04-11)

Feature

  • feat: add tag_only option for version_source (#436)

Fixes #354 (cf74339)

v7.27.1 (2022-04-03)

Fix

  • fix(prerelase): pass prerelease option to get_current_version (#432)

The get_current_version function accepts a prerelease argument which was never passed. (aabab0b)

v7.27.0 (2022-03-15)

Feature

  • feat: add git-lfs to docker container (#427) (184e365)

v7.26.0 (2022-03-07)

Feature

  • feat: add prerelease functionality (#413)

  • chore: add initial todos

  • feat: add prerelease tag option

  • feat: add prerelease cli flag

  • feat: omit_pattern for previouse and current version getters

  • feat: print_version with prerelease bump

  • feat: make print_version prerelease ready

  • feat: move prerelease determination to get_new_version

  • test: improve get_last_version test

  • docs: added basic infos about prereleases

  • feat: add prerelease flag to version and publish

  • feat: remove leftover todos

Co-authored-by: Mario JΓ€ckle <m.jaeckle@careerpartner.eu> (7064265)

v7.25.2 (2022-02-24)

Fix

  • fix(gitea): use form-data from asset upload (#421) (e011944)

v7.25.1 (2022-02-23)

Fix

  • fix(gitea): build status and asset upload (#420)

  • fix(gitea): handle list build status response

  • fix(gitea): use form-data for upload_asset (57db81f)

v7.25.0 (2022-02-17)

Documentation

  • docs: document tag_commit

Fixes #410 (b631ca0)

Feature

  • feat(hvcs): add gitea support (#412) (b7e7936)

v7.24.0 (2022-01-24)

Feature

  • feat: include additional changes in release commits

Add new config keys, pre_commit_command and commit_additional_files, to allow custom file changes alongside the release commits. (3e34f95)

v7.23.0 (2021-11-30)

Feature

  • feat: Support Github Enterprise server (b4e01f1)

v7.22.0 (2021-11-21)

Feature

  • feat(parser_angular): allow customization in parser
  • parser_angular_allowed_types controls allowed types
    • defaults stay the same: build, chore, ci, docs, feat, fix, perf, style, refactor, test
  • parser_angular_default_level_bump controls the default level to bump the version by
    • default stays at 0
  • parser_angular_minor_types controls which types trigger a minor version bump
    • default stays at only 'feat'
  • parser_angular_patch_types controls which types trigger a patch version
    • default stays at 'fix' or 'perf' (298eebb)

Fix

  • fix: address PR feedback for parser_angular.py
  • angular_parser_default_level_bump should have plain-english settings
  • rename TYPES variable to LONG_TYPE_NAMES (f7bc458)

v7.21.0 (2021-11-21)

Feature

  • feat: use gitlab-ci or github actions env vars

return owner and project name from Gitlab/Github environment variables if available

Issue #363 (8ca8dd4)

Fix

  • fix: remove invalid repository exception (746b62d)

v7.20.0 (2021-11-21)

Documentation

  • docs: clean typos and add section for repository upload

Add more details and external links (1efa18a)

Feature

  • feat: rewrite Twine adapter for uploading to artifact repositories

Artifact upload generalised to fully support custom repositories like GitLab. Rewritten to use twine python api instead of running the executable. No-op mode now respected by artifact upload. (cfb20af)

  • feat: allow custom environment variable names (#392)

  • GH_TOKEN can now be customized by setting github_token_var

  • GL_TOKEN can now be customized by setting gitlab_token_var

  • PYPI_PASSWORD can now be customized by setting pypi_pass_var

  • PYPI_TOKEN can now be customized by setting pypi_token_var

  • PYPI_USERNAME can now be customized by setting pypi_user_var (372cda3)

Fix

  • fix: mypy errors in vcs_helpers (13ca0fe)

  • fix: skip removing the build folder if it doesn't exist

python-semantic-release#391 (comment) (8e79fdc)

  • fix: don't use linux commands on windows (#393) (5bcccd2)

v7.19.2 (2021-09-04)

Fix

  • fix: Fixed ImproperConfig import error (#377) (b011a95)

v7.19.1 (2021-08-17)

Fix

  • fix: add get_formatted_tag helper instead of hardcoded v-prefix in the git tags (1a354c8)

v7.19.0 (2021-08-16)

Documentation

  • docs(parser): documentation for scipy-parser (45ee34a)

Feature

  • feat: custom git tag format support (#373)

  • feat: custom git tag format support

  • test: add git tag format check

  • docs: add tag_format config option (1d76632)

v7.18.0 (2021-08-09)

Documentation

  • docs: clarify second argument of ParsedCommit (086ddc2)

Feature

  • feat: Add support for non-prefixed tags (#366) (0fee4dd)

v7.17.0 (2021-08-07)

Feature

  • feat(parser): add scipy style parser (#369) (51a3921)

v7.16.4 (2021-08-03)

Fix

  • fix: correct rendering of gitlab issue references

resolves #358 (07429ec)

v7.16.3 (2021-07-29)

Fix

  • fix: print right info if token is not set (#360) (#361)

Co-authored-by: Laercio Barbosa <laercio.barbosa@scania.com> (a275a7a)

v7.16.2 (2021-06-25)

Documentation

  • docs: update trove classifiers to reflect supported versions (#344) (7578004)

  • docs: recommend setting a concurrency group for GitHub Actions (34b0735)

Fix

  • fix: use release-api for gitlab (1ef5cab)

v7.16.1 (2021-06-08)

Fix

  • fix: tomlkit should stay at 0.7.0

See python-semantic-release#339 (comment) (769a5f3)

v7.16.0 (2021-06-08)

Feature

  • feat: add option to omit tagging (#341) (20603e5)

v7.15.6 (2021-06-08)

Fix

  • fix: update click and tomlkit (#339) (947ea3b)

v7.15.5 (2021-05-26)

Fix

  • fix: pin tomlkit to 0.7.0 (2cd0db4)

v7.15.4 (2021-04-29)

Fix

  • fix: Change log level of failed toml loading

Fixes #235 (24bb079)

v7.15.3 (2021-04-03)

Fix

  • fix: Add venv to path in github action (583c5a1)

v7.15.2 (2021-04-03)

Documentation

  • docs: clarify that HVCS should be lowercase

Fixes #330 (da0ab0c)

Fix

  • fix: Use absolute path for venv in github action (d4823b3)

  • fix: Set correct path for venv in action script (aac02b5)

  • fix: Run semantic-release in virtualenv in the github action

Fixes #331 (b508ea9)

v7.15.1 (2021-03-26)

Documentation

  • docs: add common options to documentation

These can be found by running semantic-release --help, but including them in the documentation will be helpful for CI users who don't have the command installed locally.

Related to #327. (20d79a5)

Fix

  • fix: Add support for setting build_command to "false"

Fixes #328 (520cf1e)

  • fix: Upgrade python-gitlab range

Keeping both 1.x and 2.x since only change that is breaking is dropping python 3.6 support. I hope that leaving the lower limit will make it still work with python 3.6.

Fixes #329 (abfacc4)

v7.15.0 (2021-02-18)

Documentation

  • docs: add documentation for releasing on a Jenkins instance (#324) (77ad988)

Feature

  • feat: allow the use of .pypirc for twine uploads (#325) (6bc56b8)

v7.14.0 (2021-02-11)

Documentation

  • docs: correct casing on proper nouns (#320)

  • docs: correcting Semantic Versioning casing

Semantic Versioning is the name of the specification. Therefore it is a proper noun. This patch corrects the incorrect casing for Semantic Versioning.

  • docs: correcting Python casing

This patch corrects the incorrect casing for Python. (d51b999)

Feature

  • feat(checks): add support for Jenkins CI (#322)

Includes a ci check handler to verify jenkins. Unlike other ci systems jenkins doesn't generally prefix things with JENKINS or simply inject JENKINS=true Really the only thing that is immediately identifiable is JENKINS_URL (3e99855)

v7.13.2 (2021-01-29)

Documentation

  • docs: fix version_toml example for Poetry (#318) (39acb68)

Fix

  • fix: fix crash when TOML has no PSR section (#319)

  • test: reproduce issue with TOML without PSR section

  • fix: crash when TOML has no PSR section

  • chore: remove unused imports (5f8ab99)

v7.13.1 (2021-01-26)

Fix

  • fix: use multiline version_pattern match in replace (#315)

Fixes #306 (1a85af4)

v7.13.0 (2021-01-26)

Feature

  • feat: support toml files for version declaration (#307)

This introduce a new version_toml configuration property that behaves like version_pattern and version_variable.

For poetry support, user should now set version_toml = pyproject.toml:tool.poetry.version.

This introduce an ABC class, VersionDeclaration, that can be implemented to add other version declarations with ease.

toml dependency has been replaced by tomlkit, as this is used the library used by poetry to generate the pyproject.toml file, and is able to keep the ordering of data defined in the file.

Existing VersionPattern class has been renamed to PatternVersionDeclaration and now implements VersionDeclaration.

load_version_patterns() function has been renamed to load_version_declarations() and now return a list of VersionDeclaration implementations.

Close #245 Close #275 (9b62a7e)

v7.12.0 (2021-01-25)

Documentation

  • docs(actions): PAT must be passed to checkout step too

Fixes #311 (e2d8e47)

Feature

  • feat(github): retry GitHub API requests on failure (#314)

  • refactor(github): use requests.Session to call raise_for_status

  • fix(github): add retries to github API requests (ac241ed)

v7.11.0 (2021-01-08)

Build

  • build: add main.py magic file

This file allow to run the package from sources properly with python -m semantic_release. (e93f36a)

Feature

  • feat(print-version): add print-version command to output version

This new command can be integrated in the build process before the effective release, ie. to rename some files with the version number.

Users may invoke VERSION=$(semantic-release print-version) to retrieve the version that will be generated during the release before it really occurs. (512e3d9)

Fix

  • fix(actions): fix github actions with new main location (6666672)

  • fix: avoid Unknown bump level 0 message

This issue occurs when some commits are available but are all to level 0. (8ab624c)

  • fix: add dot to --define option help (eb4107d)

v7.10.0 (2021-01-08)

Documentation

  • docs: fix incorrect reference syntax (42027f0)

  • docs: rewrite getting started page (97a9046)

Feature

  • feat(build): allow falsy values for build_command to disable build step (c07a440)

v7.9.0 (2020-12-21)

Feature

  • feat(hvcs): add hvcs_domain config option

While Gitlab already has an env var that should provide the vanity URL, this supports a generic 'hvcs_domain' parameter that makes the hostname configurable for both GHE and Gitlab.

This will also use the configured hostname (from either source) in the changelog links

Fixes: #277 (ab3061a)

Fix

  • fix(history): coerce version to string (#298)

The changes in #297 mistakenly omitted coercing the return value to a string. This resulted in errors like: "can only concatenate str (not "VersionInfo") to str"

Add test case asserting it's type str (d4cdc3d)

  • fix(history): require semver >= 2.10

This resolves deprecation warnings, and updates this to a more 3.x compatible syntax (5087e54)

v7.8.2 (2020-12-19)

Feature

  • feat(repository): Add to settings artifact repository
  • Add new config var to set repository (repository_url)
  • Remove 'Pypi' word when it refers generically to an artifact repository system
  • Depreciate 'PYPI_USERNAME' and 'PYPI_PASSWORD' and prefer 'REPOSITORY_USERNAME' and 'REPOSITORY_PASSWORD' env vars
  • Depreciate every config key with 'pypi' and prefer repository
  • Update doc in accordance with those changes (f4ef373)

Fix

  • fix(cli): skip remove_dist where not needed

Skip removing dist files when upload_pypi or upload_release are not set (04817d4)

v7.8.1 (2020-12-18)

Fix

  • fix(logs): fix TypeError when enabling debug logs

Some logger invocation were raising the following error: TypeError: not all arguments converted during string formatting.

This also refactor some other parts to use f-strings as much as possible. (2591a94)

  • fix: filenames with unknown mimetype are now properly uploaded to github release

When mimetype can't be guessed, content-type header is set to None. But it's mandatory for the file upload to work properly. In this case, application/octect-stream is now used as a fallback. (f3ece78)

v7.8.0 (2020-12-18)

Feature

  • feat: add upload_to_pypi_glob_patterns option (42305ed)

Fix

  • fix(netrc): prefer using token defined in GH_TOKEN instead of .netrc file

.netrc file will only be used when available and no GH_TOKEN environment variable is defined.

This also add a test to make sure .netrc is used properly when no GH_TOKEN is defined. (3af32a7)

  • fix(changelog): use "issues" link vs "pull"

While, e.g., https://github.com/owner/repos/pull/123 will work, https://github.com/owner/repos/issues/123 should be safer / more consistent, and should avoid a failure if someone adds an issue link at the end of a PR that is merged via rebase merge or merge commit. (93e48c9)

v7.7.0 (2020-12-12)

Feature

  • feat(changelog): add PR links in markdown (#282)

GitHub release notes automagically link to the PR, but changelog markdown doesn't. Replace a PR number at the end of a message with a markdown link. (0448f6c)

v7.6.0 (2020-12-06)

Documentation

  • docs: add documentation for option major_on_zero (2e8b26e)

Feature

  • feat: add major_on_zero option

To control if bump major or not when current major version is zero. (d324154)

v7.5.0 (2020-12-04)

Feature

  • feat(logs): include scope in changelogs (#281)

When the scope is set, include it in changelogs, e.g. "feat(x): some description" becomes "x: some description". This is similar to how the Node semantic release (and conventional-changelog-generator) generates changelogs. If scope is not given, it's omitted.

Add a new config parameter changelog_scope to disable this behavior when set to 'False' (21c96b6)

v7.4.1 (2020-12-04)

Fix

  • fix: add "changelog_capitalize" to flags (#279)

Fixes #278 (or so I hope). (37716df)

v7.4.0 (2020-11-24)

Documentation

  • docs: fix broken internal references (#270) (da20b9b)

  • docs: update links to Github docs (#268) (c53162e)

Feature

  • feat: add changelog_capitalize configuration

Fixes #260 (7cacca1)

v7.3.0 (2020-09-28)

Documentation

  • docs: fix docstring

Stumbled upon this docstring which first line seems copy/pasted from the method above. (5a5e2cf)

Feature

  • feat: Generate changelog.md file (#266) (2587dfe)

v7.2.5 (2020-09-16)

Fix

  • fix: add required to inputs in action metadata (#264)

According to the documentation, inputs.&lt;input_id&gt;.required is a required field. (e76b255)

v7.2.4 (2020-09-14)

Fix

  • fix: Use range for toml dependency

Fixes #241 (45707e1)

v7.2.3 (2020-09-12)

Documentation

  • docs: link to getting started guide in README (f490e01)

  • docs: create 'getting started' instructions (#256) (5f4d000)

Fix

  • fix: support multiline version_pattern matching by default (82f7849)

v7.2.2 (2020-07-26)

Documentation

  • docs: add quotation marks to the pip commands in CONTRIBUTING.rst (#253) (e20fa43)

Fix

  • fix(changelog): send changelog to stdout

Fixes #250 (87e2bb8)

v7.2.1 (2020-06-29)

Documentation

  • docs: give example of multiple build commands (#248)

I had a little trouble figuring out how to use a non-setup.py build command, so I thought it would be helpful to update the docs with an example of how to do this. (65f1ffc)

Fix

  • fix: commit all files with bumped versions (#249) (b3a1766)

v7.2.0 (2020-06-15)

Feature

  • feat: bump versions in multiple files (#246)
  • Add the version_pattern setting, which allows version numbers to be identified using arbitrary regular expressions.
  • Refactor the config system to allow non-string data types to be specified in pyproject.toml.
  • Multiple files can now be specified by setting version_variable or version_pattern to a list in pyproject.toml.

Fixes #175 (0ba2c47)

v7.1.1 (2020-05-28)

Fix

  • fix(changelog): swap sha and message in table changelog (6741370)

v7.1.0 (2020-05-24)

Feature

  • feat(changelog): add changelog_table component (#242)

Add an alternative changelog component which displays each section as a row in a table.

Fixes #237 (fe6a7e7)

v7.0.0 (2020-05-22)

Breaking

  • feat(changelog): add changelog components (#240)

  • feat(changelog): add changelog components

Add the ability to configure sections of the changelog using a changelog_components option. Component outputs are separated by a blank line and appear in the same order as they were configured.

It is possible to create your own custom components. Each component is a function which returns either some text to be added, or None in which case it will be skipped.

BREAKING CHANGE: The compare_url option has been removed in favor of using changelog_components. This functionality is now available as the semantic_release.changelog.compare_url component.

  • docs: add documentation for changelog_components

  • feat: pass changelog_sections to components

Changelog components may now receive the value of changelog_sections, split and ready to use. (3e17a98)

Documentation

  • docs: add conda-forge badge (e9536bb)

v6.4.1 (2020-05-15)

Fix

  • fix: convert \r\n to \n in commit messages

Fixes #239 (34acbbc)

v6.4.0 (2020-05-15)

Breaking

  • feat(history): create emoji parser (#238)

Add a commit parser which uses emojis from https://gitmoji.carloscuesta.me/ to determine the type of change.

  • fix: add emojis to default changelog_sections

  • fix: include all parsed types in changelog

This allows emojis to appear in the changelog, as well as configuring other types to appear with the Angular parser (I remember someone asking for that feature a while ago). All filtering is now done in the markdown_changelog function.

  • refactor(history): get breaking changes in parser

Move the task of detecting breaking change descriptions into the commit parser function, instead of during changelog generation.

This has allowed the emoji parser to also return the regular descriptions as breaking change descriptions for commits with πŸ’₯.

BREAKING CHANGE: Custom commit parser functions are now required to pass a fifth argument to ParsedCommit, which is a list of breaking change descriptions.

  • docs: add documentation for emoji parser (2e1c50a)

v6.3.1 (2020-05-11)

Fix

  • fix: use getboolean for commit_version_number

Fixes #186 (a60e0b4)

v6.3.0 (2020-05-09)

Documentation

  • docs: rewrite commit-log-parsing.rst (4c70f4f)

  • docs: document compare_link option (e52c355)

Feature

  • feat(history): support linking compare page in changelog

Fixes #218 (79a8e02)

v6.2.0 (2020-05-02)

Documentation

  • docs: add = to verbosity option

Fixes #227 (a0f4c9c)

  • docs: use references where possible

Fixes #221 (f38e5d4)

Feature

  • feat(history): check all paragraphs for breaking changes

Check each paragraph of the commit's description for breaking changes, instead of only a body and footer. This ensures that breaking changes are detected when squashing commits together.

Fixes #200 (fec08f0)

v6.1.0 (2020-04-26)

Documentation

  • docs: add documentation for PYPI_TOKEN (a8263a0)

Feature

  • feat(actions): support PYPI_TOKEN on GitHub Actions

Add support for the new PYPI_TOKEN environment variable to be used on GitHub Actions. (df2c080)

  • feat(pypi): support easier use of API tokens

Allow setting the environment variable PYPI_TOKEN to automatically fill the username as token.

Fixes #213 (bac135c)

v6.0.1 (2020-04-15)

Fix

  • fix(hvcs): convert get_hvcs to use LoggedFunction

This was missed in 213530fb0c914e274b81d1dacf38ea7322b5b91f (3084249)

v6.0.0 (2020-04-15)

Documentation

  • docs: create Read the Docs config file (aa5a1b7)

  • docs: include README.rst in index.rst

These files were very similar so it makes sense to simply include one inside the other. (8673a9d)

  • docs: rewrite README.rst (e049772)

  • docs: move action.rst into main documentation (509ccaf)

  • docs: rewrite troubleshooting page (0285de2)

Unknown

  • doc: updated doc with new ParsedCommit object instead of nested Tuple (ac565dc)

v5.2.0 (2020-04-09)

Documentation

  • docs: automate API docs

Automatically create pages in the API docs section using sphinx-autodoc. This is added as an event handler in conf.py. (7d4fea2)

Feature

  • feat(github): add tag as default release name (2997908)

v5.1.0 (2020-04-04)

Documentation

  • docs: update index.rst (b27c26c)

  • docs: improve formatting of envvars page (b376a56)

  • docs: improve formatting of configuration page (9a8e22e)

Feature

  • feat(history): allow customizing changelog_sections (#207) (d5803d5)

v5.0.3 (2020-03-26)

Fix

  • fix: Bump dependencies and fix Windows issues on Development (#173)

  • Bump dependencies and fix windows issues

  • Correctly pass temp dir to test settings

  • Remove print call on test settings

  • chore: remove py34 and py35 classifiers

  • chore: bump twine, requests and python-gitlab

  • chore: update tox config to be more granular

  • fix: missing mime types on Windows

  • chore: bump circleCI and tox python to 3.8

  • chore: remove py36 from tox envlist

  • chore: isort errors (0a6f8c3)

v5.0.2 (2020-03-22)

Fix

  • fix(history): leave case of other characters unchanged

Previously, use of str.capitalize() would capitalize the first letter as expected, but all subsequent letters became lowercase. Now, the other letters remain unchanged. (96ba94c)

v5.0.1 (2020-03-22)

Fix

  • fix: Make action use current version of semantic-release

This gives two benefits:

  • In this repo it will work as a smoketest
  • In other repos when they specify version int the github workflow they will get the version they specify. (123984d)

v5.0.0 (2020-03-22)

Breaking

  • feat(build): allow config setting for build command (#195)

  • feat(build): allow config setting for build command

BREAKING CHANGE: Previously the build_commands configuration variable set the types of bundles sent to python setup.py. It has been replaced by the configuration variable build_command which takes the full command e.g. python setup.py sdist or poetry build.

Closes #188 (740f4bd)

Documentation

  • docs(pypi): update docstings in pypi.py (6502d44)

Fix

  • fix: Rename default of build_command config (d5db22f)

v4.11.0 (2020-03-22)

Documentation

  • docs: make AUTHORS.rst dynamic (db2e076)

  • docs(readme): fix minor typo (c22f69f)

Feature

  • feat(actions): create GitHub Action (350245d)

v4.10.0 (2020-03-03)

Feature

  • feat: make commit message configurable (#184) (eb0762c)

v4.9.0 (2020-03-02)

Feature

  • feat(pypi): add build_commands config

Add a config option to set the commands passed to setup.py when building distributions. This allows for things like adding custom commands to the build process. (22146ea)

Fix

  • fix(pypi): change bdist_wheels to bdist_wheel

Change the incorrect command bdist_wheels to bdist_wheel. (c4db509)

v4.8.0 (2020-02-28)

Feature

  • feat(git): Add a new config for commit author (aa2c22c)

v4.7.1 (2020-02-28)

Fix

  • fix: repair parsing of remotes in the gitlab ci format

Format is: "https://gitlab-ci-token:MySuperToken@gitlab.example.com/group/project.git&#34;

Problem was due to the regex modification for #179

Fixes #181 (0fddbe2)

v4.7.0 (2020-02-28)

Feature

  • feat: Upload distribution files to GitHub Releases (#177)

  • refactor(github): create upload_asset function

Create a function to call the asset upload API. This will soon be used to upload assets specified by the user.

  • refactor(github): infer Content-Type from file extension

Infer the Content-Type header based on the file extension instead of setting it manually.

  • refactor(pypi): move building of dists to cli.py

Refactor to have the building/removal of distributions in cli.py instead of within the upload_to_pypi function. This makes way for uploading to other locations, such as GitHub Releases, too.

  • feat(github): upload dists to release

Upload Python wheels to the GitHub release. Configured with the option upload_to_release, on by default if using GitHub.

  • docs: document upload_to_release config option

  • test(github): add tests for Github.upload_dists

  • fix(github): fix upload of .whl files

Fix uploading of .whl files due to a missing MIME type (defined custom type as application/x-wheel+zip). Additionally, continue with other uploads even if one fails.

  • refactor(cli): additional output during publish

Add some additional output during the publish command.

  • refactor(github): move api calls to separate methods

Move each type of GitHub API request into its own method to improve readability.

Re-implementation of #172

  • fix: post changelog after PyPI upload

Post the changelog in-between uploading to PyPI and uploading to GitHub Releases. This is so that if the PyPI upload fails, GitHub users will not be notified. GitHub uploads still need to be processed after creating the changelog as the release notes must be published to upload assets to them. (e427658)

Fix

  • fix: support repository owner names containing dots

Fixes #179 (a6c4da4)

  • fix(github): use application/octet-stream for .whl files

application/octet-stream is more generic, but it is better than using a non-official MIME type. (90a7e47)

v4.6.0 (2020-02-19)

Feature

  • feat(history): capitalize changelog messages

Capitalize the first letter of messages in the changelog regardless of whether they are capitalized in the commit itself. (1a8e306)

Fix

  • fix: Only overwrite with patch if bump is None

Fixes #159 (1daa4e2)

  • fix: Add more debug statements in logs (bc931ec)

v4.5.1 (2020-02-16)

Documentation

  • docs: fix broken list in readme

Fix the syntax of a broken bullet-point list in README.rst. (7aa572b)

  • docs: Add note about automatic releases in readme (e606e75)

  • docs: Update readme and getting started docs (07b3208)

Fix

  • fix(github): send token in request header

Use an Authorization header instead of deprecated query parameter authorization.

Fixes python-semantic-release#167 (be9972a)

v4.5.0 (2020-02-08)

Feature

  • feat(history): enable colon defined version

The get_current_version_by_config_file and the replace_version_string methods now check for both variables defined as "variable= version" and "variable: version" This allows for using a yaml file to store the version.

Closes #165 (7837f50)

Fix

  • fix: Remove erroneous submodule (762bfda)

  • fix(cli): --noop flag works when before command

The entry point of the app is changed from main() to entry(). Entry takes any arguments before commands and moves them to after commands, then calls main()

Closes #73 (4fcc781)

v4.4.1 (2020-01-18)

Fix

  • fix: Add quotes around twine arguments

Fixes #163 (46a83a9)

v4.4.0 (2020-01-17)

Feature

  • feat(parser): make BREAKING-CHANGE synonymous with BREAKING CHANGE

According to point 16 in the conventional commit specification, this should be implemented. They especially mention the footer, but I kept the body for backwards compatibility. This should probably be removed one day. The regex is in the helpers to make it easier to re-use, but I didn't updated parser_tag since it looks like a legacy parser. (beedccf)

  • feat(parser): add support for exclamation point for breaking changes

According to the documentation for conventional commits, breaking changes can be described using exclamation points, just before the colon between type/scope and subject. In that case, the breaking change footer is optional, and the subject is used as description of the breaking change. If the footer exists, it is used for the description.

Fixes #156 (a4f8a10)

Fix

  • fix(github): add check for GITHUB_ACTOR for git push (#162) (c41e9bb)

v4.3.4 (2019-12-17)

Fix

  • fix: fallback to whole log if correct tag is not available (#157)

The method getting all commits to consider for the release will now test whether the version in input is a valid reference. If it is not, it will consider the whole log for the repository.

evaluate_version_bump will still consider a message starting with the version number as a breaking condition to stop analyzing.

Fixes #51 (252bffd)

v4.3.3 (2019-11-06)

Fix

  • fix: Set version of click to >=2.0,<8.0. (#155)

  • fix: Upgrade to click 7.0.

Fixes #117

  • fix: Instead of requiring click 7.0, looks like all tests will pass with at least 2.0.

  • Upstream is at ~=7.0, so let's set the range to less than 8.0.

  • The string template has no variables, so remove the call to .format() (f07c7f6)

v4.3.2 (2019-10-05)

Fix

  • fix: update regex to get repository owner and name for project with dots

Remove the dot from the second capture group to allow project names containing dots to be matched. Instead of a greedy '+' operator, use '*?' to allow the second group to give back the '.git' (to avoid including it in the project name)

Fixes #151 (2778e31)

v4.3.1 (2019-09-29)

Fix

  • fix: support repo urls without git terminator (700e9f1)

v4.3.0 (2019-09-06)

Feature

  • feat: allow users to get version from tag and write/commit bump to file

Before this commit, version was bumped in the file, but only committed if version was obtained from version_variable (version_source == commit). Also added a relevant test and a description for this new option.

Fixes #104 (1f9fe1c)

  • feat: make the vcs functionalities work with gitlab

Adds python-gitlab as requirement. Refactored github specific methods while keeping default behavior. Also removed an unused return value for post_release_changelog. Also refactored the secret filtering method. Updated the related tests.

Fixes #121 (82d555d)

  • feat: allow the override of configuration options from cli

config can now be overriden with the "-D" flag. Also adds the related tests and documentation.

Also introduces a fixture in tests/init.py that reloads module using config. It is necessary since all tests run in the same environment. A better way would be to box the execution of tests (using the --forked option of pytest for example) but it does not work in non-unix systems. Also some tests should not break if config is changed, but it is outside of the scope of this issue.

Fixes #119 (f0ac82f)

  • feat: add the possibility to load configuration from pyproject.toml

Adds the toml library to base requirements. Also adds the related tests and documentation. Also adds the description of the version_source configuration option

Relates to #119 (35f8bfe)

Fix

  • fix: update list of commit types to include build, ci and perf

Also added perf to the types that trigger a patch update

Fixes #145 (41ea12f)

  • fix: manage subgroups in git remote url

This is a necessary fix for gitlab integration. For an illustration of the need and use for this fix, test was edited.

Fixes #139 Fixes #140 (4b11875)

v4.2.0 (2019-08-05)

Feature

  • feat: Add support for showing unreleased changelog

Fixes #134 (41ef794)

  • feat: Add support for configuring branch

Fixes #43 (14abb05)

  • feat: Add configuration to customize handling of dists

Relates to #115 (2af6f41)

Fix

  • fix: Remove deletion of build folder

Fixes #115 (b45703d)

  • fix: updated the tag tests (3303eef)

  • fix: kept setting new version for tag source (0e24a56)

  • fix: Add commit hash when generating breaking changes

Fixes #120 (0c74faf)

  • fix: Upgrade click to 7.0 (2c5dd80)

v4.1.2 (2019-08-04)

Documentation

  • docs(circleci): point badge to master branch (9c7302e)

Fix

  • fix: Make sure the history only breaks loop for version commit

Fixes #135 (5dc6cfc)

  • fix: correct isort build fail

build fail: https://circleci.com/gh/relekang/python-semantic-release/379 (0037210)

  • fix(vcs): allow cli to be run from subdirectory (fb7bb14)

Unknown

v4.1.1 (2019-02-15)

Documentation

  • docs: DEBUG usage and related

Debug functionality lack documentation. Thoubleshooting is helped by documenting other environment variables as well. (f08e594)

  • docs: correct usage of changelog (f4f59b0)

  • docs: describing the commands

The commands is lacking from the documentation. (b6fa04d)

  • docs: update url for commit guidelinesThe guidelines can now be found in theDEVELOPERS.md in angular. (90c1b21)

v4.1.0 (2019-01-31)

Documentation

  • docs(readme): add testing instructions (bb352f5)

  • docs: Add installation instructions for development (#106) (9168d0e)

Feature

  • feat(ci_checks): add support for bitbucket (9fc120d)

Fix

  • fix: Maintain version variable formatting on bump (#103)

Small change to the way the version is written to the config file it is read from. This allows the formatting to be the same as before semantic-release changed it.

Prior behavior my_version_var=&#34;1.2.3&#34; => my_version_var = &#39;1.2.4&#39;

New behavior my_version_var=&#34;1.2.3&#34; => my_version_var=&#34;1.2.4&#34;

I am using python-semantic-release with a Julia project and this change will allow for consistent formatting in my Project.toml file where the version is maintained (bf63156)

  • fix: initialize git Repo from current folder

This allows to run the program also from inner repository folders (c7415e6)

  • fix: Use same changelog code for command as post

See #27 for background. (248f622)

v4.0.1 (2019-01-12)

Documentation

  • docs: Remove reference to gitter

Fixes #90 (896e37b)

Fix

  • fix: Use correct syntax to exclude tests in package

This implements #92 without deleting init.py files. (3e41e91)

  • fix: Filter out pypi secrets from exceptions

Fixes #41 (5918371)

  • fix: Clean out dist and build before building

This should fix the problem with uploading old versions.

Fixes #86 (b628e46)

  • fix: Add better error message when pypi credentials are empty

Fixes #96 (c4e5dcb)

  • fix: Unfreeze dependencies

This uses ~= for most dependencies instead of pinning them.

Fixes #100 (847833b)

  • fix(parser_angular): Fix non-match when special chars in scope (8a33123)

v4.0.0 (2018-11-22)

Breaking

  • fix: Remove support for python 2

BREAKING CHANGE: This will only work with python 3 after this commit. (85fe638)

  • feat: Add support for commit_message config variable

This variable can allow you to skip CI pipelines in CI tools like GitLab CI by adding [CI skip] in the body. There are likely many uses for this beyond that particular example...

BREAKING CHANGE: If you rely on the commit message to be the version number only, this will break your code

re #88 #32 (4de5400)

Documentation

  • docs: Add type hints and more complete docstrings

Includes a few style changes suggested by pylint and type safety checks suggested by mypy

re #81 (a6d5e9b)

  • docs: Fix typo in documentation index

The word role -- 'an actor's part in a play, movie, etc.' does not fit in this context. "ready to roll" is a phrase meaning "fully prepared to start functioning or moving" or simply "ready". I believe this is what was meant to be written. (da6844b)

Feature

  • feat(CI checks): Add support for GitLab CI checks

Check GITLAB_CI environment variable and then verify CI_COMMIT_REF_NAME matches the given branch.

Includes tests

Closes #88 re #32 (8df5e2b)

Fix

  • fix: Add credentials check (0694604)

  • fix: Add check of credentials (7d945d4)

  • fix: Add dists to twine call (1cec2df)

  • fix: Re-add skip-existing (366e9c1)

  • fix: Use twine through cli call (ab84beb)

  • fix: Use new interface for twine (c04872d)

  • fix: Remove repository argument in twine (e24543b)

  • fix: Update twine (c4ae7b8)

  • fix: Remove universal from setup config (18b2402)

  • fix: Change requests from fixed version to version range (#93)

  • Change requests version to be more flexible to aid in using this with dev requirements for a release.

  • revert changes to vcs helpers (af3ad59)

Unknown

  • Typo, link broken

Change .. _angular commit guidelins: to .. _angular commit guidelines: (721a6dd)

v3.11.2 (2018-06-10)

Fix

v3.11.1 (2018-06-06)

Documentation

  • docs: Add retry option to cli docs (021da50)

Fix

  • fix: change Gitpython version number

Change the Gitpython version number to fix a bug described in #80. (23c9d4b)

v3.11.0 (2018-04-12)

Documentation

  • docs: Remove old notes about trello board (7f50c52)

  • docs: Update status badges (cfa13b8)

Feature

  • feat: Add support to finding previous version from tags if not using commit messages (#68)

  • feat: Be a bit more forgiving to find previous tags

Now grabs the previous version from tag names if it can't find it in the commit

  • quantifiedcode and flake8 fixes

  • Update cli.py

  • Switch to ImproperConfigurationError (6786487)

  • feat: Add --retry cli option (#78)

  • Add --retry cli option

  • Post changelog correctly

  • Add comments

  • Add --retry to the docs (3e312c0)

Fix

  • fix: Make repo non if it is not a git repository

Fixes #74 (1dc306b)

  • fix: Add pytest cache to gitignore (b8efd5a)

v3.10.3 (2018-01-29)

Fix

  • fix: error when not in git repository (#75)

Fix an error when the program was run in a non-git repository. It would not allow the help options to be run.

issue #74 (251b190)

v3.10.2 (2017-08-03)

Fix

  • fix: update call to upload to work with twine 1.9.1 (#72) (8f47643)

v3.10.1 (2017-07-22)

Fix

  • fix: Update Twine (#69)

The publishing API is under development and older versions of Twine have problems to deal with newer versions of the API. Namely the logic of register/upload has changed (it was simplified). (9f268c3)

Unknown

  • revert: "chore: Remove travis"

This reverts commit 93e5507da6d53ecf63405507390633ef480c52fb. (195ed8d)

v3.10.0 (2017-05-05)

Documentation

  • docs: Fix typo in cli.py docstring (#64) (0d13985)

Feature

  • feat: Add git hash to the changelog (#65)

  • feat(*): add git hash to the changelog

Add git hash to the changelog to ease finding the specific commit. The hash now is also easily viewable in Github's tag. see #63 for more information.

  • chore(test_history): fix test errors

Fix the test errors that would happen after the modification of get_commit_log. (628170e)

Fix

  • fix: Make changelog problems not fail whole publish

Can be fixed with changelog command later. (b5a68cf)

v3.9.0 (2016-07-03)

Feature

  • feat: add option for choosing between versioning by commit or tag

default versioning behaviour is commiting (c0cd1f5)

  • feat: don't use file to track version, only tag to commit for versioning (cd25862)

  • feat: get repo version from historical tags instead of config file

repo version will get from historical tags. init 0.0.0 if fail of find any version tag (a45a9bf)

Fix

  • fix: can't get the proper last tag from commit history

repo.tags returns a list sorted by the name rather than date, fix it by sorting them before iteration (5a0e681)

v3.8.1 (2016-04-17)

Fix

  • fix: Add search_parent_directories option to gitpython (#62) (8bf9ce1)

v3.8.0 (2016-03-21)

Documentation

  • docs: Add info about trello board in readme (5229557)

  • docs: Update info about releases in contributing.md (466f046)

  • docs: Add info about correct commit guidelines (af35413)

  • docs: Fix badges in readme (7f4e549)

Feature

  • feat: Add ci checks for circle ci (151d849)

Fix

  • fix: Refactoring cli.py to improve --help and error messages (c79fc34)

  • fix: Add git fetch to frigg after success (74a6cae)

  • fix: Make tag parser work correctly with breaking changes

The tag parser did not work correctly, this went undiscovered for a while because the tests was not ran by pytest. (9496f6a)

v3.7.2 (2016-03-19)

Fix

  • fix: move code around a bit to make flake8 happy (41463b4)

v3.7.1 (2016-03-15)

Documentation

  • docs(configuration): Fix typo in setup.cfg section (725d87d)

Unknown

v3.7.0 (2016-01-10)

Feature

  • feat: Add ci_checks for Frigg CI (577c374)

v3.6.1 (2016-01-10)

Fix

  • fix: Add requests as dependency (4525a70)

v3.6.0 (2015-12-28)

Documentation

  • docs: Add step by step guide for configuring travis ci (6f23414)

  • docs: Remove duplicate readme

It was created by pandoc earlier when the original readme was written in markdown. (42a9421)

  • docs: Add note about node semantic release (0d2866c)

  • docs: Move automatic-releases to subfolder (ed68e5b)

  • docs: Add documentation for configuring on CI (7806940)

Feature

  • feat: Add checks for semaphore

Fixes #44 (2d7ef15)

v3.5.0 (2015-12-22)

Documentation

  • docs: Convert readme to rst (e8a8d26)

Feature

  • feat: Checkout master before publishing

Related to #39 (dc4077a)

  • feat: Add author in commit

Fixes #40 (020efaa)

Fix

  • fix: Remove " from git push command (031318b)

v3.4.0 (2015-12-22)

Feature

  • feat: Add travis environment checks

These checks will ensure that semantic release only runs against master and not in a pull-request. (f386db7)

v3.3.3 (2015-12-22)

Fix

  • fix: Do git push and git push --tags instead of --follow-tags (8bc70a1)

v3.3.2 (2015-12-21)

Documentation

  • docs: Update docstrings for generate_changelog (987c6a9)

Fix

  • fix: Change build badge (0dc068f)

v3.3.1 (2015-12-21)

Fix

  • fix: Only list commits from the last version tag

Fixes #28 (191369e)

  • fix: Add pandoc to travis settings (17d40a7)

Unknown

  • Upgrade dependency click to ==6.2 (1c5f3cd)

v3.3.0 (2015-12-20)

Feature

  • feat: Add support for environment variables for pypi credentials (3b383b9)

Fix

  • fix: Downgrade twine to version 1.5.0 (66df378)

  • fix: Add missing parameters to twine.upload (4bae22b)

  • fix: Push to master by default (a0bb023)

  • fix: Better filtering of github token in push error (9b31da4)

  • fix: Make sure the github token is not in the output (55356b7)

v3.2.1 (2015-12-20)

Fix

  • fix: Add requirements to manifest (ed25ecb)

  • fix(pypi): Add sdist as default in addition to bdist_wheel

There are a lot of outdated pip installations around which leads to confusions if a package have had an sdist release at some point and then suddenly is only available as wheel packages, because old pip clients will then download the latest sdist package available. (a1a35f4)

v3.2.0 (2015-12-20)

Feature

  • feat(git): Add push to GH_TOKEN@github-url (546b5bf)

  • feat(angular-parser): Remove scope requirement (90c9d8d)

Fix

  • fix(deps): Use one file for requirements (4868543)

Unknown

  • Upgrade dependency twine to ==1.6.3 (f96e9b2)

  • Upgrade dependency semver to ==2.2.1 (63b4b99)

  • Upgrade dependency invoke to ==0.11.1 (b9fe5eb)

  • Upgrade dependency click to ==5.1 (662bc2d)

  • Upgrade dependency twine to ==1.6.3 (571dd43)

  • Upgrade dependency semver to ==2.2.1 (e656bea)

  • Upgrade dependency invoke to ==0.11.1 (31a2051)

  • Upgrade dependency click to ==5.1 (d0b6c7d)

  • Upgrade dependency responses to ==0.5.0 (fcf9e1a)

  • Add links to the node project (3567952)

v3.1.0 (2015-08-31)

Feature

  • feat(pypi): Add option to disable pypi upload (f5cd079)

v3.0.0 (2015-08-25)

Feature

  • feat(parser): Add tag parser

This parser is based on the same commit style as 1.x.x of python-semantic-release. However, it requires "BREAKING CHANGE: <explanation> for a breaking change (a7f392f)

Fix

  • fix(errors): Add exposing of errors in package (3662d76)

  • fix(version): Parse file instead for version

This makes it possible to use the version command without a setup.py file. (005dba0)

v2.1.4 (2015-08-24)

Fix

  • fix(github): Fix property calls

Properties can only be used from instances. (7ecdeb2)

v2.1.3 (2015-08-22)

Documentation

  • docs(readme): Update readme with information about the changelog command (56a745e)

  • docs(parsers): Add documentation about commit parsers (9b55422)

  • docs(api): Update apidocs (6185380)

Fix

  • fix(hvcs): Make Github.token an property (37d5e31)

v2.1.2 (2015-08-20)

Fix

  • fix(cli): Fix call to generate_changelog in publish (5f8bce4)

v2.1.1 (2015-08-20)

Fix

  • fix(history): Fix issue in get_previous_version (f961786)

v2.1.0 (2015-08-20)

Feature

  • feat(cli): Add the possibility to repost the changelog (4d028e2)

Fix

  • fix(cli): Fix check of token in changelog command (cc6e6ab)

  • fix(github): Fix the github releases integration (f0c3c1d)

  • fix(history): Fix changelog generation

This enables regeneration of a given versions changelog. (f010272)

v2.0.0 (2015-08-19)

Breaking

  • feat(history): Set angular parser as the default

BREAKING CHANGE: This changes the default parser. Thus, the default behaviour of the commit log evaluator will change. From now on it will use the angular commit message spec to determine the new version. (c2cf537)

Feature

  • feat(publish): Add publishing of changelog to github (74324ba)

  • feat(github): Add github release changelog helper (da18795)

  • feat(history): Add markdown changelog formatter (d77b58d)

  • feat(cli): Add command for printing the changelog

Usage: semantic_release changelog (336b8bc)

  • feat(history): Add generate_changelog function

It generates a dict with changelog information to each of the given section types. (347f21a)

  • feat(settings): Add loading of current parser (7bd0916)

  • feat(history): Add angular parser

This adds a parser that follows the angular specification. The parser is not hooked into the history evaluation yet. However, it will become the default parser of commit messages when the evaluator starts using exchangeable parsers.

Related to #17 (91e4f0f)

Fix

  • fix(cli): Change output indentation on changelog (2ca41d3)

  • fix(history): Support unexpected types in changelog generator (13deacf)

  • fix(history): Fix regex in angular parser

This fixes a problem where multiline commit messages where not correctly parsed. (974ccda)

  • fix(history): Fix level id's in angular parser (2918d75)

Unknown

v1.0.0 (2015-08-04)

Unknown

  • πŸ’₯ Restructure helpers into history and pypi (00f64e6)

  • Rename git_helpers to vcs_helpers (77d701b)

  • Make authors file a list (31b0f3a)

  • Fix #18, add docs for automatic publishing (58076e6)

  • Set alabaster as sphinx theme (1f698fe)

  • Add @jezdez to AUTHORS.rst (985df2d)

  • Add pytest-xdist as requirements (35961d7)

  • Fix current head hash test (ed9a879)

v0.9.1 (2015-08-04)

Unknown

  • πŸ› Fix get_current_head_hash, ensure it only returns the hash (7c28832)

v0.9.0 (2015-08-03)

Unknown

  • Add Python 2.7 support. Fix #10. (c05e13f)

  • Fixed cli tests to use correct params for call assertion. (456b26b)

  • Fixed name of assertion function. (9b16098)

v0.8.0 (2015-08-03)

Unknown

  • Fix version test, add missing mock (71842d4)

  • Set check_build_status in semantic-release config (00f1a4e)

  • πŸ› Fix test_defaults in settings test (b269d27)

  • Add release schedule note (8bc8fba)

  • Add output when running check_build_status (8bdda5a)

  • Add default value in check_build_status docs (eb0c46d)

  • ✨ Fix #5, Add check_build_status option (310bb93)

  • ✨ Add get_current_head_hash in git helpers (d864282)

  • ✨ Add git helper to get owner and name of repo (f940b43)

v0.7.0 (2015-08-02)

Unknown

  • ✨ Add patch_without_tag option, fixes #6 (3734a88)

  • Move defaults to cfg file (cb1257a)

  • Add contributing.rst (a27e282)

  • Fix docstring in setup_hook() (1e47f1c)

  • Fix #1, Add basic setup of sphinx based docs (41fba78)

  • Add docstrings to all functions (6555d5a)

v0.6.0 (2015-08-02)

Unknown

  • ✨ Fix #13, Add twine for uploads to pypi (eec2561)

  • Add tests for the setup.py hook (ecd9e9a)

  • Add test for git helpers (8354cfd)

  • Fix typo (9585217)

  • Add link to blogpost in readme (1966e52)

v0.5.4 (2015-07-29)

Unknown

  • Add tests for upload_to_pypi (778923f)

  • πŸ› Add python2 not supported warning

Related: #9, #10 (e84c4d8)

  • Add note about python 3 only

related to #9 (a71b536)

v0.5.3 (2015-07-28)

Unknown

  • Add wheel as a dependency (971e479)

v0.5.2 (2015-07-28)

Unknown

  • πŸ› Fix python wheel tag (f9ac163)

v0.5.1 (2015-07-28)

Unknown

  • πŸ› Fix push commands (8374ef6)

v0.5.0 (2015-07-28)

Unknown

  • ✨ Add setup.py hook for the cli interface (c363bc5)

v0.4.0 (2015-07-28)

Unknown

  • ✨ Add publish command (d8116c9)

v0.3.2 (2015-07-28)

v0.3.1 (2015-07-28)

Unknown

  • πŸ› Fix wheel settings (1e860e8)

v0.3.0 (2015-07-27)

Unknown

  • Add info about tagging in readme (914c78f)

  • ✨ Add support for tagging releases (5f4736f)

  • πŸ› Fix issue with committing the same version # (441798a)

  • Remove patch as default for untagged history (e44e2a1)

  • Restructure and add tests (4546e1e)

v0.2.0 (2015-07-27)

Unknown

  • Remove apt dependencies from frigg settings (d942a32)

  • Fix get_commit_log (9af798a)

  • Remove pygit2 and add gitpython (8165a2e)

  • Add test to check which parts of the git log is considered (bb384b1)

  • ✨ Add noop mode

Fixes #4 (44c2039)

  • Add docstrings in cli (315f6d2)

  • Add installation of python3-cffi to frigg settings (aa38ca8)

  • Add installation of libgit2-dev in frigg settings (ff1d72b)

  • Remove the this is not usable yet warning from readme (b14b468)

  • Update usage docs in readme (1f753e6)

  • Remove note about ⬆️ in readme (1554051)

  • Update config docs in readme (06a261f)

v0.1.1 (2015-07-27)

Unknown

v0.1.0 (2015-07-27)

Unknown

  • Add commiting of new version (6865d4b)

  • Add detection of change level (06c5ac4)

  • Fix coverage settings (4b80fab)

  • ✨ Implement setting of new version (a2ad75b)

  • ✨ Add loading of config (51c5e93)

  • Fix readme badges (a3cc59b)

  • Update readme (2b64782)

  • Fix isort (11feb93)

  • ✨ Add better force options (c6b4fe9)

  • Remove print usage (5ca8957)

  • ✨ Implement get_new_version with semver (4bb1f10)

  • ✨ Implement get_current_version (49de531)

  • ✨ Add basic cli interface (ff03d6e)

  • ✨ Add project structure (57f4c2b)

  • Add a plan to the readme (6f87d66)

  • Initial commit (94abb4e)