Skip to content

Releases: iLib-js/iLib

Release Notes for v14.6.1

15 Sep 05:36
c07e927
Compare
Choose a tag to compare

Bug Fixes:

  • Updated to IANA time zone data 2020a
  • Put base option back on ResBundle
  • Fixed a few tools and dependencies so that ilib works on node v14
  • Fixed a default timezone in my-MM to Asia/Yangon
  • Fixed a bug which a default script for ky should be Cyrl instead of Arabic
  • Added unit tests for the following locales:
    • be-BY (Belarussian/Belarus)
    • ca-AD, ca-ES (Catalan/Andorra and Spain)
    • eu-ES (Basque/Spain)
    • gl-ES (Galician/Spain)
    • hy-AM (Armenian/Armenia)
    • ky-KG (Kyrgyz/Kyrgyzstan)
    • lo-LA (Laotian/Laos)
    • my-MM (Burmese/Myanmar)
    • ne-NP (Nepalese/Nepal)

Release Notes for Version 14.6.0

09 Apr 08:05
04f6387
Compare
Choose a tag to compare

New Features:

  • Updated all locale data to CLDR 36 and Unicode Character Database 13.0
  • The methods of the TimeZone object that take dates as parameters can now
    take any date types, such as a unix time number, an intrinsic Javascript
    Date object, or an ilib IDate instance. Previously, they only took
    IDate instances.
    • updated methods are: getDisplayName, getOffset, getOffsetStr,
      getOffsetMillis, and inDaylightTime

Bug Fixes:

  • Time zones in Indiana, Kentucky, North Dakota, and Argentina were missing.
    Fixed the zone info compiler to generate the json data for these missing time
    zones properly.
  • Changed a default length style to medium in List Formatting.

Release Notes for Version 14.5.0

11 Mar 07:14
2b3a05a
Compare
Choose a tag to compare

New Features:

  • Added missing methods to the IString classes to echo all the methods on the intrinsic string class
    • Added methods that have been added in the last few years which some engines define and others do not
    • Delegates to the string class. Does not offer a polyfill yet.
    • Methods added are: matchAll, endsWith, startsWith, includes, normalize, padEnd,
      padStart, repeat, toLocaleLowerCase, toLocaleUpperCase, trim, trimEnd, trimRight,
      trimStart, trimLeft.
    • Defined the "length" property so that it returns the string's length like the intrinsic strings do
    • Added unit tests that only test the new methods if the underlying string class implements each new
      method.
  • Added a "familiar" style to the name formatter
    • This is as familiar as you can get and yet not be rude to a stranger for each locale. For example, in
      English, you would use someone's given name, but in Japan, you would use the full name with honorific.
  • Added support for Georgian (ka-GE)

Bug Fixes:

  • Updated to IANA time zone data 2019c
  • Updated the Korean Name Formatting component per style. Including 'suffix' is more natural than having a 'prefix' or 'honorific'.
  • Added missing likelylocale for hr-ME.

Release Notes for Version 14.4.0

14 Oct 23:11
c53db71
Compare
Choose a tag to compare

New Features:

  • Updated iddarea.json and 'phoneloc.json' which are used in PhoneNumber information and wrote a script file to automatically generate it.
  • Added LocaleMatch.getLikelyLocaleMinimal() method which returns the same thing as the getLikelyLocale method but without the script part of the locale specifier if it has a very common/default value
    • For languages such as Chinese which are commonly written in multiple scripts, the script is always given
    • For languages that are written in multiple scripts, but where one is dominant, the script is only included when it is not the default/dominant one
    • Most languages are only ever written in one script, so the script is left out
  • Updated the script info to UCD 12.0.0, and the likely locale info to CLDR 35.1

Bug Fixes:

  • Fixed unit test failures which occur on QT 5.12
  • Fixed problem where two resource bundle files with the same name and same locale but loaded from different directories were cached in the same place.
    • Introduced the new "basePath" property to ResBundle constructor to specify which directory
      to load the resource bundle from. This property is used to differentiate files loaded from
      different directories.

Release Notes for Version 14.3.0

10 Jul 22:10
4db7e6f
Compare
Choose a tag to compare

New Features:

  • Now uses webpack4 to package up all of the classes and data
  • Added style "disjunction" to the list formatter do you can now format lists with "or" as well:
    • "One, Two, Three, or Four" vs. "One, Two, Three, and Four"

Bug Fixes:

  • Updated to IANA time zone data version 2019b
  • Fixed a bug where the DateRngFmt was not heeding the specified
    time zone when formatting the start and end dates
  • Fixed a bug which a default script for pa-IN should be Guru instead of Arabic

Release Notes for Version 14.2.0

31 May 18:33
f3b86da
Compare
Choose a tag to compare

New Features

  • Updated all locale data (except region names) to CLDR 34 and Unicode Character Database 12.0
    • Region names were not updated because CLDR changed the codes assigned to each region, which
      would break anything that was depending on these names to be stable. We'll have to figure
      out some work-around for this later.

Bug Fixes

  • Updated the Taiwan area code of PhoneNumber according to Wikipedia.
  • Changed 3 digit iddprefix PhoneNumber format of zh-Hant-TW as corresponding local office feedback.
  • Rollback js/ilib-web.js file to support pure Web Application.
  • Added a new platform return type as 'webos-webapp'. If platform type is webos-webapp, The iLib won't load any loader as default.
  • Implemented to include automatically Json data which doesn't exist in CLDR in cldrtool script.
  • Improved the speed of JSUtils.shallowCopy() by using Object.assign if it is available
  • Improved the speed of ilib on QT by re-introducing the concept of caching the already-merged locale data. This
    trades memory footprint for speed, since merging the locale data is slow on QT and the already merged data is just a duplicate of the
    locale data already loaded and cached from locale data files. Other platforms may use this form of caching as
    well if desired by setting ilib._cacheMerged to true, though it only makes a minimal difference in terms of speed.
  • Update some testfiles in order to test properly on QT/QML.

Bug fix release 14.1.2

05 Dec 22:11
445a6c7
Compare
Choose a tag to compare
  • Adopt a JIT plugin loader for grunt. Load time of Grunt does not slow down even if there are many plugins. instead of grunt.loadNpmTasks.

Bug Fixes:

  • Fix a few problems that prevented ilib from running on node version 10. Now version 10 is supported.
  • When the Intl object was available and the code extracted the time zone name from it, it used
    to overwrite that name with some default data. Now it uses the name properly.
  • Fixed some unit tests that were not testing async operation properly.
  • Many of the countries of the world were missing data about the correct name of their top-level
    administrative regions. These have been filled in now, and the names are returned properly from
    AddressFmt.getFormatInfo()

Bug fix release v14.1.1

28 Oct 07:40
039d8ef
Compare
Choose a tag to compare
Pre-release

Bug Fixes:

  • Worked around a problem with uglifyjs which optimized out a block
    of code that contained the comment that the ilib-webpack-loader was
    looking for. The loader would replace that comment with dependencies on
    the webpacked locale data files. Without that comment, no dependencies,
    and therefore no locale data and no WebpackLoader code would be
    included in the final webpack bundle.
  • Added the full file name including the file extension for requires
    of index.js. If file name extension is missing, QT cannot load that
    file properly.
  • Added missing index.js require statement in MeasurementFactory
  • AddressFmt.getFormatInfo would throw an exception for locales where
    the locale data was not available. Now, it does not, and instead, it returns
    some hard-coded info by default that is roughly similar to the en-US
    settings.

Release Notes for Version 14.1.0

19 Oct 18:56
f6c40df
Compare
Choose a tag to compare

New Features:

  • New top-level entry point
    • You can now require("ilib") directly instead of requiring the file that installs the loader. (ie.
      ilib/lib/ilib-node.js for node, or ilib/lib/ilib-qt.js for qt, etc.)
    • The top-level entry point will figure out which environment it is running in and automatically install
      the appropriate loader.
    • Allows ilib to run in node or within a webpack bundle without changes
    • Allows clients to just require ilib classes directly without first requiring the loader installer

Bug Fixes

  • Restored a missing mapping from the the native name for "Japan" to the ISO code "JP" in the nativecountries.json
    • Fixes address parsing for Japan

Release Notes for Version 14

09 Oct 19:46
00464cf
Compare
Choose a tag to compare
Pre-release

Build 001

Published as version 14.0.0

New Features:

  • Webpack support
    • Pre-assembled builds of ilib now use webpack for bundling
    • The assembly tool is now grandfathered
    • The compiled versions of the pre-assembled files are minified with uglify-js
    • You may use ilib in your own webpacked projects (in React or otherwise) using the
      new ilib-webpack-loader and ilib-webpack-plugin.
    • See the documentation in the ilib-webpack-loader documentation
      for more details on how to use the new webpack support
    • Requires some changes in your code to include the right file names and/or to modify
      your webpack.config.js to include ilib dynamically
    • Nodejs versions less than 6 are no longer supported, as webpack does not work with them
  • Grunt support
    • Support iLib build not to using ant
    • Grunt task can do iLib build, running unittest, and creat jsdoc