1Locale::Codes::Changes(U3s)er Contributed Perl DocumentatLioocnale::Codes::Changes(3)
2
3
4

NAME

6       Locale::Codes::Changes - details changes to Locale::Codes
7

SYNOPSIS

9       This describes the changes made to modules in the Locale-Codes
10       distribution.  Major changes are marked with asterisks (*).  For the
11       most part, all modules have remained backward compatible at every
12       release, but occasionally a change is made which is backward
13       incompatible. These are marked with an exclamation mark (!).
14
15       As of 3.00, the codes are autogenerated from the standards. With each
16       release, codes will be re-generated and tested to see if any code
17       changed. Any time there are any changes to the codes, it will be
18       flagged below with a change: NEW CODE(s).
19
20       I intend to check for new codes four times a year (March, June,
21       September, December). I will also check on request, so if a code
22       changes that you use, feel free to contact me.  Any time there are new
23       codes, I will add them to the module and release a new version.
24

VERSION 3.28 (planned 2013-12-01; sbeck)

VERSION 3.27 (planned 2013-09-01; sbeck)

VERSION 3.26 (2013-06-03; sbeck)

28       Documentation fixes
29           Some of the examples were not correct.  RT 84589
30
31           Some typos corrected.  RT 85692
32

VERSION 3.25 (2013-03-01; sbeck)

34       NEW CODE(s)
35

VERSION 3.24 (2012-12-03; sbeck)

37       NEW CODE(s)
38
39       Syria alias
40           Syria added as an alias.  RT 82747
41
42       FIPS-10 country codes deprecated
43           The FIPS-10 document is being withdrawn.  It was deprecated in
44           2008, and is being updated now only until all the agencies that use
45           it have switched to something else.  The current version no longer
46           lists the long names for countries.  These long names (such as
47           'Republic of Albania' for Albania) only appeared in the old FIPS-10
48           document which is no longer available, so they are no longer
49           available in this module.
50
51           I will continue to support the FIPS-10 codeset as long as it is
52           available, but at that point, it will be withdrawn immediately.  If
53           an official end-of-life date is announced, I will include a notice
54           here.  Otherwise, support for the codeset will be discontinued when
55           the document is withdrawn.
56
57           You are encouraged to no longer use the FIPS-10 codeset.
58
59       Domain country codes now come from ISO 3166
60           The IANA domain codes have changed slightly.  The IANA no longer
61           publishes a list of countries associated with their codes.
62           Instead, they use the ISO 3166 codes and country names.  However,
63           they support a few non-standard codes, so I will continue to
64           maintain this codeset.  The domain codes are now lowercase to
65           correspond to the ISO 3166 codes.
66

VERSION 3.23 (2012-09-01; sbeck)

68       NEW CODE(s)
69

VERSION 3.22 (2012-06-01; sbeck)

71       NEW CODE(s)
72
73       Updated perl version required
74           Changed 'require 5.002' (which dated back to the version 2.xx
75           Locale-Codes) to 'require 5.006'.  Some features used in Locale-
76           Codes are not supported that far back.  Nicholas Clark
77
78       Sorted deprecated codes
79           The codes in the generated deprecated codes modules were not sorted
80           making version diffs bigger than they should be.  Nicholas Clark
81

VERSION 3.21 (2012-03-01; sbeck)

83       NEW CODE(s)
84

VERSION 3.20 (2011-12-01; sbeck)

86       NEW CODE(s)
87
88       Added limited support for deprecated codes
89           The code2XXX, XXX2code, all_XXX_codes, and all_XXX_names functions
90           now support retired codes.  RT 71124
91
92       Fixed capitalization
93           The 'South Sudan' country was all caps.  RT 71024
94
95       Pod tests off by default
96           The pod tests will not run at install time.  RT 71122
97
98       Codesets may be specified by name
99           All codesets may be specified by a constant or by their name now.
100           Previously, they were specified only by a constant.
101
102       alias_code deprecated
103           The alias_code function exists for backward compatibility.  It has
104           been replaced by rename_country_code .  The alias_code function
105           will be removed sometime after September, 2013 .
106
107       Code cleanup
108           All work is now done in the central module (Locale::Codes).
109           Previously, some was still done in the wrapper modules
110           (Locale::Codes::*) but that is gone now.
111
112       Added LangFam module
113           Added Language Family codes (langfam) as defined in ISO 639-5.
114

VERSION 3.18 (2011-08-31; sbeck)

116       NEW CODE(s)
117
118       No longer use CIA data
119           The CIA world added non-standard values, so I no longer use it as a
120           source of data.  Based on a report by Michiel Beijen.
121

VERSION 3.17 (2011-06-28; sbeck)

123       NEW CODE(s)
124
125       Added new types of codes
126           Added Language Extension codes (langext) and Language Variation
127           codes (langvar) as defined in the IANA language registry.
128
129       Added new codeset(s)
130           Added language codes from ISO 639-5
131
132           Added language/script codes from the IANA language subtag registry
133
134       Bug fixes
135           Fixed an uninitialized value warning.  RT 67438
136
137           Fixed the return value for the all_XXX_codes and all_XXX_names
138           functions.  RT 69100
139
140       Reorganized code
141           Reorganized modules to move Locale::MODULE to Locale::Codes::MODULE
142           to allow for cleaner future additions.  The original four modules
143           (Locale::Language, Locale::Currency, Locale::Country,
144           Locale::Script) will continue to work, but all new sets of codes
145           will be added in the Locale::Codes namespace.
146

VERSION 3.16 (2011-03-01; sbeck)

148       NEW CODE(s)
149

VERSION 3.15 (2010-12-02; sbeck)

151       NEW CODE(s)
152
153       Minor fixes
154           Added version number to Makefile.PL/Build.PL requirement for POD
155           testing modules.  RT 62247
156
157           Changed 'use vars' to 'our'
158

VERSION 3.14 (2010-09-28; sbeck)

160       NEW CODE(s)
161
162       Bug fixes
163           Stripped out some HTML that got included with some codes.
164

VERSION 3.13 (2010-06-04; sbeck)

166       NEW CODE(s)
167

VERSION 3.12 (2010-04-06; sbeck)

169       NEW CODE(s)
170
171       Reorganized code
172           Renamed test.pl to testfunc.pl to avoid causing an error when built
173           as part of perl.
174

VERSION 3.11 (2010-03-01; sbeck)

176       NEW CODE(s)
177
178       Added new codeset(s)
179           Added the IANA domain names to Country
180
181       Bug fixes
182           Fixed a problem that produced warnings with perl 5.11.5.  Jerry D.
183           Hedden
184

VERSION 3.10 (2010-02-18; sbeck)

186       NEW CODE(s)
187
188       Reorganized code
189           Moved support files into the Locale::Codes namespace.
190
191           The work done in each of the Locale::XXX modules was virtually
192           identical to each other. It has all been moved to a central module
193           and the Locale::XXX modules are now just wrappers.
194
195       (!) Changed XXX_code2code behavior slightly
196           In previous versions, passing in the same code set for both code
197           set arguments would automatically return undef. For example:
198
199              country_code2code('bo',LOCALE_CODE_ALPHA_2,LOCALE_CODE_ALPHA_2);
200                 => undef
201
202           This doesn't seem like reasonable behavior, so it has been changed
203           to allow the same code set:
204
205              country_code2code('bo',LOCALE_CODE_ALPHA_2,LOCALE_CODE_ALPHA_2);
206                 => 'bo'
207
208           Note that if an invalid code is passed in, undef will still be
209           returned:
210
211              country_code2code('bol',LOCALE_CODE_ALPHA_2,LOCALE_CODE_ALPHA_2);
212                 => undef
213
214       Added many semi-private routines
215           Previous versions had only two semi-private routines:
216           rename_country and alias_code which had the ability to modify the
217           internal data in a couple very limited ways. It was requested (in
218           an anonymous posting by someone named Steve and also by Steve Hay)
219           that better support for modifying internal data, so a full set of
220           routines were added.
221
222           The full set of routines includes:
223
224              rename_country
225              rename_language
226              rename_currency
227              rename_script
228
229              add_country
230              add_language
231              add_currency
232              add_script
233
234              delete_country
235              delete_language
236              delete_currency
237              delete_script
238
239              add_country_alias
240              add_language_alias
241              add_currency_alias
242              add_script_alias
243
244              delete_country_alias
245              delete_language_alias
246              delete_currency_alias
247              delete_script_alias
248
249              rename_country_code
250              rename_language_code
251              rename_currency_code
252              rename_script_code
253
254              add_country_code_alias
255              add_language_code_alias
256              add_currency_code_alias
257              add_script_code_alias
258
259              delete_country_code_alias
260              delete_language_code_alias
261              delete_currency_code_alias
262              delete_script_code_alias
263
264       New aliases
265           Added "UK" alias. Steve Hay
266

VERSION 3.01 (2010-02-15; sbeck)

268       Fixed Makefile.PL and Build.PL
269           They now install as core modules as they are supposed to.  Reported
270           in RT 54526
271

VERSION 3.00 (2010-02-10; sbeck)

273       NEW CODE(s)
274
275       New maintainer
276           From 1997 to 2004, Locale::Codes was maintained by Neil Bowers.
277           Unfortunately, no updates were made from June 2004 to January 2010.
278           During that time, a number of changes have been made to the
279           standards since then, so the data included was out-of-date.
280
281           I contacted Neil to get his permission to assume maintenance of the
282           module, and he kindly agreed.
283
284       (*) (!) All codes are generated from standards
285           All of the values returned by the various functions are now values
286           directly from the standards. This means that the values returned in
287           the 2.xx series are not necessarily the same as the values returned
288           here.
289
290           As an example, the ISO 3166 standard which lists country codes
291           refers to the country associated with the code "bo" as "Bolivia,
292           Plurinational State of", so that is what is returned. In the 2.xx
293           series, "Bolivia" was returned.  Also, the country names vary from
294           one standard to another. So the code "bol" which is maintained by
295           the United Nations returns the name of the country as "Bolivia
296           (Plurinational State of)". Some common aliases have been added, so
297           you can still request a code associated with a county name
298           "Bolivia".
299
300           Since the data comes from the standards, some "incorrect" values
301           are no longer supported. For example, 2.07 treated "Zaire" as an
302           alias for "Congo", but the country changed it's name, and "Zaire"
303           is not in the standard, so it has been dropped in 3.00.
304
305       Added new codeset(s)
306           FIPS 10 country codes (requested in RT 1755)
307
308           Alpha-3 and Term language codes (requested in RT 11730)
309
310           Numeric currency codes (requested in RT 18797)
311
312       (*) (!) Locale::Script changed
313           In 2.xx, Locale::Script assigned scripts to country codes, which is
314           NOT how it is done currently in the standards. It appears that an
315           older version of ISO 15924 did this, but I haven't found an old
316           version to confirm that, and in any case, that is not the case in
317           the current standards.
318
319           As a result, the Locale::Script module is completely incompatible
320           with the 2.xx version with respect to the types of codes it
321           supports. None of the old codes will work.
322
323       Added missing functions
324           I've added in some functions which were "missing" previously (since
325           there was only one set of codes supported, the code2code functions
326           didn't apply):
327
328              language_code2code
329              currency_code2code
330
331           so the interfaces for each type of codes are consistent.
332
333       (!) Dropped support for _alias_code
334           In Locale::Country, _alias_code was an allowed, but deprecated
335           function which was documented to be supported in the 2.xx series.
336           I've removed it.
337
338       (!) All functions return the standard value
339           code2country (and other equivalent functions) now returns the name
340           of the country specified in the standard (if the different
341           standards refer to the country by different variations in the name,
342           the results will differ based on the CODESET)
343
344       (!) rename_country function altered
345           The rename_country function from 2.07 would guess the CODESET
346           (unlike all other functions which used a default of
347           LOCALE_CODE_ALPHA_2). The guess can cause problems since (with the
348           addition of FIPS) codes may appear in different codesets for
349           different countries. The behavior has been changed to be the same
350           as other functions (default to LOCALE_CODE_ALPHA_2).
351

VERSION 2.07 (2004-06-10; neilb)

353       Made $_ local in the initialization code for each module change back-
354       propagated from Perl distribution
355
356       Removed two non ISO-8859-1 characters from language names change back-
357       propagated from Perl distribution
358
359       Added the following aliases, with a test case for each
360          - Burma added to Myanmar
361          - French Southern and Antarctic Lands to
362            French Southern Territories patch from TJ Mather
363
364       "Canadian Dollar" was misspelled as "Candian Dollar"
365          - noted by Nick Cabatoff, patch from Michael Hennecke
366
367       Changes to Locale::Country reflecting changes in ISO 3166
368          - added Aland Islands (ax, ala, 248)
369          - YUGOSLAVIA is now SERBIA AND MONTENEGRO
370             YU => CS
371             YUG => SCG
372             891 => 891 (unchanged)
373             (YUGOSLAVIA retained as an alias)
374          - EAST TIMOR changed to TIMOR-LESTE
375             (old name retained as an alias)
376          - three letter code for Romania changed from ROM to ROU
377
378       ZAIRE is now CONGO, THE DEMOCRATIC REPUBLIC OF THE
379           ZR  => CD
380           ZAR => COD
381           180 => 180 (unchanged)
382           (ZAIRE retained as alias)
383

VERSION 2.06 (2002-07-15; neilb)

385       The four modules which have data after __DATA__ weren't closing the
386       DATA filehandle after reading from it, which they should. Bug and patch
387       from Steve Hay.
388

VERSION 2.05 (2002-07-08; neilb)

390       Added three letter codes for the countries that were missing them.
391       Patch from TJ Mather.
392
393       Documentation bug: one of the examples used => where the lvalue was a
394       constant, which isn't allowed, unless you put the () with the constant
395       to force the right interpretation.  Pointed out by TJ Mather and MYT.
396
397       Updated the URL for the appendix in the CIA world factbook.  Patch from
398       TJ Mather.
399

VERSION 2.04 (2002-05-23; neilb)

401       Updated according to changes in ISO 3166-1 described in ISO 3166-1
402       newsletters V-4 and V-5, dated 2002-05-20:
403          - Kazakstan is now "Kazakhstan"
404          - Macau is now "Macao" The old names are retained as aliases.
405
406       The alpha-2 and alpha-3 codes for East Timor have changed:
407          tp -> tl
408          tmp -> tls the numeric code stays 626. If you want to support the
409       old codes, you can use the semi-private function alias_code().
410

VERSION 2.03 (2002-03-24; neilb)

412       Fixed a typo in the alias for the Vatican, reported (with patch) by
413       Philip Newton.
414
415       Added "Moldova" as an alias for "Moldova, Republic of"
416
417       Updated Makefile.PL to include AUTHOR and ABSTRACT
418

VERSION 2.02 (2002-03-09; neilb)

420       Added semi-private routine rename_country() to Locale::Country, based
421       on a patch from Iain Chalmers.
422
423       Added test rename.t for the above function.
424
425       Renamed _alias_code to be alias_code. Have retained the old name for
426       backwards compatibility. Will remove it when the major version number
427       next changes.
428

VERSION 2.01 (2002-02-18; neilb)

430       Split the documentation for all modules into separate pod files.
431
432       Made sure all =over were =over 4; some were other values.
433
434       The code2code() methods had one more shift than was needed.
435

VERSION 2.00 (2002-02-17; neilb)

437       Created Locale::Script which provides an interface to the ISO codes for
438       identification of scripts (writing scripts, rather than perl style
439       scripts). The codes are defined by ISO 15924, which is currently in
440       final draft.  Thanks to Jarkko for pointing out this new standard.  All
441       three code sets are supported, and a test-suite added.
442
443       Added support for country name variants to Locale::Country, so that
444          country2code('USA')
445          country2code('United States')
446          country2code('United States of America') will all return 'us'.  This
447       had been in the LIMITATIONS section since the first version.  Patch
448       from TJ Mather with additional variants from me. Added test-cases for
449       these.
450
451       Added VERSION to Locale::Constants. Thanks to Jarkko for pointing that
452       it was missing.
453
454       Should really have bumped major version with previous release, since
455       there was a change to the API.
456

VERSION 1.06 (2001-03-04; neilb)

458       Added Locale::Constants, which defines three symbols for identifying
459       which codeset is being used:
460
461          LOCALE_CODE_ALPHA_2
462          LOCALE_CODE_ALPHA_3
463          LOCALE_CODE_NUMERIC
464
465       Updated Locale::Country to support all three code sets defined by ISO
466       3166. This was requested by Keith Wall.  I haven't added multiple
467       codeset support to the other modules yet - I'll wait until someone asks
468       for them.
469

VERSION 1.05 (2001-02-13; neilb)

471       Added Locale::Currency, contribution from Michael Hennecke.
472
473       Added test suite for it (t/currency.t) and added test cases to t/all.t
474       for the all_* functions.
475

VERSION 1.04 (2000-12-21; neilb)

477       Fixed very minor typos from 1.03!
478

VERSION 1.03 (2000-12-??; neilb)

480       Updated Locale::Country:
481          - fixed spelling of a few countries
482          - added link to a relevant page from CIA world factbook
483
484       Updated Locale::Language:
485          - fixed typo in the documentation (ISO 939 should be 639)
486

VERSION 1.02 (2000-05-04; neilb)

488       Updated Locale::Country and Locale::Language to reflect changes in the
489       relevant ISO standards. These mainly reflect languages which are new to
490       the relevant standard, and changes in the spelling of some country
491       names.
492
493       Added official URLs for the standards to the SEE ALSO sections of the
494       doc for each module.
495
496       Thanks to Jarkko Hietaniemi for pointing me at the pages with latest
497       versions of ISO 3166 and 639.
498

VERSION 1.00 (1998-03-09; neilb)

500       Added Locale::Country::_alias_code() so that 'uk' can be added as the
501       code for "United Kingdom", if you want it.  This was prompted by Ed
502       Jordan.
503
504       Added a new test suite for handling this case, and extended the
505       existing test-suite to include testing of the case where 'uk' hasn't
506       been defined as a valid code.
507

VERSION 0.003 (1997-05-09; neilb)

509       First public release to CPAN
510

SEE ALSO

512       Locale::Codes
513

AUTHOR

515       See Locale::Codes for full author history.
516
517       Currently maintained by Sullivan Beck (sbeck@cpan.org).
518
520          Copyright (c) 2001-2010 Neil Bowers
521          Copyright (c) 2010-2013 Sullivan Beck
522
523       This module is free software; you can redistribute it and/or modify it
524       under the same terms as Perl itself.
525
526
527
528perl v5.16.3                      2013-06-03         Locale::Codes::Changes(3)
Impressum