Kiwi TCMS 10.1

general security, improvement and bug-fix release

Posted by Kiwi TCMS Team on Tue 18 May 2021 under releases

We're happy to announce Kiwi TCMS version 10.1!

IMPORTANT: this release includes many improvements & security updates, database changes, new and updated API methods, bug fixes, translation updates, new tests and internal refactoring. It is the tenth release to include contributions via our open source bounty program and collaboration with Major League Hacking!

This is the second release after Kiwi TCMS reached 400K pulls on Docker Hub! You can explore everything at!

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  788af5c3f067    800 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 10.0

Improvements & security updates

  • Upgrade from Python 3.6 to Python 3.8 inside the container
  • Upgrade Django from 3.1.7 to 3.2.3
  • Upgrade django-attachments from 1.8 to 1.9.1
  • Upgrade django-contrib-comments from 2.0.0 to 2.1.0
  • Upgrade django-extensions from 3.1.1 to 3.1.3
  • Upgrade django-grappelli from 2.14.3 to 2.15.1
  • Upgrade django-simple-history from 2.12.0 to 3.0.0
  • Upgrade django-tree-queries from 0.4.3 to 0.5.1
  • Upgrade jira from 2.0.0 to 3.0.1
  • Upgrade pygments from 2.8.0 to 2.9.0
  • Upgrade python-gitlab from 2.6.0 to 2.7.1
  • Upgrade node_modules/html5sortable from 0.10.0 to 0.11.1
  • Upgrade node_modules/marked from 2.0.1 to 2.0.3
  • Time-stamp fields added to all TestRun pages. Closes Issue #1928 (Andreea Moraru)
  • Don't set TestRun.start_date automatically. Fixes Issue #2323 (Andreea Moraru)
  • Web based database initialization for new installations. Closes Issue #1698 (Ivajlo Karabojkov)
  • Automatically active the first registered user via web UI
  • Rearrange layout of before and after fields on search pages
  • Allow TestRun creation from navigation menu. Fixes Issue #2281
  • Document hardware specs & performance baseline results. Refs Issue #721
  • Document performance for TestCase.filter/TestRun.filter methods. Closes Issue #1173
  • Update documentation around docker-compose.yml and the extra script files that it needs
  • Document some useful management commands
  • Clarify set_domain command. Closes Issue #2375


  • Change TEMP_DIR to /var/tmp which affects the location in which intermediate files coming from migrations are saved. If /var/tmp doesn't exist the fallback is /tmp which on modern Linux distributions is ephemeral
  • Add DEFAULT_AUTO_FIELD to hard-code expected behavior and prevent unwanted changes introduced by future versions of Django


  • Add new fields to TestCase - setup_duration, testing_duration and a calculatable expected_duration attribute (Angelina)
  • Remove unused TestRun.product_version field


  • Method TestRun.filter() return value changes field names:

    • product_version -> plan__product_version
    • product_version__value -> plan__product_version__value


    You will need to adjust your API scripts if using these fields!

  • Method Component.filter() will return only distinct results

  • New method KiwiTCMS.version()

Bug fixes

  • Remove links and icons from TestRun print styling. Fixes Issue #2263 and Issue #2264 (Gagan Deep)
  • Emails notifications are now sent into server language. Fixes Issue #1589 (Kapil Bansal)
  • Fix compatibility bug for "advanced search & add" popup windows and latest Chrome browsers. Fixes Issue #2100
  • Redirect TestPlan Admin "Add" to the correct URL
  • Fix wrong TestExecution field names in queryset & HTML template. Refs Issue #1924
  • Add default display for None fields in Test Case page

Refactoring & testing

  • Add test automation for TestExecution.actual_duration. Refs Issue #1924 (@APiligrim)
  • Add test automation for TestCase.expected_duration. Refs Issue #1923 (@APiligrim)
  • Add test automation for ReadOnlyHistoryAdmin. Fixes Issue #1604 (Kapil Bansal)
  • Add similar-string checker to kiwi_lint. Fixes Issue #1126 (@17sushmita)
  • Resolve or silence the remaining outstanding pylint issues. Closes Issue #171
  • Update isort from 5.7.0 to 5.8.0
  • Convert forms to ModelForm
  • Remove unused method parameters
  • Remove unused string_to_list(). Closes Issue #340
  • Simplify method used for progress-bar in dashboard which also reduces the total number of SQL queries
  • Use existing functions, remove duplication
  • Remove unnecessary calls & definition of loadInitialTestPlans() in Telemetry pages

Kiwi TCMS Enterprise v10.1-mt

  • Based on Kiwi TCMS v10.1
  • Container image built with Python 3.8
  • Update kiwitcms-tenants from 1.4.3 to 1.4.4

IMPORTANT: monthly subscription price for Kiwi TCMS SaaS offering has been updated to 50 $/mo for new subscriptions. Existing customers will not be affected!

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!