Releases: iancaffey/smithy-intellij-plugin
Releases · iancaffey/smithy-intellij-plugin
v1.5.5
Full Changelog: v1.5.3...v1.5.5
Note: v1.5.4 was rolled back due to various issues with the new shape indexes which have all been fixed in v1.5.5.
[1.5.5]
Added
- Added support for an editor notification when a Smithy file is not located in a source root.
- Added support for resolving shape references which have been defined multiple times across dependencies (which will ultimately get merged during build time).
- Added support for treating document shape references (and any nested member/value shape references) as soft (which prevents it being highlighted as an error).
Fixed
- Fixed NPE thrown when attempting to index Smithy files without a namespace (e.g. validation files with only a version + metadata).
[1.5.4]
Added
- Added support for incremental shape resolution (with file-based indexes to improve overall resolution performance).
- Added support for displaying documentation traits and external documentation links of shapes in documentation popups.
- Added support for line breaks in quoted strings.
- Added support for singular unescaped double quotes within text blocks.
- Added support for highlighting null literals like keywords.
Changed
- Updated map entry shape resolution to resolve to the 'value' member to align with how structure fields are resolved.
- Updated unicode escape sequence highlighting to cover the entire sequence.
- Improved the overall styling of documentation popups to better align with standard IntelliJ styling.
v1.5.3
Full Changelog: v1.5.2...v1.5.3
Added
- Added namespace and enclosing shape (for shape members) information to documentation popups.
- Added support for resolving shape member ids.
- Added support for inferring the shape of node values (providing the same documentation and reference benefits as explicit members).
- Added support for annotating unresolved member shapes as errors.
- Added support for annotating duplicate members as errors (with a quick fix to delete the duplicate).
- Added support for annotating imports which conflict with a shape defined in the current file as an error (with a quick fix to remove the import).
- Added support for annotating unknown members as errors.
- Added support for annotating shapes which are missing required members as errors.
Changed
- Improved the performance of shape resolution by caching resolved shapes and invalidating upon PSI modifications.
- Improved the import optimizer to omit imports for prelude shapes which do not conflict with an existing shape in the enclosing namespace.
- Improved the incremental parsing of applied trait statements.
- Removed documentation and externalDocumentation traits from the documentation popup.
Fixed
- Fixed relative shape id resolution for prelude shapes.
- Adjusted keyword highlighting to only highlight the “type” of top-level statements (shape ids will no longer highlight namespace or shape name elements as keywords).
v1.5.2
Full Changelog: v1.5.1...v1.5.2
Added
- Added support for annotating
@deprecated
shape usage as a warning. - Added support for annotating
@unstable
shape usage as a warning. - Added support for annotating
@private
shape usage outside the declared namespace as an error. - Added support for annotating list/set/map shape declarations which are missing required members as an error.
- Added support for annotating map keys which do not target string shapes as errors.
- Added support for annotating traits which target non-trait shapes as errors.
- Added support for omitting imports for prelude shapes which do not conflict with existing shapes in the current namespace.
Changed
- Removed the bundled Smithy prelude (shape resolution will now resolve to the current version of the prelude bundled in Smithy build tooling)
- Improved the indexing speed of Smithy JSON AST
v1.5.1
Full Changelog: v1.5.0...v1.5.1
Added
- Added navigation bar support with the ability to navigate to any shape in the current file (similar to the structure view).
Changed
- Expanded support in the import optimizer for detecting redundant imports to shapes within the enclosing namespace.
- Improved the shape id optimizer to replace all occurrences of the shape ids in the file being replaced with an import at once.
- Improved the parsing logic when adding new entries to an object, shape, or trait to avoid intermittently breaking parsing state until the entry has been completed (to keep syntax highlighting working the entire time).
v1.5.0
Full Changelog: v1.4.1...v1.5.0
Added
- Expanded shape reference resolution to support dependencies (incl. pre-built models from JSON AST).
- Added support for viewing the documentation of shapes found within JSON AST (incl. rendering external documentation links).
- Added support for detecting unresolved shapes (with an ability to import them).
- Added support for detecting unused imports (with an ability to automatically remove them).
- Added support for detecting qualified shape ids (with an ability to import them).
- Added support for optimizing/rearranging imports (sorted lexicographically).
Changed
- Improved the performance of reference resolution (by caching the resolved targets and updating when files have been changed).
- Improved the readability of the auto-complete dialog (adding icons to shapes/members, including prelude + AST shapes, and removing the previous keywords which had live templates).
- Improved the go-to dialogs by including the prelude shapes.
v1.4.1
v1.4.0
Full Changelog: v1.03...v1.4.0
Added
- Added support for resolving
SmithyShapeId
references (only within the current project for now). - Added support for rendering documentation of the target
SmithyShape
which aSmithyShapeId
references on hover. - Added go-to contributors for both shapes and members (for use within project search dialogs).
- Added structure view support (with new icons for shapes and members).
- Added support for all
SmithyShapeId
to be renamed. - Added all shapes and members to code completion dropdowns.
Changed
- Adjusted file icon to match plugin icon.
Fixed
- Fixed parsing of traits with an empty arguments list.
v1.03
v1.02
- Added live templates covering all shapes and top-level statements.
- Added create file action for a simple Smithy model file
- Fixed blank lines spacing with applied traits, control statements, metadata statements, and imports.
- Relaxed IDEA compatibility down to 2020.3.