CHANGES
=======

1.7.0
-----

* Changelog
* Increase timeouts in test\_parallel to avoid random failures
* Results with errors or failures should return is\_not\_run() == False (closes #868)
* Add test for session\_start and before\_session\_start interruptions
* Improve interruptions test
* Add error for error level logs (closes #825)
* Add unittest for ensuring requirements are called eagerly (closes #687)
* slash report session as success though it has child error (closes #863)
* Remove unused import
* Fix broken tests
* Fix test\_scope\_management\_with\_hook\_error\_test\_end
* Fix handling of exceptions during \_run\_single\_test() before test started (fixes #864)
* Add signals handling plugin (closes #12)
* Fix interruptions happening during session scope (closes #821)
* Assert that no internal errors happen during suite write runs (closes #860)
* Kill workers with SIGTERM instead of SIGINT (closes #822)
* Use dedicated server for keepalive from workers (closes #823)
* Move id allocation to after tests\_loaded (closes #835)
* Improve comment on variation ordering issue
* In parallel session, save result to resume db only from parent session (closes #852)
* Refactor parent/child protocol of identifying tests (closes #831)
* Docs and changelog for #836
* Support --failed-first and --unstarted-first for resume (closes #836)
* Add 'slash.app\_quit' hook (closes #843)
* Add documentation to ignore\_warnings (fix #848)
* Use AND operator between  parameters (fixes #846)
* ignore\_warnings: Support regex matching for filename (closes #844)
* Update deseert dependency (>=1.3.4)
* Whitespace and typo fixes
* Implement usefixtures decorator (closes #648)
* Remove usage of deprecated API and add enforcement to unittests (closes #829)
* Support get\_current\_cleanup\_phase and is\_in\_cleanup API (closes #824)
* Collect warnings that were emitted before session started (closes #738)
* Mergify initial configuration
* Fix notification formatting (closes #830)

1.6.5
-----

* Changelog
* Fix handling exceptions during \_log\_file\_handler\_context (closes #837)
* Changelog
* Support tags on fixture objects (closes #650)
* Move site.load() of slash-list before creating session (closes #737)

1.6.4
-----

* Consider repr blacklisted types during object distilling, handle \_\_dict\_\_ access exceptions
* Add missing changelog for 803
* Add exception class for internal Slash errors: SlashInternalError (closes #803)
* Swallow IO Errors from console reporter (closes #804)

1.6.3
-----

* changelog
* traceback utils: Allowing to ignore repr for specific classes (closes #815)
* traceback utils: Allowing to ignore repr for specific classes (closes #815)
* Fix debug\_if\_needed when called before session initialized (closes #812)
* Validate interruption state in suite builder validation
* Workers should call cleanups also on interruption (closes #809)

1.6.2
-----

* Drop tmuxp requirement (replaced by libtmux)
* Add 3.7-dev to Travis matrix
* Changelog
* Fix formatting of notification containing curly braces (closes #810)
* Fix parameterized non-test-scoped fixtures in Slash (closes #186)
* Remove 'log.errors\_subpath' configuration path (closes #693)
* Add extract traceback failure to log (closes #805)
* Allow setting tags more than once if they contain the same value (closes #799)
* Add '-k' to 'slash list' (closes #797)
* Unittests improvement: Always backup configuration
* slash list: report errors in red

1.6.1
-----

* Fix pypi.org description
* Limit deployment to TRAVIS\_PYLINT=false

1.6.0
-----

* Condition pypi release only on 3.6
* Changelog
* Metadata.mark\_interactive() no longer touch file path or address (closes #761)
* Forward registers\_on keyword arguments to gossip.register (closes #771)
* Cosmetics
* Add log.show\_raw\_param\_values, causing raw parametrization values to be emitted in test start log lines (closes #769)
* Notifications plugin should not do anything if it is running within a parallel child (closes #776)
* Make coverage plugin support parallel runs (closes #777)
* Worker should disconnect and kill keepalive thread only after cleaups called
* Added ability to exclude parameter value combinations via slash.exclude (closes #528)
* Cosmetics
* Document slash.plugins.parallel
* Support children session errors (closes #783)
* Support marker for plugins that are compatible with parallel mode (closes #785)
* Add log message for CleanupManager.add\_cleanup
* Support project name configuration (closes #779)
* Fix handling exceptions which raised from None in interactive session (closes #772)
* Add new hooks: 'before\_session\_cleanup' & 'after\_session\_end' (closes #782)
* Improve repr methods
* Update README's supported versions
* Remove old style string formatting from the code
* Add log message for workers command line
* Pin pylint to 1.7.x due to 1.8.x instability

1.5.1
-----

* Changelog
* Fix traceback variable capture for cases where \`self=None\` (closes #767)
* Add missing changelog entry
* Ignore AUTHORS and ChangeLog autogenerated files

1.5.0
-----

* Changelog
* Add test case (closes #760)
* Fix xunit plugin to work properly in parallel sessions (closes #763)
* Improve error message when trying to pass invalid config overrides
* Make console reporting of erroneous/failed tests clearer (closes #709)
* Documentation fixes
* Fix hook documentation generation
* Documentation updates
* Add config.root.interactive.expose\_g\_globals, controlling whether slash.g is exposed in interactive namespaces
* Update plugins documentation
* Update plugins documentation
* Add 'slash.before\_interactive\_shell' hook (fix #697)
* Change brotli file extensions to .br
* Log attributes of \`self\` when using log.traceback\_variables=yes (closes #762)
* Added metadata.set\_file\_path (closes #664)
* Add slash.ignore\_warnings to filter unwanted warnings during sessions (closes #752)
* Documentation for #755
* Allow use of "timestamp" in log path formatting (closes #755)
* Ignore pytest cache
* Add SessionLogging.get\_active\_log\_paths() method
* Add flag to consider 'slash list' warnings as errors (fix #757)
* Session global result now returns is\_success=False if any test failed or has errors (closes #747)
* Improve log message of AST-originating warnings (fix #754)
* Revert "Revert "Revert "Restore doc/pip\_requirements.txt -- readthedocs.org needs it in order to build docs"""
* Revert "Revert "Restore doc/pip\_requirements.txt -- readthedocs.org needs it in order to build docs""
* Fix handling of exceptions propagated from interruption hooks (closes #745)
* Revert "Restore doc/pip\_requirements.txt -- readthedocs.org needs it in order to build docs"
* Restore doc/pip\_requirements.txt -- readthedocs.org needs it in order to build docs
* Run pylint in a prallel worker in travis
* Refactor \_log\_file\_handler\_context
* Support slash rerun
* Fix cr
* Delete logs folder if after deleting log file it is empty
* log\_file\_closed: add  keyword argument (closes #742)
* log\_file\_closed hook should happen on all file-based handlers (closes #741)
* session.results.current is now a complete synonym for context.result (closes #740)
* Separate config for Slash's log levels from the global level filter (closes #719) (#728)
* Add path parameter to 'log\_file\_closed' hook (#739)
* Add log\_file\_closed hook log.cleanup config to enable log files cleanups (closes #681) (#735)
* Normalize plugin names when used in command-line and config (fix #673) (#736)
* Support compressed logs (#711) (#730)
* Rename traceback\_level to console\_traceback\_level (issue #702) (#727)
* Use 'highlight' for all log message which supposed to be written to highlights\_subpath (fix #733) (#734)
* Remove usage of 'sphinx.util.compat' (fix #731) (#732)
* Add support for naming parameter variations (closes #590)
* Add support for controlling frame correction via mark\_exception\_frame\_correction
* Prevent duplicate exceptions in session when failing import
* Add '-X' as command line flag for setting off 'config.root.run.stop\_on\_error' (#726)
* Support configuration path for resume state path (#724)

1.4.6
-----

* Changelog
* Fix handling of session-scoped errors without exception types (closes #700)
* Coverage plugin: swallow exception if no data is available on reporting (closes #701)

1.4.5
-----

* Drop Python 3.3 from Travis
* Move to use pytest-catchlog
* Drop pytest-xdist from testing requirements
* Revert "Pin pylib dependency to avoid conflict with pytest"
* Pin pylib dependency to avoid conflict with pytest

1.4.4
-----

* Fix coloring for non TTY stdout (fix #679)

1.4.3
-----

* Fix handling of custom interruption exceptions (fix #670)
* Changelog
* Adding colorama init and deinit
* Changelog fix
* Add from\_email to notifications plugin configuration (fix #665)

1.4.2
-----

* Changelog

1.4.1
-----

* Changelog
* Add option to include extra details in email notifications
* Restore default enabled state for misc. notification services
* Add current\_config property to plugins

1.4.0
-----

* Changelog
* Fix email template
* Add prepare\_notification hook (formerly slash-gossip.prepare\_notification)
* Improve email template
* Improve notifications plugin (fix #622)
* Minor handling\_exceptions improvements

1.3.2
-----

* Use IPython 5.x LTS for Python version before 3.3
* Use IPython 5.x LTS for Python version before 3.3
* Documentation fixes
* Add host\_fqdn & host\_name attributes to session (fix #651)
* Support internal plugins (fix #647)
* Fix worker error log name
* Fix worker errors file name
* Change default value for worker errors file
* Report to server the error from workers if they fail (fix #637)

1.3.1
-----

* Remove GH releases code

1.3.0
-----

* Changelog
* Documentation fixes
* Fix assertion introspection disabling feature (#596)
* Add configuration variable to allow disable assertion introspection (fix #596)
* Upload GitHub releases (fix #643)
* Add documentation for fixture requirements
* Consider requirements on fixture functions when computing test requirements (fix #520)
* Support multiple registrations on the same plugin's method with registers\_on (fix #642)
* Add docs for inhibit\_unhandled\_exception\_traceback
* Support inhibit\_unhandled\_exception\_traceback (fix #617)
* Remove useage of deprecated API
* Run pylint only on Python 3.6
* Empty commit for bumping minor version
* Require pbr 3.0
* Support forcing/forbidden console colors (fix #635)
* Improve session run validation assertion
* Align parallel argument names to dasherized convention
* Documentation fixes
* Add documentation for parallel execution
* Allow retrieving exception object from handling\_exceptions context (fix #633)
* Fix badges in README
* increase the timeout value of a client to connect to the server from 5 to 10
* Allow passing user slashrc file through environment variable (fix #614)
* move server init outside try/except
* Add hook test\_distributed and call it in parallel mode
* stop keep-alive thread before sending disconnect (fix #612)
* Documentation fixes
* Children should connect to server before collecting tests (fix #621)

1.2.5
-----

* Add error.exception\_str for future compatibility

1.2.4
-----

* Changelog
* Fallback to partial traceback if can't collect the full one
* fixup! Fix slash.exclude to work across fixture namespaces (fix #581)
* Add Fixture namespace level to namespace repr
* Fix fixture resolution test
* Fixture lookup: avoid accidentally registering fixtures as original names when \`name=\` is used (fix #585)
* Add \_\_repr\_\_ to resumed test records
* Update changelog for 1.2.4
* Fix slash.exclude to work across fixture namespaces (fix #581)
* Fix pylint warnings
* Make tests\_loaded include interactive tests when fired (fix #580)

1.2.2
-----

* Collect tests into a list rather than a generator (fix #564)

1.2.1
-----

* Remove version from setup.cfg

1.2.0
-----

* Changelog
* Fix behavior of stop-on-error (-x) when errors are reported on previous tests (fix #551)
* Switch to PBR (fix #529)
* Added changelog entry for #508
* Changelog
* Documentation
* Typo fix
* Cosmetics
* Fix provides/needs mechanism to handle "empty registrations" (fix #490)
* Remove unused flag
* Fix interactive test id assignment
* Report tests to backslash in advance
* Fix tox.ini
* Pylint fixes
* PEP8
* Parallelize pylint execution
* Travis improvements
* Pin pylint version to 1.6.x
* Add option to control preferred debugger (fix #544)
* Fix bug: Warning from resume code using the in\_ operator on an empty sequence
* Fix 'slash version' exit code

1.1.9
-----

* Version bump
* Properly fail on invalid test names (fix #540)
* Changelog

1.1.8
-----

* Bump version
* Temporarily ignore ImportWarnings

1.1.7
-----

* Bump version
* Fix warnings capture for native warnings (fix #530)

1.1.6
-----

* Bump version
* Make thread\_ignore\_exception\_context an object context to avoid contextlib.contextmanager issues (fix #501)

1.1.5
-----

* Bump version
* Fix path iteration sorting
* Log all packages on build failures

1.1.4
-----

* Bump version
* Skip directories starting with dot when loading tests (fix #499)

1.1.3
-----

* Bump version
* Fix hook argument definitions

1.1.2
-----

* Bump version

1.1.1
-----

* Bump version
* Skip pylint on 3.6
* Fix Python 3.6 support
* Add 3.6 (beta) to .travis.yml

1.1.0
-----

* v1.1.0
* Stop testing pypy on Travis (broken)
* Fix documentation for listing fixtures
* Set merge strategy for changelog.rst
* Changelog
* xunit-plugin: write xml file if session terminated
* Fix pylint errors
* slash list now indicates fixtures that are overriding outer fixtures (fix #484)
* Slash list: properly denote autouse fixtures
* Changelog
* Add slash.exclude to enable excluding specific parameter variations from running (fix #369)

1.0.2
-----

* v1.0.2
* Pin lxml version to <3.6.3 due to xlst bug
* Fix tuple parameters for fixtures (fix #481)

1.0.1
-----

* bump version
* Changelog
* Documentation fix
* Restrict exc\_clear test to 2.x only
* Add missing parameter documentation to handling\_exceptions
* Fix reraising logic from exception\_handling (fix #464)
* Improve deprecation message for cleanup args/kwargs
* Fix autouse fixture initialization order (fix #457)
* Print warnings summary in order

1.0.0
-----

* Changelog
* PEP8
* Fix -k parsing for full test names (fix #450)
* Cosmetics
* Fix tests for coverage plugin
* Fix session\_end not firing for plugins without session\_start (fix #449)
