Use shibboleth-sp as package name for compatibility.
[shibboleth/cpp-sp.git] / doc / RELEASE.txt
1 Shibboleth Native SP Release Notes
2
3 Fix/Enhancement Lists:
4 https://wiki.shibboleth.net/confluence/display/DEV/SPRoadmap
5
6 Important Changes:
7 https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPConfigurationChanges
8
9 Feature Highlights:
10 https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPInterestingFeatures
11
12 NOTE: The shibboleth2.xml configuration format in this release
13 is fully compatible with the 2.x releases, but there are significant
14 new options available to simplify the majority of configurations.
15 A stripped down default configuration and a "full" example file are
16 included.
17
18 Fully Supported
19
20 - SAML 1.0, 1.1, 2.0 Single Sign-On
21         - Shibboleth 1.x request profile
22         - 1.x POST/Artifact profiles
23         - 2.0 HTTP-Redirect/POST/POST-SimpleSign/Artifact/PAOS bindings
24
25 - SAML 1.0, 1.1, 2.0 Attribute Query via Attribute Resolver plugin
26         - SAML SOAP binding
27
28 - SAML 2.0 Single Logout
29     - HTTP-Redirect/POST/POST-SimpleSign/Artifact bindings
30     - Front and back-channel application notification of logout
31     - Race detection of late arriving assertions
32
33 - SAML 2.0 NameID Management (IdP-initiated only)
34     - HTTP-Redirect/POST/POST-SimpleSign/Artifact bindings
35     - Front and back-channel application notification of changes
36
37 - ADFS WS-Federation Support
38     - SSO and SLO
39     - experimental support for SAML 2.0 assertions
40
41 - Shibboleth WAYF and SAML DS protocols for IdP Discovery
42     - Generates JSON feed of IdPs using UIInfo metadata extensions
43
44 - Metadata Providers
45         - Bulk resolution via local file, or URL with local file backup
46         - Dynamic resolution and caching based on entityID or MDX 
47         - Filtering based on whitelist, blacklist, or signature verification
48         - Support for enhanced PKI processing in transport and signature verification
49
50 - Metadata Generation Handler
51     - Generates and optionally signs SAML metadata based on SP configuration
52
53 - Status Handler
54     - Reports on status and configuration of SP
55     
56 - Session Handler
57     - Dumps information about an active session 
58
59 - Trust Engines
60         - Explicit key and PKIX engines via metadata, superset compatible with 1.3
61         - PKIX trust engine with static root list
62         
63 - Configurable per-endpoint Security Policy rules
64         - Replay and freshness detection
65         - XML signing
66         - Simple "blob" signing
67         - TLS X.509 certificate authentication
68         - SAML condition handling, including delegation support
69
70 - Client transport authentication to SOAP endpoints via libcurl
71         - TLS X.509 client certificates
72         - Basic-Auth
73         - Digest-Auth (untested)
74         - NTLM (untested)
75
76 - Encryption
77         - All incoming SAML 2 encrypted element types (Assertion, NameID, Attribute)
78         - Optional outgoing encryption of NameID in requests and responses
79
80 - General Security
81     - Black/whitelisting of XML security algorithms (with xml-security 1.6+)
82     - RSA and ECDSA signatures (EC requires xml-security 1.6+ and support from openssl)
83     - AES-GCM encryption (requires xml-security 1.7+ and support from openssl)
84     - Metadata-based algorithm selection 
85
86 - Attributes
87         - Decoding and exporting SAML 1 and 2 attributes
88                 - Strings
89                 - Value/scope pairs (legacy and value@scope syntaxes supported)
90                 - NameIDs
91                 - Base64 to string
92         - XML to base64-encoded XML
93                 - DOM to internal data structure
94                 - KeyInfo-based data, including metadata-derived KeyDescriptors
95                 - Metadata EntityAttributes extension "tags"
96
97 - Attribute Filtering
98         - Policy language compatible with IdP filtering, except that references
99                 only work within policy files, not across them
100         - Rules based on, attribute issuer, requester, scope, and value, authentication
101                 method, based on exact string and regular expressions.
102     - Boolean functions supporting AND, OR, and NOT for use in composing rules
103     - Wildcard rules allowing all unspecified attributes through with no filtering
104
105 - Assertion Export
106         - Oversized header replaced with Shib-Assertion-Count and Shib-Assertion-NN headers
107                 containing local URL to fetch SAML assertion using HTTP GET
108
109 - Enhanced Spoofing Detection
110         - Detects and blocks client headers that would match known attribute headers
111         - Key-based mechanism to handle internal server redirection while maintaining protection
112
113 - ODBC Clustering Support
114         - Tested against a few different servers with various drivers
115
116 - RequestMap enhancements
117     - Regular expression matching for hosts and paths
118     - Query string parameter matching
119
120 - Error handling enhancements
121     - Reporting of SAML status errors
122     - Optional redirection to custom error handler
123
124 - Form POST data preservation
125     - Support on Apache for preserving URL-encoded form data across SSO 
126
127 - Apache module enhancements
128     - Apache 2.4 support including authz 
129     - "OR" coexistence with other authz modules on older Apache
130     - htaccess-based override of any valid RequestMap property
131     - htaccess support for external access control plugins
132
133 - Command line tools
134     - samlsign for manual XML signing and verification
135     - mdquery for interrogating via metadata configuration
136     - resolvertest for exercising attribute extraction, filtering, and resolution