Skip to content

Releases: dasomel/egovframe-launcher

Release v1.0.7

Choose a tag to compare

@github-actions github-actions released this 14 Jul 22:54

[1.0.7] - 2026-07-15

Fixed

  • RSP publish timeout: server/publish copies every registered deployable (several exploded WARs on the shared Tomcat) and regularly exceeded the generic 15s RPC timeout, making the automation fall back to file mode ("RSP publish 실패: i/o timeout"). Publish calls now get a dedicated 120s timeout.

Release v1.0.6

Choose a tag to compare

@github-actions github-actions released this 14 Jul 22:49

[1.0.6] - 2026-07-15

Added

  • Version Badge & Release Notes Popup: The header now shows the running launcher version (stamped at build time from the latest CHANGELOG entry). Clicking it opens a popup with per-release notes fetched from GitHub Releases, and the badge highlights when a newer release is available.

Fixed

  • RSP Deploy Race (Context Dead with 404): Tomcat's autoDeploy can start a context while RSP is still copying the exploded WAR into webapps/, leaving it failed with NoClassDefFoundError (e.g. jakarta/json/JsonException) even though the jar is present. After publish, the launcher now polls the app URL and re-publishes once if it stays 404, triggering a clean redeploy.

Release v1.0.5

Choose a tag to compare

@github-actions github-actions released this 14 Jul 22:30

[1.0.5] - 2026-07-15

Fixed

  • UI Freeze While Streaming Logs: The log console appended every SSE line via textContent += (rebuilding the whole string per line, O(n²)) and forced a reflow per line, freezing the tab under heavy output (e.g. the 11-service MSA stack). Incoming lines are now batched every 250ms into a single text-node append, total lines are capped at 4,000, and the card grid is only re-rendered when target state actually changes (plus no rendering in hidden tabs).
  • Case-Sensitive Table Names (Linux MySQL): eGovFrame apps mix uppercase DDL/mappers with lowercase runtime SQL (e.g. EgovAccessConfiguration's comtnemplyrscrtyestbs query in common-components), which fails on the Linux container default lower_case_table_names=0. New MySQL containers are created with --lower-case-table-names=1 (matching the Windows-MySQL dev standard). Existing containers keep working but log a migration hint (docker rm -f egov-launcher-mysql + re-run DB setup), since MySQL 8 only accepts this setting at data-directory initialization.
  • Common Components table comments: DB setup now also imports script/comment/mysql (table COMMENT metadata) after DDL/DML.

Release v1.0.4

Choose a tag to compare

@github-actions github-actions released this 14 Jul 21:49

[1.0.4] - 2026-07-15

Added

  • DB Setup for Common Components (WAR): The launcher now recognizes the egovframe-common-components DB layout (script/ddl/mysql + script/dml/mysql alongside globals.properties) as a fourth DB pattern. The shared com schema is created without dropping (it coexists with the MSA stack's data), scripts are imported tolerantly, and globals.properties is deliberately left untouched — its password is encrypted via egovPasswordResolver, so the expected com/com01 MySQL account is provisioned instead. No rebuild needed after DB setup.

Fixed

  • msa-edu Build on Windows: Gradle wrapper build steps declared as sh gradlew ... failed with exec: "sh": executable file not found. On Windows they now run via the sibling gradlew.bat automatically.

Verified

  • msa-edu DB Setup: Confirmed already covered by the existing compose pattern — its self-managing init.sql runs as-is under root and the msaportal user is created from the compose file's MYSQL_USER/MYSQL_PASSWORD.

Release v1.0.3

Choose a tag to compare

@github-actions github-actions released this 14 Jul 21:36

[1.0.3] - 2026-07-15

Fixed

  • MSA Common Components 503 on Menu Links: The launcher only started 6 of the stack's services, so gateway routes to EgovAuthor, EgovCmmnCode, EgovLoginPolicy, EgovQuestionnaire and EgovSearch returned 503 Service Unavailable. All five are now part of the auto-start chain (the first four on random ports via Eureka lb:// routing).
  • EgovSearch Port Bind Failure on Windows: EgovSearch's default port 9992 can fall inside a Windows (Hyper-V) excluded port range and fail to bind even though nothing is listening; the launcher now pins it to 19006. Note: the search feature still requires a separate OpenSearch (9200) + search-model (EgovSearch-Config/model) installation — without them the service starts and routes, but search queries fail.

Release v1.0.2

Choose a tag to compare

@github-actions github-actions released this 14 Jul 20:54

[1.0.2] - 2026-07-15

Fixed

  • Embedded-DB Seed Data Corruption (Windows): Korean seed data in embedded-database WAR templates (e.g. simple-homepage's HSQLDB shtdb.sql) rendered as mojibake when Tomcat ran under the RSP backend, because Spring's <jdbc:script> reads seed SQL with the JVM default charset (MS949 on Korean Windows). The launcher now injects encoding="UTF-8" into <jdbc:script> elements across cloned WAR projects before build/deploy. MySQL-backed templates (portal, enterprise) were unaffected since their schemas are imported via the container's utf8mb4 client.

Release v1.0.1

Choose a tag to compare

@github-actions github-actions released this 14 Jul 20:38

[1.0.1] - 2026-07-15

Fixed

  • Windows RSP Auto-Start: Hardened RSP backend discovery on Windows — filter out processes with a null CommandLine in the WMI query (which previously made the whole PowerShell pipeline fail) and broadened RSP process matching.
  • Korean Log Corruption (VSCode): Tomcat console log encoding is now aligned with the RSP backend JVM's default charset (MS949 on Korean Windows for JDK ≤ 17), so server logs streamed into VSCode's output view render Korean correctly.
  • Korean Log Corruption (Launcher UI): Child JVMs (Maven, Spring Boot) on Windows are forced to UTF-8 output via JAVA_TOOL_OPTIONS; isolated CATALINA_BASE copies pin their console handler to UTF-8 to match the launcher's UTF-8 web UI.
  • Docker Container Recovery: Containers stuck in Created state (e.g. after a failed port bind on docker run) are now removed and recreated instead of endlessly retrying docker start; host-port conflicts (such as a locally installed MySQL service on 3306) fail fast with a clear message before pulling images, and docker start failures include the daemon's error output.
  • VSCode Extension Detection: Extension status/install now uses the bin\code.cmd CLI shim when the configured VSCode path points at the GUI binary (Code.exe), which silently ignores --list-extensions/--install-extension — previously the launcher kept reporting an already-installed Server Connector extension as missing and could not install it.
  • RSP Fallback Diagnostics: When the RSP backend is not detected, the file-based fallback now logs why instead of proceeding silently.

Release v1.0.0

Choose a tag to compare

@github-actions github-actions released this 14 Jul 15:06

Changelog

All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.

[1.0.0] - 2026-07-14

Added

  • Developer Control Panel (egov-launcher): Go-based lightweight GUI dashboard to run and monitor eGovFrame targets.
  • Isolate Tomcat Instance Run: Automatically package WAR targets using mvn package and deploy them to target-specific isolated Tomcat instances with auto-assigned HTTP and shutdown ports to prevent port conflicts.
  • Docker Integration: Idempotent provisioning of shared database/messaging middleware:
    • MySQL 8.0 (auto-importing schema scripts in execution order, preventing race conditions via authenticated query ping checks)
    • Redis 7-alpine (configured with credentials where required)
    • RabbitMQ 3 (configured with a pre-created valid .erlang.cookie file, owned by rabbitmq:rabbitmq with 600 permissions to avoid start failures)
  • Automatic JDK Discovery: Scan system JDKs and select JDK 17 as the default target, falling back to the highest major version.
  • Live Logging: Log streaming via Server-Sent Events (SSE) directly to the dashboard console.
  • VSCode Workspace Integration: Provide one-click button to open targets inside VSCode (code) and check required extensions (e.g. RedHat Server Connector).
  • Multi-Platform Native Builds: Cross-compilation support in Makefile for macOS (darwin-amd64, darwin-arm64) and Windows (windows-amd64, windows-arm64).
  • CI/CD Pipeline: GitHub Actions workflow for automatic unit tests, packaging, and draft release generation for tag triggers.