<commit_before>=========================
Duktape 2.2 release notes
=========================

Release overview
================

Main changes in this release (see RELEASES.rst for full details):

* TBD.

* Case insensitive RegExp character class canonicalization performance has
  improved by ~50x using a small lookup table (256 bytes, total footprint
  impact is ~300-400 bytes).

Upgrading from Duktape 2.1
==========================

No action (other than recompiling) should be needed for most users to upgrade
from Duktape v2.1.x.  Note the following:<commit_msg>2.2 migration note for signed/unsigned changes<commit_after>=========================
Duktape 2.2 release notes
=========================

Release overview
================

Main changes in this release (see RELEASES.rst for full details):

* TBD.

* Case insensitive RegExp character class canonicalization performance has
  improved by ~50x using a small lookup table (256 bytes, total footprint
  impact is ~300-400 bytes).

Upgrading from Duktape 2.1
==========================

No action (other than recompiling) should be needed for most users to upgrade
from Duktape v2.1.x.  Note the following:

* The typedef for duk_bool_t was changed from duk_small_int_t (typically
  'int') to duk_small_uint_t (typically 'unsigned int').  API constants for
  DUK_TYPE_xxx, DUK_TYPE_MASK_xxx, flags, etc were changed to unsigned
  (e.g. '(1U << 3)) to match their C type.  These changes may cause some
  sign conversion warnings in application call sites.
{'fraction_non_alphanumeric': 0.17116524028966426, 'fraction_numerical': 0.025016458196181698, 'mean_word_length': 5.08, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '486275', 'n_tokens_mistral': 441, 'n_tokens_neox': 411, 'n_words': 180}