Releases: google/libphonenumber
v8.7.1
Hi all,
Please find the new JARs on the maven site here.
The new release contains mostly metadata changes.
Thanks to all those who contributed by providing issue reports!
See detailed release notes.
Want to be notified of future releases? Join the discussion group!
v8.7.0
Hi all,
Please find the new JARs on the maven site here.
The new release contains metadata changes and some code changes. Upgrading to the latest release is always encouraged since phone number information changes often!
New functionality in this release:
- New
getSupportedCallingCodes()
API in C++, Java, and JS to return all the calling codes that the library considers valid, both for geographical and non-geographical entities. - New
isSmsServiceForRegion(PhoneNumber, RegionCode)
API in C++ and Java short number info libraries. An SMS service is where the primary or only intended usage is to receive and/or send text messages (SMSs). This includes MMS as MMS numbers downgrade to SMS if the other party isn't MMS-capable. - Java public APIs that used to take in strings representing phone numbers or parts of phone numbers now take in
CharSequence
instead. This affectsShortNumberInfo
andPhoneNumberUtil
.
Heads-up:
- In
phonenumberutil.h
, we removed most of theusing std::*
statements, leaving onlyusing std::string
, and changingphonenumberutil.cc
andphonenumberutil_test.cc
to prefixstd::
for other usage in the code. If you were relying on these using statements, your build will likely stop compiling. This is not considered a breaking library change since depending on these is not considered good C++ practice, hence our not changing the major version number with this change; however if you were relying on us exporting these symbols, you will have to make similar changes to prefix the relevant std collections appropriately.
Porters only:
- The
is_sms_service
metadata is serialized for the first time in C++ and JS metadata. - Documentation update for private variables
VALID_PUNCTUATION
andSINGLE_INTERNATIONAL_PREFIX
, also renaming the latter fromUNIQUE_INTERNATIONAL_PREFIX
.
Full details in the release notes.
Note if you take advantage of this new functionality by changing your code,
it will not necessarily be trivially easy to roll back to a previous version.
Thanks to all those who contributed by providing issue reports and pull requests!
Want to be notified of future releases? Join the discussion group!
v8.6.0
Hi all,
Please find the new JARs on the maven site here.
The new release contains metadata changes and some code changes. Upgrading to the latest release is always encouraged since phone number information changes often!
New functionality in this release:
- Added a new enum for
CountryCodeSource
calledUNSPECIFIED
. This is used as a default value, and will be returned if someone callsparse()
and thengetCountryCodeSource()
on the result. If users want an actual value for this then they should callparseAndKeepRawInput()
instead; the values that were previously returned after calling this method will not change.
Changes affecting porters:
leading_zero_possible
was removed from the metadata and all the places it is referenced in the build and prod code. This will be removed from the metadata proto itself in a subsequent release. This should not affect users of the library - the only place it was used wasFormatInOriginalFormat
, and only initially to try and avoid modifying the input number by removing/adding digits inadvertently. Now this is checked at the end of the method anyway. However slight formatting differences with this method on invalid numbers starting with 0s may be noticed in some countries.- The possible number pattern has been deleted from the
phonemetadata.proto
file and all generated code. This has not been used for a long time.
Full details in the release notes.
Note if you take advantage of this new functionality by changing your code, it will not necessarily be trivially easy to roll back to a previous version.
Thanks to all those who contributed by providing issue reports!
Want to be notified of future releases? Join the discussion group!
v8.5.2
Hi all,
Please find the new JARs on the maven site
here
The new release contains mostly metadata changes.
Thanks to all those who contributed by providing issue reports!
See detailed release notes.
Want to be notified of future releases? Join the discussion group!
v8.5.1
Hi all,
Please find the new JARs on the maven site here.
The new release contains mostly metadata changes.
Thanks to all those who contributed by providing issue reports!
See detailed release notes.
Want to be notified of future releases? Join the discussion group!
v8.5.0
Hi all,
Please find the new JARs on the maven site here.
The new release contains metadata changes and some code changes. Upgrading to the latest release is always encouraged since phone number information changes often!
New functionality in this release:
- PhoneNumberUtil.canBeInternationallyDialled() API is made public (in Java and C++) now as it is useful for clients if they want to make sure they only allow internationally-accessible numbers for a particular use-case. In JavaScript this API was already public.
Porters only:
- There was a change in the representation of metadata which only affects ports which use the compiled metadata instead of the .xml files. If you use BuildMetadataFromXml.java or the generated metadata files (e.g. PhoneNumberMetadataProto_AD), please see the separate announcement for more details.
Full details in the release notes.
Note if you take advantage of this new functionality by changing your code, it will not necessarily be trivially easy to roll back to a previous version.
Thanks to all those who contributed by providing issue reports!
Want to be notified of future releases? Join the discussion group!
v8.4.3
Hi all,
Please find the new JARs on the maven site here.
The new release contains mostly metadata changes.
Thanks to all those who contributed by providing issue reports!
See detailed release notes.
Want to be notified of future releases? Join the discussion group!
v8.4.2
Hi all,
Please find the new JARs on the maven site here.
The new release contains mostly metadata changes.
Thanks to all those who contributed by providing issue reports!
See detailed release notes.
Porters only:
- Removal of
possibleNumberPattern
inPhoneNumberMetadata.xml
andShortNumberMetadata.xml
as per this announcement. These have been out of use in our library for several months. If you depend on the internal xml implementation and hadn't taken the actions detailed in the announcement, this release may break you.
Want to be notified of future releases? Join the discussion group!
v8.4.1
Hi all,
Please find the new JARs on the maven site here.
The new release contains metadata changes and some code changes. Upgrading to the latest release is always encouraged since phone number information changes often!
Main code changes in this release:
- isPossibleWithReason now returns the new enums INVALID_LENGTH and
IS_POSSIBLE_LOCAL_ONLY, where these apply. We hope any users of this method have already updated their code appropriately, as per this announcement.
A reminder of example changes you might want to make, if they have not been made already:
- If you are calling isPossible, but you only want to accept possible fully-qualified numbers, you may want to switch to isPossibleWithReason and check for IS_POSSIBLE only.
- If you have a switch statement that generates messages based on the result from isPossibleWithReason you should check that these messages are appropriate for the new values as well. More details about these enums in the code, e.g. the
PhoneNumberUtil
javadoc
Full details in the release notes.
Thanks to all those who contributed by providing issue reports!
Want to be notified of future releases? Join the discussion group!
v8.4.0
Hi all,
Please find the new JARs on the maven site here.
The new release contains metadata changes
and some code changes. Upgrading to the latest release is always encouraged
since phone number information changes often!
New functionality in this release:
- New API methods: isPossibleNumberForType and isPossibleNumberForTypeWithReason, along with getSupportedTypesForRegion and getSupportedTypesForNonGeoEntity. These allow you to query which types (e.g. Mobile) exist for a particular region, and work out if a number is possible for that type (this is a simple length check) rather than for the region as a whole. This allows for more accurate checks than with the existing API isPossibleNumber which considered lengths of all supported types in a region (e.g. mobile, voicemail, fixed-line, etc.).
Full details in the release notes.
Note if you take advantage of this new functionality by changing your code,
it will not necessarily be trivially easy to roll back to a previous
version.
Thanks to all those who contributed by providing issue reports!
Want to be notified of future releases? Join the discussion group!