What's New ========== Version 2022.1.1 ---------------- - When closing a project, its recipe editors will now ask to save changes instead of immediately closing and discarding them - Fixed the preview in the recipe editor not working for 'compliance' level recipes - Fixed discrepancy between UI and code view when using the UI to add a property that uses a dropdown value - Fixed filenames of yaml recipes being imported not being respected Version 2021.2.13 ----------------- - Recipe editor hints are now in tooltips instead of in between input fields - Recipe names will now be used as short description when the recipe's short description is empty - The recipe editor will now sort tags instead of reordering them seemingly randomly - Fixed obscure category names in the 'problems' view when performing a scan - Fixed a rare exception occurring when opening the quick-start guide - Fixed the :guilabel:`only mark on new code` setting not always working correctly when the searched element spans multiple lines Version 2021.2.12 ----------------- - Added a search target for :doc:`/ref/targets/prefixExpression` and :doc:`/ref/targets/postfixExpression` - Improved performance regarding recipes using ``in`` - The recipe editor will now show a warning that recipes of disabled cookbooks won't mark in the editor - The cookbook manager UI received some small coloring improvements - Fixed a recipe editor issue that caused an exported recipe to only have one quick-fix - Fixed a recipe editor issue where duplicating recipes would not copy all the quick-fixes - Fixed a recipe editor issue where the preview would not work for locally disabled recipes Version 2021.2.11 ----------------- - Locally disabled recipes can now be re-enabled again by using the 'enabled' checkbox in the recipe editor - The recipe editor now shows a warning that a disabled recipe won't mark in the editor - Disabled recipes will now have a grey color in the list of recipes in the recipe editor - The cookbook manager now shows cookbook description instead of URL for featured cookbooks - Added a :doc:`/ref/actions/changename` action to change the name of a class, field, method or method invocation - The ``changeType`` action can now be used when searching for a :doc:`/ref/targets/localvariable` - A 'View recipe' quick-fix can now be used on recipes coming from a read-only cookbook (similar to 'Edit recipe' quick-fix) - Annotations can now be addressed in mustache code by using their simple name instead of only by index - Improved quick start guide UI - Improved the functionality of the 'tags' field in the recipe editor - Fixed labels not being addressable when they are part of ``anyOf``/``allOf`` - Fixed a few issues in regards to :ref:`doStaticImports` - Fixed pasting a recipe into code view by mouse not actually updating the recipe - Fixed the 'Analyze with Sensei' action missing from menus, it is now in the 'Code' menu - The 'Inspect code with cookbook' button will now be disabled unless the chosen cookbook is enabled Version 2021.2.10 ----------------- - Added a :doc:`/ref/targets/localvariable` search target - Added a :doc:`/ref/actions/findandreplace` action for string substitutions - The ``addAnnotation`` action can now also be used on parameters - Improved visibility of default 'marked info' recipe highlighting on dark themes - Added :ref:`fixes_availableIf` option to only make a quick-fix available if a condition matches - Added :ref:`actions_applyIf` option to only execute a fix action if a condition matches Version 2021.2.9 ---------------- - Added a preview for the recipe description in the recipe editor's :doc:`/guiref/recipe_editor/documentation_tab` tab - Bumped the minimum supported IntelliJ version to 2020.1 - Added more flexibility to checking the exception parameter of a catch block - Removed the dysfunctional ``in`` property for recipe search target scopes - Added ability to add single recipes into Sensei from the Sensei Hub - When the recipe editor is opened in read-only mode, the recipes will now be uneditable - Fixed issues where the Cookbook manager caused the UI to freeze in some specific cases - Added a :ref:`doStaticImports` property to quick-fixes to import qualified references in a static manner - Improved some aspects of the Quick Start Version 2021.2.8 ---------------- - Cookbook descriptions of featured cookbooks will now be shown in the cookbook manager - Added a search target for :doc:`/ref/targets/cast` - :doc:`/ref/targets/catchblock` can now be used as part of an 'in' property - Added :ref:`catchblock_parameterType` property to :doc:`/ref/targets/catchblock` - General metadata (name, short descriptions, level) is now displayed on all tabs of the recipe editor - Fixed imported yaml recipe not saving when it's imported as a single recipe in the :menuselection:`import` dialog - Fixed recipe editor blocked from opening when a cookbook contains an empty description file path - Selecting cookbooks in the quick start guide will now show the amount of recipes in each cookbook Version 2021.2.7 ---------------- - Fixed an issue with enabling cookbooks in the quick start window Version 2021.2.6 ---------------- - Checking the integer value of an :doc:`/ref/targets/expression` will now also attempt to parse stringified integers - Added an option to specify :ref:`xml_element_text` content when searching an xml :doc:`/ref/targets/element` - Enabled featured cookbooks will show up in :menuselection:`My cookbooks`, removing them will put them back in :menuselection:`Featured cookbooks` - Added a 'Documentation' tab in the recipe editor to manage a recipe's description - Fixed representation of annotation parameters in the variable browser - Fixed searching for :doc:`/ref/targets/return` skipping return statements that don't return a value - Fixed wrong languages showing up in recipe metadata when saving - Fixed inherited types not being included when type checking calls on the ``this`` object implicitely Version 2021.2.5 ---------------- - Added :doc:`/ref/targets/ifthenelse` search target - Recipes for all languages can now use the ``in: file`` configuration option - The deprecated recipe models have been removed - Labels can be added to all configuration options (previously only xml), allowing more flexibility in quickfixes - The :guilabel:`discover cookbooks` menu has been removed, an alternative will be added again shortly - Improved performance of first time opening recipe editor - Long lines in the recipes are no longer split by the recipe editor - Team cookbooks are no longer shown when the user is not logged in - Fixed IntelliJ's intention light bulb popup floating over the quick start guide - Fixed some issues in untrusted analysis - Fixed various bugs in the Quick Start guide Version 2021.2.4 ---------------- - Fixed badly positioned Quick Start window - Fixed Cookbooks not reloading sometimes - Fixed disabled recipes showing up in results when using 'Inspect code with cookbook' Version 2021.2.3 ---------------- - Recipes can now check if an expression is a specific type of element - Added an option in settings to log performance data while using 'Inspect code with cookbook' - Added a quick fix option to disable a recipe locally - Added a page in the Quick Start to enable featured cookbooks - Recipe files can now use relative paths for ``descriptionFile`` - Warnings will now be shown in the recipe editor for recipes with broken ``descriptionFile`` paths - The Cookbook Manager will show if a new version is available, since recipes might not work on older Sensei versions - The :doc:`/ref/scopes/library` scope is now also available for XML recipes - Fixed unresponsiveness when loading multiple remote cookbooks - Fixed remote cookbooks not loading when re-enabling Version 2021.2.2 ---------------- - Added import/export functionality in the recipe editor for yaml cookbooks - Added a new :doc:`/ref/targets/file` search target, which can check the file path - Zipped cookbooks can now be loaded from the file system - The recipe editor list now also shows empty folders, newly created folders are removed when they become empty - Array access is now also considered when checking for untrusted input - Fixed non-alphanumberic symbols being removed in cookbook IDs when saving - Fixed an issue where an error would pop up when rewriting XML in specific ways - Fixed creating new recipe from code always using the same recipe ID - Fixed recipe UI where :doc:`/ref/targets/constructor` was not available when having "parameter: in" - Fixed recipe editor not accepting filenames that already exist but have been renamed Version 2021.2.1 ---------------- - Fixed cookbooks in yaml format not loading correctly from zips Version 2021.2 -------------- - Support for Intellij 2021.2 EAP - Changed the default cookbook structure to the new yaml format - Added support for the XML language using the yaml syntax - Added the "Sensei Cookbook Converter" action, this tries to convert cookbooks into the new yaml format - The recipe editor will now show warnings about recipes having the same ID - The Cookbook Manager will now show warnings about cookbook having the same internal ID Version 2021.1.7 ---------------- - Fixed team cookbooks sometimes not loading after authenticating - Rewriting an import will now not add additional imports - Fixed a bug where the quickfix preview would say "quickfix failed" when rewriting imports - Possibly fixed a bug with a native library on Apple Silicon - The list of description files in the recipe editor is now sorted - Further silenced exceptions when no internet connection is available Version 2021.1.6 ---------------- - Fixed a bug that prevents adding 'not' or 'with' on a methodcall in the recipe editor ui view - Fixed some small recipe ui tree rendering bugs - An error notification banner will now be shown in the recipe editor when something breaks - Silenced exceptions when no internet connection is available - Fixed an error showing up when analysis gets stuck on a specific type of invalid code with syntax errors .. _changeNotes2021.1.5: Version 2021.1.5 ---------------- - Fixed templating not being applied to the :ref:`changeAnnotation_type` property of :doc:`/ref/actions/changeannotation` action - Disallow using cookbook locations relative to working directory - Fixed positioning of the searcher documentation box in recent IntelliJ versions - Enhanced recipe diagnostic help to check if the belonging cookbook is enabled - The :guilabel:`Add cookbook` menu will now propose cookbooks from the `Sensei Hub `_ - Reduced amount of :menuselection:`update available` notifications being shown - Suppress connection errors when update check fails - Fixed :guilabel:`test inspection` link in recipe editor not working when belonging cookbook is disabled .. _changeNotes2021.1.4: Version 2021.1.4 ---------------- - Added the option to add a cookbook from the `Sensei Hub `__ - Added a documentation box when selecting a target in the recipe editor .. image:: images/2021.1.4-contextual-help.png - Added untrusted analysis for the String#format method - Added the mustache variables UI to some more elements - The :doc:`/ref/targets/condition` target will now find :doc:`/ref/targets/assert` conditions - Fixed an exception when using "Inspect code with Cookbook" on a cookbook that has no file - Fixed an exception when running Sensei in Qodana Version 2021.1.3 ---------------- - Fixed 3 issues reported by users. Thanks to everybody who reported their exceptions to us! - A :doc:`/ref/scopes/library` scope can now be added to the search, making recipes only trigger when a dependency is met - Annotation types can now be rewritten by using the :ref:`changeAnnotation_type` option of the :doc:`/ref/actions/changeannotation` action - Added a :doc:`/ref/actions/insertstatement` quick fix action, to insert statements in methods/constructors Version 2021.1.2 ---------------- - Added a :guilabel:`Scan code with cookbook` button in the cookbook manager - Moved the recipe enabled checkbox to a more visible location - Added a :guilabel:`Analyze with Sensei` menu item inside the Analyze menu - When reporting an error the Sensei and IDE version will be autofilled - Added the option to search for :doc:`/ref/targets/enum`, :doc:`/ref/targets/interface` and :doc:`/ref/targets/@interface` - The :doc:`/ref/targets/class` search only marks classes now, the old behaviour is available using :doc:`/ref/targets/typeDeclaration` - Added a :guilabel:`help` button inside the recipe editor Version 2021.1.1 ---------------- - Compatibility changes for Intellij 2021.1 (EAP build 1) - When logged in, the associated e-mail address will now be shown in the settings, within the account section - Fatal errors can now be reported, a prefilled Google Forms page will open which can be submitted anonymously - Fix Cookbook Manager not always showing changed Cookbooks after reloading configuration - Fix Cookbook Manager not showing new Cookbooks that are created while cloning recipes - Fixed the "import recipe" feature in the recipe editor always failing to import - A notification banner will now show in the recipe previews while IntelliJ is indexing - Added a ``{{{ containingMethod }}}`` element to use in quickfix code - Added a settings button inside the Cookbook Manager for easier access - Added a settings entry inside the :guilabel:`Tools | Sensei` menu - Added a way to discover new cookbooks from the public cookbooks index when adding a cookbook - Added the option to search on array initializers - Improved duplicate field check for the :doc:`/ref/actions/addfield` action - The register dialog has been removed, registering happens inside the settings menu now - Adjusted the way required recipe fields are shown in the UI Version 2021.1 -------------- - The recipe editor won't set the previewed file read only anymore - Added the option to search for a parameter's modifiers - Action buttons in the recipe editor will now be disabled when browsing a read-only cookbook - Renamed 'biggerThan(OrEquals)' to 'greaterThan(OrEquals)' for integer value checking - The Sensei menu has been moved to :guilabel:`Tools | Sensei` - Using git locations for cookbooks will now use the default branch if no branch is specified - The 'Reload Recipes' menu item has been moved to the cookbook manager - Fixed an issue where an error sometimes could pop up when executing Quick Fixes with invalid code - The Quick Start Guide is not modal anymore, it interfered with other modal windows - There is now a 'Feedback' item in the Sensei menu, let us know what you think! - Fixed an issue where using an URL encoded git cookbook location would not use the correct branch and/or path Version 4.30.1 -------------- - Fixed a non working 'Read more...' link in the Quick Start Version 4.30 ------------ - Sensei can now be used without creating a Secure Code Warrior account - Added a Quick Start window after installation - Added the option to search for a switch statement - Added the option to search for a finally block - Added the option to search for an assert statement - Added the option to compare an expression value to an integer - Recipes can now be imported and exported in the recipe editor - Fixed a bug where IntelliJ didn't report Sensei results when scanning from the command-line Version 4.29 ------------ - Cookbooks in a .sensei folder in the project will be automatically loaded - Fixed changes in the cookbook manager sometimes not applying - Survey notifications have been disabled - Fixed type in parameterDeclaration ignoring case sensitivity setting - Compatibility changes for 2020.3 (EAP build 4) Version 4.28 ------------ - An option was added to not process imports during the quickfix - Fixed a bug where prefixed literals weren't handled correctly - A ChangeAnnotation quickfix action was added - Annotation members can now be addressed in mustache using their key name - The minimum supported version has been changed from 2016.2 to 2018.1.4 - The buttons in the YAML recipe UI changed to a more subtle color - Stability improvements Version 4.27 ------------ - The cookbook library is now placed in a toolwindow. - Fixed some shorthand issues in the recipe YAML syntax. - Fixed 'Test recipe' not always behaving correctly when multiple projects are open. - Compatibility changes for 2020.3 (EAP build 1) - Fixed an issue where the addField action wouldn't detect an existing field - The variables table will now show variables relative to the quick fix action's target Version 4.26.1 -------------- - Fixed an exception when quickfixes were applied in IntelliJ 2020.2.1 and newer Version 4.26 ------------ - More properties now have a variable browser. The visibility of the variable browsers can be toggled. .. image:: images/show-variables.png - Tags can be added to recipes. Features that utilizes tags will be coming in the future. .. image:: images/tags.png - A small warning will show when the searched element changes, noting that incompatible quickfixes might be deleted - Improvements to the 'parameterize' quick fix action for the 'argument' binding option - Parameters can now be specified when searching for a method - Text matchers in the recipe search can be configured to be case insensitive - Code generators are disabled and wil be removed soon (they can be enabled in the settings menu for now) - Fixed some cookbook locations not being detected as git repositories - Stability improvements - Searching for comparisons won't match non-comparison operations anymore Version 4.25.1 -------------- - Various analysis fixes - Additional measures were added to prevent recipe previews from hanging the UI - Fixed Sensei not suggesting to open the recipe editor after registration in some cases - A message will now be displayed in the preview when Sensei failed its inspections Version 4.25 ------------ - Throw statements can now be searched for - Sensei no longer requires the IDE to be restarted after registration - Fix previews now skip over import changes when showing differences - The recipe editor will now show a warning when visuals are disabled - Fixed recipe previews not working due to injected language fragments - Various analysis fixes - Some irrelevant entries have been removed from the mustache variables browser - Improved the 'parameterize' action where 'methodsOnObject' would not work in certain scenario's - Support for Intellij 2020.2 EAP6 - Old recipe models have been disabled They can be enabled again in the settings menu for now but will be removed in the near future .. image:: images/deprecated-model.png :class: noshadow - The recipe editor will now show a warning when visuals are disabled .. image:: images/disabled-visuals.png :class: noshadow