build: Update config.guess and config.sub
[asterisk/asterisk.git] / UPGRADE.txt
index d25bf55..53e9c4a 100644 (file)
 === UPGRADE-10.txt  -- Upgrade info for 1.8 to 10
 === UPGRADE-11.txt  -- Upgrade info for 10 to 11
 === UPGRADE-12.txt  -- Upgrade info for 11 to 12
+=== UPGRADE-13.txt  -- Upgrade info for 12 to 13
+=== UPGRADE-14.txt  -- Upgrade info for 13 to 14
+=== UPGRADE-15.txt  -- Upgrade info for 14 to 15
+=== UPGRADE-16.txt  -- Upgrade info for 15 to 16
 ===========================================================
 
-From 12 to 13:
-
- - The menuselect utility has been pulled into the Asterisk repository. As a
-   result, the libxml2 development library is now a required dependency for
-   Asterisk.
-
- - The asterisk command line -I option and the asterisk.conf internal_timing
-   option are removed and always enabled if any timing module is loaded.
-
- - The per console verbose level feature as previously implemented caused a
-   large performance penalty.  The fix required some minor incompatibilities
-   if the new rasterisk is used to connect to an earlier version.  If the new
-   rasterisk connects to an older Asterisk version then the root console verbose
-   level is always affected by the "core set verbose" command of the remote
-   console even though it may appear to only affect the current console.  If
-   an older version of rasterisk connects to the new version then the
-   "core set verbose" command will have no effect.
-
- - Added a new Compiler Flag, REF_DEBUG. When enabled, reference counted
-   objects will emit additional debug information to the refs log file located
-   in the standard Asterisk log file directory. This log file is useful in
-   tracking down object leaks and other reference counting issues. Prior to
-   this version, this option was only available by modifying the source code
-   directly. This change also includes a new script, refcounter.py, in the
-   contrib folder that will process the refs log file.
-
- - The asterisk compatibility options in asterisk.conf have been removed.
-   These options enabled certain backwards compatibility features for
-   pbx_realtime, res_agi, and app_set that made their behaviour similar to
-   Asterisk 1.4. Users who used these backwards compatibility settings should
-   update their dialplans to use ',' instead of '|' as a delimiter, and should
-   use the Set dialplan application instead of the MSet dialplan application.
-
-ARI:
- - The ARI version has been changed from 1.0.0 to 1.1.0. This is to reflect
-   the backwards compatible changes listed below.
-
- - Added a new ARI resource 'mailboxes' which allows the creation and
-   modification of mailboxes managed by external MWI. Modules res_mwi_external
-   and res_stasis_mailbox must be enabled to use this resource.
-
- - Added new events for externally initiated transfers. The event
-   BridgeBlindTransfer is now raised when a channel initiates a blind transfer
-   of a bridge in the ARI controlled application to the dialplan; the
-   BridgeAttendedTransfer event is raised when a channel initiates an
-   attended transfer of a bridge in the ARI controlled application to the
-   dialplan.
-
- - Channel variables may now be specified as a body parameter to the
-   POST /channels operation. The 'variables' key in the JSON is interpreted
-   as a sequence of key/value pairs that will be added to the created channel
-   as channel variables. Other parameters in the JSON body are treated as
-   query parameters of the same name.
-
- - A bug fix in bridge creation has caused a behavioural change in how
-   subscriptions are created for bridges. A bridge created through ARI, does
-   not, by itself, have a subscription created for any particular Stasis
-   application. When a channel in a Stasis application joins a bridge, an
-   implicit event subscription is created for that bridge as well. Previously,
-   when a channel left such a bridge, the subscription was leaked; this allowed
-   for later bridge events to continue to be pushed to the subscribed
-   applications. That leak has been fixed; as a result, bridge events that were
-   delivered after a channel left the bridge are no longer delivered. An
-   application must subscribe to a bridge through the applications resource if
-   it wishes to receive all events related to a bridge.
-
-AMI:
- - The AMI version has been changed from 2.0.0 to 2.1.0. This is to reflect
-   the backwards compatible changes listed below.
-
- - The DialStatus field in the DialEnd event can now have additional values.
-   This includes ABORT, CONTINUE, and GOTO.
-
- - The res_mwi_external_ami module can, if loaded, provide additional AMI
-   actions and events that convey MWI state within Asterisk. This includes
-   the MWIGet, MWIUpdate, and MWIDelete actions, as well as the MWIGet and
-   MWIGetComplete events that occur in response to an MWIGet action.
-
- - AMI now contains a new class authorization, 'security'. This is used with
-   the following new events: FailedACL, InvalidAccountID, SessionLimit,
-   MemoryLimit, LoadAverageLimit, RequestNotAllowed, AuthMethodNotAllowed,
-   RequestBadFormat, SuccessfulAuth, UnexpectedAddress, ChallengeResponseFailed,
-   InvalidPassword, ChallengeSent, and InvalidTransport.
-
- - Bridge related events now have two additional fields: BridgeName and
-   BridgeCreator. BridgeName is a descriptive name for the bridge;
-   BridgeCreator is the name of the entity that created the bridge. This
-   affects the following events: ConfbridgeStart, ConfbridgeEnd,
-   ConfbridgeJoin, ConfbridgeLeave, ConfbridgeRecord, ConfbridgeStopRecord,
-   ConfbridgeMute, ConfbridgeUnmute, ConfbridgeTalking, BlindTransfer,
-   AttendedTransfer, BridgeCreate, BridgeDestroy, BridgeEnter, BridgeLeave
-
- - MixMonitor AMI actions now require users to have authorization classes.
-   * MixMonitor - system
-   * MixMonitorMute - call or system
-   * StopMixMonitor - call or system
-
- - Removed the undocumented manager.conf block-sockets option.  It interferes with
-   TCP/TLS inactivity timeouts.
-
- - The response to the PresenceState AMI action has historically contained two
-   Message keys. The first of these is used as an informative message regarding
-   the success/failure of the action; the second contains a Presence state
-   specific message. Having two keys with the same unique name in an AMI
-   message is cumbersome for some client; hence, the Presence specific Message
-   has been deprecated. The message will now contain a PresenceMessage key
-   for the presence specific information; the Message key containing presence
-   information will be removed in the next major version of AMI.
-
-CDRs:
- - The "endbeforehexten" setting now defaults to "yes", instead of "no".
-   When set to "no", yhis setting will cause a new CDR to be generated when a
-   channel enters into hangup logic (either the 'h' extension or a hangup
-   handler subroutine). In general, this is not the preferred default: this
-   causes extra CDRs to be generated for a channel in many common dialplans.
-
- - The cdr_sqlite module was deprecated and has been removed. Users of this
-   module should use the cdr_sqlite3_custom module instead.
-
-chan_dahdi:
- - SS7 support now requires libss7 v2.0 or later.
-
- - Added the inband_on_setup_ack compatibility option to chan_dahdi.conf to
-   deal with switches that don't send an inband progress indication in the
-   SETUP ACKNOWLEDGE message.
-   Default is now no.
-
-chan_gtalk
- - This module was deprecated and has been removed. Users of chan_gtalk
-   should use chan_motif.
-
-chan_h323
- - This module was deprecated and has been removed. Users of chan_h323
-   should use chan_ooh323.
-
-chan_jingle
- - This module was deprecated and has been removed. Users of chan_jingle
-   should use chan_motif.
-
-chan_pjsip:
- - Added a 'force_avp' option to chan_pjsip which will force the usage of
-   'RTP/AVP', 'RTP/AVPF', 'RTP/SAVP', or 'RTP/SAVPF' as the media transport type
-   in SDP offers depending on settings, even when DTLS is used for media
-   encryption.
-
- - Added a 'media_use_received_transport' option to chan_pjsip which will
-   cause the SDP answer to use the media transport as received in the SDP
-   offer.
+New in 17.0.0:
 
 chan_sip:
- - Made set SIPREFERREDBYHDR as inheritable for better chan_pjsip
-   interoperability.
-
- - The SIPPEER dialplan function no longer supports using a colon as a
-   delimiter for parameters. The parameters for the function should be
-   delimited using a comma.
-
- - The SIPCHANINFO dialplan function was deprecated and has been removed. Users
-   of the function should use the CHANNEL function instead.
-
- - Added a 'force_avp' option for chan_sip. When enabled this option will
-   cause the media transport in the offer or answer SDP to be 'RTP/AVP',
-   'RTP/AVPF', 'RTP/SAVP', or 'RTP/SAVPF' even if a DTLS stream has been
-   configured. This option can be set to improve interoperability with WebRTC
-   clients that don't use the RFC defined transport for DTLS.
-
- - The 'dtlsverify' option in chan_sip now has additional values besides
-   'yes' and 'no'. If 'yes' is specified both the certificate and fingerprint
-   will be verified. If 'no' is specified then neither the certificate or
-   fingerprint is verified. If 'certificate' is specified then only the
-   certificate is verified. If 'fingerprint' is specified then only the
-   fingerprint is verified.
+ - The chan_sip module is now deprecated, users should migrate to the
+   replacement module chan_pjsip.  See guides at the Asterisk Wiki:
+     https://wiki.asterisk.org/wiki/x/tAHOAQ
+     https://wiki.asterisk.org/wiki/x/hYCLAQ
+
+func_callerid:
+ - The CALLERPRES() dialplan function, deprecated in Asterisk 1.8, has been
+   removed.
+
+res_parking:
+ - The PARKINGSLOT channel variable, deprecated in Asterisk 12 in favor of the
+   PARKING_SPACE channel variable, will no longer be set.
+
+res_xmpp:
+ - The JabberStatus application, deprecated in Asterisk 12, has been removed.
+
+Channels:
+ - The core no longer uses the stasis cache for channels snapshots.
+   The following APIs are no longer available:
+       ast_channel_topic_cached()
+       ast_channel_topic_all_cached()
+   The ast_channel_cache_all() and ast_channel_cache_by_name() functions
+   now returns an ao2_container of ast_channel_snapshots rather than a
+   container of stasis_messages therefore you can't call stasis_cache
+   functions on it.
+   The ast_channel_topic_all() function now returns a normal topic,
+   not a cached one so you can't use stasis cache functions on it either.
+   The ast_channel_snapshot_type() stasis message now has the
+   ast_channel_snapshot_update structure as it's data.
+   ast_channel_snapshot_get_latest() still returns the latest snapshot.
+
+Applications
+ - The JabberStatus application, deprecated in Asterisk 12, has been removed.
+
+Bridging
+ - The bridging core no longer uses the stasis cache for bridge
+   snapshots.  The latest bridge snapshot is now stored on the
+   ast_bridge structure itself.
+ - The following APIs are no longer available since the stasis cache
+   is no longer used:
+     ast_bridge_topic_cached()
+     ast_bridge_topic_all_cached()
+ - A topic pool is now used for individual bridge topics.
+ - The ast_bridge_cache() function was removed since there's no
+   longer a separate container of snapshots.
+ - A new function "ast_bridges()" was created to retrieve the
+   container of all bridges.  Users formerly calling
+   ast_bridge_cache() can use the new function to iterate over
+   bridges and retrieve the latest snapshot directly from the
+   bridge.
+ - The ast_bridge_snapshot_get_latest() function was renamed to
+   ast_bridge_get_snapshot_by_uniqueid().
+ - A new function "ast_bridge_get_snapshot()" was created to retrieve
+   the bridge snapshot directly from the bridge structure.
+ - The ast_bridge_topic_all() function now returns a normal topic
+   not a cached one so you can't use stasis cache functions on it
+   either.
+ - The ast_bridge_snapshot_type() stasis message now has the
+   ast_bridge_snapshot_update structure as it's data.  It contains
+   the last snapshot and the new one.
 
- - A 'dtlsfingerprint' option has been added to chan_sip which allows the
-   hash to be specified for the DTLS fingerprint placed in SDP. Supported
-   values are 'sha-1' and 'sha-256' with 'sha-256' being the default.
-
-CLI commands:
- - "core show settings" now lists the current console verbosity in addition
-   to the root console verbosity.
-
- - "core set verbose" has not been able to support the by module verbose
-   logging levels since verbose logging levels were made per console.  That
-   syntax is now removed and a silence option added in its place.
-
-ConfBridge:
-- The sound_place_into_conference sound used in Confbridge is now deprecated
-  and is no longer functional since it has been broken since its inception
-  and the fix involved using a different method to achieve the same goal. The
-  new method to achieve this functionality is by using sound_begin to play
-  a sound to the conference when waitmarked users are moved into the conference.
-
-
-Configuration Files:
- - The 'verbose' setting in logger.conf still takes an optional argument,
-   specifying the verbosity level for each logging destination.  However,
-   the default is now to once again follow the current root console level.
-   As a result, using the AMI Command action with "core set verbose" could
-   again set the root console verbose level and affect the verbose level
-   logged.
-
- - The manager.conf 'eventfilter' now takes an "extended" regular expression
-   instead of a "basic" one.
-
- - The unistim.conf 'dateformat' has changed meaning of options values to conform
-   values used inside Unistim protocol
-
-HTTP:
- - Added http.conf session_inactivity timer option to close HTTP connections
-   that aren't doing anything.
-
- - Added support for persistent HTTP connections.  To enable persistent
-   HTTP connections configure the keep alive time between HTTP requests.  The
-   keep alive time between HTTP requests is configured in http.conf with the
-   session_keep_alive parameter.
-
-MusicOnHold
- - The SetMusicOnHold dialplan application was deprecated and has been removed.
-   Users of the application should use the CHANNEL function's musicclass
-   setting instead.
-
- - The WaitMusicOnHold dialplan application was deprecated and has been
-   removed. Users of the application should use MusicOnHold with a duration
-   parameter instead.
-
-ODBC:
-- The compatibility setting, allow_empty_string_in_nontext, has been removed.
-  Empty column values will be stored as empty strings during realtime updates.
-
-Realtime Configuration:
- - WARNING: The database migration script that adds the 'extensions' table for
-   realtime had to be modified due to an error when installing for MySQL.  The
-   'extensions' table's 'id' column was changed to be a primary key.  This could
-   potentially cause a migration problem.  If so, it may be necessary to
-   manually alter the affected table/column to bring it back in line with the
-   migration scripts.
-
- - New columns have been added to realtime tables for 'support_path' on
-   ps_registrations and ps_aors and for 'path' on ps_contacts for the new
-   SIP Path support in chan_pjsip.
-
- - The following new tables have been added for pjsip realtime: 'ps_systems',
-   'ps_globals', 'ps_tranports', 'ps_registrations'.
-
- - The following columns were added to the 'ps_aors' realtime table:
-   'maximum_expiration', 'outbound_proxy', and 'support_path'.
-
- - The following columns were added to the 'ps_contacts' realtime table:
-   'outbound_proxy', 'user_agent', and 'path'.
-
- - New columns have been added to the ps_endpoints realtime table for the
-   'media_address', 'redirect_method' and 'set_var' options.  Also the
-   'mwi_fromuser' column was renamed to 'mwi_from_user'. A new column
-   'message_context' was added to let users configure how MESSAGE requests are
-   routed to the dialplan.
-
- - A new column was added to the 'ps_globals' realtime table for the 'debug'
-   option.
-
- - PJSIP endpoint columns 'tos_audio' and 'tos_video' have been changed from
-   yes/no enumerators to string values. 'cos_audio' and 'cos_video' have been
-   changed from yes/no enumerators to integer values. PJSIP transport column
-   'tos' has been changed from a yes/no enumerator to a string value. 'cos' has
-   been changed from a yes/no enumerator to an integer value.
-
- - The 'queues' and 'queue_members' realtime tables have been added to the
-   config Alembic scripts.
-
- - A new set of Alembic scripts has been added for CDR tables. This will create
-   a 'cdr' table with the default schema that Asterisk expects.
-
-res_jabber:
- - This module was deprecated and has been removed. Users of this module should
-   use res_xmpp instead.
-
-safe_asterisk:
- - The safe_asterisk script was previously not installed on top of an existing
-   version. This caused bug-fixes in that script not to be deployed. If your
-   safe_asterisk script is customized, be sure to keep your changes. Custom
-   values for variables should be created in *.sh file(s) inside
-   ASTETCDIR/startup.d/. See ASTERISK-21965.
-
- - Changed a log message in safe_asterisk and the $NOTIFY mail subject. If
-   you use tools to parse either of them, update your parse functions
-   accordingly. The changed strings are:
-   - "Exited on signal $EXITSIGNAL" => "Asterisk exited on signal $EXITSIGNAL."
-   - "Asterisk Died" => "Asterisk on $MACHINE died (sig $EXITSIGNAL)"
-
-Unistim:
- - Added 'dtmf_duration' option with changing default operation to disable
-   receivied dtmf playback on unistim phone
-
-Utilities:
- - The refcounter program has been removed in favor of the refcounter.py script
-   in contrib/scripts.
-
-WebSockets:
- - Added a compatibility option to ari.conf, sip.conf, and pjsip.conf
-   'websocket_write_timeout'. When a websocket connection exists where Asterisk
-   writes a substantial amount of data to the connected client, and the connected
-   client is slow to process the received data, the socket may be disconnected.
-   In such cases, it may be necessary to adjust this value.
-   Default is 100 ms.
-
-===========================================================
-===========================================================