Foi preparado o primeiro lançamento alfa do FreeBSD 15.0. As compilações de instalação foram formadas para as arquiteturas amd64, powerpc64le, aarch64 e riscv64. O lançamento está programado para 2 de dezembro. A atualização para o ramo 15.0-ALPHA1 a partir de versões anteriores através da ferramenta freebsd-update ainda não foi implementada.
A partir do ramo FreeBSD 15, o tempo de suporte dos principais ramos após a formação do primeiro lançamento (15.0) foi reduzido de 5 para 4 anos, e novos ramos principais serão formados a cada dois anos. Versões intermediárias (15.1, 15.2, 15.3) serão desenvolvidas dentro de um ciclo fixo de desenvolvimento, prevendo a publicação de novas versões em um ramo aproximadamente a cada 6 meses, ao invés de uma vez por ano, como era feito anteriormente. Considerando o suporte simultâneo de dois ramos principais diferentes, um novo lançamento intermediário será publicado a cada 3 meses (15.4, 16.1, 15.5, 16.2 etc.), exceto durante a preparação dos primeiros lançamentos de novos ramos principais, que terão um intervalo de 6 meses entre eles (por exemplo, o lançamento 15.3 será formado em junho de 2027, 16.0 em dezembro de 2027, 15.4 — em março de 2028, 16.1 — em junho de 2028).
No anúncio oficial da versão alfa do FreeBSD 15, há um link para as notas de lançamento (cópia) com uma lista de mudanças incorreta. A lista mencionada carece de sentido, pois contém alterações não específicas para o ramo FreeBSD 15, mas alterações no ramo 14.x em relação ao lançamento 14.0, ou seja, dados antigos foram transferidos de notas de lançamento anteriormente publicadas 14.1, 14.2 e 14.3.
Algumas alterações no ramo FreeBSD 15, destacadas no Git:
- A formação de imagens de instalação e compilações de pacotes binários para arquiteturas de 32 bits foi interrompida. A possibilidade de compilar programas de 32 bits e usar o modo COMPAT_FREEBSD32 para executar arquivos executáveis de 32 bits em um ambiente baseado no núcleo de 64 bits será mantida pelo menos até o final do ciclo de vida do ramo FreeBSD 16.
- O gerenciador de volumes lógicos gvinum, que era usado para RAID de software, foi removido. O desenvolvimento do Gvinum foi interrompido há cerca de 15 anos, e o código contém uma série de problemas conhecidos que nunca foram corrigidos. Em vez do gvinum, recomenda-se o uso do gconcat, gmirror, gstripe, graid ou zfs.
- Está previsto para remoção o driver agp (Accelerated Graphics Port), necessário para o funcionamento de muitos drivers para placas de vídeo antigas.
- O estado dos drivers DRM i915 e amdgpu foi sincronizado com o núcleo Linux 6.9.
- Foi adicionado suporte para atributos nomeados de arquivos (atributos estendidos no estilo Solaris), que são planejados para serem suportados como um mecanismo alternativo de gerenciamento de atributos estendidos, disponível para ZFS e NFSv4. As diferenças em relação aos métodos tradicionais de FreeBSD e Linux para trabalhar com atributos estendidos se resumem à apresentação dos atributos em um diretório de serviço, não visível no espaço principal do sistema de arquivos e associada ao arquivo. O trabalho com atributos é tratado como arquivos normais; por exemplo, para determinar a lista de atributos, pode-se executar a função readdir().
- Chamadas de sistema foram implementadas com a realização do mecanismo inotify para rastreamento de mudanças em sistemas de arquivos.
- Foi adicionada a utilidade sndctl para gerenciar as configurações das placas de som.
- Foi adicionada a utilidade mididump para despejar eventos MIDI 1.0 em tempo real.
- Foi declarado pronto para uso o módulo mac_do, que permite definir políticas que autorizam usuários não privilegiados a alterar credenciais de processos. Para executar comandos como outro usuário, foi preparada a utilidade mdo, semelhante à utilidade su, mas que não requer suid root.
- A implementação do protocolo TLS no lado do núcleo (KTLS) está habilitada por padrão.
- Um novo backend de rede 'slirp' foi adicionado ao hypervisor bhyve, utilizando a biblioteca libslirp com a implementação da pilha de rede no espaço do usuário. O backend 'slirp' permite o acesso à rede do sistema convidado a partir do ambiente do host sem configuração de rede adicional no lado do host.
- O comportamento das chamadas de sistema setgroups, getgroups e initgroups no tratamento de grupos de usuários foi aproximado ao de outras plataformas (a diferença na implementação no FreeBSD se resumia ao armazenamento do identificador de grupo efetivo do processo no primeiro elemento do array com a lista de grupos).
- A implementação do Kerberos no núcleo do FreeBSD foi substituída de Heimdal Kerberos para MIT Kerberos. Para retornar ao Heimdal Kerberos durante a construção, pode-se usar a flag WITHOUT_MITKRB5. No FreeBSD 16, o suporte à construção do Heimdal Kerberos será removido.
- Foi adicionada a suporte para a operação CLONE no NFS, conforme especificado na NFSv4.2, permitindo a cópia rápida de arquivos através da clonagem de blocos em servidor. O modo só está funcionando na exportação de partições ZFS via NFS.
- A confiabilidade das partições com o sistema de arquivos UFS foi aumentada, agora suportando mais de 2.000.000.000 inodes.
- Nos sistemas amd64, foi adicionada a capacidade de usar mais de 4TB de RAM.
- A função readdir_r foi declarada obsoleta.
- No servidor SNMP bsnmpd, o suporte ao transporte UDP foi descontinuado.
- Foi adicionado o driver ufshci para suportar controladores de sistemas de armazenamento com a interface UFSHCI (Universal Flash Storage Host Controller Interface).
- Por padrão, a configuração net.inet.tcp.nolocaltimewait foi desativada e considerada obsoleta, ou seja, a criação de registros TIME_WAIT para conexões TCP que são encerradas pelo sistema local foi restaurada como padrão. Para ajustar o tempo em que a conexão permanece no estado TIME_WAIT, foi adicionado um novo sysctl net.inet.tcp.msl_local.
- Por padrão, o suporte à criação de conexões de rede para localhost foi desativado, especificando INADDR_ANY. Para reativar esse suporte, é necessário definir o sysctl net.inet.ip.connect_inaddr_wild com o valor 1.
- O sysctl net.link.bridge.member_ifaddrs está definido como 0 por padrão, ou seja, é possível adicionar interfaces às pontes de rede sem restrições. endereços IP.
- No sistema de arquivos UFS1, foi resolvido um problema relacionado ao ano 2038 (agora é possível usar datas até o ano de 2106).
- Foi interrompida a geração de chaves de host RSA para SSH e EC2 AMI.
- Adicionada a opção de soquete de rede SO_SPLICE para agrupar conexões TCP (semelhante a um proxy que opera sem copiar dados para o espaço do usuário).
- Na utilidade grep, o rastreamento de links simbólicos está desabilitado por padrão durante a busca recursiva.
- Adicionado o módulo do kernel nvmft para suporte a controladores NVMe over Fabric e a utilidade nvmecontrol para conexão a um controlador externo NVMe over Fabric.
- Na utilidade date, foi adicionada a capacidade de exibir o tempo com precisão em nanossegundos; por exemplo, 'date -Ins' exibirá '2024-04-22T12:20:28,763742224+02:00'.
- Adicionada a opção zfs.dataset ao jail para incluir uma partição, snapshot ou clone ZFS no ambiente isolado.
- No tty, a bandeira IUTF8 está ativada por padrão, permitindo a exclusão correta de caracteres UTF-8 ao pressionar Backspace.
- A ferramenta dialog foi substituída por bsddialog.
- Atualizadas as versões do Lua 5.4.8, jemalloc 5.3.0, Awk 04082025, unicode 16.0.0, CLDR 45.0.0, byacc 20240109, ncurses 6.5.
Fonte: opennet.ru
