pypi / faker
faker
What changed in faker 38 to 40, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-21.
7 breaking36 new APIs and options10 behavior and defaults27 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initfaker 4070 changes
Breaking changes 5
The bank provider was updated for pt_BR, which may change generated bank data for that locale.
The job provider was updated for pt_BR, which may change generated job data for that locale.
The phone_number provider was updated for pt_BR, which may change generated phone numbers for that locale.
The ssn provider was updated for pt_BR, which may change generated SSNs for that locale.
bank() now raises NotImplementedError for locales without banks data.
New APIs and options 30
Adds a bank provider for the es_CO locale.
Adds an internet provider for the es_CO locale.
Adds a Sinhala (Sri Lanka) person provider for the si_LK locale.
Pillow is added as an optional dependency.
Adds alphanumeric CNPJ support for pt_BR via a flag.
Adds the allowed_path_traversal_elements option to file_path().
Adds an automotive license plate provider for the es_MX locale.
Adds an SSN provider for the sr_BA locale.
Adds the Macedonian locale.
Adds the person, address, and phone_number providers for the mr_IN locale.
Adds a banks list for the en_GB locale, changing the bank data available to developers using that locale.
Adds the
gstingenerator to theen_INSSN provider.Adds the
pangenerator to theen_INSSN provider.The misc provider adds uuid1, allowing developers to generate UUID version 1 values.
The misc provider adds uuid7, allowing developers to generate UUID version 7 values.
Automotive providers are now available for the ar_DZ and fr_DZ locales.
The phone_number provider is now available for the ar_DZ and fr_DZ locales.
Adds an Ethiopia phone_number provider for the am_ET locale.
Company providers are now available for the ar_DZ and fr_DZ locales.
Currency providers are now available for the ar_DZ and fr_DZ locales.
The date_time provider is now available for the ar_DZ locale.
Geo providers are now available for the ar_DZ and fr_DZ locales.
Job providers are now available for the ar_DZ and fr_DZ locales.
SSN providers are now available for the ar_DZ and fr_DZ locales.
Address providers are now available for the ar_DZ locale.
Address providers are now available for the fr_DZ locale.
The he_IL locale now includes country names.
Adds cie support for the it_IT locale.
Adds passport support for the it_IT locale.
Adds selective uniqueness with exclude_types.
Behavior and default changes 9
uuid1() is reproducible under a fixed seed.
French social security number generation now includes Corsican codes.
The Swiss bank provider now includes major Swiss banks.
The hu_HU locale now includes free email domains.
Polish addresses now categorize street types and prefixes, improving address grammar.
Adds missing formats and removes duplicates in user_name_formats, changing the available username formats.
The bank provider for el_GR now includes major Greek banks.
The internet provider’s domains, TLDs, and slugify data were updated for the pt_BR locale.
The requirement for tzdata now depends on the platform.
Fixes and other changes 26
IBANs generated for fa_IR and mk_MK now have the correct BBAN length.
Updated Vietnamese address formats, administrative units, and postcodes.
Fixes generation of invalid CNP birth dates for ro_RO ssn().
Norwegian MOD11 check digits are now computed correctly so no_NO iban() passes stdnum validation.
Irish IBANs generated for en_IE are now structurally valid.
Corrects the uk_UA bban_format to 6 digits + 19 letters so iban() generates valid Ukrainian IBANs.
For ru_RU, iban() now generates valid Russian IBANs using the correct bban_format.
Corrects BBAN length so da_DK iban() generates valid Danish IBANs.
Validates positive=True against a non-positive max_value.
uuid7() is reproducible under a fixed seed.
Corrects BBAN length so pt_BR iban() generates valid Brazilian IBANs.
Generates valid Belgian bank codes for the nl_BE locale.
Generates valid Spanish CCC control digits in es_ES.
Fixes the ISO 7064 Mod 11,10 check digit generated for de_DE vat_id values.
Outdated Korean locale names were updated.
Prevents infinite recursion when both bounds collapse to the same integer.
Fixes shared state mutation in the en_IN pincode_in_state method.
The placekitten URL was updated to placekittens.
Locale selection is now deterministic in multi-locale mode.
Deepcopy proxies are rebound to copied Faker instances.
Fixed mixed-gender names in the es_MX locale.
Fixes the postalcode format for pt_PT in the address provider.
Fixes mutable default providers.
Fixes a missing return statement in _get_local_timezone().
Fixes a TypeError when combining positive=True with max_value.
Fixes grouping for the -i CLI parameter.
faker 392 changes
Breaking changes 1
Duplicate entries were removed from Russian professions, changing the values Faker may generate.
New APIs and options 1
Adds French female variants for jobs.
faker 388 changes
Breaking changes 1
Support for Python 3.9 was dropped.
New APIs and options 5
Adds a French company RCS number provider method.
Adds the date_time provider for the fr_DZ locale.
Adds the person provider for the ar_DZ locale.
Adds the person provider for the fr_DZ locale.
Adds the phone_number provider for the fr_DZ locale.
Behavior and default changes 1
UniqueProxy is now localized.
Fixes and other changes 1
Support for Python 3.11 was added.