All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.12.0 - 2026-04-17
- Add
firstname_optionsfield todecode()output with list of possible Italian first names. (#253) - Add lazy loading optimization for indexed data with global caching.
- Bump requirements.
0.11.4 - 2026-04-12
- Add missing country data. #249
- Update municipalities data.
- Bump requirements and pre-commit hooks.
- Bump actions.
0.11.3 - 2026-01-16
- Fix problem with municipalities that have the same slugified name: e.g., Paternò (CT) vs Paterno (PZ). #246
- Fix tests for cross-platform compatibility.
- Replace unicode emojis with standard exit codes for CLI validation.
0.11.2 - 2026-01-08
- Fix
pipxsupport. #245
0.11.1 - 2026-01-07
- Add
pipxsupport. #245 - Bump actions.
0.11.0 - 2025-12-10
- Add
Python 3.14support. - Fix birthplace encoding/decoding when the municipality has been created after the birthdate. #210 #213
- Fix decoding for people over 100 years old. #203
- Update countries and municipalities data.
- Bump requirements and pre-commit hooks.
0.10.4 - 2025-08-26
- Update countries and municipalities data.
- Bump requirements and pre-commit hooks.
0.10.3 - 2024-09-30
- Add missing country and municipalities. (by @tommysolinas in #198)
- Add
pypy-3.10to test matrix.
0.10.2 - 2024-09-20
- Update
countries.jsonandmunicipalities.jsondata. - Add missing country to
countries-patch.json. (by @tommysolinas in #195) - Add missing municipalities to
municipalities-patch.json. (by @tommysolinas in #194) - Bump requirements and
pre-commithooks.
0.10.1 - 2024-06-06
- Add
mypytopre-commit. - Update
mypyconfig. - Update
tool.ruffconfig. - Fix
pyprojectRuffconf warnings. - Update
countries.jsonandmunicipalities.jsondata. - Bump requirements and pre-commit hooks.
0.10.0 - 2024-02-19
- Fix validation error with valid code. #162 (#163)
- Fix typing errors.
- Fix
pyprojectwarnings. - Avoid wrong birthplace code error (when birthdate falls in missing date-range in the data-source even if birthplace code is valid).
- Remove timezone info from datetimes.
- Improve tests.
- Bump requirements and pre-commit hooks.
0.9.1 - 2024-02-15
- Allow access to data files when running in a frozen environment (eg. executable). #152
- Bump requirements and pre-commit hooks.
0.9.0 - 2023-11-06
- Add
Python 3.12support. - Add possibility to validate code from the command line, eg.
python -m codicefiscale validate {code}. - Add
codicefiscale.datamodule with methods for exposing data. - Bump requirements, pre-commit hooks and actions.
0.8.2 - 2023-10-02
- Patch some wrong municipalities data. #123
0.8.1 - 2023-09-05
- Merge fetched data with manually managed patch data. (#116)
- Update municipalities data source url.
- Bump requirements.
0.8.0 - 2023-04-09
- Manage correctly deleted countries. #36
- Replace
flake8withRuff. - Switch from
setup.cfgtopyproject.toml. - Improve code quality.
- Bump requirements.
0.7.1 - 2023-03-30
- Fix encoding/decoding error when year of birth (excluding century) < 10 (eg. 2004). #79
- Improve error message for invalid birthplace codes.
- Refactor tests and move each issue test to its own test case.
- Update pre-commit hooks. (#80)
0.7.0 - 2023-03-27
- Add command line usage support. #14 (#78)
- Rename arguments and output variable names:
name->firstnameandsurname->lastname.
0.6.1 - 2023-01-12
- Add
setup.cfg(setuptoolsdeclarative syntax) generated usingsetuptools-py2cfg. - Add
pyupgradetopre-commitconfig. - Remove
tests/from dist. - Updated
countries.jsonandmunicipalities.jsondata. - Improve update script error messages and fix formatting error.
- Bump requirements.
0.6.0 - 2022-12-09
- Add
Python 3.11support. - Add
pre-commit. - Add
pypyto CI. - Drop
Python < 3.8support. - Updated
countries.jsonand/ormunicipalities.jsondata. - Replace
str.formatwithf-strings. - Remove encoding pragma.
- Decrease dependence on
CODICEFISCALE_REregex by naming subpatterns. - Fix decoding code with invalid birthplace code. #27
- Fix date of birth not honored when encoding and decoding (deleted municipalities only). #37 (#40)
- Bump requirements and GitHub actions versions.
0.5.0 - 2022-09-22
- Add municipality validity date support. Fix #12 and #23 by danisana in #24.
- Replace
str.formatwithf-strings. - Update
countries.jsonandmunicipalities.jsondata. - Update and pin requirements.
0.4.0 - 2022-02-18
- Dropped python 2.7 and python 3.5 support.
- Pinned requirements versions.
- Moved data to external json files and removed data python module.
- Updated
countries.jsonandmunicipalities.jsondata.
0.3.9 - 2022-01-28
- Fixed municipality overwritten by old municipality (deleted) with the same code. #16
0.3.8 - 2022-01-10
- Fixed number of omocodes. #13
- Formatted code with Black.
- Updated strings formatting.
- Added
python 3.9andpython 3.10official support. - Added
requirements.txtandrequirements-test.txt. - Added
CHANGELOG.md. - Added GitHub action workflow.
- Removed
TravisCIandCircleCI. - Removed some dead code.
0.3.7 - 2019-12-18
- Added docstrings to methods.
- Fixed tests import.
- Updated requirements.
- Added CircleCI workflow.
0.3.6 - 2019-11-15
- Added python 3.8 official support.
- Updated municipalities with data from ANPR.
0.3.5 - 2019-07-04
- Updated requirements.
- Improved code quality.
0.3.4 - 2019-02-07
- Updated municipalities data.
0.3.3 - 2018-11-14
- Fixed error on date - #3
- Added python 3.7 to
toxand.travis.
0.3.2 - 2018-09-17
- Corrected some province names. #1
- Replaced double unserscores with single ones. #2
0.3.1 - 2018-05-03
- Updated requirements.
0.3.0 - 2017-11-06
- Removed
omocodesargument fromencodemethod.
0.2.1 - 2017-10-18
- Added raw values to decoded data.
0.2.0 - 2017-10-17
- Improved omocodia support and added
is_omocodemethod.
0.1.1 - 2017-10-12
- Raised error if the birthplace is not mapped to a code.
- Increased tests coverage.
- Code refactoring.
0.1.0 - 2017-10-10
- Released package on pypi.