Happy New Year to everyone. We're happy to announce Kiwi TCMS version 3.49 and the corresponding tcms-api version 1.5.0! This release includes a fair amount of bug fixes and many changes related to Kiwi's RPC layer!
Most importantly Kiwi is updated to Django 2.0.1, the API client no longer supports Python 2 and many RPC methods have been removed or updated. https://public.tenant.kiwitcms.org has also been updated so you can explore the new version.
Changes since Kiwi TCMS 3.48
Enhancements and bug fixes
- Upgrade to Django 2.0.1
- Don't log passwords sent via RPC
- Log XML-RPC requests from anonymous users. Fixes Issue #126
- Order
TCMSEnvValue
records by property name and value. Fixes Issue #155 - flake8 fixes (Anton Sankov)
- Start building source code documentation from Python doc strings
- Properly urlencode emails in personal menu links
- Remove test case import via XML files
- Use django-attachments for user uploaded files. Fixes Issue #160 As part of this change we no longer copy Plan and Case attachments when cloning these objects.
NOTE: Since django-attachments introduces new permission objects
you will have to adjust default permissions for existing users!
In order for them to be able to upload/delete their own files they
need to have attachments.add_attachment
and atachments.delete_attachment
permissions.
These same permissions are added by default to the 'Tester' group. If you are running an existing installation registering a new user with Kiwi TCMS will update the default permissions for this group!
Refactoring
- Remove unused class EditCaseNotifyThread (Chenxiong Qi)
- Remove model TestPlanActivity (Chenxiong Qi)
- Remove many unused models and classes
- Execute tests via
manage.py test
and drop py.test dependency - Remove useless
TestTag.string_to_list
method. Fixes Issue #106 - Use
settings.AUTH_USER_MODEL
in ForeignKey definitions. Fixes Issue #143
Settings
- Rename
EMAIL_FROM
toDEFAULT_FROM_EMAIL
. Fixes Issue #128 - Rename
FILE_UPLOAD_DIR
toMEDIA_ROOT
- Rename
MAX_UPLOAD_SIZE
toFILE_UPLOAD_MAX_SIZE
- New setting
DELETE_ATTACHMENTS_FROM_DISK
- Remove unused
XMLRPC_TEMPLATE
andTESTOPIA_XML_VERSION
Server side API
- Migrate to
django-modern-rpc
and remove home-grown XML-RPC handling code. As part of this change the XML-RPC endpoint has been changed to/xml-rpc/
. There's also a new JSON-RPC endpoint at/json-rpc/
! Auth.login
method now accepts positional parametersusername, password
instead of dictTestCaseRun.get
method now accepts a query dict as parameterTestCaseRun.get_bugs
method now accepts a query dict as parameter- Remove
Build.lookup_id_by_name
,Build.lookup_name_by_id
RPC methods - Remove
Product.lookup_name_by_id
,Product.lookup_id_by_name
RPC methods - Remove
Product.get_components
, useProduct.filter_components
instead - Remove
Product.get_plans
, useTestPlan.filter
instead - Remove
Product.get_runs
, useTestRun.filter
instead - Remove
Product.get_tag
, useTag.get_tags
instead - Remove
Product.get_versions
, useProduct.filter_versions
instead - Remove
TestCaseRun.filter_count
, useTestCaseRun.filter
instead - Remove
TestCaseRun.get_s
, useTestCaseRun.get
instead - Remove
TestCaseRun.get_bugs_s
, useTestCaseRun.get_bugs
instead - Remove
TestCaseRun.get_case_run_status
, useTestCaseRun.get_case_run_status_by_name
instead - Remove
TestCaseRun.get_completion_time
,TestCaseRun.get_completion_time_s
RPC methods. Instead calculate them on the client side - Rename
TestCaseRun.check_case_run_status
toTestCaseRun.get_case_run_status_by_name
TestCaseRun.detach_log
will not raise exceptions when deleting logs from non-existing TestCaseRun objects.- Remove
User.get_me
, instead useUser.get
without parameters - Remove
Version.
andTestopia.
RPC modules - Update documentation for RPC methods in
Auth
,Build
andEnv
namespaces. Unformatted documentation is also available for the rest of the RPC methods
tcms-api changes since 1.4.0
- Update endpoint configuration, compatible with Kiwi TCMS 3.49
- Drop support for Python 2
- Remove the internal
do_command
method which eliminates use ofeval()
- Remove
TCMSXmlrpc.get_me()
andTCMSXmlrpc.build_get()
methods
IMPORTANT: this release introduces new database migrations!
How to upgrade
If you are using Kiwi TCMS as a Docker container then
cd Kiwi/
docker-compose down
make docker-image
docker-compose up -d
docker exec -it kiwi_web /Kiwi/manage.py migrate
Happy testing!