# Class Diagram Generator Changelog

{% updates format="full" %}
{% update date="2025-09-17" %}

## Version 2.3.1

Behavioral relationships and rich association labels — diagrams now show *who calls whom*.

<details>

<summary>New Features</summary>

* Method-call detection: a new `MethodCallRegex` in `RegexClassDiagramParser` scans method bodies to identify calls to other classes, surfacing **behavioral interactions** alongside structural references.
* Extended data model: `DiagramTypeModel` now carries a `LocalCalls` collection that temporarily stores detected method names before resolution at export time.
* Smart association grouping: multiple relations between the same two types are merged into a single arrow with a combined label.

</details>

<details>

<summary>Improved</summary>

* Association arrow labels now display the **real member names** that link two types (e.g. `_database`, `Initialize()`) instead of generic `"field"` or `"property"` labels.
* Readability cap on association labels: up to 5 members are listed, with a `…` suffix when more are present, keeping diagrams legible on heavily coupled classes.
* Footer version updated to `2.3.1` in `ClassDiagramGeneratorWindow`.

</details>

<details>

<summary>Fixed</summary>

* None (additive release).

</details>
{% endupdate %}

{% update date="2025-09-17" %}

## Version 2.3.0

PlantUML diagram import and C# skeleton generation — the reverse workflow goes live.

<details>

<summary>New Features</summary>

* Import PlantUML class diagrams (`.puml`) and generate matching C# script skeletons directly into your project.
* New **Import Diagram / Generate Skeleton** card in the Editor window.
* Skip-existing-files protection enabled by default to avoid overwriting your scripts.
* Configurable **Scripts Output** folder for generated skeletons.
* Reverse-workflow foundations introduced: `PlantUmlDiagramImporter`, `CSharpSkeletonGenerator`, `DiagramImportAndSkeletonService`, `ICodeSkeletonGenerator`, `IClassDiagramImporter`.

</details>

<details>

<summary>Improved</summary>

* Generation pipeline reworked to support future import/export expansions.
* Skeleton generator emits idiomatic C#: one file per type, namespaces preserved, default `using` directives, stable visibility modifiers, and `throw new NotImplementedException();` stubs so the project compiles immediately.

</details>

<details>

<summary>Fixed</summary>

* None (additive release).

</details>
{% endupdate %}

{% update date="2025-09-17" %}

## Version 2.1.0

Unity 6.3 / 6.4 compatibility improvements and parser stability fixes.

<details>

<summary>New Features</summary>

* None (compatibility and stability release).

</details>

<details>

<summary>Improved</summary>

* General parser stability improvements on standard Unity codebases.
* Output folder now auto-created when missing, removing a common source of export errors.

</details>

<details>

<summary>Fixed</summary>

* Scan reliability and script-detection issues on Unity 6.3 / 6.4.
* Output path errors when targeting non-existing folders.

</details>
{% endupdate %}

{% update date="2025-09-17" %}

## Version 2.0.0

Visual overhaul aligning the tool with the unified JulesTools dark theme system.

<details>

<summary>New Features</summary>

* Background overlay for improved depth and consistency.
* Cleaner header layout and structured card-based sections.
* Toolbar and button styling unified with the JulesTools ecosystem.

</details>

<details>

<summary>Improved</summary>

* Improved readability and visual hierarchy.
* Better spacing and section separation.

</details>

<details>

<summary>Fixed</summary>

* None (visual refresh only).

</details>
{% endupdate %}

{% update date="2025-09-05" %}

## Version 1.3.0

Expanded scan flexibility and improved usability for larger projects.

<details>

<summary>New Features</summary>

* Select any folder as scan root (not limited to `Assets/Scripts`).
* “Whole Project” option to scan all scripts under `Assets/`.
* Drag & drop support for folders and `.cs` files.
* Persistent last scan root stored using `EditorPrefs`.
* Output path picker for `.puml` file export.
* Script search field with All / None bulk toggles.

</details>

<details>

<summary>Improved</summary>

* More flexible script discovery workflow.
* Faster selection management for large codebases.

</details>

<details>

<summary>Fixed</summary>

* Minor scan consistency improvements.

</details>
{% endupdate %}

{% update date="2025-09-03" %}

## Version 1.2.1

Stability and layout improvements for window responsiveness.

<details>

<summary>New Features</summary>

* Global scroll view added to ensure full control accessibility on small window sizes.
* Persistent footer separated from scroll area for consistent visibility.

</details>

<details>

<summary>Improved</summary>

* Improved layout stability across different editor window dimensions.
* Cleaner internal structure by removing duplicate `ScriptSelectionManager` and `ScriptEntry` definitions.

</details>

<details>

<summary>Fixed</summary>

* Resolved ambiguity issues caused by duplicate class definitions.
* Fixed inaccessible Generate button when window height was reduced.

</details>
{% endupdate %}

{% update date="2025-07-14" %}

## Version 1.2.0

Major improvement to script selection and diagram generation control.

<details>

<summary>New Features</summary>

* Script inclusion system allowing fine-grained selection.
* Checkbox-based filtering per file.
* Search-based script filtering.
* Select All / None toggles.

</details>

<details>

<summary>Improved</summary>

* Full UI language standardized to English.
* Improved generation precision (no longer processes all scripts blindly).
* Cleaner internal structure and preparation for production release.

</details>

<details>

<summary>Fixed</summary>

* Minor label and messaging inconsistencies.

</details>
{% endupdate %}

{% update date="2025-06-18" %}

## Version 1.1.0

Full UI redesign improving clarity and usability.

<details>

<summary>New Features</summary>

* Modernized custom editor window.
* Improved spacing and layout logic.
* Foundation prepared for future advanced diagram features.

</details>

<details>

<summary>Improved</summary>

* Better readability and element alignment.
* Improved color and visual contrast.

</details>

<details>

<summary>Fixed</summary>

* None.

</details>
{% endupdate %}

{% update date="2025-06-09" %}

## Version 1.0.0

Initial public release.

<details>

<summary>New Features</summary>

* Automatic PlantUML diagram generation from all C# scripts under `Assets/Scripts`.
* Direct PlantUML live-rendering URL generation.
* `.puml` file export support.
* Basic inheritance detection.
* Extraction of:
  * Class declarations
  * Fields
  * Properties
  * Methods

</details>

<details>

<summary>Improved</summary>

* Simple and intuitive custom editor window.
* Instant export feedback.

</details>

<details>

<summary>Fixed</summary>

* None.

</details>
{% endupdate %}
{% endupdates %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://julestools.gitbook.io/julestools-docs/changelog/readme-3.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
