Kallithea inclui um servidor de alto desempenho para processar solicitações push/pull e uma interface web para organizar o desenvolvimento colaborativo, que permite gerenciar repositórios, compartilhar direitos de acesso, revisar código, rastrear a atividade de outros participantes, bifurcar projetos, enviar solicitações pull ou altere o código para colocar, através de um editor simples. A integração com um banco de dados centralizado de usuários corporativos baseado em LDAP ou ActiveDirectory é suportada. A criação de grupos de repositórios e grupos de desenvolvedores com gerenciamento unificado dos membros do grupo é suportada. A aparência da interface pode ser facilmente alterada através do sistema de templates. É suportada uma representação visual da atividade na forma de gráficos. O sistema de revisão de alterações oferece suporte à discussão de alterações e ao envio de notificações.
A parte do servidor da plataforma é multithread, o que permite atender simultaneamente várias solicitações pull/push. Para aumentar o desempenho, o sistema usa ativamente o cache e executa ações no modo assíncrono. O sistema possui ferramentas de backup integradas que permitem arquivar e salvar periodicamente uma cópia de todos os dados via “scp”. Para rastrear atividades em repositórios, é suportada uma camada especial que mantém um registro de todas as solicitações e permite que cada solicitação seja autenticada. Uma biblioteca é usada para trabalhar com repositórios
Grandes mudanças:
- É possível acessar o repositório usando SSH usando uma URL como “ssh://[email protegido]/nome/de/repositório". A autenticação ao acessar um repositório via SSH é baseada na chave pública do usuário (com ou sem proteção adicional por senha da chave, dependendo da preferência do usuário). O upload da chave (~/.ssh/id_rsa.pub) para o servidor é realizado através da interface web do Kallithea, que automatiza o salvamento da chave no arquivoauthorized_keys. Nota-se que o desempenho de trabalhar com o repositório via SSH é maior do que ao acessar o repositório via HTTPS.
- Adicionado suporte para sistema de controle de versão distribuído Mercurial 5.2.
- A função “Admin > Configurações > Visual > (HTTP) Clone URL” foi reformulada, cujo manipulador agora verifica explicitamente a presença das strings “{repo}” e “_{repoid}”.
- O sistema de direitos de acesso foi limpo - os direitos de acesso são sempre considerados apenas como adicionais, ou seja, é garantido que qualquer usuário terá pelo menos os mesmos direitos que o usuário padrão.
- O suporte para a configuração api_access_controllers_whitelist foi removido do arquivo de configuração. A autenticação por meio de uma chave de acesso de API agora concede automaticamente acesso a todas as APIs permitidas ao usuário.
- O suporte para Python 2.6 foi descontinuado. Atualmente apenas o branch Python 2.7 é suportado, mas os desenvolvedores estão trabalhando para fornecer suporte completo para Python 3.x.
- A função de bloqueio do repositório (pull-to-lock, push-to-unlock) foi removida.
Fonte: opennet.ru