<commit_before># develop
  * Migrated to Punchblock
  * Removed all Asterisk specific functionality
  * Removed LDAP, XMPP, Rails and ActiveRecord functionality and replaced them with plugins
  * Deprecated the components architecture in favour of the new style Plugins
  * Extend Console via Plugins mechanism
  * Removed Theatre in favour of girl_friday. Event namespaces no longer need to be registered, and events with any name may be triggered and handled. The DSL has been simplified. For example, AMI events may now be handled like:
    asterisk_manager_interface do |event|
      ...
    end

    asterisk_manager_interface :name => /NewChannel/ do |event|
      ...
    end
  * Dialplan DSL changes:

# 1.2.1
  * Removed the restful_rpc component since it is now in a gem.
  * Allow overriding the path to a component in the testing framework so as to support new style components (lib/)
  * Added a GUID to the default recording filename to ensure uniqueness
  * ECONNRESET exceptions are now handled as a call hangup
  * Fixed escaping of TTS strings containing commas when used with Cepstral via #speak
  * Made logging exceptions the responsibility of the framework rather than the app, so that this may not be disabled

# 1.2.0
  * New method: #play_or_speak allows playback of an audio file with TTS fallback
  * #input now takes :speak as a hash for TTS prompt or fallback
  * New method: #speak provides abstracted TTS rendering for UniMRCP and Cepstral
  * Allow leading "+" in Caller ID (E.164 format)
  * Allow using --pid-file without "daemon" for JRuby
  * Allow passing a block to #input to enable caller to detect when enough digits are collected.
  * Fix some issues with starting apps outside of their directory, generally related to Bundler/gem environments
  * Allow configuration of logging outputters/formatters
  * Using ahn_log in a dialplan context or on a call object logs to the call's context, named after its unique identifier
  * New method: #record_to_file with more useful return values

# 1.1.1
  * Command#play now returns false if audio failed to play<commit_msg>Changelog entry for input and output<commit_after># develop
  * Migrated to Punchblock
  * Removed all Asterisk specific functionality
  * Removed LDAP, XMPP, Rails and ActiveRecord functionality and replaced them with plugins
  * Deprecated the components architecture in favour of the new style Plugins
  * Extend Console via Plugins mechanism
  * Removed Theatre in favour of girl_friday. Event namespaces no longer need to be registered, and events with any name may be triggered and handled. The DSL has been simplified. For example, AMI events may now be handled like:
    asterisk_manager_interface do |event|
      ...
    end

    asterisk_manager_interface :name => /NewChannel/ do |event|
      ...
    end
  * Dialplan DSL changes:
  * Input and output functions reworked to to take advantage of
    Punchblock features, though method signatures have been kept
    similar.
  * Output now allows for usage of String, Numeric, Time/Date, files on
    disk, files served via HTTP, and direct SSML. All non-file types are
    played via TTS.
  * Output types are automatically detected and played
  * The same argument types are valid for usage in input prompts via
    #input and #stream_file.
  * Input is handled using single-digit waiting, not the full Punchblock
    Input component.

# 1.2.1
  * Removed the restful_rpc component since it is now in a gem.
  * Allow overriding the path to a component in the testing framework so as to support new style components (lib/)
  * Added a GUID to the default recording filename to ensure uniqueness
  * ECONNRESET exceptions are now handled as a call hangup
  * Fixed escaping of TTS strings containing commas when used with Cepstral via #speak
  * Made logging exceptions the responsibility of the framework rather than the app, so that this may not be disabled

# 1.2.0
  * New method: #play_or_speak allows playback of an audio file with TTS fallback
  * #input now takes :speak as a hash for TTS prompt or fallback
  * New method: #speak provides abstracted TTS rendering for UniMRCP and Cepstral
  * Allow leading "+" in Caller ID (E.164 format)
  * Allow using --pid-file without "daemon" for JRuby
  * Allow passing a block to #input to enable caller to detect when enough digits are collected.
  * Fix some issues with starting apps outside of their directory, generally related to Bundler/gem environments
  * Allow configuration of logging outputters/formatters
  * Using ahn_log in a dialplan context or on a call object logs to the call's context, named after its unique identifier
  * New method: #record_to_file with more useful return values

# 1.1.1
  * Command#play now returns false if audio failed to play
{'fraction_non_alphanumeric': 0.043850490707872204, 'fraction_numerical': 0.005011484652328252, 'mean_word_length': 3.7995991983967934, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, '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': '5156946', 'n_tokens_mistral': 1284, 'n_tokens_neox': 1233, 'n_words': 677}