===========================================================
===
=== Information for upgrading between Asterisk versions
===
=== These files document all the changes that MUST be taken
=== into account when upgrading between the Asterisk
=== versions listed below. These changes may require that
=== you modify your configuration files, dialplan or (in
=== some cases) source code if you have your own Asterisk
=== modules or patches. These files also include advance
=== notice of any functionality that has been marked as
=== 'deprecated' and may be removed in a future release,
=== along with the suggested replacement functionality.
===
=== UPGRADE-1.2.txt -- Upgrade info for 1.0 to 1.2
=== UPGRADE-1.4.txt -- Upgrade info for 1.2 to 1.4
=== UPGRADE-1.6.txt -- Upgrade info for 1.4 to 1.6
=== UPGRADE-1.8.txt -- Upgrade info for 1.6 to 1.8
===
===========================================================

from 10.12.3 to 10.12.4:

* Certain dialplan functions have been marked as 'dangerous', and may only be
  executed from the dialplan. Execution from extenal sources (AMI's GetVar and
  SetVar actions; etc.) may be inhibited by setting live_dangerously in the
  [options] section of asterisk.conf to no. SHELL(), channel locking, and direct
  file read/write functions are marked as dangerous. DB_DELETE() and
  REALTIME_DESTROY() are marked as dangerous for reads, but can now safely
  accept writes (which ignore the provided value).

from 10.12.0 to 10.12.1:

* Asterisk would previously not output certain error messages when a remote
  console attempted to connect to Asterisk and no instance of Asterisk was
  running. This error message is displayed on stderr; as a result, some
  initialization scripts that used remote consoles to test for the presence
  of a running Asterisk instance started to display erroneous error messages.
  The init.d scripts and the safe_asterisk have been updated in the contrib
  folder to account for this.

From 10.11 to 10.12:

* Asterisk has always had code to ignore dash '-' characters that are not
  part of a character set in the dialplan extensions.  The code now
  consistently ignores these characters when matching dialplan extensions.

* Removed the queues.conf check_state_unknown option.  It is no longer
  necessary.

From 10.9 to 10.10:

* Queue strategy rrmemory now has a predictable order similar to strategy
  rrordered. Members will be called in the order that they are added to the
  queue.

From 10.4 to 10.5:

* The complex processor detection and optimization has been removed from
  the makefile in favor of using native optimization suppport when available.
  BUILD_NATIVE can be disabled via menuselect under "Compiler Flags".

From 10.3 to 10.4:

* In AEL dialplans, the "h" extension will now be inherited from prior
  calling contexts, just as it had in 1.4.  If you have created an AEL
  dialplan from scratch in earlier versions of 10, you may want to check
  that the execution of "h" extensions in earlier contexts is what you
  want.  If you want to interrupt this functionality, simply placing an
  "h" extension in the macro where you want no inheritance to take place
  should be sufficient.

From 10.2 to 10.3:

* The BLINDTRANSFER channel variable is deleted from a channel when it is
  bridged to prevent subtle bugs in the parking feature.  The channel
  variable is used by Asterisk internally for the Park application to work
  properly.  If you were using it for your own purposes, copy it to your
  own channel variable before the channel is bridged.

* If no transport is specified in sip.conf, transport will default to UDP.
  Also, if multiple transport= lines are used, only the last will be used.

From 1.8 to 10:

cel_pgsql:
 - This module now expects an 'extra' column in the database for data added
   using the CELGenUserEvent() application.

ConfBridge
 - ConfBridge's dialplan arguments have changed and are not
   backwards compatible.

File Interpreters
 - The format interpreter formats/format_sln16.c for the file extension
   '.sln16' has been removed. The '.sln16' file interpreter now exists
   in the formats/format_sln.c module along with new support for sln12,
   sln24, sln32, sln44, sln48, sln96, and sln192 file extensions.

HTTP:
 - A bindaddr must be specified in order for the HTTP server
   to run. Previous versions would default to 0.0.0.0 if no
   bindaddr was specified.

Gtalk:
 - The default value for 'context' and 'parkinglots' in gtalk.conf has
   been changed to 'default', previously they were empty.

chan_dahdi:
 - The mohinterpret=passthrough setting is deprecated in favor of
   moh_signaling=notify.

pbx_lua:
 - Execution no longer continues after applications that do dialplan jumps
   (such as app.goto).  Now when an application such as app.goto() is called,
   control is returned back to the pbx engine and the current extension
   function stops executing.
 - the autoservice now defaults to being on by default
 - autoservice_start() and autoservice_start() no longer return a value.

Queue:
 - Mark QUEUE_MEMBER_PENALTY Deprecated it never worked for realtime members
 - QUEUE_MEMBER is now R/W supporting setting paused, ignorebusy and penalty.

Asterisk Database:
 - The internal Asterisk database has been switched from Berkeley DB 1.86 to
   SQLite 3. An existing Berkeley astdb file can be converted with the astdb2sqlite3
   utility in the UTILS section of menuselect. If an existing astdb is found and no
   astdb.sqlite3 exists, astdb2sqlite3 will be compiled automatically. Asterisk will
   convert an existing astdb to the SQLite3 version automatically at runtime. If
   moving back from Asterisk 10 to Asterisk 1.8, the astdb2bdb utility can be used
   to create a Berkeley DB copy of the SQLite3 astdb that Asterisk 10 uses.

Manager:
 - The AMI protocol version was incremented to 1.2 as a result of changing two
   instances of the Unlink event to Bridge events. This change was documented
   as part of the AMI 1.1 update, but two Unlink events were inadvertently left
   unchanged.

Module Support Level
 - All modules in the addons, apps, bridge, cdr, cel, channels, codecs, 
   formats, funcs, pbx, and res have been updated to include MODULEINFO data
   that includes <support_level> tags with a value of core, extended, or deprecated.
   More information is available on the Asterisk wiki at 
   https://wiki.asterisk.org/wiki/display/AST/Asterisk+Module+Support+States

   Deprecated modules are now marked to not build by default and must be explicitly
   enabled in menuselect.

chan_sip:
 - Setting of HASH(SIP_CAUSE,<slave-channel-name>) on channels is now disabled
   by default. It can be enabled using the 'storesipcause' option. This feature
   has a significant performance penalty.
 - In order to improve compliance with RFC 3261, SIP usernames are now properly
   escaped when encoding reserved characters. Prior to this change, the use of
   these characters in certain SIP settings affecting usernames could cause
   injections of these characters in their raw form into SIP headers which could
   in turn cause all sorts of nasty behaviors. All characters that are not
   alphanumeric or are not contained in the the following lists specified by
   RFC 3261 section 25.1 will be escaped as %XX when encoding a SIP username:
    * mark: "-" / "_" / "." / "!" / "~" / "*" / "'" / "(" / ")"
    * user-unreserved: "&" / "=" / "+" / "$" / "," / ";" / "?" / "/"

UDPTL:
 - The default UDPTL port range in udptl.conf.sample differed from the defaults
   in the source. If you didn't have a config file, you got 4500 to 4599. Now the
   default is 4000 to 4999.

===========================================================
===========================================================
