github Nine-Minds/alga-psa v1.2.0
Release Notes — v1.2.0

2 days ago

📄 Release Notes — v1.2.0

Codename: Connected Stack

Release Date: June 16, 2026

www.nineminds.com/alga-psa


🔌 Integrations

🛰️ RMM & Security Alert Management (EE)

A provider-agnostic pipeline that turns alerts from your RMM and security tools into tickets automatically, with alert rules, maintenance windows, multi-source de-duplication, and scheduled polling. Supported sources:

  • NinjaOne — RMM

  • Tactical RMM — RMM

  • Level.io — RMM

  • Huntress — security / EDR

  • 📅 Microsoft Teams Meetings (EE)

Capture and schedule Microsoft Teams meetings directly from interactions — attendee picker, calendar-backed events, recording playback, and an admin diagnostics panel for connection health.

  • 💳 QuickBooks Live Integration

Live OAuth connection is back, with a two-way sync engine for invoices, credit memos, and payments, plus class tracking, multi-realm support, void propagation, and a guided onboarding/reconciliation wizard.

  • 📚 Hudu IT Documentation Integration (EE)

Pull Hudu assets, knowledge-base articles, and audited passwords into client and document views, with manual/stale-flagged sync. Gated behind a feature flag.

  • 🖥️ MCP Server (CE & EE) (preview)

Connect AI assistants to AlgaPSA over the Model Context Protocol — a local connector in CE and a governed remote server in EE. Dark-released behind a feature flag.


🚀 New & Improved

  • 🏢 Self-Hosted (On-Premise) Deployment (EE)

Run AlgaPSA on your own infrastructure. Register to receive an install code, redeem it during guided setup, and manage your license — seats, tier, and renewal — from a built-in License page. Licenses are bound to a single installation and check in automatically to stay current.

  • Ticket Close Rules

Define per-board close requirements with checklist templates, a blocked-close dialog when prerequisites aren't met, and an auto-close engine that scans, warns, and closes stale tickets. Gated behind a feature flag.

  • 📥 Inbound Email Rules

A rules engine to route and triage inbound email, with client name aliases for better matching and an optional AI classifier (EE). Rules UI is gated behind a feature flag.

  • 🗂️ User Activities Upgrades

Add ad-hoc personal to-dos, a schedule page with editable ticket and ad-hoc entries, a current-period time-entries page, and read-only access to another user's grouped activities.

  • ⏱️ Time on Bundled Tickets
    Technicians can now log time directly on bundled child tickets, not just the parent.

  • 🔗 Integration-Aware Workflows

Workflows can now act through your connected integrations using dedicated modules for Tactical RMM, Level.io, Huntress, and Microsoft Teams, plus NinjaOne script execution. The workflow editor flags steps whose integration isn't connected so automations don't fail silently.

🗄️ Workflow Data Store

Workflows can persist and reference structured data across runs through a new designer-managed data store — typed fields (including soft enums), catalog metadata, and automatic cleanup of expired entries.


🐞 Fixes

  • Time rounding edge cases resolved in hourly time entries.

  • Invoices render fractional quantities instead of rounding to whole units.

  • Added access to new asset and ticket API endpoints

  • Removed an obsolete tax-region requirement that blocked saving in some flows; external-tax finalize blocks are now actionable.

  • Client portal invitations now send via the tenant's custom domain, with email validation and clearer invitation errors.

  • Inbound email now recovers the real sender when an upstream mailing list rewrites the From address, preventing mis-routed tickets.

  • Fixed appointment time zones and anonymous booking edge cases.

  • Fixed trailing blank pages when printing.

  • Fixed an issue where toast notifications could appear behind drawers.


🎨 UX & Polish

  • Apply tags to multiple project tasks at once.

  • Fixed Kanban card flashing and drag animations on drop, with a cleaner drop indicator.

  • Improved bulk actions and list refresh on the ticket list.

  • Integration settings now use a status-first master-detail list instead of a card grid, making connection state easier to scan.

  • Board include/exclude with a searchable tree filter and multi-select category include/exclude filters.

  • New ticket created/updated notification templates for clients, and the assigned technician is now notified on inbound replies.

  • Hide status columns on project Kanban boards on a per-user, per-phase basis, with a "Show all" banner to bring them back.

  • Browser tabs now show descriptive page titles across the app for easier navigation between tabs.

  • Swiss Franc (CHF) is now available as a billing currency.

  • DataTable columns fit to the measured container width, and the scrollbar stays visible in Chrome.

  • Status column header tooltips and picker/sync-badge UI strings are now localized.

  • The tag-create row stays usable while suggestions are loading or unavailable.

  • Expanded client details with manager assignment and contacts, and linked contact details to their client and contact-filtered tickets.


🔐 Stability & Security

  • Sign-in is now rate-limited with a progressive captcha to deter brute-force attempts.

  • Integration OAuth callbacks enforce CSRF validation and bind to the authenticated tenant.

  • Sessions now use a sliding (rolling) expiry so active users aren't logged out mid-work.

  • Hardened user-facing APIs: sensitive fields are redacted, payloads are allowlisted, and lookups are tightened.

  • Role assignment now uses role-type-aware permission checks so MSP and client-portal roles are governed correctly.

  • Resolved a workflow deadlock by moving SLA side effects to after commit, and hardened distributed-database (Citus) data operations.


📊 Dev & Infra

  • Temporal is now the sole workflow engine; the legacy database interpreter and engine-branching paths have been removed.

  • Expanded public API and OpenAPI coverage (knowledge base, assets, tickets, contract lines, categories), added a unified full-text search endpoint, and replaced stub/501 endpoints with real behavior.

  • Expanded automated testing: unit and DB-backed integration CI workflows, Citus migration smoke tests, a skipped-test budget guard, and a typecheck split to avoid out-of-memory failures.


📱 Mobile App — v1.2.0 (build 26)

  • 🔌 Configurable Server Host — connect the app to self-hosted servers via QR code or URL (HTTPS required), instead of only the managed cloud.

  • 🧭 Drawer Navigation — bottom tabs replaced with a drawer, with several new pages scaffolded in.

  • 👥 Clients & Contacts — clients list and details, contacts list and details, and contact-filtered ticket views; inactive clients/contacts are excluded from pickers.

  • ⏱️ Time & Schedule — a Time Entries page for the current period and a Schedule page with editable ticket and ad-hoc entries.

  • 🏷️ Ticket Tags & Filters — view and edit tags on tickets, filter the ticket list by tag, a filter footer with a live result count, and local schedule reminders.

  • 🔐 Session handling — improved authentication-expiration behavior; token-only email reply comments are hidden in ticket threads.

  • 🍏 iOS — fixed the back button on iOS 26.

Full Changelog: v1.1.0...v1.2.0

Don't miss a new alga-psa release

NewReleases is sending notifications on new releases.