Updates

Here's a list of the most recent releases including their fixes and changes. Please also check out the Features overview for a more thorough description of newly added items.

  • Version 1.11.0

    This update adds compatibility with IntelliJ IDEA 2024.1 EAP.

    Added

    • Added inspection that checks if namespaces used in FileVault XML files' names have been declared in the file
    • Added a context menu action that allows to copy the resource path of a node in FileVault XML files
    • Added references from FileVault property values to fully-qualified Java class names

    Fixed

    • Updated Jackrabbit FileVault dependencies to avoid ClassCastException thrown when pushing content
  • Version 1.10.3

    Fixed

    • Fixed threading issue in Create OSGi Configuration action
  • Version 1.10.2

    Fixed

    • Fixed threading-related assertion errors
  • Version 1.10.1

    This update adds compatibility with IntelliJ IDEA 2023.3.

    Fixed

    • Fixed parser error when single-value property with type declaration is only one character long
  • Version 1.10.0

    Added

    • Completely revamped completion of properties and child nodes
      • Child node completion is based on live templates now
      • Child node completion adds common properties and their values can be changed right away
      • Improved code style-based formatting after completion
      • Completing properties and child nodes takes resource super types into account now
    • Added property and child node completion for Coral / Granite UI form components including:
      • Generic and form field-specific properties such as granite:class
      • Container components such as container, accordion, tabs, etc.
      • Render conditions such as simple, privilege and feature, and conditionals like and, or and not
      • Form components like textfield, select, multifield including their child nodes
      • Item data sources
    • Added support for Sling Model injection annotations provided by ACS AEM Commons, for example @AemObject
    • Added inspection warning about multiple injection constructors in Sling Models
    • Added new import modes merge_properties and update_properties to filter.xml schema

    Changed

    • Export Content action is now enabled in all source directories

    Fixed

    • Fixed that nullable annotation was inferred even though field was annotated with @Default
    • Fixed missing read access when finding usages of component
    • Fixed that OSGi service reference was marked as invalid when OSGi component does neither define a service interface nor implement any interfaces
    • Fixed warning added to workspace filter roots pointing to XML file aggregates such as _rep_policy.xml
    • Fixed missing required property warning on XML elements that start with hex-encoded numbers, for example _x0031_
    • Fixed that quick fix changed property type to{String} instead of correct one
    • Fixed issue where @Nullable annotation was not inferred when InjectionStrategy.OPTIONAL is used
    • Fixed parser error when curly brace is used at beginning of single-value property with type declaration
  • Version 1.9.3

    This update adds compatibility with IntelliJ IDEA 2023.2.

  • Version 1.9.2

    Fixed

    • Fixed NoClassDefFound error when renaming a component in IDEs that lack Java support
    • Fixed assertion error thrown when @Model annotation has no resource types set
    • Fixed missing read access when pulling, pushing or exporting content
  • Version 1.9.1

    Fixed

    • Fixed issue where copy/paste pre-processor for OSGi config files was unintentionally used in other languages
  • Version 1.9.0

    Version 1.9.0 is now compatible with IntelliJ IDEA 2023.1.

    Added

    • Added completely overhauled approach to identify JCR content roots
      • Added Mark as JCR Root action that can be used on any source folder
      • Added auto-detection of JCR content roots to ensure seamless transition
      • Added custom JCR Roots scope and file colors for highlighting in Project view
    • Added support for configurationPid attribute in OSGi component annotations
    • Added generator for OSGi service reference injections in OSGi components and Sling Models
    • Closing curly brace is automatically inserted now when completing a JCR property type
    • Added help/support options to notifications and tool window

    Changed

    • Updated icons for new IntelliJ UI
    • Moved plugin settings to Languages & Frameworks and added titled sections
    • Updated OSGi Declarative Services annotations libraries to latest versions

    Fixed

    • Fixed AlreadyDisposedException thrown when OSGi annotation library download completes after project was closed
    • Fixed validation of host in AEM instance properties
    • Fixed automatic renaming of component scripts when renamed AEM component resides under a Sources Root
    • Fixed clickable text range when navigating from OSGi property in .cfg.json file to property declaration
  • Version 1.8.0

    Version 1.8.0 is now compatible with IntelliJ IDEA 2022.3.

    Added

    • Added generator for field injections in Sling Models
    • Declared methods annotated with @PostConstruct as used
    • Added inspection that checks validity of field and constructor injections in Sling Models

    Fixed

    • Fixed that nullable annotation was inferred even though field was annotated with @Default
    • Fixed that component indexing failed for certain non-XML files
    • Fixed that name and default value were not correctly resolved in all cases for Felix SCR properties
  • Version 1.7.1

    Changed

    • Include list of loaded plugins in error report

    Fixed

    • Fixed failing update of Copy Resource Type action's state when component's .content.xml is not of default XML type
    • Fixed orphaned icon in completion popup for default OSGi configuration properties such as service.ranking
  • Version 1.7.0

    Version 1.7.0 is now compatible with IntelliJ IDEA 2022.2.

    Added

    • Added support for Sling Models
      • Added completion of properties for injected fields and constructor parameters annotated with @ValueMapValue
      • Added completion of properties for injected Sling Models annotated with @Self
      • Declared injected fields as used
      • Inferred nullability annotations based on injection strategy and @Optional and @Required annotations
      • Added completion of resource types in @Model annotation's resourceType attribute
      • Added inspection checking if field annotated with @OSGiService is using a valid OSGi service interface
      • Added inspection checking if injection constructors and their parameters are annotated properly
    • Modified files are now saved automatically to avoid that stale content is being pushed
    • Namespaces in file or directory names, for example in _cq_dialog are now marked as used in the respective XML file
    • Added primary node type info in Project view

    Changed

    • AEM instances tool window is always visible now, but shows hint if framework support is not enabled

    Fixed

    • Fixed that multiple entries were shown when navigation from resource type to declaration
    • Fixed sending of error reports via email
    • Fixed parsing of closing square bracket in multi-value properties
    • Fixed that AEM Instances tool window were not shown after opening project
  • Version 1.6.1

    Added

    • Recommend plugin when AEM dependencies are present in a project

    Changed

    • Use licensee email address when sending error reports

    Fixed

    • Fixed exception thrown when OSGi configuration index tries to process binary file
    • Fixed that unused filter root inspection is active even though plugin functionality is disabled
    • Fixed that OSGi service references are marked as error when OSGi bundles are not added as external libraries
  • Version 1.6.0

    Version 1.6.0 is now compatible with IntelliJ IDEA 2022.1.

    Added

    • Automatically insert closing brace when typing opening brace in FileVault or OSGi configuration property
    • Added actions allowing to open file in browser (CRXDE, page editor, view as published)
    • Added success notifications for FileVault actions
    • Added ability to enable plugin globally for IDEs not providing support for frameworks

    Fixed

    • Fixed performance issues when retrieving list of OSGi bundles
    • Fixed import of child nodes when pushing .content.xml files
    • Fixed that editor context toolbar was shown in files under test resources root
    • Fixed sending of error reports via email

    Removed

    • Removed deprecated Handlebars support due to AEM Communities EOL
  • Version 1.5.3

    Version 1.5.3 is now compatible with IntelliJ IDEA 2021.3.

    Fixed

    • Fixed NullPointerException thrown when references to OSGi configurations in JSON format are resolved
    • Fixed sending error reports via email
    • Fixed push of .content.xml files

    Deprecated

    • Deprecated Handlebars support due to AEM Communities EOL
  • Version 1.5.1

    Fixed

    • Fixed exception thrown when editor context toolbar is updated in the background
    • Fixed import of files/folders with names containing escaped namespaces
  • Version 1.5.0

    Version 1.5.0 is now compatible with IntelliJ IDEA 2021.2.

    Added

    • Added support for OSGi configurations in JSON format (with .cfg.json extension)
      • Recognize .cfg.json files as OSGi configurations
      • Added completion for OSGi component properties
      • Added references from JSON property keys to OSGi component properties
      • Added documentation provider
      • Extended inspection checking if configuration property is defined in OSGi component
    • Allow configuration of default format used when creating OSGi configurations

    Changed

    • Allow cancel when connecting to JCR
    • Use separate editor floating toolbar for plugin-specific actions

    Fixed

    • Fixed that inspection did not recognize invalid OSGi service interfaces when injecting lists of service references
  • Version 1.4.0

    Version 1.4.0 is now compatible with IntelliJ IDEA 2021.1.

    Added

    • Added highlighting of XML entity references when Filevault language is injected

    Changed

    • Disabled inspection in JSON files that marked missing jcr:primaryType as error as Sling Content Loader uses nt:unstructured by default

    Fixed

    • Fixed that encoded newlines where marked as error in single-value properties
    • Fixed that passwords were stored in keychain repeatedly
    • Fixed that empty multi-value property values were marked as errors
    • Fixed NullPointerException thrown when creating project converter that stores passwords in keychain
  • Version 1.3.1

    This update adds compatibility with IntelliJ IDEA 2020.3.

  • Version 1.3.0

    Version 1.3.0 is now compatible with IntelliJ IDEA's latest 2020.2 EAP builds (Early Access Program). Check out JetBrains' official page for details.

    Added

    • Workspace filter improvements
      • Added support for workspace filters defined in Maven plugin configurations, i.e. in content-package-maven-plugin and filevault-package-maven-plugin
      • Added action that allows to open workspace filter from workspace coverage inspection
      • Added action that allows to add filter entry from workspace coverage inspection
      • RegExp language is now automatically injected into include and exclude pattern elements
      • Added references to filter entry's root path elements enabling navigation, completion and full support for rename/move refactoring
      • Added inspection that checks if a filter entry is used, i.e. if a module contains actual content for the rule's specified root path
      • Added schema that validates filter.xml and filter-vlt.xml files and provides completion of XML tags and attributes
    • Added new action that pushes content to selected AEM instance
    • Added new action that pulls content from selected AEM instance
    • Added action that allows comparing a local file with its counterpart on an AEM instance

    Changed

    • Resource path and run modes are now shown in list when clicking OSGi configuration gutter icon

    Fixed

    • Fixed blocked UI and missing progress window when exporting content
    • Fixed that namespaces registered with JCR were provided in all XML files and not just in document-view ones
    • Fixed that JCR properties were provided in all XML files and not just in document-view ones
  • Version 1.2.0

    Added

    • Added new configuration options to enable plain Sling instances
      • Allow configuration of JCR mountpoint
      • Allow configuration of OSGi framework storage path

    Fixed

    • Fixed that only the test starting from last slash was taking into account when completing resource types
  • Version 1.1.0

    Version 1.1.0 is now compatible with IntelliJ IDEA's latest 2020.1 EAP builds (Early Access Program). Check out JetBrains' official page for details.

    Added

    • Framework support is now inherited from reactor projects when using Maven
    • Added Copy Resource Type action
    • Added Copy Resource Path action to Copy Path menu
    • Quotation marks, equal signs, and backslashes are now escaped/unescaped when pasting to/copying from OSGi config files
    • A configurable set of properties like cq:lastModified can now be excluded when exporting content

    Changed

    • AEM instance credentials are now stored in encrypted form and not in plain-text anymore
    • Moved workspace filter test action to Tools menu

    Fixed

    • Fixed several Filevault export issues by completely rewriting the feature
      • Fixed export of nodes that are stored in dedicated XML files, such as _rep_policy.xml
      • Fixed export of nodes with namespaces
    • Fixed ClassCastException thrown when file with enforced plain-text type is indexed
    • Fixed that Component Property Type was not found when retrieving OSGi properties
    • Fixed encoding of namespaces in node paths
  • Version 1.0.1

    This update consists of internal changes related to JetBrains' Marketplace.

  • Version 1.0.0

    Added

    • Added inspection checking if reference is using a valid service interface
    • Added documentation provider for OSGi configuration properties

    Changed

    • Prepared plugin for dynamic loading/unloading

    Fixed

    • Fixed project disposal assertion error
  • Version 0.8.3

    Version 0.8.3 is now compatible with IntelliJ IDEA's latest 2019.3 EAP builds (Early Access Program). Check out JetBrains' official page for details.

    Fixed

    • Skip invalid files when decorating project view nodes
    • Fixed detection of OSGi annotations when annotation library is not on the project's classpath
    • Fixed NullPointerException thrown on Find Usages when resolving custom usage type
    • Fixed invalid workspace coverage inspection's message when file path matches filter root
    • Fixed NullPointerException when activating framework support
    • Fixed opening of Plugins preferences from license notification
  • Version 0.8.2

    Version 0.8.2 is now compatible with IntelliJ IDEA's latest 2019.2 EAP builds (Early Access Program). Check out JetBrains' official page for details.

    Fixed

    • Fixed renaming of script files when containing component is renamed
    • Fixed StringIndexOutOfBoundsException thrown when file in search path root is indexed
    • Fixed @NotNull parameter assertion error
    • Fixed null target element error when navigating to component declaration
    • Fixed ClassCastException thrown when file with enforced plain-text type is indexed
    • Fixed NullPointerException thrown when exporting path containing namespaces
    • Fixed unexpected error annotation on empty XML tags when sibling folder with same name exists
    • Fixed NoClassDefFoundError thrown when plugin is used in JetBrains IDE that does not come with Java support
  • Version 0.8.1

    Fixed

    • Fixed registration of extensions depending on availability of Java plugin
  • Version 0.8

    Version 0.8 is now compatible with IntelliJ IDEA's latest 2019.1 EAP builds (Early Access Program). Check out JetBrains' official page for details. Compatibility with 2017.* was removed due to incompatibility with the latest IntelliJ Platform SDK.

    Added

    • Added support for OSGi components with custom name
      • Renaming a class does not rename configuration files when OSGi component has custom name
      • Added support for finding usages and renaming of OSGi component's custom name
    • Added inspection checking if configuration property is defined by OSGi component
    • Added annotator checking if OSGi property type matches expected one

    Changed

    • Component Property Type is now detected in @Designate or activation method parameters
    • Replaced usage of deprecated IntelliJ Platform API
    • AEM Instances tool window is now immediately shown after framework support was added for first time

    Fixed

    • Fixed FileNotFoundException thrown by workspace filter inspection when cleaning project
    • Fixed that Create OSGi configuration action is visible on Scratches and Consoles
    • Fixed that completions in JSON files were enabled without framework support
  • Version 0.7

    Added

    • Added intention and menu action for creating OSGi configuration
    • Recognize file paths in FileVault property values while also respecting selectors and extension, e.g. .infinity.json
    • Automatically include deployed OSGi bundles as external libraries
    • Added support for OSGi factory configurations
    • Added custom language support for .config OSGi configuration files
      • Added parser and lexer for .config files
      • Added syntax highlighting
      • Added code completion for property types and values
      • Added inspection checking for valid property type
    • Allow navigation from property in configuration file to declaration in OSGi component property type
    • Added plugin icon

    Changed

    • Recognize classes annotated with @SlingFilter, @SlingServlet, and @SlingHealthCheck as OSGi components
    • OSGi configuration files now show a custom icon in project tree view

    Fixed

    • Fixed that JCR properties are available for completion even though framework support is not enabled
    • Fixed indexing of resource types on AEM 6.4
    • Fixed invalid text range assertion error when resolving component references in unclosed string literals
    • Fixed invalid text range assertion error when injecting FileVault language in unclosed XML attributes
    • Fixed failing FileVault export when no AEM instances are configured
    • Fixed failing FileVault export when node selected for export does not exist anymore
    • Fixed that boolean type was not properly recognized for OSGi properties
    • Fixed read access assertion error when finding usages of OSGi components
    • Fixed read access assertion error when finding usages of OSGi component properties
  • Version 0.6.4

    Fixed

    • Fixed critical issue that prevented added framework support from being persisted
  • Version 0.6.3

    Version 0.6.3 is now compatible with IntelliJ IDEA's latest 2018.3 EAP builds (Early Access Program). Check out JetBrains' official page for details.

  • Version 0.6.2

    Version 0.6.2 is now compatible with IntelliJ IDEA's latest 2018.2 EAP builds (Early Access Program). Check out JetBrains' official page for details. However, this version is no longer compatible with 2017.1 due to breaking changes in the plugin API.

    Fixed

    • Fixed unexpected error annotation on empty XML tags when sibling folder with same name exists
    • Fixed "Inconsistent stackmap frames" error that some users experienced
  • Version 0.6.1

    This update consists of internal changes only and extends the validity period of the beta license.

  • Version 0.6

    Version 0.6 is now compatible with IntelliJ IDEA's latest 2018.1 EAP builds (Early Access Program). Check out JetBrains' official page for details. Compatibility with 2017.1 was removed accidentally and has been restored.

    Added

    • Added support for custom OSGi component name defined in annotation's name attribute
    • Added resource type completion and references to Handlebars/Mustache when plugin is installed
    • Added support for AEM components that only consist of script files

    Changed

    • Improved AEM component handling to add full rename/move refactoring support

    Fixed

    • Fixed issue resulting in "Missing required property" errors in XML-based languages
    • Fixed another issue with renaming of AEM component when resource type is used in Handlebars file
  • Version 0.5

    Added

    • Added support for universally applicable properties such as sling:resourceType to code completion and inspections
    • Added code completion for principal names and privileges provided by AEM
    • Added basic code completion and refactoring support for OSGi configurations

    Changed

    • Renaming an AEM component now also renames matching script files.

    Fixed

    • Fixed issue resulting in "Missing required property" errors in XML-based languages such as HTML
    • Fixed handling in cases where property's required type is Undefined
    • Fixed issue where workspace coverage inspection's message was shown twice
    • Fixed renaming of AEM component when resource type is used in Handlebars file
  • Version 0.4

    Version 0.4 is now compatible with IntelliJ IDEA's latest 2017.3 EAP builds (Early Access Program). Check out JetBrains' official page for details.

    Added

    • Added inspection adding error annotation when node type is invalid
    • Added inspection adding error annotation required property is missing
    • Added inspection adding warning annotation when property type does not match declared type
    • Added code completion for child nodes declared by mixin node types
    • Added code completion for resource types provided by AEM
    • Added code completion for cq:Component's componentGroup property

    Changed

    • Improved parser to properly respect escaped characters in FileVault XML property values

    Fixed

    • Fixed multiple regressions in code completion introduced by changes in the last release
    • Fixed NullPointerException thrown by menu action when checking if framework is enabled
  • Version 0.3

    Changed

    • Improved indexing of components, i.e. resource types, that only declare a sling:resourceSuperType
    • Improved finding of resource type usages in languages not directly supported by IntelliJ AEM
    • Provide completion of boolean values only if property is of type Boolean
    • Improved error handling when connecting to AEM times out
    • Respect code style when completing property names and child nodes in XML and JSON

    Fixed

    • Fixed parser issue with single-character property values in FileVault XML files
    • Fixed NullPointerException thrown when checking for not properly encoded HTML entities
    • Fixed NullPointerException thrown when triggering auto-completion for non-project file
    • Fixed completion of property names and child nodes with namespace
  • Version 0.2.1

    Version 0.2 had some issues which prevented most changes from working correctly. Version 0.2.1 fixes those issues, so please update as soon as possible.

  • Version 0.2

    Added

    • Automatically declare XML namespace when completing child node
    • Automatically ignore external resource URIs when indexing namespaces registered with JCR

    Changed

    • Improve ordering of attributes when automatically declaring XML namespace
    • Add fully featured inspection checking if files are covered by workspace filter

    Fixed

    • Fixed NullPointerException thrown when hovering project view items