Root My Galaxy 0.3.38
SHA-256: 94bf1cf70a384ff752a5d83d342abd969363475ab7738708a606207c16e3949c
Changes since v0.3.37.
What's changed
- #28 Fix CZG3 External Observer v2 instrumentation
- #29 Preserve advanced CZG3 history stages
- #30 Fix Android Process PID compatibility
Full changelog
Detailed pull-request notes for all changes included in this release.
#28 — Fix CZG3 External Observer v2 instrumentation
Objetivo
Corrigir exclusivamente o plano de observação do CZG3 após a primeira sentinela real revelar attach standalone ausente e métricas globais indisponíveis sendo serializadas como zero.
Alterações
- usa
Process.pid()como fonte autoritativa do PID standalone, mantendo/proc/.../childrenapenas como fallback; - percorre
task/*/childrenpara montar a árvore de descendentes e passa a amostrar também o processo-raiz; - registra acesso real ao target no attach;
- faz capability probe uma vez e deixa de consultar repetidamente fontes
/procinacessíveis; - serializa métricas indisponíveis como
NA, nunca como zero sintético; - registra retorno/errno de nice, SCHED_IDLE e affinity, além da máscara efetiva;
- corrige classificação de markers (linha de tentativa falha não vira
attempt_begin) e adiciona checkpoints P0/FOPS úteis; - adiciona agregação External Observer v2 para attempt count, elapsed, P0/FOPS, checkpoint, pselect e scheduler do target;
- relatórios antigos de
RMG_RACE_V1/RMG_PREP_V1continuam preservados; no CZG3 externo, campos não observáveis ficam explicitamenteunavailable; - normaliza histórico CZG3 a partir do raw log para evitar
attempts=0/elapsed/checkpoint vazios no relatório final.
Fora de escopo
Nenhuma alteração em P0/FOPS timing, reclaim, retry count, supervisor, keeper, cgroup, fail-closed, payload selection ou KernelSU.
Testes adicionados
- PID direto prevalece sobre children-delta;
- marker de tentativa falha não é classificado como início;
- parser/agregador External v2 reproduz o caso P0 success -> FOPS mutation-uncertain;
- relatório externo distingue métricas disponíveis de
unavailable.
#29 — Preserve advanced CZG3 history stages
Corrige o comentário P2 tardio do PR #28. O normalizador External Observer v2 agora só promove o estágio quando o histórico existente está ausente ou é anterior; nunca rebaixa StagingKernelSu, LateLoadingKernelSu ou VerifyingKernelSu para AttemptingRace. Também evita adicionar um StageTiming de race quando o fluxo principal já avançou além da race. Inclui teste de regressão cobrindo os três estágios de KernelSU. Nenhuma alteração em payload, P0/FOPS, timings, retries, supervisor, keeper, cgroup ou fail-closed.
#30 — Fix Android Process PID compatibility
Corrige a falha de compilação do workflow Gerar APK Release após o attach direto do External Observer v2. O código não chama mais Process.pid() em compile time, porque esse método não está exposto pelo Android SDK usado pelo projeto. Em runtime, tenta resolver pid() por reflexão; se indisponível, usa o formato Process[pid=...]; e preserva o fallback existente por /proc/self/task/<tid>/children. O teste não sobrescreve mais Process.pid() e cobre o formato Android do ProcessImpl. Nenhuma alteração em payload, P0/FOPS, timings, retries, supervisor, keeper, cgroup ou fail-closed.