What is renovate?
Renovate is a powerful tool for automating dependency updates in your projects. It helps keep your dependencies up-to-date, ensuring that your project remains secure and compatible with the latest versions of libraries and tools.
What are renovate's main functionalities?
Automated Dependency Updates
Renovate can automatically update your dependencies by creating pull requests for new versions. The configuration above extends the base configuration, which includes sensible defaults for most projects.
{
"extends": ["config:base"]
}
Customizable Configuration
You can customize Renovate's behavior using a configuration file. In this example, packages that match the pattern '^@my-org/' are grouped together in a single pull request.
{
"extends": ["config:base"],
"packageRules": [
{
"packagePatterns": ["^@my-org/"],
"groupName": "my-org packages"
}
]
}
Scheduling Updates
Renovate allows you to schedule when updates should be created. The configuration above schedules updates to be created before 5 AM on Mondays.
{
"extends": ["config:base"],
"schedule": ["before 5am on monday"]
}
Other packages similar to renovate
dependabot
Dependabot is a GitHub-native tool for automating dependency updates. It is similar to Renovate in that it creates pull requests for new versions of dependencies. However, Dependabot is more tightly integrated with GitHub and may be easier to set up for users already using GitHub.
greenkeeper
Greenkeeper is another tool for automating dependency updates. It was one of the first tools in this space and offers similar functionality to Renovate. However, Greenkeeper has been deprecated in favor of Snyk, which now includes similar features.
snyk
Snyk is a comprehensive security tool that includes features for automating dependency updates. While it offers similar functionality to Renovate, Snyk also provides additional security features such as vulnerability scanning and remediation.
Renovate
Automated dependency updates.
Multi-platform and multi-language.
Why Use Renovate?
- Get automated Pull Requests to update your dependencies
- Reduce noise by running Renovate on a schedule, for example:
- on weekends
- outside of working hours
- each week
- each month
- Relevant package files are discovered automatically
- Supports monorepo architectures like Lerna or Yarn workspaces with no extra configuration
- Bot behavior is customizable via configuration files (config as code)
- Use ESLint-like shared config presets for ease of use and simplifying configuration (JSON format only)
- Lock files are supported and updated in the same commit, including immediately resolving conflicts whenever PRs are merged
- Get replacement PRs to migrate from a deprecated dependency to the community suggested replacement (npm packages only)
- Open source (installable via npm/Yarn or Docker Hub) so can be self-hosted or used via GitHub App
Supported Platforms
Renovate works on these platforms:
Who Uses Renovate?
Renovate is widely used in the developer community:
Renovate OSS Insights
Renovate is built on a big community and actively invites and supports contributions.
Information about our contributors and community can be found on OSS Insight.
Star History
The Renovate Approach
We believe everyone benefits from automation, whether it's a little or a lot.
This means that Renovate:
- Adapts to your workflow
- Allows you to configure its behavior
- Will autodetect settings where possible
Using Renovate
Get started with Renovate by checking out our tutorial.
GitHub
It's easiest to use the hosted Renovate app.
Install the Renovate app now.
More details on the GitHub App installation.
Azure DevOps
There are two ways to run Renovate on Azure DevOps:
- Renovate Me extension
- Custom pipeline
Renovate Me extension
Go to the Visual Studio Marketplace and install the Renovate Me extension in your organization.
From there you can create a pipeline with the RenovateMe
task.
Note
This extension is created and maintained personally by a Renovate developer/user so support requests relating to the extension itself cannot be answered directly in the main Renovate repository.
Custom pipeline
You can create a custom pipeline with a yml
definition that triggers npx renovate
.
More details on how to configure the pipeline.
Bitbucket Cloud/Server, Forgejo, Gitea, GitLab
For Bitbucket Cloud, Bitbucket Server, Forgejo, Gitea and GitLab, use our self-hosting option.
Configuration
Go to our documentation website to learn how to configure Renovate.
We have a full list of configuration options.
To get help with your configuration, go to the discussions tab in the Renovate repository and open a new "config help" discussion post.
Self-Hosting
To run your own instance of Renovate you have several options:
- Install the
renovate
CLI tool from npmjs, run it on a schedule (e.g. using cron
) - Run the
renovate/renovate
Docker Hub image (same content/versions as the CLI tool), run it on a schedule - Run the
renovate/renovate:slim
Docker Hub image if you only use package managers that don't need third-party binaries (e.g. JavaScript, Docker, NuGet, pip)
More details on the self-hosting development.
Contributing
If you want to contribute to Renovate or get a local copy running, please read the instructions in contributing guidelines.
To get started look at the list of good first issues.
Security / Disclosure
If you find any bug with Renovate that may be a security problem, then e-mail us at: renovate-disclosure@mend.io.
This way we can evaluate the bug and hopefully fix it before it gets abused.
Please give us enough time to investigate the bug before you report it anywhere else.
Please do not create GitHub issues for security-related doubts or problems.