I recompiled OpenLayers with minimal settings, and now Vector layer, that uses BBOX strategy, stopped adding bbox parameter to the queries.
What components do I need to add?
This is the current config:
[first] [last] [include] OpenLayers/Map.js OpenLayers/Kinetic.js OpenLayers/Projection.js OpenLayers/Layer/Vector.js OpenLayers/Layer/OSM.js OpenLayers/Layer/Bing.js OpenLayers/Layer/WMS.js OpenLayers/Layer/Google/v3.js OpenLayers/Popup/FramedCloud.js OpenLayers/Control/Navigation.js OpenLayers/Control/Zoom.js OpenLayers/Control/Attribution.js OpenLayers/Control/SelectFeature.js OpenLayers/Control/Panel.js OpenLayers/Control/LayerSwitcher.js OpenLayers/Renderer/SVG.js OpenLayers/Renderer/VML.js OpenLayers/Format/GeoJSON.js OpenLayers/Protocol/HTTP.js OpenLayers/Strategy/Fixed.js OpenLayers/Strategy/BBOX.js OpenLayers/StyleMap.js OpenLayers/Rule.js OpenLayers/Filter/Comparison.js OpenLayers/Filter/Logical.js [exclude]
This is quite important, because the complete OL is 990K, while the minimal is only 350K big, and my users may be in remote areas with very slow connections.
It was not just Filter/Spatial. I noticed that even with Spatial it didn't compose a query string. I bisected the whole list of components and it was... OpenLayers/Format/QueryStringFilter.js.