Kiwi TCMS 11.4

security, multiple improvements, new features and translations

Posted by Kiwi TCMS Team on Thu 04 August 2022 under releases

We're happy to announce Kiwi TCMS version 11.4!

IMPORTANT: This is a medium sized release which contains security related updates, multiple improvements, database and API changes, new settings, bug fixes and new translations!

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)


Upstream container images (x86_64):

kiwitcms/kiwi   latest  8c8356c0268d    610MB

IMPORTANT: version tagged and multi-arch container images are available only to subscribers!

Changes since Kiwi TCMS 11.3



  • Update bleach from 5.0.0 to 5.0.1
  • Update django-colorfield from 0.6.3 to 0.7.2
  • Update django-extensions from 3.1.5 to 3.2.0
  • Update django-tree-queries from 0.9.0 to 0.11.0
  • Update jira from 3.2.0 to 3.3.1
  • Update markdown from 3.3.6 to 3.4.1
  • Update mysqlclient from 2.1.0 to 2.1.1
  • Update python-gitlab from 3.3.0 to 3.7.0
  • Update node_modules/marked from 4.0.14 to 4.0.18
  • Relax docutils requirement. Use latest version
  • Add template block which will allow logo customizations (Ivajlo Karabojkov)
  • Don't show PLUGINS menu when no plugins are installed. References Issue #2729
  • Add information about Kiwi TCMS user to 1-click bug reports. Closes Issue #2591
  • Use a better icon to signify a manual test inside the user interface
  • Change UserAdmin to be permission based instead of being role-based. Fixes Issue #2496
  • Allow post-processing of automatically created issues. Closes Issue #2383
  • Allow more customization over issue type discovery for Jira. Closes Issue #2833
  • Allow more customization over project discovery for Jira
  • Allow more customization over Redmine tracker. Closes Issue #2382
  • Allow DB settings to be read from Docker Secret files. Fixes Issue #2606
  • Add filter on TestRun page to show test executions assigned to the current user. Closes Issue #333
  • Add URL for creating new TestRun from a TestPlan. The format is /runs/from-plan/<plan-id>/. Closes Issue #274
  • Add bug.Severity attribute which is fully customizeable. Closes Issue #2703
  • Update documentation around TCMS_ environment variables used by automation plugins
  • Update documentation to denote that pytest plugin is now generally available
  • Document necessary permissions for adding new users. References Issue #2496


  • New migration for bug.Severity model



  • If default_tester field is not specified for TestRun.create() method then use the currently logged-in user.
  • Return value for method TestExecution.filter() now contains fields expected_duration and actual_duration. Closes Issue #1924
  • Return value for method Bug.filter() now contains fields severity__name, severity__icon and severity__color

Bug fixes

  • Adjust field name when rendering test execution on TestRun page. Fixes Issue #2794
  • Render rich text editor preview via backend API:
    • Makes display on HTML pages and editor preview the same. Fixes Issue #2659
    • Fixes a bug with markdown rendered in JavaScript. Fixes Issue #2711
  • Stop propagation of HTML unescape which causes display issues with code snippets that contain XML values. Fixes Issue #2800
  • Show bug text only when creating new records, not when editing
  • Properly display & validate related form fields when editing bugs
  • Don't send duplicate emails when editing bugs. Fixes Issue #2782

Refactoring and testing

  • Convert two assignment statements to augmented source code. Closes Issue #2610 (Markus Elfring)

  • Rename method IssueTrackerType.report_issue_from_testexecution():

    • Rename to _report_issue() which returns tuple of (object, str)
    • In case new issue was not created automatically and the method falls back to manual creation the return value will be (None, str)
    • report_issue_from_testexecution() will call _report_issue() internally and handle the change in return type


    • This change is backwards compatible!
    • For customized issue tracker integration you will have to apply the same changes to your customized code if you wish new functionality, like post-processing of automatically created issues to work.
  • Add tests for backup & restore commands. Closes Issue #2695

  • Update versions of several CI tools

  • Updates around new version of pylint

  • Use codecov-action to upload coverage results

  • Remove setuptools and other workarounds in tests

  • Don't special case dependencies which already provide wheel packages

  • Workaround an issue with setuptools_git_archive introduced by jira==3.2.0

  • Workaround the fact that django-ranged-response doesn't provide wheels

  • Report test results via kiwitcms-django-plugin. Closes Issue #1757

Kiwi TCMS Enterprise v11.4-mt

  • Based on Kiwi TCMS v11.4

  • Update django-python3-ldap from 0.13.1 to 0.15.2

  • Update django-ses from 3.0.1 to 3.1.0

  • Update dj-database-url from 0.5.0 to 1.0.0

  • Add more icons for extra GitHub login backends

  • Add images for various Google login backends

    Private images:         11.4-mt (aarch64)       f5720d030612    03 Aug 2022     862MB         11.4-mt (x86_64)        8ffd5a64a4d1    03 Aug 2022     829MB            11.4 (aarch64)          62207c605dcf    03 Aug 2022     639MB            11.4 (x86_64)           8c8356c0268d    03 Aug 2022     610MB

IMPORTANT: version tagged, multi-arch and Enterprise container images are available only to subscribers!

How to upgrade

Backup first! Then execute the commands:

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

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 grow!