Excellent suggestion @miked
I’ll get this added to our backlog for sure.
Excellent suggestion @miked
I’ll get this added to our backlog for sure.
Hey there @ataricze
We’re anticipating Q4CY26 for this capability. Happy to arrange a roadmap discussion if you want to send me a DM here or an email?
Many thanks
MultiPortal has published security advisory MPSA-2026-001, a stored cross-site scripting issue in user and resource name fields.
If you run an affected version, upgrade to 1.2.1 at your next maintenance window. The fix needs no data cleanup: existing names are made safe when they are displayed.
Read the full advisory, including impact, remediation, and workaround:
MPSA-2026-001 on docs.multiportal.io
The fix ships in the 1.2.1 release. To report a vulnerability privately, see Reporting security issues.
We are aware of an upstream outage outside of our control. Currently installs/updates and upgrades are unavailable. No ETA :(
Update: It’s all working now :)
Hi everyone,
MultiPortal 1.2.1 is now available. It is a patch release that tidies up a batch of issues reported after 1.2.0, and it also closes a stored cross-site scripting vulnerability, so we would encourage everyone to upgrade at their next maintenance window. Nothing here changes how you work day to day: it is fixes, one security patch, and a couple of upgrade notes worth a read before you roll it out.
The full, formatted notes live here: MultiPortal 1.2.1 release notes.
There is a real cluster of access and isolation work in this one.
GET /virtual-data-center/{id}/usage-raw no longer returns an HTTP 500 and returns raw per-machine usage as expected.1.2.1 includes automatic database migrations that run as part of the standard upgrade, so please back up your database first.
Two things worth knowing before you roll it out:
vm/sync task scheduled. The faster VM and VDC pages read status from a cache that the vm/sync task keeps warm. If it is not scheduled, pages show “Pending” until the first background refresh.There are no breaking API changes. The stored XSS fix needs no data cleanup: existing names are made safe when they are displayed.
Thanks to everyone who reported the issues that went into 1.2.1, especially the desk tickets that pinned down the timestamp and backup-sync problems. If you have already upgraded, let us know how it went, and questions or anything odd are welcome in the usual categories.
Thanks for letting us know @guillaume , we’ll take a look at this for sure
I absolutely agree, and this is something we have already put on our roadmap, only it’ll be under a full catalogue re-imagining (for the better, I promise).
Thanks for the feedback!
Heck yes, love this @guillaume . We’re in the early planning stages for tags, providing every level (provider, reseller, tenant) to tag all objects in their respective tiers. I obviously can’t give any indicative times but just know we are totally on board with tags!
Yep! Go nuts :)
Yea love the customisation!
Totally agree - this is something I’ll be working on
Hey @jimf ! We can’t seem to replicate this. What do you see under backend/runtime/logs
Hey @peconi ! Yes, branding supports custom login pages for each tier. login page is derived from the custom domain if one is set.
I’ve also just had confirmation from dev’s that we’ll be supporting PVE 9.2 on this release! So I’ll go through and update our release notes and announcements everywhere to reflect that.
Hi everyone,
MultiPortal 1.2.0 is now live, and it is one of the biggest releases we have shipped. It brings finer control over storage and virtual disk performance, support for importing QinQ networks straight from Proxmox, full white-label branding across your whole channel, and self-service file-level restore for tenants, on top of a wide band of security, reliability, and usability work.
Here is the short version. Three big features lead the release: per-disk storage tuning, QinQ network import, and white-label branding. Around them sit dozens of smaller improvements, a stack of bug fixes, and a change Community edition users have been asking for. If you are upgrading, take a database backup first; everything else runs as part of the standard upgrade.
You can now tune the disk-level settings that matter most for performance and compatibility, directly from your storage policies and per virtual disk. That covers disk cache mode, IO threads, AIO mode, discard, SSD emulation, and the recommended SCSI controller. MultiPortal applies these settings consistently when virtual machines and disks are created, and keeps them in place when disks are migrated between different Proxmox storage types.
The platform now tracks the SCSI controller and disk bus for each VM and disk, and validates your choices in the interface before you submit them, so you stop running into avoidable errors after the fact. When a storage policy does not suit a particular disk or controller, you get a clear warning, and you can dismiss the ones you have consciously chosen to accept.
MultiPortal can now import QinQ (802.1ad) zones and VNets that already exist in your Proxmox SDN, bringing double-tagged, carrier-grade networks under management. A guided wizard discovers your QinQ zones, validates them, and assigns them to a reseller or a tenant, who then just sees a standard external network with none of the QinQ machinery underneath.
We wrote this one up in full, including the three-step import wizard and what it means for each tier. For the complete walkthrough, see QinQ zone import.
Make the portal your own, at every level of your channel. Service providers, resellers, and tenants can each set their own colours, font, logo, favicon, and login page, with every parent deciding how much freedom the level below it gets. Resellers and tenants can also serve the portal from their own custom domain, secured with an SSL certificate they upload or one issued automatically.
Branding cascades down the channel, too: a tenant inherits from its reseller and a reseller from you, and each parent decides whether the level below can override.
Tenants can now restore individual files from their backups themselves, using Proxmox’s file-level restore. There is no longer any need to restore a whole machine just to recover a single file.
MultiPortal 1.2.0 is tested against Proxmox VE 9.2. We have not built on any of the new 9.2 capabilities yet, but we have run our integration against the 9.2 APIs and confirmed that nothing you rely on today is lost, so you can move your hosts to 9.2 and keep managing them through MultiPortal exactly as before.
This release tightens isolation and login handling across the board:
1.2.0 includes automatic database migrations that run as part of the standard upgrade. Please back up your database before you upgrade. We also recommend reading the documentation for anything new to your environment, particularly the storage disk properties and QinQ import, before you roll them out in production. Step-by-step instructions are in the upgrade guide, and the full notes will be in the 1.2.0 release notes: [TODO: release notes link once published].
Thank you to everyone who told us what they needed in this release. A lot of 1.2.0, QinQ import and white-label branding especially, came straight from operators telling us how they run and sell. If you want to see where things are heading next, take a look at our roadmap for 1.2, 1.3 and 1.4.
If you have already upgraded, let us know how it went. Questions, bug reports, and feature requests are all welcome in the usual categories!
@gregoryl Thanks for the background!
I’ve actually got a Terraform provider planned but as you’ve discovered, we’re waiting for the per-tier API to be fully functional before we release :)
Hey @r.balboni
We’re aware of this requirement. There’s a lot of planning, assumption testing, security and isolation modelling I want to do before we jump the gun and ship something like this, especially if we consider giving resellers the ability to manage this.
Rest assured though, we have it on our backlog :)
Hey @danielbfusionred we’re actually adding something like this for storage changes in the next release. Feedback noted: we’ll look at adding pending reboots for other changes.
Hey MikeD, thanks for the post! We’re aware of this bug and we’re already investigating it.
Hey @r.balboni
I’ve got this on the roadmap for 1.3.0. I’m literally reviewing roadmap items and timings (along with specifications) now, and it’ll definitely be in :)
Thanks
Absolutely, 100% agree with you! Which is why we’re performing a ground-up rewrite of our authentication and authorisation system which will deliver excellent granularity and control over per-tier API endpoints. The current target is this year :)
Love the idea for an Italian translation! I’ll add it to the backlog.
Here’s a tiny spoiler: tier-specific documentation (Provider, Reseller, Tenant).