O aplicativo não requer hospedagem, banco, domínio ou API paga. GitHub público, Flutter, Android SDK, Linux e CI para repositórios públicos podem ser usados sem mensalidade. O custo operacional é tempo de manutenção e, opcionalmente, a taxa única exigida por uma loja caso o app seja publicado nela.
- Revise PRs do Dependabot e changelogs das dependências.
- Execute
flutter pub outdatede atualize em lotes pequenos. - Rode
flutter analyze,flutter teste builds nas duas plataformas. - Teste dois dispositivos reais: descoberta, aceite, rejeição, arquivo vazio, arquivo grande, múltiplos arquivos, nome duplicado e rede interrompida.
- Revise permissões e o diff de
pubspec.lockantes do merge.
Não use flutter pub upgrade --major-versions sem revisar breaking changes e suporte mínimo de Android/Linux.
O Dependabot ignora upgrades major de pacotes Flutter. Eles devem ser feitos manualmente, um por vez. receive_sharing_intent permanece abaixo de 1.9.0 enquanto o Flutter estável usado pelo projeto compilar com Android SDK 36; remova essa exceção somente depois de migrar e validar com SDK 37 ou superior.
- Atualize
versionempubspec.yaml(semver+build). - Atualize
CHANGELOG.md. - Garanta a branch limpa e CI verde.
- Crie um commit
chore(release): prepare vX.Y.Ze uma tag assinadavX.Y.Z. - Gere os binários de uma tag, calcule SHA-256 e publique checksums junto aos artefatos.
Crie o keystore fora do repositório e guarde backup criptografado. Um android/key.properties local típico referencia o arquivo sem incluir a chave no Git:
storePassword=VALOR_LOCAL
keyPassword=VALOR_LOCAL
keyAlias=localbridge
storeFile=/caminho/fora/do/repositorio/localbridge.jksO repositório ignora esses arquivos. Para distribuição pessoal durante o MVP, prefira o APK debug. Antes de uma release pública, configure signingConfigs.release no Gradle, armazene segredos somente no cofre do provedor de CI e nunca imprima valores em logs.
Mudanças apenas de UI não alteram o protocolo. Campos obrigatórios, rotas, semântica de status ou transporte exigem testes cruzados entre versões e possivelmente incremento de protocolVersion.
git status --short
git diff --check
git diff -- . ':!package-lock.json' ':!pubspec.lock'
git grep -nEi '(api[_-]?key|secret|token|password|BEGIN .*PRIVATE KEY)'Revise falsos positivos manualmente. Se um segredo já entrou no histórico, ignorá-lo depois não resolve: revogue-o e reescreva o histórico com coordenação explícita.