What's New
The latest updates, features, and fixes across all Cradle apps.
March 2026
Desktopv26.0.112 Mar 2026
Features
- Mobile destination for transfers and conferences — cold transfer, warm transfer, or add a teammate to a call on their mobile phone instead of just the Cradle app
- Redesigned icon system — unified Indigo icon family with distinct silhouettes for contacts, teammates (two people), groups (three people), unknown numbers (?), and companies (building)
- Presence dot indicator on teammate icons — coloured dot shows availability at a glance without clashing ring overlays
- Inline mobile phone indicator — small icon next to presence text shows when a teammate has a mobile number
- Admin-only users greyed out across all lists to prevent accidental call attempts
- SMS messaging — send and receive text messages directly from the app, with threaded conversations, compose flow, and unread badges
- WhatsApp messaging — send and receive WhatsApp messages with 24-hour session window handling
- SMS and WhatsApp channel switching within conversations
- Call detail page — tap a call log entry to slide in a full detail view with contact info, CRM links, call/message buttons, status, histories, recording, and feedback
- Redesigned in-call UI with rounded-square buttons and improved conference UX
- Cold and warm transfer improvements with gated controls and disclosure chevrons
- NANP phone number resolution — US and Canadian numbers now show city and state (e.g. "Fort Lauderdale, FL") instead of just "US Phone"
- Improved phone number descriptions for all regions — AU, NZ, UK numbers show area-level detail without label duplication
- New inline SVG status icons on call log and call detail — colour-coded arrows showing call direction and outcome at a glance
- Interactive 14-step app tour with real mock call/transfer screens — relaunch anytime from Settings > Advanced
- Tour presence management — automatically sets Busy during tour, restores availability on finish, 15-minute idle timeout
- "Take a Tour" and "What's New" buttons in Settings > Advanced
- Advanced section in Settings — includes Check for Updates, Enrol in Beta, Refresh MS Teams Sync, Clear Contacts, Run Diagnostics, Logout and Clear Data, Reset App
- Unified app header with integrated search, brand wordmark, and tab-specific actions
- Number type descriptions on SMS thread list for unmatched contacts
- CalVer versioning — version now reflects the release year
Fixes
- Fix auto-update cross-channel bug — CradleStable was picking up CradleLatest versions; electron-updater now correctly resolves each channel's update metadata
- Fix CradleLatest auto-updates by publishing GitHub Releases as full releases instead of prereleases
- Switch mobile phone number management to dedicated PUT/DELETE API endpoints instead of sending the full user object
- Fix in-call team icon showing outdated yellow circle — now uses white double-person icon matching the new icon system
- Fix in-call and call detail company icon not matching call log style
- Fix enriched call info height constraint cutting off contact rows
- Fix transfer slideout back button closing the entire panel instead of returning to the teammate list
- Fix blind transfer option not appearing for mobile-only users
- Fix transfer recipient not detected when they never joined the conference
- Fix nav tab bar overlaying in-call, incoming call, and wrapping-up screens
- Fix wrapping-up "finish early" button positioning off-screen
- Fix call feedback component — replace broken GIF animations with clean confirmation overlays, modernise thumbs and reason pill UI
- Fix CallDetailPage crash caused by undefined TimeIcon and HistoryIcon references
- Fix "NZ Mobile Mobile" and "AU Mobile Mobile" duplication in phone number descriptions
- Fix call detail page showing undefined fields — pass populated conversation props from CallLogRow instead of raw data
- Fix incoming call button text not centred
- Fix enriched call row icon alignment with contact match rows
- Fix audio button showing text label instead of tooltip on transfer screen
- Fix login overwriting existing Cradle name with empty OAuth response
- Fix optimistic pendingTransferType state in InCallContainer
- Fix cold transfer originator buttons and snapshot conference for wrap-up
- Fix HubSpot Add Contact dialog not showing on call detail screen (PB-853)
- Fix v26 beta bugs: text overflow, AU numbers, messaging UX
- Solid call and message button icons across all screens for visual consistency
- Mobile phone indicator in transfer teammate list — shows which teammates have a mobile number
February 2026
Desktopv3.10.423 Feb 2026
Features
- "Refresh MS Teams Sync" option in Help menu — manually re-establishes the MS Teams presence webhook subscription, with automatic cleanup of stale subscriptions and clear user feedback
Fixes
- Fix MS Teams inbound presence sync not working after v3.10.2 — settings were read from the wrong Firestore document path (top-level user doc instead of `settings/desktop` subcollection)
- Fix presence reducer overwriting MS Teams sync flag in localStorage with `false` on every presence snapshot
- Fix MS Teams subscription not reacting to setting changes — now reads from Redux state instead of stale localStorage, and re-subscribes automatically when the setting is toggled
- Fix leaked interval in MS Teams subscription renewal timer
Desktopv3.10.319 Feb 2026
Features
- "Use Jabra headset ringer only" toggle in audio settings — route ring audio exclusively through the headset
- Device mismatch detection — warns when the selected audio device doesn't match the connected headset
- Jabra Bluetooth connectivity warning — notifies when a Jabra headset is connected via USB only and may not have a Bluetooth audio path
- Unified in-app notification system for headset and audio alerts
- OS-level microphone permission detection — shows an in-app notification with a link to system privacy settings when mic access is denied
- "Open mic settings" button works on both macOS (triggers native prompt or opens System Settings) and Windows (opens Privacy settings)
- "Clear Contact Data and Redownload" option in Help menu — clears cached contacts and re-syncs from the server without logging out
- "Reset App" option in Help menu — removes all cached data, settings, and login info, then restarts the app
Improvements
- Silent updates on Windows — app updates now install without UAC prompts using a pre-authorized scheduled task
- Exit-triggered installs (autoInstallOnAppQuit) also route through the silent scheduled task on Windows
- Removed "Enrol in Beta" menu item for Microsoft Store builds
- "Check for Updates" now redirects to the Microsoft Store listing page for Store builds
- Microphone permission is re-checked on window focus to detect revocation while the app is backgrounded
Fixes
- Fix Jabra headset ringing indefinitely after unanswered incoming calls
- Restore Twilio ringtone automatically when Jabra headset is unplugged
- Skip wired-only Jabra Evolve models from Bluetooth-capable device detection
- Add async Bluetooth profile verification for Jabra devices
- Fix duplicate identifier error in CradleInAppNotification component
- Fix Windows microphone permission detection — navigator.permissions.query and getUserMedia do not reflect the OS-level privacy toggle in Electron; now uses systemPreferences.getMediaAccessStatus
- Catch Twilio "Permission denied by system" errors and surface mic-denied notification instead of a generic audio error
- Fix crash when electron-store JSON file is corrupted by power loss or forced kill (DESKTOP-A32) — corrupted files are now backed up and the store is reset automatically
- Fix unhandled rejection during Firebase token refresh on sign-in (DESKTOP-A30) — token refresh now retries silently in the background instead of throwing
- Fix beta enrollment not actually switching the update channel
Desktopv3.10.217 Feb 2026
Fixes
- Fix transfer recipients destroying active conferences when transferor returns to caller before they answer
- Fix failed/declined transfers not automatically returning to caller (caller was left on hold)
- Fix recipient UI briefly flashing originator buttons when answering a transfer
- Fix warm transferring a previously-transferred call showing broken mashup UI (user stuck with no usable buttons)
- Fix conference creation not sending first participant in request body
Desktopv3.10.16 Feb 2026
Features
- New Warm and Cold transfer! We've rebuilt warm transfer (now called cold transfer) and introduced warm transfer. See our release email for more details.
- Join the beta program to get early access to new features, enrol via the help menu.
- Improved app updating experience.
- Version, update channel, and install type displayed in Settings > Profile
Fixes
- Fix cold/warm transfer bugs: ringing transferees removed correctly, hold disabled during active transfers, failed join detection
- Update notification no longer shows "no updates available" on startup (manual check only)
- Remove old inline update notification bar from call screen
Maintenance
- Automated CI/CD build pipeline for all environments (alpha, stable, latest, production, beta)
- Build versions use 8-char commit hash for traceability (e.g. 3.10.1-alpha.517160f4)
- Clean versioning: package.json holds X.Y.Z, workflows append channel + hash
- Dependency upgrades and dead code removal
December 2025
Desktopv3.10.016 Dec 2025
Features
- Cold transfer support
- App window sizing improvements
Fixes
- General bug fixes for call handling
July 2025
iOSv2.1.1024 Jul 2025
Changed
- Updated contact loading logic for CNContacts
Desktopv3.9.718 Jul 2025
Features
- Microsoft Teams presence sync moved to desktop settings
- Scrollable transfer list for large team directories
Fixes
- Cold transfer and window sizing bug fixes
- MS Teams sync flag fix
- Minimum window height updated to 716px
June 2025
iOSv2.1.729 Jun 2025
Fixed
- App crash caused by outdated library dependencies
November 2024
iOSv2.1.313 Nov 2024
Fixed
- App crash affecting some users
July 2024
iOSv2.1.29 Jul 2024
Fixed
- Crash on first-installed users
- Contact detail and Firebase data handling improvements
- Updated error messages for clearer user feedback
April 2024
Desktopv3.6.010 Apr 2024
Features
- Conference calling improvements: non-creator agents can add and remove participants
- Improved incoming call answer speed
Fixes
- Remove conference participants that have left the call
- Conference calling crash fix when creating with non-contact phone numbers
- DTMF tone fixes when transfer list or add person panel is shown
Maintenance
- General performance improvements
- Dependency updates and build script updates
February 2024
Desktopv3.5.913 Feb 2024
Fixes
- Conference participant cleanup: removed participants now removed for all agents
- Fix for agent unable to add participants after another agent creates conference
January 2024
iOSv2.0.1425 Jan 2024
Added
- Enriched call data overlay showing contact owner, lifecycle stage, last call info, and routing scheme
- Wrap-up presence status for post-call workflows
- "Talking with Cradle" indicator shown when keypad is displayed
Changed
- Swapped mute and keypad button positions on the in-call screen
- Updated default country code font to regular weight
Fixed
- Recording button and keypad behaviour on team calls
- Enriched call data padding, background, and "last spoke" display
- Push presence view navigation bar layout
- Country code selector not displaying full-screen
- Keypad UI and enriched call language display
- Recording logic during calls
Desktopv3.5.719 Jan 2024
Fixes
- Fix slow incoming calls
- Improved Sentry tooling and source map integration
Desktopv3.5.511 Jan 2024
Fixes
- Smaller, less intrusive ringing tone
- Incoming call reliability improvements
October 2023
Desktopv3.5.231 Oct 2023
Fixes
- Contact ordering and priority fixes
- UI polish and stability improvements
Desktopv3.5.012 Oct 2023
Features
- Conference calling: create, join, and manage multi-party calls
- Conference participant controls: add, remove, and mute participants
- Conference call recording
- Conference call log entries
- Incoming conference call support with dedicated UI
- Updated outgoing call sound
Fixes
- Contact matching on conference in-call screen
- Hold button disabled during conference to prevent state issues
Maintenance
- Keytar removed, replaced with electron-store encryption
- Jabra headset initialisation improvements
- Yarn package manager migration
- React 18 upgrade
- Sentry Electron SDK update
- Electron React Boilerplate packaging fixes
June 2023
Desktopv3.4.523 Jun 2023
Features
- XPM (Xero Practice Manager) contact type support
- Outgoing enriched caller ID
Fixes
- In-call display fixes for Xero contacts
Desktopv3.4.414 Jun 2023
Fixes
- Enriched caller ID retained after unanswered call
- Electron 20 upgrade preparation
Desktopv3.4.312 Jun 2023
Fixes
- Enriched call data retained after headset answer
- Increased contact sync timeout to 3000ms
May 2023
Desktopv3.4.217 May 2023
Features
- Call wrapup: configurable wrapup timer after call ends
- Wrapup presence management: automatic status during wrapup period
- Wrapup support for blind and warm transfers
Fixes
- Reset enriched data after warm transfer
- Wrapup timer duplication prevention
- Empty transfer list fix during wrapup
Desktopv3.4.19 May 2023
Fixes
- macOS-specific release fixes
October 2022
Desktopv3.2.012 Oct 2022
Features
- Enriched call info UI: display CRM contact data during calls
- Team call enriched data display
- Contact owner presence indicator
- HubSpot integration icon and contact matching
Fixes
- Transfer options view improvements
- Hold and transfer page flash fix
- Enriched call background and layout polish
July 2022
Desktopv3.1.127 Jul 2022
Fixes
- Headset not released after blind transfer
- Headset auto-reject issue after call connected
- LogRocket release version tracking
Desktopv3.1.06 Jul 2022
Features
- Audio settings improvements
- Idle time detection
- Audio keyboard shortcuts
Fixes
- Headset button event reliability
- Jabra headset delay on call answer
Maintenance
- Dependency updates
May 2022
Desktopv3.0.627 May 2022
Fixes
- Offline detection fix
- Secondary session detection improvements
Desktopv3.0.211 May 2022
Fixes
- Windows not-quit during active call
- HubSpot add contact fix
- Windows EXE uninstaller now cleans up files and settings
Maintenance
- Electron builder update to 23.0.9
- APPX (Windows Store) build support
April 2022
Desktopv3.0.129 Apr 2022
Features
- Warm transfer support
- Jabra headset button integration: answer, reject, mute, hold
- Developer console accessible via Cmd+Opt+I (macOS) / Ctrl+Shift+I (Windows)
Fixes
- Headset properly released at end of call
- Transfer list autofocus fix
- Windows button layout fix
Maintenance
- Jabra SDK upgrade to jabra-js
- Build scripts for macOS, Windows, and Linux publishing
January 2022
iOSv2.0.1128 Jan 2022
Changed
- Device automatically unregistered when user has a mobile number set
November 2021
iOSv2.0.1019 Nov 2021
Added
- Send-to-mobile call routing (calls forwarded to mobile when number is configured)
- iOS 13+ navigation bar appearance support across all tabs
Changed
- Dial pad layout adjustments for various screen sizes
- Audio device handling improved for safer input/output detection
August 2021
Desktopv3.0.013 Aug 2021
Features
- Complete application rewrite on Electron React Boilerplate
- TypeScript migration (main process)
- Redux Toolkit state management
- Electron Store via IPC (replacing localStorage)
- Firebase v8 integration
- Sentry error monitoring and performance tracking
- tel:// and callto:// URL protocol handling
- System tray menu with status controls
- Idle detection and automatic refresh
- Linux platform support
- macOS notarization
Maintenance
- Electron 11 upgrade
- New build and packaging system
- Two-package.json project structure
April 2021
iOSv2.0.622 Apr 2021
Added
- DTMF digit display label showing what the user types during a call
- 5G network type indicator for iOS 14+
Changed
- In-call page background colour updated
Fixed
- Firestore crash during presence updates
- Post-call crash
- Incoming call background logo stretching
- User stuck in "On a Call" status when internet connection lost mid-call
March 2021
iOSv2.0.331 Mar 2021
Added
- Full UI rebrand with updated colours, icons, typography (Euclid font), and tab bar layout
- SVG presence indicators throughout the app
- Settings tab added to the main tab bar
- Updated country flag assets
- New CallKit in-call logo
Changed
- "Login with G Suite" renamed to "Login with Google"
- Tab bar spacing corrected so Keypad is centred
- Presence dot colours updated to match new design system
- Transfer icon, Bluetooth icon, and "Currently Talking" icon redesigned
- Status bar set to white across all screens
- Call log tab title changed from "Call Log" to "Calls"
- In-call page keypad repositioned
- Hang-up button replaced with new design
Fixed
- Roles with names shorter than 3 characters causing a crash
- Company icon not displaying on the Calls tab (was showing contact icon)
- Presence options not rendering correctly (e.g. "On a Call" showing blank instead of red)
- Search bar styling and navigation bar title font
- Geolocation colour indicator
- Contact profile image sizing on the feedback screen
- Footer font consistency
February 2021
iOSv1.12.119 Feb 2021
Changed
- Updated Twilio Voice SDK to 6.2.0 and adapted to its API changes
- UX refinements to various screens
November 2020
iOSv1.12.625 Nov 2020
Added
- HubSpot contact link: tapping a contact name during a call opens their CRM profile (both normal and transfer calls)
- HubSpot icon in conversation detail view
- Permission management cell added to the Settings page
- Organisation contacts displayed even when the user has not granted system contacts permission
Changed
- Audio device label updated from "iPhone Microphone" to "iPhone"
- Speaker label text updated for clarity
- "To From" header changed to lowercase "to from" for consistency
- Removed launch animation for faster app startup
Fixed
- Callback incorrectly enabled for team members without a user ID
- Speaker icon flickering during calls
- Extra blank line appearing in conversation detail view
- Permission page close-button display logic
- Presence status preserved after ending a call (no longer resets unexpectedly)
October 2020
iOSv1.12.121 Oct 2020
Changed
- Updated Twilio Voice SDK to 6.0 and adapted to Sentry API changes
- Minimum deployment target raised to iOS 12
- Updated app icons
Fixed
- iPad crash when initiating a transfer
- Outgoing call display name resolution
- Inability to make calls through the system call log
- Team call callback via system call log
September 2019
iOSv1.11.x5 Sept 2019
Added
- Call recording playback: listen to recordings directly within the conversation detail page with play, pause, and seek controls
- Recording status indicator showing whether the current user's calls are being recorded
- Voicemail icon in conversation detail view
- Call-on-hold functionality (DTMF in-app and CallKit)
- Full-screen contact action sheet
- Dark mode support for the transfer list
Changed
- Updated Twilio Voice SDK to 5.0
- Enabled Bitcode for App Store optimisation
- Updated PhoneNumberKit library
- Enforced light mode styling across the app
- Deprecated `INStartAudioCallIntent` replaced for iOS 13 compatibility
- Xcode 10 build settings updated for iOS 13 target
Fixed
- DTMF tones not working in-app and on the CallKit page
- Crash caused by updating UI on background threads
- Call failures on iOS 11.2
- GSM call failures after a VoIP call
- App stuck in "On a Call" status when terminated mid-call (now correctly resets to Available)
- Crash on new user sign-up
- Audio silent-mode bug where calls had no voice output
- Contact not matched in conversation page when using local national format
- On-a-call presence check before setting status to Available
August 2019
iOSv1.10.030 Aug 2019
Fixed
- Search crash in the contacts and call log tabs
April 2019
iOSv1.9.x10 Apr 2019
Added
- HubSpot contact integration: add, edit, and view HubSpot contacts from within the app
- "Open in HubSpot" action with HubSpot branding
- Multiple contact match logic when a phone number belongs to more than one contact (shows "X and X others")
- Conversation detail page with full call history per contact
- Company icon displayed in the conversation list
- Email field for adding new HubSpot contacts
- Opus and PCMU audio codec support for improved call quality
Changed
- Updated Twilio Voice SDK to 3.1.0 (and later 3.0.0)
- Migrated from Swift 3 to Swift 4
- Help URL updated
- Disabled large navigation titles
- Improved conversation tab performance
- Conversation detail page redesigned with richer information
Fixed
- Contact sync failures
- Search crash in contacts
- Empty conversation not updating without relaunching the app
- Stuck "On a Call" status when tapping answer and cancel simultaneously
- Phone number resolution issues
- Conversation page showing extra text on empty state
- Flash when adding a normal HubSpot contact
- Call log flash on update
Removed
- Intercom live support chat (replaced with help URL)
June 2018
iOSv1.5.x12 Jun 2018
Added
- Smart Presence (geofencing): automatically update your presence based on office location
- Sentry error reporting with authenticated user context
- iPad support (basic UI compatibility)
Changed
- Upgraded Microsoft authentication library from 3.0 to 4.0
- Migrated contact database to GRDB for improved performance
- Presence no longer overridden to Available on token refresh
Removed
- Notification and toast alerts for geofencing events
- Notification section from the permission page
December 2017
iOSv1.4.x12 Dec 2017
Added
- Custom ringtone selection in Settings with checkmark indicator
- Blind transfer support alongside warm transfer
- Call connected confirmation sound for incoming calls
- iPhone X UI support: adjusted layouts for notch, launch images, and safe areas
- Swipe-back gesture on contact detail, call detail, help, and privacy policy screens
- Intercom event tracking with WiFi SSID, network type, and call SID
- Firestore integration for real-time presence data with `updatedBy` field
- Cache contact loading for offline use and improved performance
- New presence status options with real-time colour indicators
Changed
- Settings page redesigned: combined privacy policy and terms of service, updated help guide link
- Moved Intercom support from the old location to the Settings tab
- Call duration display changed from seconds to minutes
- Date format standardised to ISO 8601 (`yyyy-MM-ddTHH:mm:ss+hh:mm`)
- Tab layout reordered: Team tab and Settings tab swapped
- Transfer alert text updated
- Connected music now plays without a 2-second delay
- Splash screen and call animations resized for iPhone X
Fixed
- Microsoft 365 login failure caused by OAuth2 WebViewController
- "Stuck on a call" presence status not clearing
- Rating view dim-screen and constraint issues on iPhone X
- Navigation bar covering empty ghost element on the Recent tab
- Large title animation glitch on first launch
- Weird tab bar animation when swiping back
- Network check added before placing client calls
- In-call keyboard position on iPhone 7 Plus
- Search result controller display issues
iOSv1.3.012 Dec 2017
Added
- Real-time presence system powered by Firestore
- Separate Firebase projects for production and development environments
Changed
- Team icon colour changed from orange to blue
- "Offline" status renamed to "Invisible"
- Presence dot size increased from 12px to 22px in Settings
Fixed
- Presence dot colour disappearing when selected
- Call log contact image rendering issues
- Call log contact detail image not displaying
- Recent tab time label flashing when presence updates
- Call log limited to 50 records to improve scroll performance
- Contact loading moved to background thread for smoother UI
September 2017
iOSv1.2.x12 Sept 2017
Added
- Team tab showing organisation members with roles
- Transfer list with alphabetical ordering (shows email if name is unavailable)
- Forbidden transfer indicator for client calls
- Country code selector with manual default country code option
- Contact search by name across all tabs
- Add new contact from the dial pad
- Permission detail page explaining microphone and contacts access
- Call rejection logic: second incoming call auto-rejected when already on a call
- Rating view after calls for quality feedback
- Missed call highlighting in the call log
- Missed call badge and lock-screen notifications
- iOS 11 CallKit icon
Changed
- Localisation updated to English, Simplified Chinese, and Traditional Chinese
- Date format follows device system settings
- Search rules improved for contacts and call log
- Database migrated to use system contacts with lazy-loading arrays
- Call log begin time now shows full timestamp (previously only minutes)
- Client name parsing improved in call log entries
- Intercom registration deferred until the user has an organisation
- Phone number formatting changed to readable international format
Fixed
- Speaker staying on after call ends
- Dial pad not clearing after a call
- Transfer list display issues
- Search crash in contacts and call log (index out of range)
- Incoming call issues with new Twilio API
- Cancelled call records in system call log
- Strange/invalid phone numbers handled gracefully with special display text
- Call log flash on update
Removed
- Dial pad number outline (per design confirmation)
June 2017
iOSv1.1.x27 Jun 2017
Added
- Call transfer: warm transfer between team members with transfer list UI
- Call hold functionality
- Microsoft 365 login support alongside Google sign-in
- Mute from the lock screen via CallKit
- Intercom integration for in-app support and event tracking
- Permission alerts for microphone and notifications with explanatory prompts
- Presence API integration with status indicators
- Tutorial/onboarding flow (reduced to single page)
- Country code detection from IP address
- Animated splash screen and call transitions
- Rating view for post-call feedback (scoring with comment)
- New contact detail page design
Changed
- Migrated to Swift 3.0 with CallKit support
- Updated Twilio SDK (multiple iterations through beta releases)
- Login page redesigned with Microsoft 365 and Google options
- Dial button, search bar, and incoming call background updated
- Rating view text changed ("Pretty Good" to "Good")
- Version numbering standardised (1.0 to 1.1)
- Ringtone replaced with new default
- Google authentication token cached for faster login
Fixed
- Bluetooth audio device switching (works between BLE devices, known limitation switching to wired headphones)
- Incoming call page auto-dismissing
- Contact detail "show more" opening add-new-contact instead of detail view
- Crash when adding a new contact from the Contacts tab
- Token expiry handling for both Google and Microsoft accounts
- Incoming page not dismissing when the other agent hangs up during transfer
- Call status not resetting properly
- Various small-screen (iPhone SE) layout constraint issues
Earlier releases
iOSvUnreleased
Added
- Team page redesigned with 4 sub-tabs (My Team, Groups, Contacts, Companies)
- Xcode Cloud CI/CD pipeline for automatic TestFlight releases
- Encrypted configuration for secure CI builds
- Sentry error capture for critical error paths
- Network retry logic with exponential backoff for unstable connections
- Keychain storage for sensitive authentication tokens
- Secure configuration management replacing hardcoded credentials
- Country detection via Cradle verify endpoint
Changed
- Migrated from MagicalRecord to native Core Data
- Upgraded Alamofire from 4.8.2 to 5.9
- Replaced SwiftGifOrigin with SwiftyGif
- Updated Swift language version from 4.2 to 5.0
- Replaced deprecated UIWebView with WKWebView
- Replaced force-tries and force unwraps with safe error handling throughout the codebase
- Migrated HTTP endpoints to HTTPS
- Updated Xcode project for Xcode 16 compatibility
- Disabled iOS 26 Liquid Glass effect on tab bar
- Reduced main tab bar from 5 to 4 tabs
Fixed
- N+1 database queries in contacts manager causing performance issues
- Tab bar icons and appearance on iOS 15+
- Compiler warnings across the codebase
- Call log display reliability
- Country code parsing for the Cradle verify endpoint
- Timer retain cycles in login service
- DialPad keyWindow deprecation warning
Removed
- SVProgressHUD dependency
- MagicalRecord dependency
- Sensitive token logging from production builds
- Console logging to Documents directory
Security
- Enforced App Transport Security across all network requests
- Moved OAuth client IDs from hardcoded values to secure configuration
- Moved sensitive tokens from UserDefaults to Keychain
- Fixed Firebase closure retain cycles with weak references