Dear testers, we're happy to announce Kiwi TCMS version 16.2!
IMPORTANT:
This is a minor version release which includes multiple security related updates, several improvements, database migrations, API changes and bug fixes.
You can explore everything at https://public.tenant.kiwitcms.org!
---
Public container image (x86_64):
pub.kiwitcms.eu/kiwitcms/kiwi latest 1296a8044fcb 863MB
IMPORTANT: version tagged and multi-arch container images are available only to subscribers!
Changes since Kiwi TCMS 16.1
Security
- Update Django from 6.0.6 to 6.0.7
- Update node_modules/fast-uri from 3.1.3 to 3.1.4
- Make admin pages, views and API methods tenant aware so that they only show users which are authorized for the current tenant. Fixes Issue #4410
- Restrict field arguments for API method calls. See GHSA-554x-3chh-x3h9
- Remove handling for ?next= parameter in Confirm view. See GHSA-gcwf-c25f-p9rv
- Improve how upload validator interprets chunks for large files. See GHSA-cjrx-h8r2-jgc7
- Improve parsing for tracker_from_url() helper. See GHSA-3qxv-9j3q-c68v
Improvements
- Update django-modern-rpc from 1.1.0 to 2.1.0
- Update tzdata from 2026.2 to 2026.3
- Update node_modules/webpack from 5.107.2 to 5.108.4
- Update node_modules/webpack-cli from 7.0.3 to 7.2.1
- On TestRun Admin page when clicking the "+ Add test run" button redirect to the New Test Run page
API
- Method Component.create() no longer accepts the initial_qa_contact field
- Method Component.filter() no longer returns the initial_qa_contact field
Database
- Remove initial_qa_contact field from Component model - not used anywhere
- Introduce new migration management.0013_remove_initial_qa_contact
Bug fixes
- Fix broken URL in documentation. Fixes Issue #4401
Refactoring and testing
- Update actions/setup-node from 6 to 7
- Update locust from 2.44.4 to 2.46.1
- Update pylint-django from 2.7.0 to 2.8.0
- Add JSON-RPC tests for User.filter API method
- Add test case for Environment Admin page
- Adjust calls to format_html() to always pass arguments
- Replace mark_safe() with format_html()
- Refactor API methods for compatibility with django-modern-rpc v2
- Refactor HTML escape logic with class-based KiwiTCMSHandlerMixin base for the existing custom API handlers
- Remove unused User = get_user_model() assignments
Changes since Kiwi TCMS Enterprise v16.1-mt
- Based on Kiwi TCMS v16.2
- Update certbot from 5.6.0 to 5.7.0
- Update kiwitcms-tenants from 4.5.0 to 4.7.0
- Update sentry-sdk from 2.63.0 to 2.66.0
- Update social-auth-app-django from 5.9.0 to 6.0.0 - login views now only accept POST requests!
- Refactor social-auth login buttons to forms
Private container images
hub.kiwitcms.eu/kiwitcms/version 16.2 (aarch64) 67362bc2085e 22 Jul 2026 716MB hub.kiwitcms.eu/kiwitcms/version 16.2 (x86_64) 133f2a8a46e5 22 Jul 2026 697MB hub.kiwitcms.eu/kiwitcms/enterprise 16.2-mt (aarch64) 31dce251b9a8 22 Jul 2026 915MB hub.kiwitcms.eu/kiwitcms/enterprise 16.2-mt (x86_64) 6f1d64253383 22 Jul 2026 893MB
IMPORTANT: version tagged, multi-arch and Enterprise container images are available only to subscribers!
How to upgrade
Follow the Upgrading instructions from our documentation.
Happy testing!
---
If you like what we're doing and how Kiwi TCMS supports various communities please help us grow!
- Give ⭐ on GitHub;
- Join our newsletter and follow all news;
- Become a subscriber and help us sustain development