Wanted to drop a quick update on where things are at heading into launch.
Security stuff
Ran an Akido security scan on the codebase this week. Cleaned up a few things that came out of it: path traversal hardening on the attachments endpoint, timing-safe comparison on cron keys, and tightened up some role checks so viewer accounts can only edit tickets they actually submitted. Nothing catastrophic but good to have buttoned up before people start running this on production servers.
IIS support
Been testing on IIS (Windows Server) alongside Apache and kept running into a weird redirect issue where the app would bounce to dashboard.php/ with a trailing slash and die. Tracked it down to PHP's SCRIPT_NAME behaving differently on IIS than Apache. Fixed it by switching all redirects to use the configured site URL directly instead of trying to build it dynamically. Works on both now.
Pagination
List view now paginates. Default is 25 tickets per page, configurable in Settings to 50, 100, or All. Filters and search reset to page 1 automatically. If you've got a busy helpdesk with hundreds of tickets open the list view was getting pretty unusable before this.
Project board drag and drop
Projects kanban now supports drag and drop between columns, same as the ticket board has for a while. Drag a project from Planning to Active and it updates the status on drop. Uses SortableJS so the behavior is consistent with tickets.
Settings cleanup
General tab was getting pretty damn cluttered so External Ticket Submission got moved to its own dedicated tab. Also added explicit Save buttons to a couple of cards that were missing them, and wired up audit logging on the settings changes that actually matter (email config, submit form toggles, company name, etc).
What's next
Targeting June 21st for launch. Gumroad listing is next on the list, then a full code audit before anything ships. Getting close.
As always, we will be completely transparent with bug fixes and updates. This information will always be available on our change log.