12 Apr 2026

Update - 12 April 2026

FeatureTasks

Tasks Module

New module for managing internal work that doesn't fit into a ticket or change request. Features a Kanban board with drag-and-drop card movement across To Do, In Progress, and Done columns, plus a sortable list view. Tasks support two-level subtask hierarchy — each subtask is a full task with its own status, priority, assignee, and due date. Link tasks to tickets or changes for traceability, assign to analysts and teams, and add comments. Overdue and due-today tasks surface automatically on the Watchtower dashboard and browser extension.

FeatureWatchtower

Browser Extension for Chrome & Edge

A Manifest V3 browser extension that polls the Watchtower dashboard and shows a badge count of items needing attention. Click the icon for a compact popup with all nine module summaries. Authenticates via API key (no session cookies), rate-limited to 60 requests per minute, with configurable polling interval from 1 to 30 minutes. Setup guide →

ImprovementSoftware

API Key Labels & Owner Binding

API keys can now have a human-readable label (e.g. “Chrome extension”) and are automatically bound to the analyst who created them. The key management table shows Label and Owner columns alongside the masked key, creation date, and status.

11 Apr 2026

Weekly Update - 11 April 2026

FeatureLMS

Learning Management System

New LMS module with full SCORM support (1.1, 1.2, and 2004). Upload SCORM ZIP packages which are automatically parsed for version and launch URL. Content runs in an embedded player with a dual JavaScript API bridge. Create learning groups, assign courses to groups with optional deadlines, and track progress per analyst with overdue highlighting.

FeatureLMS

Learner Data Viewer

Admins can view detailed learner data for any course session — summary cards showing status, score, attempts, and time spent, plus quiz responses with correct/incorrect badges, learning objectives, and the raw SCORM suspend data with syntax-highlighted JSON rendering.

FeatureProcess Mapper

Process Mapper

New module for building visual process flowcharts. Features a dot-grid canvas with snap-to-grid alignment, four shape types (process, decision, terminal, document), connector lines with optional text labels, Ctrl+click and rubber-band multi-select, arrow key nudge, and a slide-in detail panel for editing step properties.

FeatureTickets

Google Workspace Mailbox Support

Mailboxes can now be configured as either Microsoft 365 or Google Workspace. Google mailboxes authenticate via a separate OAuth callback and use the Gmail API for sending, reading, and managing emails. A provider dropdown in the mailbox settings controls which API is used. All existing Microsoft mailboxes continue to work unchanged.

FeatureSystem

Forgot Password

A “Forgot password?” link on the login page lets users request a password reset email. Uses the first configured mailbox to send a secure reset link with a 1-hour expiry token. The response is always the same whether the account exists or not to prevent user enumeration.

FeatureSystem

IP Brute Force Protection

Automatically bans IP addresses that repeatedly attempt logins against non-existent or locked accounts. First ban triggers after 5 failed attempts (configurable), with the threshold reducing by 1 after each ban down to a configurable minimum. Each ban lasts 24 hours. Returns HTTP 429 when banned. Settings configurable in System > Security.

10 Mar 2026

Weekly Update - 10 March 2026

FeatureSystem

Docker Support

FreeITSM now supports one-command deployment via Docker. A new Dockerfile, docker-compose.yml, and pre-configured database setup let you clone the repo and run docker compose up --build -d to get a fully working instance with Apache, PHP 8.4, and MySQL 8.0 — no manual configuration required. Works on both Linux and Windows.

ImprovementSystem

Auto-Generated Encryption Key

Docker containers now auto-generate a unique encryption key on first boot via an entrypoint script, stored in a persistent Docker volume. The encryption key path is also configurable via environment variable, so both Docker and manual installs can set the key location to suit their environment.

ImprovementSystem

PHP Version Check on Setup Page

The setup verification page now shows the current PHP version as a checklist item with a green pass or red fail based on the minimum 7.4 requirement, making it easier to spot version issues at a glance.

FixTickets

Ticket Folder List Fix

Fixed the ticket folder list not loading when the logged-in user has team assignments. The issue was caused by a MySQL-incompatible CAST AS INT in the department query, which has been replaced with a compatible alternative.

22 Feb 2026

Weekly Update - 22 February 2026

FeatureTickets

Ticket Dashboard

Per-analyst customisable dashboard for the Tickets module with a widget library, Chart.js charts (bar, pie, doughnut, line), status filtering on supported widgets, and drag-and-drop reordering. Each analyst sees their own layout and can add, remove, or rearrange widgets to suit their workflow.

FeatureTickets

Ticket Widget Library

Full-page widget library for managing ticket dashboard widgets with search, inline editing, duplicate, and delete. Create new chart widgets or customise existing ones from a central library, then add them to your personal dashboard.

FeatureTickets

Time-Series Widgets

Dashboard widgets that show tickets created or closed over time — per day for the current month or per month for the last 12 months. Gap-filled labels ensure every day or month appears on the chart axis even when there are no tickets, giving a true picture of volume trends.

FeatureTickets

Multi-Series Charts

Stacked bar and multi-line chart types with series breakdown by status or priority. Compare created vs closed tickets on a single chart, or see how ticket volumes split across statuses or priority levels over time. Each series is colour-coded for clear visual distinction.

FeatureTickets

Widget Filters & Date Ranges

Dashboard widgets now support configurable date ranges (last 7/30 days, this month, last 3/6/12 months, this year, or all time), department filtering with multi-select checkboxes, and day/month/year time grouping for time-series charts. Fine-tune each widget to show exactly the data slice you need.

FeatureTickets

Inline Widget Editing

A cog icon on each dashboard widget opens a modal to edit its properties — chart type, date range, department filter, time grouping, and more — without leaving the dashboard. The edit form is shared with the widget library so there is a single, consistent editing experience across both pages.

FeatureSystem

Dashboard Widgets Demo Data

Demo data import now includes 15 pre-built ticket dashboard widgets and per-analyst dashboard layouts for three analysts. Import to instantly populate dashboards with a variety of chart types, time-series views, and filtered widgets showcasing the full range of dashboard capabilities.

ImprovementTickets

Auto-Generated Widget Descriptions

The widget editor auto-generates a human-readable description as you change parameters — for example “Tickets by department (last 30 days)” or “Created vs closed per month”. Descriptions update live as you select different properties, date ranges, and filters, and can still be overridden with custom text.

FixTickets

Analyst Widget Column Fix

Fixed the “Tickets by analyst” and “Tickets by owner” dashboard widgets using the wrong column name, which caused them to return no data. The query now correctly references the analyst’s full name.

FixTickets

Owner Sets Analyst ID

Setting the ticket owner from the dropdown now also populates the assigned_analyst_id field, so the analyst appears correctly in dashboard widgets that group or filter by assigned analyst.

FeatureWatchtower

Watchtower Dashboard

A new unified attention dashboard showing actionable items across all modules in a single overview. Eight colour-coded cards cover Morning Checks, Tickets, Changes, Calendar, Service Status, Contracts, Knowledge, and Assets — each with green, amber, or red status dots so a service delivery manager can scan the entire landscape in 30 seconds. Auto-refreshes every 5 minutes.

FeatureWatchtower

Watchtower Help Page

Interactive help page for the Watchtower module with scroll-spy sidebar navigation covering dashboard layout, status dot meanings, module card details, and the auto-refresh system.

FeatureAll Modules

Module Help Pages

Added interactive help pages with scroll-spy sidebar navigation to nine modules: Tickets, Knowledge, Calendar, Morning Checks, Reporting, Software, Contracts, Forms, and Service Status. Each help page covers the module’s key features, workflows, and tips in a clean, scrollable layout with a sticky section menu.

FeatureSelf-Service

Self-Service Portal

A new self-service portal for end users with registration, login, and account claiming. Users can create accounts or claim existing passwordless records by matching their email address. The portal provides a separate, simplified interface distinct from the analyst view.

FeatureSelf-Service

Self-Service Dashboard

A personalised dashboard for self-service users showing ticket summary cards (open, in progress, on hold, closed), a list of recent tickets, and live system status pulled from the Service Status module.

FeatureSelf-Service

Self-Service Tickets

End users can create new tickets and view existing ones through the self-service portal. The ticket creation form captures subject, description, and department. The detail view shows the full ticket timeline including analyst responses.

FeatureSelf-Service

Mailbox Selection

Self-service ticket creation now includes a mailbox selection dropdown so replies are sent from the correct mailbox. This ensures responses reach users from the right team or department email address.

FeatureSelf-Service

File Attachments

Drag-and-drop file attachments on the self-service new ticket form. Users can drag files onto the form or click to browse, with visual feedback during the drag and a file list showing attached items before submission.

FeatureSelf-Service

Account Menu

An initials avatar circle with a dropdown menu on all self-service portal pages. The menu provides access to account management features including preferred name, password change, and multi-factor authentication settings.

FeatureSelf-Service

Self-Service MFA

Multi-factor authentication (TOTP) support for self-service users, reusing the existing MFA libraries from the analyst side. Users can set up an authenticator app from their account menu for an extra layer of security on their portal login.

FeatureSelf-Service

Preferred Name

Self-service users can set a preferred name so they are addressed how they like — for example “Ed” instead of “Ed Mozley”. The preferred name is used across the portal and in greetings.

FeatureSelf-Service

Change Password

Self-service users can change their password from the account dropdown menu. Requires entering the current password and confirming the new one, with strength validation.

FeatureSoftware

Software Dashboard

Customisable dashboard for the Software module with widgets showing version distribution, top installed applications, and publisher breakdowns. Click any chart segment to drill down into the underlying data. Edit widget properties via a cog icon without leaving the dashboard.

FeatureAssets

Device Manager

Device manager enumeration for each asset showing device category, name, driver information, and status. Populated automatically by the PowerShell inventory agent, giving a complete view of hardware components and their driver health per machine.

ImprovementSelf-Service

Shared MFA Endpoints

Deduplicated MFA API endpoints so the same code serves both analysts and self-service users. A shared auth context helper detects the caller type, eliminating duplicated logic and ensuring consistent MFA behaviour across both portals.

FixCalendar

Month Navigation Icons

Replaced broken SVG chevron icons on the calendar month navigation buttons with reliable text-based chevrons that render correctly across all browsers.

21 Feb 2026

Weekly Update - 21 February 2026

FeatureAssets

PowerShell Inventory Agent

A PowerShell agent collects detailed hardware, disk, network, GPU, TPM, BitLocker, and software inventory from Windows machines and syncs it to the asset database via a new system-info ingest API. Run it on-demand or as a scheduled task for automatic asset discovery and updates.

FeatureSoftware

System Components vs Applications

Software inventory now distinguishes between user-visible applications and hidden system components using the Windows registry SystemComponent flag. A tabbed view (Applications, Components, All) is available in both the software module and the asset detail page, so component noise no longer clutters the main application list.

FeatureAssets

Asset Dashboard

Per-analyst customisable dashboard for the Assets module with Chart.js charts (bar, pie, doughnut), status-filtered data widgets, and drag-and-drop reordering. Each analyst sees their own widget layout, and charts update in real time as asset data changes.

FeatureAssets

Widget Library

Full-page widget library for managing dashboard widgets with search, inline editing, duplicate, and delete. Create new chart widgets or customise existing ones without leaving the library page, then add them to your dashboard.

FeatureTickets

Mailbox Email Whitelist

Per-mailbox domain and email address whitelisting for the email import system. Add trusted domains and addresses to each mailbox — emails from non-whitelisted senders are automatically rejected. If no whitelist entries are configured, all senders are allowed, keeping existing mailboxes working as before.

FeatureTickets

Mailbox Activity Log

Searchable, paginated activity log recording every email imported or rejected during mailbox processing. View activity per-mailbox in a modal or open the full-screen view with a left-hand mailbox panel. Click any entry to see the raw processing log showing each step, API response codes, and error details.

ImprovementAssets

Extended Asset Fields

Widened hostname and service tag columns to support longer values, and added new asset fields for domain, logged-in user, last boot time, TPM version, BitLocker status, and GPU model. These fields are populated automatically by the PowerShell inventory agent.

ImprovementTickets

Email Action Choices

Configurable per-mailbox actions for processed emails. Choose what happens to rejected emails (delete permanently, move to Deleted Items, or mark as read) and imported emails (delete permanently or move to a specified folder). Folder names are resolved to Graph API folder IDs automatically, with a Verify button to check the folder exists before saving.

FixTickets

Move-to-Folder Fix

Fixed emails not being moved after import when configured to move to a folder. The Microsoft Graph API requires folder IDs or well-known names, not display names. A new resolver maps display names like “Deleted Items” to their API equivalents and looks up custom folder IDs automatically.

FeatureSystem

MySQL Database Migration

Migrated the entire database layer from SQL Server Express (PDO ODBC) to MySQL 8.0+ (PDO MySQL) across approximately 55 PHP files and 47 tables. FreeITSM now runs on MySQL or MariaDB, removing the dependency on Microsoft SQL Server and making it easier to deploy on Linux, Docker, or any WAMP/LAMP stack.

FeatureSystem

Per-Module Demo Data Import

New Demo Data page in System settings lets you import realistic sample data module by module. Eleven JSON datasets cover tickets, assets, knowledge, changes, calendar, morning checks, contracts, services, software, and forms. Import Core first for shared reference data, then choose which modules to populate. Each import can be re-run safely — existing demo data is cleaned before re-importing.

FeatureContracts

Configurable Contract Terms Tabs

Contracts now support configurable terms tabs with TinyMCE rich text editors. Administrators can create custom tabs for detailed terms such as special terms, KPIs, SLAs, and termination conditions, all saved alongside the contract.

FeatureSystem

Toast Notification System

Added a global toast notification system with configurable screen position. Choose from 9 positions via a visual grid picker in System preferences. Toasts are colour-coded by type with icons and slide-in animations for save confirmations, errors, and informational messages.

FeatureSystem

Security Settings

New Security page in System settings with three policies: trusted devices (skip OTP for a configurable number of days with per-user toggle), password expiry (force password changes after a set number of days), and account lockout (lock accounts after repeated failed login attempts).

FeatureService Status

Service Status Dashboard

New Service Status module with a configurable service catalogue, incident tracking with multi-service impact levels, and a worst-status board view. Define your services, log incidents against them, and see at a glance which services are affected and their current state.

FeatureSystem

Configurable Module Colours

Each module’s colour theme can now be customised in System settings. Per-module primary and secondary colour pickers with live preview let you personalise headers, icons, and the home screen. A reset button restores the defaults.

FeatureSoftware

Software Installed on Assets

When both Software and Assets demo data are imported, a bonus option appears to link software installations to computers. This populates the software inventory detail table with realistic installation records — showing which apps are installed on which devices with version numbers and install paths.

ImprovementSystem

MySQL ID Generation

Replaced all SQL Server OUTPUT INSERTED.id and SCOPE_IDENTITY() patterns with MySQL’s lastInsertId() across 18 API files for reliable auto-increment ID retrieval.

ImprovementSystem

SQL Syntax Conversion

Converted all SQL Server-specific syntax to MySQL equivalents: GETUTCDATE to UTC_TIMESTAMP, DATEADD/DATEDIFF to DATE_ADD/TIMESTAMPDIFF, CONVERT to DATE_FORMAT, TOP to LIMIT, and CAST NVARCHAR to standard VARCHAR.

ImprovementSystem

Database Schema for MySQL

Rewrote the database schema file and schema verification engine for MySQL with InnoDB storage engine and utf8mb4 character set, ensuring full Unicode support including emoji.

ImprovementSystem

Table Existence Checks

Replaced SQL Server OBJECT_ID table existence checks with standard information_schema queries that work across MySQL and MariaDB.

ImprovementSystem

Setup Page MySQL Check

Updated the setup verification page to check for the pdo_mysql PHP extension instead of pdo_odbc, matching the new MySQL database requirement.

ImprovementContracts

Wider Contract Pages

Widened the contract edit and view pages from 800px/900px to 1120px for better use of screen space, giving more room for terms and detailed fields.

ImprovementContracts

Unified Contract Save

Contract details and terms tabs are now saved together with a single Save button. New contracts automatically receive their ID before terms are saved, removing the need for a two-step save process.

ImprovementKnowledge

Ask AI Navigation

The Ask AI button now works from any page in the Knowledge module. When clicked from Settings or Review, it navigates to the main knowledge page first, then slides open the AI chat panel automatically.

ImprovementKnowledge

Article Links in AI Chat

Clicking an article link in the AI chat response now loads the article in the main panel while keeping the chat open, so you can read the full article without losing your conversation.

ImprovementSoftware

Expanded Software Demo Data

Software demo data expanded from 5 to 20 applications and 13 licences with a realistic mix of subscription, perpetual, expired, and bundled licence types. Includes detailed vendor contacts, renewal notes, and actionable reminders.

FixSystem

SQL Injection Prevention

Parameterized all remaining raw SQL updates involving token_data and integer interpolation across 6 files, closing potential SQL injection vectors.

FixKnowledge

Embedding Query Fix

Replaced SQL Server’s DATALENGTH() function with MySQL’s LENGTH() in AI chat, embedding stats, and article embedding queries, fixing errors when testing API key connections.

FeatureTickets

Email Templates

Automated email templates triggered by ticket events — new ticket from email, ticket assigned, and ticket closed. Subject and body support merge codes for ticket reference, requester name, analyst name, department, dates, and more. Configure templates in Ticket Settings with display order and active toggles.

FeatureTickets

Ask AI

An Ask AI button in the ticket detail view opens a slide-in chat panel that automatically sends the ticket’s subject and description to the knowledge base AI. Relevant articles are returned as clickable links that open in new tabs, helping analysts find solutions without leaving the ticket.

FeatureKnowledge

Article Versioning

Save as new version button on the article editor archives the current content and increments the version number. The version is displayed next to the created date (e.g. “v3”) and previous versions are stored in a history table. AI search always queries the latest version only.

FeatureSystem

Custom Alert Modals

A shared customAlert component replaces native browser alert and confirm dialogs with styled modals. Supports four types — info, warning, danger, and success — with OK-only or OK/Cancel modes. Promise-based API with smooth animations and keyboard support.

FeatureTickets

Staff Rota

A weekly staff rota page showing analyst shift patterns in a grid layout with day columns and analyst rows. Each cell displays the shift name and times, an Office or WFH location badge, and an on-call badge where applicable. Click any cell to add, edit, or remove entries. Configure shift definitions and toggle weekend visibility in Ticket Settings.

FeatureChange Management

Risk Assessment Matrix

A 5×5 colour-coded risk matrix with Likelihood (1–5) and Impact (1–5) scoring. The risk score auto-calculates and derives a risk level (Low, Medium, High, Very High, Critical) displayed on both the change list cards and the detail view with colour-coded badges.

FeatureChange Management

Post-Implementation Review

Structured PIR fields appear when a change is marked Completed or Failed: was it successful (yes/no), actual start and end times, lessons learned, and follow-up actions. Captures what actually happened so teams can learn and improve from every change.

FeatureChange Management

Activity Timeline

A combined chronological timeline on the change detail page merging comments and audit trail entries into a single view. Post comments inline with a text area at the top, and see every field change, status transition, and discussion in one scrollable timeline with timestamps and analyst names.

FeatureChange Management

Audit Logging

Server-side audit logging that tracks every field change by comparing old and new values before each update. Status changes, field edits, and CAB votes are all automatically recorded with timestamps, providing a complete history of who changed what and when.

FeatureChange Management

CAB Approval Workflow

A Change Advisory Board (CAB) multi-member approval workflow. Assemble a panel of reviewers with required or optional roles, choose an approval type (all must approve or majority), and let members vote Approve, Reject, or Abstain with comments. Status transitions automatically when the voting threshold is met — or reverts to Draft if any required member rejects.

FeatureChange Management

CAB Review Panel

A dedicated review panel on the change detail view showing each CAB member as a card with their name, required/optional badge, colour-coded vote status, vote comment, and timestamp. A progress badge shows how many required votes have been cast. Pending CAB members see an inline vote form with Approve, Reject, and Abstain buttons.

FeatureChange Management

My CAB Reviews Filter

A new “My CAB reviews” filter on the Approvals page showing changes where the current analyst has a pending CAB vote. Each approval card displays a CAB progress badge (e.g. “CAB: 1/3”) so reviewers can see at a glance how many votes are still needed.

ImprovementChange Management

Help Guide Page

A dedicated full-page help guide with left-pane section navigation covering the complete change management process: change types, the lifecycle flow, step-by-step recording instructions, CAB review workflow, risk assessment, and post-implementation review. Scroll-spy highlights the active section as you read.

15 Feb 2026

Weekly Update - 15 February 2026

FeatureChanges

Change Management Calendar View

Added a calendar view to the Change Management module with month, week, and day views. Changes with scheduled work windows appear as colour-coded pills based on their status. A sidebar with status filter checkboxes lets you show or hide changes by status. Clicking a change opens a detail popup showing the type, status, work window, outage window, priority, impact, and assigned analyst, with a button to open the full change editor.

FeatureChanges

Change Management Settings

Added a Settings page to the Change Management module with field visibility configuration. Administrators can toggle which fields appear on the change form, organised by section (Classification, People, Schedule, and Details). Hidden fields are removed from both the editor and the detail view, keeping the interface clean for teams that don't need every field.

FeatureChanges

Change Management Approvals

New Approvals page in the Change Management module showing all changes with a status of Pending Approval. Three filter tabs — All, Assigned to me, and Requested by me — let analysts quickly find changes they need to review or track. Each card shows the change type, priority, impact, requester, assigned approver, and submission date.

FeatureMorning Checks

Morning Checks Settings Page

Restructured the Morning Checks management page into a proper Settings page with a tabbed layout matching other modules. Check definitions are now added and edited via modal popups instead of inline forms. The existing checks list supports drag-and-drop reordering with grip handles — drag checks up or down to set the order they appear on the dashboard. A modern toggle switch controls active/inactive status.

FeatureForms

Forms Module Redesign

Completely redesigned the Forms module with a unified sidebar + editor layout matching other modules. The sidebar shows a searchable list of all forms with quick actions (Fill In, Submissions, Delete), while the main area features full-width title and description inputs with tabbed Fields and Preview panels. Form fields and dropdown options support drag-and-drop reordering with visual drop indicators, and pressing Enter on dropdown options adds a new one automatically. The company logo is shown in the form preview.

FeatureForms

Forms Settings Page

Added a dedicated Settings page to the Forms module, accessible from the header navigation bar like all other modules. The first tab, Layout, lets you configure the company logo alignment (left, centre, or right) on forms with a live preview. The setting applies to both the form editor preview and the fill-in page seen by end users.

FeatureForms

Unsaved Changes Protection

The form editor now tracks unsaved changes with a visual indicator — an orange "Unsaved changes" label appears next to the title and the Save button pulses gently. A confirmation dialog appears when navigating away, switching forms, or closing the browser tab with unsaved edits, preventing accidental data loss.

FeatureKnowledge

Knowledge Base Recycle Bin

Added article archiving with a recycle bin to the Knowledge module. Deleting an article now soft-deletes it rather than permanently removing it. Archived articles can be restored or permanently deleted from the recycle bin view. Configurable auto-purge retention (0–999 days) is available in Knowledge Settings. The AI chat panel includes a toggle to optionally search archived articles.

FeatureSystem

Setup Verification Page

Added a setup verification page at /setup that checks the basics before going live. It verifies that config.php and db_config.php exist, tests the database connection, checks for required PHP extensions, and warns if SSL peer verification is off or error display is on. Designed to be deleted once the system is in production.

FeatureSystem

One-Click Admin Account Creation

The setup verification page now detects when the database has no analyst accounts and offers a one-click button to create the default admin account. This closes the gap for fresh installs where the SQL seed wasn't run, letting new users get logged in without touching the database directly.

FeatureContracts

Supplier Types & Statuses

Added supplier types and supplier statuses as configurable lookup tables with full CRUD management in the contracts settings page. Each supplier can now be categorised by type and tracked by status, with both lists managed via a tabbed settings interface.

FeatureContracts

Expanded Supplier Records

Suppliers now capture registration number, VAT/tax number, type, status, full address fields, questionnaire issued and received dates, and free-text comments. The add/edit modal uses a two-column layout with grouped sections for a clean data entry experience.

FeatureContracts

Expanded Contact Records

Contacts in the suppliers module now include job title, direct dial, and switchboard fields. Job title is shown in the contacts table for quick reference alongside name, email, and supplier.

FeatureContracts

Contract Statuses & Payment Schedules

Added contract statuses and payment schedules as configurable lookup tables managed in the contracts settings page. Each contract can be assigned a status and a payment schedule from these administrator-defined lists.

FeatureContracts

Expanded Contract Records

Contracts now capture status, notice date, contract value with currency, payment schedule, cost centre, DMS link, and a full description. A new Terms & Data Protection section tracks terms status (received/reviewed/agreed), whether personal data is transferred, DPIA requirement, DPIA completion date, and a DPIA document link.

FeatureContracts

Contracts Dashboard with Sidebar & Search

Redesigned the contracts dashboard with a left sidebar panel showing overview statistics (total contracts, active, expiring within 90 days, suppliers, contacts), quick navigation links, and a universal search button. The search modal searches across contracts, suppliers, and contacts simultaneously with colour-coded result type badges.

ImprovementSystem

Default Admin Account

The SQL install script and database verification now seed a default admin account (admin/freeitsm) automatically when no analyst accounts exist. This ensures new installations always have a way to log in without manual database work.

ImprovementSoftware

Settings Page Tabbed Layout

Restructured the Software module settings page to use the standard tabbed layout matching other modules, replacing the previous single-panel layout with a consistent, organised interface.

ImprovementContracts

Contract View Page

Updated the contract detail view to display all new fields organised into clear sections: Dates, Financial, and Terms & Data Protection. DMS links are clickable, boolean fields show Yes/No labels, and section headers use the contracts amber theme.

ImprovementForms

Form Layout Constraint

Form elements now snap to either 50% or 100% width with a maximum of two elements per row. This ensures a consistent, clean layout across all forms and prevents awkward sizing that could occur with freeform widths.

ImprovementChanges

Sticky Change Editor Header

The Change Management editor header with Cancel and Save buttons is now sticky, remaining visible at the top of the page as you scroll through long change forms. This makes it easier to save or cancel without scrolling back to the top.

ImprovementChanges

Change Search Modal

Replaced the sidebar search box in Change Management with a search button that opens a draggable modal dialog. Search by change number or title, with results displayed in a scrollable list. Clicking a result navigates directly to that change. The modal matches the search pattern used in the Tickets module for consistency.

ImprovementChanges

Sticky Change Detail Header

When viewing a change, the action buttons, reference number, status badges, title, and property grid now form a sticky header that stays visible as you scroll through the description, risk evaluation, and other long-form fields below.

ImprovementMorning Checks

Morning Checks Chart Navigation

Clicking a bar in the Morning Checks 30-day overview chart now jumps to that day's checks. The date selector updates and the checks table reloads, making it quick to investigate a day that had amber or red statuses.

ImprovementMorning Checks

PDF Export with Selectable Text

Replaced the image-based PDF renderer with jsPDF AutoTable, so exported PDFs now contain real selectable and highlightable text. Status values are colour-coded (green, amber, red) and the company logo is included at the top. This also resolves the previous issue where the chart footer could crop the table content.

ImprovementTickets

Email Reply Threading

Redesigned the email thread display in Tickets to show flat thread content with proper stripping of email client attribution lines. Thread assembly now happens server-side for cleaner reply and forward flows, with a hidden reply marker used programmatically for accurate thread detection while remaining invisible to recipients.

ImprovementForms

Smart Form Field Sync

Rewrote the form save logic to update existing fields in place rather than deleting all fields and re-inserting them. This preserves field IDs and linked submission data, preventing data loss when editing form designs that already have submissions.

ImprovementForms

Toast Notifications in Forms

Replaced inline save and error messages in the Forms module with toast notifications matching the app-wide pattern used in Tickets and Knowledge. Success and error toasts slide up from the bottom of the screen and auto-dismiss after three seconds.

FixChanges

Datetime Format

Fixed an error when saving work start and end dates on changes. The HTML5 datetime-local input omits seconds, but the database requires them. The API now automatically appends seconds when they're missing, preventing format errors.

FixChanges

Approvals Count Query

Fixed the Change Management Approvals page failing to load due to a database query error. Multiple separate count queries were causing issues. Consolidated into a single query using conditional aggregation for reliable results.

FixMorning Checks

Morning Checks PDF Export

Fixed the PDF export in Morning Checks being cut off by the fixed-position 30-day chart footer. Switched from an image-based renderer to jsPDF AutoTable which builds the PDF directly from table data, eliminating all viewport-related cropping issues.

FixForms

Form Save with Existing Submissions

Fixed a bug where saving changes to a form's title, description, or fields would silently fail if the form already had submissions. A foreign key constraint between submission data and form fields was causing the entire save transaction to roll back.

FixForms

Drag-and-Drop Handle Detection

Fixed an issue where drag-and-drop for form fields and dropdown options wasn't responding despite the grip handles being visible. The HTML5 Drag and Drop API reports the draggable element as the event target rather than what was clicked, so a mousedown listener now correctly tracks whether the drag was initiated from a grip handle.

08 Feb 2026

Weekly Update - 8 February 2026

Feature

Software Licence Management

Added a full licence management module to Software. Record licences against applications in the inventory with fields for licence type, quantity, renewal dates, licence keys, portal URLs, costs, vendor contacts and notes. Renewal dates are colour-coded (red for overdue, amber for approaching, green for healthy) and status badges show Active, Expired, or Cancelled states. Includes search, sortable columns, and CSV export.

Feature

Software API Key Management

New settings page in the Software module for managing API keys used by the external software inventory submission endpoint. Generate new keys, revoke or activate existing keys, copy keys to clipboard, and delete keys you no longer need. Keys are displayed masked for security with the full key shown only once at generation time.

Improvement

Reporting Module Restructure

Restructured the Reporting module with a dedicated module header featuring the waffle menu for easy navigation between modules. Added a landing page with card-based navigation to System Logs and Ticket Dashboards. Logs now sit in their own subfolder and a holding page is in place for future ticket KPI dashboards.

Improvement

Calendar Drag and Drop

Added drag-and-drop support to the Calendar module. Events can now be moved between dates by simply dragging and dropping them on the calendar grid, making it quicker and easier to reschedule tasks and appointments.

Feature

System Module

New System administration module with two features. Encryption management provides a guided interface for generating the AES-256-GCM encryption key with clear instructions on secure placement outside the web root. Module Access lets administrators control which modules each analyst can see on the home screen and waffle menu, with an intuitive toggle matrix and auto-save.

Feature

Analyst Account Menu & Multi-Factor Authentication

Replaced the header logout button with an initials avatar circle that opens a dropdown account menu on every page. From the menu, analysts can change their password or set up TOTP-based multi-factor authentication by scanning a QR code with an authenticator app like Google Authenticator or Microsoft Authenticator. MFA is optional and per-analyst — those with MFA enabled are prompted for a 6-digit one-time code after entering their password, while analysts without MFA log in as normal.

01 Feb 2026

Weekly Update - 1 February 2026

Improvement

Team-Based Ticket Filtering

Enhanced the team-based access control system in the Tickets module. Department filtering now respects analyst team memberships more efficiently, improving performance when loading ticket counts and folders.

Improvement

vCenter VM Sync Reliability

Improved error handling in the VMware vCenter integration. The sync process now provides clearer feedback when connection issues occur and handles API timeouts more gracefully.

Fix

Email Attachment Display

Fixed an issue where email attachments with special characters in filenames weren't displaying correctly in the ticket reading pane. All attachment types now show properly with their original names.

25 Jan 2026

Weekly Update - 25 January 2026

Feature

Form CSV Export

Added CSV export functionality to the Forms module. Export form submissions with proper UTF-8 BOM encoding for Excel compatibility, making it easier to analyze submission data in spreadsheets.

Improvement

Knowledge Base AI Chat

Refined the AI-powered chat functionality in the Knowledge module. The Claude AI integration now provides more relevant answers by better utilizing the OpenAI embeddings for semantic article matching.

Fix

OAuth Token Refresh

Fixed an issue where Microsoft 365 OAuth tokens weren't refreshing properly for mailbox integrations. Email import now continues uninterrupted when tokens approach expiration.

18 Jan 2026

Weekly Update - 18 January 2026

Feature

Morning Checks 30-Day Trends

Enhanced the Morning Checks module with visual trend charts. Each check item now displays a 30-day trend line showing Red, Amber, and Green status patterns over time, making it easier to spot recurring issues.

Improvement

Encrypted Settings Storage

Improved security by implementing AES-256-GCM encryption for sensitive system settings. vCenter credentials, AI API keys, and other secrets are now encrypted at rest with the key stored outside the web root.

Improvement

Ticket Audit Trail

Enhanced the audit logging system in the Tickets module. All ticket changes are now tracked with timestamps, analyst names, and detailed change descriptions for better accountability.

Fix

TinyMCE Editor Loading

Resolved an issue where the rich text editor in Knowledge articles and Change requests wasn't initializing properly on slower connections. Editor now loads more reliably across all network conditions.

Stay in the Loop

FreeITSM is constantly evolving. Check back regularly for new features, improvements, and fixes. Or watch the repository on GitHub to get notified of updates.

Watch on GitHub