# Changelog All notable changes to this project will be documented in this file. ## [1.0.0] - Unreleased - Project renamed as `it` - TODO: FILL HERE ## [0.8.0] - 17/12/2019 - Project-local config files - Project-local plugins with `?` prefix - `inspectortiger.server` package for Inspector Web API - Refactorment of internal/public run API (prev aka inspects module) ([#18](https://github.com/thg-consulting/inspectortiger/issues/18)) - Design of new `Session` API ([#18](https://github.com/thg-consulting/inspectortiger/issues/18)) - Renaming of `Upgrade` (hard to say) and `General` (doesn't look important) to `upgrade` & `general` - Constant check with `True/False/1/0/1.0/0.0` fixed ([#20](https://github.com/thg-consulting/inspectortiger/issues/20)) - `--serial` for running hooks by serial. - `--show-plugins` for showing active running plugins. - `Plugin.direct_load` for directly loading plugins without buffering. - `Plugin.apply` for marking handlers with belonged plugins without buffering. - `Session.load_plugin` for loading a single plugin (`load_plugins` for multiple) - `Session.plugins` for list of loaded active plugins. - CORS support for server - `contextlib.suppress(SomeException)` instead of `try: something` `except SomeException: pass` ([#21](https://github.com/thg-consulting/inspectortiger/issues/21)) - Remove community plugin support because lack of maintenance - Tests now uses `ast.unparse` if available ## [0.7.0] - 10/10/2019 ### Core - Pass `db` reference to `TREE_TRANSFORMER`s - Remove old-style ini configs ([#4](https://github.com/thg-consulting/inspectortiger/issues/4)) - Implement JSON configuration files ([#4](https://github.com/thg-consulting/inspectortiger/issues/4)) - Refactor plugin loading system ([#4](https://github.com/thg-consulting/inspectortiger/issues/4)) - Implement logging system ([#7](https://github.com/thg-consulting/inspectortiger/issues/7)) - Remove annotation support - Python3.7 support!!!! - Buffered imports with `Inspector.buffer` - `@Plugin.require` decorator for defining dependencies - `inactive` and `python_version` fields to `Plugin` object - Python-version bound plugins with specifying `__py_version__` - Outputs are in a simple human readable form instead of JSON - `configmanager` module renamed as `config_manager` - Debug mode with `--debug` - Use [`conast`](https://github.com/thg-consulting/conAST) if available - Cache `__getattr__` calls - Column offset to reports - Move `traverse_path` to `utils` - `Union[Type, None]` replacement warning for `Optional[Type]` - `enumerate` handler for `for x in range(len(a)): a[x]` - `use_comprehension` handler - `alphabet_constant` handler - `map_use_comprehension` handler - `unreachable-except` moved inside General ## [0.6.1] - 2/10/2019 - Fixed typo that caused crash of command line tool ## [0.6.0] - 2/10/2019 - Handler priority system with `utils.Priority` decorator - New event (`utils.Events.NODE_FINALIZE`) for doing work after all handlers called and node traversed - Instead of reportme, reports are now in JSON format ([#2](https://github.com/thg-consulting/inspectortiger/issues/2)) - Severity level system removed (eg `@Level.AVG`) ([#3](https://github.com/thg-consulting/inspectortiger/issues/3)) - Report grouping changed to plugins instead of levels ([#3](https://github.com/thg-consulting/inspectortiger/issues/3)) - Event registration changed to `on_event` instead of `register` - Now both `register` and `on_event` can take multiple triggerers - An option to not exit with `1` on fails (`--fail-exit`) - A `PLUGINS.md` (which automatically generated by `bin/generate_plugins.py` from `pre-commit`) added - `Inspector` initalisation with a `filename` and a `ast.AST` allowed - Report annotation implemented if `Inspector` is initalized with `filename` and script ran with `--annotate` - New event type, `TREE_TRANSFORMER`, which takes `ast.Module` and returns a modified version before the actual check starts - Instead of whitelisting, use blacklisting in plugin loading (for consistency). - Context management improved with scope finalizing - Implemented a handler for old `super` usage with arguments - Implemented [PEP 601](https://www.python.org/dev/peps/pep-0601/) - New plugin for adding references to child nodes about their parent nodes - Unimport plugin is updated for `unimport@v0.1`