I've recently upgraded from version 3.4 to version 3.5 of OpenLayers 3.
I use an ol.layer.Tile layer with a ol.source.TileArcGISRest source. My map projection is EPSG:27700 (British National Grid) which is not a standard projection so I have had to add it using the proj4js library.
This layer stopped working after upgrading to 3.5. It appears to be because the projection does not have an extent defined. After explicitly defining an extent the layer is rendered correctly.
My question is should you always define an extent when adding a projection to OpenLayers 3? If so why did it work before and what is the reason for this change in approach? As far as I can see this has potentially made the ol.layer.Tile less robust because users must remember to set an extent if they are using a non-standard projection.
I can see that there have been modifications around this area as shown in:
The code below recreates the error. If I uncomment the set projection extent line the error does not occur. In my real world code I'm pointing to a local ESRI MapServer that displays data in the British National Grid projection, I cannot use that in the example below as it is hosted internally.