Repository navigation
Releases: victorrentea/live-coding
Releases · victorrentea/live-coding
Release list
v1.0.34
v1.0.32
- New "Copy Nice GitHub url" action, in the Git menu right under the GitHub submenu. It copies
the GitHub link to the selected file on the current branch
(https://github.com/acme/demo/blob/main/README.md), instead of the commit-SHA-pinned link that
GitHub > Open in Browser produces — so the link stays valid and readable after further commits.
Works with https/ssh/scp-style remotes and GitHub Enterprise hosts; falls back to the commit SHA
on a detached HEAD, and to/tree/<branch>for directories and the repository root. - Fixed "Restart advised — some plugins didn't unload fully" on update. The chapter feature
attached a focus listener to the IDE's own window and never detached it, so the previous
plugin's classloader stayed alive across an update (and the stale listener then failed with a
ClassCastExceptionagainst the newly loadedChapterService). The listener now lives in a
project-level service that removes it on dispose.ChapterStartupalso moved from the
deprecatedStartupActivitytoProjectActivity. - Copy Git Coordinates: shorter, paste-friendly format. Now copies just the remote URL
(https://github.com/acme/demo.git), appending- branch: <name>only when you are on a
branch other thanmain/master. - Install / update without an IDE restart. The plugin is now fully dynamic on all supported
builds (2024.3+). The test-result sound/splash moved off the non-dynamictestStatusListener
extension point to theSMTRunnerEventsListenermessage-bus topic; with no components anywhere,
the IDE can load, unload, and update the plugin without a restart.
v1.0.31
- Fixed "Restart advised — some plugins didn't unload fully" on update. The chapter feature
attached a focus listener to the IDE's own window and never detached it, so the previous
plugin's classloader stayed alive across an update (and the stale listener then failed with a
ClassCastExceptionagainst the newly loadedChapterService). The listener now lives in a
project-level service that removes it on dispose.ChapterStartupalso moved from the
deprecatedStartupActivitytoProjectActivity. - Copy Git Coordinates: shorter, paste-friendly format. Now copies just the remote URL
(https://github.com/acme/demo.git), appending- branch: <name>only when you are on a
branch other thanmain/master. - Install / update without an IDE restart. The plugin is now fully dynamic on all supported
builds (2024.3+). The test-result sound/splash moved off the non-dynamictestStatusListener
extension point to theSMTRunnerEventsListenermessage-bus topic; with no components anywhere,
the IDE can load, unload, and update the plugin without a restart.
v1.0.30
- Copy Git Coordinates: shorter, paste-friendly format. Now copies just the remote URL
(https://github.com/acme/demo.git), appending- branch: <name>only when you are on a
branch other thanmain/master. - Install / update without an IDE restart. The plugin is now fully dynamic on all supported
builds (2024.3+). The test-result sound/splash moved off the non-dynamictestStatusListener
extension point to theSMTRunnerEventsListenermessage-bus topic; with no components anywhere,
the IDE can load, unload, and update the plugin without a restart.
v1.0.29
- Install / update without an IDE restart. The plugin is now fully dynamic on all supported
builds (2024.3+). The test-result sound/splash moved off the non-dynamictestStatusListener
extension point to theSMTRunnerEventsListenermessage-bus topic; with no components anywhere,
the IDE can load, unload, and update the plugin without a restart.
v1.0.28
- New Annotate field footprint intention (Alt+Enter). On a parameter whose type is a "fat
object" (a class with many instance fields), it statically walks the method's call graph and
records which fields are read and written into the Javadoc as
@param name reads {a, b.c} writes {d}— to guide extracting thin DTOs. It is honest about
blind spots: parameters reaching whole-object sinks (serialization, script engines, whole-object
marshalling liketoXML, bound method references like::toXML) are annotatedreads {ALL},
and opaque boundariesreads {?}, rather than a misleadingly short list. Transitive analysis
runs on demand behind a cancelable progress bar; getters, chained paths (a.getB().getC()→
b.c), casts, setters, and method references are all handled. - New Fat parameter used as a thin DTO inspection (weak warning). Flags a fat-object parameter
that only reads a few fields and never propagates out of the method — a thin-DTO candidate —
using a cheap intra-procedural analysis (no cross-file resolution), so it is safe to run
on-the-fly. Run the intention on the same parameter for the full transitive footprint.
v1.0.23
- Rebuilt and modernized for IntelliJ Platform 2024.3+ (sinceBuild 243).
- Migrated to IntelliJ Platform Gradle Plugin 2.x, Kotlin 2.1, Gradle 9, JDK 21.
- Adapted to platform API changes: non-null parameters in inspection visitors and quick fixes,
removal ofcastSafelyTo, migration ofInvertIfConditionActionto ModCommand API. - Removed all Internal API usages flagged by Marketplace verification:
TestStateInfo.Magnitudereplaced with publicAbstractTestProxy.isPassed()/isIgnored(),
and the internalBaseInspection.shouldInspect(PsiFile)overrides replaced by
per-visitor AssertJ/Lombok applicability checks.
v1.0.21
v1.0.20
v1.0.19
fix bug in status sound tests - 1 0 19