crisp_chat
Flutter plugin for Crisp live chat on Android, iOS, Web, and desktop.
2.7.0
8.3K downloads/mo
#3168 most downloaded on pub.dev
alamin-karno/flutter-crisp-chat
What this package is like to depend on
Last release 1 months ago
21 Jul 2026
Ships fairly regularly
a new release about every 5 weeks
Nearly every release is documented
notes for 35 of 35 stable releases
Nothing withdrawn
no release was ever pulled
3 years old
35 releases · first in 2023
11 releases in the last 12 months
see the full history below
Release timeline
35 releases · Mar 2023 to Jul 2026Releases
latest 35-
2.7.021 Jul 2026Release notes
Open source →A Flutter plugin for Crisp live chat on Android, iOS, Web, and desktop (macOS, Windows, Linux).
For more info visit this site: Flutter Crisp Chat
Added
FlutterCrispChat.onCrispEvent— a broadcastStream<CrispChatEvent>of native Crisp SDK events:sessionLoaded,chatOpened,chatClosed,messageSent,messageReceived, and (Android-only)notificationReceived. Wraps the native SDK'sEventsCallbackon Android and theCrisp.Callbackenum on iOS; the native callback is registered on first.listen()and unregistered once the last listener cancels. Not supported on Web/desktop.
Changed
- Added the
FlutterFrameworkSPM dependency toios/crisp_chat/Package.swift, as required by Flutter 3.44+'s Swift Package Manager plugin support for plugins thatimport Flutterdirectly — silences the "missing a dependency on FlutterFramework" build warning. - Upgraded Crisp Android SDK from
2.0.20to2.0.23— includes fixes for an occasional crash on chatbox closing, a crash on messages with apreviewfield but no embedded preview, and rejectingfile://scheme URL opening instead of crashing, plus an additiveonNotificationReceivedmethod on the native SDK'sEventsCallback, now exposed asCrispEventType.notificationReceivedthroughFlutterCrispChat.onCrispEvent.
Fixed
- Fixed iOS notification tap never opening the chatbox on cold start or background resume (#169) — the tap is delivered while the scene is still
foregroundInactive, which failedopenChat()'s foreground-active scene guard and silently dropped the tap.userNotificationCenter(_:didReceive:)now routes through a newopenChatWhenActive()helper that defers opening until a one-shotUIApplication.didBecomeActiveNotificationfires if no active scene exists yet (#174).
Security
- Added a
vite@^6.4.3npm override indocsrc/to fix four Dependabot alerts left open by the previous[email protected]downgrade — its directvite@^5.4.14dependency resolved to5.4.21, which bundles an unpatched[email protected]and predates fixes only ever backported to the vite6.4.xline: GHSA-fx2h-pf6j-xcff (server.fs.denybypass on Windows, high), GHSA-v6wh-96g9-6wx3 (launch-editor NTLMv2 hash disclosure), GHSA-4w7w-66w2-5vf9 (path traversal in optimized deps.maphandling), and GHSA-67mh-4wv8-2f99 (esbuild dev server request/response read). The override resolves to[email protected]+[email protected], both within@vitejs/plugin-vue's supported peer range for[email protected]. - Downgraded docsrc build toolchain from
[email protected](vite 7.x) to[email protected](vite 5.x) to resolve two high-severity vite 7.x CVEs (GHSA-859j-r86m-m3mj, GHSA-pc3c-v4xw-v6vq) and one low-severity esbuild CVE (GHSA-67mh-4wv8-2f99) — patched versions (vite 7.3.5, esbuild 0.28.1) are not yet published so a toolchain downgrade to unaffected version ranges was applied. Removed the staleesbuild@^0.28.1npm override that referenced a non-existent version.
Documentation
- docsrc PageSpeed / SEO / AEO improvements (Lighthouse mobile performance 69 → 72+ locally, LCP/FCP/CLS all improved, CLS now a perfect 0):
- Re-encoded
graphics/logo.png— it was actually a 2048×2048 JPEG mislabeled with a.pngextension at 89.7 KB, displayed at 24–32px everywhere (favicon, nav logo, OG image). Re-saved as a true 256×256 PNG at 12 KB (~87% smaller). - Resized
graphics/firebase-logo.png(640×640 → 128×128) andgraphics/crisp-logo.png(200×200 → 96×96) to match their ~32px display size. - Resized
graphics/crisp-hero.jpg(1280×720 → 640×360) to match the home hero's max 320px CSS box at 2x retina. - Self-hosted the "Crisp" sponsor logo (
docsrc/docs/.vitepress/theme/data/sponsor.json) instead of hotlinkinguploads-ssl.webflow.com— the last remaining third-party image hotlink, previously missed when the other logos were localized. - Added explicit
width/heightto the nav logo (themeConfig.logo), the home hero image (index.mdfrontmatter), the sponsor card image, and the GitHub avatar — closes the Lighthouseunsized-imagesaudit and drops CLS to 0. - Added
loading="lazy"to all below-the-fold images (sponsor logos, "Powered By" logos, author avatar), andfetchpriority="high"plus a homepage-scoped<link rel="preload" as="image">on the hero image (the LCP candidate). - Requested a downsized GitHub avatar via
?s=96instead of the full-resolution image for a 48px display. - Converted the Google Fonts
<link rel="stylesheet">to a preload +media="print"swap pattern (with a<noscript>fallback) so it no longer render-blocks first paint (~920ms savings) — same fonts, no visual change. - Added
FAQPageJSON-LD structured data toreference/faq.mdfor FAQ rich results and answer-engine extraction. - Added
docs/public/llms.txt(per the emergingllms.txtconvention) summarizing the project and linking key docs pages for AI answer engines/crawlers. - Known, unaddressed Lighthouse findings:
uses-long-cache-ttl(GitHub Pages doesn't support customCache-Controlheaders) andunused-javascriptongtag.js(inherent to Google Analytics; already the lighter alternative to a full GTM container).
- Re-encoded
What's Changed
- release/v2.6.0 by @alamin-karno in #165
- fix: resolve Dependabot security alerts in docsrc build toolchain by @alamin-karno in #166
- docs: update CLAUDE.md version number and document helpdesk methods by @alamin-karno in #168
- fix: resolve remaining Dependabot vite/esbuild alerts in docsrc by @alamin-karno in #167
- fix: upgrade Crisp Android SDK from 2.0.20 to 2.0.23 by @alamin-karno in #170
- docs: clarify docs/ vs docsrc/ and link unread-workaround scripts in CLAUDE.md by @alamin-karno in #171
- feat: add FlutterCrispChat.onCrispEvent native SDK event stream by @alamin-karno in #172
- fix: add missing FlutterFramework SPM dependency to Package.swift by @alamin-karno in #173
- fix(iOS): open chatbox after app becomes active on notification tap by @drorblum45 in #174
- fix(iOS): open chatbox after app becomes active on notification tap by @alamin-karno in #175
- Release 2.7.0: docsrc PageSpeed/SEO/AEO fixes + version bump by @alamin-karno in #176
New Contributors
- @drorblum45 made their first contribution in #174
Full Changelog: v2.6.0...v2.7.0
Release notes
Open source →Added
FlutterCrispChat.onCrispEvent— a broadcastStream<CrispChatEvent>of native Crisp SDK events:sessionLoaded,chatOpened,chatClosed,messageSent,messageReceived, and (Android-only)notificationReceived. Wraps the native SDK'sEventsCallbackon Android and theCrisp.Callbackenum on iOS; the native callback is registered on first.listen()and unregistered once the last listener cancels. Not supported on Web/desktop.
Changed
- Added the
FlutterFrameworkSPM dependency toios/crisp_chat/Package.swift, as required by Flutter 3.44+'s Swift Package Manager plugin support for plugins thatimport Flutterdirectly — silences the "missing a dependency on FlutterFramework" build warning. - Upgraded Crisp Android SDK from
2.0.20to2.0.23— includes fixes for an occasional crash on chatbox closing, a crash on messages with apreviewfield but no embedded preview, and rejectingfile://scheme URL opening instead of crashing, plus an additiveonNotificationReceivedmethod on the native SDK'sEventsCallback, now exposed asCrispEventType.notificationReceivedthroughFlutterCrispChat.onCrispEvent.
Fixed
- Fixed iOS notification tap never opening the chatbox on cold start or background resume (#169) — the tap is delivered while the scene is still
foregroundInactive, which failedopenChat()'s foreground-active scene guard and silently dropped the tap.userNotificationCenter(_:didReceive:)now routes through a newopenChatWhenActive()helper that defers opening until a one-shotUIApplication.didBecomeActiveNotificationfires if no active scene exists yet (#174).
Security
- Added a
vite@^6.4.3npm override indocsrc/to fix four Dependabot alerts left open by the previous[email protected]downgrade — its directvite@^5.4.14dependency resolved to5.4.21, which bundles an unpatched[email protected]and predates fixes only ever backported to the vite6.4.xline: GHSA-fx2h-pf6j-xcff (server.fs.denybypass on Windows, high), GHSA-v6wh-96g9-6wx3 (launch-editor NTLMv2 hash disclosure), GHSA-4w7w-66w2-5vf9 (path traversal in optimized deps.maphandling), and GHSA-67mh-4wv8-2f99 (esbuild dev server request/response read). The override resolves to[email protected]+[email protected], both within@vitejs/plugin-vue's supported peer range for[email protected]. - Downgraded docsrc build toolchain from
[email protected](vite 7.x) to[email protected](vite 5.x) to resolve two high-severity vite 7.x CVEs (GHSA-859j-r86m-m3mj, GHSA-pc3c-v4xw-v6vq) and one low-severity esbuild CVE (GHSA-67mh-4wv8-2f99) — patched versions (vite 7.3.5, esbuild 0.28.1) are not yet published so a toolchain downgrade to unaffected version ranges was applied. Removed the staleesbuild@^0.28.1npm override that referenced a non-existent version.
Documentation
- docsrc PageSpeed / SEO / AEO improvements (Lighthouse mobile performance 69 → 72+ locally, LCP/FCP/CLS all improved, CLS now a perfect 0):
- Re-encoded
graphics/logo.png— it was actually a 2048×2048 JPEG mislabeled with a.pngextension at 89.7 KB, displayed at 24–32px everywhere (favicon, nav logo, OG image). Re-saved as a true 256×256 PNG at 12 KB (~87% smaller). - Resized
graphics/firebase-logo.png(640×640 → 128×128) andgraphics/crisp-logo.png(200×200 → 96×96) to match their ~32px display size. - Resized
graphics/crisp-hero.jpg(1280×720 → 640×360) to match the home hero's max 320px CSS box at 2x retina. - Self-hosted the "Crisp" sponsor logo (
docsrc/docs/.vitepress/theme/data/sponsor.json) instead of hotlinkinguploads-ssl.webflow.com— the last remaining third-party image hotlink, previously missed when the other logos were localized. - Added explicit
width/heightto the nav logo (themeConfig.logo), the home hero image (index.mdfrontmatter), the sponsor card image, and the GitHub avatar — closes the Lighthouseunsized-imagesaudit and drops CLS to 0. - Added
loading="lazy"to all below-the-fold images (sponsor logos, "Powered By" logos, author avatar), andfetchpriority="high"plus a homepage-scoped<link rel="preload" as="image">on the hero image (the LCP candidate). - Requested a downsized GitHub avatar via
?s=96instead of the full-resolution image for a 48px display. - Converted the Google Fonts
<link rel="stylesheet">to a preload +media="print"swap pattern (with a<noscript>fallback) so it no longer render-blocks first paint (~920ms savings) — same fonts, no visual change. - Added
FAQPageJSON-LD structured data toreference/faq.mdfor FAQ rich results and answer-engine extraction. - Added
docs/public/llms.txt(per the emergingllms.txtconvention) summarizing the project and linking key docs pages for AI answer engines/crawlers. - Known, unaddressed Lighthouse findings:
uses-long-cache-ttl(GitHub Pages doesn't support customCache-Controlheaders) andunused-javascriptongtag.js(inherent to Google Analytics; already the lighter alternative to a full GTM container).
- Re-encoded
-
2.6.016 Jun 2026Release notes
Open source →A Flutter plugin for Crisp live chat on Android, iOS, Web, and desktop (macOS, Windows, Linux).
For more info visit this site: Flutter Crisp Chat
Added
FlutterCrispChat.openHelpdesk()— opens the Crisp Helpdesk/FAQ search screen directly on all platforms (closes #158). On Android, callsCrisp.searchHelpdesk()then startsChatActivity. On iOS, callsCrispSDK.searchHelpdesk()then presentsChatViewController. On Web and desktop, pushes$crisp.push(["do", "helpdesk:search"])via the Crisp Web Chat SDK.FlutterCrispChat.openHelpdeskArticle()— opens a specific helpdesk article bylocaleandslug, with optionaltitleandcategory, on all platforms. Native SDK on Android/iOS;$crisp.push(["do", "helpdesk:article:open", [...]])on Web and desktop.
Fixed
- Fixed iOS Swift Package Manager build error — added explicit
UIKitlinker setting toPackage.swift(#161). - Fixed spurious
"can not find webview for id: 0"log noise on desktop — added 500 ms startup delay before polling and suppressed the transient initialisation error.
Security
- Fixed high-severity esbuild RCE vulnerability (GHSA-gv7w-rqvm-qjhr) in
docsrc/dev tooling — bumped esbuild override from^0.25.0to^0.28.0(#159). - Fixed low-severity esbuild path traversal vulnerability (GHSA-g7r4-m6w7-qqqr) in
docsrc/dev tooling — bumped esbuild override to^0.28.1(#160).
Documentation
- Added blog post covering the multi-platform (
crisp_chat) Flutter plugin expansion to Web and desktop. - docsrc PageSpeed / SEO improvements:
- Replaced render-blocking CSS
@importfor Google Fonts with<link rel="stylesheet">+<link rel="preconnect">in the VitePressheadconfig. - Added missing
twitter:card,twitter:site,twitter:title,twitter:description, andtwitter:imagemeta tags to all pages. - Added
og:image:width,og:image:height, andog:image:altto all pages. - Added
<link rel="canonical">to all pages. - Added JSON-LD
SoftwareApplicationstructured data to all pages. - Replaced Bing-hotlinked Flutter and Firebase logos with locally-hosted copies (
/graphics/flutter-logo.png,/graphics/firebase-logo.png,/graphics/crisp-logo.png) to eliminate third-party image dependencies and CLS. - Downloaded hero image from external CDN (
digitiz.fr) to/graphics/crisp-hero.jpg— served from same origin. - Added explicit
width/heightattributes to all "Powered By" images to eliminate Cumulative Layout Shift (CLS). - Removed invalid
altattribute from<link rel="icon">tag. - Added
preconnecthints for Google Fonts, gstatic, and Google Tag Manager. - Added Helpdesk / FAQ documentation page.
- Replaced render-blocking CSS
What's Changed
- Prepare v2.5.0 release changelog and align example SDK constraints by @alamin-karno in #154
- Feat/add blogs by @alamin-karno in #155
- add new blog by @alamin-karno in #156
- Fix high-severity esbuild RCE vulnerability (GHSA-gv7w-rqvm-qjhr) by @alamin-karno in #159
- Fix esbuild path traversal vulnerability (Dependabot #23) by @alamin-karno in #160
- Add openHelpdesk and openHelpdeskArticle support by @aspid168 in #157
- feat/helpdesk faq support by @alamin-karno in #162
- Fix SPM build error: reorder swiftSettings before linkerSettings in Package.swift by @aspid168 in #161
- fix(docsrc): improve PageSpeed — local assets, font loading, OG meta, CLS fixes by @alamin-karno in #163
- release/v2.6.0 by @alamin-karno in #164
Full Changelog: v2.5.0...v2.6.0
Release notes
Open source →Added
FlutterCrispChat.openHelpdesk()— opens the Crisp Helpdesk/FAQ search screen directly on all platforms (closes #158). On Android, callsCrisp.searchHelpdesk()then startsChatActivity. On iOS, callsCrispSDK.searchHelpdesk()then presentsChatViewController. On Web and desktop, pushes$crisp.push(["do", "helpdesk:search"])via the Crisp Web Chat SDK.FlutterCrispChat.openHelpdeskArticle()— opens a specific helpdesk article bylocaleandslug, with optionaltitleandcategory, on all platforms. Native SDK on Android/iOS;$crisp.push(["do", "helpdesk:article:open", [...]])on Web and desktop.
Fixed
- Fixed iOS Swift Package Manager build error — added explicit
UIKitlinker setting toPackage.swift(#161). - Fixed spurious
"can not find webview for id: 0"log noise on desktop — added 500 ms startup delay before polling and suppressed the transient initialisation error.
Security
- Fixed high-severity esbuild RCE vulnerability (GHSA-gv7w-rqvm-qjhr) in
docsrc/dev tooling — bumped esbuild override from^0.25.0to^0.28.0(#159). - Fixed low-severity esbuild path traversal vulnerability (GHSA-g7r4-m6w7-qqqr) in
docsrc/dev tooling — bumped esbuild override to^0.28.1(#160).
Documentation
- Added blog post covering the multi-platform (
crisp_chat) Flutter plugin expansion to Web and desktop. - docsrc PageSpeed / SEO improvements:
- Replaced render-blocking CSS
@importfor Google Fonts with<link rel="stylesheet">+<link rel="preconnect">in the VitePressheadconfig. - Added missing
twitter:card,twitter:site,twitter:title,twitter:description, andtwitter:imagemeta tags to all pages. - Added
og:image:width,og:image:height, andog:image:altto all pages. - Added
<link rel="canonical">to all pages. - Added JSON-LD
SoftwareApplicationstructured data to all pages. - Replaced Bing-hotlinked Flutter and Firebase logos with locally-hosted copies (
/graphics/flutter-logo.png,/graphics/firebase-logo.png,/graphics/crisp-logo.png) to eliminate third-party image dependencies and CLS. - Downloaded hero image from external CDN (
digitiz.fr) to/graphics/crisp-hero.jpg— served from same origin. - Added explicit
width/heightattributes to all "Powered By" images to eliminate Cumulative Layout Shift (CLS). - Removed invalid
altattribute from<link rel="icon">tag. - Added
preconnecthints for Google Fonts, gstatic, and Google Tag Manager. - Added Helpdesk / FAQ documentation page.
- Replaced render-blocking CSS
-
2.5.031 May 2026Release notes
Open source →A Flutter plugin for Crisp live chat on Android, iOS, Web, and desktop (macOS, Windows, Linux).
For more info visit this site: Flutter Crisp Chat
Added
- Web support via the official Crisp Web Chat SDK (
$crisp/client.crisp.chat). - Desktop support for macOS, Windows, and Linux using
desktop_webview_window, with browser fallback when WebView is unavailable. FlutterCrispChat.markMessagesAsRead()— RESTPATCHto clearunread.visitor(workaround when the iOS native SDK does not sync read receipts; also usable on Android, Web, and desktop with REST credentials).FlutterCrispChat.isVideoCallsSupported()— returns whether the current build supports Crisp calls (iOS WebRTC variant, or Web/desktop).- Optional iOS video/audio calls (build-time opt-in, not a runtime
CrispConfigflag):- CocoaPods:
$CrispChatWebRTC = trueinios/Podfile→ linksCrisp/CrispWebRTCinstead ofCrisp/Crisp(~10 MB larger). - SPM:
CRISP_CHAT_WEBRTC=truebeforeflutter build ios(or Xcode scheme env var);Package.swiftselectsCrispWebRTCautomatically. - Android native video is not supported yet (upstream #181); Web/desktop use the web chatbox when enabled in the Crisp dashboard.
- CocoaPods:
- Documentation: Supported platforms guide and platform API matrix; Crisp dashboard domain lock guidance (#148); iOS unread-count limitation and verification (
docs/unread-count-verification.md).
Changed
- Minimum Dart SDK 3.5.0 and Flutter 3.24.0 (required by desktop WebView dependency).
openChatboxFromNotificationandsetOnNotificationTappedCallbackare no-ops on Web/desktop.- Example app extended with linux, macos, and windows runners for multi-platform testing.
- GitHub Actions CI workflow (analyze + test on Ubuntu).
Breaking
- Apps on Flutter < 3.24 or Dart < 3.5 must stay on 2.4.8 for mobile-only usage.
- New dependencies:
desktop_webview_window,http,url_launcher,web.
What's Changed
- release/v2.4.8 by @alamin-karno in #146
- Add markMessagesAsRead and document iOS unread count limitation by @alamin-karno in #149
- Add support for Web and Desktop (macOS, Windows, Linux) by @alamin-karno in #150
- Add documentation for Crisp dashboard domain lock requirements by @alamin-karno in #151
- Support iOS video and audio calls and update to v2.5.0 by @alamin-karno in #152
- docs: Add "Next Steps" sections and update documentation navigation by @alamin-karno in #153
Full Changelog: v2.4.8...v2.5.0
Release notes
Open source →Added
- Web support via the official Crisp Web Chat SDK (
$crisp/client.crisp.chat). - Desktop support for macOS, Windows, and Linux using
desktop_webview_window, with browser fallback when WebView is unavailable. FlutterCrispChat.markMessagesAsRead()— RESTPATCHto clearunread.visitor(workaround when the iOS native SDK does not sync read receipts; also usable on Android, Web, and desktop with REST credentials).FlutterCrispChat.isVideoCallsSupported()— returns whether the current build supports Crisp calls (iOS WebRTC variant, or Web/desktop).- Optional iOS video/audio calls (build-time opt-in, not a runtime
CrispConfigflag):- CocoaPods:
$CrispChatWebRTC = trueinios/Podfile→ linksCrisp/CrispWebRTCinstead ofCrisp/Crisp(~10 MB larger). - SPM:
CRISP_CHAT_WEBRTC=truebeforeflutter build ios(or Xcode scheme env var);Package.swiftselectsCrispWebRTCautomatically. - Android native video is not supported yet (upstream #181); Web/desktop use the web chatbox when enabled in the Crisp dashboard.
- CocoaPods:
- Documentation: Supported platforms guide and platform API matrix; Crisp dashboard domain lock guidance (#148); iOS unread-count limitation and verification (
docs/unread-count-verification.md).
Changed
- Minimum Dart SDK 3.5.0 and Flutter 3.24.0 (required by desktop WebView dependency).
openChatboxFromNotificationandsetOnNotificationTappedCallbackare no-ops on Web/desktop.- Example app extended with linux, macos, and windows runners for multi-platform testing.
- GitHub Actions CI workflow (analyze + test on Ubuntu).
Breaking
- Apps on Flutter < 3.24 or Dart < 3.5 must stay on 2.4.8 for mobile-only usage.
- New dependencies:
desktop_webview_window,http,url_launcher,web.
- Web support via the official Crisp Web Chat SDK (
-
2.4.824 May 2026Release notes
Open source →A flutter plugin package for using crisp chat natively on Android & iOS.
For more info visit this site: Flutter Crisp Chat
Fixed
- Fixed iOS Swift Package Manager integration introduced in
2.4.2that failed during Xcode package resolution withtarget 'crisp_chat' in package 'crisp_chat' is outside the package root. - Fixed SPM product name to
crisp-chat(required by Flutter's generatedFlutterGeneratedPluginSwiftPackage). - Fixed SPM target to be Swift-only; CocoaPods continues to use a thin Objective-C registration shim in
ios/Classes/.
Changed
- Consolidated iOS Swift sources under
ios/crisp_chat/Sources/crisp_chat/for both SPM and CocoaPods. - Restored
ModalPresentationStyle.popoveron iOS (UIModalPresentationStyle.popover) withpopoverPresentationControllerconfiguration for iPad. - Fixed CocoaPods duplicate
FlutterCrispChatPlugininterface (removed redundant ObjC shim; Swift-only registration).
What's Changed
- chore: update package dependencies and overrides by @alamin-karno in #139
- Update Node.js version and documentation metadata by @alamin-karno in #140
- release/v2.4.7 by @alamin-karno in #138
- Add sponsorship info by @alamin-karno in #141
- Add Crisp to platinum sponsors by @alamin-karno in #142
- Fix iOS Swift Package Manager support by @coolswood in #143
- Fix iOS Swift Package Manager integration and restore popover style by @alamin-karno in #144
- release/v2.4.8 by @alamin-karno in #145
New Contributors
- @coolswood made their first contribution in #143
Full Changelog: v2.4.7...v2.4.8
Release notes
Open source →Fixed
- Fixed iOS Swift Package Manager integration introduced in
2.4.2that failed during Xcode package resolution withtarget 'crisp_chat' in package 'crisp_chat' is outside the package root. - Fixed SPM product name to
crisp-chat(required by Flutter's generatedFlutterGeneratedPluginSwiftPackage). - Fixed SPM target to be Swift-only; CocoaPods continues to use a thin Objective-C registration shim in
ios/Classes/.
Changed
- Consolidated iOS Swift sources under
ios/crisp_chat/Sources/crisp_chat/for both SPM and CocoaPods. - Restored
ModalPresentationStyle.popoveron iOS (UIModalPresentationStyle.popover) withpopoverPresentationControllerconfiguration for iPad. - Fixed CocoaPods duplicate
FlutterCrispChatPlugininterface (removed redundant ObjC shim; Swift-only registration).
- Fixed iOS Swift Package Manager integration introduced in
-
2.4.728 Apr 2026Release notes
Open source →A flutter plugin package for using crisp chat natively on Android & iOS.
For more info visit this site: Flutter Crisp Chat
Added
- Added
signatureparameter toUserfor Crisp Identity Verification on Android and iOS.
Changed
- Upgraded Crisp Android SDK from
2.0.18to2.0.20.- Added mobile SDK specific strings localization.
- #232 Added missing mobile SDK specific strings localization.
Fixed
- Fixed issue: #132 - [iOS] Black screen after closing chat (fullScreen) / tap-through when open (overFullScreen)
What's Changed
- release/v2.4.6 by @alamin-karno in #130
- release/v2.4.6 by @alamin-karno in #131
- Fix black screen after closing chat in ios by @aspid168 in #133
- ios full screen black screen after return by @alamin-karno in #135
- Support for user HMAC signatures by @baptistejamin in #134
- Support for user hmac signatures by @alamin-karno in #136
- release/v2.4.7 by @alamin-karno in #137
New Contributors
- @baptistejamin made their first contribution in #134
Full Changelog: v2.4.6...v2.4.7
Release notes
Open source →Added
- Added
signatureparameter toUserfor Crisp Identity Verification on Android and iOS.
Changed
- Upgraded Crisp Android SDK from
2.0.18to2.0.20.- Added mobile SDK specific strings localization.
- #232 Added missing mobile SDK specific strings localization.
Fixed
- Fixed issue: #132 - [iOS] Black screen after closing chat (fullScreen) / tap-through when open (overFullScreen)
- Added
-
2.4.612 Mar 2026Release notes
Open source →A flutter plugin package for using crisp chat natively on Android & iOS.
For more info visit this site: Flutter Crisp Chat
Added
- Added
modalPresentationStyleparameter toCrispConfigfor iOS modal presentation style configuration. - Added
ModalPresentationStyleenum with options:fullScreen,pageSheet,formSheet,overFullScreen,overCurrentContext, andpopover. - Default modal presentation style is set to
fullScreento prevent touch events from passing through to the underlying Flutter UI.
Changed
- Upgraded Crisp Android SDK from
2.0.17to2.0.18.- Fixed crash on message deserialization when origin is null.
Fixed
- Fixed issue where
enableNotifications: falseinCrispConfigwas being ignored on iOS, causing the Crisp SDK to still prompt for push notification permissions after sending the first message.
What's Changed
- release/v2.4.5 by @alamin-karno in #117
- feat: add Google Analytics to documentation site by @alamin-karno in #118
- feat: add Google Analytics to documentation site by @alamin-karno in #119
- Fix sitemap XML formatting for Google Search Console by @alamin-karno in #120
- Fix sitemap XML formatting for Google Search Console by @alamin-karno in #121
- build(deps-dev): bump rollup from 4.57.1 to 4.59.0 in /docsrc by @dependabot[bot] in #122
- Fix ios chat taps through issue by @aspid168 in #124
- Fix ignoring of crispConfig.enableNotifications in ios by @aspid168 in #126
- feat: add iOS modal presentation styles and fix notification control by @alamin-karno in #127
- chore: upgrade Crisp Android SDK to 2.0.18 by @alamin-karno in #128
- feat(ios): Implement push notification handling by @alamin-karno in #129
New Contributors
Full Changelog: v2.4.5...v2.4.6
Release notes
Open source →Added
- Added
modalPresentationStyleparameter toCrispConfigfor iOS modal presentation style configuration. - Added
ModalPresentationStyleenum with options:fullScreen,pageSheet,formSheet,overFullScreen,overCurrentContext, andpopover. - Default modal presentation style is set to
fullScreento prevent touch events from passing through to the underlying Flutter UI.
Changed
- Upgraded Crisp Android SDK from
2.0.17to2.0.18.- Fixed crash on message deserialization when origin is null.
Fixed
- Fixed issue where
enableNotifications: falseinCrispConfigwas being ignored on iOS, causing the Crisp SDK to still prompt for push notification permissions after sending the first message.
- Added
-
2.4.519 Feb 2026Release notes
Open source →A flutter plugin package for using crisp chat natively on Android & iOS.
For more info visit this site: Flutter Crisp Chat
Changed
- Upgraded Crisp Android SDK from
2.0.16to2.0.17.- Scroll to last message after visitor sent it
- Updated smileys sorting according to Web dashboard
What's Changed
- version: v2.4.4 by @alamin-karno in #107
- feature: documentation site enhance work by @alamin-karno in #109
- feat: enchanced documentation site by @alamin-karno in #110
- chore: remove unused dart:ui imports by @alamin-karno in #111
- feat: add blog section to documentation site by @alamin-karno in #112
- feat: Upgrade Crisp Android SDK to 2.0.17 by @alamin-karno in #115
- release/v2.4.5 by @alamin-karno in #116
Full Changelog: v2.4.4...v2.4.5
Release notes
Open source →Changed
- Upgraded Crisp Android SDK from
2.0.16to2.0.17.- Scroll to last message after visitor sent it
- Updated smileys sorting according to Web dashboard
- Upgraded Crisp Android SDK from
-
2.4.406 Feb 2026Release notes
Open source →A flutter plugin package for using crisp chat natively on Android & iOS.
For more info visit this site: Flutter Crisp Chat
Added
- Added
CrispChatNotificationService— a customFirebaseMessagingServicethat handles Crisp push notifications without auto-openingChatActivity. This allows the app to open first, then programmatically open the chatbox. - Added
openChatboxFromNotification()method to open the Crisp chatbox from a notification intent after the app has launched. - Added
setOnNotificationTappedCallback()method to listen for Crisp notification taps while the app is in the background. - Added
firebase-messagingas acompileOnlydependency in the SDK'sbuild.gradle.
Changed
- Upgraded Crisp iOS SDK from
2.12.0to2.13.0. - Updated
FlutterCrispChatPlugin.javato implementNewIntentListenerfor detecting notification taps viaonNewIntent. - Updated
README.mdwith two notification handling approaches: Option A (auto-open ChatActivity) and Option B (open app first, then chatbox).
Fixed
- Fixed issue: #79 — Crisp notification tap directly opens ChatActivity instead of the app's main screen on terminated state.
What's Changed
- release v2.4.3 by @alamin-karno in #101
- docs: Update support link and file extension by @alamin-karno in #102
- build(deps-dev): bump preact from 10.28.1 to 10.28.2 in /docsrc by @dependabot[bot] in #103
- feature: fixing notification issue by @alamin-karno in #105
- release: v2.4.4 by @alamin-karno in #106
Full Changelog: v2.4.3...v2.4.4
Release notes
Open source →Added
- Added
CrispChatNotificationService— a customFirebaseMessagingServicethat handles Crisp push notifications without auto-openingChatActivity. This allows the app to open first, then programmatically open the chatbox. - Added
openChatboxFromNotification()method to open the Crisp chatbox from a notification intent after the app has launched. - Added
setOnNotificationTappedCallback()method to listen for Crisp notification taps while the app is in the background. - Added
firebase-messagingas acompileOnlydependency in the SDK'sbuild.gradle.
Changed
- Upgraded Crisp iOS SDK from
2.12.0to2.13.0. - Updated
FlutterCrispChatPlugin.javato implementNewIntentListenerfor detecting notification taps viaonNewIntent. - Updated
README.mdwith two notification handling approaches: Option A (auto-open ChatActivity) and Option B (open app first, then chatbox).
Fixed
- Fixed issue: #79 — Crisp notification tap directly opens ChatActivity instead of the app's main screen on terminated state.
- Added
-
2.4.331 Dec 2025Release notes
Open source →A flutter plugin package for using crisp chat natively on Android & iOS.
The latest package is on Crisp Chat - pub.dev
Fixed
- Fixed issue: #98 Bug:
getSessionIdentifier()returns null after closing chat, preventing unread message checks
What's Changed
- release v2.4.2 by @alamin-karno in #94
- build(deps-dev): bump vitepress from 1.0.0-alpha.49 to 0.1.1 in /docsrc by @alamin-karno in #95
- build(deps): bump postcss and vitepress in /docsrc by @dependabot[bot] in #96
- build(deps): bump vite and vitepress in /docsrc by @dependabot[bot] in #97
- fix: Cache session identifier to prevent null return by @alamin-karno in #99
- Release/v2.4.3 by @alamin-karno in #100
Full Changelog: v2.4.2...v2.4.3
Release notes
Open source →Fixed
- Fixed issue: #98 Bug:
getSessionIdentifier()returns null after closing chat, preventing unread message checks
- Fixed issue: #98 Bug:
-
2.4.226 Dec 2025Release notes
Open source →A flutter plugin package for using crisp chat natively on Android & iOS.
The latest package is on Crisp Chat - pub.dev
Added
- Added
getUnreadMessageCountto get unread message count, - Added Swift Package Manager support for iOS,
- Add validation for websiteID on iOS & Android SDK Level.
Changed
- Upgraded Crisp Android SDK from
2.0.13to2.0.16. - Increased
minSdkVersionfrom21to23. - Updated
compileSdkVersionfrom35to36. - Upgraded Android Gradle Plugin (AGP) from
8.6.1to8.9.1. - Upgraded Gradle from
8.7to8.11.1, - Upgraded Crisp iOS SDK from
2.8.2to2.12.0, - Increased the minimum iOS deployment target from
9.0to13.0.
What's Changed
- chore: Update Crisp Android SDK to version 2.0.13 and upgrade Gradle dependencies by @alamin-karno in #74
- feat: Update dependencies and support Google Play's 16KB page size requirement by @alamin-karno in #75
- feat: Update Android dependencies and SDK versions by @alamin-karno in #83
- feat: Update Crisp iOS SDK and bump minimum iOS version by @alamin-karno in #85
- Documentation website by @alpondith in #59
- Feature/implementation doc website by @alamin-karno in #86
- chore: Update cache dependency path in deploy-docs workflow by @alamin-karno in #87
- chore: Update GitHub Actions workflow for deploying docs by @alamin-karno in #88
- build(deps-dev): bump mdast-util-to-hast from 13.2.0 to 13.2.1 in /docsrc by @dependabot[bot] in #89
- build(deps-dev): bump vite from 5.4.19 to 5.4.21 in /docsrc by @dependabot[bot] in #90
- feat: Add unread message count feature by @alamin-karno in #91
- feature: swift package manager support by @alamin-karno in #92
- Release/v2.4.2 by @alamin-karno in #93
New Contributors
- @alpondith made their first contribution in #59
Full Changelog: crisp_chat_v2.4.1...crisp_chat_v2.4.2
Release notes
Open source →Added
- Added
getUnreadMessageCountto get unread message count, - Added Swift Package Manager support for iOS,
- Add validation for websiteID on iOS & Android SDK Level.
Changed
- Upgraded Crisp Android SDK from
2.0.13to2.0.16. - Increased
minSdkVersionfrom21to23. - Updated
compileSdkVersionfrom35to36. - Upgraded Android Gradle Plugin (AGP) from
8.6.1to8.9.1. - Upgraded Gradle from
8.7to8.11.1, - Upgraded Crisp iOS SDK from
2.8.2to2.12.0, - Increased the minimum iOS deployment target from
9.0to13.0,
- Added
-
2.4.101 Sep 2025Release notes
Open source →Added
- Package now supported Google Play's 16KB page size requirement.
Changed
- Update Crisp Android SDK
2.0.12to2.0.13. - Update AGP from
8.6to8.7. - Update Project Level Gradle from
8.4.1to8.6.1. - Update
exampleproject Kotlin from1.7.10to2.1.0.
-
2.4.009 Aug 2025Release notes
Open source →Added
- Added new function
pushSessionEventto sends a custom event to the Crisp session withnameandcolor.
Changed
- Increased the minimum Dart SDK constraint from
>=2.12.0to>=2.15.0.
- Added new function
-
2.3.031 May 2025Release notes
Open source →Added
- New section in
README.mddetailing supported native Crisp SDK versions (Android & iOS). - More comprehensive usage examples in
README.md, including detailedCrispConfigsetup withUserandCompanyobjects. {@category}tags to Dart classes and methods for improved generated documentation.- Guidance on using
resetCrispChatSessionand clearer calling sequences inREADME.md. - Notes on testing push notifications for both iOS and Android in
README.md.
Changed
- Update Crisp Android SDK
2.0.11to2.0.12. - Upgraded
compileSdkandtargetSdkto35 - Upgraded
AGPfrom8.1.1to8.3.0 - Upgraded
Gradlefrom8.2to8.4 - Enhanced error handling for
getSessionIdentifiermethod. - Improved documentation for public APIs for better clarity.
- Switched from generic
ExceptiontoArgumentErrorfor input validation with more descriptive messages.
Fixed
- Fixed issue: #46 Android mailto: links in chat fail to launch email app on some devices (e.g., Xiaomi/Redmi, Android 12+)
- New section in
-
2.2.507 Apr 2025Release notes
Open source →- Update Crisp Android SDK
2.0.10to2.0.11. - Fixed Issue: #45: Push view up when the keyboard is open
- Added remote notification registration in application launch for iOS
- Update Crisp Android SDK
-
2.2.428 Feb 2025Release notes
Open source →- Update Crisp Android SDK
2.0.9to2.0.10. - Update Crisp iOS SDK
2.8.1to2.8.2. - Added
enableNotificationsflag inCrispConfigto enable/disable notifications for your site. - Improved JSON parsing and type safety for
enableNotificationsflag. - Added
setSessionSegmentsmethod to support clients using multiple segments with Crisp.
- Update Crisp Android SDK
-
2.2.310 Jan 2025 -
2.2.218 Dec 2024 -
2.2.114 Dec 2024 -
2.2.013 Dec 2024 -
2.1.026 Nov 2024Release notes
Open source →- Fixed #21 unable to open chat for specific domain email
isEmailandisUrlhelper validation fixed
-
2.0.910 Nov 2024Release notes
Open source →- Fixed #20 reset chat session exception on iOS
- Added
getSessionIdentifierfeature for iOS
-
2.0.803 Nov 2024Release notes
Open source →- Update Crisp Android SDK
2.0.4to2.0.5. This fixed camera app crash on take photo feature on some devices - Update Crisp Android (Example App) Kotlin Version
1.6.10to1.7.10
- Update Crisp Android SDK
-
2.0.714 Oct 2024Release notes
Open source →- Added
getSessionIdentifierto get current session for Android only - Update Crisp Android SDK
2.0.3beta4to2.0.4 - Public APIs which were previously under
im.crisp.clientpackage are now underim.crisp.client.externalone!
- Added
-
2.0.626 Sep 2024 -
2.0.522 Sep 2024Release notes
Open source →- Updated iOS deprecated code
- Change iOS code style
- Updated AGP from
7.4.0to8.6.0
-
2.0.401 Sep 2024Release notes
Open source →- Added setSessionString method to set string session data.
- Added setSessionInt method to set integer session data.
Testing
FlutterCrispChat.setSessionString(key: "a_string", value: "string_value");FlutterCrispChat.setSessionInt(key: "a_number", value: 12345);
-
2.0.327 Jun 2024Release notes
Open source →Features
- added video game suggestion,
- added new messages alerts,
- sync compose, text area, operator, scroll and wait for reply and new messages alerts.
Fixes
- added missing markdown proguard rules,
- fixed #173 crash by asking permission on photo taking when embedding app declares using
CAMERApermission. If user denied it, next taps on this feature will show a dialog redirecting him to the app permission setting, - fixed attachment & loading dialogs color in Dark mode,
- fixed
SecurityExceptioncrashes on link touch due tofile://schemes or 3rd-party installed app set to open any link but not exporting their Activity... So added aUnable to open link. Check if an app, except you browser, is configured to open any link.toast when touched link cannot be opened, - fixed a markdown parsing crash when it is too complex (huge regex or obfuscated code) by simply not applying markdown on this case,
- fixed smileys horizontal alignment and ripple color on touch,
- fixed picker choice icon alpha when disabled,
- fixed a random audio player crash when released.
Dependencies
- updated AGP from
8.2.2to8.3.2.
Installation update
If your app declares a
FileProviderin itsAndroidManifest.xml, please add Crisp authority and path to it as follows as it is required for the file upload feature.AndroidManifest.xml<provider android:name="androidx.core.content.FileProvider" android:authorities="${applicationId}.fileprovider;${applicationId}.im.crisp.client.uploadfileprovider" android:exported="false" android:grantUriPermissions="true" tools:replace="android:authorities"> <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_paths" tools:replace="android:resource" /> </provider>res/xml/file_paths.xml<files-path name="crisp_sdk_attachments" path="im.crisp.client/attachments/" /> -
2.0.225 Apr 2024 -
2.0.121 Mar 2024 -
2.0.008 Mar 2024Release notes
Open source →- updated UI to match Web & iOS chat boxes
- added Take photo support
- added Customization plugin support
- added HelpDesk public APIs:
searchHelpDesk: opens help desk search, right away if the ChatActivity is running, on its next start otherwise,openHelpDeskArticle: views helpDesk article, right away if the ChatActivity is running, on its next start otherwise.
- added carousel message type support,
- added chat box behaviors:
- Operator privacy mode,
- MagicType,
- HelpDesk link & HelpDesk-only mode.
- added Request feedback,
- added
actionsupport forpickermessage type, - added required support for
field&pickermessage types, - added De-branding plugin support,
- added hardware keyboard support (
SHIFT+ENTERinserts a line break,ENTERonly sends the message), - updated localization.
- using
flexboxnow forpickermessage type, should fix choices list cutted, - using
glidenow for media loading, should fix NPE on GIF parsing, - synced
usermessages sent outside of the Android chat box, - fixed possibility to send empty messages/field value & trim sent ones,
- fixed
readstatus message duplicates, - fixed various not yet reported bugs & crashes.
- #4: Build fail due to crisp_chat dependency fixed.
-
1.0.029 Feb 2024Release notes
Open source →- Added Markdown support
- updated android crisp version
1.0.16to1.0.18 - Updated dependencies:
com.google.android.material:materialfrom1.9.0to1.10.0,androidx.media3:media3-exoplayerfrom1.1.0to1.1.1.
- Update Android SDK from API
33to34.
-
0.0.409 Oct 2023Release notes
Open source →- added user configuration option in crisp configuration
- updated android crisp version
1.0.14to1.0.16
-
0.0.315 Mar 2023 -
0.0.215 Mar 2023Release notes
Open source →- crisp chat add for native platform
- fixed iOS dependency not found
- fixed calling method
-
0.0.115 Mar 2023