Kiwi TCMS 8.9

UI updates, new APIs and other improvements

Posted by Kiwi TCMS Team on Mon 07 December 2020 under releases

We're happy to announce Kiwi TCMS version 8.9!

IMPORTANT: this release includes many improvements, API changes, bug fixes, translation updates, new tests and internal refactoring. It is the seventh release to include contributions via our open source bounty program. You can explore everything at! This is also the second release after Kiwi TCMS reached 200K pulls on Docker Hub!

Supported upgrade paths:

5.3   (or older) -> 5.3.1
5.3.1 (or newer) -> 6.0.1
6.0.1            -> 6.1
6.1              -> 6.1.1
6.1.1            -> 6.2 (or newer)

Docker images:

kiwitcms/kiwi       latest  9bcfea3a532e    652 MB
kiwitcms/kiwi       6.2     7870085ad415    957 MB
kiwitcms/kiwi       6.1.1   49fa42ddfe4d    955 MB
kiwitcms/kiwi       6.1     b559123d25b0    970 MB
kiwitcms/kiwi       6.0.1   87b24d94197d    970 MB
kiwitcms/kiwi       5.3.1   a420465852be    976 MB

Changes since Kiwi TCMS 8.8


  • Update django from 3.1.3 to 3.1.4
  • Update django-extensions from 3.0.9 to 3.1.0
  • Update django-grappelli from 2.14.2 to 2.14.3
  • Update pygments from 2.7.2 to 2.7.3
  • Update python-bugzilla from 3.0.1 to 3.0.2
  • Update node_modules/marked from 1.2.3 to 1.2.5
  • Update node_modules/html5sortable from 0.9.18 to 0.10.0
  • New initial_setup command for one-stop initial setup (Ivajlo Karabojkov)
  • Bug tracker integration with BitBucket ( Fixes Issue #1916 (@cmbahadir)
  • Complete redesign and refactoring of Test Run page:
  • TestCaseStatus can now be customized. Fixes Issue #1932
  • Update documentation & screenshots


  • Setting ANONYMOUS_USER_NAME is now explicitly defined due to upstream bug in django-guardian (Abhishek Chaurasia)


  • New migrations for customizeable TestCaseStatus


  • Add TestExecution.history() method
  • Add TestCase.history() method
  • Add TestRun.add_cc() method
  • Add TestRun.remove_cc() method
  • Method TestExecution.update() will use build from parent test run if a build field isn't explicitly specified in the arguments
  • Update method TestRun.add_case()
    • will return existing TestExecution if available
    • will raise if test case status is not confirmed
    • will always create new test executions with the highest sortkey

Bug fixes

  • Fixed miscellaneous bugs in tcms.rpc.testcase (Gagan Deep)
  • Disable name change in admin for the default groups. Fixes Issue #1313

Refactoring & testing

  • Add automated tests for tcms.core.views.server_error. Fixes Issue #1606 (Abhishek Chaurasia)
  • Add automated tests for tcms.rpc.api.auth. Fixes Issue #1620 (Abhishek Chaurasia)
  • Add automated test for AnonymousViewBackend.has_perm method. Fixes Issue #1905 (Abhishek Chaurasia)
  • Add automated tests for tcms.core.utils.maito. Fixes Issue #1603 (Gagan Deep)
  • Add automated tests for tcms.utils.github. Fixes Issue #1612 (Gagan Deep)
  • Add automated tests for tcms.rpc.api.testscase. Fixes Issue #1623 (Gagan Deep)
  • Add automated tests for tcms.testcases.views.NewCaseView. Fixes Issue #1614 (@rish07)
  • Add automated tests for tcms.testplans.views.NewTestPlanView. Fixes Issue #1616 (@awalvie)
  • Separate two functions one from another (Alexander Tsvetanov)
  • Disable pylint checks (Alexander Tsvetanov)
  • Upgrade to MySQL 8 in Travis CI
  • Remove unused setup in Travis CI
  • Be more robust when keeping internal state for TestPlan page

Kiwi TCMS Enterprise v8.9-mt

  • Based on Kiwi TCMS v8.9

For more info see

How to upgrade

Backup first! If you are using Kiwi TCMS as a Docker container then:

cd path/containing/docker-compose/
docker-compose down
docker-compose pull
docker-compose up -d
docker exec -it kiwi_web /Kiwi/ migrate

Refer to our documentation for more details!

Happy testing!


If you like what we're doing and how Kiwi TCMS supports various communities please help us!