{"id":23160657,"url":"https://github.com/disruptek/bump","last_synced_at":"2025-08-18T02:31:48.309Z","repository":{"id":54813112,"uuid":"216273918","full_name":"disruptek/bump","owner":"disruptek","description":"a tiny tool to bump nimble versions 🍻","archived":false,"fork":false,"pushed_at":"2024-02-12T16:39:30.000Z","size":161,"stargazers_count":27,"open_issues_count":7,"forks_count":5,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-05T18:11:32.499Z","etag":null,"topics":["bump","git","module","nim","nimble","package","tool","version"],"latest_commit_sha":null,"homepage":"","language":"Nim","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/disruptek.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-10-19T21:41:12.000Z","updated_at":"2024-09-12T13:19:52.000Z","dependencies_parsed_at":"2024-02-12T16:56:20.999Z","dependency_job_id":"8e750aa2-80c0-487c-b919-e3f30c11a105","html_url":"https://github.com/disruptek/bump","commit_stats":null,"previous_names":[],"tags_count":64,"template":false,"template_full_name":null,"purl":"pkg:github/disruptek/bump","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/disruptek%2Fbump","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/disruptek%2Fbump/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/disruptek%2Fbump/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/disruptek%2Fbump/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/disruptek","download_url":"https://codeload.github.com/disruptek/bump/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/disruptek%2Fbump/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270933646,"owners_count":24670463,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-18T02:00:08.743Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bump","git","module","nim","nimble","package","tool","version"],"created_at":"2024-12-17T23:11:37.271Z","updated_at":"2025-08-18T02:31:48.008Z","avatar_url":"https://github.com/disruptek.png","language":"Nim","funding_links":[],"categories":[],"sub_categories":[],"readme":"# bump\n\n[![Test Matrix](https://github.com/disruptek/bump/workflows/CI/badge.svg)](https://github.com/disruptek/bump/actions?query=workflow%3ACI)\n[![GitHub release (latest by date)](https://img.shields.io/github/v/release/disruptek/bump?style=flat)](https://github.com/disruptek/bump/releases/latest)\n![Minimum supported Nim version](https://img.shields.io/badge/nim-1.6.11%2B-informational?style=flat\u0026logo=nim)\n[![License](https://img.shields.io/github/license/disruptek/bump?style=flat)](#license)\n\nIt just **bumps** the value of the `version` in your `.nimble` file, commits it, tags it, and pushes it.\n\n`hub` from https://github.com/github/hub enables GitHub-specific functionality.\n\nFor an explanation of the \"social contract\" that is semantic versioning, see https://semver.org/\n\n**Note:** I only test bump on Linux against `git v2.23.0`, but it seems to work against `git v2.17.0`.  It has also been tested on OS X with `git v2.23.0`.  Platform-specific code in the tool:\n\n1. we identify your current working directory differently on `macos` and `genode`, and perhaps some day, other platforms as well.\n\n1. by the same token (well, not the **same** token, but...) if Nim ever invents a new `ExtSep` for your platform (ie. the character that separates filename from its extension), you can rebuild bump to use that new separator.\n\nIf you had to read that section carefully, please file a bug report with your vendor.\n\n## Usage\n\nBy default, bump increments the patch number.\n```\n$ bump\n🎉1.0.1\n🍻bumped\n```\n\nYou can set the Nim logging level to monitor progress or check assumptions.\nIf built with `-d:debug`, you'll get `lvlDebug` output by default. Release\nbuilds default to `lvlNotice`, and the default log-level is set to `lvlInfo`\notherwise.\n\n```\n$ bump --log lvlInfo\n✔️git tag --list\n🎉1.0.2\n✔️git commit -m 1.0.2 /some/demo.nimble\n✔️git tag -a -m 1.0.2 1.0.2\n✔️git push\n✔️git push --tags\n🍻bumped\n```\n\nPlease add a few words to describe the reason for the new version. These will\nshow up in tags as well.\n```\n$ bump fixed a bug\n🎉1.0.3: fixed a bug\n🍻bumped\n```\n\nMajor bumps are for changes that might disrupt another user of the software.\n```\n$ bump --major api redesign\n🎉2.0.0: api redesign\n🍻bumped\n```\n\nYou should add minors when you add functionality.\n```\n$ bump --minor added a new feature\n🎉2.1.0: added a new feature\n🍻bumped\n```\n\nA dry-run option merely shows you the future version/message.\n```\n$ bump --dry-run what if i fix another bug?\n🎉2.1.1: what if i fix another bug?\n$ bump fixed another bug!\n🎉2.1.1: fixed another bug!\n🍻bumped\n```\n\nYou can specify the next version manually if necessary.\n```\n$ bump --manual 3.3.1 wrapper tracks version from upstream lib\n🎉3.3.1: wrapper tracks version from upstream lib\n🍻bumped\n```\n\nIf you already use a `v` prefix for your tags, bump will add one, too.\n```\n$ bump strange tag ahead\n🎉v2.1.2: strange tag ahead\n🍻bumped\n```\n\nYou can use `--v` to force the `v` prefix. This is might be necessary if you\nwant a `v` prefix and you haven't created any tags yet, or if you have other\natypical tags in `git tag --list`.\n```\n$ bump --v my first tag is a weird one\n🎉v1.0.1: my first tag is a weird one\n🍻bumped\n```\n\nIf your last version had a `[vV]\\.?` prefix, your next one will, too.\n```\n$ git tag -m 'a very bad idea' -a V.1.0.2\n$ bump going from bad to worse\n🎉V.1.0.3: going from bad to worse\n🍻bumped\n```\n\nYou can commit the entire repository at once to reduce gratuitous commits.\n```\n$ bump --commit quick fix for simple buglet\n🎉2.1.4: quick fix for simple buglet\n🍻bumped\n```\n\nIf you have `hub` installed, you can also mate a GitHub release to the new tag.\n```\n$ bump --minor --release add release option\n🎉2.2.0: add release option\n🍻bumped\n```\n\nOptionally specify a particular `.nimble` file to work on.\n```\n$ bump --nimble other.nimble\n🎉2.6.10\n🍻bumped\n```\n\n## Complete Options via `--help`\n```\nUsage:\n  bump [optional-params] [message: string...]\nincrement the version of a nimble package, tag it, and push it via git\nOptions(opt-arg sep :|=|spc):\n  -h, --help                          print this cligen-erated help\n  --help-syntax                       advanced: prepend,plurals,..\n  -m, --minor        bool    false    increment the minor version field\n  --major            bool    false    increment the major version field\n  -p, --patch        bool    true     increment the patch version field\n  -r, --release      bool    false    also use `hub` to issue a GitHub release\n  -d, --dry-run      bool    false    just report the projected version\n  -f=, --folder=     string  \"\"       specify the location of the nimble file\n  -n=, --nimble=     string  \"\"       specify the nimble file to modify\n  -l=, --log-level=  Level   lvlInfo  specify Nim logging level\n  -c, --commit       bool    false    also commit any other unstaged changes\n  -v, --v            bool    false    prefix the version tag with an ugly `v`\n  --manual=          string  \"\"       manually set the new version to #.#.#\n```\n\n## Library Use\nThere are some procedures exported for your benefit; see [the documentation for the module as generated directly from the source](https://disruptek.github.io/bump/bump.html).\n\n## License\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdisruptek%2Fbump","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdisruptek%2Fbump","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdisruptek%2Fbump/lists"}