Skip to main content

About Dependabot version updates

You can use Dependabot to keep the packages you use updated to the latest versions.

About Dependabot version updates

Dependabot takes the effort out of maintaining your dependencies. You can use it to ensure that your repository automatically keeps up with the latest releases of the packages and applications it depends on.

You enable Dependabot version updates by checking a dependabot.yml configuration file into your repository. The configuration file specifies the location of the manifest, or of other package definition files, stored in your repository. Dependabot uses this information to check for outdated packages and applications. Dependabot determines if there is a new version of a dependency by looking at the semantic versioning (semver) of the dependency to decide whether it should update to that version. For certain package managers, Dependabot version updates also supports vendoring. Vendored (or cached) dependencies are dependencies that are checked in to a specific directory in a repository rather than referenced in a manifest. Vendored dependencies are available at build time even if package servers are unavailable. Dependabot version updates can be configured to check vendored dependencies for new versions and update them if necessary.

When Dependabot identifies an outdated dependency, it raises a pull request to update the manifest to the latest version of the dependency. For vendored dependencies, Dependabot raises a pull request to replace the outdated dependency with the new version directly. You check that your tests pass, review the changelog and release notes included in the pull request summary, and then merge it. For more information, see "Configuring Dependabot version updates."

If you enable security updates, Dependabot also raises pull requests to update vulnerable dependencies. For more information, see "About Dependabot security updates."

Quando o Dependabot gera solicitações de pull, essas solicitações de pull podem ser referentes a atualizações de segurança ou de versão:

  • As Dependabot security updates são solicitações de pull automatizadas que ajudam você a atualizar as dependências com vulnerabilidades conhecidas.
  • As Dependabot version updates são solicitações de pull automatizadas que mantêm suas dependências atualizadas, mesmo quando elas não têm nenhuma vulnerabilidade. Para verificar o status das atualizações da versão, acesse a aba Insights do seu repositório e, em seguida, gráfico de dependência e Dependabot.

O GitHub Actions não é necessário para que Dependabot version updates e Dependabot security updates sejam executadas no GitHub. No entanto, as solicitações de pull abertas pelo Dependabot podem disparar fluxos de trabalho que executam ações. Para obter mais informações, confira "Como automatizar o Dependabot com GitHub Actions".

O Dependabot e todos os recursos relacionados são cobertos pelos Termos de Serviço do GitHub.

Frequency of Dependabot pull requests

You specify how often to check each ecosystem for new versions in the configuration file: daily, weekly, or monthly.

Quando você habilitar atualizações de versão pela primeira vez, você pode ter muitas dependências que estão desatualizadas e algumas podem ser muitas versões por trás da versão mais recente. O Dependabot verifica as dependências desatualizadas assim que estiver habilitado. Você pode ver novas pull requests para atualizações de versão dentro de alguns minutos após adicionar o arquivo de configuração, dependendo do número de arquivos de manifesto para os quais você configura as atualizações. Dependabot também será executada uma atualização sobre as alterações subsequentes no arquivo de configuração.

Dependabot também pode criar pull requests quando você alterar um arquivo de manifesto depois que uma atualização falhar. Isto ocorre porque alterações em um manifesto, como remover a dependência que causou falha na atualização, pode fazer com que a atualização recém-acionada sejam bem-sucedida.

Para manter as solicitações de pull gerenciáveis e fáceis de serem revisadas, o Dependabot gera, no máximo, cinco solicitações de pull para começar a trazer as dependências para a última versão. Se você fizer o merge de algumas desses primeiros pull requests antes da próxima atualização programada, Os pull requests restantes serão abertos na próxima atualização, até o máximo. Você pode alterar o número máximo de solicitações de pull em aberto definindo a opção de configuração open-pull-requests-limit.

If you've enabled security updates, you'll sometimes see extra pull requests for security updates. These are triggered by a Dependabot alert for a dependency on your default branch. Dependabot automatically raises a pull request to update the vulnerable dependency.

Supported repositories and ecosystems

You can configure version updates for repositories that contain a dependency manifest or lock file for one of the supported package managers. For some package managers, you can also configure vendoring for dependencies. For more information, see "Configuration options for the dependabot.yml file."

Ao executar atualizações de segurança ou versão, alguns ecossistemas devem ser capazes de resolver todas as dependências de sua fonte para verificar se as atualizações foram bem-sucedidas. Se o seu manifesto ou arquivos de bloqueio contiverem dependências privadas, Dependabot deverá ser capaz de acessar o local em que essas dependências estão hospedadas. Os proprietários da organização podem conceder a Dependabot acesso a repositórios privados que contêm dependências para um projeto dentro da mesma organização. Para obter mais informações, confira "Como gerenciar as configurações de segurança e de análise da sua organização". Você pode configurar o acesso a registros privados no arquivo de configuração dependabot.yml de um repositório. Para obter mais informações, confira "Opções de configuração para o arquivo dependabot.yml".

Dependabot doesn't support private GitHub dependencies for all package managers. See the details in the table below.

The following table shows, for each package manager:

  • The YAML value to use in the dependabot.yml file
  • The supported versions of the package manager
  • Whether dependencies in private GitHub repositories or registries are supported
  • Whether vendored dependencies are supported
Package managerYAML valueSupported versionsPrivate repositoriesPrivate registriesVendoring
Bundlerbundlerv1, v2
Composercomposerv1, v2
Docker [1]dockerv1
git submodulegitsubmoduleN/A (no version)
GitHub Actionsgithub-actionsN/A (no version)
Go modulesgomodv1
GradlegradleN/A (no version)[2]
MavenmavenN/A (no version)[3]
npmnpmv6, v7, v8
NuGetnuget<= 4.8[4]
pipenvpip<= 2021-05-29
pubpubv2 [6]
Terraformterraform>= 0.13, <= 1.2.x
yarnnpmv1, v2, v3[7]

Tip: For package managers such as pipenv and poetry, you need to use the pip YAML value. For example, if you use poetry to manage your Python dependencies and want Dependabot to monitor your dependency manifest file for new versions, use package-ecosystem: "pip" in your dependabot.yml file.

[1] Dependabot can update Docker image tags in Kubernetes manifests. Add an entry to the Docker package-ecosystem element of your dependabot.yml file for each directory containing a Kubernetes manifest which references Docker image tags. Kubernetes manifests can be Kubernetes Deployment YAML files or Helm charts. For information about configuring your dependabot.yml file for docker, see "package-ecosystem" in "Configuration options for the dependabot.yml file."

Dependabot supports both public and private Docker registries. For a list of the supported registries, see "docker-registry" in "Configuration options for the dependabot.yml file."

[2] Dependabot doesn't run Gradle but supports updates to the following files: build.gradle, build.gradle.kts (for Kotlin projects), and files included via the apply declaration that have dependencies in the filename. Note that apply does not support apply to, recursion, or advanced syntaxes (for example, Kotlin's apply with mapOf, filenames defined by property).

[3] Dependabot doesn't run Maven but supports updates to pom.xml files.

[4] Dependabot doesn't run the NuGet CLI but does support most features up until version 4.8.

[5] In addition to supporting updates to requirements.txt files, Dependabot supports updates to pyproject.toml files if they follow the PEP 621 standard.

[6] Dependabot won't perform an update for pub when the version that it tries to update to is ignored, even if an earlier version is available.

[7] Dependabot supports vendored dependencies for v2 onwards.

If your repository already uses an integration for dependency management, you will need to disable this before enabling Dependabot. For more information, see "About integrations."

About notifications for Dependabot version updates

You can filter your notifications on GitHub to show notifications for pull requests created by Dependabot. For more information, see "Managing notifications from your inbox."