This is historical obviously, it was used during V4 planning. |
Collection point for discussion around V4 scoping, before we turn this into formal JIRA issues.
Technical
- Require Java 11
- By transitive closure this means moving Guava up to 23 (where it will use Java 8 Functions)
- Spring Framework 5, SWF 2.5
- Deprecated or embrace Rhino? Or Nashorn?
- Code Coverage - we used it early in V3, Adopt or drop.
- Remove use of parameterized constructors , (and others)
- Generics in API classes (and others)
- Deprecate SVN Resource and replace with "something" (see also here)
- Other code cleanup
Additions
Changes
- ValidUntil Metadata filter
- Old style transients in the attribute encode
- Data Connectors shared between users (some write back some dont)
- Template AttributeDefinition ignores input attributes with no values instead of failing
- Change default for local storage use and logout properties to true in the actual property file, though not internally
Removals
Feature Related
Remove the text-based status view and point the status command line at the metrics interface.
- Perhaps turn text view into a prettier view of more information
Language based attributes
Configuration Related
Unless explicitly noted, everything proposed currently warns in the log.
- 'Legacy' (V2) relying-party.xml. and security name space
- This is currently not warned on
- The security name space is, in addition used in support of complex metadata configuration (e.g. X509 signature validation). We should remove this and document how to do it with attendant spring wiring.
- Removing this will allow cleanup in metadata-providers parsing (for example the <MetadataResolver> parser needs to be aware that it might be top level or it might be below a <RelyingParty>)
- Legacy Principal Connectors
- Plus a lot of upstream code.
- Currently warned on (since 3.0)
- Will this allow refactoring of the C14N code to remove hooks for legacy support?
- Legacy namespaces for Attribute Fitering and Resolution
(urn:mace:shibboleth:2.0:afp:mf:basic, urn:mace:shibboleth:2.0:afp:mf:saml, urn:mace:shibboleth:2.0:attribute:encoder, urn:mace:shibboleth:2.0:resolver:ad, urn:mace:shibboleth:2.0:resolver:dc, urn:mace:shibboleth:2.0:resolver:pc)
- Currently warned on (since 3.3, 3.2)
- Legacy NameID-based AttributeEncoders
- Making the work context available to to Attribute Scripts
- Warned on
- Can then remove
net.shibboleth.idp.attribute.resolver.ad.impl.DelegatedWorkContext
- LDAPDataConnector:
- mergeResults attributes (deprecated since V2.?)
- RDBMS
- queryUsesStoredProcedure & cacheResults attributes (deprecated in V2?)
- Attribute Filter details
- Issuer filters (Not implemented and warned on in V3.)
- Rule & Policy References
- Attribute <Dependency> (Plus a lot of upstream code.)
- Do we want to be more radical?
-
/META-INF/net.shibboleth.idp/config.xml
- Old style scripted attributes
edu.internet2.middleware.shibboleth.common.attribute.provider.BasicAttribute
- Old style (pre 3.3) MFA
- Will be tricky but need to warn on property and flow use if we can
- Resources and end-of-life-ing of other custom schema
- Change default audit log format
Code Related
There are many deprecated methods and classes (also Interfaces) which currently do not log warnings. Probably need to review and, if appropriate add warning for 3.4.
Release Notes
Since we have no doc space for 4.0 yet, tracking anything that would be an obvious "note for upgraders" here...
The Velocity 2.0 upgrade causes some template breakage, so far in two known spots:
- there's a "$" expression in attribute-release.vm that has to be converted to '$'
- the dummy URL defaults in various views has to be converted frm "#" to '#' (or anything else of course, don't imagine this really should impact sites using the software already)