updating-package-versions

Guia a atualização de versões de dependências em pacotes publicados para evitar falhas de resolução em mono-repositórios.

npx skills add https://github.com/flutter/devtools --skill updating-package-versions

Updating Package Versions

When updating dependency versions in published package pubspec.yaml files (devtools_shared, devtools_app_shared, and devtools_extensions), follow these rules to protect the local mono-repo workspace graph:

  • Version Decisions: Decide if it should be a major, minor, or patch version based on your edits:
    • Breaking changes: Major bump (+1 to first component, others reset to 0). E.g., removals of public constants, properties, getters/setters, or APIs.
    • New features or deprecation start: Minor bump (+1 to second component, patch resets to 0).
    • Bug fixes and non-breaking changes: Patch bump (+1 to third component).
  • Match Exact Versions: Always use the actual version specified in the target package's pubspec.yaml file.
  • Suffix Preservation: If a requested version contains a suffix like -wip (e.g., 13.0.0-wip), the full string MUST be used in dependency constraints (e.g., devtools_shared: ^13.0.0-wip).
  • Prevent Graph Failures: Do not drop the suffix or estimate the base version tags. Version solver operations will fail in the local workspace if dependencies point to published strings that can't be resolved in non-published repositories.
  • No Dependencies on Unpublished Packages: Published packages (devtools_shared, devtools_app_shared, and devtools_extensions) MUST NOT depend on unpublished packages like devtools_app or devtools_test.
  • Resolution Testing: After updating versions, run flutter pub get in the repository to ensure version solving is satisfied. If this returns errors, you should fix the errors and try again.
  • Updating devtools_app: In packages/devtools_app/pubspec.yaml:
    • Dependencies on published packages do not have version constraints. This is intentional; do not change this when updating versions.
    • Always use the dt update-version tool to update the devtools_app version.
    • This should only be updated for monthly releases and cherry pick releases, so perform this update only when explicitly asked to.

Mais skills de flutter

dart-modern-features
flutter
Para encontrar candidatos para modernização:
flutter-fix-layout-issues
flutter
Corrige erros de layout do Flutter (overflow, restrições ilimitadas) usando ferramentas Dart e Flutter MCP. Use ao lidar com "RenderFlex overflowed", "Vertical…
adding-release-notes
flutter
Adiciona descrições de mudanças voltadas ao usuário nas notas de versão do DevTools. Use ao documentar melhorias, correções ou novos recursos no arquivo NEXT_RELEASE_NOTES.md.
reviewing-devtools-prs
flutter
Fluxo de revisão de PR específico do repositório DevTools, aplicando as diretrizes de estilo do DevTools e padrões comuns de revisão. Use ao revisar pull requests no…
dart-use-primary-constructors
flutter
Ajude os usuários a escrever construtores primários sintática e semanticamente corretos em Dart, e a migrar/usar a nova sintaxe de construtores, a sintaxe de corpo vazio com ponto e vírgula,…
code-documentation
flutter
Guia para escrever documentação de código eficaz, incluindo docstrings, JSDoc, dartdoc e comentários de implementação. Use esta skill ao escrever novo código, adicionar…
api-review
flutter
Revisa o código especificado em relação às diretrizes canônicas de Design de API. Use esta skill quando o usuário pedir uma revisão de API ou para verificar o código em relação ao design de API…
flutter-accessibility
flutter
Implementa os padrões de acessibilidade WCAG 2 e EN 301 549 e layouts adaptativos em aplicativos Flutter. Aplica anotações semânticas, tamanhos mínimos de alvo de toque (48x48 dp) e taxas de contraste de texto (4,5:1 para texto pequeno, 3:1 para texto grande) nas plataformas mobile, web e desktop. Inclui lógica de decisão para inicialização de semântica web, encapsulamento de widgets interativos, alternância de layout baseada no tamanho da tela e tratamento de entrada por teclado/mouse. Gerencia o percurso de foco via FocusTraversalGroup e...