ICU Meeting Minutes 2012 (Archived)

Current and past meeting minutes

2012/12/26 no meeting

2012/12/19

  1. ICU 50.1.1 completed
  2. API proposals (ICU API proposal status)
  1. DateFormatSymbol values for getting/setting short weekday names (Peter; #9497, reviewer Markus), approved
  2. conversion: add "good one-way" mapping type (Markus; designated API reviewer: Mark; ticket #9602)
  1. due for next meeting, but does anyone have concerns or feedback?
  2. Everyone in the call agreed to approve this. - approved
  1. Currency[Meta]Info isTender/onTender - approved
  1. ICU’s Islamic calendar implementation (yoshito)
  1. ICU - religious vs civil
  2. Microsoft - HijriCalendar (“Kuwait” algorithm), UmAlQuraCalendar
  3. http://www.staff.science.uu.nl/~gent0113/islam/islam_tabcal.htm
  1. 4 different intercalary schemes - ICU ‘civil’ uses Type II
  2. 2 possible epoch dates for each scheme
  1. ICU religious - based on CalendarAstronomer class
  1. A CalendarAstronomer constructor with longitude/latitude is not used by IslamicCalendar implementation
  1. CLDR ticket#5525 [http://unicode.org/cldr/trac/ticket/5525]
  1. Meeting time: CLDR will change to 8-9:30 PT in February (2013-feb-06)
  1. ICU PMC - 10-11:30 PT - starting Feb 6 2013.
  1. IncomingBugs • BuildStatus • perf
  2. FYI: http://googledevelopers.blogspot.com/2012/12/putting-zurich-before-arhus.html 
  1. implemented in Chrome via ICU4C
  1. Discuss CurrencyMetaInfo email thread sent to icu-core.
  1. agreed to change the API docs

2012/12/12

  1. API proposals for ICU 51 (ICU API proposal status)
  1. Region APIs for C++, #8451. Approved
  2. NumberingSystem::getName(), #7599. Approved
  3. Discuss questions regarding #9508, currency “isTender”. See https://docs.google.com/a/google.com/document/d/1hGbT-RuBcLFjEdmfCnLBracc5rpbGZSe4mnY9jRYp0U/edit#heading=h.9xjrp1cltuqc. Travis to update proposal as in Mark’s email from nov28, as modified in proposal status doc, and resend to icu-design.
  4. SpoofChecker additions for J, #7645.
  5. DecimalFormat set/getParseMaxDigits for J, #9641. Approved
  1. conversion: add "good one-way" mapping type (Markus)
  1. ticket #9602
  2. Do we need or want an “API proposal” for this? - yes
  1. ICU 50.1.1 maint release
  1. CLDR 22.1.1 - tag only release
  1. Turkish lira
  2. Thai exemplar
  3. LDML2ICU / currency from issue (tool)
  1. Target date: Dec 17 (Monday)
  2. ICU4C
  1. Turkish lira http://bugs.icu-project.org/trac/ticket/9783 (merged on 12/13)
  2. mingw-w64 build issue http://bugs.icu-project.org/trac/ticket/9728 (merged)
  3. Layout engine change for harfbuzz http://bugs.icu-project.org/trac/ticket/9306 (merged)
  4. Locale::getDefault() threading http://bugs.icu-project.org/trac/ticket/9737 (merged)
  5. OS/400 test failures http://bugs.icu-project.org/trac/ticket/9714 (merged)
  6. VS 2010/2012 issues http://bugs.icu-project.org/trac/ticket/9748 (merged)
  7. UNUM_PARSE_INT_ONLY / grouping sep http://bugs.icu-project.org/trac/ticket/9780 (merged)
  8. Decimal format affixes issue http://bugs.icu-project.org/trac/ticket/9677 (merged)
  9. Date parsing regressions: C fix for #9789
  1. ICU4J
  1. Turkish lira http://bugs.icu-project.org/trac/ticket/9783 (merged on 12/13)
  1. Normalizer crash http://bugs.icu-project.org/trac/ticket/9774 (merged on 12/13)
  2. Thai punct exemplar http://bugs.icu-project.org/trac/ticket/9785 (merged on 12/13)
  3. Date parsing regressions http://bugs.icu-project.org/trac/ticket/9789 (merged on 12/13)
  1. Others?
  1. Date parsing regressions: tickets #9789 (markus) - yes - added in the list above
  2. ICU4J - ready, ICU4C - Markus will merge the equivalent fixes to C++ by EOD Dec 13
  1. constant array initialization in Java (Travis)
  1. this is actually about ICU4J’s LocaleIDs.java which has a threading bug
  1. Change meeting time to 10:00–11:30 PT? (January...) [Mark]
  1. Peter: How about 10:30-12? Need a break after CLDR for follow-up items.
  2. Mark to ask CLDR to move their meeting back to 8:00-9:30 PT.
  1. Perf
  1. http://bugs.icu-project.org/trac/ticket/8340 
  1. IncomingBugs • BuildStatus • perf
  2. J

2012/12/05

(Yoshito not available)

  1. Turkish Lira in ICU 50 ( John ) - http://bugs.icu-project.org/trac/ticket/9783
  1. in CLDR/ICU 50 - Agreed to do in maintenance release.
  2. + ICU4J maint 50.1.1
  1. API proposals for ICU 51 (ICU API proposal status)
  1. Preliminary discussion of SpoofChecker (Mark; designated API reviewer: Andy; ticket #7645)
  2. Configurable maximum digit parsing in DecimalFormat ICU4J (Michael; designated API reviewer: Yoshito; ticket #9641)
  1. IncomingBugs • BuildStatus • perf

2012/11/28

  1. API proposals for ICU 51
  1. deprecate C++ RuleBasedCollator::getMaxExpansion() (Markus; designated API reviewer: Mark; ticket #9758) - Approved
  2. Add isLegalTender() to CurrencyMetaInfo.CurrencyInfo (Travis; designated API reviewer: Mark; ticket #9508) - needs more work
  1. Mark: may just need default isLegalTender(void): anytime, anywhere
  2. note: CurrencyMetaInfo uses filters by region/date to return relevant CurrencyInfo
  3. better API: add CurrencyFilter to restrict to only legal-tender currencies
  1. this is already possible/could just be documented:
  2. is legal tender: CurrencyFilter.TODO
  3. is not legal tender: TODO
  4. change to propose convenience methods instead
  1. ucal_getTimeZoneID (Yoshito; API reviewer: Steven; ticket: #9735) - Approved
  1. ICU 50 postmortem
  1. more time between RC and release
  1. Steven: +needed to start platform tests (EBCDIC/Win/etc) earlier
  2. Steven: +needed to start legal/(C) review earlier, on every milestone
  1. Revision document for proposals?
  1. Steven https://docs.google.com/document/d/1SjKUDUeCId8vJUVzjyFyVN05hm5VIf4AHXLuc16zgqI/edit
  2. Markus to start a skeleton doc, look at Steven’s
  1. new doc is here: ICU API proposal status
  1. Legal/copyright change
  1. Steven: proposal:   anytime there’s a new/updated legal notice,  ( committers/reviewers to help enforce this )
  1. notify the PMC first ( as if an API review )- if it might be contentious, would be better to discuss it first.
  2. update the top level license.html
  1. ICU 50.1.1 maint release? (Steven)
  1. J:  
  1. turkish lira http://bugs.icu-project.org/trac/ticket/9783
  2. Normalizer crash #????
  1. C: - tracking ticket http://bugs.icu-project.org/trac/ticket/9723
  1. ICU4C: An issue has been reported about the UChar type in ICU4C. See the bug for a workaround. (#9728)  - merged into maint-50 r32902
  2. EBCDIC test fixes
  1. 9711 - closed, was already in 50.1
  2. 9714 format failures (ebcdic and mingw) - merged
  3. 9729 - already fixed in #9714
  1. #9306 (r32804) -- add an @internal function to sync with HarfBuzz’s replacement layout engine reviewed and MERGED
  2. MSVC 2010/2012 Win8 compilation fixes (#9748) - closed, not merged yet. merged...
  3. ICU4C: There is a known issue with optimization under Visual Studio 2012 builds.  There is no known workaround at this point, but Microsoft have reproduced the issue. (#9693) NO WORKAROND OR FIX
  4. ICU4C: There are some test failures under Windows 8. There is no known workaround, however, only locales with '@compat=host' requesting Windows format are affected. (#9751) NO WORKAROUND OR FIX
  5. http://bugs.icu-project.org/trac/ticket/9767   - MINGW library - closed
  6. http://bugs.icu-project.org/trac/ticket/9737 merged
  7. +turkish lira http://bugs.icu-project.org/trac/ticket/9783 not implemented
  8. http://bugs.icu-project.org/trac/ticket/9780 parse int only grouping sep merged
  9. http://bugs.icu-project.org/trac/ticket/9677  positive prefix ignored merged
  1. Target: December 12 -http://bugs.icu-project.org/trac/ticket/9723  (9651 was a dup, will be future ICU 50.X
  1. Resurrect ures_tryByKeyWithFallback discussion (That thread sort of died a month ago with a question that Markus posed). We don’t need to solve it in this meeting, but we should come up with a couple of research action items so that we continue to drive progress here.)
  1. Travis & Markus & Mark: review common CLDR/ICU data fallback patterns & common implementation code patterns
  2. review why ures_getByKeyWithFallback() does not work with paths, although the code looks like it wants to handle paths
  3. come up with a proposal of either internal API or maybe even something public
  4. Yoshito’s old doc about resource bundle issues
  1. IncomingBugs • BuildStatus • perf

2012/11/21 (Canceled/Thanksgiving)

2012/11/14

  1. API proposals for ICU 51
  1. provide display context for locale display names & date formatting (Peter; designated API reviewer: Yoshito (& Markus); ticket #9643) - Approved
  1. latest e-mail proposal Oct 9, “ICU API proposal revision: provide display context for locale display names & date formatting”
  2. One suggestion, to make DisplayContext constructor private, already done
  1. Add NumberType to PluralRules: NumberType as method parameter vs. factory parameter (Mark)
  1. Ok to add NumberType, and add factory method overload that takes it
  2. Enum constants: NumberType.INTEGER_ONLY, NumberType.ANY
  3. Mark to send new API proposal.
  1. PluralRules: issue in ticket comment #2 eg “other” being used as fractional bucket (Mark)
  1. Mark & Markus to study feasibility of changing the plural rules for affected (Slavic) languages
  1. Schedule - consensus from CLDR TC on Nov 14 (from CLDR spreadsheet) - ICU PMC agreed on the schedule below.

quarter

month halves

consensus 20121114

ICU

q1

jan1..15

Resolution

q1

jan16..31

Resolution

q1

feb1..15

Baking

ICU feature freeze feb 15

q1

feb16..29

Final Candidate period

ICU RC feb 29

q1

mar1..15

Final Candidate + release

ICU release mar15

q1

mar16..31

Tooling (+beta submission)

q2

apr1..15

Tooling (+beta submission)

q2

apr16..30

Submission

q2

may1..15

Submission

q2

may16..31

Submission

q2

jun1..15

Vetting

M1 - Jun 15 (optional)

q2

jun16..30

Vetting

q3

jul1..15

Resolution

q3

jul16..31

Resolution

q3

aug1..15

Baking

ICU feature freeze aug 15

q3

aug16..31

Final Candidate period

ICU RC aug 31

q3

sep1..15

Final Candidate + release

ICU release sep15

q3

sep16..30

Tooling (+beta submission)

q4

oct1..15

Tooling (+beta submission)

q4

oct16..31

Tooling (+beta submission)

q4

nov1..15

Submission

q4

nov16..30

Submission

q4

dec1..15

Vetting

M1 - Dec 15 (optional)

q4

dec16..31

Vetting (1 week)

Final Candidate = no changes except fixes revealed by ICU testing, no structure changes

  1. ICU 51 milestone / release schedule (based on the CLDR/ICU schedule proposal above)
  1. GA: 2013-03-13
  2. RC: 2013-02-27
  3. Feature Freeze: 2013-02-13
  4. Milestone: 2012-12-19 - Skip milestone for 51
  1. Close 51M1 milestone, then move tickets over to 51
  1. Yoshito will update ICU project page to put new dates for 51
  1. #9730 ant build script fix to maint-50 (yoshito) - Approved
  2. UChar / char16_t [C++11] issue (steven)
  1. #9728 for ICU4C 50.1.1?
  1. ICU Resource bundle fallback: Making this easier (Travis)
  1. look up by path [User need at least without fallback, internal need]
  2. fallback hits root, need to try different path (sawtooth lookup pattern) [internal need]
  3. need to find out whether result of “EUR” was real or synthesized (code fallback) [User need]
  4. need to stop before root (return null). [internal need, maybe User need]
  5. Googlers to put together strawman.
  1. IncomingBugs • BuildStatus • perf
  2. 2012j ?

2012/11/07

  1. Conflicts with UTC meeting: Peter & Mark will not attend
  2. API proposals for ICU 51
  1. ?
  1. ICU 50 - post release tasks
  1. BRS
  1. ICU 51 schedule
  1. Need to decide at least the very next milestone (M1) date
  2. roughly 6 month development cycle - is two milestones (~ 2 months for each cycle) appropriate? - markus: could be one milestone - one milestone or release per quarter
  1. IncomingBugs • BuildStatus • perf

2012/10/29 Monday 10:30PT

  1. ICU 50
  1. BRS
  2. tz 2012h
  3. review
  4. trunk reopens when? closed except for 50 release work until eod Thu
  1. API proposals for ICU 51
  1. U8_GET_OR_FFFD(), U8_NEXT_OR_FFFD(), U8_PREV_OR_FFFD() (Markus; designated API reviewer: Andy; ticket #9662) - Approved
  2. U8_NEXT etc.: handle NUL-terminated strings (Markus; designated API reviewer: Andy; ticket #9664) - Approved 
  1. IncomingBugs • BuildStatus • perf

2012/10/24

Canceled due to conflict with Unicode conference

2012/10/17

  1. ICU PMC call on 10/24 - cancelled
  2. ICU 50 RC
  1. BRS
  2. CLDR 22.1 data integration status/plan - (JCE) - Official run starting later today - working locally C working - J has only 33 errors - should go quickly. Target no later than Monday to be done - maybe Friday if all goes well.
  3. Update API change reports
  4. Compiler Warnings in C. There are a fair number. Fix or let them go for this time?
  1. #9671
  2. #9672
  1. API proposals for ICU 51
  1. udat.h skeleton constants: fix, add, deprecate parallel to Java (Markus; designated API reviewer: Mark; ticket #9631) - Approved
  2. provide display context for locale display names & date formatting (Peter; designated API reviewer: Yoshito (& Markus); ticket #9643) - postpone decision until 10/31
  1. latest e-mail proposal Oct 9, “ICU API proposal revision: provide display context for locale display names & date formatting”
  2. One suggestion, to make DisplayContext constructor private, already done
  1. Maybe new Trac ticket types? (Sort of replace the old “docs” component) (Markus)
  1. apidocs
  1. Example:  http://bugs.icu-project.org/trac/ticket/7400 - would make it clear this was a doc change only
  1. userguide
  1. srl: no code- just Task?
  2. Example: http://bugs.icu-project.org/trac/ticket/9658 - just a userguide update.
  1. existing types: unknown, defect, enhancement, task, ongoing
  2. Markus to add apidocs/userguide ‘types’ - done
  1. New trac component: bidi?
  1. ok - added
  2. yoshito to add bidi - done - Markus did document on http://site.icu-project.org/processes/ticket-lifecycle
  1. Java serialization backwards compatibility, how extensive to make this? (Yoshito, Peter)
  1. Must not produce crash (e.g. NPE from unset new field)
  2. Need not produce the same results, but maintain compatibility if easy
  3. Add policy to coding guidelies (Yoshito will send draft)
  1. IncomingBugs • BuildStatus • perf (new!)

2012/10/10

  1. ICU 50 code freeze, code reviews, release tasks
  1. Code reviews done by EOD tomorrow, Oct 11 13:59:59 Niue Time
  2. Code changes from review feedback by EOD Monday, Oct 15
  3. CLDR 22.1 integration maybe by Mon Oct 22?
  4. ICU 50 RC - new date: Oct 24 or earlier if possible, maybe as early as Oct 22
  5. ICU 50 final release: Fri Nov 2 (Yoshito will update public schedule)
  6. Update version, fix timebombs
  1. J, Yoshito - done
  2. C, Peter - will do shortly => now done
  1. ICU 50.1 not done yet (no reviewer)
  2. BRS
  1. API proposals for ICU 50
  1. Removing @draft com.ibm.icu.util.TimeZone.TimeZoneLogger (Yoshito; designated API reviewer: Michael; ticket #9268) - Approved
  2. PluralRules.getKeywordStatus() without NumberType (Mark; designated API reviewer: Markus; ticket #8782) - Approved
  1. was approved before with enum NumberType
  2. follow-up to support integers-only rules: ticket #9632
  1. Possible ICU 50.2 for bug fixes? (Peter)
  1. 50.x: No new API
  2. CLDR will consider next week whether to add a 22.2 release
  3. Yes, I want to move my non-API bugs into either a 50.2 or 50.1.1
  4. Question: can tech-preview API go into 50.x? I would think so. NO
  1. Maybe new Trac ticket types? (Sort of replace the old “docs” component) (Markus)
  1. apidocs
  2. userguide
  3. existing types: unknown, defect, enhancement, task, ongoing
  4. postponed to next week
  1. Design issue (can postpone) http://bugs.icu-project.org/trac/ticket/9632#comment:2 
  2. IncomingBugs • BuildStatus • perf (new!)

2012/10/03

http://en.wikipedia.org/wiki/German_reunification

  1. API proposals ( perhaps use a document? )
  1. [non-public API]: DangiCalendar in ICU4J (Yoshito; designated reviewer: Peter; ticket#9255) - Approved
  1. Zu Kim’s comment about the name of the class - I asked around about the Korea calendar name ("DangiCalendar") and people seem to like it except that many people first try to read it as "dan-gee" (the correct pronounciation is "dan-ghi") and don't understand what that means. If you change the name to "DanGiCalendar" (with a capital 'G'), it might reduce the confusion.
  2. We’ll keep the current name “DangiCalendar”
  1. C UGenderInfo & C++ GenderInfo, make Java GenderInfo immutable (Travis; designated API reviewer: Doug; ticket #9598) - Approved
  1. Travis to send the final proposal to icu-design list
  2. Java GenderInfo is already immutable
  3. Travis did resend the C API during the meeting
  1. ucal_getNextTimeZoneTransitionDate (Peter; designated reviewer Yoshito; ticket #9606)
  1. Use enum to generalize the API - supporting also previous / inclusive context
  2. UBool as the return type / extra output param UDate *result
  3. Peter will send the final proposal to icu-design - Others provide feedback by Thu evening
  1. provide display context for locale display names & date formatting (Peter; designated reviewer Yoshito; ticket #9303)
  1. Converging on single enum with pairs of values (key and type) for internal use
  2. Concerns about ordering for Map interface (not relevant? Map cannot have duplicate keys)
  3. Markus will send suggested revision by e-mail - done
  4. Change existing draft 49 date formatter context APIs to @internal tech preview for ICU 50, add display name API as @internal tech preview?
  1. C++ API for Formatter Attributes via UNumberFormatAttribute (Steven; designated API reviewer: Yoshito; ticket #9613 ) - Approved
  2. C Exponent Presence Control (Steven; designated API reviewer: Yoshito; ticket #9546)
  1. exponent symbol = empty string -> exponent parse disabled, also no exponent output in formatting
  2. in addition to above behavior - explicit attribute - UNUM_PARSE_NO_EXPONENT (default false) to control enabled/disabled when “pattern” does not contain exponent
  3. Yoshito is going to clean up the description of the attribute - and send it to icu-design - feedback by Thu evening - done
  1. Decimal Format Max Integer Control, Case Sensitivity Control (Steven; designated API reviewer: Yoshito; ticket #9592) - Appproved with the enum naming - UNUM_FORMAT_FAIL_IF_MORE_THAN_MAX_DIGITS
  1. rename UNUM_FORMAT_FAIL_IF_MAX_DIGITS
  1. UNUM_FORMAT_FAIL_IF_TRUNCATED -- confusing if fractions are truncated
  2. UNUM_FAIL_FORMAT_IF_MORE_THAN_MAX_DIGITS
  3. UNUM_FORMAT_FAIL_IF_MORE_THAN_MAX_DIGITS -- consensus
  4. UNUM_FORMAT_FAIL_IF_TOO_MANY_DIGITS
  5. UNUM_FORMAT_FAIL_IF_MAX_DIGITS_TRUNCATES
  1. UNUM_PARSE_CASE_SENSITIVE - ok
  1. Move Java CompactDecimalFormat enums and factory methods down to CDF (Travis; designated API reviewer: Doug; ticket #9604) Approved - with one update - getInstance() instead of getCompactDecimalInstance()
  1. question: rename getCompactDecimalInstance() to getInstance() or keep the more explicit name?
  1. Yoshito: No concerns about duplicated signature in subclass - therefore, CompactDecimalFormat#getInstance() is fine.
  1. ICU 50 API promotion (Peter/Yoshito)
  1. Clarify the policy - document
  1. stay @draft for 1 year (2 major releses if we keep 2 major releases per year) by default
  2. please document at http://userguide.icu-project.org/design#TOC-ICU-API-compatibility
  1. ICU4J proposal
  1. DictionaryBasedBreakIterator was removed - don’t restore
  1. give notice: README (see diff), icu-support/design, download page - done
  1. ICU4C proposal
  1. IncomingBugs • BuildStatus • perf (new!)

2012/09/26

  1. API proposals
  1. Territory Containment: for ICU 50 Move ICU4J APIs from tech preview to draft (John; designated API reviewer: Steven; ticket #9587) http://site.icu-project.org/design/t/territory-region-apis Approved
  1. Agreed to have note about possible enum, but go for draft.
  1. Calendar: setTimeInMillis should throw an exceptiton if millis is out of range when not in lenient mode (Scott; designated API reviewer: Steven; ticket #9403) Approved / document rough max/min range per calendar
  1. lenient: pin, strict: throw/error
  2. Q: what about add/roll?
  1. Parse All Input:  (Steven, designated reviewer Yoshito)  http://bugs.icu-project.org/trac/ticket/9590 - Rejected, resubmit as setter/getter for the parse mode
  1. Markus: I think it would be better to have an attribute (setter/getter) on the Format object that specifies whether to parse whole or streaming-style. Then use the existing parseXyz().
  2. Format::setParseAttribute( UFMT_PARSE_WHOLE , status )  return unsupported error if not supported.
  3. And chain - return *this
  4. J: separate Parse / Format
  5. [Steven will defer to ICU 51 ]
  1. C UFormattable (Steven, pre-proposal - http://bugs.icu-project.org/trac/ticket/7912)
  1. investigate non-opaque union- has to be extensible.
  2. [Steven will defer to ICU 51]
  1. C++ CompactDecimalFormat (Travis; designated API reviewer; ticket #9543) Approved with the changes discussed below.
  1. options for getCDF
  1. NF returns NF (consistent with others)
  2. NF returns CDF
  3. CDF returns CDF - Agreed (C&J), move enum type (LONG/SHORT) if unused in other formats, add javadoc in NF pointing to subclasses.
  1. C: make C enum, not C++ enum
  1. Get rid of “final” on static factory methods.
  2. Travis to resend cleaned-up C/C++ proposal, and send email with Java API changes
  1. C Max Integer, and Case Sensitivity Control (Steven, reviewer Yoshito http://bugs.icu-project.org/trac/ticket/9592 ) Revisit with more investigation
  1. UNUM_TRUNCATE_INTEGER_DIGITS_UNNECESSARY -> UNUM_FAIL_FORMAT_IF_MORE_THAN_MAX_DIGITS ?
  1. J: max integer is ignored on format
  1. max digits: Find out current behavior (format, parse) x (C++, Java) and revisit
  1. ( will reply. )
  1. U_STABLE void U_EXPORT2
  2. unum_setAttribute(    UNumberFormat*          fmt,
  3.             UNumberFormatAttribute  attr,
  4.             int32_t                 newValue);
  5. unum_setAttribute ( fmt,  UNUM_FAIL_FORMAT_IF_MORE_THAN_MAX_DIGITS, 1);
  6. unum_setAttribute ( fmt,  UNUM_FAIL_FORMAT_IF_MORE_THAN_MAX_DIGITS, 0);
  7. UNUM_EXPONENT_PARSE_CASE_SENSITIVE or UNUM_PARSE_EXPONENT_CASE_SENSITIVE
  8. UNUM_PARSE_CASE_SENSITIVE? (not only the exponent)
  1. more data
  1. see also #8407 “Parsing exponent (e.g. 'E') in scientific numbers should be case-insensitive”
  1. Exponent Presence Control (Steven, reviewer Yoshito http://bugs.icu-project.org/trac/ticket/9546 ) Submit a new proposal with attribute UNUM_PARSE_EXPONENT
  1. "set to a zero-length string to disable exponent parsing" -- also disables exponent formatting?
  1. yes, would disable formatting.
  1. MD: would prefer a setting that people can turn off or off, rather than munging the data.
  2. UNUM_PARSE_EXPONENT, 0|1
  1. New calendar keyword value - “dangi” for the traditional Korean calendar (a minor variation of ChineseCalendar - using different epoch and time zone used for astronomical calculation)
  1. Agreed in CLDR TC
  2. See API proposals in the next week’s agenda
  1. IncomingBugs • BuildStatus • perf (new!)

2012/09/19

  1. API proposals
  1. ucol_nextSortKeyPart(): do not promise uncompressed sort keys (Markus; designated API reviewer: Yoshito; ticket #9534) - Approved
  1. Mark & Yoshito replied “agree”
  1. un-deprecate C++ CollationKey and Collator::getCollationKey() (Markus; designated API reviewer: Yoshito; ticket #9560) - Approved -
  2. ucol_strcollUTF8() (Yoshito; designated API reviewer: Markus; ticket #9567) - Approved with the update (ill-formed sequence will be treated as U+FFFD)
  1. Ill-formed UTF-8: ignore or treat like U+FFFD?
  1. UCA spec, section 7.1.1 Handling Ill-Formed Code Unit Sequence:
  2. […] to avoid security issues when using this strategy, ill-formed code sequences should not be given an ignorable primary weight. [...] The first approach is to weight each maximal ill-formed subsequence as if it were U+FFFD REPLACEMENT CHARACTER. [...]
  1. ICU4C TimeZoneNames and TimeZoneFormat (Yoshito; designated API reviewer: John; ticket#9338) - Approved
  1. Clarify getGMTOffsetDigits()’s behavior
  2. Review and reply to Markus’s questions
  1. deprecate & disable extended RBC.getRules() (Markus; designated API reviewer: Mark; ticket #9512) - need Peter’s confirmation - Mac OS X code currently calls - Withdrawn, put comments in root.txt
    ucol_getRulesEx(col, UCOL_FULL_RULES, dest, capacity);  - why?
  1. converting rules to a different form for use with database, while making some custom changes
  2. need to keep at least as functional exported form, can be deprecated / marked internal / etc.
  1. port JAVA version of CompactDecimalFormat to C++. Issues: (tkeep)
  1. CompactDecimalFormat is NOT a DecimalFormat. It should inherit directly from NumberFormat
  1. Mark disagrees...
  1. Is it o.k for CompactDecimalFormat::format() to create a new DecimalFormat instance on the stack?
  2. Mark suggests to refactor the internal DF::format() to take prefix & suffix strings, avoiding DF cloning and synchronization.
  3. Mark suggests to keep the DF’s prefix/suffix as additional, outer prefixes and suffixes.
  4. Steven had a better suggestion, which was just to write the prefix/suffix, without modifying state. AGREED
  1. UDAT_PATTERN (Steven; designated API reviewer: Markus; ticket #9569) - Approved
  1. Markus says LGTM
  2. Peter strongly supports this
  1. ICU50 release manager?
  1. ICU4C: Peter (note, out Oct 25-28)
  2. ICU4J: Yoshito
  1. IncomingBugs • BuildStatus • perf (new!)

2012/09/12

  1. Korean calendar support (Zu Kim, Yoshito, Peter)
  1. Zu Kim’s changes, modified after feedback from Yoshito: log/icu4j/branches/zkim/kocal
  2. Yoshito basically ok with changes, but changes basically based on locale while current implementation does not change calendar behavior per locale; maybe create KoreanCalendar subclass
  3. CLDR: we use locale keywords for calendar behavior, need to define one for Korean lunisolar calendar; don’t have a name yet; most data for this new keyword will be aliased to data for Chinese calendar
  4. Yoshito offers to take over and make the Korean calendar available as “tech preview” in ICU4J 50 (only Java), ticket #9255
  5. more complete “draft” API in ICU 51, with CLDR support; Peter offers to port to C++
  1. API proposals
  1. deprecate & disable extended RBC.getRules() (markus; designated API reviewer: Mark; ticket #9512)  - next week - wait for Apple’s response. OK from other participants.
  2. semantic API change to limit Calendar::setTimeInMillis millis value and set status of illegal argument error when outside of boundary. (scott: ticket #9403)
  1. ICU4C trunk exhaustive test failures in M2 - bmsMonkeyTest
  1. Yoshito will create two tickets
  1. timebomb - resolve issue
  2. make sure equivalent test is done against linear search (before removing BMS impl/test)
  1. mutex (Andy back in a week)
  1. API status promotion for ICU 50
  1. Assignment
  1. ICU4C: peter
  2. ICU4J: yoshito
  1. Target date : Oct 3 - for review
  1. Arabic sort order (Michael & Steven; re Markus discussion with Ramy Said, IBM EG)
  1. http://bugs.icu-project.org/trac/ticket/8050
  2. Goal: get concrete specification.
  3. Steven/Michael will follow up with ibm-egypt, get back to Markus
  4. May be conflating search collation with general collation behavior
  1. icu-project.org outage postmortem
  1. icu-project.org registered through 2021
  1. IncomingBugs • BuildStatus • perf (new!)

2012/09/05

  1. 50m2
  1. Open 50M2 tickets (not under review)
  2. 50M2 review
  3. BRS worksheet
  4. CLDR 22 delay to Sept. 10: New data bug, etc. CLDR#5275
  5. http://bugs.icu-project.org/trac/report/24 active tickets with no reviewer on trunk
  6. M2 release to September 7th, Friday after CLDR TC.
  1. 50.1 schedule
  1. CLDR 22.1 pushed from Oct 1 to Oct 31
  2. Current plan
  1. RC - Oct 10 -> Oct 17
  2. GA - Oct 31
  1. When do we make Java 6 the minimum? (Markus)
  1. Java 6 was released 2006-dec-11
  2. String.isEmpty()
  3. @Override of interface methods
  4. TODO: Yoshito to talk to Eclipse team
  1. IncomingBugs • BuildStatus • perf (new!)

2012/08/29

  1. 50M2
  1. CLDR integration status
  1. Most of data in C and J
  2. Some supplemental data will need update
  3. J - known issue / should be clean soon
  4. one more final update - Thu/Fri?
  1. Unicode 6.2 is on the trunk (with preliminary, post-2012aug-UTC data)
  1. Additional failure in RBBI test - John knows about this
  2. may have a minor update
  1. Open 50M2 tickets (not under review)
  2. 50M2 review
  3. BRS worksheet
  4. ICU4J API doc using Java 7 javadoc tool
  1. Back merge request #8561 ‘DigitList::set(double) ignores locale and generates NaN’ to C maint-4-8 (yoshito) - approved
  1. No public release required
  1. IncomingBugs • BuildStatus • perf (new!)

2012/08/22

  1. 50M2
  1. CLDR 22 status
  1. Integration in process. Release date set for Sept. 5, but some final release tasks may be delayed since Rick McGowan will be out (should not affect ICU milestone release)
  1. Aug 27 (Mon) - Final regular check-in for M2
  2. BRS (Yoshito will create)
  1. ICU Trac components (Markus)
  1. "build_c" has 178 tickets, which is probably too many. Ideas for breaking out sub-components? Maybe a "thread_memory_c" so that we keep true build issues & compiler warnings separate?
  1. maybe just platform-specific vs general?
  1. Steven will review the contents of current “build_c”
  1. Time away
  1. Peter out from Aug 28 afternoon through Sept 1
  2. Steven starting early / finishing early Aug 31
  3. Michael out Aug26 - Sep07
  4. Mark out Aug 16 - 24
  5. Dragan leaving IBM ICU team on Sept 1
  1. Unicode 6.2 (Markus)
  1. markus/uni62 branches up to date, pass tests
  2. except for problem with UCARules.txt failing UCAConformanceTest/TestRulesNonIgnorable
  3. do we want Unicode 6.2 in ICU 50m2 if Mark can get the UCARules.txt issues fixed?
  1. Peter: CLDR should catch up with segmentation XML files and maybe more
  2. Yoshito: not necessary in m2, don’t want to add work, otherwise ok
  3. Peter: advantage would be more testing
  4. maybe merge into m2, disable failing test case
  5. Markus will try to merge Unicode 6.2 to the trunk after John has merged CLDR 22 (first cut), maybe Friday or Monday.
  1. (Scott)
  1. id: scott_russell
  1. IncomingBugs • BuildStatus • perf (new!)

2012/08/15

  1. API proposals
  1. Yoshito: Pre-proposal - ucol_strcoll_utf8(const UCollator *coll, const uint8_t *source, int32_t sourceLength, const uint8_t *target, int32_t targetLength)
  1. about 60-70% faster comparing to ucol_strcoll converting both strings converted from UTF-8 to UChar (UTF-16) for Latin 1 with quick proto-type
  2. ucol_strcollIter with UCharIterator/UTF-8 is ~150% slower (takes ~2.5 times) comparing to existing ucol_strcoll after converting from UTF-8 to UChar for both input string
  3. Markus: I think the signature should be ucol_strcollUTF8(const UCollator *coll, const char *source, int32_t sourceLength, const char *target, int32_t targetLength, UErrorCode *pErrorCode)
  1. double-check on whether we usually have uint8_t* or char* -- Markus checked, we usually have char*
  1. 50M2 schedule - agreed
  1. 1 week slip to make some room for CLDR 22 data integration
  2. Sep 5 (Wed) - M2 release
  3. Sep 3 (Mon - labor day) Final check-in (based on code review feedback)
  4. Aug 30 (Thu) - Code review completion
  5. Aug 27 (Mon) - Final regular check-in for M2
  1. ICU Trac components: avoiding vague components (Markus)
  1. See Markus’ proposal to team list Friday aug10 “ICU Trac components: avoiding vague components”
  2. See new & obsolete components near the bottom of Yoshito’s components list
  3. Agreed as discussed via email
  4. Markus to create spreadsheet with then-current list of components (with description & owners), link from web site (ticket lifecycle) - done 20120815: http://site.icu-project.org/processes/ticket-lifecycle#TOC-Ticket-Components
  1. OpenJDK - JEP 127
  1. http://openjdk.java.net/jeps/127
  2. <java.home>/ext/cldrdata.jar including locale data generated from CLDR 21.0.1?
  3. system property - ‘ java.locale.providers’  to control providers enabled in preferred order
  1. supported keywords - JRE, SPI, CLDR, HOST
  2. default - JRE,SPI
  3. CLDR provider implementation - break iterator, collation and time zone names are excluded
  4. HOST locale provider support for Windows only at this moment (what about Apple  involvement in Java development?)
  1. Refactoring ICU4J utilities.jar (aka CLDR utilities)
  1. package com.ibm.icu.dev.test.util are currently used for test classes for some com.ibm.icu.util package classes and test utilities
  2. Move the utility classes (many of them are included in utilities.jar) to com.ibm.icu.dev.util package
  3. impact - CLDR / Unicode tools
  4. Plan: make the changes soon after CLDR 22 release
  5. Markus: also wait for Unicode 6.2, coordinate with Mark for his unicodetools
  1. ICU4J’s standard dev env to Eclipse 4.2 (Juno)
  1. So far, no issues found, no extra warnings
  2. Implication
  1. No special actions necessary
  2. However, ICU4J developers are encouraged to upgrade Eclipse version to 4.2 in near future
  3. All Eclipse compiler warnings are fixed before milestones/releases based with Eclipse 4.2.x
  1. Concerns
  1. Markus: What Eclipse version is in Ubuntu 12.04 Precise Pangolin? -> Eclipse 3.7.1
  1. https://launchpad.net/ubuntu/precise/+package/eclipse
  1. Please provide instructions for installing latest Eclipse on Linux version that otherwise includes an older version -> download, unzip, just run from there
  1. Incoming bugs
  1. Markus had defined default owners for new components, then changed some new tickets to specific components, which auto-assigned those tickets, which removes them from the regular IncomingBugs query, and it’s not possible to change them back to “somebody” to make them show up in that query again...
  2. Lesson: Do not set a default component owner when you add or modify a component!
  3. TODO: Could someone with superpowers please change the new components from the now-empty owner to “somebody”? Or is it ok to have empty owners fields on some components?
  4. http://bugs.icu-project.org/trac/ticket/9453
  5. http://bugs.icu-project.org/trac/ticket/9466
  6. http://bugs.icu-project.org/trac/ticket/9467
  7. http://bugs.icu-project.org/trac/ticket/9468
  8. http://bugs.icu-project.org/trac/ticket/9471
  1. IncomingBugs • BuildStatus • perf (new!)

2012/08/08

  1. API proposals
  1. deprecate C++ Collator::safeClone() (Markus; designated API reviewer: Andy; ticket #9460) - approved, srl to review the changes
  1. safeClone() does the same thing as clone(), seems only confusing
  1. maxVariable vs. C collator short definition strings (e.g., ucol_openFromShortString()) (Markus)
  1. see Markus email aug04 in icu-design thread “ICU API proposal: Collator variableTop -> maxVariable”
  1. attribute letter M
  2. value characters Z=space, P=punct, S=symbol, C=currency, 0=digit
  3. D=default seems unnecessary
  4. agreed as is; Steven to double-check syntax internally, and whether we need D=default; response: do not need D=default
  1. http://bugs.icu-project.org/trac/ticket/8984 Steven
  1. If any team member is aware that an ICU bug has CVE status, then
  1. mark as sensitive
  2. add CVE number
  1. Update info provided to external filers of ICU security tickets about how to handle them (mark as sensitive, etc.)
  2. Steven to backport #8984
  1. CLDR 22 status for ICU 50m2
  1. more data & voting than any release (~200k votes)
  2. more strict error checking
  3. may make schedule, may be pushed out a week or two
  4. if that happens, it would affect ICU 50m2 schedule by a similar amount, but that does not appear to be an issue for any ICU PMC org; Peter will let CLDR-dev know
  1. Compiler minimum requirements upgrade (e-mail from George this morning)
  1. C99? This change would primarily affect the --enable-strict option.
  1. This might be difficult, many clients want to work with older compilers (mostly have this, in download page)
  2. Would be nice to have a list of compilers we need to support
  1. I'd like to make it easier for ICU to be built with a GNU's implementation of the C++11 compiler.  How badly is -ansi needed for g++ when using --enable-strict?  I'd like to make it easier for ICU to use the u"" syntax when declaring UTF-16 strings by default.
  2. Options Controlling C Dialect
  1. -ansi: “In C mode, this is equivalent to -std=c90. In C++ mode, it is equivalent to -std=c++98.”
  2. Probably reasonable to remove -ansi for C++, use -pedantic or -pedantic-errors instead (we already build with gcc -pedantic)
  3. -ansi turns off some headers, which has always been a problem, and has lead to all sorts of workarounds
  4. Look at -strict options in clang
  1. Language Standards Supported by GCC
  1. “to obtain all the diagnostics required by the standard, you should also specify -pedantic (or -pedantic-errors if you want them to be errors rather than warnings)”
  1. C++0x/C++11 Support in GCC
  1. IncomingBugs • BuildStatus • perf (new!)
  1. new perf browser, example: http://icu-project.org/perfstats/#NumbFormat
  2. single dot: http://icu-project.org/perfstats/#Coll-da_DK-data1-StrCol-JDK

2012/08/01

  1. (Note: UTC meeting this week.)
  2. API proposals
  1. uenum: add API to create UEnumeration from list of strings (Steven; designated API reviewer: Markus; ticket #7197) - approved
  1. Copy the string contents, or alias the string pointers? If aliasing, then copy the array of pointers, or alias that too?
  2. Consensus: Do not copy anything, document that the string contents, and the array of string pointers, have to remain valid and unmodified during the lifetime of the UEnumeration object.
  1. ICU Trac components (Markus)
  1. ok to split some now? see email to team last week, “ICU Trac components, start splitting”
  1. only split for now - old components not removed, unclear items not moved to new locations.
  1. I propose that we add a new "locale_id" component which could take some tickets from "others". locale_id would be for the Locale class, BCP 47 stuff, regions & territories. Probably not for locale display names, that seems more like formatting.
  2. I propose that we split "format", adding more specific components "format_date", "format_number" (incl. currency), "format_message" (incl. select/plural/selectordinal) and "format_rbnf" (I know the 'f' is redundant). We should probably leave "format" for the rest, maybe like display names, lists, and gender-of-lists.
  3. I think we also pretty much agreed on adding "build_c" and "build_j", at least for issues related to build scripts and configuration. I propose that they include compiler warnings and porting issues.
  1. IncomingBugs • BuildStatus • perf

2012/07/25

  1. API proposals
  1. Collator variableTop -> maxVariable (Markus; designated API reviewer: Mark; ticket #8032) - Approved
  1. Mark says setter should return *this, for chaining -- will do in C++ & Java, not in C
  1. Ticket maintenance (Markus)
  1. Review remaining priority=zero tickets
  1. all modified during the meeting
  2. Steven removed the priority=zero choice
  1. FYI: Tickets closed with no-time-to-do-this
  2. CLDR also has the no-time-to-do-this resolution now
  1. Schedule reminder: 50 M2 2012-aug-29
  2. IncomingBugs • BuildStatus • perf

2012/07/18

  1. API proposals
  1. C++ Collator API cleanup (Markus; designated API reviewer: Mark; ticket #9346) - Approved
  1. virtual Collator::getAttribute() const
  2. virtual Collator::safeClone() const
  3. virtual const Locale getLocale(ULocDataLocaleType type, UErrorCode& status) const
  4. virtual uint32_t setVariableTop(const UnicodeString &varTop, UErrorCode &status)
  5. virtual void setVariableTop(const uint32_t varTop, UErrorCode &status)
  6. Steven: Give notice to users (icu-support mailing list & ICU 50 readme) about breaking changes to subclasses -- sent notice to user mailing lists 2012-jul-25
  1. ICU 51 schedule (Peter, Yoshito)
  1. CLDR is considering a CLDR 23 release around end of March 2013; limited data submission
  1. We want some 4 weeks between CLDR & ICU releases, to distribute work loads
  1. Unicode is considering a 6.2.1 release around March-April (no new chars; possible changes to properties, UAXs, etc.)
  1. Possible to roll this into a maintenance release first; should be ok to add constants for new values of existing properties, if necessary.
  1. See item 2 from last time; postpone further discussion until Mark produces a more detailed design doc for cleanup tasks
  2. Try to have CLDR release mid-March, ICU release targeted for mid-April (don’t want to slip past the end of April) - Peter to take request back to CLDR
  1. Ticket maintenance: new ICU Trac resolution for "this is a fine request but we do not have time/resources to work on this" (Markus)
  1. We agreed to add a closed-ticket resolution for "this is a fine request but we do not have time/resources to work on this", and to close zero-priority tickets with that resolution, but could not settle on what to call it.
  2. Markus proposes "ok-but-no-resources-to-do-this"
  3. Steven: "no-resources-to-do-this"
  4. Mark: “no-resources
  5. Consensus: “no-time-to-do-this -- Markus to try to add it to ICU Trac (done), and submit CLDR ticket to do the same there (done: http://unicode.org/cldr/trac/ticket/5087)
  6. The current set of resolutions is:
  1. fixed · invalid · wontfix · duplicate · worksforme · cldrbug · workingasdesigned · needsmoreinfo · moved-to-CLDR
  1. Trac components and contacts (Yoshito)
  1. https://docs.google.com/spreadsheet/ccc?key=0AjD1-LizLRWldGk0aWlDWUJ0QVBjdFl0d09NTEZxeGc#gid=0
  2. Markus: Would like to not change component names where they are ok, e.g., “properties”.
  1. IncomingBugs • BuildStatus • perf

2012/07/11

  1. Related SVN repository tag - synchronized with ICU releases
  1. updating config file - probably need to regenerate data from CLDR
  2. repositories
  1. CLDR
  1. ICU4J version visible here: http://st.unicode.org/cldr-apps/about.jsp
  1. icu/tools
  1. New BRS item  - every milestone/release - re-generate ICU data from appropriate CLDR version, make sure the data is in sync. - yoshito will add this item in BRS master / ? will write the BRS instruction
  1. Next release: cleanup? [Mark]
  1. Example: AlphabeticIndex (see email discussion)
  2. Align C++ / Java API
  3. Align C++ / Java behavior (data-driven tests? JNI interface & run C++ code through Java tests; shared project with test data files? for test data files, use flat text files)
  4. Ensure use of CLDR data (not hard-coded)
  5. Have discussion when Steven and Markus are back.
  6. Design doc, where to add testing, etc.
  7. Mark - produce draft design doc, with focused efforts and bugs.
  1. put test data into text files, not resource bundles
  2. special keyword/etc for porting.
  3. generate output for APIs, so that we could compare. (adapt code from API docs generators? exceptions list for equivalent but different APIs, e.g. Java Collator.setAlternate(value) vs. C++ Collator::setAttribute(attr=alternate, value) -- or @annotate in ICU4J)
  4. Javadoc tool for getting signature, under build-tools, checked into repository.
  5. one-time cost for the mapping; per-release incremental cost would be small.
  1. API proposals
  1. Deprecate the hiraganaQuaternary collation attribute (Markus; designated API reviewer: Mark; ticket #9406) - Approved
  1. C: UCOL_HIRAGANA_QUATERNARY_MODE (in enum UColAttribute)
  2. Java: RuleBasedCollator methods isHiraganaQuaternary(), setHiraganaQuaternary(boolean flag) and setHiraganaQuaternaryDefault()
  3. This attribute is an implementation detail of the CLDR Japanese tailoring, a special hack to provide the fourth-level Hiragana/Katakana distinction of JIS X 4061.
  4. Consensus: Deprecate, and disable the setters.
  1. Territory Containment: Port ICU4J APIs to ICU4C and move ICU4J APIs to draft status (John; designated API reviewer: Steven; ticket #8451) http://site.icu-project.org/design/t/territory-region-apis - deferred to next week

  1. Managing CLDR/ICU Trac tickets (Markus)
  1. First presented for & in 2012/05/30 meeting; got comments since then & integrated them.
  1. Break Iterator Coordination. Both Google and Apple have work in progress; we need to make sure that we aren’t colliding with each other. Andy, Markus, George if he can call in.
  1. Markus had sent email to ICU team mailing list on 2012-may-17 “Google intern project: work on ICU BreakIterator (DBBI)”, Peter replied “Sounds great!” :-) (Note, this did not mention Google work on Korean RBBI)
  2. Maxime’s work is in progress, see http://bugs.icu-project.org/trac/ticket/9353 and icu/branches/mserrano/dbbi-tries
  3. Both Apple and Google have a Korean DBBI implementation to contribute
  4. Nathan Wells wants to update Khmer DBBI and port to ICU4J
  1. More updates beyond #9311 (already in 50m1)? Yes, more this morning
  1. Google’s current work - Japanese and Chinese (?) word break
  2. George will send Korean patch to Google by mid Aug - and Google will look into it.
  1. IncomingBugs • BuildStatus • perf

2012/07/04 - Independence Day - no meeting

2012/06/27

  1. 50M1 status
  1. BRS
  2. Download page
  3. Tickets with trunk changes
  1. 9340 - retarget to 50m2
  2. 9370 - retarget to 50m2
  3. 9394 - review/close
  1. Remaining review
  2. Open 50M1 bugs
  1. ICU4C maint-49 merge request [yoshito] - approved
  1. DecimalFormat performance [#9258] changes not included in 49.1.2 / mostly minor fixes for regression issues in fast path.
  1. r31888
  2. r31889
  3. r31895
  4. r31961                                                     
  1. Customizing break iteration - continued...
  1. See http://unicode.org/cldr/trac/ticket/4931 
  2. Andy: May not be tied to a locale
  3. Examples: for Japanese text use CSS strict- or loose-style line break; for Korean use space-based or syllable-based line break
  4. Introduce the notion of variables, take effect when break iterator is built from rules
  5. Andy will look into design/implementation
  6. Mark will file an ICU ticket for this enhancement
  1. CLDR 22 status update
  2. IncomingBugs • BuildStatus • perf

2012/06/20

  1. ICU 50M1
  1. BRS - https://docs.google.com/spreadsheet/ccc?key=0AjD1-LizLRWldDdERVZkdnFzOGVoMFE4M0pYaU51SXc#gid=0
  2. 50M1 tickets review - http://bugs.icu-project.org/trac/query?status=reviewing&group=revw&col=id&col=summary&col=status&col=type&col=priority&col=milestone&col=component&order=priority
  1. IBM summer intern - Debabrata Sengupta
  2. Customizing break iteration
  1. See http://unicode.org/cldr/trac/ticket/4931 
  2. Andy: May not be tied to a locale
  1. IncomingBugs • BuildStatus • perf


2012/06/13

  1. API proposals
  1. DateFormat.getInstanceForSkeleton() (Mark; designated API reviewer: Markus; ticket #9370) - Approved
  2. confirm ListFormatter.java changes (Markus; designated API reviewer: Mark; ticket #9369) (already committed: changeset/31921) - latest proposal from Markus via e-mail June 6: - Approved
  1. change the class name to ListFormatter (already approved by the ICU team in 2012-March) - Yoshito: package com.ibm.icu.util -> com.ibm.icu.text (all formatters reside in text package in JDK/ICU for now) - Markus done 20120815, ticket #9420
  2. keep the constructor @internal
  3. make the two getInstance() factories public
  4. not add a getInstance(<no locale>)
  1. although note that the C++ API was approved with such a factory
  2. Yoshito - I think we probably should have this one. - Markus done 20120815, ticket #9420
  1. make the two format() methods public
  2. remove the transform() method and remove "implements Transform<Collection<String>,String>"
  1. remove unused CharsetMatch.getMatchType() & constants ICU4J (Yoshito; designated API reviewer: Andy; ticket #9363) - Approved
  2. Deprecate ChineseDateFormat/ChineseDateFormatSymbols, change DateFormat factory method to directly create SimpleDateFormat - ICU4J (Yoshito; designated API reviewer: Peter; ticket #9140) - Approved
  3. Date time pattern skeleton corrections/additions (Mark; designated API reviewer: Yoshito; ticket #9375) - Approved
  1. Also need to update definitions in ICU4C/source/unicode/udat.h
  1. add/roll for era-0 years that go backwards (Peter), see issues doc
  1. Added info on JDK behavior (per req 2012-05-23) more strongly backs idea of add +yr always going forward; sent updated e-mail June 7 to icu-design
  2. Can we make a decision? Approved as follows:
  1. add & roll (without wrap) always go forward in time with +, and backward with -.
  2. roll will pin if unbounded on one side.
  1. Communicate decision to JDK, though they do not have much interest in fixes to Calendar
  1. KoreanCalendar (Markus, ticket #9255)
  1. Zu Kim’s patch checked into icu4j/branches/zkim/kocal
  2. Reviewed, comments sent
  3. Probably want to have different calendar identifiers for CLDR and ICU
  1. Peter will file a ticket to CLDR - add keyword
  2. Chinese calendar metadata in supplemental
  1. 50M1 regular check-in by next Monday (June 18)
  2. Related issue: improving kTotalStroke data. Process for enhancing?
  1. Japanese link - http://kanji-database.sourceforge.net/database/strokes.html / http://kanji-database.sourceforge.net/index.html
  2. Consistent model (‘canonical radical’ vs actual stroke count)
  3. Peter to brainstorm with others in Apple
  1. C skeleton constants - <icu4c>/source/i18n/unicode/udat.h (http://bugs.icu-project.org/trac/ticket/9375)
  2. IncomingBugs • BuildStatus • perf

2012/06/06

  1. ICU4C 49.1.2 (michael)
  1. http://site.icu-project.org/download/draft-49-1-2
  2. Will send out announcement and post download page at 1:00PM Pacific today (6/6)
  1. ICU50M1 schedule
  1. June 27 (Wed) - M1 release
  2. June 25 (Mon) - Final check-in (based on code review feedback)
  3. June 21 (Thu) - Code review completion
  4. June 18 (Mon) - Final regular check-in for M1
  1. Markus’ availability
  1. vacation June 10 - June 27
  1. C++ standard says memcpy(dest, NULL, 0) is undefined (Markus, ticket #8235) - No objections with Markus’s proposal
  1. Should u_memcpy(dest, NULL, 0) be undefined as well, or should it be defined to be valid (and a no-op)?
  2. Same question for memmove()/u_memmove().
  3. Markus prefers u_memcpy(dest, NULL, 0) to be valid. (Least possible harm to users? Wish std::memcpy()/memmove() allowed this too.)
  4. No one objects - Markus will commit the change, allow invalid pointer when count/length=0, and document
  1. KoreanCalendar (Markus, ticket #9255)
  1. Zu Kim’s patch checked into icu4j/branches/zkim/kocal
  2. Someone please respond to Zu Kim, review patch
  1. Yoshito will review the changes by June 13 (next Wed)
  2. Yoshito will ask Peter to review the changes
  1. Misleading API name: static DateFormat.getPatternInstance() (5 overloads in Java) (ticket #9370)
  1. At least change the parameter name from “pattern” to “skeleton” and discuss the bad name in the API doc
  2. Not yet ported to C++, see ticket #9029
  1. ICU 51 schedule
  1. IBM wants to get some idea about rough time frame now.
  2. March/April 2013
  1. Unicode 6.2 - Sep 2012
  2. Unicode 6.2.1 - Apr 2013?
  1. CLDR mid Feb / ICU end of March?
  2. CLDR mid Aug / ICU end of Sep?
  1. IUC36 acceptance - https://docs.google.com/document/d/1Hl_Jk0CUMSUDFX9a2qcN1FOdxXgU-U41Te2VE_zB3O4/edit
  2. IncomingBugs • BuildStatus • perf

  1. CLDR Schedule Proposal
  1. 2 months data submission; 1 month data vetting; 1.5 months resolution
  2. Two releases per year: midQ1, midQ3
  3. R1: Mar/Apr dsub; May dvet; Jun/Jul dres; Aug 15 release
  4. R2: Sep/Oct dsub; Nov dvet; Dec/Jan dres; Feb 15 release
  5. (allow longer elapsed time for dres because of holidays)

2012/05/30

  1. API proposals
  1. new MessageFormat syntax & MessagePattern API (Markus; designated API reviewer: Mark; ticket #9333) - Approved - Markus to send code/javadoc format to list - done may31
  2. (uscript_|UScript.)isRightToLeft(UScriptCode sc) (Markus; designated API reviewer: Mark; ticket #7016) - Approved
  3. PluralRules.getKeywordStatus(...) & getAllKeywordValues(keyword, numberType) (Mark; designated API reviewer: Markus; ticket #8782) - Approved
  1. int offset or double offset? -> int offset
  2. Markus to file a ticket - MessagePattern to accept only integer offset - done: ticket #9359
  1. Managing CLDR/ICU Trac tickets
  1. Discuss this in July when Markus is back from his vacation
  2. John to forward this to CLDR
  1. TimeZone display name issue - TimeZone#getDisplayName(boolean daylight, ….)
  1. Localized GMT format if name is absent
  2. If daylight=true, what offset should be used for GMT format?
  3. JDK - always use the current base offset (same with daylight=false)
  1. IncomingBugs • BuildStatus • perf

2012/05/23

  1. Proposed maintenance update - ICU4C 49.1.2 #9287 (steven, michael)
  1. [in progress] #9258 number format performance (steven)
  1. C++/C binary compatible by default, @internal UCONFIG switch to break compatibility to gain perf improvement
  1. [ready] #9242 ICU4C fails to parse pattern containing EEE properly whilst ICU4J parses it OK
  2. [merged] #9284 DateFormatRoundTrip Test of Hebrew Calendar Fails in ICU4C
  3. [merged] #9295 ICU 49 fails to build on HPPA
  4. [merged] #9313 building icu with Cygwin/MSVC
  5. [merged] #9332 Endian detection on Linux/390
  6. #9336 Building icu4c 49.1.1 on zOS (michael)
  7. [ready] #9283 uregex_open fails for look-behind assertion + case-insensitive (Peter to merge under 9287)
  8. Approved - Target date: 2012-06-06 (2 weeks from now)
  1. ICU4J maint-49 merge requests (yoshito)
  1. [merged] #9215 Generate md5 checksum in ICU4J build target "release"
  2. [merged] #9216 Exclude build-local.properties from ICU4J source package archive
  3. [merged] #9289 Incorrect version string displayed by ICU4J jar main
  4. #9242 ICU4C fails to parse pattern containing EEE properly whilst ICU4J parses it OK (updates on J side to synchronize the behavior with C)
  5. [merged] #9309 ICU4J initialization thrash in multi-threaded environment
  6. Approved to merge these changes.
  1. IUC 36 abstracts due last Friday!
  1. https://docs.google.com/document/d/1Hl_Jk0CUMSUDFX9a2qcN1FOdxXgU-U41Te2VE_zB3O4/edit
  1. Locale-specific casing to CLDR
  1. cldrbug 4779
  2. Process locale specific casing by transform?
  1. We do not want to introduce transform into core
  2. [markus] As long as CLDR data can be represented in the form of consumption in the low level code, then this is fine.
  1. Not a problem to move the data to CLDR
  2. How to represent the data in CLDR / ICU for later discussion.
  1. add/roll for era-0 years that go backwards (Peter), see issues doc
  1. [markus] issue, compat with JDK behavior
  2. Add an additional era 0 that always goes backwards? (Or era -1??)
  1. IncomingBugs • BuildStatus • perf

2012/05/16

  1. API proposals
  1. Context for locale display name functions (Peter, #9303, reviewer Yoshito). Original e-mail 5/03, revision 5/09, send new revision as  follows:
  1. Pull capitalization enum values out into a common shared header, for both date formatting and locale display names
  2. For locale display names, createInstance / openWith should take dialect handling value as well as capitalization value
  1. Request to document svn trunk revision numbers for ICU releases (Markus)
  1. On each release’s download page
  2. For example, document that ICU4C 49.1 originated from trunk r31635.
  3. Usage: Mapping from a changeset/revision number (e.g., from an annotated source file) to the release that included that change. I have done this several times recently, and had to dig through several tags’ revision logs (“follow copies”) to do so.
  4. Only for initial releases, with a sentence that maintenance updates still originate from the same trunk revision with additional changes.
  5. Embed? http://bugs.icu-project.org/trac/ticket/7588 (Steven)
  6. Agreement: we generate a link to revision history of the tag automatically and embed the link in the download page. Markus filed a ticket: http://bugs.icu-project.org/trac/ticket/9327
  1. IUC 36 topics due Friday!
  1. https://docs.google.com/document/d/1Hl_Jk0CUMSUDFX9a2qcN1FOdxXgU-U41Te2VE_zB3O4/edit
  1. ICU4C 49 maint release (Steven), #9287
  1. Numberformat parse:  ~30% regression 4.4 to 4.8, ~38% regression 4.4 to 49
  2. Want to do a maint release, no public API
  1. keep DigitList on the stack, remove mallocs
  2. Acceptable for a  . release?
  1. perhaps format improvement also
  2. numbering?
  3. Peter still needs to merge in #9283 uregex_open fails for look-behind assertion + case-insensitive
  4. Requirements:
  1. binary compatibility must be kept for 49.x
  1. Agreement:
  1. temporary subclass of DigitList for 49.x - at least beneficial to C API users (not C++)
  2. 50 - full update (get rid of the temporary subclass) - also for C++ API users
  3. 50 - also review size of DigitList, make it not excessive
  1. CMake status (Will)
  1. data / test data building - worked with CMake
  2. 59 unit tests lost? Will look into this
  1. IncomingBugs • BuildStatus • perf

2012/05/09 - Cancelled (UTC)

2012/05/02

  1. API proposals
  1. PersianCalendar in ICU4J (Roozbeh; designated API reviewer: Markus; ticket #8965)
  1. Fewer constructors?
  2. Consensus: Add PersianCalendar as non-public implementation. Do same for future Calendar subclasses
  1. See also request for new convenience factories: ticket #9299 “Calendar.getInstance(..., type)”
  1. FYI: Also ICU4C implementation bug fixes, see ticket #8952
  2. Peter to propose Calendar API for calendar metadata, use this in preference to public calendar-specific classes
  1. IUC36 proposed abstracts - review - abstract due: Friday, May 18
  1. CLDR presentation then panel [Peter, Mark,...]
  2. BCP47 Extensions update (t/u, use cases) Maybe part of CLDR? [Mark?]
  3. EcmaScript [Cira, Jungshik, Norbert?]
  4. New in ICU [Markus, Peter?]*
  5. Plurals and Gender (new stuff & old) cardinals/ordinals, lists, ... [Markus, Mark]*
  6. ICU workshop [Steven]*
  7. User Identity and Unicode [Yoshito]*
  8. I18n in Google+ [Mark, Luke]*
  1. Possible additional candidate(s) for ICU4C maintenance branch, #9287 (Peter):
  1. #9283 uregex_open fails for look-behind assertion + case-insensitive (ICU 49 regression) - approved / peter will merge the fix to 49
  1. C Numberformat performance (Steven)
  1. Maint49
  2. future api pre-proposal: “parse all input”
  3. See “NumberFormat” section on http://site.icu-project.org/design/formatting/messageformat/redesign
  1. The idea is that for small integer numbers we would pre-build a string of digits, digit pairs & triples, and formatting would just pick a substring. We would need one of these per decimal-digit NumberSystem. Maybe only for BMP digits. Works for numbers that do not need a grouping separator.
  1. current avenues (Steven):
  1. only the digits specified in the symbols (i.e. not ‘any other digits’)
  2. expect all text consumed by parse (parseposition ends up @ end of text)
  3. stack-construct DigitList, store as field in Formattable. zero mallocs
  1. IncomingBugs • BuildStatus • perf
  2. balancing
  1. Unicode editorial committee, we decided to try to put together some mechanism to help us avoid 'collisions' between the Unicode, ICU, and CLDR projects. That is, some people are working on more than one of these projects, such as in January where we had a UCD release, and ICU & CLDR deadlines all falling at the same time. That made the month more painful than it needed to be, and causes various hiccoughs.We put together a spreadsheet where we can mark weeks where we'd expect more than normal efforts involved. We'd like the chairs to fill in the weeks where we can expect such effort, and we'll see if this helps us with scheduling.
  2. https://docs.google.com/spreadsheet/ccc?key=0AqRLrRqNEKv-dDZnQVl0RHF1R2FZOVg0cG5MWDZjdUE#gid=0

2012/04/25

  1. API proposals
  1. ListFormatter in C++ (Umesh; designated API reviewer: Markus; ticket #7168) - Approved
  1. Korean Calendar (Zu Kim)
  1. Calendar id
  1. CLDR data - stem/branch data, etc - key “chinese”
  2. BCP47 - calendar=XXX -> korean-lunar, japanese-lunar?
  1. Data driven variant - China/Korea/Japanese...
  2. Changes by Zu Kim, see ticket #9255 & icu-design list discussion “Korean lunar calendar implementation”
  3. Googler to drop the snapshot in ICU repository for review
  4. Someone need to come up with proposed design for BCP47 ids, format data to CLDR
  1. IncomingBugs • BuildStatus • perf

2012/04/18

  1. API proposals
  1. Ordinal-number plural message formatting (Mark; designated API reviewer: Markus; ticket #9132) - Approved
  2. deprecate PluralFormat::setLocale(locale) (both C & J) (Markus; designated API reviewer: Mark; ticket #9249) - Approved
  3. ListFormatter in C++ (Umesh; designated API reviewer: Markus; ticket #7168) - Umesh to post final proposal to the design list - will revisit this next week
  1. IUC 36 abstracts due Friday may18 - past documents
  1. May 18 - due of submitting abstract
  2. IUC36 proposed abstracts - will review proposals on May 2 call (2 weeks)
  1. ICU4C - proposal to merge fixes into maint-48 (both are regression issues introduced in 4.8, fixed in later releases) - agreed
  1. #8561 DigitList::set(double) ignores locale and generates NaN
  2. #9237 ICU4C SimpleDateFormat copy constructor and assignment operator issue
  1. ICU4J charset detector crash, ticket #9267. Candidate for a maintenance release? (Andy)
  1. agreed to merge this to ICU4J maint-49 (Yoshito - will merge the fix to 49 after finishing review)
  1. Question (Markus): Did ICU4J caching mechanism change for resource bundles? (4.8 -> 49)
  1. We have a heap checker complaint about a string from com.ibm.icu.impl.ICUResourceBundleReader.getFullName(ICUResourceBundleReader.java:937)
  1. 928:     public static String getFullName(String baseName, String localeName) {
  2. 937:                     return baseName + "/" + localeName + ICU_RESOURCE_SUFFIX;
  3. Found the issue: The ICU resource bundle cache was whitelisted, and getFullName() was moved from ICUResourceBundle to ICUResourceBundleReader - just had to update the whitelisting
  4. Yoshito’s response - #8620 removed the RB cache in ICUResourceBundle. This introduced a performace regression problem. #8769 brought back the cache, but at the appropriate level (ICUResourceBundleReader instance, which actually holds raw data) with SoftCache. With this change, getFullName() method was moved from ICUResourceBundle to ICUResourceBundleReader. As Markus(?) commented above, getFullName() was just relocated.
  1. IncomingBugs • BuildStatus • perf

2012/04/11

  1. API proposals
  1. Ordinal-number plural message formatting (Mark; designated API reviewer: Markus; ticket #9132)
  1. MessageFormat “ordinal” already means RBNF.ORDINAL, need to find a different argument type name for the message pattern syntax. So what would work?
  1. Googler consensus: New argument type “selectordinal”
  1. A new argument type keyword is much simpler than other new syntax in the argument style, thus preferable.
  2. A keyword (or syntax) that includes “plural” fits the implementation details but would be misleading to users.
  3. The primary function is to select a sub-message from the pattern, just like with the existing "choice", "plural" and "select".
  4. Think of plural=selectplural and select=selectkeyword.
  1. Previous ideas:
  1. plordinal - ordinalpl?
  2. plural_ord - pl_ordinal - ordinal_pl - plural_ordinal?
  3. nth - nth_form - nth_plural?
  4. other ideas?
  1. Current syntax requires that argument types names are [a-zA-Z]+, no underscores.
  2. Consensus: New argument type “selectordinal”
  1. Any feedback on Mark’s “preliminary proposal” from feb21 or Markus’ C++ proposal from apr06? (Formal deadline next week.)
  1. Ok to have UMSGPAT_ARG_TYPE_ORDINAL given the discussion above? Rename to include exactly the new argument type name?
  2. See UMessagePatternArgType in http://icu-project.org/apiref/icu4c/messagepattern_8h.html
  3. Consensus: Yes, make the new constant UMSGPAT_ARG_TYPE_SELECTORDINAL
  1. CLDR 22 ST is open
  2. IncomingBugs • BuildStatus • perf

2012/04/04

  1. ICU maintenance release versioning
  1. http://userguide.icu-project.org/design#TOC-Version-Numbers-in-ICU
  2. Options
  1. Increment 2nd digit independently for C and J - ICU public release does not use 3rd and 4th digit
  1. Let C & J go out of sync with C/J-specific updates, or
  2. Skip a version for C/J if it only applies to the other (“holes” more obvious than in b.ii)
  1. Reserve 2nd digit for common changes (such as new CLDR data import), 3rd digit for C or J specific ‘smaller’ patch - ICU public release does not use 4th digit
  1. Skips a version for C/J if it only applies to the other, it’s just a 3-field version that’s skipped
  1. CLDR is different; started at 21.0 then published 21.0.1 but third-field releases have no download packages
  2. Agreement -> b.ii - that means, next C only update will be ICU4C 49.1.1
  1. Markus - b.i.2
  2. Peter - b.i.2 (slight pref)
  3. Yoshito - b.ii
  4. Steven - b.ii
  5. Andy - b.ii (slight pref)
  6. Mark - abstain
  1. with b.i.2 -> second field is simply incremented, but may skip (only use 2 fields)
  1. C 49.2, J skips this version number
  2. if we need CLDR update (21.1)
  1. C -> 49.3
  2. J -> 49.3
  1. with b.ii - second field -> common change (3rd field is for just incremented independently for C/J)
  1. C 49.1.1, J skips this version number
  2. if we need CLDR update (21.1)
  1. C -> 49.2
  2. J -> 49.2
  1. ICU4C maintenance release
  1. Fix list - http://bugs.icu-project.org/trac/milestone/49.1.1C
  2. tzdata 2012c
  3. Release date: April 6, 2012 (this Friday)
  4. Michael - release manager
  1. IncomingBugs • BuildStatus • perf

2012/03/28

  1. ICU 49 post release tasks
  1. BRS - steven to wrap up 2 remaining tasks
  1. external sites - todo
  2. last review, close 49.1 - DONE
  1. io and toolutil msvc project files still has 48 version number (trunk and maint-49 has been updated)
  1. 49 binary download for windows - icuio48.dll / icutu48.dll
  2. should use “make update-windows-makefiles”  - see top of uvernum.h
  3. 49.1.1 ?
  1. anything else for 49.1.1 ..?
  1. Errata page
  1. Link to updated project files from ticket: http://bugs.icu-project.org/trac/changeset/31657?format=zip&new=31657 
  2. “will be updated next week Apr 4”
  3. also include static library fix, configure.in -  http://bugs.icu-project.org/trac/ticket/9217 -> http://bugs.icu-project.org/trac/changeset/31653?format=zip&new=31653
  1. Ship fixed version (49.1.1) by April 6
  1. bump trunk version to 50? - (50.0.1) Will trigger timebombs, need to address
  1. Michael for C / Yoshito for J
  2. Yoshito will create release tickets for 50M1
  1. 50.0.1 m1 release currently set for June 27
  1. LDMLConverter data rebuild schedule?
  1. major improvement/rewrite
  2. example of diffs: https://docs.google.com/spreadsheet/ccc?key=0AsnFbqT7kQk_dHc5dVYxbThNd1BTZ2UyaTM3dWhRNFE#gid=0 
  3. changes:  new converter more strict about contributed vs. noncontributed, etc.
  1. Mostly an issue with incomplete/fragmented input data from CLDR
  1. new converter doesn’t [yet] handle some items,  collation, etc.  (schedule for change?)
  2. we will want to look over the differences carefully.  
  1. work from 21.0.1
  2. branches
  1. driving cleanup of some spurious data (empty date items, etc)
  2. Steps
  1. Jenifer to commit the changes in CLDR branch
  2. Create ICU branch
  3. Should be ready for review by next PMC
  4. ...
  5. Jenifer to commit the changes in CLDR trunk
  6. Merge newly generated data in ICU trunk
  1. IncomingBugs • BuildStatus • perf

2012/03/21

  1. ICU 49 status
  1. BRS tasks
  2. Remaining release tasks today
  1. Upload ICU4C release files (michael)
  2. Update http://site.icu-project.org/download/49
  1. Add ICU4C Supported Platforms (michael)
  2. Review “Description” (everyone)
  1. Update download link in http://site.icu-project.org/download (markus) - done
  2. ICU site home page  http://site.icu-project.org/home (yoshito)
  1. Put ICU 49 download link
  2. Update count down widget
  1. Send announcement (peter)
  1. ListFormat (markus)
  1. ListFormat or ListFormatter?
  1. Yoshito: Use ...Formatter for classes that only format, don’t parse.
  2. Mark: Have ticket for formatting-only base class, but its signature might differ from this one
  3. Consensus: ...Formatter, Mark to change with new ticket
  1. C++ version (#7168): in common library or in i18n?
  1. Related: Ticket #7457 “Move LocaleDisplayNames class (C++) to the common library”
  2. Consensus: Add C++ ListFormatter to the common library
  1. Also, please look at http://bugs.icu-project.org/trac/ticket/7149#comment:27
  1. Mark to respond on the ticket - done
  1. IncomingBugs • BuildStatus • perf

2012/03/14

  1. ICU 49 status
  1. BRS tasks
  2. post 49RC code changes - See 49.1 milestone page
  3. remaining 49 tickets
  4. post 49RC under review
  5. time to tag/branch?
  1. Create maint-49 on March 19 (Mon)
  1. ICU 50 schedule
  1. Discussions on 2/29
  1. M1 - June 27
  2. M2 - CLDR22 release (Aug 29)
  3. RC - Oct 10
  4. GA - Oct 31
  1. Currently have Trac milestones for 50.0.1, 50.0.2, 50.1
  1. ICU 51 schedule
  1. includes next version of Unicode (2013H1)
  1. IncomingBugs • BuildStatus • perf

2012/03/07

  1. ICU 49 RC status
  1. sent the announcement on Friday.
  1. Post 49RC items for 49
  1. Proposed J LocaleSPI provider items (Yoshito)
  1. #9161 Implements LocaleNameProviderICU#getDisplayVariant()
  2. #9162 Implements LocaleNameProviderICU#getDisplayScript() introduced in Java 7
  3. #9154? ICU4J locale SPI providers to honor Unicode locale extensions
  1. Any other items except for release related tasks?
  1. One CLDR tool fix to remove spurious PaperSize/MeasurementSystem resources
  1. collation and rbnf locale data files are updated with this
  1. #9125 Support gender of lists using data from CLDR - update based on Markus’s review
  2. #7847 Resource inheritance
  1. ICU 49 release (49.1)
  1. BRS tasks
  2. ICU 49 release tickets - #9186/#9187 - See 49.1 milestone page
  1. IncomingBugs • BuildStatus • perf

2012/02/29

  1. ICU 49 RC status
  1. Still in review state
  2. 49 open tickets
  1. documentation (release/help)
  2. ship stopper
  3. cldr update integration (so far, 1 known issue need to be addressed)
  4. platform/build issues
  5. release misc.
  1. Open tickets with trunk commits?! - Yoshito & Steven to check
  2. BRS
  1. ICU4J Locale SPI provider issues on Java 7
  1. #9150 test failure - fixed (workaround)
  2. #9151 missing CurrencyNameProvider#getDisplayName - ready/proposed for 49 - OK to merge
  3. #9154 supporting Unicode locale extensions - post 49
  4. #9155 variant “ICU” - proposed for 49 -> “ICU4J” - OK to do it.
  1. ICU4J API docs - JCite issue
  1. JCite fails on Java 7 (#9119)
  2. Add a simple taglet for citation?
  3. Markus will check with the author.
  4. For 49, use Java 6 + JCite to generate online API doc
  1. new API tracking
  1. UCNV_COMPOUND_TEXT (michael / #7959 / revw:pedberg) - enum value is approved, leave it @draft 4.8.
  2. ListFormat (for v50, mark, 7149 )
  1. is a Format - move to com.ibm.icu.text package
  2. @internal for 49 - will do detailed review later
  1. GenderInfo (for v50, mark, 9125)
  1. @internal for 49 - will do detailed review later
  1. Ordinals (for v50, mark, 9132)
  2. NumberingSystem::getName() - needs proposal - yoshito will check with John
  1. Future milestones/release date - discuss this again next week
  1. 50 milestones?
  1. M1 - June 27
  2. M2 - CLDR22 release (Aug 29)
  3. RC - Oct 24 - Sep 26
  4. GA - Nov 14 - Oct 17
  1. 50 release - October 31, 2012
  2. 51 release?
  3. CLDR 22 - Aug 29, 2012
  4. CLDR 23? - no date set yet
  5. schedule for the next Unicode release?
  1. not in 2012
  2. Q1 or Q3 2013?
  1. IncomingBugs • BuildStatus • perf

2012/02/22

  1. ICU 49 release items
  1. Slight schedule delay (agreed):
  1. Feb 20 (Mon) Initial code freeze -> end of Feb 22 (today)
  2. Feb 23 (Thu) Reviews complete -> Feb 27 (Mon)
  3. Feb 27 (Mon) Final check-in per reviews -> Feb 29 (Wed)
  4. Feb 29 (Wed) ICU 49RC -> Mar 2 (Fri)
  5. Mar 21 (Wed) ICU 49 release, no change
  1. ICU4C API promotions questions
  1. common-messagepattern.h, tag unnamed enum? - remove status tag
  2. common-ucnv.h UCNV_COMPOUND_TEXT, no approval? - keep it draft
  3. common-uenum.h uenum_openFromStringEnumeration, why not promoted earlier? - stable
  4. common-umachine.h UChar, should it be @stable 2.0? (see change in #6487) - @stable ICU 4.4
  5. common-uobject.h U_NO_THROW, was @draft 4.2 - @stable 4.2
  6. i18n-numsys.h NumberingSystem::getName(), no approval? - keep @draft
  7. spreadsheet 318 - 326 & 330 -> stable
  1. Many ICU4C @draft 49 APIs not wrapped in #ifndef U_HIDE_DRAFT_API / #endif when they could/should be
  1. Note: We cannot wrap virtual method declarations (or types/enums used by them)
  2. Peter - I will try and ping people to add.
  1. Also, do we care about @draft 49.0 vs 49? (LEScripts.h)
  1. Markus: Should be 49 -- note that .0.x is only for development milestones, release will actually be .1
  2. Steven:  No, should be ‘@draft 49’ - we don’t add APIs to milestones [generally]. LEScripts.h is generated programmatically, but should round down.
  3. We should use “49” - should update tools.
  4. Peter will update manually, file a bug to fix tool
  1. BRS assignment
  1. Release manager
  1. Peter / ICU4C
  2. Yoshito / ICU4J
  1. Yoshito to send blank BRS speadsheet
  1. Exceptions for Serialization in new classes? [Mark]
  1. Initially (while not stable) can have UnsupportedOperationException.
  2. Mark will fix test asap.
  3. Mark will start discussion of whether to do serialization on the design mailing list.
  1. 3 @internal APIs: CompactDecimalFormat, GenderInfo, ListFormat, plus Ordinals
  1. CompactDecimalFormat was approved on 2011-sep-07, including note in meeting minutes & email reply
  2. Others: 49 vs 50?
  1. Markus: @internal until proposed
  2. Mark, yes they are.
  1. GenderInfo @internal
  2. ListFormat @internal
  3. Ordinals
  1. Markus: Should be on a branch until ICU 49 is released; @draft ICU 50
  1. IncomingBugs • BuildStatus • perf

2012/02/15

  1. API proposals
  1. Calendar APIs for controlling ambiguous wall time (Yoshito; designated API reviewer: Markus; ticket: #8916; icu-dev ML) - Approved
  1. WALLTIME_NEXT_AVAILABLE -> WALLTIME_MIN_LAST -> WALLTIME_NEXT_VALID (on 2012-02-17 with futher review)
  2. (see below)
  1. ICU4J TimeZoneFormat API updates (Yoshito; desginated API reviewer: John; ticket#9045 ISO 8601 style and #9108 parse option;  icu-dev ML) - Approved
  2. ICU4C TimeZoneNames/TimeZoneFormat (Yoshito; designated API reviewer: John & Claire; ticket: #8513 APIS, #8771 lenient parsing; icu-dev ML) - OK from attendees / may make minor adjustmenet if Markus has any comments on this. Go ahead, may degrade to tech preview next week depending on Markus’s input.
  3. ICU4C parseCurrency API update (Peter; designated API reviewer: Markus; ticket: #8697; icu-dev ML) - Approved
  4. DateFormat set/get context (Peter; designated API reviewer: Yoshito; ticket#9110; icu-dev ML) - Approved with following changes
  1. UDAT_CAPITALIZATION_UNKNOWN (default)
  2. ICU4J to use enum, instead of static final int
  3. set/get Context -> setDefaultContext/getDefaultContext
  4. additional format API signature to take context override
  1. Visibility of security bugs in Trac [Mark]
  1. Trac plug-in can handle this requirement
  2. BRS to uncheck security sensitive bugs already fixed.
  3. Steven to file the bug and install the plug-in
  1. ICU4C API promotions, spreadsheet (Peter)
  1. @draft 4.8 that was approved -> @stable 4.8 (green)
  2. @draft earlier - why not approved earlier? (yellow)
  3. @draft for uncertain things like provisional properties, remains draft (red)
  4. other folks - provide feedback by Friday
  1. CLDR v21.0.1 for ICU 49 (Peter)
  1. so far one bug fix, integrate by next week
  1. CLDR v22 - Proposed schedule as of 2012.02.15
  1. 08.29 Release
  2. 08.01 Final candidate
  3. 06.27 Data resolution starts
  4. 05.30 Vetting starts
  5. 03.28 Data submission starts
  6. 03.21 M1 data bugs fixed (fyi, ICU 49 released)
  7. 03.07 Data beta submission (target - may slip to 14)
  8. (Srl out: 6-11..7-18;  available thursdays: 7/5, 7/12 ICU end of Oct?)
  1. ICU 50 schedule
  1. October 31, 2012 GA
  1. IncomingBugs • BuildStatus • perf

Mark’s take. Parsing behavior under WALL_...

WALL_FIRST

input

WALL_LAST

input

WALL_MIN_LAST

input

WALL

output

=STD

output

1:00, 2:00

1:00

1:00

1:59, 2:59

1:59

1:59

1:59

1:59

2:00,3:00

2:00..3:59

3:00

2:00

2:59,3:59

3:59

2:59

3:00..4:00

4:00

4:00

4:00

3:00

Calendar c;

c.set(2012,Calendar.MARCH,11,02,01);

dateFormat.format(c, ..);  =>   “1:01 …”

input (what we parse at N hemisphere spring DTS transition)

calendar object output with opt WALL_FIRST

calendar object output with opt WALL_LAST (current default behavior)

calendar object output with opt WALL_MIN_LAST

1:59

1:59 (STD)

1:59 (STD)

1:59 (STD)

2:00 (does not exist in calendar, map to something)

1:00 (STD)

3:00 (DST)

3:00 (DST)

2:01 (does not exist in calendar, map to something)

1:01 (STD)

3:01 (DST)

3:00 (DST)

2:59 (does not exist in calendar, map to something)

1:59 (STD)

3:59 (DST)

3:00 (DST)

3:00

3:00 (DST)

3:00 (DST)

3:00 (DST)


2012/02/08

  1. API proposals
  1. enum UNumberFormatFields (Andy; designated API reviewer: Markus; ticket: #8034) - Approved
  1. typedef
  2. @stable - use corresponding C++ enum version
  3. also mark each existing C++ constant @stable ICU xx
  1. modify [uscript_]getScriptExtensions(c) & hasScript(c, script) (Markus; designated API reviewer: Mark; tickets: #9014 &