Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


bundle update PRs: Automated. Annotated.

Keeping dependencies up-to-date requires regular work. Some teams automate this, others do it manually. This project seeks to reduce manual and cerebral labor to get regular dependency updates into production.


  • Saves your team time in keeping dependencies up-to-date and understanding what's changed
  • unwrappr runs bundle update, creates a GitHub Pull Request with the changes and annotates the differences in your project's Gemfile.lock
  • Annotations include:
  • Major, minor and patch-level changes
  • Upgrades versus downgrades
  • Vulnerability advisory information using bundler-audit
  • Links to the home page, source code and change log (where available) of each gem

Development status CI Status

unwrappr is used in many projects around Envato However, it is still undergoing development and features are likely to change over time.

After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to

Getting started Gem version Gem downloads

$ gem install unwrappr


unwrappr needs a GitHub Personal Access Token, stored in the environment as GITHUB_TOKEN. If you have your Personal Access Token stored in the macOS keychain, you can pull this into your shell environment using the security tool. E.g:

export GITHUB_TOKEN=$(security find-internet-password -gs 2>&1 | awk -F' ' '$1 == "password:" { print $2 }' | tr -d '"')

To run unwrappr in the current working directory use...


To run unwrappr against repositories as a part of a time-based job scheduler, use the clone subcommand and specify as many --repo options as you need:

unwrappr clone --repo envato/abc [[--repo envato/xyz] ...]

See to set up personal access tokens.


  • Ruby (tested against v2.5 and above)
  • GitHub access (see Configuration section)




License license

unwrappr uses MIT license. See LICENSE.txt for details.

Code of Conduct

We welcome contribution from everyone. Read more about it in

Contributing PRs welcome

For bug fixes, documentation changes, and features:

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

For larger new features: Do everything as above, but first also make contact with the project maintainers to be sure your change fits with the project direction and you won't be wasting effort going in the wrong direction.

About code with heart by Envato

This project is maintained by the Envato engineering team and funded by Envato.

Envato logo

Encouraging the use and creation of open source software is one of the ways we serve our community. See our other projects or come work with us where you'll find an incredibly diverse, intelligent and capable group of people who help make our company succeed and make our workplace fun, friendly and happy.