Navegador de documentação
O Feather tem agora um navegador de documentação offline. É acessível premindo o botão 'Ajuda' no assistente ou indo a Ajuda → Documentação.
Introduza uma palavra-chave na barra de pesquisa para filtrar a lista de artigos e destacar as correspondências.
Se detetar um erro ou não conseguir encontrar o que procura, considere a possibilidade de abrir um problema no documentos de penas repo.
Mensagens de erro melhoradas
Nalguns casos, as mensagens de erro fornecem muito pouca informação para serem úteis ou demasiada e tornam-se confusas. Recentemente, deparei-me com este postque pôs em evidência esta questão e me levou a fazer uma alteração.
A maior parte das mensagens de erro são provenientes da biblioteca da carteira. Esta não se coíbe de utilizar terminologia interna e inclui frequentemente informação desnecessária, como referências ao código fonte. Isso é útil para os programadores, mas não tanto para os utilizadores que tentam perceber o que correu mal e o que fazer.
Para resolver este problema, muitas mensagens de erro foram reescritas para maior clareza e tornaram-se mais acionáveis. Agora, devem aderir a um formato que visa responder às seguintes perguntas:
- Que ação correu mal?
- Porque é que correu mal?
- [O que é que eu posso fazer?]
- [Onde é que posso saber mais?]
Por exemplo, tentar enviar uma transação quando a carteira ainda não terminou a sincronização mostra agora:
Premir 'Ajuda' abre o navegador de documentos com mais informações sobre a sincronização de carteiras para ajudar um utilizador curioso a compreender porquê a carteira tem de estar sincronizada para poder enviar uma transação.
Escrever uma boa documentação para cada caso é um trabalho em curso. Se vir uma mensagem de erro confusa, considere comunicar o facto.
Recuperação de sementes
Foi adicionada uma ferramenta de recuperação de sementes que pode ajudar a recuperar sementes polissémicas danificadas ou parciais.
Ocasionalmente, recebo um e-mail de alguém que está a tentar restaurar uma carteira a partir de uma semente de cópia de segurança, mas não consegue perceber o significado de algumas palavras. Má caligrafia, uma mancha de café, uma fotografia que foi mal cortada, etc. Faltam demasiadas informações para que seja prático analisá-las à mão, mas não as suficientes para tornar a recuperação computacionalmente inviável.
A ferramenta permite-lhe introduzir todas as informações que possui sobre a frase semente. O Regex é suportado para palavras parciais. A ferramenta irá então iterar sobre todas as frases possíveis dadas as palavras (inteiras, parciais ou em branco) fornecidas. As polyseeds incluem um checksum de 11 bits, pelo que apenas um subconjunto de frases-semente é válido. Opcionalmente, pode ser fornecido um endereço associado à carteira para verificar automaticamente se alguma das frases válidas produz uma carteira que contenha o endereço.
Para obter informações sobre como aceder e utilizar a ferramenta, consulte a documentação aqui.
Batida da máquina do tempo
As libertações de penas são inicializável. Isso significa que as ferramentas usadas para construir o Feather são construídas a partir do código fonte, e as ferramentas que constroem essas ferramentas também são, e as ferramentas que constroem aqueles as ferramentas também o são, e assim por diante.
Mas, certamente, isto não pode continuar para sempre e algo não pode vir do nada. Na raiz do gráfico do pacote está um semente bináriaum conjunto mínimo de binários que não podem ser construídos a partir do código fonte. Isso costumava ser o ~60 MB Semente Binária Reduzida Adicional.
Com este lançamento, o nosso Guix máquina do tempo foi atualizado para um commit em 15 de maio. As compilações Feather agora se beneficiam do Bootstrap de fonte completa. A raiz do grafo do pacote é agora um 357 bytes programa, conhecido como hex0.
É código-fonte até ao fim! Cada passo do processo de compilação é auditável e não temos de confiar no potencialmente malicioso binários.
Uma ressalva importante é que enquanto todos os pacotes são construídos a partir do código fonte, o driver que é usado para construir os pacotes iniciais não é. Eliminar este driver é o próximo passo em construções bootstrappable.
(O trabalho é em curso para trazer compilações bootstrappable para o repositório principal do Monero).
Atestado de apuramento
As versões Feather são reproduzíveis. Qualquer pessoa com uma máquina Linux x64 e Guix (o gestor de pacotes) instalado pode criar uma cópia idêntica bit a bit de todos os artefactos de lançamento, executando um único comando.
A única forma de verificar se um lançamento é de facto reproduzível é construí-lo várias vezes, em sistemas diferentes. Enquanto as compilações são feitas dentro de um contentor com um ambiente de compilação normalizado, o não-determinismo ainda pode se infiltrar a partir de (entre outras coisas) propriedades da máquina de compilação, como o kernel, a arquitetura da CPU ou o sistema de arquivos montado por bind. Quanto mais diversificado for o conjunto de máquinas em que o software é construído, mais confiantes podemos estar de que não há requisitos não documentados para reprodução.
Esta versão adiciona o atestado de versão, por vezes chamado reprodução comprovada. Se estiveres familiarizado com o processo de construção reproduzível do Monero, isto funciona da mesma forma que gitian.sigs
. Qualquer pessoa pode construir o Feather, assinar os hashes dos resultados e submetê-lo a um repositório comum. Os hashes podem então ser em comparação com a verificação que as compilações são reproduzíveis.
Com o atestado de lançamento, os utilizadores que não constroem a partir do código fonte podem ter mais confiança que os lançamentos são reproduzíveis porque vários contribuidores terão produzido independentemente binários idênticos. Caso ocorra um não-determinismo, ele pode ser corrigido antes de um lançamento.
Um agradecimento especial a /u/MoneroArbo por ajudar a verificar a reprodução desta versão. Sua primeira compilação (para 2.5.0) revelou uma suposição não documentada sobre o umask
que se infiltra no contentor e pode introduzir não-determinismo quando os ficheiros recentemente criados são arquivados.
Se pretender ajudar a verificar esta versão, siga as instruções aqui para construir o Feather e criar um atestado. Recomendamos o uso de uma máquina com pelo menos 8 núcleos e 32 GB de memória, embora isso não seja um requisito.
Lançamento oficial do Flatpak
O Feather tem agora um Flatpak oficial.
Muito esforço foi feito para garantir que ele tenha as mesmas garantias de segurança de compilação que nossos outros lançamentos. O Flatpak é bootstrappable e reproduzível. Ele não tem dependência de nenhum runtime de terceiros e não requer confiança na infraestrutura do Flathub.
O repositório está alojado em feather-wallet.org e todos os commits são assinados com o nosso liberar chave de assinaturapermitindo aos utilizadores verificar a autenticidade.
Ele também é pequeno comparado com a maioria dos Flatpaks, pesando apenas ~30 MB (comprimido). Esse é o runtime (vazio) + aplicação. Ele só inclui arquivos que são necessários para a aplicação rodar, nem mesmo um shell ou coreutils.
Para mais informações sobre as considerações que foram feitas, ver o post aqui.
Para instalar o Flatpak oficial, basta executar:
flatpak install --from https://feather-wallet.org
e seguir as instruções aqui para verificar a sua transferência.
Correcções de erros e melhorias
- A pena começa agora exatamente um segundo mais depressa
- Receber: adicionada uma opção para mostrar os endereços alterados
- Assistente: seleciona automaticamente a primeira carteira, se existir
- Ledger: a chave de visualização privada está agora disponível em Carteira -> Chaves
- O nome de utilizador/palavra-passe do nó já não é esquecido após o reinício
- Mineração: permite adicionar opções adicionais de linha de comando
- Todos os ficheiros podem agora ser selecionados quando se importam transacções (não) assinadas
- O instalador do Windows irá agora abortar se for executado numa versão não suportada do SO
- Foi corrigido um problema que podia fazer com que o separador Histórico não fosse atualizado numa transação recebida
- Enviar: limpar a descrição do donativo se o endereço tiver sido alterado
- Foi corrigido um problema que podia levar a uma falha
- Corrigido um problema de compilação em plataformas musl
- Algumas melhorias cosméticas para o macOS
Outras alterações
Muitas dependências (ligadas estaticamente) foram atualizadas nesta versão. Incluindo Monero para v0.18.3.1, Qt para 6.6.0, OpenSSL para 3.1.3, Boost para 1.83.0, e Tor para 0.4.7.15.
Antecipando os códigos QR animados para a assinatura de transacções offline, a biblioteca ZBar, utilizada para a leitura de códigos QR, foi substituída pela biblioteca mais rápida e ativamente mantida ZXing-cpp biblioteca.
O nosso tipo2 O tempo de execução do AppImage foi atualizado para a versão mais recente e utiliza agora o fuse3. Isto não resolve uma questão com o AppImageLauncher, que gera um erro ao tentar instalar a AppImage. Recomenda-se aos utilizadores que desinstalem o AppImageLauncher ou removam o .AppImage
do ficheiro.
Esta versão retira o suporte para o Qt 5, que está em desuso desde 26 de maio e já não recebe actualizações de segurança públicas. A versão mínima necessária do Qt para construir o Feather é agora a 6.3. Os lançamentos oficiais já mudaram para o Qt 6 em janeiro.
Foram adicionados dois documentos ao repositório:
- RELEASE.md descreve o processo de libertação.
- MAINTENANCE.md define as prioridades de manutenção e os objectivos de desenvolvimento.
Consulte o último documento se estiver interessado em saber mais sobre o rumo que o projeto está a tomar.
Requisitos de codesign do macOS
Está a tornar-se cada vez mais difícil distribuir aplicações não codificadas para o macOS.
Aplicações para Apple Silicon destinadas ao macOS 10.15 ou posterior não arranca se forem descarregados através da Internet, mesmo que sejam assinados por códigos ad-hoc, que é o que o Feather faz atualmente.
Uma solução alternativa envolve a remoção de um xattr usando o terminal, mas isso não é algo que possamos pedir razoavelmente a utilizadores não técnicos.
Infelizmente, não é possível obter um certificado de ID de programador emitido pela Apple sem pôr em risco a minha identidade, o que não é algo que me sinta confortável em fazer neste momento.
Se conseguir obter um certificado de assinatura de código emitido pela Apple e estiver disposto a conceder-me acesso ao mesmo, contacte [email protected]. As despesas e o tempo despendido serão compensados em XMR.
Nota: embora as versões actuais não sejam "assinadas em código" de acordo com a definição da Apple, todas as versões são assinadas por GPG com a nossa chave de assinatura de versão. Para verificar a autenticidade de uma versão, siga as instruções na secção guia de instalação.