Skip to main content

FluentCRM 3.0 - RC.1 is available

FluentCRM 3.0 RC1 is here. We’re getting close to the long-awaited V3 release.

Since the last beta, our team has gone through the reported issues and made significant under-the-hood improvements. The biggest change is the full rewrite of the email processing and sending queue, which should make sending up to 5X faster in our early testing.

Full changelog:

- Complete FluentCRM v3 rebuilt on Vue 3 + Element Plus for a faster, more refined admin experience
- Gutenberg-native email builder with device preview, media button improvements, and reusable Email Patterns
- SMS marketing for campaigns and automations with Twilio incoming support and smartcode personalization
- New dashboard and rewritten reports with charts, widgets, improved campaign insights, and UTM visibility
- Dark Mode support across the admin with persistent theme preference
- AI writing support and improved global search for contacts, campaigns, automations, companies, and notes
- Dedicated email preference page, improved docs page, and reorganized settings, addons, and system admin tools
- RTL support, drag-and-drop custom fields, better importer flow, and broad UI/UX polish across modules
- Performance and reliability improvements for link tracking, and overall framework scalability
- Security hardening, XSS fixes, automation cleanup, and compatibility fixes including Rank Math conflict resolution
- Added FluentCart abandoned cart recovery
- Email Sending Speed Optimization with better performance and reliability
- Added toSend email service integration with bounce handling
- Other bug fixes and release polishes

-

How to install the latest RC

  • Download & Install Fluent Toolkit addon
  • Activate the plugin, then go to Fluent Toolkit and install/update FluentCRM Beta and FluentCRM Pro Beta
  • That’s it.

Please let me know if you find any issues in this version in the comments.

Ric Valenzuela

Shahjahan Jewel I think you should remove the first sentence from the post 😅

Shahjahan Jewel

Ric Valenzuela lol! Thanks. Crazy day!

Frank Hurt

Ric Valenzuela I came here to post the same. 😆

Ryan Coe

Ric Valenzuela I'm going to use that phrase though, aren't you? I liked it.

James Maduk

Any major API Changes???

Ramsis Kasis

Hi Shahjahan Jewel 

Just retested on RC.1 after upgrading from Beta 3. One bug is fixed: automation branch connectors are now properly mirrored in RTL ✅

However, the following 7 bugs from previous betas are still present in RC.1:

  1. Global email styles settings are not saved
  2. Template import opens empty
  3. Tag-applied triggers do not fire automations
  4. Sending Time Range fields are visually swapped in RTL (Email Sequence editor)
  5. Bullet points lose RTL alignment in email output (correct in editor)
  6. Numbered lists lose RTL alignment in email output (correct in editor)
  7. Button block: alignment (right → left) and border-radius are lost in email output

JF

Ramsis Kasis Thanks for reporting these important bugs. I hope the team can address them before the release.

Ramsis Kasis

JF Thanks I've opened a support ticket with full details , hoping the team can address these before the stable release. The Global Styles and Tag-applied trigger issues in particular aren't RTL-specific and affect every user.

Ramsis Kasis Template import and automations are working as confirmed. RTL and Editor issues are being addressed.

Cointacter

What is RC ?

Ramsis Kasis

Cointacter Release Candidate

Parm Saggu

Hey Shahjahan Jewel ! Not related to this specific release but I would love for the export contacts feature to be improved. Currently, it's very slow, it doesn't always work and I can't filter and export only a certain list or people in a certain tag for example.

Gavin

Parm Saggu #littelthings make #bigthings Probably moreover on this one, this is a big deal to any business who is serious about running a CRM. Big deal! I often imagine myself as Shahjahan Jewel and just think about how big this business could be if all the important #littlethings were a priority. It's a crazy opportunity. Crazy!

Shahjahan Jewel

Parm Saggu We made the contact export super fast. Give a try with this new version.

Parm Saggu

Shahjahan Jewel I'm in the middle of a launch, I'm worried that changing my tech now might cause issues, I was waiting for the official release!

Bryan William

I spotted - toSend email service integration, there... Kudos

JF

Great work Team! ...It seems you are getting closer to a release!

James Mucci

Nice work! I'm really excited for this update and especially the sms features.

2.questions

  1. will/can emails and sms messages sent from other platforms (ai) be synced into fluent crm automatically to keep all context with the contact?

  2. Is the Fluent Toolkit addon going to be the way all fluent fluent plugins will get installed moving forward? I hope so as it's much easier and faster.

Thanks in advance

Karl Emil Nikka

Thanks! This is huge! Such great improvements. I understand that some features didn’t make it for the 3.0 release. Are they planned?

- Support for custom unsubscribe page
- Removal of all unsafe-inline scripts (at least on the frontend)
- Double opt-in on sites with multiple lists (without Fluent Forms Pro)

Shahjahan Jewel

Karl Emil Nikka 

  • We have added custom preference page now via shortcode and users will be redirect to that page. Will take a look about the unsubscribe page as well.
  • Removal of all unsafe-inline scripts => Would you please give me more details about it? We don't load any scripts on frontend.
  • FluentCRM's core subscription is contact level not list level.

Karl Emil Nikka

Shahjahan Jewel Thank you for the reply and for looking into the unsubscribe page. FluentCRM enqueues inline-scripts (without nonces) on the settings pages and the email browser view. See ticket 102205 for details.

Even though the core subscription is on the contact level, it would be great (necessary for GDPR compliance) if we could have the an option on the list level to require double opt-in before it’s added to the already subscribed contact. It would work almost the same regardless of whether the contact is subscribed or not. If subscribed, use the opt-in email as a condition before adding the list to the contact. If not subscribed, run through the regular process.

Karl Emil Nikka

Shahjahan Jewel Just let me know if you need any additional information.

Helmar Rudolph

Shahjahan Jewel "FluentCRM's core subscription is contact level not list level." If you could address this, I'd really appreciate it. ITM, one can always unsubscribe from a any list or tag via a smartlink. Their only needs to be a way to email/list-level customize the footer, which usually holds the unsubscribe link.

And... there needs to be a preferences page where the customer can see what lists / tags he's on, and why, and also allow him to remove himself from any given list / tag - with the obvious consequences. It's almost like a cookie manager. Tell me what you do with "me", and allow "me" to say yes or no to it.

Anyone else echoing this sentiment?

Shahjahan Jewel "FluentCRM's core subscription is contact level not list level." Sadly this is a serious restriction. In order to meet the framework of existing laws and conventions, there would need to be changes to this.
At L1, an email needs to be validated for a 'master' subscription; and if eg. bounced, that should be removed in order to invalidate all further subscriptions. This is the level I see your 'core' subscription status.
On L2, GDPR consent to marketing should allow subscriptions to any marketing lists. But this should NOT prevent transactional emails on non-marketing lists
And on L3, subscription by list, subject to L1 & L2, should be easy and List Unsubscribe should operate on L3, Ideally it would also clearly offer withdrawal of L2 GDPR.

Karl Emil Nikka

Helmar Rudolph Yes, I agree. It’s important that the subscription management page can be configurable. The contacts should only be able to select between a defined set of lists (not all lists). The contacts should also not able to change tags if we don’t allow them, since the tags might be used for administrative purposes. The contacts should however be able to see and export all data we’ve collected about them, including assigned tags (not unassigned tags).

Karl Emil Nikka

Christopher Miller Great suggestions. I know we’re already at release candidate status, but I’d love to see a future ”FluentCRM 3.1” release being announced as a fully GDPR compliant version of WordPress’ best email marketing plugin, Shahjahan Jewel .

Shahjahan Jewel

Karl Emil Nikka, If you say GDPR status depends on the Lists subscription, then we have a very different understanding of the system. As I said before, Lists are the same as Tags. Lists are available just to let you categorize your contacts more granular way. If you want to use that as a mailing list you can definitely use that, and in that case, you have to manage your own confirmation and maybe use smartlink for removing from a particular list.

When you send a campaign, you are not required to select a list. You can send to all the contacts, a particular tag, or a subset of a list.

Helmar Rudolph

Shahjahan Jewel it's not so much about the understanding of the system, but real-world application and requirements. Maybe the cookie analogy is the best. There are required lists and tags that are essentially read-only and maybe not even exposed to the customer. Then there are optional lists and tags that the customer should be able to remove himself from without a site-level unsubscribe.

Karl Emil outlined that nicely.

Karl Emil Nikka

Shahjahan Jewel The GDPR is very clear: we must to protect the integrity of a contact’s settings. We may not let Contact A control Contact B’s settings. The way FluentCRM works today is not compliant since Contact A can sign up (existing) Contact B for additional lists.

Karl Emil Nikka This is an interesting and valid point. However there are multiple ways to add Contact B to additional lists, and not all are vulnerable to this in practical terms. For example, someone clicking on a link in a previous email's manage subscription page or logged-in user could be assumed to have confirmed identity as Contact B, whereas a public form to subscribe to a different newsletter could arguably need such confirmation by double opt in. However for already known emails, this is obviously a low risk which could be managed by a documented decision to balance the interests of the contact by reducing steps required, or an automated notification when adding to any list, rather than an additional GDPR consent opt in.

Shahjahan Jewel For me, by far the most important change would be mapping List Unsubscribe to a list, not global subscription status. I have some ideas on how this could be achieved easily. Happy to discuss.

Helmar Rudolph

Christopher Miller it would already help to replace the global unsubscribe link in the footer with one that removes the contact from the list/tag that triggered the email. A redirect to a page notifying the contact of the nature of the unsubscribe would round it off.

There should be a protection against 3rd party unsubscribes though, so that no one can unsub you because maybe you forwarded the email to them.

Helmar Rudolph That would help, but there are already workarounds. The list unsubscribe has no possible workaround. Really the workflow needs to have list selection at the point of setting up the campaign.

Karl Emil Nikka

Christopher Miller Yes. I built our current Gravity Forms based subscription management system with that in mind. Every list has double opt-in except when the contact is a logged in user.

Karl Emil Nikka

Shahjahan Jewel I saw that Christopher Miller already has offered to discuss solutions, but if you want my input as well, you’re more than welcome to reach out to me on e.g., Signal (karlemilnikka.24).

Karl Emil Nikka

Has anyone in this thread heard any news regarding the concerns we raised, Helmar Rudolph and Christopher Miller?

Karl Emil Nikka No. I'm still cautious about updating until I can devote some time to fixing anything necessary.

Karl Emil Nikka

Christopher Miller I see. Shahjahan Jewel, just let us know if you need any additional information.

Idan Nagar

The SMS feature still doesn't work... We've been waiting for this for a long time.

Idan Nagar You tried with twillio or aws ?

Idan Nagar

Masiur Rahman Siddiki i even cant choose one of them, i see errors. I already opened a ticket about it and its still not solved, who can help urgently? Itsore than 1 month like that

Idan Nagar Can you tell me the ticket number please ?

Idan Nagar

Masiur Rahman Siddiki 155471 thank you

Nicolas D

Nice work Shahjahan Jewel !

Camilo Barrett

Shahjahan Jewel, Hello Sir, Your team is doing an excellent job, and I truly thank the Lord for you all.

I wanted to ask if there are any plans for a front-end portal for FluentCRM. I know this might sound a bit ambitious, but just imagine if clients could log into Fluent Community and, with one click, access everything in a single dashboard: Forms, Purchases, Boards, Bookings, Documents, Media, and more.

I hope that makes sense.

Shahjahan Jewel

Camilo Barrett we will try to ship with version 3

michael padilla

installed the standard version but now get an error when trying to install the pro beta. Any thoughts?

Edith Allison

I'm getting the same issue with RC1.

Shahjahan Jewel

michael padilla what error are you getting?

michael padilla

Also any possibility of making a companion Mobile app for actual CRM use (not just email campaigns)?

Sifiso Madwayi

How can we suggest an SMS integration or is there a way to add a custom SMS integration?

Manoj Sharma

love it!

Zsolt Lázár

Hello! Could you please help me?

I recently purchased FluentCRM. It is incredibly good — truly brilliant — but there is something I do not understand. I also attached a screenshot of my automation.

What I would like is the following: when someone receives the Trial Days tag, they should get an email 5 minutes later, then a second email on day 1, and then another email on day 3. So basically, I want to create an email sequence.

However, what I see is that the system does not even seem to try to send these emails at all. Do you have any idea what could be causing this? What might I be doing wrong? Could you please help me with this?

I am sure the issue is not with my website, because the cron jobs are working properly. I am also using FluentSMTP, and my other emails are being sent successfully. It is specifically this automation that does not want to work.

What would you guess the problem is? What could I be doing wrong?

Thank you very much in advance for your help.

Helmar Rudolph

Zsolt Lázár What do the stats say where the flow goes (yes vs no), and what is your condition?

Victor Drover

For me, RC1 prevents reusable patterns from rendering on the frontend. I verified this with TwentyTwentyFive and with my functions file disabled. Disabling FluentCRM restores frontend rendering.

I submitted a full bug report via official support channels, but would love to hear from others here.

Nicolas D

Victor Drover Same problem here with RC1 Shahjahan Jewel can you check this issue ? half of our pages have missing contents (synced patterns) with RC1 (theme : TwentyTwentyfive)

Victor Drover

Nicolas D I'm using this snippett until it's fixed:

add_action('init', function () {if (!class_exists('\FluentCrm\App\Services\BlockParser')) {return;}

global $wp_filter;

if (empty($wp_filter['render_block']) || !is_a($wp_filter['render_block'], 'WP_Hook')) {
    return;
}

foreach ($wp_filter['render_block']->callbacks as $priority => $callbacks) {
    foreach ($callbacks as $id => $callback) {
        $fn = $callback['function'] ?? null;

        if (
            is_array($fn) &&
            is_object($fn[0]) &&
            get_class($fn[0]) === 'FluentCrm\App\Services\BlockParser' &&
            ($fn[1] ?? '') === 'alterBlockContent'
        ) {
            remove_filter('render_block', $fn, $priority);
        }
    }
}

}, 999);

Nicolas D

Victor Drover Thank you :)

Shahjahan Jewel

Victor Drover The issue has been resolved in dev branch. Releasing new RC today.

Chet Norman

Has anyone tested the SMS yet? Hows that seem to be working? :) Very excited for that feature.

Sifiso Madwayi

Is there Documentation on how to create custom SMS integration Shahjahan Jewel ?

Jason Janes

Shahjahan Jewel I know developers hate giving timelines. but is there a general timeframe you expect this product to ship outside of the RC versions? are we talking a few weeks? A month? Two months.

I'm launching a big product soon, and the timeframe makes a difference in my decision making process now.

Possibly considering testing in Staging and going live with RC in production but that always scares me a bit. Although in this case it's basically a fresh install so avoids lots of the upgrade type conflicts.

All the Best,
Jason

William Beem

Jason Janes That's a pertinent question. My FluentCRM review is from 2021 and it's time for a revision focusing on the new release. I just updated my FluentCart review and it's even outranking the WP Manage Ninjs review, so daddy gots to shoot for another win with this rewrite.

Bernhard Smith

Is this right place to report a bug in RC1? I'm able to save patterns, the name of the patter shows, but when I reopen the pattern it is blank, the HTML block I save has disappeared and it has also forgotten the 'Synced Pattern' checkbox setting. I hope you fix this soon as this should be a fantastic features.

Shahjahan Jewel

Bernhard Smith Feel free to add here. I am checking this reported issue now.

Bernhard Smith

Thanks Jewel. Will do. This issue is specifically this - the Pattern IS saved and can be added to emails, but when I try to edit the pattern, no content of that pattern is visible.

Shahjahan Jewel

Bernhard Smith Just to let you know, we have fixed the issue already. We will release a new RC in a few hours.

Nicolas D

Shahjahan Jewel i think it was the same problem than this one

Shahjahan Jewel

Nicolas D yes, this issue actually already solved in our dev branch. We'll release an update later today.

Nicolas D

Shahjahan Jewel Great thank you !

Bernhard Smith

Awesome, thank you

Bernhard Smith

Hi. I've installed RC2 and you can now save and edit Patterns which is great - nice work guys. However, I notice that if I tick the 'Synced Pattern
Inserted as a copy - emails get their own independent version' checkbox and save the Pattern, that check does not persist when I reopen this. Have I misunderstood the function or is this a bug?

Shahjahan Jewel

Bernhard Smith I will take a look. Thanks for the feedback again.