From d02f11074d0411f99347cc3822f770cb58eeee4b Mon Sep 17 00:00:00 2001 From: "kody.low" Date: Mon, 8 Apr 2024 16:39:27 -0700 Subject: [PATCH] chore: release-plz --- CHANGELOG.md | 175 +++++++++++++++++++++++++++++++++++++++++++ Cargo.lock | 8 +- JUSTFILE | 1 + cliff.toml | 89 ++++++++++++++++++++++ multimint/Cargo.toml | 2 +- release-plz.toml | 27 +++++++ 6 files changed, 297 insertions(+), 5 deletions(-) create mode 100644 CHANGELOG.md create mode 100644 cliff.toml create mode 100644 release-plz.toml diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..054855b --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,175 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +## [unreleased] + +### ๐Ÿš€ Features + +- First 3 endpoints +- Validate endpoint +- Stubs for remaining cli commands +- Combine +- Lninvoice +- Awaitinvoice +- Stub cashu router methods +- Impl handle_listgateways +- Impl switch_gateway +- Impl deposit address +- Impl handle awaitdeposit +- Impl withdraw +- Impl handle discoverversion +- Impl handle config +- Impl list operations +- Impl backup +- Impl backup +- Add remaining cashu optional nuts +- Impl hacky cashu check, info, and swap +- Cashu mint and melt +- Melt +- Add websocket support for all fedimint commands +- Jsonrpc websocket handling +- Finish adding admin fm commands +- Nix and flakebox +- Add multimint clients to state +- Helper get_client on state for pulling fedimint client out of multimint by id or default +- Multimint support in mint handlers +- Multimint cashu handlers +- Add join endpoint to add new multimint client +- Add /admin/federation-ids endpoint +- Camelcase everything over http +- Status handler route +- Add metrics endpoint +- Mprocs +- Devshell +- Fedimint 0.3 +- Typescript wrapper +- Add fedimint-py and fedimint-go +- Add external-ln-receive-pubkey +- Claim external pubkey tweaked +- P2pk and claim methods + refactor module types +- Encode and decode notes to / from json +- Encode and decode notes working clientd and ts +- Add gateway_id requirement for all lightning endpoints +- ActiveGatewayId for lightning +- Update go client to 0.3 +- Finish updates to fedimint-go for 0.3 +- Continue fedimint-go 0.3 updates +- Python updates continued +- Finish updating python clients + +### ๐Ÿ› Bug Fixes + +- SelectNotesWithExactAmount not backported to v0.2 yet +- Working await lnpay +- Move api versions into nest +- Remove cors +- Bitcoin versioning +- Typo +- Replit files +- Docs +- Missing melt method +- Cashu /info updates +- Create address wrong instruction +- Parse websocket v then use federation_id +- Status code import pattern +- Remove required invite code +- Join returns connected federation_ids +- Get info for all federations +- Update for by federation admin responses +- Deserialize to snake_case +- Post not get for join +- Fmt +- Cors +- Allow auth header in cors policy for preflight +- Allow any headers +- Default port 3333 +- Cargo.toml +- Flake +- Fix +- Bugs +- Remove default +- Cashu endpoints for fedimint 0.3 +- Path multimint +- Multimint path for 0.3 +- Tests +- V0.3 updates +- All tests done for typescript +- Tests for p2pk and claim +- Justfile and docs +- Wscat mprocs +- Add go and bun to devshell for wrappers +- Python updates +- Python tests +- Updates +- Updates + +### ๐Ÿšœ Refactor + +- Move out create routers into helpers +- Split out fedimint handlers into separate functions +- Fedimint admin handlers +- Snake_case filenames +- Finish snake_casing +- Cashu split out into files +- Mint and melt modules +- Move types and utils into new refactored structure +- Wallet module +- Move router create into main.rs so docs up front +- Better websocket formatting +- Admin routes with multimint +- Multimint for ln handlers +- State, req for all ws +- Rename to state.multimint +- Rename to onchain + +### ๐Ÿ“š Documentation + +- Rename +- Update readme for cashu mappings +- Readme pic +- Readme add fedimint endpoints +- Readme updates +- Cargo toml description +- Add that it supports multiple federations +- Update documentation in ts wrapper + +### โš™๏ธ Miscellaneous Tasks + +- Bump fedimint to 0.2.1 +- Bump version +- Add license +- Bump version +- License in toml +- Bump +- Bump +- Bump versions +- Flakebox +- Polish nix stuff and expose main app output +- Add repository metadata to Cargo.toml +- Rename health check endpoint +- Add trace layer for logging requests +- Remove trace layer middleware from health check route +- Reorganize routes middlewares +- Clientd updates +- Multimint into fedimint-clientd +- Tests script for fedimint-ts +- Bump fedimint rc1 +- Bash in dev for linux +- Update to v0.3.0-rc.2 +- Bump to fedimint rc.3 and update example.env +- Prep version bump +- Update tests in ts wrapper +- Bump ts wrapper +- Update flake.lock +- Bump fedimint-0.3 +- Bump multimint +- Peg fedimint-clientd to multimint version +- Bump flakebox +- Fixes for nix and rust versions, semgrep +- Release 0.3.0 +- Dependabot +- Bump flakebox +- Release v0.3.1 + + diff --git a/Cargo.lock b/Cargo.lock index 3730cc3..6049a01 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1042,7 +1042,7 @@ dependencies = [ "lazy_static", "lightning-invoice", "lnurl-rs", - "multimint 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "multimint 0.3.0", "reqwest", "serde", "serde_json", @@ -2418,6 +2418,8 @@ dependencies = [ [[package]] name = "multimint" version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a926e1ecf3b97aa2bf98d30de76032c7dcfa12b04ba957c985bd7a11c612f0be" dependencies = [ "anyhow", "fedimint-client", @@ -2437,9 +2439,7 @@ dependencies = [ [[package]] name = "multimint" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a926e1ecf3b97aa2bf98d30de76032c7dcfa12b04ba957c985bd7a11c612f0be" +version = "0.3.1" dependencies = [ "anyhow", "fedimint-client", diff --git a/JUSTFILE b/JUSTFILE index 022c1f6..67a9592 100644 --- a/JUSTFILE +++ b/JUSTFILE @@ -1,4 +1,5 @@ # THIS FILE IS AUTOGENERATED FROM FLAKEBOX CONFIGURATION +import "justfile.local.just" alias b := build alias c := check diff --git a/cliff.toml b/cliff.toml new file mode 100644 index 0000000..b0f88b2 --- /dev/null +++ b/cliff.toml @@ -0,0 +1,89 @@ +# git-cliff ~ default configuration file +# https://git-cliff.org/docs/configuration +# +# Lines starting with "#" are comments. +# Configuration options are organized into tables and keys. +# See documentation for more information on available options. + +[changelog] +# changelog header +header = """ +# Changelog\n +All notable changes to this project will be documented in this file.\n +""" +# template for the changelog body +# https://keats.github.io/tera/docs/#introduction +body = """ +{% if version %}\ + ## [{{ version | trim_start_matches(pat="v") }}] - {{ timestamp | date(format="%Y-%m-%d") }} +{% else %}\ + ## [unreleased] +{% endif %}\ +{% for group, commits in commits | group_by(attribute="group") %} + ### {{ group | striptags | trim | upper_first }} + {% for commit in commits %} + - {% if commit.scope %}*({{ commit.scope }})* {% endif %}\ + {% if commit.breaking %}[**breaking**] {% endif %}\ + {{ commit.message | upper_first }}\ + {% endfor %} +{% endfor %}\n +""" +# template for the changelog footer +footer = """ + +""" +# remove the leading and trailing s +trim = true +# postprocessors +postprocessors = [ + # { pattern = '', replace = "https://github.com/orhun/git-cliff" }, # replace repository URL +] + +[git] +# parse the commits based on https://www.conventionalcommits.org +conventional_commits = true +# filter out the commits that are not conventional +filter_unconventional = true +# process each line of a commit as an individual commit +split_commits = false +# regex for preprocessing the commit messages +commit_preprocessors = [ + # Replace issue numbers + #{ pattern = '\((\w+\s)?#([0-9]+)\)', replace = "([#${2}](/issues/${2}))"}, + # Check spelling of the commit with https://github.com/crate-ci/typos + # If the spelling is incorrect, it will be automatically fixed. + #{ pattern = '.*', replace_command = 'typos --write-changes -' }, +] +# regex for parsing and grouping commits +commit_parsers = [ + { message = "^feat", group = "๐Ÿš€ Features" }, + { message = "^fix", group = "๐Ÿ› Bug Fixes" }, + { message = "^doc", group = "๐Ÿ“š Documentation" }, + { message = "^perf", group = "โšก Performance" }, + { message = "^refactor", group = "๐Ÿšœ Refactor" }, + { message = "^style", group = "๐ŸŽจ Styling" }, + { message = "^test", group = "๐Ÿงช Testing" }, + { message = "^chore\\(release\\): prepare for", skip = true }, + { message = "^chore\\(deps.*\\)", skip = true }, + { message = "^chore\\(pr\\)", skip = true }, + { message = "^chore\\(pull\\)", skip = true }, + { message = "^chore|^ci", group = "โš™๏ธ Miscellaneous Tasks" }, + { body = ".*security", group = "๐Ÿ›ก๏ธ Security" }, + { message = "^revert", group = "โ—€๏ธ Revert" }, +] +# protect breaking changes from being skipped due to matching a skipping commit_parser +protect_breaking_commits = false +# filter out the commits that are not matched by commit parsers +filter_commits = false +# regex for matching git tags +# tag_pattern = "v[0-9].*" +# regex for skipping tags +# skip_tags = "" +# regex for ignoring tags +# ignore_tags = "" +# sort the tags topologically +topo_order = false +# sort the commits inside sections by oldest/newest order +sort_commits = "oldest" +# limit the number of commits included in the changelog. +# limit_commits = 42 diff --git a/multimint/Cargo.toml b/multimint/Cargo.toml index b33fe6d..ff94234 100644 --- a/multimint/Cargo.toml +++ b/multimint/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "multimint" -version = "0.3.0" +version = "0.3.1" edition = "2021" description = "A library for managing fedimint clients across multiple federations" license = "MIT" diff --git a/release-plz.toml b/release-plz.toml new file mode 100644 index 0000000..55523f4 --- /dev/null +++ b/release-plz.toml @@ -0,0 +1,27 @@ +[workspace] +# path of the git-cliff configuration +changelog_config = "cliff.toml" + +# enable changelog updates +changelog_update = true + +# update dependencies with `cargo update` +dependencies_update = true + +# create tags for the releases +git_tag_enable = true + +# disable GitHub releases +git_release_enable = false + +# labels for the release PR +pr_labels = ["release"] + +# disallow updating repositories with uncommitted changes +allow_dirty = false + +# disallow packaging with uncommitted changes +publish_allow_dirty = false + +# disable running `cargo-semver-checks` +# semver_check = false