v1.8.5
Hotfix: corrige a falha de inicialização introduzida na 1.8.4 (EXC_BREAKPOINT vindo de libdispatch: trying to lock recursively), adicionando uma proteção contra a reentrada do token de dispatch_once do static let em AppSettingsCache quando o LoggerService aquece durante a primeira carga do SwiftData.
Destaques
- Correção da falha na inicialização:
AppSettingsCacheagora espelha o padrão de proteção de reentrada já usado emLoggerService.initDepth. Leituras retornam o valor padrão declarado e escritas são descartadas enquantoloadFromSwiftData()está em execução, de modo que o cicloLocalizationManager → AppSettingsCache → SwiftDataContainer → LoggerService → LogManager → AppSettingsCachenão consegue mais reentrar no mesmo token dedispatch_once. Aplica-se a todas as configurações de build (Debug e Release).
Mudanças detalhadas
- Adicionar o contador
AppSettingsCache.initDepthe usá-lo como guarda em todos os acessores públicosget*/set*/remove - Incrementar
initDepthdentro deensureLoaded()enquantoloadFromSwiftData()é executado, de forma que chamadas transitivas de volta paraAppSettingsCache.shareddurante a cadeia de inicialização ao iniciar sejam tratadas como no-op - Subir a versão de marketing para 1.8.5 e o número de build para 28 em
project.yml, nos doisInfo.pliste emdocs/_config.yml