<commit_before>:orphan:
.. _release-3000:

=======================================
Salt 3000 Release Notes - Codename Neon
=======================================

New Versioning
==============
The neon release has removed the date versioning. Going forward we will
use a non-date based version schema beginning at 3000. The version will
be MAJOR.PATCH. For a planned release containing features and/or bug fixes
the MAJOR version will be incremented. Please review the approved
`SEP <https://github.com/saltstack/salt-enhancement-proposals/pull/20>`_
for further details.

The new versioning scheme is PEP 440 compliant, but distutils.StrictVersion
will result in an error ``invalid version number``. If using StrictVersion to
compare Salt's versions, please use LooseVersion. There is also the packaging
library you can use to compare versions. Another alternative is using the
:py:func:`salt version module<salt.modules.salt_version>`

Saltcheck Updates
=================

Available since 2018.3, the :py:func:`saltcheck module <salt.modules.saltcheck>`
has been enhanced to:

* Support saltenv environments
* Associate tests with states by naming convention
* Adds report_highstate_tests function
* Adds empty and notempty assertions
* Adds skip keyword
* Adds print_result keyword
* Adds assertion_section keyword
* Use saltcheck.state_apply to run state.apply for test setup or teardown
* Changes output to display test time
* Works with salt-ssh

Saltcheck provides unittest like functionality requiring only the knowledge of
salt module execution and yaml. Saltcheck uses salt modules to return data, then<commit_msg>Add release notes about vendored tornado<commit_after>:orphan:
.. _release-3000:

=======================================
Salt 3000 Release Notes - Codename Neon
=======================================

New Versioning
==============
The neon release has removed the date versioning. Going forward we will
use a non-date based version schema beginning at 3000. The version will
be MAJOR.PATCH. For a planned release containing features and/or bug fixes
the MAJOR version will be incremented. Please review the approved
`SEP <https://github.com/saltstack/salt-enhancement-proposals/pull/20>`_
for further details.

The new versioning scheme is PEP 440 compliant, but distutils.StrictVersion
will result in an error ``invalid version number``. If using StrictVersion to
compare Salt's versions, please use LooseVersion. There is also the packaging
library you can use to compare versions. Another alternative is using the
:py:func:`salt version module<salt.modules.salt_version>`


Vendored Tornado Code Base
==========================

The Tornado code base has been included as ``salt.ext.tornado``. This was done
to provide a consistent version of Tornado across all operating systems while
we continue to work on upgrading Tornado to a recent version. New code that
uses Tornado should import the module from ``salt.ext.tornado`` instead of
importing the system version of Tornado.


Saltcheck Updates
=================

Available since 2018.3, the :py:func:`saltcheck module <salt.modules.saltcheck>`
has been enhanced to:

* Support saltenv environments
* Associate tests with states by naming convention
* Adds report_highstate_tests function
* Adds empty and notempty assertions
* Adds skip keyword
* Adds print_result keyword
* Adds assertion_section keyword
* Use saltcheck.state_apply to run state.apply for test setup or teardown
* Changes output to display test time
* Works with salt-ssh

Saltcheck provides unittest like functionality requiring only the knowledge of
salt module execution and yaml. Saltcheck uses salt modules to return data, then
{'fraction_non_alphanumeric': 0.11319218241042345, 'fraction_numerical': 0.011943539630836048, 'mean_word_length': 5.487676056338028, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5690051', 'n_tokens_mistral': 1008, 'n_tokens_neox': 894, 'n_words': 442}