Meta issue: breaking style spec changes
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 12.4k
- Forks
- 2.4k
- PR merge metrics
- No merged PRs in 30d
Description
The Mapbox GL ecosystem is now wide and deep; breaking changes can have rippling consequences, imposing costs on many downstream components. This is particularly true for changes to the style specification, which by their nature will typically affect gl-js, gl-native core, the native SDKs, Mapbox Studio, Mapbox web services, documentation and customer support, and innumerable utilities, plugins, and applications, both those maintained by Mapbox and those written by customers and open source users.
It therefore seems unlikely that we'll make breaking changes to the style spec in the future, unless they provide a substantial benefit to compensate for these costs. In particular, "cosmetic" breaking changes, such as renaming a style property, are unlikely to meet this bar.
It remains a possibility that at some future date we'll make a coordinated effort to produce a "v9" version of the style specification that aggregates many of these breaking changes in one major release, hoping that by making them simultaneously, we can reduce the overall cost in exchange for their combined benefits. Therefore this "meta issue" collects such issues, previously tracked individually. After being listed here, the individual issues will be closed, in order to keep our issue count more manageable. Feel free to add additional issues to the list.
* [Rename original circle-* properties to circle-fill-*](https://github.com/mapbox/mapbox-gl-js/issues/4346)
* [Rename text-size to text-font-size](https://github.com/mapbox/mapbox-gl-js/issues/4168)
* [Rename line-dasharray to line-dash-array](https://github.com/mapbox/mapbox-gl-js/issues/4167)
* [Rename text-field to text](https://github.com/mapbox/mapbox-gl-js/issues/4166)
* [Rename circle-pitch-scale to circle-pitch-scaling](https://github.com/mapbox/mapbox-gl-js/issues/4165)
* [Camelcase all keys](https://github.com/mapbox/mapbox-gl-js/issues/4163)
* [Rename "text-halo" to "text-stroke"](https://github.com/mapbox/mapbox-gl-js/issues/4161)
* [Rename "symbol-avoid-edges" to "symbol-allow-edge-overlap"](https://github.com/mapbox/mapbox-gl-js/issues/4105)
* [Separate font family and font style in font name](https://github.com/mapbox/mapbox-gl-js/issues/4102)
* [Make "circle-blur" units be pixels](https://github.com/mapbox/mapbox-gl-js/issues/4099)
* [Rename "background" to "cover" or "fill"](https://github.com/mapbox/mapbox-gl-js/issues/4084)
* [Drop prefixes in property names](https://github.com/mapbox/mapbox-gl-js/issues/4083)
* [Make property names use nouns rather than verbs (for example "rotate" ⇢ "rotation")](https://github.com/mapbox/mapbox-gl-js/issues/4082)
* [Make "icon-offset" units be pixels](https://github.com/mapbox/mapbox-gl-js/issues/4078)
* [Consider changing "data-driven styling" to "data expressions"](https://github.com/mapbox/mapbox-gl-js/issues/4139#issuecomment-394027590)
* [Change 'geometry-type' behavior to consistently return 'Multi*" features (or not) between vector tile and GeoJSON source type](https://github.com/mapbox/mapbox-gl-js/issues/7699)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Read the linked issues, starting with the proposed style-property renames and the geometry-type behavior issue, to understand the individual breaking changes collected here. There is no named file, test, or implementation entry point, and the issue does not define a standalone completion condition beyond coordinating a future style-spec release.
Written by the indexing model from the issue text.
Assessment
- Domain
- frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 15/100