Skip to content

Commit

Permalink
Changelog for version 7.0
Browse files Browse the repository at this point in the history
  • Loading branch information
atodorov committed Sep 24, 2019
1 parent aeae321 commit d3c3868
Show file tree
Hide file tree
Showing 2 changed files with 241 additions and 1 deletion.
240 changes: 240 additions & 0 deletions CHANGELOG.rst
@@ -1,6 +1,246 @@
Change Log
==========

Kiwi TCMS 7.0 (24 Sep 2019)
---------------------------

**IMPORTANT:** this is a major release which includes security updates,
significant database schema and API changes, many improvements,
removed functionality, bug fixes, substantial internal refactoring and
several new languages.


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
~~~~~~~~

- API method ``BugSystem.filter()`` has been removed (now unused) but
it was possible to use this method to steal passwords or keys used for
Issue Tracker integration. This vulnerability could be exploited by
users logged into Kiwi TCMS and is classified as medium severity!
We advise you to change your integration API keys and passwords
immediately!


Improvements
~~~~~~~~~~~~

- Update Django from 2.2.4 to 2.2.5
- Update django-uuslug from 1.1.8 to 1.1.9
- Update mysqlclient from 1.4.2.post1 to 1.4.4
- Update python-bugzilla from 2.2.0 to 2.3.0
- Update python-gitlab from 1.10.0 to 1.11.0
- Update patternfly from 3.59.3 to 3.59.4
- Reduce docker image size from 1.01 GB to 577 MB
- Add TestCase Health telemetry
- Add support for Redmine issue tracker. Fixes
`Issue #41 <https://github.com/kiwitcms/Kiwi/issues/41>`_ (Jesse C. Lin)
- Add breathing room around HTML form's submit buttons (Rady Madjev)
- New TestRun page action: bulk-add hyperlinks to TestExecution(s)
- Make it possible to disable HTTPS by specifying the
``KIWI_DONT_ENFORCE_HTTPS`` environment variable! Fixes
`Issue #1036 <https://github.com/kiwitcms/Kiwi/issues/1036>`_ (Marco Descher)
- Documentation updates, including internal style checker. Fixes
`Issue #1000 <https://github.com/kiwitcms/Kiwi/issues/1000>`_ (Prome88)
- When linking a TestExecution to a defect and choosing to update the
Issue Tracker Kiwi TCMS will not add a comment pointing back to
TR ID/summary/URL and TE ID/summary. This provides more detailed information
about the reproducer instead of just linking to a TestCase without any
specific execution details like we did in the past
- Display additional defect information via Issue Tracker integration.
On Patternfly pages which show defect URLs this is accessible via a
small info icon. Fixes
`Issue #117 <https://github.com/kiwitcms/Kiwi/issues/117>`_
- Add minimalistic defect tracker functionality. Fixes
`Issue #699 <https://github.com/kiwitcms/Kiwi/issues/699>`_

- integrated with Issue Tracker integration layer as if it was
an external system
- when adding hyperlink to TestExecition (also via API method
``TestExecution.add_link()``) this is special cased and the
references between ``Bug`` and ``TestExecution`` are always updated
- when clicking 'Report bug' from inside Test Execution the new
defect is reported automatically and a new browser window opens to
display the information


Database migrations
~~~~~~~~~~~~~~~~~~~

- Tell the migration planner to apply
``testruns.0006_rename_test_case_run_to_test_execution`` after
``linkreference.0001_squashed``. This enables subsequent migrations
and new functionality to be applied without crashing.

.. warning::

Django should be able to handle this automatically both for
existing installations and for new ones. In any case make sure
you backup your data first and make a dry-run to verify that
nothing breaks!

- Remove fields ``url_reg_exp``, ``validate_reg_exp`` and ``description`` from
``BugSystem`` model
- Update the following fields in ``LinkReference`` model:

- rename ``test_case_run`` to ``execution``
- add indexing for ``created_on`` and ``url``
- add ``is_defect`` field

- Apply ``LinkReference`` permissions to default group ``Tester``. Fixes
`Issue #881 <https://github.com/kiwitcms/Kiwi/issues/881>`_

.. warning::

Administrators of existing applications will need to
apply these permissions by hand via the Admin section.

- Remove ``testcases.Bug`` model, replaced with ``LinkReference``.
Closes `Issue #1029 <https://github.com/kiwitcms/Kiwi/issues/1029>`_ and
obsoletes `Issue #320 <https://github.com/kiwitcms/Kiwi/issues/320>`_.

.. note::

Linking bugs to TestExecution is now performed via URLs instead of
keeping a reference to BUG-ID and trying to reconstruct the URL
on the fly.

.. warning::

The model named ``Bug`` which is added by subsequent migrations
refers to defects reported into Kiwi TCMS minimalistic defect tracker!

- New model ``bugs.Bug`` is now available. Permissions of type
``bugs | bug | Can ...`` will be applied to the default group named
``Tester`` only for new installations.

.. warning::

Administrators of existing applications will need to
apply these permissions by hand via the Admin section.


API
~~~

- ``TestExecution.add_link()`` method now returns serialized
``LinkReference`` object.
- ``TestExecution.remove_link()`` method now accepts one parameter of type
``dict`` used to filter the objects which to remove
- ``TestExecution.get_links()`` method now accepts one parameter of type
``dict`` instead of ``int``
- ``TestExecution.add_link()`` method signature changed from
(int, str, str) to (dict), where the single parameter holds field values for
the ``LinkReference`` model
- Remove ``TestExecution.add_bug()`` method, use ``TestExecution.add_link()``
- Remove ``TestExecution.remove_bug()`` method, use
``TestExecution.remove_link()``
- Remove ``TestCase.add_bug()`` method
- Remove ``TestCase.remove_bug()`` method
- Remove ``Bug.remove()`` method, use ``TestExecution.remove_link()``
- Remove ``Bug.create()`` method, use ``TestExecution.add_link()``
- Add method ``Bug.details()`` which together with the underlying
``IssueTracker.details()`` is the foundation of how Kiwi TCMS fetches
extra details from the issue tracking system. The default implementation
uses OpenGraph protocol to collect the data that will be shown. You may
override ``.details()`` for each issue tracker (or add your own IT) to
extend this functionality. Information is cached for 1 hour by default.
References
`Issue #117 <https://github.com/kiwitcms/Kiwi/issues/117>`_
- Add methods ``Bug.add_tag()`` and ``Bug.remove_tag()``
- Existing method with name ``Bug.filter()`` has changed behavior. It is
now used to query objects from Kiwi TCMS minimalistic defect tracker


Removed functionality
~~~~~~~~~~~~~~~~~~~~~

- Remove ``IssueTrackerType.all_issues_link()`` method. This was used in
TestRun Report page to show a single link that will open all bugs in the
Issue Tracker. Most trackers don't support this and the UI portion has
been rewritten
- Remove ``LinkOnly`` issue tracker - obsolete because all defects are
now added to TestExecutions via their URLs
- Remove bulk-add/bulk-remove of bugs in TestRun page, replaced by bulk-add
for hyperlinks


Settings
~~~~~~~~

- Respect the ``CACHES`` setting, see
`Django docs <https://docs.djangoproject.com/en/2.2/ref/settings/#std:setting-CACHES>`_
for more info. Initially this setting is used to cache defect details received
via Issue Tracker integration. See
`Issue #117 <https://github.com/kiwitcms/Kiwi/issues/117>`_


Bug fixes
~~~~~~~~~

- Don't auto-download FontAwesome for SimpleMDE. Resolves icons disappearing
on pages which have the markdown editor. Fixes
`Issue #905 <https://github.com/kiwitcms/Kiwi/issues/905>`_
- Reorder HTML elements so Delete button is still visible in TestCase review
comment section. Fixes
`Issue #1013 <https://github.com/kiwitcms/Kiwi/issues/1013>`_ (Rady Madjev)
- Remove section that displays bugs in TestExecution container. Bugs are now
denoted by a small icon next to their hyperlink. Closes
`Issue #475 <https://github.com/kiwitcms/Kiwi/issues/475>`_
- Cache Issue Tracker connections per ``base_url``. Fixes
`Issue #290 <https://github.com/kiwitcms/Kiwi/issues/290>`_



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

- Lots of refactoring from function based views to class based views (Rady Madjev)
- Use JavaScript and the API to remove case execution instead of dedicated
backend function (Rady Madjev)
- Update pylint directives around missing permissions (Svetlomir Balevski)
- Fix typo in identifier. Fixes
`CID 344186 <https://scan4.coverity.com/reports.htm#v38579/p14953/fileInstanceId=65904319&defectInstanceId=11526612&mergedDefectId=344186&eventId=1>`_
- Use ``TestExecution.add_link()`` and ``TestExecution.remove_link()`` in UI
instead of dedicated backend function.
- Remove unused LinkReference views, forms and tests modules


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

- Introduce a translation mode where you can translate the interface via
in-context editor. For more information see
`Translation guide <https://kiwitcms.readthedocs.io/en/latest/contribution.html#translation>`_.
Fixes `Issue #1098 <https://github.com/kiwitcms/Kiwi/issues/1098>`_
- Updated `Albanian translation <https://crowdin.com/project/kiwitcms/sq#>`_
- Updated `Bulgarian translation <https://crowdin.com/project/kiwitcms/bg#>`_
- Updated `Chinese Traditional translation <https://crowdin.com/project/kiwitcms/zh-TW#>`_
- Updated `French translation <https://crowdin.com/project/kiwitcms/fr#>`_
- Updated `Greek translation <https://crowdin.com/project/kiwitcms/el#>`_
- Updated `Italian translation <https://crowdin.com/project/kiwitcms/it#>`_
- Updated `Slovenian translation <https://crowdin.com/project/kiwitcms/sl#>`_
- Updated `Turkish translation <https://crowdin.com/project/kiwitcms/tr#>`_

For more information check-out
`all supported languages <https://crowdin.com/project/kiwitcms>`_.
To request new language
`click here <https://github.com/kiwitcms/Kiwi/issues/new?title=Request+new+language:+...&body=Please+enable+...+language+in+Crowdin>`_!



Kiwi TCMS 6.11 (02 Aug 2019)
----------------------------

Expand Down
2 changes: 1 addition & 1 deletion tcms/__init__.py
@@ -1,2 +1,2 @@
# -*- coding: utf-8 -*-
__version__ = '6.11'
__version__ = '7.0'

0 comments on commit d3c3868

Please sign in to comment.