Introduce the attribute -optional_callbacks in the context of behaviours
hipe,compiler: Fix Map literals pretty printing
Support maps in cerl:ann_make_tree/3
Merge branch 'maint'
Merge branch 'egil/fix-maps-pretty-layout/OTP-11947' into maint

* egil/fix-maps-pretty-layout/OTP-11947:
  dialyzer: Add Maps type mismatch test
  hipe,compiler: Fix Map literals pretty printing
Merge branch 'maint'
Fix handling of latin1 characters in false ifdef branches

The fallback to latin-1 encoding would not work if the invalid
UTF-8 characters occurred in a skipped branch in an -ifdef/-ifndef.
Merge branch 'maint'

* maint:
  Fix handling of latin1 characters in false ifdef branches
  add_abstract_code: Remove 'from_asm' option
  Remove documentation and stub for non-exist file:file_info/1
[dialyzer] Fix handling of literal records

This ticket is about records in Erlang code, and when to check the
fields against the (optional) types given when defining records.

Dialyzer operates on the Erlang Core format, where there are no trace
of records. The fix implemented is a Real Hack:

Given the new option 'dialyzer' erl_expand_records marks the line
number of records in a way that is undone by v3_core, which in turn
inserts annotations that can be recognized by Dialyzer.
[dialyzer] Use the  option 'dialyzer' to control the compiler
doc: Fix broken links
Merge branch 'maint'

* maint:
  [dialyzer] Correct a doc bug introduced in 0b041238
  [dialyzer] Use the  option 'dialyzer' to control the compiler
  [dialyzer] Fix handling of literal records
Merge branch 'egil/fix-doc-links' into maint

* egil/fix-doc-links:
  doc: Fix broken links in Installation Guide
  doc: Fix broken links
Merge branch 'maint'
Prepare release
Merge tag 'OTP-17.1'

=== OTP-17.1 ===

Changed Applications:
- asn1-3.0.1
- common_test-1.8.1
- compiler-5.0.1
- crypto-3.4
- debugger-4.0.1
- dialyzer-2.7.1
- diameter-1.7
- erl_interface-3.7.17
- erts-6.1
- hipe-3.11
- inets-5.10.2
- kernel-3.0.1
- mnesia-4.12.1
- observer-2.0.1
- reltool-0.6.6
- ssh-3.0.3
- ssl-5.3.5
- stdlib-2.1
- syntax_tools-1.6.15
- test_server-3.7.1
- tools-2.6.15
- typer-0.9.8
- wx-1.3

Unchanged Applications:
- cosEvent-2.1.15
- cosEventDomain-1.1.14
- cosFileTransfer-1.1.16
- cosNotification-1.1.21
- cosProperty-1.1.17
- cosTime-1.1.14
- cosTransactions-1.2.14
- edoc-0.7.13
- eldap-1.0.3
- erl_docgen-0.3.5
- et-1.5
- eunit-2.2.7
- gs-1.5.16
- ic-4.3.5
- jinterface-1.5.9
- megaco-3.17.1
- odbc-2.10.20
- orber-3.6.27
- os_mon-2.2.15
- ose-1.0
- otp_mibs-1.0.9
- parsetools-2.0.11
- percept-0.8.9
- public_key-0.22
- runtime_tools-1.8.14
- sasl-2.4
- snmp-4.25.1
- webtool-0.8.10
- xmerl-1.3.7