<commit_before>0.2.0
-------------------
 * Added try/catch around analytics processing with showErrors flag to display errors
 * Added check to see if session file is writable when logging in or out of Appc network [TIMOB-13908]
 * Improved AppcException to include a toString() function and improved dump() function
 * Added isFileWritable() function to fs library
 * Fixed bug with Android SDK add-ons with missing manifest.ini files to crash the CLI [TIMOB-13634]
 * Added code coverage reporting
 * Added unit tests for 30 libraries (currently 72% code coverage)
 * Added JSDoc comments for nearly entire code base
 * Complete rewrite of i18n-tool that analyzes Titanium CLI, node-appc, and Titanium SDK Node code and syncs i18n strings with webtranslateit.com
 * Migrated old zip library from using built-in unzip, zip, and 7zip commands to use the adm-zip module
 * Updated a number of APIs to have better dependency injection and less hard-coded parameters (needed for unit tests)
 * Added HAXM environment detection
 * Moved Java environment detection from Android detection library into standalone library and greatly improved Android SDK detection
 * Removed deprecated astwalker library
 * Added new subprocess library to make finding and calling subprocesses easier
 * Removed deprecated hitch() util function
 * Major cleanup to authentication library
 * Added gateway interface detection to network library
 * Updated nearly all dependencies on appc.fs.exists() to fs.existsSync()
 * Added i18n support for entire files
 * Added better plist parsing and serializing support
 * Added new string utility functions wrap() and renderColumns()
 * Internationalized strings in the time library
 * Better/cleaner Titanium module and CLI plugin detection
 * Fixed bug in copyFileSync() when copying a file to a directory [TIMOB-14386]
 * Fixed bug with symlinked modules and plugins not being found [TIMOB-14209]
 * Fixed bug with visitDirsSync() passing the correct filename and path to the visitor function [TIMOB-14958]
 * Fixed bug with Red Hat Linux-based distros (Fedora, Centos) not detecting the name and version of the OS [TIMOB-14960]
 * Added ampersand escaping in subprocess.run() for Windows [TIMOB-2527]
 * Added hashfile() function to fs lib
 * Added more version handling functions: parseMin(), parseMax(), satisfies(), sort()
 * Updated async lib to allow both arrays and objects of tasks
 * Added a scopedDetect() function to the tiplugin lib and updated find() to use that if searchPaths is an object
 * Added support to the copy directory functions in the fs lib for both array and regex ignore files/dirs
 * Added a sort-of-async copy file function to the fs lib
 * Added forEachAttr() to xml lib
 * Fixed bug in recursive copy with opts not being passed to itself
 * Added ability for unzip visitor to return false to prevent a file from being decompressed
 * Added getRealName() function to subprocess lib that gets a path's 8.3 formatted name on Windows
 * Updated timodule lib to use the module's version directory as the version number instead of the version in the manifest
 * Added Mac OS X CLI tools detection lib [TIMOB-15562]
 * Fixed bug in timodule lib where the best candidate for a module was not being selected if it found more than one match
 * Fixed bug when piping the output of an app using node-appc into another app
 * Added JDK home directory to JDK detection info
 * Fixed bug with auth lib when authenticating for the first time and .titanium home directory does not exist
 * Shorten all third party URLs to appcelerator.com/<shortcut> URLs
 * Added ability to override JAVA_HOME environment variable with one in the CLI config
 * Fixed bug with module zip files not being automatically unzipped into the modules directory [TIMOB-15714]
 * Updated third party Node.js module dependency version where safe to do so
 * Added config option "rejectUnauthorized" to auth and analytics libs [TIMOB-15743]
 * Added online() function to net lib to detect if you are online

0.1.30 (6/17/2013)
-------------------
 * Fixed bug with the Android SDK path not being stored back in the Android detection results object after being converted to an absolute path [TIMOB-13549]
 * Fixed a bug with not catching write exceptions in analytics [TIMOB-13908]
<commit_msg>Updated changelog.<commit_after>0.2.0 (12/18/2013)
-------------------
 * Added try/catch around analytics processing with showErrors flag to display errors
 * Added check to see if session file is writable when logging in or out of Appc network [TIMOB-13908]
 * Improved AppcException to include a toString() function and improved dump() function
 * Added isFileWritable() function to fs library
 * Fixed bug with Android SDK add-ons with missing manifest.ini files to crash the CLI [TIMOB-13634]
 * Added code coverage reporting
 * Added unit tests for 30 libraries (currently 72% code coverage)
 * Added JSDoc comments for nearly entire code base
 * Complete rewrite of i18n-tool that analyzes Titanium CLI, node-appc, and Titanium SDK Node code and syncs i18n strings with webtranslateit.com
 * Migrated old zip library from using built-in unzip, zip, and 7zip commands to use the adm-zip module
 * Updated a number of APIs to have better dependency injection and less hard-coded parameters (needed for unit tests)
 * Added HAXM environment detection
 * Moved Java environment detection from Android detection library into standalone library and greatly improved Android SDK detection
 * Removed deprecated astwalker library
 * Added new subprocess library to make finding and calling subprocesses easier
 * Removed deprecated hitch() util function
 * Major cleanup to authentication library
 * Added gateway interface detection to network library
 * Updated nearly all dependencies on appc.fs.exists() to fs.existsSync()
 * Added i18n support for entire files
 * Added better plist parsing and serializing support
 * Added new string utility functions wrap() and renderColumns()
 * Internationalized strings in the time library
 * Better/cleaner Titanium module and CLI plugin detection
 * Fixed bug in copyFileSync() when copying a file to a directory [TIMOB-14386]
 * Fixed bug with symlinked modules and plugins not being found [TIMOB-14209]
 * Fixed bug with visitDirsSync() passing the correct filename and path to the visitor function [TIMOB-14958]
 * Fixed bug with Red Hat Linux-based distros (Fedora, Centos) not detecting the name and version of the OS [TIMOB-14960]
 * Added ampersand escaping in subprocess.run() for Windows [TIMOB-2527]
 * Added hashfile() function to fs lib
 * Added more version handling functions: parseMin(), parseMax(), satisfies(), sort()
 * Updated async lib to allow both arrays and objects of tasks
 * Added a scopedDetect() function to the tiplugin lib and updated find() to use that if searchPaths is an object
 * Added support to the copy directory functions in the fs lib for both array and regex ignore files/dirs
 * Added a sort-of-async copy file function to the fs lib
 * Added forEachAttr() to xml lib
 * Fixed bug in recursive copy with opts not being passed to itself
 * Added ability for unzip visitor to return false to prevent a file from being decompressed
 * Added getRealName() function to subprocess lib that gets a path's 8.3 formatted name on Windows
 * Updated timodule lib to use the module's version directory as the version number instead of the version in the manifest
 * Added Mac OS X CLI tools detection lib [TIMOB-15562]
 * Fixed bug in timodule lib where the best candidate for a module was not being selected if it found more than one match
 * Fixed bug when piping the output of an app using node-appc into another app
 * Added JDK home directory to JDK detection info
 * Fixed bug with auth lib when authenticating for the first time and .titanium home directory does not exist
 * Shorten all third party URLs to appcelerator.com/<shortcut> URLs
 * Added ability to override JAVA_HOME environment variable with one in the CLI config
 * Fixed bug with module zip files not being automatically unzipped into the modules directory [TIMOB-15714]
 * Updated third party Node.js module dependency version where safe to do so
 * Added config option "rejectUnauthorized" to auth and analytics libs [TIMOB-15743]
 * Added online() function to net lib to detect if you are online
 * Improved jdk lib java home detection [TIMOB-15818]
 * Fixed bug in util.mix() when mixing process.env into an object where process.env is not a real object in Node.js 0.8

0.1.31 (12/18/2013)
-------------------
 * Added config option "rejectUnauthorized" to auth and analytics libs [TIMOB-15783]
 * Added support for Xcode 5.0.1+ and iOS 7.0.1+ detection [TIMOB-15681]
 * Fixed bug with incorrect provisioning profile value being base64 encoded [TIMOB-15970]

0.1.30 (6/17/2013)
-------------------
 * Fixed bug with the Android SDK path not being stored back in the Android detection results object after being converted to an absolute path [TIMOB-13549]
 * Fixed a bug with not catching write exceptions in analytics [TIMOB-13908]

{'fraction_non_alphanumeric': 0.05656432265874326, 'fraction_numerical': 0.024430505117200397, 'mean_word_length': 4.253179190751445, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 2}, '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': '6736503', 'n_tokens_mistral': 2477, 'n_tokens_neox': 2173, 'n_words': 1300}