All notable changes to JavaFX Markdown Preview will be documented in this file.
-
✅ Source and Javadoc Jars
- All artifacts now include sources and Javadoc to comply with Maven Central requirements.
-
✅ Improved Multi-Module Build
- Clean separation of
parent,all, andminimalmodules with consistent packaging.
- Clean separation of
-
✅ Metadata Enhancements
- Added project URL, SCM info, developer information, and license declarations.
-
✅ Central Publishing Config
- Maven Central and Sonatype deployment configuration improved for reliability.
-
🧹 Parent POM
- Simplified plugin management and property inheritance.
-
🪄 Deployment Stability
- Resolved previous build errors (
Component with package URL already exists).
- Resolved previous build errors (
-
⚡ Cleaner Artifacts
- Removed duplicate and incomplete packages from the release pipeline.
-
🐛 Fixed invalid plugin configurations for source/javadoc generation.
-
🐛 Fixed shading issues causing incomplete shaded jars.
Version 1.0.2 introduced multi-module packaging and all the new features. However, due to deployment issues, it was never fully published to Maven Central. Version 1.0.3 includes the same functionality with additional improvements and is the first stable, signed release. Please use 1.0.3 or later for production.
- ✅ Tab and TabPane Integration
- Simplified APIs to embed previews directly inside
TabPane. - Improved
MarkdownTabto supportrelaunchTab()and enhanced lifecycle management.
- Simplified APIs to embed previews directly inside
- ✅ Standalone WebView Component
- Introduced a new class that returns a
WebViewnode, allowing you to embed previews anywhere in your JavaFX layouts (e.g.,VBox,HBox,BorderPane).
- Introduced a new class that returns a
- ✅ Syntax Highlighting
- Code blocks now automatically use syntax highlighting.
- ✅ Copy Button
- Added a convenient copy button for all code blocks in the preview.
- ✅ Improved Dark and Light Themes
- Visual styles now more closely match GitHub Markdown rendering.
- ✅ Enhanced Real-Time Updates
- File changes are instantly reflected without flicker.
- ✅ MarkdownRenderer Enhancements
- Added ability to get styled HTML for exporting or embedding.
- ✅ Example Projects
- Added multiple example apps demonstrating:
- Scene embedding
- Stage embedding
- VBox embedding
- TabPane integration
- Custom WebView integration
- Added multiple example apps demonstrating:
- 🪄 Window Launch Logic
- More reliable lifecycle—no crashes when reopening windows.
- ⚡ Performance
- Faster initial rendering and reduced memory usage with large Markdown files.
- 🧹 Refactoring
- Clear separation between:
javafx-markdown-preview(minimal core build)javafx-markdown-preview-all(with Flexmark and full source)
- Clear separation between:
- 🪟 Window Customization
- Easier configuration of window title, size, and icons.
- 🎯 Compatibility
- Switched from JavaFX 23 to JavaFX 17 for better support across older Java versions (Java 11+).
- 🏷️
javafx-markdown-preview- Minimal build with only essential classes.
- 🏷️
javafx-markdown-preview-all- Bundled version including Flexmark and example sources.
- 🐛 Resolved dark/light theme switching issues.
- 🐛 Fixed occasional
NullPointerExceptionwhen re-addingMarkdownTab. - 🐛 Corrected encoding problems in previews with special characters.
-
📝 License updated:
- From: MIT
- To: GNU General Public License v3 (GPL-3.0)
This ensures contributions remain open-source while allowing broader usage.
- You can now use the WebView-based preview in any JavaFX Node (e.g.,
VBox,StackPane,BorderPane) for maximum flexibility.
- ✅ Dual input support: Preview from a
.mdfile or raw string content. - 🪟 Reopen preview window after closing — useful for interactive demos or CLI tools.
- 🖼️ Screenshot and project badges added to README for better presentation.
- 📁 Example usage code added under the
examples/folder. - 📤 Maven Central instructions and manual
.jarusage guide added. - 📜 CONTRIBUTING.md and GitHub issue templates added for community support.
- 🧹 Refactored
JavaFXMarkdownPreviewclass to support bothFileandStringinputs. - 🪄 Optimized JavaFX thread handling and WebView initialization logic.
- 📘 Enhanced documentation with clearer setup steps and inline code blocks.
- 🐛 Fixed preview not updating correctly when launched with string content.
- 🐛 Resolved encoding issues when previewing Markdown files with special characters.
⚠️ Prevented crashes on empty or invalid Markdown files.
- The Markdown preview may occasionally break or flicker while typing quickly.
- This happens because the renderer tries to parse the content mid-edit.
- Workaround: Pause briefly between edits or trigger a manual refresh if needed.
- Emojis may not render correctly when offline — especially if loaded via CDNs or external sources.
- Some emojis may appear as empty boxes or missing symbols.
- ➕ This is due to font or system limitations, not a bug in the library.
If you encounter other issues, feel free to open an issue.
- 🎉 Initial release of JavaFX Markdown Preview!
- Preview
.mdfiles using JavaFX WebView and Flexmark library. - Minimal, embeddable, and designed for easy Markdown rendering in Java apps.