diff --git a/CHANGELOG.md b/CHANGELOG.md index 3183bfe..0e7df80 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,13 +2,7 @@ All notable Doc2FAQ changes are recorded here. Version numbers follow semantic versioning; entries describe shipped source functionality and do not imply an external AI service. -## Unreleased - -### Fixed - -- Show the full build version in the preview heading and footer, populated from `pom.xml` during the Maven build so future releases stay in sync. - -## 0.4.0 (unreleased) +## 0.4.0 — 2026-10-29 ### Added @@ -33,6 +27,10 @@ All notable Doc2FAQ changes are recorded here. Version numbers follow semantic v - Answer editing now supports up to 50,000 characters, consistent with imported text. - Pending draft results are invalidated when draft entries are edited, added, moved, removed, merged, or restored. Delayed file imports cannot replace newer source/project changes. +### Fixed + +- Show the full build version in the preview heading and footer, populated from `pom.xml` during the Maven build so future releases stay in sync. + ## 0.3.1 ### Fixed diff --git a/README.md b/README.md index e83297c..0052f19 100644 --- a/README.md +++ b/README.md @@ -6,9 +6,9 @@ Doc2FAQ is a Java 21 / Spring Boot document-to-FAQ workbench. Paste text or uplo Created by **Okan Tiktas** · [OKAN-SOFTWARE](https://github.com/OKAN-SOFTWARE). -> **Development version: v0.4.0-SNAPSHOT.** The version in `pom.xml` identifies this build. For published tags, release downloads, and announcements, see [GitHub Releases](https://github.com/OKAN-SOFTWARE/Doc2FAQ/releases). This source version does not by itself publish a GitHub Release. +> **Current version: v0.4.0 — Review, Save & Export.** Download the ready-to-run JAR or Windows ZIP from [GitHub Releases](https://github.com/OKAN-SOFTWARE/Doc2FAQ/releases/tag/v0.4.0). -## New in the v0.4.0 development build +## New in v0.4.0 - **Save work / Open saved work:** a versioned JSON file preserves source text, title, mode, draft order, edits, original excerpts, and duplicate-review choices. Incomplete FAQs can be saved too. Project files are limited to 4 MB and validated before replacing the workspace. - **Optional browser autosave:** off by default. Enabling it stores the complete source and draft on this browser's origin and restores them on reload. Disabling autosave or using **Clear saved data** removes Doc2FAQ's saved data without clearing your open workspace. Storage failures leave the draft open; use **Save work** as a backup. @@ -45,6 +45,10 @@ For detailed changes, see [CHANGELOG.md](CHANGELOG.md). For the release checklis ## Requirements +- To run a release download: **Java 21**. The JAR works on Windows, macOS, and Linux; the Windows ZIP includes `Start-Doc2FAQ.cmd` and a quick-start guide. Extract the ZIP into a new folder, stop any older Doc2FAQ process, run the launcher, and open **http://localhost:8080**. Maven and Node.js are only needed to build and test from source. + +To build from source: + - Java Development Kit (**JDK 21**), not just a Java Runtime Environment. - **Apache Maven 3.6.3 or later** (examples use Maven 3.9.16). - Windows 10/11, macOS, or Linux, with an internet connection for the initial Maven dependency download. @@ -163,7 +167,7 @@ After updating your checkout to the latest `main`, run these commands from the d ```cmd mvn -B -ntp clean verify node --test src/test/js/*.test.cjs -java -jar target/doc2faq-0.4.0-SNAPSHOT.jar +java -jar target/doc2faq-0.4.0.jar ``` The JavaScript checks require Node.js. Keep the terminal open while the app runs, and use **Ctrl+C** to stop it. Open **http://localhost:8080** and refresh the browser to load the updated frontend. @@ -171,7 +175,7 @@ The JavaScript checks require Node.js. Keep the terminal open while the app runs If port 8080 is occupied, stop the previous Doc2FAQ process or use an alternate port: ```cmd -java -jar target/doc2faq-0.4.0-SNAPSHOT.jar --server.port=8081 +java -jar target/doc2faq-0.4.0.jar --server.port=8081 ``` Then open **http://localhost:8081**. Merging source changes does not update an existing JAR or a running Java process; rebuild and restart to use the fixes. Published JARs must be built from the corresponding release commit. @@ -309,4 +313,4 @@ MIT · Copyright © 2026 **Okan Tiktas**. ## Later releases -Optional AI generation with explicit opt-in and token/cost limits, OCR, and account/subscription workflows are outside the v0.4.0 development scope. See [docs/RELEASING.md](docs/RELEASING.md) for the validation and release process. +Optional AI generation with explicit opt-in and token/cost limits, OCR, and account/subscription workflows are outside the v0.4.0 scope. See [docs/RELEASING.md](docs/RELEASING.md) for the validation and release process. diff --git a/docs/RELEASING.md b/docs/RELEASING.md index f8029ea..b0be0e9 100644 --- a/docs/RELEASING.md +++ b/docs/RELEASING.md @@ -1,15 +1,15 @@ # Doc2FAQ release checklist -The development branch targets **v0.4.0** and uses `0.4.0-SNAPSHOT` until release preparation is complete. A development PR does not publish a new Release or replace the v0.3.1 JAR. +The release version is **v0.4.0**. The release commit uses `0.4.0` in `pom.xml`; earlier development builds used `0.4.0-SNAPSHOT`. Merging source changes alone does not publish a GitHub Release or update an already downloaded JAR. -## Validate the development build +## Validate the release build Use JDK 21, Maven 3.6.3+, and Node.js: ```cmd mvn -B -ntp clean verify node --test src/test/js/*.test.cjs -java -jar target/doc2faq-0.4.0-SNAPSHOT.jar +java -jar target/doc2faq-0.4.0.jar ``` Open `http://localhost:8080` (or use `--server.port=8081` if occupied). Check the packaged JAR with these steps: @@ -45,8 +45,8 @@ Open `http://localhost:8080` (or use `--server.port=8081` if occupied). Check th 1. Open [Draft a new release](https://github.com/OKAN-SOFTWARE/Doc2FAQ/releases/new). 2. Create tag `v0.4.0` at the exact recorded commit; title: **Doc2FAQ v0.4.0 — Review, Save & Export**. -3. Copy the 0.4.0 changelog section into the notes. Attach the tested `target/doc2faq-0.4.0.jar`, never `.jar.original` or a renamed older JAR. +3. Copy the 0.4.0 changelog section into the notes. Attach the tested `target/doc2faq-0.4.0.jar`, never `.jar.original` or a renamed older JAR. Also attach `Doc2FAQ-0.4.0-Windows.zip` containing that same JAR, `Start-Doc2FAQ.cmd`, and a quick-start README, plus `SHA256SUMS.txt` for both downloads. Confirm the launcher references `doc2faq-0.4.0.jar` and neither the ZIP nor its instructions reference the snapshot build. 4. Review the tag, commit, notes, and asset before publishing. Keep existing release artifacts unchanged. -5. Download the published JAR to a separate folder, run it with Java 21, and verify the version, health, project restore, source review, and PDF/Word downloads. +5. Download the published JAR and ZIP to a separate folder, verify their hashes against `SHA256SUMS.txt`, and confirm that the JAR inside the ZIP matches the standalone JAR. Run it with Java 21 and verify the version, health, project restore, source review, and PDF/Word downloads. Accounts, billing, OCR, optional external AI, and public-server hardening remain separate work. This build is intended for local use. diff --git a/pom.xml b/pom.xml index 9a6d179..4ef5c5a 100644 --- a/pom.xml +++ b/pom.xml @@ -11,7 +11,7 @@ com.okansoftware doc2faq - 0.4.0-SNAPSHOT + 0.4.0 Doc2FAQ Privacy-conscious document-to-FAQ preview workbench