CHANGES 19.3 KB
Newer Older
1
2
3
Version 2.7.4 ->
----------------------
  - fixed test failure in test_DateTimeParserGenerator.py with version 70.1rc
4
5
  - added wrappers for UCurrNameStyle and for ucurr_getName() onto CurrencyUnit
  - added support for ICU 70.1
6
  - added FieldPosition-less overloads to RuleBasedNumberFormat.format()
7
  - added pyproject.toml file to (also) build via python -m build
8
9
  - 

Andi Vajda's avatar
Andi Vajda committed
10
Version 2.7.3 -> 2.7.4
11
12
----------------------
  - added wrappers for UWordBreak and BreakIterator.getRuleStatusVec()
Andi Vajda's avatar
Andi Vajda committed
13
  - added wrappers for MessagePattern (Roman Kalukiewicz)
14
  - added wrapper for Collator::getKeywordValuesForLocale()
15

Andi Vajda's avatar
Andi Vajda committed
16
17
18
19
Version 2.7.2 -> 2.7.3
----------------------
  - added wrappers for LocaleMatcher.acceptLanguage|FromHTTP()

20
21
22
23
24
Version 2.7.1 -> 2.7.2
----------------------
  - worked around limitation of Visual Studio 2017 (cgohlke)
  - added missing test and samples files to distribution (foutrelis)

Andi Vajda's avatar
Andi Vajda committed
25
26
27
28
29
30
Version 2.7 -> 2.7.1
--------------------
  - added some tests for TimeZone classes
  - fixed bug w/FormattedNumberRange.getFirst|SecondDecimal() gone w/ ICU 68.1+
  - fixed bug with VTimeZone.write() wrapper invoking VTimeZone.writeSimple()

Andi Vajda's avatar
Andi Vajda committed
31
Version 2.6 -> 2.7
32
33
34
35
------------------
  - added wrapper for Locale.canonicalize()
  - added wrappers for MeasureUnit.product(), reciprocal(), getDimensionality()
  - added wrapper for MeasureUnit.forIdentifier()
36
  - implemented *, /, **, 1/m for MeasureUnit in terms of product and reciprocal
37
38
  - added wrappers for BasicTimeZone, RuleBasedTimeZone, VTimeZone
  - added wrappers for TimeZoneTransition, TimeZoneRule and its subclasses
39
  - added wrappers for DateTimeRule, DateRuleType, TimeRuleType
Andi Vajda's avatar
Andi Vajda committed
40
  - added support for ICU 69.1
41

ovalhub's avatar
ovalhub committed
42
43
Version 2.5 -> 2.6
------------------
44
  - added missing BreakIterator.getRuleStatus() wrapper
ovalhub's avatar
ovalhub committed
45
  - added wrappers for UBiDi API
46
  - added wrappers for UBiDiTransform API
ovalhub's avatar
ovalhub committed
47
48
49
50
51
52
53
54
55
56
57
58
  - added support for ICU 68.1
  - added wrappers for DateIntervalFormat.get/setContext()
  - added wrapper for LocaleMatcher.isMatch()
  - added wrapper for LocaleMatcherBuilder.setDirection()
  - added wrappers LocaleMatcherBuilder.setMaxDistance(), setNoDefaultLocale()
  - added wrappers for MeasureUnit.getComplexity() and UMeasureUnitComplexity
  - added wrapper for MeasureUnit.getIdentifier()
  - switched MeasureUnit.__str__() to use MeasureUnit::getIdentifier()  
  - added wrappers for new MeasureUnit static factory methods
  - added wrapper for FormattedNumber.getOutputUnit()
  - added wrapper for FormattedNumberRange.getDecimalNumbers()
  - added wrappers for PluralRules.select(FormattedNumber|Range)
59

ovalhub's avatar
ovalhub committed
60
Version 2.4.3 -> 2.5
61
--------------------
62
  - added support for turning on -pedantic with gcc or clang
63
64
65
66
67
68
69
  - added support for ICU 67.1
  - added wrappers for FormattedValue, ConstrainedFieldPosition, UFieldCategory
  - made FormattedValue iterable via nextPosition()
  - added wrappers for FormattedDateInterval, FormattedNumber, FormattedList
  - added wrappers for FormattedRelativeDateTime and enums
  - added wrappers for UNumberFormatFields, UNumberFormatAttribute
  - added wrappers for NumberRangeFormatter, FormattedNumberRange and enums
ovalhub's avatar
ovalhub committed
70
  - added icu.ICU_MAX_MAJOR_VERSION global set to largest ICU version supported
71

ovalhub's avatar
ovalhub committed
72
73
Version 2.4.2 -> 2.4.3
----------------------
74
  - added Char.getPropertyValueName() and Char.getPropertyValueEnum()
ovalhub's avatar
ovalhub committed
75
  - fixed build errors with PythonReplaceable for ICU < 55
76

ovalhub's avatar
ovalhub committed
77
78
79
80
Version 2.4.1 -> 2.4.2
----------------------
  - fixed build issues with ICU < 59

81
82
83
84
Version 2.4 -> 2.4.1
--------------------
  - added missing header files to MANIFEST.in

ovalhub's avatar
ovalhub committed
85
Version 2.3.1 -> 2.4
86
87
--------------------
  - workedaround mystery variations in test_Script.testSurrogatePairs
88
89
  - added support for RuleBasedBreakIterator.getBinaryRules()
  - added support for RuleBasedBreakIterator(binaryRules)
ovalhub's avatar
ovalhub committed
90
91
92
93
94
95
  - added wrappers for LocaleBuilder
  - added workaround for MSVC++ compiler issue (kochelmonster)
  - added support for ICU 65.1
  - added wrappers for DecimalFormat.get|setMultiplierScale()
  - added wrapper for Locale.createUnicodeKeywords()
  - added wrappers for new MeasureUnit static factory methods
96
  - added wrappers for LocaleMatcher
97
  - added wrappers for LocaleMatcher::Builder as LocaleMatcher.Builder
98
  - added wrappers for LocaleMatcher::Result as LocaleMatcher.Result
99
  - added support for constructing Locale objects from keywords
100
  - locale.addLikelySubtags() and minimizeSubtags() now modify locale in place
101
  - added wrappers for BytesTrie, BytesTrie.Builder|Iterator|State
102
  - added wrappers for UCharsTrie, UCharsTrie.Builder|Iterator|State
ovalhub's avatar
ovalhub committed
103
  - added wrappers for GenderInfo
104
105
  - added support for implementing a subclass of Replaceable in Python
  - added support for using PythonReplaceable with Transliterator methods
106

107
108
109
110
Version 2.3 -> 2.3.1
--------------------
  - fixed build error with ICU 61, ICU 62

ovalhub's avatar
ovalhub committed
111
Version 2.2 -> 2.3
112
113
114
------------------
  - added support for also trying pkg-config for build configuration (Linux)
  - fixed compilation issue in collator.cpp when not using c++11 (and icu < 60)
ovalhub's avatar
ovalhub committed
115
116
  - added support for ICU 64.1
  - filled out wrappers for missing NumberFormatter methods and classes
117

118
119
Version 2.1 -> 2.2
------------------
120
  - added wrappers for AlphabeticIndex and ImmutableIndex
121
  - added wrapper for NumberingSystem
122
123
  - added wrapper for UGraphemeClusterBreak enum
  - added wrapper for UHangulSyllableType enum
124
  - added wrappers for Edits and Edits::Iterator and Edits support with CaseMap
125
126
127
128
  - added support for ICU 63.1
  - added wrappers for Locale::to|fromLanguageTag
  - added wrappers for UIndicPositionalCategory, UIndicSyllabicCategory enums
  - added wrapper for UVerticalOrientation enum
129

ovalhub's avatar
ovalhub committed
130
131
Version 2.0.6 -> 2.1
--------------------
ovalhub's avatar
ovalhub committed
132
  - added wrapper for ULineBreak enum
ovalhub's avatar
ovalhub committed
133
  - fixed crasher with pypy3 6.0
ovalhub's avatar
ovalhub committed
134

135
136
137
138
Version 2.0.5 -> 2.0.6
----------------------
  - fixed another build error with ICU < 62

ovalhub's avatar
ovalhub committed
139
140
141
142
143
Version 2.0.4 -> 2.0.5
----------------------
  - fixed build error with ICU < 62
  - added casemap.h to MANIFEST.in

ovalhub's avatar
ovalhub committed
144
145
146
Version 2.0.3 -> 2.0.4
----------------------
  - added support for ICU 62.1
147
  - added support for CaseMap (without Edits)
ovalhub's avatar
ovalhub committed
148

ovalhub's avatar
ovalhub committed
149
Version 2.0.2 -> 2.0.3
150
151
----------------------
  - added wrappers for Region class and URegionType enum
152
  - added wrappers for MeasureFormat.formatMeasure and formatMeasurePerUnit
ovalhub's avatar
ovalhub committed
153
  - fixed build errors with ICU 59.1
154
  - replaced occurrences of nullptr with NULL, -std=c++11 req'd w/only ICU >= 60
155

ovalhub's avatar
ovalhub committed
156
157
158
159
Version 2.0.1 -> 2.0.2
----------------------
  - fixed build error with ICU < 53
  
160
161
162
Version 2.0 -> 2.0.1
--------------------
  - made Measure wrapper abstract when building with ICU < 53.1
163
  - str(Measure) uses NumberFormatter when available
164
  
165
166
Version 1.9.8 -> 2.0
--------------------
167
  - use icu-config for configuring compiler and linker (Constantine Peresypkin)
168
169
170
  - added wrappers for UBidiPairedBracketType enum
  - added wrappers for UWordBreakValues enum
  - added wrappers for UJoiningGroup enum
171
172
173
174
  - added wrappers for 120+ MeasureUnit static factory methods
  - added wrapper for NoUnit class
  - added wrapper for TimeUnit class
  - added missing Measure constructor(Formattable or number, MeasureUnit)
175
176
177
  - added wrappers for NumberFormatter and related classes and enums, and tests
  - added wrapper for SimpleFormatter and tests
  - fixed bugs in test_LocaleData.py using undefined values (Fredrik Roubert)
178
  - added wrapper for UMemory and made it UObject's base
ovalhub's avatar
ovalhub committed
179
  - removed unused docs.py
180

ovalhub's avatar
ovalhub committed
181
Version 1.9.7 -> 1.9.8
182
183
----------------------
  - fixed bugs in "UnicodeString as sequence"; it's a sequence of 16-bit UChar
ovalhub's avatar
ovalhub committed
184
  - added support for ICU 60.1
185

186
187
188
189
190
191
Version 1.9.6 -> 1.9.7
----------------------
  - fixed bug in setup.py with Python 3 when ICU_VERSION obtained from env
  - added workaround for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54249
  - added support for ICU 59.1

ovalhub's avatar
ovalhub committed
192
Version 1.9.5 -> 1.9.6
193
194
----------------------
  - turned icu into a package and moved docs.py into it
195
  - fixed a bunch of warnings about missing int/int32_t casts
196
  - added reduced version of missing in < 2.7 check_output() used in setup.py
197
  - added wrapper for MessageFormat::getFormatNames()
198
  - added check for ICU_VERSION env variable before calling icu-config
199
  - added wrappers for static Normalizer2 constructors that appeared in ICU 49
ovalhub's avatar
ovalhub committed
200
  - hopefully workedaround 'daylight' #define on Windows
201

ovalhub's avatar
ovalhub committed
202
Version 1.9.4 -> 1.9.5
203
204
----------------------
  - added icu-config --version check in setup.py to exclude libicule from libs
205
206
  - fixed bug with Python3.3+ <-> UnicodeString conversion with surrogate pairs
  - reworked Python3.3+ <-> UnicodeString with no allocations (Markus Scherer)
ovalhub's avatar
ovalhub committed
207
  - fixed bugs with 32bit Python2..Python3.2 <-> UnicodeString conversions
208
  - added conditionals around uses of features in newer ICUs (Keegan Parker)
209

ovalhub's avatar
ovalhub committed
210
Version 1.9.3 -> 1.9.4
211
212
----------------------
  - added wrappers for uloc_addLikelySubtags(), uloc_minimizeSubtags() on Locale
213
214
  - fixed bug in some script.cpp wrappers not accepting surrogate pairs
  - added wrapper for UnicodeString.countChar32() and test
215
  - fixed crasher due to ICUException not incref'ing members during copy
216
  - added support for ICU 58.1 (conditionally removed layout engine wrapper)
217
218
  - fixed bug in StringCharacterIterator's dealloc freeing random memory
  - reworked Python <-> Unicode conversions for Python 3.3+ to use new APIs
ovalhub's avatar
ovalhub committed
219

ovalhub's avatar
ovalhub committed
220
221
Version 1.9.2 -> 1.9.3
----------------------
222
  - added missing conditionals around uses of features in newer ICU versions
223
  - added wrappers for TimeZone::getIDForWindowsID, TimeZone::getWindowsID
224
  - added wrappers for DateTimePatternGenerator
225
  - added missing Context and BooleanAttribute wrappers on DateFormat
ovalhub's avatar
ovalhub committed
226
227
  - added support for ICU 57.1
  - build tested with Python 2.7.5, Python 3.5.1 and PyPy 2.2.1
228

ovalhub's avatar
ovalhub committed
229
230
Version 1.9 -> 1.9.2
--------------------
231
232
  - added MANIFEST.in to ensure nothing's missing in the 'sdist' package
  - enabled -Wwrite-strings and fixed warnings
ovalhub's avatar
ovalhub committed
233
  - added missing conditionals around uses of features in newer ICU versions
234

ovalhub's avatar
ovalhub committed
235
Version 1.8 -> 1.9
236
237
238
239
240
------------------
  - fixed utf-8 conversion error position reporting (bug 13113)
  - fixed delete/delete[] bug in common.cpp (Fredrik Roubert)
  - added support for ICU 54.1
  - added wrapper for USpoofChecker and related enums
ovalhub's avatar
ovalhub committed
241
242
  - added support for ICU 55.1
  - replaced UnicodeString idna methods with new uidna.h UTS #46 wrapper (55.1)
243
  - added wrapper for Char functions and related enums (from uchar.h)
ovalhub's avatar
ovalhub committed
244
  - added wrapper for Shape defines and shapeArabic() (from ushape.h)
245
  - added wrapper for RelativeDateTimeFormatter (bug 13115)
ovalhub's avatar
ovalhub committed
246
  - build tested with Python 2.7.5, Python 3.3.0 and PyPy 2.2.1
247

ovalhub's avatar
ovalhub committed
248
249
250
Version 1.7 -> 1.8
------------------
  - added wrapper for Locale::getRoot()
Jakub Wilk's avatar
Jakub Wilk committed
251
  - added tp_hash implementation for Locale type based on Locale::hashCode()
ovalhub's avatar
ovalhub committed
252
253
254
255
256
  - fixed bug 13112 (Markus Scherer)
  - added support for building with PyPy (tested on PyPy 2.2.1 / Python 2.7.3)
  - added Locale(lcid) constructor calling uloc_getLocaleForLCID()
  - added wrapper for CompactDecimalFormat and its createInstance() method

ovalhub's avatar
ovalhub committed
257
258
259
260
261
262
263
264
Version 1.6 -> 1.7
------------------
  - added missing #include for <unicode/uscript.h>
  - fixed issues building against ICU 4.2
  - added wrapper for Script.isRightToLeft() (bug 13081)
  - added support for ICU 53.1 (bug 13110)
  - added wrappers for other Script functions introduced in ICU 51

ovalhub's avatar
ovalhub committed
265
266
267
268
269
270
271
272
273
274
275
276
Version 1.5 -> 1.6
------------------
  - removed wrappers for some layoutengine.cpp internal flags (bug 13074)
  - added wrappers for ULocaleData functions (bug 13080)
  - added wrappers for uscript functions and UScriptCode enum (bug 13081)
  - generalized freebsd setup.py support (Laurence Parry)
  - added support for ICU 52.1
  - added wrapper for Locale::setKeywordValue()
  - added Locale::removeKeywordValue()
  - added support for ListFormatter
  - build tested with Python 2.7 and Python 3.3.0

ovalhub's avatar
ovalhub committed
277
278
279
280
281
282
283
284
285
286
287
288
Version 1.4 -> 1.5
------------------
  - added wrapper for MessageFormat::format(argumentNames, arguments, ...)
  - fixed bug in t_transliterator_filteredTransliterate passing UBool for int
  - added wrapper for DateFormat::format(Calendar)
  - added wrapper for Calendar::set(UCalendarDateFields field, value)
  - added wrappers for UnicodeString::toTitle() w/o iterator (Fredrik Roubert)
  - added support for ICU 50.1
  - improved test_Collator's testGetSortKey() (Markus Scherer)
  - added pypi classifiers to PyICU project info, including Python 3 tag
  - build tested with Python 2.7 and Python 3.3.0

ovalhub's avatar
ovalhub committed
289
290
291
292
293
294
295
296
297
298
299
Version 1.3 -> 1.4
------------------
  - fixed bug with default tzinfo set on ICUtzinfo type (bug 13038)
  - fixed bug 13040 (Martin Hosken)
  - added wrapper for Transliterator::toRules()
  - added missing wrapper for RuleBasedNumberFormat(URBNFRuleSetTag, Locale)
  - added support for ICU 49.1.1
  - implemented wrapper for new NumberFormat.parseCurrency()
  - fixed bug in CurrencyAmount.str() not calling correct getDouble() overload
  - added ScriptCode constants new in 49.0

ovalhub's avatar
ovalhub committed
300
301
302
303
304
305
306
307
308
Version 1.2 -> 1.3
------------------
  - fixed bug 13031
  - PyICU ready for Python 3.2 (tests pass 2to3'd) (Martin von Gagern)
  - added auto-conversion of test sources for Python 3 during setup
  - added support for LEFontInstance and LayoutEngine (Martin Hosken, bug 13035)
  - fixed bugs in RegexMatcher and RegexPattern not keeping their inputs
  - added support for ICU 4.8.1.1

ovalhub's avatar
ovalhub committed
309
310
311
312
313
314
315
316
317
318
319
320
Version 1.1 -> 1.2
------------------
  - fixed bug 13009 (Martin von Gagern)
  - fixed bug 13011 (Martin von Gagern)
  - some unit test beautification (Martin von Gagern)
  - added macros for RTTI checks (Martin von Gagern)
  - fixed bug 13012
  - fixed bug 13013 (Yuriy Pilgun)
  - added wrappers for Locale::isBogus()/setToBogus() (Jimmy Yuen Ho Wong)
  - fixed bug 13022 (Martin von Gagern)
  - added support for ICU 4.8

321
322
323
324
325
326
Version 1.0 -> 1.1
------------------
  - added support for ICU 4.6
  - switched to using RTTI if ICU >= 4.6 instead of poor man's ICU RTTI
  - fixed bug with incorrect icu.VERSION string on Windows build

ovalhub's avatar
ovalhub committed
327
328
329
330
331
332
333
334
335
Version 1.0 -> 1.0.1
--------------------
  - removed variable length array uses in regex.cpp (Chandler Carruth)
  - fixed bug 12983
  - fixed bug with BreakIterator.setText() not keeping reference to text
  - fixed incorrect conditional <windows.h> include in locale.cpp (Ralf Haring)
  - fixed incorrect spellings of PyErr_SetFromWindowsErrWithFilename (ditto)
  - fixed incorrect declaration of PythonTransliterator (Christian Heimes)

ovalhub's avatar
ovalhub committed
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
Version 0.9 -> 1.0
------------------
  - added support for UnicodeSet, UnicodeFunctor, UnicodeFilter, UnicodeMatcher
  - added support for RegexPattern and RegexMatcher
  - added support for Normalizer
  - added support for UTransPosition (Christoph Burgmer)
  - added support for UTransPosition and UnicodeFilter methods to Transliterator
  - fixed bug in UnicodeString single character assignment method
  - added support for extending Transliterator from Python (Christoph Burgmer)
  - improved support for in-place operations on UnicodeStrings
  - added support for Transliterator::registerInstance (Christoph Burgmer)
  - added support for ICU 4.4
  - added support for Normalizer2, FilteredNormalizer2 if ICU version >= 4.4
  - added support for SelectFormat if ICU version >= 4.4
  - added support for TimeUnitFormat if ICU version >= 4.2
  - added support for PluralRules and PluralFormat if ICU version >= 4.0
  - added support for DateInterval, DateIntervalFormat if ICU version >= 4.0
  - added support for CurrencyPluralInfo if ICU version >= 4.2
  - added support for UnicodeSetIterator and UnicodeSet iterates via it
  - added support for SearchIterator and StringSearch
  - added some missing Collator and RuleBasedCollator methods
  - refreshed README and CREDITS
  - fixed bugs with UnicodeString-converted text arg ownership in iterators
  - added missing conditionals for features in ICU versions >= 4.0
  - README now marked-up with reStructuredText (Christoph Burgmer)
  - PyICU main module renamed to 'icu' (with deprecation warning for old name)
  - UnicodeString objects are now hashable
  - reviewed all wrapped ICU setters for parameter ownership
  - removed symbol prefixes from wrapped typed enums symbols
  - added ResourceBundle.setAppData() implementation that memory maps file

ovalhub's avatar
ovalhub committed
367
Version 0.8 -> 0.9
ovalhub's avatar
ovalhub committed
368
------------------
ovalhub's avatar
ovalhub committed
369
370
371
372
373
374
375
376
377
378
  - fixed 64-bit random crasher bug in registerType()/isInstance()
  - fixed bug 11548
  - added entries for freebsd7 to setup.py (Jan Gehring)
  - added support for building on Solaris (Christian Kesselheim)
  - added missing wrapper for Collator.getSortKey()
  - added support for built-in Transliterators (bug 12870)
  - removed support for ICU internal URES_TABLE32 ResourceBundle type
  - added support for TimeZone::getDSTSavings() (Jimmy Yuen Ho Wong)
  - added support for ICU 4.2
  - refreshed README
ovalhub's avatar
ovalhub committed
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414

Version 0.6 -> 0.8
------------------
  - ICUtzinfo and FloatingTZ types now written in C for faster performance
  - fixed bug 8180
  - fixed bug 9229
  - reworked FloatingTZ to optionally wrap a specific tzinfo instead of default
  - incorporated c++ patches by Fredrik Roubert
  - changed Exact unicode and string check to allow subclasses
  - replaced Makefile with setup.py for distutils-based build (Bernd Zeimetz)
  - PyICU supported with ICU 3.6 or 3.8
  - PyICU supported on 64-bit processors (bug 11394)

Version 0.5 -> 0.6
------------------
  - integrated patch to support Python 2.3 and MSVC 6
  - changed naive datetime to UDate conversion to use ICUtzinfo.default
  - fixed bug not checking return value of PyImport_ImportModule
  - PyICU now wraps ICU 3.6
  - added support for building with Python 2.5
  - added support for CharsetDetector and CharsetMatch C ICU APIs
  - added UnicodeString.encode() to access compression and conversion APIs
  - added support for IDNA APIs to UnicodeString
  - added support for MessageFormat(string) %(objs) style formatting
  - fixed bug in Formattable constructor not accepting a python unicode string
  - added support for BreakIterator::DONE
  - added support for BreakIterator::getText()
  - added support for BreakIterator::nextBoundary() to bypass iterator code

Version 0.4 -> 0.5
------------------
  - changed OS X linking to resolve all symbols at link time
  - Collator.getCollationKey() wasn't working
  - added Collator.getCollationKey(string) overload
  - using u_strFromUTF32() now to convert 4 byte unicode to 2 byte unicode
  - improved support for Python 2.3
Jakub Wilk's avatar
Jakub Wilk committed
415
  - PyICU no longer uses SWIG, wrappers are written by hand
ovalhub's avatar
ovalhub committed
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
  - all APIs returning UnicodeString now return 'unicode'
  - all APIs returning UnicodeString also take a UnicodeString arg to return it

Version 0.3 -> 0.4
------------------
  - PyICU now wraps ICU 3.4
  - added Calendar.getType(), changed Calendar.__repr__()
  - added Locale.createKeywords(), Locale.getKeywordValue()
  - moved Locale to locale.i and added support for ResourceBundle
  - replaced TimeZone.adoptDefault() with TimeZone.getDefault()

Version 0.2 -> 0.3
------------------
  - added support for CanonicalIterator, CollationElementIterator
  - added static formatMessage() method on MessageFormat
  - added static encoding helper methods to UnicodeString
  - reworked PyString_AsUnicodeString() to report decode errors by default
  - added support for Collator, RuleBasedCollator and CollationKey
  - added test_Collator unit tests
  - added test_MessageFormat unit tests
  - fixed various MessageFormat bugs
  - fixed bug in ICUtzinfo, now returning copy of ICU TimeZone instance
  - fixed bug in TimeZone.adoptDefault() not checking type of pointer
  - added __eq__, __ne__ and __hash__ methods to ICUtzinfo
  - MessageFormat.getFormats() now returns copies of concrete formats

Version 0.1 -> 0.2
------------------
  - added most missing UnicodeString methods
  - added support for the BreakIterator and CharacterIterator classes

Version 0.0 -> 0.1
------------------
- initial release