Changelog
Changelog
All notable changes to this project will be documented in this file.
The format is inspired by Keep a Changelog, and this project follows Semantic Versioning where appropriate.
[0.1.0] - Unreleased
Added
- Generated from the IndiaPRIDE Framework template: application factory, config, database session handling, JWT auth, admin-only member management (
admin/manager/userroles),/playgroundtour,/guidedocs viewer. - Document upload (
.docxonly, admin-configurable size limit, default 5MB), with placeholder detection supporting both<placeholder>and{placeholder}syntax in paragraphs and tables. - Real page counting on upload via a portable, no-root LibreOffice install.
- Values input: paste-all-at-once (
fieldname: valueor tab-separated, auto-detected) and an individual per-field table, kept in sync with each other. - "Check Match" validation, including computed aliases (address aliasing, Indian-style number-to-words) for template-specific derived fields.
- Page-fit generation: merges all values, and — only if the result would exceed the original page count — shrinks the whole page's font uniformly in small steps down to a fixed minimum, matching the original Word-based script's "never change the page count" guarantee without needing Word.
- Preview (PDF, rendered via LibreOffice, opens in a new tab) and Download (merged
.docx), both with afit=true/falsetoggle ("Keep original page count" vs "Just replace placeholders"). - Database auto-migration on startup (
sync_missing_columns()) for nullable columns added to existing models. - Full documentation pass: README, PROJECT_STATUS, CLAUDE.md, and
docs/rewritten for AutoDoc specifically (previously still showed the inherited framework template's generic content).
Changed
- Disabled the inherited project-generator feature (
ENABLE_PROJECT_GENERATORunset) — AutoDoc is a leaf application, not a template for spawning further projects. - Switched page-fit generation from checking the page count after every placeholder (matching the original script exactly, but reliably timing out with realistic placeholder counts) to a single post-merge check plus a handful of shrink iterations.
- Switched from shrinking only inserted values to shrinking the whole page uniformly, after the per-value approach looked visually inconsistent.
- Removed the "download a package to run the original script locally" design in favor of everything running server-side, per an explicit product requirement for a commercial multi-tenant tool.
- Removed the admin-configurable minimum font size setting; the 8pt floor is now a fixed internal constant.
Fixed
- HTML-escaping of placeholder tokens shown in the UI (raw
<plotno>was previously being parsed as an unknown HTML tag and silently disappearing). - A "Check Match" result message that was being wiped immediately by the table refresh that follows it, by persisting the result in client-side state that survives the re-render.
- A closed-over
documentvariable name shadowing the globaldocumentDOM object in some early draft JS (dead code, removed before it shipped).