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
TCMSEnvValuerecords 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 testand drop py.test dependency - Remove useless
TestTag.string_to_listmethod. Fixes Issue #106 - Use
settings.AUTH_USER_MODELin ForeignKey definitions. Fixes Issue #143
Settings
- Rename
EMAIL_FROMtoDEFAULT_FROM_EMAIL. Fixes Issue #128 - Rename
FILE_UPLOAD_DIRtoMEDIA_ROOT - Rename
MAX_UPLOAD_SIZEtoFILE_UPLOAD_MAX_SIZE - New setting
DELETE_ATTACHMENTS_FROM_DISK - Remove unused
XMLRPC_TEMPLATEandTESTOPIA_XML_VERSION
Server side API
- Migrate to
django-modern-rpcand 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.loginmethod now accepts positional parametersusername, passwordinstead of dictTestCaseRun.getmethod now accepts a query dict as parameterTestCaseRun.get_bugsmethod now accepts a query dict as parameter- Remove
Build.lookup_id_by_name,Build.lookup_name_by_idRPC methods - Remove
Product.lookup_name_by_id,Product.lookup_id_by_nameRPC methods - Remove
Product.get_components, useProduct.filter_componentsinstead - Remove
Product.get_plans, useTestPlan.filterinstead - Remove
Product.get_runs, useTestRun.filterinstead - Remove
Product.get_tag, useTag.get_tagsinstead - Remove
Product.get_versions, useProduct.filter_versionsinstead - Remove
TestCaseRun.filter_count, useTestCaseRun.filterinstead - Remove
TestCaseRun.get_s, useTestCaseRun.getinstead - Remove
TestCaseRun.get_bugs_s, useTestCaseRun.get_bugsinstead - Remove
TestCaseRun.get_case_run_status, useTestCaseRun.get_case_run_status_by_nameinstead - Remove
TestCaseRun.get_completion_time,TestCaseRun.get_completion_time_sRPC methods. Instead calculate them on the client side - Rename
TestCaseRun.check_case_run_statustoTestCaseRun.get_case_run_status_by_name TestCaseRun.detach_logwill not raise exceptions when deleting logs from non-existing TestCaseRun objects.- Remove
User.get_me, instead useUser.getwithout parameters - Remove
Version.andTestopia.RPC modules - Update documentation for RPC methods in
Auth,BuildandEnvnamespaces. 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_commandmethod 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!