Skip to content

Commit c186aba

Browse files
docs: add v1.2.3 release notes and update README
Document Kotlin migration, i18n, and UI changes; align JAR examples with 1.2.3. Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent 3bd1a92 commit c186aba

2 files changed

Lines changed: 38 additions & 4 deletions

File tree

‎README.md‎

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
[![Build](https://github.com/code4teaching/VisuStruct/actions/workflows/maven-build.yml/badge.svg?branch=master)](https://github.com/code4teaching/VisuStruct/actions)
1010

11-
**VisuStruct** is a **structure-chart editor** for **Nassi–Shneiderman** diagrams (desktop, Java / Swing).
11+
**VisuStruct** is a **structure-chart editor** for **Nassi–Shneiderman** diagrams (desktop, Kotlin / Swing).
1212

1313
Under **Settings → Languages** the **user interface** can be set to any of **21 languages** aligned with **VisuStruct-swift** (English, German, Spanish, French, Italian, Polish, Turkish, Korean, Japanese, Greek, Ukrainian, Arabic, Russian, Hebrew, Dutch, Swedish, Danish, Norwegian Bokmål, Chinese Simplified/Traditional, European Portuguese). Stored as `uilanguage` in `visustruct.properties` (e.g. `zh_Hans`, `pt_PT`). UI strings are synced from the Swift app where keys overlap: `python3 tools/sync_java_messages_from_swift.py` (map: `VisuStruct-swift/tools/java_swift_i18n_map.json`). Desktop-only labels may still fall back to English.
1414

@@ -22,6 +22,14 @@ git clone https://github.com/code4teaching/VisuStruct.git
2222

2323
---
2424

25+
## Changes in 1.2.3 (summary)
26+
27+
- **Kotlin:** full migration of production code; Java reference under `src/main/java-reference/`; tests still Java.
28+
- **i18n:** localized element editor and dialogs; `tools/resync_message_bundles.py` when Swift repo is absent.
29+
- **UI:** one-touch expandable element-editor split.
30+
31+
Full notes: [`release-notes/v1.2.3.md`](release-notes/v1.2.3.md).
32+
2533
## Changes in 1.2.2 (summary)
2634

2735
- **Languages:** **21 UI languages** (VisuStruct-swift); `tools/sync_java_messages_from_swift.py`.
@@ -148,7 +156,7 @@ This release aligns **branding and technical identity** with **VisuStruct**. **`
148156
- **Java 17** target (build and run with JDK 17+).
149157
- **FlatLaf** light/dark themes; **JDOM2**; no legacy AppleJavaExtensions.
150158
- **Motif** look-and-feel removed; **Metal** and FlatLaf available.
151-
- Current fat JAR name follows **`pom.xml`** **`version`** (e.g. **`visustruct-1.2.2.jar`**).
159+
- Current fat JAR name follows **`pom.xml`** **`version`** (e.g. **`visustruct-1.2.3.jar`**).
152160

153161
---
154162

@@ -223,13 +231,13 @@ chmod +x mvnw
223231
Output (version from `pom.xml`):
224232

225233
```text
226-
target/visustruct-1.2.2.jar
234+
target/visustruct-1.2.3.jar
227235
```
228236

229237
## Run
230238

231239
```bash
232-
java -jar target/visustruct-1.2.2.jar
240+
java -jar target/visustruct-1.2.3.jar
233241
```
234242

235243
Double-click may work if `.jar` is associated with Java.

‎release-notes/v1.2.3.md‎

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# VisuStruct 1.2.3
2+
3+
Release **after** **1.2.2**.
4+
5+
## Kotlin migration
6+
7+
- **Production sources** are now **Kotlin** under `src/main/kotlin/` (UI, control, structure elements, code generation, simulation XML).
8+
- Former Java sources are kept for reference only in **`src/main/java-reference/`** (not compiled).
9+
- **Tests** remain **Java** under `src/test/java/` and run against the Kotlin main code.
10+
- **Behaviour and file format** unchanged: **`.visustruct` / XML** projects remain compatible.
11+
12+
## Internationalization
13+
14+
- **Element editor** and common **dialogs** (zoom, colour, font, element edit) use bundle keys (`editor.*`, `dialog.*`) with **EN + DE** and EN fallback in all **21** UI locales.
15+
- **`tools/resync_message_bundles.py`** rebuilds locale files from `Messages_en.properties` when **VisuStruct-swift** is not available locally.
16+
- **`tools/translation_aliases.json`** maps new keys from existing translated Java keys where possible.
17+
- Full Swift parity still requires a sibling **VisuStruct-swift** clone and `python3 tools/sync_java_messages_from_swift.py`.
18+
19+
## UI
20+
21+
- **Element editor** split pane: **one-touch expandable** divider (`editorSplit`).
22+
23+
## Build
24+
25+
- Maven: **`de.visustruct:visustruct:1.2.3`**
26+
- Fat JAR: **`visustruct-1.2.3.jar`** (`./mvnw package` → `target/`)

0 commit comments

Comments
 (0)