NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #1016 most downloaded on pub.dev
A flutter package to select a country from a list of countries.
Last release 3 months ago
10 Jun 2026
Ships unpredictably
gaps range from 2 weeks to 1.6 years
Nearly every release is documented
notes for 40 of 40 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
40 releases · first in 2020
One column per quarter.
Fixed getFromPhoneCode failing when multiple countries share the same phone code.
getFromPhoneCode failing when multiple countries share the same phone code.header. Custom list header above search bar
showCountryPicker(
context: context,
header: Padding(
padding: const EdgeInsets.only(top: 10.0, bottom: 10.0, left: 20.0, right: 20.0),
child: const Text(
'Select your country',
style: TextStyle(
fontSize: 22,
fontWeight: FontWeight.bold,
),
),
),
onSelect: (Country country) {
print('Select country: ${country.displayName}');
},
);showCountryPicker(
context: context,
showDragHandle: true,
onSelect: (Country country) {
print('Select country: ${country.displayName}');
},
);Add support for Persian (FA) localization
findByPhoneCode: Returns a single country if it matches the given phone code.
var austria =CountryService().findByPhoneCode("43");Add moveAlongWithKeyboard : An optionalargument can be used to move bottomSheet along with keyboard when textfield is focused. It could be useful when
moveAlongWithKeyboard: An optionalargument can be used to move bottomSheet along with keyboard when textfield is focused. It could be useful when bottomSheet height is smaller than half of the screen. Otherwise it shouldn't be set. It has a default value of false.
showCountryPicker(
context: context,
moveAlongWithKeyboard: true,
countryListTheme: CountryListThemeData(
bottomSheetHeight: 500,
),
onSelect: (Country country) => print('Select country: ${country.displayName}'),
);Add support for Haitian Creole (HT) localization
Add option for bottom sheet Width.
showCountryPicker(
context: context,
countryListTheme: CountryListThemeData(
bottomSheetWidth: 500, // Optional. Country list modal Width
),
onSelect: (Country country) => print('Select country: ${country.displayName}'),
);emojiFontFamilyFallbackIn this version: Export CustomFlagBuilder Add parameter useRootNavigator
CustomFlagBuilderuseRootNavigatorAdd support for Czech localization
Add support for Korean localization
Add support for Italian localization
Add support for Dutch localization
parsePhoneCode and tryParsePhoneCodeRemoved old country codes for Kosovo (+381 & +386)
Add option to hide search bar `Dart showCountryPicker( context: context, showSearch: false, onSelect: (Country country) => print('Select country: ${co
showCountryPicker(
context: context,
showSearch: false,
onSelect: (Country country) => print('Select country: ${country.displayName}'),
);
searchTextStyle showCountryPicker(
context: context,
countryListTheme: CountryListThemeData(
searchTextStyle: TextStyle( // Optional. Styles the text in the search field
color: Colors.blue,
fontSize: 18,
),
),
onSelect: (Country country) => print('Select country: ${country.displayName}'),
);
worldwide.png and changed to '🌍' emojiAdd support for Latvian localization
Add support for German localization
favorite option.
showCountryPicker(
context: context,
favorite: <String>['SE', 'MC'],
onSelect: (Country country) {
print('Select country: ${country.displayName}');
},
);
Add support for country search by phone code
Add getter for flag emoji in Country model
Country model
showCountryPicker(
context: context,
countryListTheme: CountryListThemeData(
bottomSheetHeight: 500, // Optional. Country list modal height
),
onSelect: (Country country) => print('Select country: ${country.displayName}'),
);
Kurdish translation for Curaçao name
Italy code at Turkish localization
showCountryPicker(
context: context,
showWorldWide: true,
onSelect: (Country country) => print('Select country: ${country.displayName}'),
);
Add support for French localization
Add support for Estonian localization
Add support for Arabic localization
showCountryPicker(
context: context,
searchAutofocus: true,
onSelect: (Country country) => print('Select country: ${country.displayName}'),
);
Add support for Turkish localization
Add support for Nepali and Hindi localization
Add styling options for the border-radius and the search field. `Dart showCountryPicker( context: context, countryListTheme: CountryListThemeData( //
showCountryPicker(
context: context,
countryListTheme: CountryListThemeData(
// Optional. Sets the border radius for the bottomsheet.
borderRadius: BorderRadius.only(
topLeft: Radius.circular(40.0),
topRight: Radius.circular(40.0),
),
// Optional. Styles the search field.
inputDecoration: InputDecoration(
labelText: 'Search',
hintText: 'Start typing to search',
preIcon: const Icon(Icons.search),
border: OutlineInputBorder(
borderSide: BorderSide(
color: const Color(0xFF8C98A8).withOpacity(0.2),
),
),
),
),
onSelect: (Country country) => print('Select country: ${country.displayName}'),
);
* Add CountryParser
CountryParserAdd Ukrainian, Russian, and Polish translations
onClosed callbackAdd support for Norwegian localization
Implemented country list theme `Dart showCountryPicker( context: context, countryListTheme: CountryListThemeData( flagSize: 25, backgroundColor: Color
showCountryPicker(
context: context,
countryListTheme: CountryListThemeData(
flagSize: 25,
backgroundColor: Colors.white,
textStyle: TextStyle(fontSize: 16, color: Colors.blueGrey),
),
onSelect: (Country country) => print('Select country: ${country.displayName}'),
);
* Migrated to null safety
Add support for Spanish and Portuguese localization.
showPhoneCode is false remove duplicates countryLocalize label and hint of search text field
Add support for Greek localization.
showCountryPicker(
context: context,
countryFilter: <String>['AT', 'GB', 'DK', 'DE', 'FR', 'GR'], //It takes a list of country code(iso2).
onSelect: (Country country) => print('Select country: ${country.displayName}'),
);
* Search on localizations.
Add the CountryLocalizations.delegate in the list of your app delegates. `Dart MaterialApp( supportedLocales: [ const Locale('en'), const Locale.fromS
Add the CountryLocalizations.delegate in the list of your app delegates.
MaterialApp(
supportedLocales: [
const Locale('en'),
const Locale.fromSubtags(languageCode: 'zh', scriptCode: 'Hans'), // Generic Simplified Chinese 'zh_Hans'
const Locale.fromSubtags(languageCode: 'zh', scriptCode: 'Hant'), // Generic traditional Chinese 'zh_Hant'
],
localizationsDelegates: [
CountryLocalizations.delegate,
GlobalMaterialLocalizations.delegate,
GlobalWidgetsLocalizations.delegate,
],
home: HomePage(),
);
* Update documentation.
* Implement search.
* Add show phone code option.
Add exclude countries option. Can be used to exclude(remove) one ore more country from the countries list `Dart showCountryPicker( context: context, e
showCountryPicker(
context: context,
exclude: <String>['KN', 'MF'], //It takes a list of country code(iso2).
onSelect: (Country country) => print('Select country: ${country.displayName}'),
);
* Add documentation.
Initial developers preview release.
Your coding agent can read these notes before it upgrades. Set up the MCP server →