Releases: iLib-js/iLib
Releases · iLib-js/iLib
Release Notes for v14.6.1
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
toAsia/Yangon
- Fixed a bug which a default script for
ky
should beCyrl
instead ofArabic
- 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
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
- updated methods are: getDisplayName, getOffset, getOffsetStr,
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
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.
- This is as familiar as you can get and yet not be rude to a stranger for each locale. For example, in
- 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
New Features:
- Updated
iddarea.json
and 'phoneloc.json' which are used inPhoneNumber
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.
- Introduced the new "basePath" property to ResBundle constructor to specify which directory
Release Notes for Version 14.3.0
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
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.
- Region names were not updated because CLDR changed the codes assigned to each region, which
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
- Adopt a
JIT
plugin loader for grunt. Load time of Grunt does not slow down even if there are many plugins. instead ofgrunt.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
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
ofindex.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
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
- You can now require("ilib") directly instead of requiring the file that installs the loader. (ie.
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
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