Kallithea уключае ў сябе высокапрадукцыйны сервер апрацоўкі push/pull-запытаў і вэб-інтэрфейс для арганізацыі сумеснай распрацоўкі, які дазваляе кіраваць рэпазітарамі, падзяляць правы доступу, рэцэнзаваць код, адсочваць актыўнасць іншых удзельнікаў, рабіць форкі праектаў, адпраўляць пул-рэквесты або змяняць код на месцы, праз просты рэдактар. Падтрымліваецца інтэграцыя з цэнтралізаванай базай карыстальнікаў прадпрыемства, заснаванай на LDAP ці ActiveDirectory. Падтрымліваецца стварэнне груп рэпазітароў і груп распрацоўшчыкаў з уніфікацыяй кіравання членамі групы. Вонкавы выгляд інтэрфейсу можа лёгка быць зменены праз сістэму шаблонаў. Падтрымліваецца нагляднае ўяўленне актыўнасці ў выглядзе графікаў. У сістэме рэцэнзавання змен падтрымліваецца абмеркаванне змен і адпраўка апавяшчэнняў.
Серверная частка платформы з'яўляецца шматструменнай, што дазваляе адначасова абслугоўваць некалькі pull/push-запытаў. Для павелічэння прадукцыйнасці ў сістэме актыўна выкарыстоўваецца кэшаванне і выкананне дзеянняў у асінхронным рэжыме. У сістэму інтэграваныя сродкі рэзервовага капіявання, якія дазваляюць перыядычна архіваваць і захоўваць праз "scp" копію ўсіх дадзеных. Для адсочвання актыўнасці ў рэпазітарах падтрымліваецца спецыяльная праслойка, якая вядзе часопіс усіх зваротаў і дазваляе аўтэнтыфікаваць кожны запыт. Для працы з рэпазітарамі задзейнічана бібліятэка
Асноўныя змены:
- Прадастаўлена магчымасць доступу да рэпазітара пры дапамозе SSH, выкарыстоўваючы URL выгляду «ssh://[электронная пошта абаронена]/name/of/repository». Аўтэнтыфікацыя пры звароце да рэпазітара праз SSH ажыццяўляецца на аснове адкрытага ключа карыстальніка (з дадатковай абаронай ключа паролем або без, у залежнасці ад перавагі карыстальніка). Загрузка ключа (~/.ssh/id_rsa.pub) на сервер ажыццяўляецца праз web-інтэрфейс Kallithea, які аўтаматызуе захаванне ключа ў файле authorized_keys. Адзначаецца, што прадукцыйнасць працы з рэпазітаром праз SSH вышэй, чым пры звароце да рэпазітара па HTTPS.
- Дададзена падтрымка размеркаванай сістэмы кіравання версіямі Mercurial 5.2.
- Перапрацаваная функцыя "Admin > Settings > Visual > (HTTP) Clone URL", апрацоўшчык якой зараз відавочна правярае наяўнасць радкоў "{repo}" і "_{repoid}".
- Праведзена чыстка сістэмы правоў доступу - правы доступу заўсёды разглядаюцца толькі як дадатковыя, г.зн. гарантуецца, што ў любога карыстальніка як мінімум будуць тыя ж правы, што і ў карыстальніка па змаўчанні.
- У канфігурацыйным файле арэкрашчана падтрымка налады api_access_controllers_whitelist. Аўтэнтыфікацыя праз ключ доступу да API зараз аўтаматычна дае доступ да ўсіх API, дазволеных карыстачу.
- Спынена падтрымка Python 2.6. У цяперашні час падтрымліваецца толькі галінка Python 2.7, але распрацоўшчыкі працуюць над забеспячэннем паўнавартаснай падтрымкі Python 3.x.
- Выдалена функцыя блакавання рэпазітара (pull-to-lock, push-to-unlock).
Крыніца: opennet.ru