Navigation

BRS 4.6RC



Status

Developer

Comments

Task

Applies to

Due

Instruction

 done Nov 1  yoshito  No tzdata update since Nov 1. Ready for RC2.
- up to date as of Dec.
Make sure the timezone (Olson) data is up to date C & J FF, CF, GA

Olson timezone data should be regularly updated in the trunk. If the data is out of date, follow the instruction described in the           readme file.

Once the timezone resource file is generated by the process above, the file should be checked into zoneinfo.txt in the trunk.

 C- done for rc2 Nov 16 (except checking U_HIDE_ DRAFT_API)

J - done when RC1 was tagged
C - peter
J - yoshito
  Update API status comments C & J FF

ICU4C:

  1. Update the API documentation in all header files (.h file) to have correct @draft/@stable/@deprecated labels.
  2. Update docmain.h
  3. ./configure
  4. make doc
  5. Follow instructions in readme.txt to generate API status change report.
  6. Make sure that ICU headers work with U_HIDE_DRAFT_API and other such switches. 
    1. Perhaps build with hide-draft then run hdrtest (see instructions elsewhere)
  7. Verify that U_DRAFT and U_STABLE match the @draft and @stable tags (same for other such pairs declaration macro vs. tag).

ICU4J:

Update the API documentation to have correct @draft/@stable/@deprecated labels. On ICU4J, run com.ibm.icu.dev.tool.docs.CheckTags(see file for instructions). This requires a Sun jdk with javadoc available. The tool will need to change to reflect the release number to search for.

To check the API status changes, run the ant target "apireport" to gerate the report since the previous official release.

Make sure @provisional is specified along with @draft, and @deprecated with @internal. For example,

 * @draft ICU 4.0
* @provisional This API might change or be removed in a future release.
 * @internal
* @deprecated This API is ICU internal only.
done oct28 markus
Check for ClassID in new class hierarchies C FF Check that there are no "poor man's RTTI" in new class hierarchies. See Normalizer2 for an example declaration and implementation that satisfies the virtual-function override without adding new ClassID support.
We do need to keep and add "poor man's RTTI" in old classes, and in new classes extending existing class hierarchies (where parent classes have @stable RTTI functions). (For example, a new Format subclass.)
One easy way to check for this is to search through the API change report and look for "UClassID" or similar.
 J -done            
 yoshito  Need to do this earlier. Also the tool might need to be updated to capture further API info.
Compare ICU4J APIs with JDK J FF-4w

Run the ICU4J versus JDK API comparison tool against the target JDK (anything that will come out before our next release, basically) with the tool com.ibm.icu.dev.tool.docs.ICUJDKCompare and make sure ICU4J adequately covers the JDK API for the classes we replicate.

 done Nov 30  pedberg  rc1 - done Nov 2
updated Nov 11
final - done Nov 30
Sync ICU with CLDR C & J
Update ICU data from CLDR.

done Dec 1  pedberg  tagged release-1-9 in CLDR, also cldr-1-9 in ICU4J and ICU4C sources used for integration Tag CLDR  C & J
 GA-1W Add a tag to the CLDR repository that specifies exactly the CLDR data files and tools that were used to create the ICU data for this ICU release or milestone.  Document the tag name in the ICU Readme file.  Verify that ICU data can be successfully regenerated using the GA ICU code and the tagged CLDR.

If CLDR already has an appropriate tag, just use it.
An example of a tag in CLDR:  http://unicode.org/cldr/trac/browser/tags/icu432milestone
done oct26 markus
Update Unicode Data
C & J 
  See the Unicode Update page and the instructions in http://source.icu-project.org/repos/icu/icu/trunk/source/data/unidata/changes.txt and nearby files, also check the change log for this and related files such as UnicodeData.txt.
done for M2 markus verified Nov 16 that there are no new codes since M2 Update script code enums
C & J
FF-1w
Update script code enums with new codes from ISO 15924, propose them as public API (new @draft).
For new codes see http://www.unicode.org/iso15924/codechanges.html (check for recent changes with the code highlighted in the left column and "Add" in the right column) and http://www.iana.org/assignments/language-subtag-registry (Search for "Type: script" and look for recent "Added:" dates.) Discuss what to do if these two sources are out of sync.
(usually Markus)
 C done for rc2

J - already 4.6
? done in all the necessary places Update version number C & J FF

ICU4C:

The instructions for updating the version number are stored in icu/source/common/unicode/uverdefs.h. Read and follow instructions in this file.

ICU4J:

  1. common.properties
  2. com.ibm.icu.util.VersionInfo.
  3. build.properties. (For API change report)
ICU Data:

icu/source/data/misc/icuver.txt needs to be updated with the correct version number for ICU and its data.
 last updated oct06, OK  michaelow
Regenerate configure C FF-2w Don't forget to re-run and check in the configure file along with configure.in. This is normally supposed to be done when configure.in or aclocal.m4 are modified.
 done Nov 19  pedberg Send public beta/DCUT announcement   FF, CF Send a beta/DCUT announcement to the mailing lists icu-design, icu-support and icu-announce (the announce lists only with bcc).

For ICU 3.6, this is the text of the public beta announcement:

Subject: ICU 3.6 beta now available

Dear friends and users of ICU,

We have a "beta" of the ICU release 3.6 available on our public web sites, http://icu-project.org/download/3.6.html and http://icu-project.org/download/
If you plan or consider to use ICU 3.6, then please download and test it at your earliest convenience.

Please help us ensure the quality of this release. Please submit bugs, porting changes and fixes(!) by Wednesday, July 31!

Please use our bug reporting tool and support mailing lists, see http://icu-project.org/

Major features of this reference release include:
- Unicode 5.0
- CLDR 1.4
and so on...

Please see the release notes on the download pages and the readme for a complete list of features and enhancements.

Sincerely,
markus

 done     Make sure data file versions (for data contents) are properly assigned C (data resides in the ICU4C repository) CF-2w

If any of the data files in /icu/source/data/ directory has changed MANUALLY, upgrade the version number accordingly as well. If the contents of a resource bundle has changed, then increase the version number (at least the minor version field). The CLDR generated data should have the correct number.

Note from Markus (20090514, ICU 4.2 timeframe): Most data files automatically get their version numbers set by the LDML2ICUConverter, from CLDR version numbers. It is not clear what, if anything, needs to be done for this task.


Add list of what needs updating

done nov01 markus collation: Stuart updated the formatVersion from 2.3 to 3.0 Make sure data fileformat versions are updated
C (generator and runtime code) & J (runtime code)
CF-2w

If the format of a binary data file has changed, upgrade the format version in the UDataInfo header for that file. Better: Change the format version immediately when the format is changed. The change must be made in both the producer/generator and consumer/runtime code.

It is desirable to maintain backward compatibility, but sometimes impractical. Update the major version number for incompatible changes. Runtime code should permit higher minor version numbers for supported major versions.

We rarely use the third and fourth version number fields, except for UTrie (version 1) parameters that don't really change.

 done Nov 17
 michaelow   Scan for Copyright notices C & J CF-1w

Check source and data files, especially newly contributed ones, to make sure the proper copyright notice is in place. For example,

Copyright (c) 2001-2008, International Business Machines Corporation
and others. All rights reserved.

Scan the source code to make sure that every file that was touched recently has the current year in the copyright statement. See the ICU Copyright Scanner page and follow the link to the scripts and the readme.

Scan the source code to include third-party company names in copyright notices if necessary. 

Scan for text files that do not contain the word "Copyright": find_textfiles -nosvn -novc | xargs grep -i -L Copyright (See the find_textfiles Perl script attached to this page.)

Make sure that you use (c), not ©, because non-ASCII characters in source code can break the build!
(See ICU's check-in policy for more details.)

 Done - Nov 17
 yoshito will check  Verified with the latest Unicode license term. Only year needed to be changed to 2010

C: r29069
J: r29068
Update license files C & J CF-1w

Check ICU, Unicode and other license terms. Make sure these files are up to date. The Unicode data and software license term is updated anually (usually year number only).

  Problems:

ICU4C
  #8119 - srl fixed nov04

ICU4J
  #8118 - yoshito fixed
 andy   checked at
r28989 (C)
r28987 (J)

J no longer need this task. All .java files are now UTF-8.
Check for non-ascii characters in source files C & J CF-1w Run the tool com.ibm.icu.dev.tools.misc.NonAsciiFileDetector
>java com.ibm.icu.dev.tools.misc.NonAsciiFileDetector <icu4c|icu4j source root path>

This tool will output the *.cpp, *.c, *.h and *.java files with non-ascii characters in it.
Alternatively,  

cd icu4c/source
find . \( -name "*.[ch]" -or -name "*.cpp" \) -exec grep -PHn [^[:ascii:]] {} \;

cd icu4j
find . -name "*.java" -exec grep -PHn [^[:ascii:]] {} \;
Done.- nov04
 
 andy #8127
r29002
Check text file line endings    
C & J
  Verify that all source and text files in the svn repository have plain LF line endings, and have the svn property svn:eol-style=native.

To do this on Linux, In an up-to-date svn working copy of icu,
   cd trunk
   source/tools/icu-svnprops-check.py          # reports problems
   source/tools/icu-svnprops-check.py  --fix   # fixes problems

The same python script from the icu4c tools will fix icu4j
   cd icu4j/trunk
   <path-to-icu4c>/source/tools/icu-svnprops-check.py 

svn commit any changes made by the script.  The commit is needed both for line ending changes and svn property changes.  Copyright dates do not need to be changed for these.

 Done - Nov 17
 yoshito  r29064 Clean up import statements
J
CF
Eclipse IDE provides a feature which allow you to organize import statements for multiple files.  Right click on projects/source folders/files, you can select [Source] - [Organize Imports] which resolve all wildcard imports and sort the import statements in a consistent order.  (Note: You may experience OOM problem when your run this for projects/folders which contain many files.  In this case, you may need to narrow a selection per iteration.)
 Done  andy  ok at
r28989
Verify proper memory allocation functions C CF-2w

Verify the following for library code (common, i18n, layout, ustdio). The requirement is for ICU's memory management to be customizable by changing cmemory.h and the common base class.

  • No raw malloc/free/realloc but their uprv_ versions.
  • All C++ classes must inherit the common base class UObject or UMemory
    • But not for mixin/interface classes (pure virtual, no data members, no constructors) because that would break the single-inheritance model.
    • Also not for pure-static classes (used for name scoping) declare but don't implement a private default constructor to prevent instantiation.
    • Simple struct-like C++ classes (and structs) that do not have constructors, destructors, and virtual methods, need not inherit the base class but must then be allocated with uprv_malloc.
  • All simple types (UChar, int32_t, pointers(!), ...) must be allocated with uprv_malloc and released with uprv_free.
  • For Testing that this is the case, on Linux
    • run the Perl script ICUMemCheck.pl. Follow the instructions in the script. The script is in in the ICU4C sources at icu/tools/memcheck/ICUMemCheck.pl.
  • For testing that this is the case, on Windows:
    • Don't bother, as of Nov, 2004. Failures appear in many dozens of files from the mixin class destructors. Do the check on Linux. But, for reference, here are the old instructions.
      • Make sure that in uobject.h UObject::new and delete are defined by default. Currently, this means to grep to see thatU_OVERRIDE_CXX_ALLOCATION is defined to 1 (in pwin32.h for Windows).
      • Check the *.obj's for linkage to the global (non-UObject::) operators new/delete; see uobject.cpp for details.
      • Global new must never be imported. Global delete will be imported and used by empty-virtual destructors in interface/mixin classes. However, they are not called because implementation classes always derive from UMemory. No other functions must use global delete.
      • There are now (2002-dec-17) definitions in utypes.h for global new/delete, with inline implementations that will always crash. These global new/delete operators are only defined for code inside the ICU4C libraries (but must be there for all of those). See Jitterbug 2581.
      • If a global new/delete is used somewhere, then change the class inheritance and/or use uprv_malloc/free until no global new/delete are used in the libraries (and the tests still pass...). See the User Guide Coding Guidelines for details.
 done Nov 17
 andy, michaelow  run late oct, was OK, will run again Run static code analysis tools (Purify, Boundary Checker, valgrind...) C CF-2w Make sure we fixed all the memory leak problems that were discovered when running these tools.
  • Build ICU with debug information. On Linux,
       runConfigureICU --enable-debug --disable-release Linux
  • Run all of the standard tests under valgrind.  For intltest, for example
       cd <where ever>/source/test/intltest
       LD_LIBRARY_PATH=../../lib:../../stubdata:../../tools/ctestfw:$LD_LIBRARY_PATH  valgrind  ./intltest
    You can grab the command line for running the tests from the output from "make check", and then just insert "valgrind" before the executable.
 done Nov 17  yoshito  OK Run ICU4J Locale Service Provider tests
J CF-2W
Make sure ICU4J LocaleServiceProvider test cases runs without any errors.  See readme.html in <icu4j_root>/localespi
 done Nov 17
 yoshito  test code issues, false positives; will update test code -> r29067

3 expected test failure in ICU/Core/Format/DateFormat/ TimeZoneFormatTest/ TestTimeRoundTrip - because ICU uses 2010o while the latest time zone rule which I can get is 2010l. (Pacific/Apia change in 2010n)
Run ICU4J Test cases with JDK TimeZone
J
CF-2W
Make sure ICU4J test cases do not produce any errors with JDK TimeZone option is enabled.
  • Apply the latest tz update patch to the JRE.
  • Run the ICU4J test cases using ant target "jdktzCheck"
 skip    not necessary this time, skip Verify the Eclipse ICU4J plug-in J CF-2w
  1. Make sure the Eclipse ICU4J plug-in binaries are successfully produced.
  2. Run the ICU4J plug-in test cases.
  3. Update license files, build version strings for the new release.
done nov10 in r29025, #8146  michaelow   Try running tests without any ICU data C & J CF-1w

ICU4C:

ICU data should be removed, so that tests cannot access it. Both cintltst and intltest should be run with -w option and they should not crash. Every crash should be investigated and fixed.

ICU4J:

ICU4J has the test target for this, but does not work as designed for now. For now, this task is not required for ICU4J.

 skip for this release markus?   Build and run testmap C CF-1w Build and run source/test/testmap project. (There is currently no Windows project defined for it.)
$ cd <root of your ICU build tree>
$ CONFIG_FILES=test/testmap/Makefile CONFIG_HEADERS= ./config.status
$ cd test/testmap
$ make check
 done Nov 17

michaelow  not that useful right before release, need for milestone;
(ICU4J 87.3% line coverage),
(ICU4C 90.6% line coverage);
created ticket #8182 and #8183 for 4.8
Check the code coverage numbers C & J FF+1w Our goal is that all releases go out to the public with 100% API test and at least 85% code coverage.
   pedberg   Complete code review C & J CF Nag all the reviewers to finish reviewing the code and change the status of bugs.
 done Dec 2  C - pedberg
J - yoshito
 keep 4.6 work in trunk until release Create a release branch in SVN C & J CF-0.5w

You need a working snapshot of the ICU build first. To do so, you need to check out the trunk and build it on all the reference platforms as stated in the readme.html.

Once the branch is created, only changes necessary for the target release are taken from the trunk.

 done Nov 18 mishonok   Build API documentations and publish them to the ICU public site C & J FF, CF

ICU4C:

Build the API documentation pages for the new release. Run Doxygen to create the javadoc files. Create icu4c-X_X_X-docs.zip

make icu-docs.zip

ICU4J:

Build the API documentation pages for the new release. "ant releaseDocs"

 done for rc1  mishonok   Test ICU4C headers C CF-1w

Testing external dependencies in header files:

(on Unixes) Prerequisite: Configure with --prefix (../trunk/source/runConfigureICU Linux --prefix=/some/temp/folder) and do 'make install'. Then set the PATH so that the installed icu-config script can be found. (export PATH=/some/temp/folder/bin:$PATH)

Then go to the 'icu/source/test/hdrtst' directory and do 'make check'. This will attempt to compile against each header file individually on C and C++, to make sure there aren't any hidden include ordering problems. Output looks like this, the zero indicates a successful test. If a C++ file fails to compile as a C file, add it to the 'cxxfiles.txt' located in the hdrtst directory. Run this test with all the uconfig.h variations (see below).

unicode/bidi.h        - 0  (0 means no error)
unicode/chariter.h - 0
unicode/convert.h - 0
 done Oct29 for rc1  mishonok   Test uconfig.h variations C CF-1w

Test ICU completely, and run the header test (above) with:

  1. none of the 'UCONFIG_NO_XXX' switches turned on (i.e., the normal case)
  2. all of the 'UCONFIG_NO_XXX' switches turned on (set to 1)
  3. For each switch, test once with just that one switch on.
(See common/unicode/uconfig.h for more documentation.)
There is a script available which will automatically test ICU in this way on UNIXes, it lives in: tools/release/c/uconfigtest.sh. See docs at top of script for information.
done oct27, redone nov16 (after breakage) markus tested/fixed r29055

build status -e tests this now
Test C++ Namespace Use
C CF-1w Verify that ICU builds without enabling the default use of the ICU namespace. To test on Linux,
 ./runConfigureICU Linux CXXFLAGS="-DU_USING_ICU_NAMESPACE=0"
 make check

Any problems will show up as compilation errors.
done oct27 markus tested/ok r29055

build status -e tests this now
Test U_CHARSET_IS_UTF8
C CF-1w Verify that ICU builds with default charset hardcoded to UTF-8. To test on Linux,
 ./runConfigureICU Linux CPPFLAGS="-DU_CHARSET_IS_UTF8=1"
 make check

Any problems will show up as compilation or test errors.
Rather than setting the CPPFLAGS, you can also temporarily add #define U_CHARSET_IS_UTF8 1 in unicode/utypes.h before it gets its default definition, or modify the default definition there.
This works best on a machine that is set to use UTF-8 as its system charset, which is not possible on Windows.
 done  andy  tested ok
r28989
Test
ICU_USE_THREADS=0
C  CF-1w  Verify that ICU builds and tests with threading disabled.  To test on Linux,
 ./runConfigureICU Linux --disable-threads
 make check
 done nov03  andy   Update urename.h C FF, CF

Update urename.h to catch all possible ICU4C library exports (especially on non-Windows systems that tend to ignore export qualifiers). See icu/source/tools/genren/README.

Diff the new one with the previous one; there are typically a few bad #defines in there.

You are looking to make sure that the defines all are correct exported symbols and that the Perl script hasn't inadvertently grabbed extraneous text. Each of the defines should be of the format "uxxxx_NamingConvention". If not then you need to determine if it's a script issue or a poorly named method.

 done nov2 for rc1, redone nov16 for rc2  pedberg   Update udraft.h, usystem.h, uintrnl.h, and udeprctd.h C CF-2w
  1. make doc
  2. cd source/tools/gendraft ; make install-headers
  3. Double check the modified files in <icu>/source/common/unicode folder and commit.
 skip this     Verify XLIFF conversion J (The tool resides in the ICU4J repository) CF Note: The following instruction does not work.  Please read the comments with orange background. There are some issues in the current ICU XLIFF tools and the test case below.  See the comments in ticket#6383.

Instructions for verifying the XLIFF conversion tools.
  • Convert icu/source/test/testdata/ra.txt to XLIFF
  • genrb -s icu/source/test/testdata -d icu/source/test/testdata/ -x -l en ra.txt

-d icu/source/test/testdata/ overwrite the existing ra.xlf. Specify another directory.

ra.txt has the top level item "ra", which is supposed to be the content language. Thus, with -l en, you'll get a warning -
"The top level tag in the resource and language specified are not the same. Please check the input."
We should use "-l ra" here.
  • Verify that the ra.xlf produced is identical to the one in CVS HEAD (except for generation date)

    If you use "-l ra" above, you'll get <file .... source-language = "ra" .... />, which is different from ra.xlf in the repository.
    Also, new line codes is broken for imported contents.

  • Convert icu/source/test/testdata/ra.xlf back to ICU format
  • java -cp icu4j/classes com.ibm.icu.dev.tool.localeconverter.XLIFF2ICUConverter -d . -t ra ra.xlf

    The option "-t ra" does not work, because ra.xlf does not contain target language data. Use "-c ra" instead.
  • Verify that the ra.txt produced is identical to the one in CVS HEAD (except for generation date)

    You cannot expect the generated ra.txt exactly matches the original one because of table item re-ordering, new line code changes,
    and explicit resource types (e.g. "ra {" vs. "ra:table {").


  • Go through the steps given in http://icu.sourceforge.net/docs/papers/localize_with_XLIFF_and_ICU.pdf
   srl  update & check Test sample and demo programs C & J FF-1w, CF

Build and run all of the sample and demo apps that are included with ICU, on each of the reference platforms. A list of them is in thereadme. Also see the build system.

Another worthy test: Test suites and demos from the previous release should also compile and run with the libraries of the current release, at least when certain #defines are set (unless they test APIs that are deprecated and have been removed since)!

done oct28 markus C: r28947 J: r28948 Update the pool bundles C & J CF-1w The locale data resource bundles use pool.res bundles (one per bundle tree) for sharing most of their resource table key strings. We should update the pool bundles once per release, or when we get new data from CLDR, or change the tree or key structure, to capture the changing set of key strings.
  1. Build ICU4C
  2. Temporarily modify the data makefile: s/usePoolBundle/writePoolBundle/
  3. Rebuild the data
  4. Copy $icu4c_out/data/out/build/icudt.../pool.res to $icu4c_root/source/data/locales/pool.res
  5. Copy $icu4c_out/data/out/build/icudt.../curr/pool.res to $icu4c_root/source/data/locales/curr/pool.res

  6. Copy all of the pool.res files like this
  7. Revert the data makefile change
  8. Rebuild the data (make sure it actually gets rebuilt, e.g., by first deleting all of the data/out files)
  9. Run ICU4C tests
  10. Rebuild the ICU4J data .jar files
If there are new bundle trees that should use pool.res files, then first modify the data makefiles (Windows and Linux) to add the new pool.res to the appropriate file lists and initially add --writePoolBundle which at the end also needs to be turned into --usePoolBundle.
 done Dec 2  pedberg built data on Win x86, built clean make check on MacOSX x86 with that data file and no data sources, no errors Test data portability C CF-1w

Test if the data portability (under common endianness & charset family) is ok. On the ICU build server, you would use the "Build from source .dat archive" option. When it's not available, you would do the following:

  1. Build ICU4C on Win32.
  2. Copy the icu/source/data/out/icudt<data_version>l.dat file into icu/source/data/in
  3. Delete non-essential directories from icu/source/data.
  4. Package up a clean copy of ICU for a non-Windows machine, like Linux on x86.
  5. Build ICU on the non-Windows machine from the newly created package.
  6. Run all tests on that non-Windows machine.
 done nov24
 michaelow   Run the environment tests C CF-2w

Run environmentTest.sh on a Linux machine This test verifies that the ICU test suite will work regardless of a user's default locale and timezone. This test should be run on a fast machine with several CPU cores. This will take a long time to run. Here are the steps to run the test.

  1. cd tools/release/c/
  2. ./environmentTest.sh
  3. Wait a while for the tests to finish. The logs will be written in each test directory. e.g. icu/source/test/intltest/intltest-*.txt. A message will be printed from each spawned test script when it finishes.
  4. grep the logs for any test failures when the tests are done.
 
 skip for rc2 Upgrade LocaleExplorer and other demos/samples to the ICU project site C & J GA

Build the icuapps module following the README's. Update code and/or docs as needed. "Reference" platforms for icuapps are: RedHat Linux and win32. On Linux, icuapps is built against the "make install "'ed ICU. So, run ICU4C's configure with --prefix=/some/where pointing to where ICU4C should be installed, and also follow icuapps's README.

Install the new locale explorer and other demos/samples onto the public demo hosting site.

 C - done nov2-4 for rc1; redone Nov 16 for rc2  C - srl
J - yoshito
  Update the API Change Report C & J CF+1w

For ICU4C:

  1. Update the API documentation in all header files (.h file) to have correct @draft/@stable/@deprecated labels.
  2. Update docmain.h
  3. ./configure
  4. make docs
  5. Folow instructions in tools/release/java/readme.txt.

For ICU4J:

  1. Run ant task "apireport" at <icu4j_root>
  2. Above will produce API change report file <icu4j_root>/out/icu4j_compare_xxx_yyy.html
  3. Make sure there are any new doc tag errors are reported. (As of ICU 4.4, ArabicShaping constants do not have proper tags - otherwise, clean)
  4. Copy generated report file to <icu4j_root>/APIChangeReport.html and check it in.

Once official release version is shipped, we need to keep API signature information file for next iteration. This is not done for milestone releases, only after the final official release.

  1. Run ant task "gatherapi" at <icu4j_root>
  2. Above will produce API signature information file <icu4j_root>/out/icu4jxx.api2.gz
  3. Copy icu4jxxapi2.gz to <icu4j_root>/tools/build and add it to the repository
 done Dec 1 for C, J C - pedberg
J - yoshito
do this for rc2 - was already updated Nov 16 by markus

Update the Readme.html for GA C & J GA-1w

If there are any last second changes. Make sure to document especially items that affect software that is currently compiled with the previous version of ICU. Update build/installation instructions as necessary.

done dec01markuspost rc2Tag related svn filesCGA-0.5wTag related svn files. Currently, tag repos/icu/tools/trunk so that we can reproduce the Unicode tools that were used for the Unicode data files in this release; and tag icuapps/trunk.
 done for rc1, rc2, final pedberg   Create ICU download page   GA-0.5w An enhancement release simply needs to have a list of what has been changed or added recently. A reference release should have much more detailed descriptions, especially of what API's have changed since the last reference release and migration steps.
C source & docs done Dec 2


C source & docs - pedberg

C binaries - IBM

J - pedberg, requires Java 6
C source & docs done Nov 19 for rc2, Dec 2 for final

J done Nov 19 for rc2
Upload Release Source/Binaries

(source only for C, or is that just for milesontes?)
C&J GA-0.49w  Download Directories are located at, for example, 
  icu-project.org:/home/htdocs/ex/files/icu4c/4.4.2
 
corresponding to  http://download.icu-project.org/ex/files/icu4c/4.4.2/

Look at previous releases for an example.

Java Source/Bin:   'ant release' from the top level checkout of ICU4J will create the 'release/' subdirectory containing all jars.   

C source:  [SRL: This section is currently broken. ] From a Unix platform:
Note that it is important that the C source contain pre-built data.
  1. Check out the ICU release with svn. These instructions will not package up local changes, because the pristine source will be re-exported from svn. 
  2. Configure and build ICU
  3. Run "make dist"
  4. icu4c-docs-*.zip, icu4c-src-*.zip, and icu4c-src-*.tgz will be created.
  5. Rename the files as appropriate and upload.

C binary:
  Currently, the IBM ICU Build System is the only source of C binary builds.  Unix builds are just the output of 'make install',  Windows builds are the rough equivalent.

MD5 files:
Create three different '.md5' files for icu4j (all files),  icu4c (source) and icu4c (binaries).

Use cfv: http://cfv.sf.net like this to create a .md5 file:
cfv -t md5 -C -f icu-……-src.md5 somefile.zip somefile.tgz
To verify, just run "cfv -f icu-……-src.md5" and it will verify that the md5 file contains hashes for all referenced files.

done Dec 2 pedberg  not for rc2 Check the ICU public site for the new release   GA

Make sure that, aside from download pages, homepages, news items, feature lists and feature comparisons, etc. are updated. Upload the new API references. Update the User Guide.

  pedberg  not for rcs Announce the new ICU release   GA

Post the update to the icu-announce list, the icu-support list, the icu-design list.

Put a News item on the ICU project site. Both ICU4C and ICU4J are announced in the same announcement.

 done    => add milestone Update the Trac release number list for ICU4C and ICU4J.   GA+1w Update the ICU release number list by going to "Admin>Versions" in Trac, and add the new ICU version.
  yoshito, srl, ... add Maven upload to doc; Yoshito to do

Steven to do freshmeat

Update the reference for ICU in the external sites   GA+1w

For freshmeat.net

  1. http://www.freshmeat.net/
  2. Login under the correct account.
  3. I usually search for: icu unicode
  4. Click on the project returned
  5. Under the 'project' drop down, choose 'Add release'
  6. We have (thankfully) only one branch of development- choose Default
  7. Release info
    • release focus: Choose the one which best fits
    • Version
    • Changes: be VERY brief, and include links if needed.
      Please read the other ICU4C/ICU4J updates to get an idea for how we are wording these. DO NOT use bulleted lists. DO use short 'sentences'. Remember they can go to the release list and/or bug DB for the full scoop!
      Put the URL to the 'release notes' (i.e. http://oss.software.ibm.com/icu/download/(version)/ ) in the changes list.
    • tar/gz, zip: Put the FULL URLs to the actual files, here
    • Changelog: Leave BLANK. This is for a single page of ALL release changes (Actually: http://oss.software.ibm.com/icu/download/ fits this fairly well.)
    • License - leave at MIT/X
    • mailing list: I set this to the main mailing list page. (http://oss.software.ibm.com/icu/archives/)
    Click 'go on..'
  8. PREVIEW.
    Very important- Check:
    • SPELLING
    • links!!!!! Make sure they go where we want
    • accuracy - version number is OK?
    Remember that this is an important PR face for ICU4C and ICU4J.
  9. Submit!

That's it. Submissions take some time (<24 hrs) to go on. I guess they check the accuracy as well- not sure here. (Steven Loomis, 2001-06-14)

Other sites:

slashdotnewsforgedeveloperWorks unicode zonedeveloperWorks open-source zonedeveloperWorks java zone (send email to dWnews <at> us.ibm.com)

ICU sourceforge News - login here, go to News, Admin, and submit a news item as an administrator.


LanguageTech Net News (tm)

"LanguageTech Net News" features the latest news for language technology and multilingual computing. It is prepared from materials compiled and maintained by the research editors at "MultiLingual Computing & Technology" and the Language Technology Research Center.

Press releases and submissions are always welcomed and encouraged. Please send e-mail to news@multilingual.com, faxes to 208-263-6310 and postal mail to MultiLingual Computing, Inc., 319 North First Avenue, Sandpoint, ID 83864 USA, or call 208-263-8178.

To view archived issues of "LanguageTech Net News" visit http://www.multilingual.com/.

To subscribe to "LanguageTech Net News" go to http://www.multilingual.com/multilingualpress/ or send an e-mail to news-l-subscribe@multilingual.com.

  yoshito Yoshito to do when tickets closed Post-release cleanup   GA+2w

Cleanup the milestone in the ICU Trac. Move left over items to future milestones. Close the milestone.

Look for TODO comments in the source code and file new tickets as required.

 done     Update online demos C&J GA+2w Update online demos/tools to the latest version:
  • ICU demos (eg http://demo.icu-project.org/icu-bin/idnbrowser)
  • CLDR Survey tool (eg http://unicode.org/cldr/apps/about.jsp)
  • Unicode Utilities (eg http://unicode.org/cldr/utility/character.jsp)
    comparison = JDK vs ICU4J

delete this item for now
Online information update   GA+4w Collation and comparison charts need to be updated.


Note: Acronyms used in the Due date column are:
  • FF: Feature(API) Freeze
  • CF: Code Freeze
  • GA: Generally Available (The official release)
  • FF-2w = 2 weeks before Feature Freeze
Comments