1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 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 367 368 369 370 371 372 373 374 375 376 377 378 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 415 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 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481
|
Version 2.10.1 -> 2.10.2
------------------------
- fixed bug in logic computing max_char for PyUnicode_New()
Version 2.10 -> 2.10.1
----------------------
- fixed build issues with ICU < 72
Version 2.9 -> 2.10
-------------------
- fixed bug with building on MacOS when pkg-config is present
- added link to note about building everything from sources
- added wrapper for u_cleanup/u_init sequence as ResourceBundle.resetICU()
- added wrapper for TimeZone.getRegion()
- added support for ICU 72.1
- added wrapper for UnicodeSetIterator::skipToStrings()
- added wrapper for DisplayOptions, DisplayOptions::Builder and related enums
- added wrapper for FormattedNumber::getNounClass()
- added wrapper for NumberFormatter.displayOptions()
Version 2.8.1 -> 2.9
--------------------
- added support for ICU 71.1
- added wrappers for UMeasurePrefix, MeasureUnit.withPrefix()|getPrefix()
- added UNumberRoundingPriority, FractionPrecision.withSignificantDigits()
- added UNumberTrailingZeroDisplay, Precision.trailingZeroDisplay()
Version 2.8 -> 2.8.1
--------------------
- renamed _icu extension module to _icu_ and moved it into icu module
- moved icu python module sources into py directory
- deleted long deprecated PyICU.py file
Version 2.7.4 -> 2.8
--------------------
- fixed test failure in test_DateTimeParserGenerator.py with version 70.1rc
- added wrappers for UCurrNameStyle and for ucurr_getName() onto CurrencyUnit
- added support for ICU 70.1
- added FieldPosition-less overloads to RuleBasedNumberFormat.format()
- added pyproject.toml file to (also) build via python -m build
Version 2.7.3 -> 2.7.4
----------------------
- added wrappers for UWordBreak and BreakIterator.getRuleStatusVec()
- added wrappers for MessagePattern (Roman Kalukiewicz)
- added wrapper for Collator::getKeywordValuesForLocale()
Version 2.7.2 -> 2.7.3
----------------------
- added wrappers for LocaleMatcher.acceptLanguage|FromHTTP()
Version 2.7.1 -> 2.7.2
----------------------
- worked around limitation of Visual Studio 2017 (cgohlke)
- added missing test and samples files to distribution (foutrelis)
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()
Version 2.6 -> 2.7
------------------
- added wrapper for Locale.canonicalize()
- added wrappers for MeasureUnit.product(), reciprocal(), getDimensionality()
- added wrapper for MeasureUnit.forIdentifier()
- implemented *, /, **, 1/m for MeasureUnit in terms of product and reciprocal
- added wrappers for BasicTimeZone, RuleBasedTimeZone, VTimeZone
- added wrappers for TimeZoneTransition, TimeZoneRule and its subclasses
- added wrappers for DateTimeRule, DateRuleType, TimeRuleType
- added support for ICU 69.1
Version 2.5 -> 2.6
------------------
- added missing BreakIterator.getRuleStatus() wrapper
- added wrappers for UBiDi API
- added wrappers for UBiDiTransform API
- 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)
Version 2.4.3 -> 2.5
--------------------
- added support for turning on -pedantic with gcc or clang
- 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
- added icu.ICU_MAX_MAJOR_VERSION global set to largest ICU version supported
Version 2.4.2 -> 2.4.3
----------------------
- added Char.getPropertyValueName() and Char.getPropertyValueEnum()
- fixed build errors with PythonReplaceable for ICU < 55
Version 2.4.1 -> 2.4.2
----------------------
- fixed build issues with ICU < 59
Version 2.4 -> 2.4.1
--------------------
- added missing header files to MANIFEST.in
Version 2.3.1 -> 2.4
--------------------
- workedaround mystery variations in test_Script.testSurrogatePairs
- added support for RuleBasedBreakIterator.getBinaryRules()
- added support for RuleBasedBreakIterator(binaryRules)
- 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
- added wrappers for LocaleMatcher
- added wrappers for LocaleMatcher::Builder as LocaleMatcher.Builder
- added wrappers for LocaleMatcher::Result as LocaleMatcher.Result
- added support for constructing Locale objects from keywords
- locale.addLikelySubtags() and minimizeSubtags() now modify locale in place
- added wrappers for BytesTrie, BytesTrie.Builder|Iterator|State
- added wrappers for UCharsTrie, UCharsTrie.Builder|Iterator|State
- added wrappers for GenderInfo
- added support for implementing a subclass of Replaceable in Python
- added support for using PythonReplaceable with Transliterator methods
Version 2.3 -> 2.3.1
--------------------
- fixed build error with ICU 61, ICU 62
Version 2.2 -> 2.3
------------------
- 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)
- added support for ICU 64.1
- filled out wrappers for missing NumberFormatter methods and classes
Version 2.1 -> 2.2
------------------
- added wrappers for AlphabeticIndex and ImmutableIndex
- added wrapper for NumberingSystem
- added wrapper for UGraphemeClusterBreak enum
- added wrapper for UHangulSyllableType enum
- added wrappers for Edits and Edits::Iterator and Edits support with CaseMap
- added support for ICU 63.1
- added wrappers for Locale::to|fromLanguageTag
- added wrappers for UIndicPositionalCategory, UIndicSyllabicCategory enums
- added wrapper for UVerticalOrientation enum
Version 2.0.6 -> 2.1
--------------------
- added wrapper for ULineBreak enum
- fixed crasher with pypy3 6.0
Version 2.0.5 -> 2.0.6
----------------------
- fixed another build error with ICU < 62
Version 2.0.4 -> 2.0.5
----------------------
- fixed build error with ICU < 62
- added casemap.h to MANIFEST.in
Version 2.0.3 -> 2.0.4
----------------------
- added support for ICU 62.1
- added support for CaseMap (without Edits)
Version 2.0.2 -> 2.0.3
----------------------
- added wrappers for Region class and URegionType enum
- added wrappers for MeasureFormat.formatMeasure and formatMeasurePerUnit
- fixed build errors with ICU 59.1
- replaced occurrences of nullptr with NULL, -std=c++11 req'd w/only ICU >= 60
Version 2.0.1 -> 2.0.2
----------------------
- fixed build error with ICU < 53
Version 2.0 -> 2.0.1
--------------------
- made Measure wrapper abstract when building with ICU < 53.1
- str(Measure) uses NumberFormatter when available
Version 1.9.8 -> 2.0
--------------------
- use icu-config for configuring compiler and linker (Constantine Peresypkin)
- added wrappers for UBidiPairedBracketType enum
- added wrappers for UWordBreakValues enum
- added wrappers for UJoiningGroup enum
- 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)
- 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)
- added wrapper for UMemory and made it UObject's base
- removed unused docs.py
Version 1.9.7 -> 1.9.8
----------------------
- fixed bugs in "UnicodeString as sequence"; it's a sequence of 16-bit UChar
- added support for ICU 60.1
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
Version 1.9.5 -> 1.9.6
----------------------
- turned icu into a package and moved docs.py into it
- fixed a bunch of warnings about missing int/int32_t casts
- added reduced version of missing in < 2.7 check_output() used in setup.py
- added wrapper for MessageFormat::getFormatNames()
- added check for ICU_VERSION env variable before calling icu-config
- added wrappers for static Normalizer2 constructors that appeared in ICU 49
- hopefully workedaround 'daylight' #define on Windows
Version 1.9.4 -> 1.9.5
----------------------
- added icu-config --version check in setup.py to exclude libicule from libs
- fixed bug with Python3.3+ <-> UnicodeString conversion with surrogate pairs
- reworked Python3.3+ <-> UnicodeString with no allocations (Markus Scherer)
- fixed bugs with 32bit Python2..Python3.2 <-> UnicodeString conversions
- added conditionals around uses of features in newer ICUs (Keegan Parker)
Version 1.9.3 -> 1.9.4
----------------------
- added wrappers for uloc_addLikelySubtags(), uloc_minimizeSubtags() on Locale
- fixed bug in some script.cpp wrappers not accepting surrogate pairs
- added wrapper for UnicodeString.countChar32() and test
- fixed crasher due to ICUException not incref'ing members during copy
- added support for ICU 58.1 (conditionally removed layout engine wrapper)
- fixed bug in StringCharacterIterator's dealloc freeing random memory
- reworked Python <-> Unicode conversions for Python 3.3+ to use new APIs
Version 1.9.2 -> 1.9.3
----------------------
- added missing conditionals around uses of features in newer ICU versions
- added wrappers for TimeZone::getIDForWindowsID, TimeZone::getWindowsID
- added wrappers for DateTimePatternGenerator
- added missing Context and BooleanAttribute wrappers on DateFormat
- added support for ICU 57.1
- build tested with Python 2.7.5, Python 3.5.1 and PyPy 2.2.1
Version 1.9 -> 1.9.2
--------------------
- added MANIFEST.in to ensure nothing's missing in the 'sdist' package
- enabled -Wwrite-strings and fixed warnings
- added missing conditionals around uses of features in newer ICU versions
Version 1.8 -> 1.9
------------------
- 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
- added support for ICU 55.1
- replaced UnicodeString idna methods with new uidna.h UTS #46 wrapper (55.1)
- added wrapper for Char functions and related enums (from uchar.h)
- added wrapper for Shape defines and shapeArabic() (from ushape.h)
- added wrapper for RelativeDateTimeFormatter (bug 13115)
- build tested with Python 2.7.5, Python 3.3.0 and PyPy 2.2.1
Version 1.7 -> 1.8
------------------
- added wrapper for Locale::getRoot()
- added tp_hash implementation for Locale type based on Locale::hashCode()
- 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
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
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
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
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
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
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
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
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)
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
Version 0.8 -> 0.9
------------------
- 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
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
- PyICU no longer uses SWIG, wrappers are written by hand
- 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
|