<commit_before>Release Notes
====
0.23
 * wvlet-log
    - Terminate log scanner thread automatically
    - Suppress sbt and scalatest related stack trace messages
 * wvlet-config 
    - Made a lot of refactoring [#14](Instead Config is now immuable)
       - Config is now immutable. Deprecated ConfigBuilder.
       - Use prefix@tag.param format for properties file
       - Allow providing default config instance
       - Throw FileNotFoundException when YAML file is not found
       - Use Map for the internal config holder to avoid duplicates
       - Add method for returning default and overwritten configurations
       - Allow checking unused config properties for validation

0.22
 * Add Logger.scheduleLogLevelScan

0.21
 * Removed wvlet-inject in favor of [Airframe](https://github.com/wvlet/airframe)
 * Removed Config.bindConfigs(Inject) since it should be done outside wvlet-config 
<commit_msg>Fix release notes<commit_after>Release Notes
====
0.23
 * wvlet-log
    - Terminate log scanner thread automatically
    - Suppress sbt and scalatest related stack trace messages
 * wvlet-config 
    - Improved the configuration flow [#14](https://github.com/wvlet/wvlet/pull/14)
       - Config is now immutable. Deprecated ConfigBuilder.
       - Use prefix@tag.param format for properties file
       - Allow providing default config instances
       - Throw FileNotFoundException when YAML file is not found
       - Use Map for the internal config holder to avoid duplicates
       - Add method for returning default and overwritten configurations
       - Allow checking unused config properties for validation

0.22
 * Add Logger.scheduleLogLevelScan

0.21
 * Removed wvlet-inject in favor of [Airframe](https://github.com/wvlet/airframe)
 * Removed Config.bindConfigs(Inject) since it should be done outside wvlet-config 

{'fraction_non_alphanumeric': 0.060836501901140684, 'fraction_numerical': 0.013036393264530146, 'mean_word_length': 3.3341176470588234, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 3, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 2, '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': '2079024', 'n_tokens_mistral': 497, 'n_tokens_neox': 475, 'n_words': 191}