O bzip2 é uma versão reescrita e reprojetada da 0.21. Parece superficialmente bastante semelhante, mas foi quase totalmente reescrito (várias vezes :-). As diferenças importantes são:
Sem patentes! (Espero; veja a declaração acima). bzip-0,21 usou codificação aritmética; O bzip2 usa a codificação Huffman, que geralmente é considerada não problemática do ponto de vista da patente. Ambos os programas são baseados na transformação Burrows-Wheeler, mas, pelo que sei, isso também não é patenteado.
Mais rápido, particularmente na descompressão. O bzip2 descomprime mais de 50% mais rápido que 0,21, principalmente devido ao uso da codificação de Huffman. Também melhorei a velocidade de compactação, embora não tanto - talvez compacte 30% mais rápido que 0,21.
Recuperação de erros de mídia. Ambos os programas compactam dados em blocos, por padrão, com 900k de comprimento. Com o bzip2, cada bloco é tratado de forma completamente independente, carrega sua própria soma de verificação e é delimitado por uma sequência de 48 bits. Portanto, se você tiver um arquivo compactado danificado, o bzip2 poderá extrair os blocos compactados, detectar quais não estão danificados e descompactá-los.
Modo de teste. Você pode testar a integridade dos arquivos compactados sem precisar descompactá-los. Eu deveria ter colocado isso em 0,21, realmente, mas estava com preguiça (+ esgotado com hackers no momento em que o libertei).
Lida com arquivos muito repetitivos muito melhor. Esses arquivos são os piores casos para qualquer compressor de classificação de blocos. O bzip2 é executado aproximadamente dez vezes mais rápido que 0,21 para esses arquivos.
Suporte para máquinas menores. O bzip2 pode descompactar qualquer arquivo criado em 2300k, o que significa que você pode descomprimir arquivos em máquinas de 4 meg. O pico de uso de memória durante a compactação também é reduzido em cerca de 900k em comparação com 0,21, para cerca de 6400k.
Melhor manuseio da bandeira. Em particular, há sinalizadores longos (- como - isso) são suportados, o que facilita o uso.
A mensagem de inicialização de uma linha impressa em 0,21 desapareceu. Esse foi o recurso mais reclamado de 0,21. Até me incomoda hoje em dia.
Não estou mais distribuindo 0,21, porque isso perpetua problemas com patentes, o que garante que o programa nunca seja amplamente utilizado. É uma pena, porque é um programa útil, e muitas pessoas parecem gostar. Se você já usa o 0.21, atualize para o bzip2. Infelizmente, não posso fazer com que o bzip2 possa descomprimir os arquivos .bz do 0.21, pois isso tornaria inútil o exercício de evitar patentes. Eu sei que alterar os formatos de arquivo é doloroso; a partir de agora, tentarei fazer outras alterações de uma maneira compatível com versões anteriores.