|
| 1 | +# Metadata Update Log |
| 2 | + |
| 3 | +This file records upstream comparison results for metadata updates. Keep entries concise, command-based, and reviewable so future updates do not need to rediscover the same baseline. |
| 4 | + |
| 5 | +## 2026-05-12: Google libphonenumber v9.0.30 |
| 6 | + |
| 7 | +### Scope |
| 8 | + |
| 9 | +- Previous local main and short-number metadata matched Google libphonenumber `v9.0.25`. |
| 10 | +- Updated main phone-number metadata to `v9.0.30`. |
| 11 | +- Updated short-number metadata to `v9.0.30`. |
| 12 | +- Updated testing metadata to `v9.0.30`. |
| 13 | +- Updated geocoding metadata to `v9.0.30`. |
| 14 | +- Added geocoding locale database `kk.db`. |
| 15 | + |
| 16 | +### Upstream Logic And Test Comparison |
| 17 | + |
| 18 | +Compared these JavaScript files between `v9.0.25` and `v9.0.30`: |
| 19 | + |
| 20 | +- `javascript/i18n/phonenumbers/phonenumberutil.js` |
| 21 | +- `javascript/i18n/phonenumbers/phonenumberutil_test.js` |
| 22 | +- `javascript/i18n/phonenumbers/asyoutypeformatter.js` |
| 23 | +- `javascript/i18n/phonenumbers/asyoutypeformatter_test.js` |
| 24 | +- `javascript/i18n/phonenumbers/shortnumberinfo.js` |
| 25 | +- `javascript/i18n/phonenumbers/shortnumberinfo_test.js` |
| 26 | + |
| 27 | +Result: all files were unchanged. No required ObjC logic port or new upstream JS test port was identified for this metadata update. |
| 28 | + |
| 29 | +Upstream Java had a `PhoneNumberUtil.formatInOriginalFormat` refactor between `v9.0.25` and `v9.0.30`, but the JavaScript implementation remained unchanged. This project tracks Google JavaScript parity, so no immediate ObjC change was applied for that Java-only diff. |
| 30 | + |
| 31 | +Carrier and timezone data changed upstream, but this project does not currently package carrier mapper or timezone metadata. |
| 32 | + |
| 33 | +### Commands |
| 34 | + |
| 35 | +```bash |
| 36 | +swift scripts/metadataGenerator.swift v9.0.30 --pretty |
| 37 | +swift scripts/updateGeocodingMetadata.swift v9.0.30 --replace-bundle |
| 38 | + |
| 39 | +swift scripts/checkUpstreamTestParity.swift --upstream-ref v9.0.30 |
| 40 | +swift scripts/checkUpstreamAPIParity.swift --upstream-ref v9.0.30 |
| 41 | +swift scripts/checkVersionConsistency.swift |
| 42 | +swift test |
| 43 | +LC_ALL=ko_KR.UTF-8 LANG=ko_KR.UTF-8 swift test |
| 44 | +swift build -c release |
| 45 | +git diff --check |
| 46 | + |
| 47 | +pod lib lint libPhoneNumber-iOS.podspec --allow-warnings |
| 48 | +pod lib lint libPhoneNumberGeocoding.podspec --allow-warnings --include-podspecs='*.podspec' |
| 49 | +pod lib lint libPhoneNumberShortNumber.podspec --allow-warnings --include-podspecs='*.podspec' |
| 50 | +pod lib lint libPhoneNumberSwift.podspec --allow-warnings --include-podspecs='*.podspec' |
| 51 | +``` |
| 52 | + |
| 53 | +### Results |
| 54 | + |
| 55 | +- Upstream JS test parity: passed, 172 upstream JS tests and 180 local ObjC tests. |
| 56 | +- Upstream JS API parity: passed, 66 upstream JS public prototype methods and 93 local ObjC public selectors. |
| 57 | +- Version consistency: passed for `1.4.0`. |
| 58 | +- SwiftPM default locale tests: passed, 204 tests. |
| 59 | +- SwiftPM Korean locale tests: passed, 204 tests. |
| 60 | +- Release build: passed. |
| 61 | +- Whitespace check: passed. |
| 62 | +- CocoaPods lint: all four podspecs passed validation. |
| 63 | +- Geocoding database sanity check: 34 databases, `en.db` has 151 geocoding tables, `kk.db` has 1 geocoding table. |
| 64 | + |
| 65 | +### Notes |
| 66 | + |
| 67 | +- `libPhoneNumberGeocoding` and `libPhoneNumberShortNumber` still emit CocoaPods Swift version warnings because those podspecs do not specify Swift version metadata. Validation passes with `--allow-warnings`. |
| 68 | +- No malformed geocoding database names such as `(null)*.db` were generated. |
0 commit comments