Version 2.4.1
Released on 2026-11-08
- JW-699: Update website copyright year to 2026
- JW-700: ArrayViz stays empty when a static array field is present (always in VS Code)
- JW-701: Use the same data-structure class list in VS Code as in the browser and IntelliJ
- JW-703: List and Tree views break stepping when a static field points to a node
Version 2.4.0
Released on 2026-11-04
- JW-255: Navigation buttons overlap visualizations
- JW-386: Replace independent d3.zoom() with d3-graphviz zoom APIs in TheHeapVisualization
- JW-516: Expand IntelliJ plugin automated test coverage
- JW-645: Shorten JavaWiz 2.3.1 website news
- JW-646: Distinguish current and retired project leads
- JW-647: Add background color feature to IconWithTooltip
- JW-650: Enable JetBrains Marketplace exception and UI freeze reporting for the IntelliJ plugin
- JW-651: Require AI agents to use a visible browser window
- JW-652: Give each AI session its own visible browser profile
- JW-654: Document Fix Version 0.0.0 as the backlog marker
- JW-655: IntelliJ: Debug with JavaWiz gutter icon appears on methods that are not named main
- JW-656: IntelliJ: Clarify names in the run-line marker contributor
- JW-657: Keep Python bytecode files out of Git and the public mirror
- JW-658: Instead of using per-icon backgrounds in NavigationBarWithSettings, put a general JavaWiz-blue background behind the whole settings dialog.
- JW-659: Exclude release_credentials.py from the public mirror
- JW-660: Collect repeated frontend colors in a central place
- JW-661: Review names of central frontend colors and merge very similar colors
- JW-662: StreamViz misplaces marbles and drops links into terminal operations
- JW-663: StreamViz shows wrong results for most collectors, and some collectors make JavaWiz fail
- JW-664: NavigationBarWithSettings in StreamViz is not attached to upper-left
- JW-665: StreamViz splits or extends the calling stream's diagram when a callback, such as a sorted comparator, creates a stream
- JW-666: Better port management
- JW-667: Move the stream-related recording classes into their own package
- JW-668: Simplify the collector state model used by StreamViz
- JW-669: Tell AI agents to maximize the browser and use a single-pane JavaWiz layout
- JW-670: Tell AI agents to center the maximized browser window on the screen
- JW-672: StreamViz does not show empty streams created inside Collectors.flatMapping
- JW-673: Move StreamViz buttons up and step buttons to the right
- JW-674: Internal guide for inspecting VS Code and IntelliJ logs
- JW-675: On JDK 27, JavaWiz stops early and reports a wait for input at the first String.format or printf
- JW-676: StreamViz draws nothing for array stream elements
- JW-678: Save browser screenshots to YouTrack during AI investigation and testing
- JW-679: StreamViz: show object fields, give objects sharp corners, draw lists like arrays, and fit lane heights to their marbles
- JW-680: Bring the hover highlighting improvements from features/master/highlighting into master
- JW-681: Move the sequence diagram history out of the debugger trace
- JW-682: StreamViz has no Close button when no stream is shown
- JW-683: Background of the selected source file tab is too dark
- JW-684: Lighten medium gray and add a light-medium gray for dividers
- JW-685: Make the secondary blue of the pane navigation bar slightly lighter
- JW-686: Change the central dark gray to #444444
- JW-687: Use the pane navigation blue for memory view headers and add a Heap header
- JW-690: Add JavaWiz 2.4.0 release notes to website news
- JW-691: IntelliJ: Debug with JavaWiz starts the first main method in the project instead of the one launched
- JW-693: IntelliJ: JavaWiz index page not shown on Linux due to browser sandboxing
- JW-694: Document how AI assistants check IntelliJ plugin behavior in a sandbox IDE
- JW-695: IntelliJ: Split the Debug with JavaWiz button state by where the action is shown
- JW-698: Release JavaWiz 2.4.0
Version 2.3.1
Released on 2026-10-27
- JW-260: collapse args in heap by default
- JW-539: Rename PUBLISH_TOKEN environment variable to INTELLIJ_PUBLISH_TOKEN
- JW-629: Configure Chrome DevTools MCP to launch installed Chromium
- JW-634: Install missing GitHub CLI automatically before publishing
- JW-635: Write publishing and website news instructions in plain language
- JW-636: Install missing release prerequisites automatically
- JW-638: JDK 27: Class com.sun.tools.javac.tree.JCTree$JCCompilationUnit does not have member field 'com.sun.tools.javac.tree.EndPosTable endPositions'
- JW-639: Bug Report: Problems with combination "IntelliJ Plugin + Java 27"
- JW-642: Bug report: JavaWiz fails with missing javac endPositions field
- JW-643: Add JavaWiz 2.3.1 release notes to website news
- JW-644: Release JavaWiz 2.3.1
Version 2.3.0
Released on 2026-10-12
- JW-40: Make build and release scripts OS-independent
- JW-217: Add titles (tooltips) to visualization buttons (zoom in, zoom out, etc.)
- JW-236: NavigationBarWithSettings should use IconWithTooltip, not normal buttons
- JW-520: Review the JW-290 Composition API migration for remaining regressions
- JW-521: Audit Vue watchers for missing immediate initialization
- JW-522: Audit Vue Composition API ref and reactivity correctness
- JW-534: Move the "Select at least one list class" text in the list view inward
- JW-540: Release scripts can only work with semantic version numbers (1.2.3), not version names (e.g., "Backlog")
- JW-547: Modularize the MemoryView to support different specialized memory views (beginner, detailed, data structure focus, memory consumption, final fields, ...)
- JW-548: Classify loaded classes for heap traversal and data structure views
- JW-549: Split data structure detail visibility settings
- JW-550: Redraw Memory View when visibility settings change
- JW-551: Make Memory View renderer state chart-specific
- JW-552: Normalize optional Memory View DOT columns
- JW-553: Reconnect large Memory View expansion to visibility store
- JW-554: Fix detailed string backing-field ports and edges
- JW-555: Preserve new-frame change highlighting
- JW-556: Prevent Memory View from duplicate renders
- JW-557: Make Memory View DOM listeners instance-safe
- JW-558: Correct Memory View memory consumption estimates
- JW-559: Clean up Memory View DOT and source hygiene
- JW-560: Cleanup Memory View improvements
- JW-561: Merge Memory View changes into main branch
- JW-562: Add file path popup to image export
- JW-564: Add date and time to image export file name
- JW-565: StreamViz image export does not contain links between marbles
- JW-566: Broken maximum width calculation in StreamViz when flatmap is used
- JW-567: Parent-Child Relationship can break on flatMap in StreamViz
- JW-568: Add "News" section to website
- JW-569: Enable website updates without full version release
- JW-570: Update Gradle daemon JVM version to Java 25
- JW-571: Update website integration label
- JW-572: Desk Test only shows a single line
- JW-573: StreamViz sometimes visualizes integer as float
- JW-574: reduce is (sometimes) not working in StreamViz
- JW-578: Add separate skills for website deployment and product publishing
- JW-579: History View can silently hide arrays
- JW-581: Remove console noise
- JW-584: History View: overloaded methods share filters
- JW-585: Properties.serialVersionUID writing is shown in History View even though it is not part of user code
- JW-586: StreamViz: "Resume Animation from current step" can overlap Next-button
- JW-587: Remove Serena MCP configuration and local project files
- JW-589: Version in title bar should link to https://javawiz.net/changelog.html
- JW-590: Refactor StreamOperationValue class
- JW-591: Clarify stream event terminology and tracing API names
- JW-592: Clarify stream instrumentation descriptor and insertion names
- JW-593: Clarify StreamOperationTracer state and identity names
- JW-594: Clarify stream payload and terminal-result names
- JW-595: Clarify StreamViz visualization model and payload names
- JW-596: Clarify StreamViz renderer and playback names
- JW-597: Clarify StreamViz layout algorithm names
- JW-599: Choose dynamic tests only when they are the best verification
- JW-600: Replace StreamViz frontend any types with payload-specific types
- JW-601: Align stream event, element, marble, and node terminology
- JW-602: Add jw-plan and jw-implement skills for separate planning and implementation
- JW-603: StreamViz instrumentation rejects reduce on a stored stream variable
- JW-604: StreamViz instrumentation inserts invalid statements into for-loop initializers
- JW-605: Visualize sequential stream pipelines executed in methods
- JW-606: StreamViz omits reduce results when no accumulator invocation occurs
- JW-607: Parallel streams fail with an uninformative backend error
- JW-611: Ignore hidden files and directories when loading Java sources
- JW-612: Document backend marble diagram generation architecture
- JW-613: Separate stream execution tracing from marble diagram generation
- JW-614: Add hover effect to version number
- JW-615: Clarify repository finalization and push rules
- JW-616: StreamViz: Visualize empty optionals
- JW-617: StreamViz: Source names do not always correspond to source code
- JW-618: Rename the combined plan-and-implement skill to jw-plan-and-implement
- JW-619: StreamViz: Preserve complete pipelines across variable and method boundaries
- JW-620: Add icons to PET annotations
- JW-621: Golden-test all stream instrumentation source rewrites
- JW-622: Restructure JavaWiz skill organization
- JW-623: Clarify optional VSCE_PAT release instruction
- JW-624: HeapView: Fix "Show Memory" bugs
- JW-625: HeapView: "Show Data Structure Fields" mode shows broken links to non-visualized objects
- JW-626: Move common HeapView node rendering into HeapVizHeapItem
- JW-627: Add jw-review skill for auditing completed implementations
- JW-630: Add JavaWiz 2.3.0 release news article
- JW-631: Release JavaWiz 2.3.0 from Ubuntu
- JW-632: Avoid template size limit when packaging IntelliJ release notes
- JW-633: Remove stale bundled assets when rebuilding IDE integrations
Version 2.2.0
Released on 2026-08-21
- JW-541: IntelliJ plugin 2.1.3 cannot load JBCefBrowser on IntelliJ IDEA 2026.2.1
- JW-542: Raise minimum IntelliJ version to 2026.2.1 due to JCEF dependency change
- JW-543: Use JUnit 5 Java PSI fixture for IntelliJ line-marker tests
- JW-544: Document IDE compatibility requirements
- JW-545: Document minimum JDK requirement
Version 2.1.3
Released on 2026-08-18
- JW-81: Heapviz href error
- JW-94: Visualize multiple list/tree/node classes in list and tree visualization
- JW-366: List view (and potentially tree view) does not apply list and node class heuristic anymore.
- JW-379: Fix all frontend linting errors revealed by corrected ESLint config
- JW-492: Support `static void main()`
- JW-511: Synchronize README and JavaWiz descriptions with website changes
- JW-512: Support compact source files and instance main methods
- JW-513: Remove custom VS Code main-method scanner
- JW-514: Strengthen plan-and-implement approval, scope, and complexity triage
- JW-515: Use the latest suitable JUnit version in the IntelliJ plugin
- JW-519: Allow Codex to link YouTrack issues without an approval prompt
- JW-523: Correct outdated run-javawiz startup, visualization, and cleanup guidance
- JW-524: Allow unattended Chrome DevTools controls and YouTrack comment reads in Codex
- JW-525: Clarify README instructions for local development and IntelliJ plugin runs
- JW-526: Prevent list and tree redraws before zoom initialization
- JW-527: Document list and tree class-selection frontend tests
- JW-529: Prefer the in-app browser in the run-javawiz skill
- JW-531: Use the next unreleased version for YouTrack issue planning
- JW-532: Require issue-scoped commits for completed AI work
- JW-535: Enable closing visualization views before compilation
- JW-536: Support non-static main methods
- JW-537: :backend:clean must also remove `bin` folder
- JW-538: frontend build should store node and npm in user directory, not project directory
Version 2.1.2
Released on 2026-08-13
- JW-304: Add frontend debug configurations for VS Code and IntelliJ
- JW-407: Standardize MCP server configuration across all AI coding tools
- JW-496: Add an "export image" button to the vizualization settings bar
- JW-499: Add a check on whether the minimum supported Java version is installed
- JW-500: Update website to reference the DEBT'26 PETs vision paper and ECCOP'26 ThreadViz Demo Paper
- JW-502: Trace History View
- JW-505: Publish the 2026 research papers on the website
- JW-506: Synchronize website and About overlay contributor lists
- JW-507: Adopt Serena's official Codex MCP and lifecycle-hook setup
- JW-508: Initialize Sequence Diagram zoom state before automatic navigation
- JW-509: Document all ten JavaWiz visualization views consistently
- JW-510: Share repository skills across AI coding tools
Version 2.1.1
Released on 2026-06-29
- JW-497: Fix stream visualization pane rendering and controls placement
Version 2.1.0
Released on 2026-06-29
- JW-469: Read YouTrack release credentials from environment variables
- JW-470: Prevent duplicate backend test execution across Java versions
- JW-471: Avoid repeated unchanged frontend production builds
- JW-472: Make verbose backend test output opt-in
- JW-474: Use maintained @vscode/vsce release tooling
- JW-475: Improve Gradle configuration-cache compatibility
- JW-476: Normalize repository line endings and remove CRLF warnings
- JW-477: Update deprecated and outdated npm dependencies safely
- JW-478: Reduce frontend production bundle and initial load size
- JW-479: Review and modernize frontend Vite build practices
- JW-480: Support release environment variables from a .env file
- JW-481: Enable Gradle configuration cache across development and CI
- JW-482: Cache frontend ESLint verification
- JW-483: Publish complete backend test reports in GitHub Actions
- JW-484: Cache VS Code TypeScript compilation
- JW-485: Emit build diagnostics only for executed compiler and JAR tasks
- JW-486: Assess recurring IntelliJ Gradle initialization tasks
- JW-487: Make backend CI encoding and multi-JDK execution deterministic
- JW-488: Merge master into PETs branch
- JW-489: Backend keeps running after WebSocket port bind failure
- JW-490: Annotate HTML and SVG elements with PETs
- JW-491: Change the default WebSocket port to 51234
- JW-493: PETs: Pedagogical Execution Traces
- JW-494: Centralize PET state and reactive annotation updates
- JW-495: Remove redundant non-null assertions from backend tests
Version 2.0.4
Released on 2026-06-24
- JW-464: Update website release date during the release pipeline
- JW-465: Store JUnit test results in GitHub Actions
- JW-466: Update contributors in the About overlay
- JW-467: Exclude release-script tests from the public repository mirror
- JW-468: Refresh repository descriptions and Serena knowledge after recent project changes
Version 2.0.3
Released on 2026-06-24
Version 2.0.2
Released on 2026-06-24
- JW-452: IntelliJ Plugin: Show complete changelog and project links in change notes
- JW-453: IntelliJ Plugin: Align marketplace description with VS Code extension
- JW-454: IntelliJ Plugin: Add wizard-hat marketplace icon
- JW-455: IntelliJ Plugin: Document processResources build logic
- JW-456: Release: Link Discord notification to GitHub release artifacts
- JW-457: Release: Link GitHub release-note issues to YouTrack
- JW-458: VS Code Extension: Update marketplace README for version 2.0.2
- JW-459: Backend: Run all tests on Windows and Linux in GitHub Actions
- JW-460: Website: Make public repository README more appealing to users
Version 2.0.1
Released on 2026-06-24
- JW-446: IntelliJ-Plugin: Show Debug With JavaWiz only for active Java files
- JW-447: IntelliJ-Plugin: Adapt Debug With JavaWiz icon color to IDE theme
- JW-448: IntelliJ-Plugin: Use Project tree selection when no editor file is open
- JW-449: IntelliJ-Plugin: Show the JavaWiz wizard icon on the tool window
- JW-450: IntelliJ-Plugin: Add Debug With JavaWiz action to the tool window header
- JW-451: Backend: Preserve input across hidden record constructor trace states
Version 2.0.0
Released on 2026-06-23
- JW-338: IntelliJ Plugin
- JW-339: IntelliJ Plugin: Correctly fill in plugin.xml according to JetBrains documentation
- JW-343: Update Java (25), Kotlin (2.3) and Gradle (9.x) version
- JW-344: Upgrade all Frontend dependencies to latest version
- JW-348: Enhance build script such that it can work with four-place numbers (A.B.C.D)
- JW-349: Provide setting to release without testing (for quick-fixes after broken releases)
- JW-350: Do not access the `Project` object at run time in Gradle build script as this is deprecated
- JW-351: Enable bug report feature -- without leaking Discord webhook this time
- JW-352: Add globals.browser to eslint definition
- JW-353: Fix build script such that versions with numbers >= 10 are working (such as 1.8.10)
- JW-354: Rename CNAME.txt to CNAME
- JW-355: Rename "javawiz-frontend" project to "frontend", rename "websocket-debugger" to "backend", and clean up IntelliJ project
- JW-356: Check whether "defineComponent" is really needed in <script setup>
- JW-357: Refactor visualization store to provide uniform way to define new visualizations
- JW-358: Convert every component to <script setup> Composition API
- JW-361: Current line is offset by one trace state
- JW-362: Fix broken VS Code logo on website
- JW-363: Split class-pattern settings into three orthogonal concerns
- JW-364: Enable recording of Java data structures (java.util.List, ...)
- JW-365: Add paper preprint to website
- JW-367: Get rid of all "defineComponent" calls by upgrading all components from options API to composition API
- JW-368: Establish agent/AI workflow conventions in copilot instructions
- JW-369: Fix Vue warning: visualization components stored as reactive objects in VisualizationStore
- JW-370: Add runJavaWiz Copilot CLI skill
- JW-371: Add YouTrack → Discord webhook notifications for new issues and comments
- JW-372: Extract publish ignore list to FILES_AND_DIRS_TO_IGNORE_ON_PUBLISH.txt
- JW-373: Refine agent workflow conventions in copilot instructions
- JW-374: Upgrade all Typescript-based systems to Typescript 6.0
- JW-375: Add run-javawiz Copilot skill for browser-based JavaWiz interaction
- JW-376: Add familiarize Copilot skill for pre-task codebase briefing
- JW-377: Rework TheHeapVisualization d3-graphviz rendering architecture
- JW-378: Fix ESLint config to correctly parse Vue template blocks
- JW-380: Settings dialog in Memory View is unclickable when SVG is present
- JW-381: Memory View: Add "Show internal class fields" settings panel
- JW-382: Refactor JDI pipeline for readability
- JW-383: Fix wrong identifier prefix "localvar_" in thisVar (should be "l_")
- JW-384: Rename DOT placeholder ###CLASS### to ###CSSCLASS### for heap elements
- JW-385: Extract and fix click listener setup logic in HeapVisualization
- JW-387: Improve .github/copilot-instructions.md
- JW-390: Audit and reduce unnecessary TypeScript/tooling drift across TS subprojects
- JW-393: Memory View: Add title attribute to all DOT template cells
- JW-394: Improve run-javawiz Copilot skill: reliable editor setValue and process shutdown
- JW-395: Secure .serena folder and document publishing process
- JW-396: Add agent instructions for Claude Code and OpenCode
- JW-398: Fix npm install failure in frontend due to alpha typescript-eslint versions
- JW-399: Fix frontend TypeScript build errors (duplicate identifiers and type incompatibility)
- JW-400: Fix frontend build and lint errors
- JW-401: Do not add faked objects when we just left a lambda
- JW-402: Do not track static fields of detail-classes
- JW-403: Add more comprehensive compilation output on backend
- JW-404: Set up ESLint and fix all warnings across frontend, shared, and vsc-extension
- JW-405: Align TypeScript compilation targets to ES2022 across all subprojects
- JW-406: Add Kiro steering files for AI-assisted development
- JW-408: IntelliJ Plugin: Fix action labeling, duplicate actions block, and missing Kotlin code lens
- JW-411: IntelliJ Plugin: Improve port discovery robustness
- JW-412: IntelliJ Plugin: Fix WebSocket connection list management (stale sessions, multi-connection inconsistency)
- JW-413: IntelliJ Plugin: Migrate to modern IntelliJ plugin standards (Gradle plugin 2.x, untilBuild, invalid module dependency)
- JW-414: IntelliJ Plugin: Clean up stale files from previous plugin versions on startup
- JW-415: IntelliJ Plugin: Fix startup/shutdown resilience and partial-failure cleanup
- JW-416: IntelliJ Plugin: Update release mechanism to include plugin builds and publishing
- JW-417: IntelliJ Plugin: Integrate into root multi-project Gradle build
- JW-419: Fix .gitignore to exclude generated/local files from IntelliJ plugin
- JW-420: Inject Frontend and Backend resources into IntelliJ plugin at build time
- JW-421: Java Stream API Visualization
- JW-422: IntelliJ Plugin: Prioritize editor content over file content; add Java diagnostic logging
- JW-423: Memory View: Title-based attribute injection + HeapLookup bounding-box helper
- JW-424: Fix AI assistant MCP server connections
- JW-425: Refresh AI assistant repository guidance
- JW-426: Harden YouTrack MCP startup after restart
- JW-427: Stream visualization controls are clipped
- JW-428: Use value type for stream marble colors
- JW-429: Exclude internal agent files from public mirror
- JW-430: Add local public mirror preview script
- JW-431: Exclude local build cache directories from public mirror
- JW-432: Support path-based public mirror exclusions
- JW-434: IntelliJ Plugin: Store extracted resources in home-based version directory
- JW-435: Release backend.jar, frontend.zip, intellij-plugin.jar as well as vsc-extension.vsix as GitHub release assests when new version is published.
- JW-436: Update AI guidance for YouTrack issue field handling
- JW-437: Keep backend compile timing output contiguous
- JW-438: Improve request logging timing output
- JW-439: IntelliJ rerun of parameterized Gradle tests fails with invocation index
- JW-440: Adjust stream instrumentation collection for statement-scoped calls
- JW-441: Add backend test for multiple stream visualization statements
- JW-442: Add backend test for stream collect inside string concatenation
- JW-443: Add backend test for operation after stream min
- JW-444: Add backend test that stream field initializer is not instrumented
- JW-445: Disable flaky backend OutOfMemory test
Version 1.8.0
Released on 2025-10-25
- JW-347: Fix broken :backend:copyRuntimeLibrariesToLib introduced by Gradle version upgrade
Version 1.7.9
Released on 2025-10-24
Version 1.7.8
Released on 2025-10-22
- JW-331: Array visualization shows same index indicator multiple times
- JW-333: Frontend suffers from strong performance degradation, especially when performing multi-step operations
- JW-334: Add time tracking for step processing to trace states
- JW-336: ArrayViz creates multiple index descriptors for same accessor
- JW-340: ArrayViz does not have "aggregation animations" anymore.
- JW-341: ArrayViz does not show "off-by-one" / ArrayIndexOutOfBoundsException highlighting
- JW-342: Upgrade Java (21), Kotlin (2.2.20) and Gradle (8.14) version
Version 1.7.7
Released on 2025-07-31
Version 1.7.6
Released on 2025-05-14
- JW-320: Remove duplicated Icons info in README.md
- JW-321: Make "How to get" centered on narrow screen.
- JW-322: Clone website to /docs folder so we can publish it as Github Pages
- JW-323: Rename Debugger.ts to Backend.ts to better reflect the current naming scheme
- JW-324: Automatically create code release on GitHub after publish
Version 1.7.5
Released on 2025-04-30
Version 1.7.4
Released on 2025-04-28
Version 1.7.3
Released on 2025-04-28
- JW-290: Migrate to composition API
- JW-293: Migrate from webpack to vite
- JW-305: Flowchart: Rectangles for inline methods are not correctly sized for constructor calls
- JW-306: Failed In.open() produces ugly output in Input view
- JW-307: StepOver targetReached incorrect
- JW-308: Reunify eslint versions
- JW-312: Update In.java, Out.java and Rand.java to match JKU-SW1-Style
- JW-313: Put the HTML code for javawiz.net in the repository
Version 1.7.2
Released on 2025-02-03
Version 1.7.1
Released on 2025-01-13
- JW-295: Change changelog.md to CHANGELOG.md
- JW-296: Add a SUPPORT.md to the VSC extension
- JW-297: Add galleryBanner information to package.json to provide nicer marketplace experience
- JW-298: Check package.json for adherence to https://code.visualstudio.com/api/references/extension-manifest
- JW-300: Set license to GPL3
- JW-301: Test on latest JDK and LTS JDKs on build; provide testAll gradle task to test on all JDKs
Version 1.7.0
Released on 2025-01-07
- JW-154: Do not show "Wont Fix" issues on release changelog.
- JW-180: Move from javaparser to java.compiler API
- JW-223: Sequence Diagrams
- JW-246: Warn the user if they use unsupported features
- JW-247: Flowcharts: Method expansion
- JW-264: Hover Sync: Unhover in heap not always triggered
- JW-265: Replace ClassVisitor by Symbol table resolution
- JW-267: Create context menu item to auto-generate In/Out/Rand
- JW-269: Error messages in frontend broken:
- JW-270: List Viz broken on complex nodes
- JW-271: Cannot manually create In/Out inside package in web version
- JW-272: First class is main by default feature broken
- JW-273: Desk Test: Uri resolution broken
- JW-274: Frontend randomly freezes
- JW-275: Sequence diagrams: No expand feature if nothing to expand
- JW-277: Hover Sync: Statics highlighting broken for classes inside packages
- JW-279: Sequence Diagrams: Collapse broken
- JW-280: NullPointerException: sym.owner null
- JW-281: "Disable/Enable Advanced Java Support" context menu entries are also visible in non-Java files
- JW-282: Refactor main-branch to simplify merging into Espresso&WebImage-branch
- JW-283: Cache backend.js (WebImage)
- JW-285: Editor broken on reload
- JW-287: Hover performance: Heap view is redrawn even without relevant changes
- JW-288: Pattern matching instanceof (e.g., x instanceof Person p) not working
- JW-289: List view properties in dropdows (class names) cannot be changed
- JW-291: Extension: File loading unreliable
Version 1.6.1
Released on 2024-08-22
- JW-18: Check the Java version of the user and give a warning if it's too low
- JW-156: Show better error message when no Java is found on path
- JW-174: Synchronized highlight across visualizations
- JW-186: Compile in extension mode even though unused java files in workspace have syntax errors
- JW-187: Warn user when they use threads
- JW-235: Check all z-index in the whole frontend and try to somehow find a suitable system to organize them (central documentation?)
- JW-253: Repeatedly hitting 'Run in JavaWiz' breaks line highlighting
- JW-254: InViz shows incorrect return type on 'In.open()'
- JW-256: Extension cannot be restarted after being stopped
- JW-257: Auto-reconnect in front end causes disconnection
- JW-263: Extension does not reliably kill debugger
- JW-286: Frontend extremely slow in development mode
Version 1.6.0
Released on 2024-07-24
- JW-139: InViz: Pane should have correct height on first show
- JW-185: DeskTest: Header hidden when scrolling down, make sticky
- JW-190: Extension: Don't stop debug on editor close
- JW-193: Improve splitpanes layouting
- JW-194: Generate WebImage configuration for reflection with a script
- JW-198: Close running JavaWiz if "Run in JavaWiz" is pressed again
- JW-200: Connection failed error on javawiz startup
- JW-202: Add "About" and "Developers" information
- JW-206: Flowcharts: zoom to home activated when stepping into method of class defined in seperate file
- JW-207: Re-enable static examples loadable via uri
- JW-208: [ArrayViz] Animation for array movements does not work if array becomes pointed by two local variables
- JW-209: ArrayViz: Null pointers are not visible
- JW-210: Parameterize Tests
- JW-211: FlowDiagram: Visualization should remember whether true-false or false-true order was selected for if-statements.
- JW-212: InputViz and Console (I/O view) are separated by a splitpane, but InputViz is not resizeable -> Make InputViz resizable
- JW-213: Separate console from InViz
- JW-214: Remove fakedLocals
- JW-215: Backend Support for Object Structure Visualization
- JW-218: Clean up code (Reduce amount of Code in Home.vue, introduce Pinia stores, etc.)
- JW-219: Remove minimap from Monaco
- JW-220: Make DeskTest correctly scrolling again
- JW-221: Give JavaWiz a real favicon and drop the default vue one
- JW-222: Object Structure Visualization: Do not call method while in constructor
- JW-224: [SplitPanes]: "Open XYZ" to "Move XYZ" and make all buttons purely white
- JW-225: [SplitPanes]: ToolTips are cut off
- JW-226: Show compilation erros in console instead of pop-up
- JW-228: Rework toolbar, unify color format, remove unnecessary borders, ...
- JW-229: Update help pop-up
- JW-230: Automatically reconnect if "Connect" button does not succeed
- JW-231: [SplitPanes]: Center visualization chooser
- JW-232: Rework Icon Tooltips
- JW-233: [Toolbar] Show all step buttons side-by-side by default and switch to "dropdown mode" for small-width screens
- JW-234: [Toolbar] Fix that tooltips do not disappear if mouse moves over them
- JW-237: Flowchart: statics overlay overlaps with navbar
- JW-239: Line stays highlighted on debug end
- JW-240: Refactor Notifications into separate component
- JW-241: graphviz loading broken in extension mode
- JW-242: Splitpanes not rendered correctly
- JW-243: Top toolbar jiggly when compilation spinner is shown
- JW-244: Help Overlay overflows screen
- JW-248: Make Gradle toolchains work again
- JW-249: Introduce general "Overlay" component to allow easy adding of new dialogs
- JW-250: Show JavaWiz version in title bar and about overlay
- JW-252: Make OutOfMemoryError-Test more robust
- JW-258: Multifile Handling: Line highlighting broken in web editor
Version 1.5.3
Released on 2024-04-14
- JW-9: Automatic zoom does not work perfectly sometimes
- JW-13: Discuss future of web version
- JW-24: Discuss future of hiding configuration
- JW-173: Multifile in web version
- JW-178: Remove Feature: Keyboard navigation
- JW-191: Remove bootstrap dependency
- JW-203: No value present error on startup in extension version
- JW-204: Web Version: Store Editor Text in Local Storage and Retrieve on Load
- JW-205: Input Viz does not show anything
Version 1.5.2
Released on 2024-02-20
Version 1.5.1
Released on 2024-02-13
- JW-181: Fix which panes are hidden by default
Version 1.5.0
Released on 2024-02-13
- JW-57: Changes are currently calculated from trace state to trace state. Yet, after performing a STEP_OVER, STEP_OUT or RUN_TO_LINE, changes should be calculated across all relevant trace states.
- JW-144: DebugWebSocketServerTest.kt: Get rid of warnings (unnecessary casts, etc.)
- JW-148: Flowchart: Variable info box stops moving during animation if one hovers it
- JW-152: Parse error in vsc does not indicate File name where problem occurred
- JW-155: Desktest: Array dropdown broken
- JW-157: Border of second column in Desk Test is visible when hovering it
- JW-158: Input buffer visualization is slow when In is in package inout
- JW-159: ArrayViz: Filter variables by dynamic type rather than static type
- JW-160: Pressing CTRL+Minus while JavaWiz is running opens settings.json
- JW-161: First "Run with JavaWiz" after VSCode start (or PC reboot?) is nearly always stuck in endless loop
- JW-162: Upgrade d3 to v7, d3-graphviz to v5.2.0, @hpcc-js/wasm to 2.14.1 (Graphviz 9.0.0)
- JW-163: Flowchart: Cannot enter "this"-call in constructor.
- JW-164: Flowcharts: inline functions broken for static constructor
- JW-165: TreeViz: Cannot read properties of undefined (reading 'children')
- JW-168: Router paths broken in vue-cli serve
- JW-169: Processed Trace State in Home.vue stays undefined after first step
- JW-170: Flowcharts: variable overlay hidden when on last line of while loop
- JW-172: Discussion: where to put hiding buttons
- JW-175: On syntax error, javawiz shows javaparser error rather than compiler error
- JW-176: Flowcharts: to hide or not to hide variable overlay
- JW-177: Print source file on compile/parse error
Version 1.4.4
Released on 2023-10-04
- JW-146: Slow changed detection for array cells in Trace#calculateProcessedTraceState
- JW-147: In DeskTest, instructions are not cut off at cell end
- JW-149: Change order of visualizations
- JW-150: Store visualization visibility in local storage and restore settings for subsequent sessions
- JW-153: Change DeskTest borders to better fit its new position
Version 1.4.3
Released on 2023-09-25
- JW-145: Do not show sequence diagram icon yet
Version 1.4.2
Released on 2023-09-22
Version 1.4.1
Released on 2023-09-21
- JW-130: InViz: Use monospace at suitable locations
- JW-131: InViz: Write In.done() value in green (true) and red (false)
- JW-132: InViz: Change "Return value" to "Latest return value" and use correct quotation for strings and chars
- JW-133: InViz: Show type and name of last called In-method
- JW-134: InViz: Font size should match other visualizations such as desk test
- JW-135: InViz: Sanitize and escape char values, shorten long strings and long floating point numbers
- JW-136: Change generateVizString in DataProcessor to put ellipsis in the middle of the string and not at the end
- JW-138: Flowcharts: Hide variable info pane on hover (or make it (semi-)transparent)
- JW-140: print_changelog_from_youtrack.py should only consider resolved issues
Version 1.4.0
Released on 2023-09-21
- JW-26: Create a knowledge base with important information
- JW-36: Zoom buttons for HeapViz
- JW-84: History-based back stepping
- JW-88: Order of DeskTest columns should correspond to stack frame order
- JW-89: DeskTest: move conditions from separate column to their scope
- JW-91: New Input Stream Visualization system
- JW-100: Flowcharts: Show variable value on hover
- JW-101: Flowcharts: Improve Layout
- JW-105: Flowcharts: Statements are highlighted in all inline methods
- JW-106: Flowcharts: add sidebar icons analogous to list/array viz
- JW-107: Flowcharts: Inline methods don't work correctly
- JW-109: Flowchart: crash in following case
- JW-110: Flowcharts: elements that contain active inline functions are collapsible
- JW-111: Flowcharts: comments and statements get swapped
- JW-112: Don't show locals that went out of scope
- JW-113: Flowcharts: Highlight end of method
- JW-114: HeapViz: add Navigation Bar
- JW-115: Flowcharts: Don't show locals that went out of scope
- JW-116: Flowcharts: move to active statement
- JW-117: Flowcharts: Method Inlining broken for DoWhile Conditions
- JW-118: Debuggee not killed in extension
- JW-119: Flowcharts: show static values in corner
- JW-120: Flowchart Layout: IfThenElse broken when condition has inlined method
- JW-121: Flowcharts: Enable method calls from external classes
- JW-122: Flowcharts: Inline method hitboxes positioned incorrectly in for loop
- JW-123: Flowcharts: Properly enable Multi-File Handling
- JW-124: Flowcharts: Control structures without block don't work
- JW-125: Flowcharts: Autoinlining broken for method calls inside packages
- JW-126: Flowcharts: end of method triangle positioned inconsistently
- JW-127: Flowcharts: Method bounding box calculation not updated
- JW-128: Flowchart: Inline method render gets without completing
Version 1.3.2
Released on 2023-07-12
Version 1.3.1
Released on 2023-07-05
Version 1.3.0
Released on 2023-07-04
- JW-15: Rework/rethink isInputExpected
- JW-19: Current date is shortly visible when starting the frontend in the extension
- JW-31: Implicit toString() (probably in combination with a string concat) can show Java-internal stack frames + Out.print(Object) can show "Out-internal" stack frames
- JW-34: Special characters are not displayed correctly in outputs
- JW-43: Trace array access in the backend for visualization
- JW-44: Array visualization
- JW-48: processedTrace and deskTestLines should be updated incrementally instead of fully when new trace states are added
- JW-49: Step buttons should be disabled while vm.currentlyTalking is true
- JW-52: Make sure that RUN_TO_LINE feature does not only take class name into account but also package name
- JW-53: When performing "Run in JavaWiz", WebView sometimes cannot be opened, especially after extension rebuilding and publishing.
- JW-54: Input and output should also work for STEP_OVER and RUN_TO_LINE
- JW-55: In a for-loop, sometimes the $JavaWiz-internal call is visible on the stack, even though a class filter is set in the debugger
- JW-56: Remove exception line number adjustment code if not needed anymore.
- JW-60: Runtime exception in backend when starting workspace
- JW-61: Make Run-To-Line Input field execute on pressing ENTER
- JW-62: Enable Debugger to handle multiple events per eventSet, as well as multiple eventSets in eventQueue
- JW-63: Create typing for StepResult on frontend
- JW-64: Reintroduce the user notification that the program is waiting for input
- JW-65: Disable step buttons once we reach end of trace and isVMRunning-flag of last step result was false
- JW-67: Fuzzy checking for class names in data structure visualizations
- JW-68: Inconsistent handling of escape characters
- JW-69: Enum.valueOf displayed in stack
- JW-70: In the desk test, for loops do not display the last value of their loop variable once the conditions goes false.
- JW-71: NullPointerException in backend when calling constructor of static inner class
- JW-72: Discuss Exception tracing/visualization
- JW-74: .vscode folder that is created to store settings confuses users, need to get rid of it
- JW-75: Strings too large in desktest
- JW-76: NoSuchElementException on backend in recursive program
- JW-78: More step features
- JW-79: Opening Array visualization crashes frontend
- JW-80: Update extension's README to include data structure visualizations
- JW-85: Refactor DeskTest CSS
- JW-95: RUN_TO_END prematurely kills VM if input is expected
- JW-96: After input, just continue the previous step request (if existing) instead of performing a single STEP_INTO and then continuing
- JW-97: Some backend unit tests are broken
Version 1.2.1
Released on 2023-01-18
- JW-17: Update icons in toolbar
Version 1.2.0
Released on 2023-01-01
- JW-4: Multi-File support
- JW-10: More step features: "Step into", "Step over", "Run to line X"
- JW-39: Error messages can be hard to read -> Display error messages in console instead of in popups
- JW-42: Having a text field selected in the DataStructureViz configuration pane, pressing the arrow keys also steps through trace states
- JW-45: Multi-File Support: WebView loses focus after opening new editor
- JW-46: Limiting float precision in visualization doesn't work in arrays
- JW-51: Use JUnit Assertions in test cases
Version 1.1.1
Released on 2022-12-02
- JW-41: Additional node is shown when fields of Node class are arranged in certain order
Version 1.1.0
Released on 2022-12-01
- JW-2: Condition followed by Blockkommentar seems to break JavaWiz
- JW-3: Mail Report: Broken Heap Vizualization
- JW-5: Dynamic data structure visualization
- JW-6: Do not show desk test by default
- JW-7: Changes are not correctly detected in recursive calls
- JW-8: Reduce amount of pop-up boxes in JavaWiz VSC extenstion
- JW-14: Stop heap vis. from jiggling after spamming step button
- JW-21: Make sure the $JavaWiz class is accessible everywhere
- JW-23: Desk test should auto-scroll
- JW-25: Display returned objects after return
- JW-27: Do not enter default constructor
- JW-29: Synchronize fonts between heapviz and data structure visualization
- JW-30: Collapse objects if they have more than X fields
- JW-32: Write " ... show X more fields ..." instead of "! show more" below collapsed large objects in HeapViz
- JW-33: Instead of / Additionally to collapsing large heap objects in HeapViz, by default do not expand fields of large objects
Version 1.0.1
Released on 2022-11-11
- JW-92: Tee debugger stdout & stderr into logging files
Version 1.0.0
Released on 2022-11-09
- JW-1: First issue