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.2
This update adds compatibility with IntelliJ IDEA 2024.3.
-
Version 1.11.1
This update adds compatibility with IntelliJ IDEA 2024.2.
-
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
andfeature
, and conditionals likeand
,or
andnot
- Form components like
textfield
,select
,multifield
including their child nodes - Item data sources
- Generic and form field-specific properties such as
- 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
andupdate_properties
tofilter.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 whenInjectionStrategy.OPTIONAL
is used - Fixed parser error when curly brace is used at beginning of single-value property with type declaration
- Completely revamped completion of properties and child nodes
-
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
- Fixed
-
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
- Added completely overhauled approach to identify JCR content roots
-
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'sresourceType
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
- Added completion of properties for injected fields and constructor parameters annotated with
- 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
- Added support for Sling Models
-
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
- Fixed
-
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
- Recognize
- 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
- Added support for OSGi configurations in JSON format (with
-
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 usesnt: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
andfilevault-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 intoinclude
andexclude
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
andfilter-vlt.xml
files and provides completion of XML tags and attributes
- Added support for workspace filters defined in Maven plugin configurations, i.e. in
- 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
- Workspace filter improvements
-
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
- Added new configuration options to enable plain Sling instances
-
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 export of nodes that are stored in dedicated XML files, such as
- 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
- Added support for OSGi components with custom name
-
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
- Added parser and lexer for
- 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
- Added support for custom OSGi component name defined in annotation's
-
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
- Added support for universally applicable properties such as
-
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
'scomponentGroup
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
- Improved indexing of components, i.e. resource types, that only declare a
-
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