???? Styled Text Block — Added a new block to the form designer that lets you add formatted text (bold, italic, colors, bullet lists, headings, links, images) between any form fields. The formatting is displayed exactly as designed on the public form, so you can build instructions, disclaimers or rich introductions without any technical help.
???? Permit Certificate System — Full Lifecycle — Permits now follow a strict file → review → approve / reject → print workflow. When a resident files a permit, the system automatically generates a unique PC Number (e.g. EXC-2026-00042), notifies every staff member assigned to the category's approver role, and locks the document so only one approver can review at a time. A staff member who tries to approve a permit they personally filed is blocked. Rejecting now requires a written reason that the resident can read. Once approved, only the original resident can print the final certificate, and every printed PDF carries a QR code that anyone can scan to verify authenticity through a public confirmation page. Each step in the lifecycle is recorded in the audit timeline along with the approver's role and the template version used.
✨ Styled Text Block — Image Upload — You can now insert images directly inside a Styled Text Block by picking a file from your computer or pasting one from the clipboard. The image is uploaded automatically and shown in the public form along with the rest of the content.
???? Personalized Text with Resident Data — Styled Text Blocks now support placeholders like {name}, {email}, {apartment} and {today}. When a resident submits the form, the system fills those placeholders with their real information and saves a final, frozen copy of the document. The saved copy never changes, even if the template is edited later — so certificates, authorizations and declarations remain legally consistent.
???? Download Permission as PDF — A new "Download as PDF" button on the permission detail screen exports the filled document (with the resident's data already replaced) as a PDF for printing, archiving or sending by email.
???? Permit Categories with Roles & Templates — Categories now carry an Approver Role, a default Document Template and a unique PC Number prefix (e.g. EXC, ELE). When the administrator picks a template while creating a category, the system makes its own private copy — so future edits to that copy never affect categories that share the original, and historical permits stay frozen on the version they were filed with. New permission rules let you decide which staff members can view, create, edit or delete categories.
???? Styled Text Block — Added a new block to the form designer that lets you add formatted text (bold, italic, colors, bullet lists, headings, links, images) between any form fields. The formatting is displayed exactly as designed on the public form, so you can build instructions, disclaimers or rich introductions without any technical help.
???? Permit Certificate System — Full Lifecycle — Permits now follow a strict file → review → approve / reject → print workflow. When a resident files a permit, the system automatically generates a unique PC Number (e.g. EXC-2026-00042), notifies every staff member assigned to the category's approver role, and locks the document so only one approver can review at a time. A staff member who tries to approve a permit they personally filed is blocked. Rejecting now requires a written reason that the resident can read. Once approved, only the original resident can print the final certificate, and every printed PDF carries a QR code that anyone can scan to verify authenticity through a public confirmation page. Each step in the lifecycle is recorded in the audit timeline along with the approver's role and the template version used.
???? Changelog reimagined — The public changelog page is now rebuilt directly from the release-notes files of each module every time someone opens it. Whatever each branch has in its release notes is exactly what appears on that environment's page, without any sync delay.
???? Ticket Timeline — Fixed the status names on the ticket timeline so they now match exactly what is shown in the ticket settings dropdown. Also fixed the event timestamps so they display the correct elapsed time (minutes, hours, days ago) instead of always showing "Just now" for older entries.
✨ Tickets — Export All — Redesigned the exported files (CSV, Excel, and PDF): the top of every file now shows the property name, the "Ticket List" title, the date and time the file was generated, and the total number of tickets exported. Columns now match exactly what is shown on the Tickets screen, including Level of Completion, Service Category, Aging, Aging Type, Countdown, and Overdue. Column values in the Excel and PDF are centered for easier reading, and the downloaded file name follows a consistent pattern such as "Arbor Lanes Ticket List 2026-04-23 11-18-35".
???? Changelog reimagined — The public changelog page is now rebuilt directly from the release-notes files of each module every time someone opens it. Whatever each branch has in its release notes is exactly what appears on that environment's page, without any sync delay.
???? Ticket Timeline — Fixed the status names on the ticket timeline so they now match exactly what is shown in the ticket settings dropdown. Also fixed the event timestamps so they display the correct elapsed time (minutes, hours, days ago) instead of always showing "Just now" for older entries.
✨ Tickets — Export All — Redesigned the exported files (CSV, Excel, and PDF): the top of every file now shows the property name, the "Ticket List" title, the date and time the file was generated, and the total number of tickets exported. Columns now match exactly what is shown on the Tickets screen, including Level of Completion, Service Category, Aging, Aging Type, Countdown, and Overdue. Column values in the Excel and PDF are centered for easier reading, and the downloaded file name follows a consistent pattern such as "Arbor Lanes Ticket List 2026-04-23 11-18-35".
???? Changelog reimagined — The public changelog page is now rebuilt directly from the release-notes files of each module every time someone opens it. Whatever each branch has in its release notes is exactly what appears on that environment's page, without any sync delay.
???? Ticket Timeline — Fixed the status names on the ticket timeline so they now match exactly what is shown in the ticket settings dropdown. Also fixed the event timestamps so they display the correct elapsed time (minutes, hours, days ago) instead of always showing "Just now" for older entries.
✨ Tickets — Export All — Redesigned the exported files (CSV, Excel, and PDF): the top of every file now shows the property name, the "Ticket List" title, the date and time the file was generated, and the total number of tickets exported. Columns now match exactly what is shown on the Tickets screen, including Level of Completion, Service Category, Aging, Aging Type, Countdown, and Overdue. Column values in the Excel and PDF are centered for easier reading, and the downloaded file name follows a consistent pattern such as "Arbor Lanes Ticket List 2026-04-23 11-18-35".
???? Job Category & Job Sub-Category Columns — Added Job Category and Job Sub-Category columns to the ticket list, placed next to Service for easier filtering and reporting.
✨ Tickets — Export All — Job Category and Job Sub-Category are now included in the CSV, Excel, and PDF exports alongside the existing ticket columns.
???? Tags Column — Added a Tags column to the ticket list, placed next to the Submitter column for quicker scanning.
???? Job Category & Job Sub-Category Columns — Added Job Category and Job Sub-Category columns to the ticket list, placed next to Service for easier filtering and reporting.
✨ Tickets — Export All — Job Category and Job Sub-Category are now included in the CSV, Excel, and PDF exports alongside the existing ticket columns.
???? Tags Column — Added a Tags column to the ticket list, placed next to the Submitter column for quicker scanning.
???? Job Category & Job Sub-Category Columns — Added Job Category and Job Sub-Category columns to the ticket list, placed next to Service for easier filtering and reporting.
✨ Tickets — Export All — Job Category and Job Sub-Category are now included in the CSV, Excel, and PDF exports alongside the existing ticket columns.
???? Tags Column — Added a Tags column to the ticket list, placed next to the Submitter column for quicker scanning.
???? Task Finished Date — Fixed an issue where completed tasks could lose their finished date when edited, causing incorrect age values like "57 years ago" to appear. The finished date is now preserved when editing a completed task, and existing affected records have been corrected.
???? Tickets — Export All — Added an Export All button on the Tickets page so users can download the full list of tickets as CSV, Excel, or PDF with one click, regardless of any filters currently applied.
???? Auto-completed Tasks — Fixed an issue where tasks automatically closed by the system after a period of inactivity were missing the finished date, causing them to show incorrect timeline information and unexpected age values.
???? Task Origin & Source — Each task now shows whether it was generated by the recurring engine and, when applicable, a link to the task it originated from. Look for the Generated and Source fields in the task details panel.
???? Task Finished Date — Fixed an issue where completed tasks could lose their finished date when edited, causing incorrect age values like "57 years ago" to appear. The finished date is now preserved when editing a completed task, and existing affected records have been corrected.
???? Tickets — Export All — Added an Export All button on the Tickets page so users can download the full list of tickets as CSV, Excel, or PDF with one click, regardless of any filters currently applied.
???? Auto-completed Tasks — Fixed an issue where tasks automatically closed by the system after a period of inactivity were missing the finished date, causing them to show incorrect timeline information and unexpected age values.
???? Task Origin & Source — Each task now shows whether it was generated by the recurring engine and, when applicable, a link to the task it originated from. Look for the Generated and Source fields in the task details panel.
???? Task Finished Date — Fixed an issue where completed tasks could lose their finished date when edited, causing incorrect age values like "57 years ago" to appear. The finished date is now preserved when editing a completed task, and existing affected records have been corrected.
???? Tickets — Export All — Added an Export All button on the Tickets page so users can download the full list of tickets as CSV, Excel, or PDF with one click, regardless of any filters currently applied.
???? Auto-completed Tasks — Fixed an issue where tasks automatically closed by the system after a period of inactivity were missing the finished date, causing them to show incorrect timeline information and unexpected age values.
???? Task Origin & Source — Each task now shows whether it was generated by the recurring engine and, when applicable, a link to the task it originated from. Look for the Generated and Source fields in the task details panel.
✨ Improved Search — The menu now receives a "searching" state when a filter is active, allowing for better visual feedback.
???? Menu Search — Added a searchable navigation bar with real-time filtering to quickly find items in the main menu.
✨ Improved Search — The menu now receives a "searching" state when a filter is active, allowing for better visual feedback.
???? Menu Search — Added a searchable navigation bar with real-time filtering to quickly find items in the main menu.
✨ Improved Search — The menu now receives a "searching" state when a filter is active, allowing for better visual feedback.
???? Menu Search — Added a searchable navigation bar with real-time filtering to quickly find items in the main menu.
???? Initial release notes — Documented the current state of Menu Setup, including drag-and-drop ordering of the main sidebar and setup menu, renaming of entries, hiding unused items, and adding custom links.
???? Ticket Summary Status Columns — Fixed the Ticket Summary section to dynamically display all ticket statuses configured in the system instead of a fixed set, ensuring all tickets are counted correctly regardless of custom status names.
???? Ticket Summary Status Columns — Fixed the Ticket Summary section to dynamically display all ticket statuses configured in the system instead of a fixed set, ensuring all tickets are counted correctly regardless of custom status names.
???? PDF Export Format — Fixed inconsistencies between the exported PDF file and the report display, ensuring column headers, total labels, row order, and chart titles match the on-screen view for accurate reporting.
???? Regulatory Compliance Active Count — Fixed the Active Document Types column to show the full catalog of active document types per department instead of only those that already have documents registered, giving an accurate inventory baseline.
✨ Chart Readability — Improved chart scaling with dynamic height based on the number of categories, preventing label overlap and ensuring the axis scale remains readable for both small and large datasets.