It was a pretty centralised change to the PassThruAttributeRenderer and PassThruAttributeWriter to support the attributesThatAreSet feature for h: components. And even though effects don't exist for h: components, LocalEffectEncoder was also updated to use the attributesThatAreSet List, for completeness.
Basically, attributesThatAreSet is a List in UIComponent, accessible from UIComponentBase.getAttributes.get("javax.faces.component.UIComponentBase.attributesThatAreSet"), which is a List of all set attributes. This way, we don't have to iterate over all possible pass-through attributes, or effect attributes, for a component, but can instead iterate over the set attributes which are relevant to pass-through or effect rendering. Unfortunately, this feature only exists for stock components, and not third party components, even if they extend stock ones.
Subversion 18311
icefaces\core\src\com\icesoft\faces\context\effects\LocalEffectEncoder.java
icefaces\core\src\com\icesoft\faces\renderkit\dom_html_basic\DomBasicRenderer.java
icefaces\core\src\com\icesoft\faces\renderkit\dom_html_basic\PassThruAttributeRenderer.java
icefaces\core\src\com\icesoft\faces\renderkit\dom_html_basic\PassThruAttributeWriter.java
icefaces\core\src\com\icesoft\faces\webapp\parser\ImplementationUtil.java
It was a pretty centralised change to the PassThruAttributeRenderer and PassThruAttributeWriter to support the attributesThatAreSet feature for h: components. And even though effects don't exist for h: components, LocalEffectEncoder was also updated to use the attributesThatAreSet List, for completeness.
Basically, attributesThatAreSet is a List in UIComponent, accessible from UIComponentBase.getAttributes.get("javax.faces.component.UIComponentBase.attributesThatAreSet"), which is a List of all set attributes. This way, we don't have to iterate over all possible pass-through attributes, or effect attributes, for a component, but can instead iterate over the set attributes which are relevant to pass-through or effect rendering. Unfortunately, this feature only exists for stock components, and not third party components, even if they extend stock ones.
Subversion 18311
icefaces\core\src\com\icesoft\faces\context\effects\LocalEffectEncoder.java
icefaces\core\src\com\icesoft\faces\renderkit\dom_html_basic\DomBasicRenderer.java
icefaces\core\src\com\icesoft\faces\renderkit\dom_html_basic\PassThruAttributeRenderer.java
icefaces\core\src\com\icesoft\faces\renderkit\dom_html_basic\PassThruAttributeWriter.java
icefaces\core\src\com\icesoft\faces\webapp\parser\ImplementationUtil.java