All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
0.4.25 - 2025-01-18
- deps: update rust crate config to 0.15.6(pr #451)
- deps: update rust crate log to 0.4.25(pr #452)
- deps: update rust crate named-colour to 0.3.12(pr #453)
- deps: update rust crate thiserror to 2.0.11(pr #454)
0.4.24 - 2025-01-11
- deps: update rust crate clap to 4.5.26(pr #449)
- deps: update rust crate named-colour to 0.3.11(pr #450)
0.4.23 - 2025-01-04
- deps: update rust crate serde to 1.0.217(pr #445)
- deps: update rust crate tokio to 1.42.0(pr #446)
- deps: update dependency toolkit to v1.23.0(pr #447)
- deps: update rust crate rstest to 0.24.0(pr #448)
0.4.22 - 2024-12-28
- deps: update rust crate config to 0.15.4(pr #441)
- deps: update rust crate env_logger to 0.11.6(pr #442)
- deps: update rust crate named-colour to 0.3.10(pr #443)
- deps: update rust crate thiserror to 2.0.9(pr #444)
0.4.21 - 2024-12-21
- chore-update CircleCI toolkit orb to version 1.21.0(pr #440)
- deps: update rust crate clap-verbosity-flag to 3.0.2(pr #436)
- deps: update rust crate thiserror to 2.0.8(pr #437)
- deps: update rust crate config to 0.15.3(pr #439)
- deps: update dependency toolkit to v1.20.2(pr #438)
0.4.20 - 2024-12-14
- deps: update rust crate chrono to 0.4.39(pr #432)
- deps: update rust crate named-colour to 0.3.8(pr #433)
- deps: update rust crate serde to 1.0.216(pr #434)
- deps: update rust crate thiserror to 2.0.6(pr #435)
0.4.19 - 2024-12-07
- deps: update rust crate clap to 4.5.23(pr #428)
- deps: update rust crate thiserror to 2.0.4(pr #429)
- deps: update rust crate tracing-subscriber to 0.3.19(pr #430)
- deps: update rust crate cargo_toml to 0.21.0(pr #431)
0.4.18 - 2024-11-30
- deps: update rust crate clap-verbosity-flag to 3.0.1(pr #426)
- deps: update rust crate tracing to 0.1.41(pr #427)
- Dependencies: bump rustls from 0.23.16 to 0.23.18 in the cargo group across 1 directory(pr #425)
0.4.17 - 2024-11-23
- deps: update rust crate clap-verbosity-flag to 2.2.3(pr #422)
- deps: update rust crate named-colour to 0.3.6(pr #423)
- deps: update rust crate clap-verbosity-flag to v3(pr #424)
0.4.16 - 2024-11-16
- deps: update rust crate thiserror to 2.0.2(pr #418)
- deps: update rust crate serde to 1.0.215(pr #420)
- deps: update rust crate thiserror to 2.0.3(pr #419)
- deps: update rust crate clap to 4.5.21(pr #421)
0.4.15 - 2024-11-09
- deps: update rust crate named-colour to 0.3.5(pr #408)
- deps: update rust crate thiserror to 1.0.66(pr #409)
- deps: update rust crate thiserror to 1.0.67(pr #410)
- deps: update rust crate url to 2.5.3(pr #411)
- deps: update rust crate thiserror to 1.0.68(pr #412)
- deps: update rust crate thiserror to v2(pr #413)
- deps: update rust crate tokio to 1.41.1(pr #415)
- deps: update dependency toolkit to v1.18.0(pr #414)
- deps: update dependency toolkit to v1.19.0(pr #416)
- deps: update rust crate thiserror to 2.0.1(pr #417)
0.4.14 - 2024-11-02
- deps: update rust crate serde to 1.0.214(pr #406)
- deps: update dependency toolkit to v1.15.0(pr #407)
0.4.13 - 2024-10-26
- add workspace flag to process packages in the workspace(pr [#395])
- implement pagination for listing tags in GitOps(pr #401)
- add option to release specific workspace package(pr #402)
- refactor(cli)-make semver optional and handle missing value in release process(pr #398)
- refactor(circleci)-simplify config by removing unused commands and jobs(pr #404)
- deps: update rust crate serde to 1.0.211(pr #393)
- deps: update rust crate tokio to 1.41.0(pr #394)
- deps: update rust crate serde to 1.0.213(pr #396)
- deps: update rust crate thiserror to 1.0.65(pr #397)
- cli: correct tag existence check and release creation logic(pr #399)
- deps: update rust crate config to 0.14.1(pr #400)
- deps: update rust crate regex to 1.11.1(pr #403)
- cli: correct typo in release command description(pr #405)
0.4.12 - 2024-10-19
- deps: update rust crate uuid to 1.11.0(pr #392)
0.4.11 - 2024-10-12
- deps: update rust crate named-colour to 0.3.4(pr #390)
- deps: update rust crate clap to 4.5.20(pr #391)
0.4.10 - 2024-10-05
- deps: update rust crate named-colour to 0.3.3(pr #386)
- deps: update rust crate rstest to 0.23.0(pr #387)
- deps: update rust crate regex to 1.11.0(pr #388)
- deps: update rust crate clap to 4.5.19(pr #389)
0.4.9 - 2024-09-28
- add host rules for CircleCI token in renovate.json(pr #378)
- add sourceUrl for circleci-toolkit orb(pr #379)
- add authType configuration for CircleCI host in renovate.json(pr #382)
- enable CircleCI toolkit package in renovate configuration(pr #377)
- update token reference in renovate.json for CircleCI(pr #380)
- update sourceUrl for circleci-toolkit in renovate.json(pr #381)
- remove hostRules configuration from renovate.json(pr #384)
- deps: update dependency toolkit to v1.11.0(pr #383)
- deps: update rust crate clap-verbosity-flag to 2.2.2(pr #385)
0.4.8 - 2024-09-24
- add trace logs for push_commit function(pr #373)
- add prefix option for version tags in CLI commands(pr #375)
- ci(circleci)-update toolkit orb to version 1.9.2 and add security context to workflows(pr #374)
- refactor!(cli): rename PullRequest to Pr for brevity(pr #376)
- deps: update rust crate thiserror to 1.0.64(pr #372)
- deps: update rust crate clap to 4.5.18(pr #371)
0.4.7 - 2024-09-21
- deps: update rust crate named-colour to 0.3.2(pr #369)
0.4.6 - 2024-09-14
- add package grouping and regex manager for rust-toolchain(pr #357)
- chore-remove semanticCommitType from renovate.json(pr #353)
- chore-remove semanticCommits setting from renovate.json(pr #354)
- chore-remove versioning configuration from renovate.json(pr #355)
- chore-remove rangeStrategy from renovate configuration(pr #356)
- chore-update rangeStrategy to update-lockfile in renovate.json(pr #358)
- ci-update CircleCI config to use toolkit 1.5.0 and add label_pr job(pr #363)
- chore(circleci)-update toolkit orb to version 1.6.1(pr #367)
- change rangeStrategy in renovate.json from update-lockfile to replace(pr #359)
- update rangeStrategy in renovate.json from replace to bump(pr #360)
- deps: update rust crate clap to 4.5.17(pr #361)
- deps: update rust crate named-colour to 0.3.1(pr #362)
- deps: update rust crate serde to 1.0.210(pr #364)
- deps: update rust crate tokio to 1.40.0(pr #365)
- cli: pass version to push_committed function in run_release(pr #366)
- cli: pass version to commit_changed_files function in run_release(pr #368)
0.4.5 - 2024-09-07
- update renovate.json with new configuration options(pr #350)
- refactor(client)-simplify branch_or_main method using map_or(pr #347)
- chore-rename renovate.json to do-not-renovate.json(pr #348)
- chore-Configure Renovate(pr #349)
- refactor-remove extends key from renovate.json(pr #352)
- update rangeStrategy to auto in renovate.json(pr #351)
0.4.4 - 2024-09-05
- deps: update rust crate named-colour to 0.3.0(pr #346)
0.4.3 - 2024-09-05
- deps: update rust crate named-colour to 0.2.0(pr #344)
- Dependencies: bump quinn-proto from 0.11.6 to 0.11.8 in the cargo group across 1 directory(pr #345)
0.4.2 - 2024-08-30
- use commit and push logic for changelog update(pr #301)
- add Rebase command to CLI(pr #304)
- add graphql method to get open pull requests(pr #306)
- add PrItem struct and return Vec instead of Vec(pr #307)
- add early return if no open pull requests are found(pr #308)
- run rebase only when check run on main(pr #311)
- add label support for pull requests(pr #314)
- integrate tracing library for enhanced logging(pr #318)
- add tracing-subscriber for enhanced logging(pr #319)
- add repository ID retrieval and improve label handling(pr #320)
- add create_label function and update label_pr to use it(pr #323)
- add new GraphQL operations for labels, PRs, and repository(pr #324)
- add filtering by login in rebase_next_pr(pr #335)
- add login option to rebase command(pr #337)
- add label to pull request during rebase(pr #338)
- add label option for rebase command(pr #339)
- add description option for rebase label(pr #340)
- add colour option for labels in rebase command(pr #342)
- chore-remove commented out debug logs and unused code(pr #302)
- remove-remove customised commit and push for changelogs(pr #303)
- ci-integrate rebase command into change update job(pr #305)
- ci-add check for pull request before running cl update(pr #312)
- ci-modify conditional logic for result variable and API call(pr #313)
- refactor(label)-update GetLabelID structure and related types(pr #316)
- fix(: skip deserializing owner and name fields in Repository struct(pr #322)
- refactor(label_pr)-remove debug trace statement from GraphQLLabelPR implementation(pr #334)
- refactor-rename 'rebase' command to 'label' in CI configuration and CLI(pr #343)
- add condition to execute pcu rebase only if CIRCLE_PULL_REQUEST is set(pr #309)
- rename GetPullRequestTitle to GetLabelID and remove redundant log trace(pr #315)
- comment out serde rename attribute for label field(pr #317)
- add owner and name fields to repository query(pr #321)
- label_pr: simplify GraphQL mutation parameters for labeling PRs(pr #325)
- remove unused fields 'name' and 'color' from Label struct in label_pr.rs(pr #326)
- graphql: correct trace log message from vars to mutation in label_pr.rs(pr #327)
- label_pr: replace id with name in Label struct and GraphQL query(pr #328)
- graphql: correct label_id type in mutation from String to ID(pr #329)
- correct typo in GraphQL mutation query in label_pr.rs(pr #330)
- correct typos in GraphQL mutation for adding labels to PR(pr #331)
- graphql: correct typo in 'labelable' struct field name in label_pr.rs(pr #332)
- graphql: rename GetPullRequestTitle struct to Data and enhance Data struct in label_pr.rs(pr #333)
- git_ops: add early exit for no open PRs scenario following filter to login(pr #336)
- update test label in CircleCI config and add description parameter to GraphQL mutation(pr #341)
0.4.1 - 2024-08-24
- add push_commit method and refactor branch method to branch_or_main(pr #286)
- add commit and reduce to push to push only(pr #288)
- add semver option to Push struct and tag_opt method(pr #289)
- fallback to graphql client for fetching pull request title(pr #291)
- better organisation of code(pr #294)
- add support for gql_client with headers in get_github_apis(pr #295)
- use GraphQL for pull request title retrieval(pr #299)
- chore-add logging for pull request response(pr #290)
- refactor-remove unused github_graphql variable and related code in pull_request.rs(pr #300)
- integrate get_authenticated_remote into push_commit method(pr #287)
- add headers and refine error handling(pr #293)
- add owner and name fields to repository query(pr #296)
- add skip_deserializing attribute to owner and name fields in Repository struct(pr #297)
- remove unnecessary owner and name fields from get_pull_request_title query(pr #298)
0.4.0 - 2024-08-17
- add commit_staged function to GitOps trait(pr #285)
0.3.0 - 2024-08-17
- BREAKING: add push command to CLI to push any changes to the remote repository(pr #282)
- list the unstaged files(pr #283)
- add stage_files function to GitOps trait and implement it in Client(pr #284)
- refactor-restructure project directories and update paths in Cargo.toml(pr #281)
0.2.0 - 2024-08-15
- replace octocrab with octocrate in client and pull_request modules(pr #264)
- BREAKING: add GitHub App authentication support(pr #272)
- add pcu-app to context in workflows configuration(pr #273)
- add line limit parameter to print_changelog function(pr #275)
- add config for line limit(pr #277)
- use ansi_term for styled console output(pr #279)
- refactor-replace octocrab with octocrate in various modules(pr #265)
- ci-upgrade jerus-org/circleci-toolkit orb version from 0.25.0 to 1.0.0(pr #268)
- refactor-remove settings field from Client struct, add git_api, default_branch, commit_message fields(pr #271)
- ci-increase pcu_verbosity level from -vvv to -vvvv(pr #276)
- refactor-change print_changelog function to return string instead of printing directly(pr #280)
- deps: update rust crate clap to 4.5.15(pr #266)
- deps: update rust crate clap-verbosity-flag to 2.2.1(pr #267)
- deps: update rust crate env_logger to 0.11.5(pr #269)
- deps: update rust crate regex to 1.10.6(pr #270)
- remove redundant GitHubAPI instantiation in new_pull_request_opt function(pr #274)
- limit lines from file in pr_title(pr #278)
0.1.26 - 2024-08-10
- chore-track get committish(pr #263)
- deps: update rust crate rstest to 0.22.0(pr #262)
0.1.25 - 2024-08-03
- extract git operations to a separate module(pr #243)
- add new module ops(pr #253)
- add new module and ReleaseUnreleased trait and implementation(pr #254)
- add ChangelogParseOptions to Client struct and default value for version_prefix(pr #255)
- chore-add logging for tag retrieval in get_commitish_for_tag function(pr #233)
- refactor-simplify version tag reference formatting and logging(pr #238)
- chore-add trace log for .git/refs directory content(pr #239)
- chore-list the tags in the git repo(pr #240)
- chore-more precise look at ref and remove from check(pr #244)
- chore-restore tag push(pr #246)
- chore-add trace logs for debugging in list_tags function(pr #247)
- chore-check if file is empty or error in read(pr #248)
- chore-handle file read errors gracefully in list_tags function(pr #249)
- chore-correct filename logging in list_tags function(pr #250)
- chore-replace dynamic filename generation with static filename in list_tags function(pr #251)
- refactor-run_release function in main.rs and simplify make_release function(pr #256)
- refactor-remove unused import and code, refactor tag_ref assignment and logging(pr #258)
- handle case were we are pushing from the main branch(pr #231)
- default branch name to 'main' if branch is not specified(pr #232)
- push the version tag to the repo(pr #234)
- add optional tag parameter to commit_changelog and commit_changelog_gpg functions(pr #235)
- change commit_changelog_gpg method to mutable(pr #236)
- modify version_tag reference format in git_repo.find_reference method(pr #237)
- prepend 'v' to version_tag before tagging commit(pr #241)
- replace version parameter with tag in get_commitish_for_tag method(pr #245)
- correct format of version_tag in tag_ref string(pr #252)
- pass version to commit_changelog_gpg and commit_changelog methods(pr #257)
- pass version to push_changelog function instead of None(pr #259)
- replace 'svs_root' and 'scs_root' with 'dev_platform' in client/mod.rs and main.rs(pr #260)
- change head reference from 'main' to 'HEAD' in ChangelogParseOptions(pr #261)
- Dependencies: update rust crate octocrab to 0.39.0(pr #242)
0.1.24 - 2024-07-25
- ci-adopt revised toolkit(pr #230)
0.1.23 - 2024-07-25
- refactor-extract repeated code into commands set_senmver, make_cargo_release, make_github_release(pr #229)
0.1.22 - 2024-07-25
- remove cat release_notes.md command(pr #228)
0.1.21 - 2024-07-25
- ci-release production conditional on SEMVER value existing(pr #227)
0.1.20 - 2024-07-25
- add support for GITHUB_TOKEN environment variable(pr #226)
0.1.19 - 2024-07-25
- add release notes trait to generate release notes from changelog(pr #225)
0.1.18 - 2024-07-24
- format version string with 'v' prefix in generate_release_notes method(pr #224)
0.1.17 - 2024-07-24
- use local octocrab instance add bot-check context to make_release workflow(pr #223)
0.1.16 - 2024-07-24
- chore-generate release notes as changelog change may not have run.(pr #222)
0.1.15 - 2024-07-24
- add owner and repo to the client structure so that is available to all commands(pr #221)
0.1.14 - 2024-07-24
- chore-add logging for octocrab creation(pr #220)
0.1.13 - 2024-07-24
- chore-increase logging and replace octocrab initialisation(pr #219)
0.1.12 - 2024-07-24
- add condition to update changelog in run_release function and refactor cli to module(pr #215)
- add get_commitish_for_tag and refactor make_release function(pr #217)
- add change release for pcu release(pr #218)
- Dependencies: update rust crate tokio to 1.39.0(pr #216)
0.1.11 - 2024-07-22
- add release function to move changelog unreleased section to new version(pr #201)
- write release notes(pr #202)
- add branch check to prevent actions on main or master branches(pr #210)
- add make_release method to create a new release on GitHub(pr #213)
- add make_release job to CircleCI configuration to use pcu(pr #214)
- ci-upgrade jerus-org/circleci-toolkit orb from 0.20.0 to 0.23.0(pr #200)
- refactor-into PullRequest and Release commands and structure app accordingly(pr #206)
- ci-change order of pcu command parameters to correctly apply --early-exit flag(pr #207)
- refactor-extract pull request handling from client to separate struct(pr #208)
- ci-add branch specification to cargo install command in CircleCI config(pr #209)
- chore:tidy up logging(pr #211)
- chore-move branch check for main earlier in logic(pr #212)
- Dependencies: update rust crate clap to 4.5.9(pr #203)
- Dependencies: update rust crate thiserror to 1.0.63(pr #204)
- Dependencies: update rust crate tokio to 1.38.1(pr #205)
0.1.10 - 2024-07-13
- adopt update changelog from toolkit(pr #191)
- ci-adopt updated toolkit and set install_from_github flag(pr #182)
- chore-update renovate configuration with new rules and settings(pr #184)
- ci-update toolkit version and adopt choose_pipeline for bot commit check(pr #187)
- ci-adopt end_success from toolkit(pr #188)
- chore-restore crates.io version of keep-a-changelog and update toolkit version(pr #195)
- chore-trace config settings(pr #198)
- chore-add trace log for pcu_pull_request variable(pr #199)
- parameterise pipeline flags(pr #183)
- move settings initialization after logging initialization(pr #197)
- Dependencies: update rust crate log to 0.4.22(pr #186)
- Dependencies: update rust crate clap to 4.5.8(pr #185)
- Dependencies: update rust crate tokio to 1.38.0(pr #190)
- Dependencies: update rust crate regex to 1.10.5(pr #189)
- Dependencies: update rust crate url to 2.5.2(pr #192)
- Dependencies: update rust crate uuid to 1.9.1(pr #193)
- Dependencies: update rust crate uuid to 1.10.0(pr #194)
- Dependencies: update rust crate keep-a-changelog to 0.1.4(pr #196)
0.1.9 - 2024-07-06
- add categories field with development-tools::build-utils and command-line-utilities values(pr #165)
- add reference link for PR in title(pr #166)
- add support for generating repository URL from PR URL(pr #167)
- add support for parsing changelog with repository URL in ChangelogParseOptions(pr #168)
- print message when changelog updated(pr #176)
- add early_exit flag for signaling an early exit(pr #177)
- ci-restore build of pcu package from main branch(pr #171)
- chore-update pcu installation command description(pr #178)
- ci-add --early-exit flag to pcu command in Update changelog job(pr #179)
- ci-rename update changelog step and add early exit flag to pcu command(pr #180)
- ci-adopt toolkit and configure to use setup config with validation and success(pr #181)
- Dependencies: update rust crate log to v0.4.22(pr #174)
- Dependencies: update rust crate clap to v4.5.8(pr #175)
0.1.8 - 2024-06-19
- refactor-improve logging for Octocrab instance and pull request handler acquisition(pr #164)
0.1.7 - 2024-06-19
- refactor-improve error handling and add debug logs for octocrab client(pr #163)
0.1.6 - 2024-06-19
- add octocrab authentication by personal access token(pr #162)
- Dependencies: update rust crate url to v2.5.2(pr #161)
0.1.5 - 2024-06-18
- chore-additional debug info for octocrab instance setup(pr #160)
0.1.4 - 2024-06-18
- refactor-remove unwrap from string conversion of OsStr value(pr #159)
0.1.3 - 2024-06-15
- chore-test for value of CARGO_HOME(pr #152)
- chore-user cargo home bin version of pcu(pr #153)
- chore-update eyre to color-eyre(pr #158)
- ensure that final error state fails pcu application(pr #157)
- Dependencies: update rust crate git2 to 0.19.0(pr #155)
- Dependencies: update rust crate rstest to 0.21.0(pr #154)
0.1.2 - 2024-06-12
0.1.1 - 2024-06-12
- create unreleased section if it does not exist(pr #146)
- ci: add step to remove original SSH key from agent(pr #142)
- chore-add pre-release configuration for versioning and changelog updates(pr #143)
- docs-update changelog with new unreleased changes(pr #145)
- chore-remove cargo release comment replacements(pr #147)
- chore-update unreleased with version and date(pr #148)
- chore-remove failing replacements(pr #149)
0.1.0 - 2024-06-10
- Return early if the changelog has been updated already(pr #93)
- logger and logging (pr #102)
- sign the commit using gpg(pr #107)
- add CLI flag to set verbosity of logs(pr #117)
- allow log environment variables to override command line(pr #118)
- add Sign enum and sign field to Cli struct(pr #121)
- add match for sign types in run_update function(pr #122)
- add config crate to Cargo.toml and implement get_settings function in main.rs(pr #127)
- add error handling for settings(pr #129)
- set defaults for settings(pr #131)
- add support for using settings to configure client(pr #134)
- ci-tidy up and clarify removal of original ssh key(pr #92)
- chore-add debug print statement to repo_status method(pr #94)
- chore-remove redundant code in main(pr #96)
- ci-reorder ssh and gpg and git steps(pr #97)
- chore-update branch message to remove personal pronoun(pr #98)
- refactor-remove commented out code(pr #99)
- chore-return to using none in commit_signed(pr #100)
- refactor-align var and restore simple commit without signing(pr #101)
- refactor-remove redundant imports and functions(pr #103)
- chore-replace printlns with log macros(pr #104)
- refactor-main update to use logs instead of println(pr #106)
- chore-move all but current println to logging(pr #108)
- chore-decorate signing with log messages(pr #109)
- chore-add logging for input before writing to stdin(pr #110)
- docs-tidy up changelog(pr #111)
- chore-catch up the changelog(pr #112)
- chore-remove blank lines(pr #113)
- chore-remove blanks(pr #114)
- chore-display messages using logging(pr #115)
- refactor-replace println with logging(pr #116)
- Update issue templates(pr #119)
- chore-add pull request template to .github directory(pr #120)
- chore-add log level check before updating changelog(pr #125)
- chore-add default values required by client module(pr #133)
- refactor-migrate const to settings(pr #135)
- ci-customise release to make the first release v0.1.0(pr #137)
- chore-manual update of changelog waiting on fix to message(pr #139)
- chore-prepare for release by committing lock file (pr #140)
- docs-update readme for first release(pr #141)
- trim exclamation point from end of subkey(pr #105)
- change log level from Debug to Trace in run_update function(pr #123)
- setup of logging for environment or cli(pr #124)
- correct typo in setting key for commit_message(pr #136)
- fix type annotation for msg variable to String(pr #138)
- Security: adopt new ci bot signature(pr #95)