Update Locale::Codes to 3.12
[p5sagit/p5-mst-13.2.git] / cpan / Locale-Codes / lib / Locale / Codes / Changes.pod
1 =pod
2
3 =head1 NAME
4
5 Locale::Codes::Changes - details important changes after 2.07
6
7 =head1 3.10
8
9 =over 4
10
11 =item B<Changed XXX_code2code behavior slightly>
12
13 In previous versions, passing in the same code set for both code set
14 arguments would automatically return undef. For example:
15
16    country_code2code('bo',LOCALE_CODE_ALPHA_2,LOCALE_CODE_ALPHA_2);
17       => undef
18
19 This doesn't seem like reasonable behavior, so it has been changed
20 to allow the same code set:
21
22    country_code2code('bo',LOCALE_CODE_ALPHA_2,LOCALE_CODE_ALPHA_2);
23       => 'bo'
24
25 Note that if an invalid code is passed in, undef will still be
26 returned:
27
28    country_code2code('bol',LOCALE_CODE_ALPHA_2,LOCALE_CODE_ALPHA_2);
29       => undef
30
31 =item B<Added many semi-private routines>
32
33 Previous versions had only two semi-private routines: rename_country
34 and alias_code which had the ability to modify the internal data in
35 a couple very limited ways. It was requested (in an anonymous posting
36 by someone named Steve and also by Steve Hay) that better support
37 for modifying internal data, so a full set of routines were added.
38
39 The full set of routines includes:
40
41    rename_country
42    rename_language
43    rename_currency
44    rename_script
45
46    add_country
47    add_language
48    add_currency
49    add_script
50
51    delete_country
52    delete_language
53    delete_currency
54    delete_script
55
56    add_country_alias
57    add_language_alias
58    add_currency_alias
59    add_script_alias
60
61    delete_country_alias
62    delete_language_alias
63    delete_currency_alias
64    delete_script_alias
65
66    rename_country_code
67    rename_language_code
68    rename_currency_code
69    rename_script_code
70
71    add_country_code_alias
72    add_language_code_alias
73    add_currency_code_alias
74    add_script_code_alias
75
76    delete_country_code_alias
77    delete_language_code_alias
78    delete_currency_code_alias
79    delete_script_code_alias
80
81 =back
82
83 =head1 3.00
84
85 =over 4
86
87 =item B<New maintainer>
88
89 From 1997 to 2004, Locale::Codes was maintained by Neil
90 Bowers. Unfortunately, no updates were made from June 2004 to January
91 2010. During that time, a number of changes have been made to the
92 standards since then, so the data included was out-of-date.
93
94 I contacted Neil to get his permission to assume maintenance of
95 the module, and he kindly agreed.
96
97 =item B<All codes are generated from standards>
98
99 All of the values returned by the various functions are now values
100 directly from the standards. This means that the values returned in
101 the 2.xx series are not necessarily the same as the values returned
102 here.
103
104 As an example, the ISO 3166 standard which lists country codes refers
105 to the country associated with the code "bo" as "Bolivia,
106 Plurinational State of", so that is what is returned. In the 2.xx
107 series, "Bolivia" was returned.  Also, the country names vary from one
108 standard to another. So the code "bol" which is maintained by the
109 United Nations returns the name of the country as "Bolivia
110 (Plurinational State of)". Some common aliases have been added, so you
111 can still request a code associated with a county name "Bolivia".
112
113 Since the data comes from the standards, some "incorrect" values are
114 no longer supported. For example, 2.07 treated "Zaire" as an alias for
115 "Congo", but the country changed it's name, and "Zaire" is not in the
116 standard, so it has been dropped in 3.00.
117
118 =item B<Added several code sets from standards>
119
120 I've added the following code sets:
121
122    FIPS 10 country codes
123    Alpha-3 and Term language codes
124    Numeric currency codes
125
126 =item B<Locale::Script changed>
127
128 In 2.xx, Locale::Script assigned scripts to country codes, which is NOT
129 how it is done currently in the standards. It appears that an older version
130 of ISO 15924 did this, but I haven't found an old version to confirm
131 that, and in any case, that is not the case in the current standards.
132
133 As a result, the Locale::Script module is completely incompatible with
134 the 2.xx version with respect to the types of codes it supports. None of
135 the old codes will work.
136
137 =item B<Added missing functions>
138
139 I've added in some functions which were "missing" previously (since there was
140 only one set of codes supported, the code2code functions didn't apply):
141
142    language_code2code
143    currency_code2code
144
145 so the interfaces for each type of codes are consistent.
146
147 =item B<Dropped support for _alias_code>
148
149 In Locale::Country, _alias_code was an allowed, but deprecated function
150 which was documented to be supported in the 2.xx series. I've removed it.
151
152 =back
153
154 =head1 SEE ALSO
155
156 Locale::Codes
157
158 =head1 AUTHOR
159
160 See Locale::Codes for full author history.
161
162 Currently maintained by Sullivan Beck (sbeck@cpan.org).
163
164 =head1 COPYRIGHT
165
166    Copyright (c) 2010-2010 Sullivan Beck
167
168 This module is free software; you can redistribute it and/or
169 modify it under the same terms as Perl itself.
170
171 =cut