Merged revisions 140670 via svnmerge from
[asterisk/asterisk.git] / CHANGES
diff --git a/CHANGES b/CHANGES
index a94a542..6cdf26b 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,224 @@
 ------------------------------------------------------------------------------
---- Functionality changes since Asterisk 1.4-beta was branched ----------------
--------------------------------------------------------------------------------
+--- Functionality changes from Asterisk 1.6.1 to Asterisk 1.6.2  -------------
+------------------------------------------------------------------------------
+
+* Nothing, yet!
+
+------------------------------------------------------------------------------
+--- Functionality changes from Asterisk 1.6.0 to Asterisk 1.6.1  -------------
+------------------------------------------------------------------------------
+
+Device State Handling
+---------------------
+ * The event infrastructure in Asterisk got another big update to help support
+    distributed events.  It currently supports distributed device state and
+    distributed Voicemail MWI (Message Waiting Indication).  A new module has
+    been merged, res_ais, which facilitates communicating events between servers.
+    It uses the SAForum AIS (Service Availability Forum Application Interface
+    Specification) CLM (Cluster Management) and EVT (Event) services to maintain
+    a cluster of Asterisk servers, and to share events between them.  For more
+    information on setting this up, see doc/distributed_devstate.txt.
+
+Dialplan Functions
+------------------
+ * Added a new dialplan function, AST_CONFIG(), which allows you to access
+   variables from an Asterisk configuration file.
+ * The JACK_HOOK function now has a c() option to supply a custom client name.
+ * Added two new dialplan functions from libspeex for audio gain control and 
+   denoise, AGC() and DENOISE(). Both functions can be applied to the tx and 
+   rx directions of a channel from the dialplan.
+ * The SMDI_MSG_RETRIEVE function now has the ability to search for SMDI messages
+   based on other parameters.  The default is still to search based on the
+   forwarding station ID.  However, there are new options that allow you to search
+   based on the message desk terminal ID, or the message desk number.
+ * TIMEOUT() has been modified to be accurate down to the millisecond.
+ * ENUM*() functions now include the following new options:
+     - 'u' returns the full URI and does not strip off the URI-scheme.
+     - 's' triggers ISN specific rewriting
+     - 'i' looks for branches into an Infrastructure ENUM tree
+     - 'd' for a direct DNS lookup without any flipping of digits.
+ * TXCIDNAME() has a new zone-suffix parameter (which defaults to 'e164.arpa')
+ * CHANNEL() now has options for the maximum, minimum, and standard or normal
+   deviation of jitter, rtt, and loss for a call using chan_sip.
+
+DAHDI channel driver (chan_dahdi) Changes
+----------------------------------------
+ * Channels can now be configured using named sections in chan_dahdi.conf, just
+   like other channel drivers, including the use of templates.
+ * The default for pridialplan has changed from 'national' to 'unknown'.
+
+PBX Changes
+-----------
+ * It is now possible to specify a pattern match as a hint. Once a phone subscribes
+   to something that matches the pattern a hint will be created using the contents
+   and variables evaluated.
+ * Dialplan matching has been extended to allow an extension to return to the
+   PBX core to wait for more digits.  This is done by using the new dialplan
+   application called "Incomplete".  This will permit a whole new level of
+   extension control, by giving the administrator more control over early
+   matches employing one of the short-circuit pattern match operators.  Note
+   that custom applications can trigger this same behavior by returning the
+   special value AST_PBX_INCOMPLETE.
+
+Application Changes
+-------------------
+ * Directory now permits both first and last names to be matched at the same
+   time.  In addition, the number of digits to enter of the name can be set in
+   the arguments to Directory; previously, you could enter only 3, regardless
+   of how many names are in your company.  For large companies, this should be
+   quite helpful.
+ * Voicemail now permits a mailbox setting to wrap around from first to last
+   messages, if the "messagewrap" option is set to a true value.
+ * Voicemail now permits an external script to be run, for password validation.
+   The script should output "VALID" or "INVALID" on stdout, depending upon the
+   wish to validate or invalidate the password given.  Arguments are:
+   "mailbox" "context" "oldpass" "newpass".  See the sample voicemail.conf for
+   more details
+ * Dial has a new option: F(context^extension^pri), which permits a callee to
+   continue in the dialplan, at the specified label, if the caller hangs up.
+ * ChanSpy and ExtenSpy have a new option, 's' which suppresses speaking the
+   technology name (e.g. SIP, IAX, etc) of the channel being spied on.
+ * The Jack application now has a c() option to supply a custom client name.
+ * Chanspy has a new option, 'B', which can be used to "barge" on a call. This is
+   like the pre-existing whisper mode, except that the spy can also talk to the
+   participant on the bridged channel as well.
+ * Chanspy has a new option, 'n', which will allow for the spied-on party's name
+   to be spoken instead of the channel name or number. For more information on the
+   use of this option, issue the command "core show application ChanSpy" from the 
+   Asterisk CLI.
+ * Chanspy has a new option, 'd', which allows the spy to use DTMF to swap between
+   spy modes. Use of this feature overrides the typical use of numeric DTMF. In other
+   words, if using the 'd' option, it is not possible to enter a number to append to
+   the first argument to Chanspy(). Pressing 4 will change to spy mode, pressing 5 will
+   change to whisper mode, and pressing 6 will change to barge mode.
+ * ExternalIVR now takes several options that affect the way it performs, as
+   well as having several new commands.  Please see doc/externalivr.txt for the
+   complete documentation.
+ * ChanIsAvail has a new option, 'a', which will return all available channels instead
+   of just the first one if you give the function more then one channel to check.
+ * PrivacyManager now takes an option where you can specify a context where the 
+   given number will be matched. This way you have more control over who is allowed
+   and it stops the people who blindly enter 10 digits.
+ * ForkCDR has new options: 'a' updates the answer time on the new CDR; 'A' locks
+   answer times, disposition, on orig CDR against updates; 'D' Copies the disposition
+   from the orig CDR to the new CDR after reset; 'e' sets the 'end' time on the
+   original CDR; 'R' prevents the new CDR from being reset; 's(var=val)' adds/changes
+   the 'var' variable on the original CDR; 'T' forces ast_cdr_end(), ast_cdr_answer(),
+   obey the LOCKED flag on cdr's in the chain, and also the ast_cdr_setvar() func.
+ * The Dial() application no longer copies the language used by the caller to the callee's
+   channel. If you desire for the caller's channel's language to be used for file playback
+   to the callee, then the file specified may be prepended with "${CHANNEL(language)}/" .
+ * SendImage() no longer hangs up the channel on error; instead, it sets the
+   status variable SENDIMAGESTATUS to one of 'SUCCESS', 'FAILURE', or
+   'UNSUPPORTED'.  This change makes SendImage() more consistent with other
+   applications.
+ * Park has a new option, 's', which silences the announcement of the parking space number.
+
+SIP Changes
+-----------
+ * Added DNS manager support to registrations for peers referencing peer entries.
+   DNS manager runs in the background which allows DNS lookups to be run asynchronously 
+   as well as periodically updating the IP address. These properties allow for
+   better performance as well as recovery in the event of an IP change.
+ * Performance improvements via using hash tables (astobj2) and doubly-linked lists to improve 
+   load/reload of large numbers of peers/users by ~40x (for large lists of peers.
+   Initially, we saw 4x improvement in call setup/destruction, but at the time
+   of merging, this gain has disappeared; further research will be done to try
+   and restore this performance improvement. Astobj2 refcounting is now used
+   for users, peers, and dialogs.  Users are encouraged to assist in regression
+   testing and problem reporting!
+ * Added ability to specify registration expiry time on a per registration basis in
+   the register line.
+ * Added support for T140 RED - redundancy in T.140 to prevent text loss due to
+   lost packets.
+ * Added t38pt_usertpsource option. See sip.conf.sample for details.
+ * Added SIPnotify AMI command, for sending arbitrary SIP notify commands.
+ * 'sip show peers' and 'sip show users' display their entries sorted in
+    alphabetical order, as opposed to the order they were in, in the config 
+    file or database. 
+ * Videosupport now supports an additional option, "always", which always sets
+    up video RTP ports, even on clients that don't support it.  This helps with
+    callfiles and certain transfers to ensure that if two video phones are
+    connected, they will always share video feeds.
+
+IAX Changes
+-----------
+ * Existing DNS manager lookups extended to check for SRV records.
+ * IAX2 encryption support has been improved to support periodic key rotation
+   within a call for enhanced security.  The option "keyrotate" has been
+   provided to disable this functionality to preserve backwards compatibility
+   with older versions of IAX2 that do not support key rotation.
+
+CLI Changes
+-----------
+  * New CLI command, "config reload <file.conf>" which reloads any module that
+     references that particular configuration file.  Also added "config list"
+     which shows which configuration files are in use.
+  * New CLI commands, "pri show version" and "ss7 show version" that will
+     display which version of libpri and libss7 are being used, respectively.
+     A new API call was added so trunk will now have to be compiled against
+     a versions of libpri and libss7 that have them or it will not know that
+     these libraries exist.
+  * The commands "core show globals", "core set global" and "core set chanvar" has
+     been deprecated in favor of the more semanticly correct "dialplan show globals",
+     "dialplan set chanvar" and "dialplan set global".
+  * New CLI command "dialplan show chanvar" to list all variables associated
+    with a given channel.
+
+DNS manager changes
+-------------------
+  * Addresses managed by DNS manager now can check to see if there is a DNS
+    SRV record for a given domain and will use that hostname/port if present.
+
+AMI - The manager (TCP/TLS/HTTP)
+--------------------------------
+  * The Status command now takes an optional list of variables to display
+    along with channel status.
+
+ODBC Changes
+------------
+  * res_odbc no longer has a limit of 1023 total possible unshared connections,
+    as some people were running into this limit.  This limit has been increased
+    to 4.2 billion.
+
+Queue changes
+-------------
+  * The TRANSFER queue log entry now includes the the caller's original
+    position in the transferred-from queue.
+  * A new configuration option, "timeoutpriority" has been added. Please see the section labeled
+    "QUEUE TIMING OPTIONS" in configs/queues.conf.sample for a detailed explanation of the option
+    as well as an explanation about timeout options in general
+
+Realtime changes
+----------------
+  * Several (ODBC, Postgres, MySQL, SQLite) realtime drivers have been given
+    adaptive capabilities.  What this means in practical terms is that if your
+    realtime table lacks critical fields, Asterisk will now emit warnings to
+    that effect.  Also, some of the realtime drivers have the ability (if
+    configured) to automatically add those columns to the table with the
+    correct type and length.
+
+Miscellaneous
+-------------
+  * The channel variable ATTENDED_TRANSFER_COMPLETE_SOUND can now be set using
+    the 'setvar' option to cause a given audio file to be played upon completion
+    of an attended transfer.  Currently it works for DAHDI, IAX2, SIP, and
+    Skinny channels only.
+  * You can now compile Asterisk against the Hoard Memory Allocator, see doc/hoard.txt
+    for more information.
+  * Config file variables may now be appended to, by using the '+=' append
+    operator.  This is most helpful when working with long SQL queries in
+    func_odbc.conf, as the queries no longer need to be specified on a single
+    line.
+  * CDR config file, cdr.conf, has an added option, "initiatedseconds", 
+    which will add a second to the billsec when the ending
+    time is set, if the number in the microseconds field of the end time is 
+    greater than the number of microseconds in the answer time. This allows
+    users to count the 'initiated' seconds in their billing records. 
+
+------------------------------------------------------------------------------
+--- Functionality changes from Asterisk 1.4.X to Asterisk 1.6.0  -------------
+------------------------------------------------------------------------------
 
 AMI - The manager (TCP/TLS/HTTP)
 --------------------------------
@@ -39,6 +257,21 @@ AMI - The manager (TCP/TLS/HTTP)
      Reporting privilege, instead of only under Call or System.
   * The IAX* commands now require either System or Reporting privilege, to
      mirror the privileges of the SIP* commands.
+  * Added ability to retrieve list of categories in a config file.
+  * Added ability to retrieve the content of a particular category.
+  * Added ability to empty a context.
+  * Created new action to create a new file.
+  * Updated delete action to allow deletion by line number with respect to category.
+  * Added new action insert to add new variable to category at specified line.
+  * Updated action newcat to allow new category to be inserted in file above another
+    existing category.
+  * Added new event "JitterBufStats" in the IAX2 channel
+  * Originate now requires the Originate privilege and, if you want to call out
+    to a subshell, it requires the System privilege, as well.  This was done to
+    enhance manager security.
+  * Originate now accepts codec settings with "Codecs: alaw, ulaw, h264" 
+  * New command: Atxfer. See doc/manager_1_1.txt for more details or 
+    manager show command Atxfer from the CLI
 
 Dialplan functions
 ------------------
@@ -85,6 +318,13 @@ CLI Changes
   * New CLI command: "core set chanvar" to set a channel variable from the CLI.
   * Added an easy way to execute Asterisk CLI commands at startup.  Any commands
     listed in the startup_commands section of cli.conf will get executed.
+  * Added a CLI command, "devstate change", which allows you to set custom device
+     states from the func_devstate module that provides the DEVICE_STATE() function
+     and handling of the "Custom:" devices.
+  * New CLI command: "sip show sched" which shows all ast_sched entries for sip,
+    sorted into the different possible callbacks, with the number of entries
+    currently scheduled for each. Gives you a feel for how busy the sip channel
+    driver is.
 
 SIP changes
 -----------
@@ -134,8 +374,11 @@ SIP changes
   * Added SIP Session Timers support (RFC 4028).  This prevents stuck SIP sessions that
      were not properly torn down due to network or endpoint failures during an established
      SIP session.
-  * Added TCP and TLS support for SIP.  See doc/siptls.txt and configs/sip.conf.sample for
-     more information on how it is used.
+  * Added experimental TCP and TLS support for SIP.  See doc/siptls.txt and 
+     configs/sip.conf.sample for more information on how it is used.
+  * Added a new configuration option "authfailureevents" that enables manager events when
+    a peer can't authenticate properly. 
+  * Added DNS manager support to registrations for peers not referencing a peer entry.
 
 IAX2 changes
 ------------
@@ -184,29 +427,39 @@ Local channel changes
      SIP call to Voicemail by putting a Local channel in the middle.  This
      feature is enabled by using the 'j' option in the Dial string to the Local
      channel in conjunction with the existing 'n' option for local channels.
+  * A 'b' option has been added which causes chan_local to return the actual channel
+     that is behind it when queried. This is useful for transfer scenarios as the
+     actual channel will be transferred, not the Local channel.
 
-Zaptel channel driver (chan_zap) Changes
+Agent channel changes
+----------------------
+  * The ackcall and endcall options are now supplemented with options acceptdtmf
+    and enddtmf. These allow for the DTMF keypress to be configurable. The options
+       default to their old hard-coded values ('#' and '*' respectively) so this should
+       not break any existing agent installations.
+
+DAHDI channel driver (chan_dahdi) Changes
 ----------------------------------------
-  * SS7 support in chan_zap (via libss7 library)
+  * SS7 support (via libss7 library)
   * In India, some carriers transmit CID via dtmf. Some code has been added
      that will handle some situations. The cidstart=polarity_IN choice has been added for
      those carriers that transmit CID via dtmf after a polarity change.
   * CID matching information is now shown when doing 'dialplan show'.
-  * Added zap show version CLI command to chan_zap.
-  * Added setvar support to zapata.conf channel entries.
+  * Added dahdi show version CLI command.
+  * Added setvar support to chan_dahdi.conf channel entries.
   * Added two new options: mwimonitor and mwimonitornotify.  These options allow
      you to enable MWI monitoring on FXO lines.  When the MWI state changes,
      the script specified in the mwimonitornotify option is executed.  An internal
      event indicating the new state of the mailbox is also generated, so that
      the normal MWI facilities in Asterisk work as usual.
   * Added signalling type 'auto', which attempts to use the same signalling type
-     for a channel as configured in Zaptel. This is primarily designed for analog
+     for a channel as configured in DAHDI. This is primarily designed for analog
      ports, but will also work for digital ports that are configured for FXS or FXO
-     signalling types. This mode is also the default now, so if your zapata.conf
+     signalling types. This mode is also the default now, so if your chan_dahdi.conf
      does not specify signalling for a channel (which is unlikely as the sample
      configuration file has always recommended specifying it for every channel) then
      the 'auto' mode will be used for that channel if possible.
-  * Added a 'zap set dnd' command to allow CLI control of the Do-Not-Disturb
+  * Added a 'dahdi set dnd' command to allow CLI control of the Do-Not-Disturb
      state for a channel; also ensured that the DNDState Manager event is
      emitted no matter how the DND state is set or cleared.
 
@@ -269,6 +522,18 @@ Voicemail Changes
      lockfile will not work, such as on SMB/CIFS mounts.
   * Added the ability to backup deleted messages, to ease recovery in the case
      that a user accidentally deletes a message, and discovers that they need it.
+  * Reworked the SMDI interface in Asterisk.  The new way to access SMDI information
+     is through the new functions, SMDI_MSG_RETRIEVE() and SMDI_MSG().  The file
+     smdi.conf can now be configured with options to map SMDI station IDs to Asterisk
+     voicemail boxes.  The SMDI interface can also poll for MWI changes when some
+     outside entity is modifying the state of the mailbox (such as IMAP storage or
+     a web interface of some kind).
+  * Added the support for marking messages as "urgent." There are two methods to accomplish
+     this. One is to pass the 'U' option to VoiceMail(). Another way to mark a message as urgent
+     is to specify "review=yes" in voicemail.conf. Doing this will cause allow the user to mark
+     the message as urgent after he has recorded a voicemail by following the voice instructions.
+    When listening to voicemails using VoiceMailMain urgent messages will be presented before other
+     messages
 
 Queue changes
 -------------
@@ -300,6 +565,20 @@ Queue changes
   * Added a new parameter for member definition, called state_interface. This may be
     used so that a member may be called via one interface but have a different interface's
     device state reported.
+  * New configuration option: randomperiodicannounce. If a list of periodic announcements is
+    specified by the periodic-announce option, then one will be chosen randomly when it is time
+    to play a periodic announcment
+  * New configuration options: announce-position now takes two more values in addition to "yes" and
+    "no." Two new options, "limit" and "more," are allowed. These are tied to another option,
+    announce-position-limit. By setting announce-position to "limit" callers will only have their
+    position announced if their position is less than what is specified by announce-position-limit.
+    If announce-position is set to "more" then callers beyond the position specified by announce-position-limit
+    will be told that their are more than announce-position-limit callers waiting.
+  * Two new queue log events have been added. An ADDMEMBER event will be logged
+    when a realtime queue member is added and a REMOVEMEMBER event will be logged
+    when a realtime queue member is removed. Since there is no calling channel associated
+    with these events, the string "REALTIME" is placed where the channel's unique id
+    is typically placed.
 
 MeetMe Changes
 --------------
@@ -329,6 +608,8 @@ MeetMe Changes
      for the "meetme" command.
   * Added the ability to specify the music on hold class used to play into the
      conference when there is only one member and the M option is used.
+  * Added MEETME_INFO dialplan function which provides a way to query
+     various properties of a Meetme conference.
 
 Other Dialplan Application Changes
 ----------------------------------
@@ -356,7 +637,14 @@ Other Dialplan Application Changes
      direct options to the app.
   * AMD() has a new "maximum word length" option. "show application AMD" from the CLI
      for more details
-  * New application RTPpage() that pages SIP phones with unicast or multicast RTP streams
+  * GotoIfTime() now may branch based on a "false" condition, like other Goto-related applications
+  * The ChannelRedirect application no longer exits the dialplan if the given channel
+     does not exist. It will now set the CHANNELREDIRECT_STATUS variable to SUCCESS upon success
+     or NOCHANNEL if the given channel was not found.
+  * The silencethreshold setting that was previously configurable in multiple
+     applications is now settable globally via dsp.conf.
+  * Added ability to communicate over a TCP socket instead of forking a child process for the 
+    ExternalIVR application.
 
 Music On Hold Changes
 ---------------------
@@ -394,6 +682,17 @@ AEL Changes
      first pass at conversion.
   * aelparse will now read extensions.conf to see if a referenced
      macro or context is there before issueing a warning.
+  * AEL parser sets a local channel variable ~~EXTEN~~, to 
+    preserve the value of ${EXTEN} thru switch statements.
+  * New operator in $[...] expressions: the ~~ operator serves
+    as a concatenation operator. AT THE MOMENT, it is really only
+    necessary and useful in AEL, especially in if() expressions.
+    Operation: ${a} ~~ ${b|  with force both a and b to strings, strip 
+    any enclosing double-quotes, and evaluate to the value of a
+    concatenated with the value of b.  For example if a is set to
+    "xyz"  and b has the value "abc", then ${a} ~~ ${b| would
+    evaluate to xyzabc .
+
 
 Call Features (res_features) Changes
 ------------------------------------
@@ -422,6 +721,9 @@ AGI Changes
 -----------
   * Added SPEECH commands for speech recognition. A complete listing can be found
      using agi show.
+  * If app_stack is loaded, GOSUB is a native AGI command that may be used to
+    invoke subroutines in the dialplan.  Note that calling EXEC with Gosub
+    does not behave as expected; the native command needs to be used, instead.
 
 Logger changes
 --------------
@@ -435,6 +737,31 @@ Logger changes
      and to ensure that the oldest log file gets deleted.
   * Added realtime support for the queue log
 
+Call Detail Records 
+-------------------
+  * The cdr_manager module has a [mappings] feature, like cdr_custom,
+    to add fields to the manager event from the CDR variables.
+  * Added cdr_adaptive_odbc, a new module that adapts to the structure of your
+     backend database CDR table.  Specifically, additional, non-standard
+     columns are supported, merely by setting the corresponding CDR variable in
+     your dialplan.  In addition, you may alias any column to another name (for
+     example, if you want the 'src' CDR variable to be column 'ANI' in the DB,
+     simply "alias src => ANI" in the configuration file).  Records may be
+     posted to more than one backend, simply by specifying multiple categories
+     in the configuration file.  And finally, you may filter which CDRs get
+     posted to each backend, by specifying a filter (which the record must
+     match) for the particular category.  Filters are additive (meaning all
+     rules must match to post that CDR).
+  * The Postgres CDR module now supports some features of the cdr_adaptive_odbc
+     module.  Specifically, you may add additional columns into the table and
+     they will be set, if you set the corresponding CDR variable name.  Also,
+     if you omit columns in your database table, they will be silently skipped
+     (but a record will still be inserted, based on what columns remain).  Note
+     that the other two features from cdr_adaptive_odbc (alias and filter) are
+     not currently supported.
+  * The ResetCDR application now has an 'e' option that re-enables a CDR if it
+     has been disabled using the NoCDR application.
+
 Miscellaneous New Modules
 -------------------------
   * Added a new CDR module, cdr_sqlite3_custom.
@@ -479,8 +806,6 @@ Miscellaneous
   * Added maxfiles option to options section of asterisk.conf which allows you to specify
      what Asterisk should set as the maximum number of open files when it loads.
   * Added the jittertargetextra configuration option.
-  * The cdr_manager module has a [mappings] feature, like cdr_custom,
-    to add fields to the manager event from the CDR variables.
   * Added support for setting the CoS for VLAN traffic (802.1p).  See the sample
      configuration files for the IP channel drivers.  The new option is "cos".
      This information is also documented in doc/qos.tex, or the IP Quality of Service
@@ -500,8 +825,38 @@ Miscellaneous
   * A new option when starting a remote asterisk (rasterisk, asterisk -r) for
      specifying which socket to use to connect to the running Asterisk daemon
      (-s)
+  * Performance enhancements to the sched facility, which is used in
+    the channel drivers, etc. Added hashtabs and doubly-linked lists
+    to speed up deletion; start at the beginning or end of list to
+    speed up insertion.
+  * Added Doubly-linked lists after the fashion of linkedlists.h. They are in
+    dlinkedlists.h. Doubly-linked lists feature fast deletion times.
+    Added regression tests to the tests/ dir, also.
+  * Added a refcount trace feature to astobj2 for those trying to balance
+    object creation, deletion; work, play; space and time. See the
+    notes in astobj2.h. Also, see utils/refcounter as well, as a
+    quick way to find unbalanced refcounts in what could be a sea
+    of objects that were balanced.
   * Added logging to 'make update' command.  See update.log
   * Added strictrtp option to rtp.conf. If enabled this will drop RTP packets that
      do not come from the remote party.
   * Added the 'n' option to the SpeechBackground application to tell it to not
      answer the channel if it has not already been answered.
+  * Added a compiler flag, CHANNEL_TRACE, which permits channel tracing to be
+     turned on, via the CHANNEL(trace) dialplan function.  Could be useful for
+     dialplan debugging.
+  * iLBC source code no longer included (see UPGRADE.txt for details)
+  * If compiled with DETECT_DEADLOCKS enabled and if you have glibc, then if 
+     deadlock is detected, a backtrace of the stack which led to the lock calls
+     will be output to the CLI.
+  * If compiled with DEBUG_THREADS enabled and if you have glibc, then issuing
+     the "core show locks" CLI command will give lock information output as well
+     as a backtrace of the stack which led to the lock calls.
+  * users.conf now sports an optional alternateexts property, which permits
+    allocation of additional extensions which will reach the specified user.
+  * A new option for the configure script, --enable-internal-poll, has been added
+    for use with systems which may have a buggy implementation of the poll system
+       call. If you notice odd behavior such as the CLI being unresponsive on remote
+       consoles, you may want to try using this option. This option is enabled by default
+       on Darwin systems since it is known that the Darwin poll() implementation has
+       odd issues.