Skip to content

Kiwi TCMS 6.5 (1 Feb 2019)

Compare
Choose a tag to compare
@atodorov atodorov released this 10 Nov 18:09
· 4704 commits to master since this release

We are celebrating 10 years of open source history at FOSDEM, Brussels!

IMPORTANT: this is a minor security, improvement and bug-fix update that includes new
versions of Django and other dependencies, removes some database fields,
includes backend API updates and fixes several bugs.

Together with this release we announce:

  • kiwitcms-tap-plugin <https://github.com/kiwitcms/tap-plugin>_ : for reading
    Test Anything Protocol (TAP) files and uploading the results to Kiwi TCMS
  • kiwitcms-junit.xml-plugin <https://github.com/kiwitcms/junit.xml-plugin>_ :
    for reading junit.xml formatted files and uploading the results to Kiwi TCMS

Both of these are implemented in Python and should work on standard TAP and
junit.xml files generated by various tools!

Additionally 3 more plugins are currently under development by contributors:

  • Native JUnit 5 plugin <https://github.com/kiwitcms/junit-plugin/>_ written
    in Java
  • Native PHPUnit <https://github.com/kiwitcms/phpunit-plugin/>_ written
    in PHP
  • py.test plugin <https://github.com/kiwitcms/pytest-plugin/>_

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)

After upgrade don't forget to::

./manage.py migrate

Security


- Better override of SimpleMDE markdown rendering to prevent XSS vulnerabilities
  in SimpleMDE


Improvements
  • Update patternfly to version 3.59.1

  • Update bleach from 3.0.2 to 3.1.0

  • Update django-vinaigrette from 1.1.1 to 1.2.0

  • Update django-simple-history from 2.6.0 to 2.7.0

  • Update django-grappelli from 2.12.1 to 2.12.2

  • Update mysqlclient from 1.3.14 to 1.4.1

  • Update psycopg2 from 2.7.6.1 to 2.7.7

  • Update pygithub from 1.43.4 to 1.43.5

  • Convert TestCase page to Patternfly

    • page menu is under ... in navigation bar
    • Test plans card is missing the old 'add plan' functionality b/c we are not
      at all sure if adding plans to test cases is used at all. Can bring it back
      upon user request!
    • Bugs card is missing the add/remove functionality for b/c we are not
      quite sure how that functionality is used outside test runs!
  • Convert new TestCase page to Patternfly and provide Given-When-Then text
    template. This prompts the author to use a BDD style definition for their
    scenarios. We believe this puts the tester into a frame of mind more
    suitable for expressing what needs to be tested

  • Add a favicon. Fixes
    Issue #532 <https://github.com/kiwitcms/Kiwi/issues/532>_

  • Sort Component, Product and Version objects alphabetically. Fixes
    Issue #633 <https://github.com/kiwitcms/Kiwi/issues/633>_

  • Search test case page now shows Components and Tags

  • Search test case page now allows filtering by date. Fixes
    Issue #715 <https://github.com/kiwitcms/Kiwi/issues/715>_

  • Search test case page now uses radio buttons to filter by automation status

  • Small performance improvement when searching test plans and test cases

  • Search test run page now allows to filter by Product but still continue to
    display all Builds in the selected Product

  • Updated doc-string formatting for some tcms modules

Database migrations


**Known issues:** on our demo installation we have observed that permission
labels were skewed after applying migrations. The symptom is that labels for
removed models are still available, labels for some models may have been removed
from groups/users or there could be permission labels appearing twice in the
database.

This may affect only existing installations, new installations do not have
this problem!

We are not certain what caused this but a quick fix is to remove all permissions
from the default *Tester* group and re-add them again!

- Remove ``TestCase.alias``
- Remove ``TestCaseRun.running_date``
- Remove ``TestCaseRun.notes``
- Remove ``TestCase.is_automated_proposed``
- Remove ``TestCaseText`` model, merge into ``TestCase.text`` field. Closes
  `Issue #198 <https://github.com/kiwitcms/Kiwi/issues/198>`_
- Remove ``Priority.sortkey``
- Remove ``Build.description``
- Remove ``Classification.sortkey`` and ``Classification.description``
- Convert ``TestCase.is_automated`` from ``int`` to ``bool``
- Rename ``TestCaseRun.case_run_status`` to ``status``


API
~~~

- New method ``TestCaseRunStatus.filter()``
- New method ``Product.create()``
- New method ``Classification.filter()``
- New method ``BugSystem.filter()``
- Changes to ``TestCase.add_component()``:

  - now accepts component name instead of id
  - now fails if trying to add components linked to another Product.
  - now returns serialized ``TestCase`` object


Translations
~~~~~~~~~~~~

- Updated `French translation <https://crowdin.com/project/kiwitcms/fr#>`_
- Updated `Slovenian translation <https://crowdin.com/project/kiwitcms/sl#>`_


Bug fixes
~~~~~~~~~

- Fix for missing migrations from ``django-simple-history``, see
  `DSH #512 <https://github.com/treyhunner/django-simple-history/issues/512>`_ and
  `StackOverflow #54177838 <https://stackoverflow.com/questions/54177838/>`_
- Fix cloning of test cases by surrounding bootstrap-selectpicker call with
  ``try-catch``. Fixes
  `Issue #695 <https://github.com/kiwitcms/Kiwi/issues/695>`_
- Fix a traceback with TestRun report page when the RPC connection to Bugzilla
  can't be established


Refactoring
~~~~~~~~~~~

- Remove unused form classes, methods, fields and label attributes
- Remove unused or duplicate methods from ``TestCase`` model
- Remove useless methods from BaseCaseForm()
- Add test for discovering missing migrations
- Add test for sanity checking PyPI packages which will always
  build tarball and wheel packages