PackageTrack
Sign in Get early access

flutter_contacts

Fast, complete contact management for Android, iOS & macOS — all fields, groups, accounts, vCards, native dialogs, listeners, SIM contacts, and number blocking.

2.3.1 218K downloads/mo #818 most downloaded on pub.dev QuisApp/flutter_contacts

What this package is like to depend on

Last release 25 days ago

29 Jul 2026

Ships unpredictably

gaps range from 9 days to 1.5 years

Nearly every release is documented

notes for 50 of 50 stable releases

Nothing withdrawn

no release was ever pulled

6 years old

55 releases · first in 2020

14 releases in the last 12 months

see the full history below

Release timeline

55 releases · Nov 2020 to Jul 2026
2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 55
  1. 2.3.1 29 Jul 2026
    Release notes

    Co-authored-by: Claude Fable 5 [email protected]

    Open source →
    Release notes
    • Fix showCreator() name prefill not displaying in some Android contact editors (e.g. Samsung) by passing Insert.NAME instead of a StructuredName row — thanks @CrashKiki for the fix (#241) and @Eunno-An for the report (#242).
    Open source →
  2. 2.3.0 17 Jul 2026
    Release notes

    Co-authored-by: Claude Fable 5 [email protected]

    Open source →
    Release notes
    • Android now returns the same contacts the system Contacts app displays, instead of filtering on IN_VISIBLE_GROUP = 1: contacts from sync adapters that don't mark them visible (e.g. MS365/Exchange) are included in getAll(), operations by ID work regardless of visibility, and filters matching no contacts return none instead of all (#240).
    • Fix showCreator() dropping the pre-filled photo on Android: the system editor ignores photos passed through the insert intent, so the photo is now applied to the contact after creation when the app holds WRITE_CONTACTS (#242).
    Open source →
  3. 2.2.2 14 Jun 2026
    Release notes
    • Update README.
    Open source →
  4. 2.2.1 05 Jun 2026
    Release notes
    • Fix name updates writing to the wrong raw contact on Android contacts with multiple raw contacts (e.g. Google + WhatsApp): the name is now updated in place on the raw contact that already holds it, instead of the raw contact with the most properties (#236).
    Open source →
  5. 2.2.0 24 May 2026
    Release notes
    • Round-trip unknown vCard properties via contact.extras (#21).
    • Migrate Android plugin to Built-in Kotlin; requires Flutter 3.44+ (#234).
    Open source →
  6. 2.1.0 23 May 2026
    Release notes
    • FlutterContacts.native.showPicker() now returns Contact? (with id and displayName always populated) and accepts a properties: set for additional fields. The picker itself remains permissionless on both platforms; on Android, requesting properties requires READ_CONTACTS and throws otherwise. Breaking: replace await …showPicker() with (await …showPicker())?.id (#232).
    • Dedupe phone numbers and emails returned by aggregated contacts on Android, keyed on normalized value + label (#229).
    Open source →
  7. 2.0.2 08 Apr 2026
    Release notes
    • Fix Flutter SDK path resolution for FVM and IDE sync compatibility

    The plugin's build.gradle assumed local.properties was always in
    rootProject.projectDir, which breaks under FVM setups and certain IDE
    sync scenarios where the working directory differs.

    Resolution now:

    1. Checks the flutter.sdk Gradle property (supports -Pflutter.sdk=)
    2. Walks up from project dir looking for local.properties
    3. Falls back to FLUTTER_ROOT environment variable

    This makes the plugin build reliably across normal Flutter, FVM, and
    IDE-triggered Gradle sync without requiring user workarounds.

    Co-Authored-By: Claude Opus 4.6 (1M context) [email protected]

    • Add rootProject lookup and flutter-root property for pub-cache compatibility

    When the plugin is resolved from ~/.pub-cache, walking up from
    project.projectDir cannot reach the host app's local.properties.
    Add rootProject.projectDir lookup and support for the flutter-root
    Gradle property (passed by Flutter tooling during builds) to cover
    this case.

    Co-Authored-By: Claude Opus 4.6 (1M context) [email protected]

    • Bump version to 2.0.2

    Co-Authored-By: Claude Opus 4.6 (1M context) [email protected]


    Co-authored-by: Claude Opus 4.6 (1M context) [email protected]

    Open source →
    Release notes
    • Fix Flutter SDK resolution for FVM and IDE sync compatibility (#227)
    Open source →
  8. 2.0.1 20 Mar 2026
    Release notes
    • Fix Android build failure from hardcoded Flutter SDK path (#223)
    Open source →
  9. 2.0.0 08 Mar 2026
    Release notes

    Release stable version 2.0.0, incorporating all changes from beta ver…

    Open source →
    Release notes
    • Stable 2.0 release. Includes all changes from 2.0.0-beta.1 through 2.0.0-beta.5.
    Open source →
  10. 2.0.0-beta.5 05 Mar 2026 pre-release
    Release notes
    • Relax Dart/Flutter version requirements
    • Fix for older Android versions without Settings.getDefaultAccount()
    Open source →
  11. 2.0.0-beta.4 05 Mar 2026 pre-release
    Release notes
    • Migrate to Swift Package Manager
    • Migrate to UISceneDelegate
    Open source →
  12. 2.0.0-beta.3 05 Mar 2026 pre-release
    Release notes
    • Fix for #214
    • Disable Swift Package Manager for example app
    Open source →
  13. 2.0.0-beta.2 22 Jan 2026 pre-release
    Release notes

    Expose Android identifiers and timestamp, refactor Android-specific f…

    Open source →
    Release notes
    • Expose Android identifiers and timestamp
    • Add androidLookup parameter to get()
    Open source →
  14. 2.0.0-beta.1 21 Jan 2026 pre-release
    Release notes
    • Complete rewrite with improved architecture and performance
    • Full support for Android, iOS, and macOS platforms
    • Added support for all contact fields including groups, accounts, and metadata
    • vCard import/export support (v2.1, v3.0, v4.0)
    • Native dialogs for contact creation, editing, viewing, and picking
    • Contact change listeners for real-time updates
    • SIM contacts support (Android)
    • Number blocking support (Android)
    • Ringtone management (Android)
    • Profile/Me card support
    • Bulk operations for creating, updating, and deleting contacts
    • Account-aware contact management
    Open source →
  15. 1.1.9 29 Jul 2024
    Release notes
    • Fix kotlin/android incompability issues with java 1.8 and java 17 (https://github.com/QuisApp/flutter_contacts/issues/142, https://github.com/QuisApp/flutter_contacts/issues/147, https://github.com/QuisApp/flutter_contacts/issues/158, https://github.com/QuisApp/flutter_contacts/issues/169, https://github.com/QuisApp/flutter_contacts/pull/170) - thanks to Valent1, Hirohumi, himsarevenus, PcolBP, and other contributors
    • Fix openExternalInsert() crash - thanks rahulraj-idt
    Open source →
  16. 1.1.9+1 31 Jul 2024
    Release notes
    • Fix openExternalInsert returning null on android (https://github.com/QuisApp/flutter_contacts/issues/100, https://github.com/QuisApp/flutter_contacts/issues/161)
    Open source →
  17. 1.1.9+2 05 Aug 2024
    Release notes
    • Fix wrong namespace on android (https://github.com/QuisApp/flutter_contacts/issues/171) - thanks mattmapadmi
    Open source →
  18. 1.1.8 27 May 2024
    Release notes
    • Upgrade gradle, add null-safety in example_full.
    Open source →
  19. 1.1.7 15 Jul 2023
    Release notes
    • Add feature to pre-populate fields in openExternalInsert() - thanks sakchhams
    • Fix openExternalView and openExternalEdit on iOS (https://github.com/QuisApp/flutter_contacts/issues/91, https://github.com/QuisApp/flutter_contacts/issues/70)
    • Support Gradle 8 (https://github.com/QuisApp/flutter_contacts/issues/123)
    • Fix fetching notes on iOS - thanks starshipcoder and yassinsameh
    • Fix bug with address label default on iOS - thanks MohamedAl-Kainai and yassinsameh
    Open source →
  20. 1.1.7+1 29 Jul 2023
    Release notes
    • Fix for AGP <4.2 (https://github.com/QuisApp/flutter_contacts/issues/127) - thanks trfiladelfo
    Open source →
  21. 1.1.6 10 Feb 2023
    Release notes
    • Update kotlin/gradle versions (https://github.com/QuisApp/flutter_contacts/issues/69)
    Open source →
  22. 1.1.5 22 Jun 2022
    Release notes
    • Edit groups (iOS) / labels (Android) and group/label membership
    Open source →
  23. 1.1.5+1 29 Oct 2022
    Release notes
    • Fix null pointer error (https://github.com/QuisApp/flutter_contacts/pull/71 - thanks anggrayudi)
    • Update README
    Open source →
  24. 1.1.4 01 May 2022
    Release notes
    • Fix gradle compile error (https://github.com/QuisApp/flutter_contacts/issues/49)
    Open source →
  25. 1.1.3 22 Feb 2022
    Release notes
    • Fix social media custom label bug (https://github.com/QuisApp/flutter_contacts/issues/42)
    Open source →
  26. 1.1.2 27 Dec 2021
    Release notes
    • Read/write starred contacts on Android (https://github.com/QuisApp/flutter_contacts/issues/37)
    • Fix vCard photo encoding (https://github.com/QuisApp/flutter_contacts/issues/34)
    Open source →
  27. 1.1.1 09 Sep 2021
    Release notes
    • Fetch groups (iOS) / labels (Android) and containers (iOS) / accounts (Android) (https://github.com/QuisApp/flutter_contacts/issues/29)
    • Ability to request read-only permissions (https://github.com/QuisApp/flutter_contacts/issues/25)
    Open source →
  28. 1.1.1+1 09 Sep 2021
    Release notes
    • Update README
    Open source →
  29. 1.1.1+2 10 Sep 2021
    Release notes
    • Update comments
    Open source →
  30. 1.1.0 10 May 2021
    Release notes
    • Add ability to open external contact app to view, edit, pick or insert contacts (https://github.com/QuisApp/flutter_contacts/issues/16)
    Open source →
  31. 1.1.0+1 30 May 2021
    Release notes
    • Fix a diacritics bug
    Open source →
  32. 1.1.0+2 30 May 2021
    Release notes
    • Fix hashCode and ==
    Open source →
  33. 1.1.0+3 30 May 2021
    Release notes
    • Fix withThumbnail on iOS
    Open source →
  34. 1.1.0+4 05 Sep 2021
    Release notes
    • Load rawContact instead of contactId after update, since Android sometimes changes the contactId
    Open source →
  35. 1.0.0 11 Apr 2021
    Release notes
    • Stable release 🎉
    • Follow-up fix for https://github.com/QuisApp/flutter_contacts/issues/9
    • Fix https://github.com/QuisApp/flutter_contacts/issues/14
    Open source →
  36. 1.0.0+1 02 May 2021
    Release notes
    • Fix for permission handler on Android (https://github.com/QuisApp/flutter_contacts/pull/17) - thanks @scroollocker
    • Fix type cast error on iOS 14.5 (https://github.com/QuisApp/flutter_contacts/issues/19) - thanks @jadasi
    Open source →
  37. 0.3.3 03 Mar 2021
    Release notes
    • Fix lint warning
    Open source →
  38. 0.3.3+1 18 Mar 2021
    Release notes
    • Fix https://github.com/QuisApp/flutter_contacts/issues/9
    Open source →
  39. 0.3.2 03 Mar 2021
    Release notes
    • Remove unused dependency
    Open source →
  40. 0.3.1 03 Mar 2021
    Release notes
    • Change Dart SDK version requirements
    Open source →
  41. 0.3.0 03 Mar 2021
    Release notes
    • Migrated to null-safety
    Open source →
  42. 0.2.2 01 Mar 2021
    Release notes
    • Support for requesting permissions
    • Option to return non-visible contacts on Android and raw contacts on Android/iOS (https://github.com/QuisApp/flutter_contacts/issues/5)
    Open source →
  43. 0.2.1 27 Feb 2021
    Release notes
    • Format
    Open source →
  44. 0.2.0 24 Feb 2021
    Release notes
    • Not backward compatible!
    • Photo and thumbnail are now distinct fields
    • Event.date is now Event.year, Event.month, Event.day
    • Convenience methods contact.insert(), contact.update(), contact.delete()
    • Much more advanced vCard parsing and exporting (to version 3.0 and 4.0)
    • We can now add multiple listeners
    • Removed dependencies to build_runner and json_serializable
    • Implemented toString(), hashCode and operator== for contact and properties
    • Support for notes on iOS13+ by setting FlutterContacts.config.includeNotesOnIos13AndAbove = true
    • Added tests
    Open source →
  45. 0.1.3 15 Feb 2021
    Release notes
    • Remove extra print statements
    Open source →
  46. 0.1.2 14 Feb 2021
    Release notes
    • Properly delete events on iOS (https://github.com/QuisApp/flutter_contacts/issues/2)
    Open source →
  47. 0.1.1 14 Feb 2021
    Release notes
    • Fix date serialization on Android (https://github.com/QuisApp/flutter_contacts/issues/2)
    Open source →
  48. 0.1.0 14 Feb 2021
    Release notes
    • Support for vCard parsing and exporting
    • Add pedantic static analyzer
    • Make default values non-const so they can be mutated
    • Add tests
    • Update dependencies
    • Deduplicate events
    • Rename socialMedia.dart -> social_media.dart
    Open source →
  49. 0.0.7 04 Jan 2021
    Release notes
    • Bug fix with normalized phone number
    Open source →
  50. 0.0.6 31 Dec 2020
    Release notes
    • Added normalized phone numbers (android only)
    • Deduplicate phone numbers and emails by default
    Open source →
  51. 0.0.5 19 Dec 2020
    Release notes
    • Improved README and dartdoc.
    • Added option to getFullContacts() with high-res photos.
    • Fixed bug on iOS where low-res photos were fetched instead of high-res and vice-versa.
    • Better Kotlin null safety.
    Open source →
  52. 0.0.4 04 Dec 2020
    Release notes
    • newContact() now returns the full contact instead of ID / raw ID.
    Open source →
  53. 0.0.3 24 Nov 2020
    Release notes
    • Fix README typos.
    Open source →
  54. 0.0.2 24 Nov 2020
    Release notes
    • Fix support for iOS.
    Open source →
  55. 0.0.1 24 Nov 2020
    Release notes
    • Initial release.
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive