diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 0000000..61ad09f
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,41 @@
+# Changelog
+
+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.
+
+## 0.3.0
+
+### Added
+
+- **Extract Mode** for existing Markdown question headings and explicit Q:/A: pairs.
+- **Generate Mode** for source-grounded FAQ suggestions from document sections. Generation is local and deterministic, not powered by a paid AI provider.
+- In-browser FAQ editor for changing questions and answers, reordering items, removing duplicates, and adding new entries.
+- Markdown, JSON, and standalone HTML exports, with HTML content escaped for safety.
+- Windows Command Prompt instructions for installing Java 21 and Maven, configuring PATH, and troubleshooting local startup.
+- Java service and API integration tests for generation, limits, and validation, plus Node tests for export safety.
+
+### Improved
+
+- Expanded FAQ text validation to **50,000 characters**, consistent with extraction and the browser.
+- Generate Mode filters common-topic duplicates, document-title headings, and existing FAQ appendices.
+- More natural question phrasing for client responsibilities, confidentiality, and intellectual-property ownership.
+- Existing Extract Mode behavior remains unchanged when a document contains explicit FAQ pairs.
+
+### Supported inputs and limits
+
+- TXT and Markdown uploads in the browser (256 KB file size).
+- PDF and DOCX uploads via the Java server (5 MB each).
+- Maximum 50 PDF pages, 50,000 extracted characters, and 30 FAQ items.
+
+### Known limitations
+
+- Scanned or image-only PDFs require OCR before import; OCR is not included.
+- Generate Mode is heuristic and may skip useful details or produce generic questions. Review every answer.
+- No accounts, paid plans, public-server hardening, or document persistence are included.
+- PDF and DOCX **export** are planned for a future release. The current outputs are Markdown, JSON, and HTML.
+
+## 0.2.0
+
+- Added PDF and DOCX text import using Apache PDFBox and Apache POI.
+- Introduced format-signature validation and explicit errors for unsupported, empty, encrypted, or scanned documents.
+- Added document upload size and page/text extraction limits.
+- Preserved local, deterministic explicit-Q&A extraction.
diff --git a/README.md b/README.md
index 5475219..28166de 100644
--- a/README.md
+++ b/README.md
@@ -6,7 +6,7 @@ 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.3.0 (unreleased).** Latest published release: [v0.2.0 — PDF & DOCX Support](https://github.com/OKAN-SOFTWARE/Doc2FAQ/releases/tag/v0.2.0). This README describes the current development branch, not a published v0.3.0 release.
+> **Source version: v0.3.0.** 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.
## What's new in v0.3.0
@@ -20,6 +20,8 @@ Created by **Okan Tiktas** · [OKAN-SOFTWARE](https://github.com/OKAN-SOFTWARE).
**Privacy and accuracy:** The current Generate Mode is **deterministic and rule-based, not a generative AI model**. No API key, paid AI service, or external model is required. Its questions are suggestions; answers come from excerpts in your source document. Topic-based duplicate filtering can sometimes suppress distinct details within a topic. It cannot reliably interpret every layout or guarantee an accurate summary. Always review before publishing.
+For detailed changes, see [CHANGELOG.md](CHANGELOG.md). For the release checklist, see [docs/RELEASING.md](docs/RELEASING.md).
+
## Requirements
- Java Development Kit (**JDK 21**), not just a Java Runtime Environment.
diff --git a/docs/RELEASING.md b/docs/RELEASING.md
new file mode 100644
index 0000000..e6736f9
--- /dev/null
+++ b/docs/RELEASING.md
@@ -0,0 +1,38 @@
+# Doc2FAQ release checklist
+
+This is the procedure for publishing **v0.3.0** from the protected `main` branch. Preparing a PR and changing the Maven version do **not** publish the release.
+
+## Before publishing
+
+1. Merge the version-finalization PR into `main` after the required `build-and-test` check passes.
+2. Verify the `main` branch has the release commit and the `pom.xml` version is exactly `0.3.0` (not `0.3.0-SNAPSHOT`).
+3. Run the GitHub Actions build or verify locally with Java 21 and Maven 3.6.3+:
+
+ ```cmd
+mvn -B -ntp clean verify
+```
+
+4. Open `http://localhost:8080` with `mvn spring-boot:run` and smoke-test:
+ - Extract Mode: the fictional maintenance agreement produces six explicit FAQ entries.
+ - Generate Mode: the same example produces nine source-grounded entries after duplicate and appendix filtering.
+ - Review: edit, reorder, remove, and add FAQ entries.
+ - Export: Markdown, JSON, and HTML downloads contain the expected questions and answers.
+5. Confirm the repository has no existing `v0.3.0` tag or Release. Do not replace an existing tag.
+
+## Publish using GitHub
+
+1. Open [Draft a new release](https://github.com/OKAN-SOFTWARE/Doc2FAQ/releases/new).
+2. Choose **Create new tag**, enter **`v0.3.0`**, and target the current **`main`** branch.
+3. Use release title: **Doc2FAQ v0.3.0 — Generate Mode, Review & Multi-Format Export**.
+4. Copy the **0.3.0** section of [CHANGELOG.md](../CHANGELOG.md) into the Release notes. Describe the deterministic nature of generation and limits honestly.
+5. Optionally attach the runnable `target/doc2faq-0.3.0.jar` built by Maven, after validating it starts with Java 21. GitHub automatically supplies source-code archives.
+6. Review all fields and select **Publish release**. This is the public publication step; do it only when ready.
+
+## Verify after publishing
+
+- Confirm [Releases](https://github.com/OKAN-SOFTWARE/Doc2FAQ/releases) includes **v0.3.0** and targets the exact release commit on `main`.
+- Verify the GitHub Actions check for the tag, if triggered, completes successfully.
+- Download the source archive or JAR from the release page and confirm the version and local startup.
+- Leave any future PDF/DOCX output feature work for a separate branch and release.
+
+**License:** MIT · Copyright © 2026 Okan Tiktas.
diff --git a/pom.xml b/pom.xml
index 1cb61bf..03e9614 100644
--- a/pom.xml
+++ b/pom.xml
@@ -11,7 +11,7 @@
com.okansoftware
doc2faq
- 0.3.0-SNAPSHOT
+ 0.3.0
Doc2FAQ
Privacy-conscious document-to-FAQ preview workbench