Everything v12 | Upgrades, New Features, and MSCL License

Directus v12 will be released soon. This major version brings a major refresh to the platform, including a native draft & publishing experience, a redesigned Studio, and new AI-powered translation tools. Whether you’re planning your upgrade path, excited about the new features, or navigating the new software registration keys, this is the place to ask questions and share feedback.

Hey @Directus! We love your CMS but hit a DevOps roadblock with multi-environment deployments (Supabase+Coolify+Vercel). Managing Staging & Prod requires separate instances. Promoting schema changes relies on manual CLI snapshot/apply commands. This creates massive CI/CD overhead, forcing us to evaluate Baserow. A GitOps-friendly way to switch DB contexts or sync schemas without hard-coupled containers would be a game-changer. Hoping Directus Hub solves this soon!

13 Answers

13

Hi @Burvs! The Directus v12 Studio redesign is not related to the RUST rebuild. That project is a separate product called Monospace that is currently in preview. Directus continues to be built on TypeScript (Node.js) and Vue. The Directus v12 redesign is a structural update to the Studio’s core layout: the module bar, navigation, header, and sidebar. The goal has been to modernize the interface. The update provides a visual foundation for the new draft and publishing workflows included in v12 as well as other content editing workflow improvements that are slated for later releases. We’re looking forward to getting v12 into your hands very soon! Let us know if you have any other questions.

Thanks @emmapaaj that all sounds really positive. I've signed up to the Monospace waitlist and look forward to seeing the new Directus v12.

Same here, working for free to add a nice, polished Directus extension, now I can’t even think of resseling this to a client.

600$ a month to increase arbitrary restriction on collections and flows ? For Cloud, I can understand, but for self hosted ?

50 collection is a joke : with 7 collections types and around 15 blocks, I’m above that when counting pivot tables and my extension tables.

Does the Directus realise that Strapi starts at 45$ a month ? That 600$ a month allows me to lease 2 tesla, or have 3 Claude Max X20 plans ?

That’s very concerning, it’s either a leap of faith backed with no data, a sign of very low treasury with a need to recover very fast, or pure greed from investors…

Hi @emmapaaj I have a question about how the license keys will work.
We are a small business using Directus on the Innovation Grant as we’re well under the 50 employee / $5m revenue cap.
We run three instances of Directus: the main production one, a development one, and I have a third local one on my mac which I use for extension development.
Will we need different keys for each of these instances?
Thanks.

As a Directus Builder, the new licencing terms for self hosted are not welcome news. 3 seats, 5 flows, no SSO..!? This changes things for me dramatically and I’m now having to rethink my platform choices. Sad, given that we were promised the self-hosted version would always have the full features :frowning: (as per discussions in Office Hours sessions).

If you're under $5m and 50 employees you can apply for the innovation grant and have no limits.

I’ve been getting my hands on v12 more and more. I like the improvements made to a lot of (tiny things) :partying_face:.

I am noticing though: I am less enthusiastic about the way the licensing is implemented currently. I think especially about the number of instances. I feel this was missed in earlier communication (or I just missed it).

It’s more technical. A common flow for me is to dump a database and restore it (like from staging to dev or production to dev). I have a feeling this will bite with a possible instance count. Obviously I will not deactivate a license before I would do that. So what would happen once I restore a dump locally and boot up Directus?

Additionally, on my local environment I sometimes adapt environment settings (like PUBLIC_URL) from production but other times I don’t. Some local environments might also have a license key loaded, some won’t.

And as an extra thought: how would that even work on the same environment? Like restoring a backup of production?

I’d rather ask and know this upfront because I am not willing to be caught off guard and suddenly unable to continue my work because of limits exceeded or other funky behavior :sweat_smile:.

This feeling also scares me because that is not how I used to feel about my projects using Directus. This part just feels different. I am not so sure yet :thinking:.

Hi Jogchum, Glad to hear you're noticing all the small improvements in V12 - and completely fair to ask about this upfront. To clarify the baseline: the OIG grant gives you 5 license activations. Each activation is a binding of your project identifier (derived from the database) and your configured PUBLIC_URL. In a horizontal scaling or replica scenario, a shared db + shared PUBLIC_URL counts as one binding regardless of container count.

On your specific scenarios - Restoring a dump to the same environment: The token travels with the dump, so on boot Directus re-validates rather than re-activates. No new slot is consumed. Restoring a dump to a different environment (e.g. prod → local) This depends on your PUBLIC_URL: If your local PUBLIC_URL matches the source environment's - the refresh ping matches the existing binding and the token keeps renewing. No new activation is consumed. Worth noting: things like SSO may misbehave because the PUBLIC_URL is technically wrong for that environment.

If your local PUBLIC_URL differs - The instance won't drop immediately, but the refresh will eventually be rejected. The cleanest path for local restores is to dedicate one of your 5 activations to a local environment with a consistent PUBLIC_URL - and always use that same URL when restoring from any upstream environment. If 5 slots isn't enough to cover your setup (e.g. multiple developers each needing a local restore environment), we can increase your OIG limit.

Thanks for your response James, much appreciated! The technical clarification helps. Knowing that the binding is tied to the database identifier and ⁠PUBLIC_URL combination makes it more manageable. For now I can see that working for me.

I do have a remaining thought about the instance limit though. I hope my intent is received well, I am not trying to be rude :sweat_smile:. It’s because I think the instance limit is not correct combined with the OIG. Additionally it’s not great to not have some self-service tools for the licenses outside an instance itself. That might be on the roadmap but is not available today.

The fact that custom access rules are now behind the license is concerning for me. I rely heavily on this feature to be able to provide Directus as a headless CMS to different clients, so custom access rules are an essential part of my workflow. I have applied to a grant and have successfully received and activated my license key. It expires in one year and I will have to renew every year. This is concerning, because it means that I am building on top of a service that I am not sure I will be able to use in the long term. What if my grant is rejected in the future? What if the requirements for the grant or the availability of this (or other features) change? I am using a self-hosted instance of Directus in my own VPS. But the fact that I may lose access to essential features from one year to another is scary, it means I might need to migrate everything cms-related if Directus decides to revoke or change the terms for the grant. I am an independent dev, with a handful of small clients. Paying 500 a month is completely out of question for my usage.

Hi Guilleliss! There's no reason why your key/grant should get revoked or rejected as long as you stay within the bounds (less than $5m annual revenue + less than 50 headcount.) The only time it wouldn't be relevant is if you surpass those boundaries.

Very interested to hear about the redesigned studio and the extent of this. Is this the RUST rebuild we’ve been hearing about?

Hi
Keep good work :wink:
As my point of view, I will be happier to see config as code in v12 that results in better migrations, version control and less headache.

The Open Innovation Grant agreement includes a compound clause that the grant, “expire[s] annually and [is] subject to periodic eligibility reviews,” as well as an additional clause that the grantee, “agrees to provide information reasonably requested by Directus to confirm eligibility.” I think a lot of users would benefit from understanding this review process more clearly.

The second clause is specifically about information that the grantee must actively provide. So what does an eligibility review actually consist of? And what falls under “information reasonably requested”? And since “periodic” is distinct in the agreement language from the annual expiration, can an eligibility review occur beyond the yearly renewal?

Since the license key revocation clause states that “Directus may revoke, suspend, or disable any License Key at any time, including for false or inaccurate eligibility information,” again, how exactly are you assessing for false or inaccurate eligibility attestations?

Good questions, happy to clarify! Eligibility reviews assess the two key thresholds in the grant: revenue and headcount. We use information provided at signup alongside third-party data sources and periodic manual checks by our team to assess ongoing eligibility. "Information reasonably requested" covers any follow-up we might need when that picture is unclear, typically a direct ask for updated company details.

Periodic reviews and annual expiration are distinct. Annual expiration is the scheduled renewal gate. Periodic eligibility reviews can happen at any time. We can and do assess eligibility outside the annual window as well.

The intent is straightforward: the grant is designed for companies and users that can't yet afford a commercial license, and we want getting started to be frictionless. We're offering something genuinely valuable for free, and the eligibility process is simply how we make sure it goes to the users and organizations it's actually meant for. If you represent your situation accurately, there's nothing to worry about.

I applied for the Innovation Grant license by emailing licensing@directus.io and also tried again by filling in the form on the website, but have had no response from either yet.

Hi! Open Innovation Grant keys are issued through the form at https://directus.com/oig. You should receive your software key via email immediately after submitting the form. Could you check your spam folder, please, and let us know if you find the email?

I've just received it now thanks. I didn't get it immediately when I filled in the form the other day though.

As I see in updated T&C, opting out from sending telemetry and anaytics won’t be allowed with new license.
What data is being sent and how often?
This could be a major dealbreaker for us since no (personal) data should leave outside Switzerland, so Directus calling home and sending something in the background is not an option.

I asked the same question, and after getting no answer, we decided to analyse the code ourselvs. So you may interested in our findings: https://community.directus.com/t/question-regarding-the-new-enterprise-only-analytics-opt-out-feature/2290

We’ve been using Directus at work and I was so happy with it that I started using it for a family project, which I now can’t do anymore primarily because of the SSO restriction. I can’t convince my family to use email login, cause they can already barely remember their SSO details (which are used for more than just Directus). This loss in trust also caused me to convince my boss to ditch Directus at work for another alternative, because we also use SSO at work and $500/mo is just too much for our small company, but SSO is a necessity. Bye bye Directus, I’m gonna watch the ship sink from afar.

Hi @jonaskohl, SSO is available on the free Open Innovation Grant (https://directus.com/oig) plan which your family project could use and, if your company is under $5m of revenue and 50 employees, your company too.

@Beth I'm afraid it's a lost cause. Y'all have dropped the ball and I cannot trust Directus to not abruptly change everything again. I have requested a license key for the one instance I upgraded, but only for the time it takes to migrate to a more open, trustable platform. Same thing happening at my job. It it way cheaper for us to migrate to something different (like Strapi) than it is to purchase several (4 in total) ridiculsly expensive licenses and pay $2000 per month.

Hey Jonas! Just to clear up any confusion, everything is quite literally the same as it was. We're just clarifying the existing BSL (which a lot of folks were confused by). If you didn't have to pay for the license previously, you don't have to now. But if you were in violation of the BSL and are required to pay for the license now, that's exactly what this change was meant to enforce. Hope this clarifies the reason for the change!

i have the same question as Mark Burvill..
Because i didnt see a answer i will ask the question again:

Because of the form on the directus website is not working I will send this here

we have a question regarding the licence model.
The licence model doesn’t speak anything about the different environments (Development, Acceptance, Production).
Could you please explain how this works?

You can activate the same key on up to five instances I believe.

Hi mark, oke that would be great, but im looking for a answer from Directus. They are changing the license from this product so i need a official answer from them. I send them now 2 emails in the last 2 weeks but no reply on that yet. Did you ever get any answer to your question from them (Will we need different keys for each of these instances?)??

This has definitely been answered by Directus themselves. I'm under the innovation grant and have three instances activated with one key. https://directus.com/docs/licensing/overview#activations-and-project-bindings