mirror of
https://github.com/maputnik/editor.git
synced 2026-09-10 14:27:26 +00:00
80c0d08179
## Launch Checklist <!-- Thanks for the PR! Feel free to add or remove items from the checklist. --> When a fixed paint value is converted to a zoom function, Maputnik creates exactly two stops. <img width="362" height="226" alt="image" src="https://github.com/user-attachments/assets/209aebbf-7bb3-4422-b0c7-1019e20a9ddb" /> Deleting either one of those two stops leaves a single remaining value. During the transition back to the ordinary field editor, `ZoomProperty` can render with `stops` undefined. It previously called `.map` unconditionally, causing the editor to crash. <img width="2551" height="1248" alt="image" src="https://github.com/user-attachments/assets/f5c2af59-dcae-4ffe-8245-f175eea9c843" /> This PR guards the stop list with optional chaining. The change only protects the render path and does not alter zoom-function conversion or value persistence. Now, the remaining stop's value will be restored after deleting the other stop: <img width="367" height="168" alt="image" src="https://github.com/user-attachments/assets/8d13236b-6140-451b-8613-0bc5f11893de" /> The regression test covers `circle-opacity`: 1. Convert a fixed value to a zoom function. 2. Change the second stop's value. 3. Delete the first of the two stops. 4. Verify that the ordinary field editor reappears. 5. Verify that the remaining stop's value is restored. 6. Edit the restored field and verify that the style updates successfully. - [x] Briefly describe the changes in this PR. - [ ] Link to related issues. - [x] Include before/after visuals or gifs if this PR includes visual changes. - [x] Write tests for all new functionality. - [x] Add an entry to `CHANGELOG.md` under the `## main` section.
94 lines
4.3 KiB
Markdown
94 lines
4.3 KiB
Markdown
## main
|
|
|
|
### ✨ Features and improvements
|
|
- Replace Cypress with Playwright for end-to-end tests and Vitest browser mode (Playwright provider) for component tests; drop the `@shellygo/cypress-test-utils` helper in favour of a `MaputnikDriver` page object
|
|
- Upgrade to MapLibre GL JS 6 and Vite 8, and update the remaining dependencies
|
|
- Serve the RTL text plugin from `@mapbox/mapbox-gl-rtl-text` instead of a pinned CDN URL, so its version is tracked in `package.json`
|
|
- Exported HTML now loads MapLibre GL JS as an ES module, since v6 no longer ships a UMD bundle
|
|
- _...Add new stuff here..._
|
|
|
|
### 🐞 Bug fixes
|
|
- Prevent a crash when converting a function to an expression
|
|
- Prevent a crash when deleting either stop from a function with two stops
|
|
- Preserve expanded layer groups when deleting layers, including the first layer of a group
|
|
- The map's data listener now fires on tile loads again, so source and vector layer field autocompletion is populated
|
|
- The `maputnik` desktop binary now opens the default browser automatically on startup (opt out with `--no-browser`)
|
|
- _...Add new stuff here..._
|
|
|
|
## 3.1.0
|
|
|
|
### ✨ Features and improvements
|
|
- Added translation to "Links" in debug modal
|
|
- Add support for hillshade's color arrays and relief-color elevation expression
|
|
- Change layers icons to make them a bit more distinct
|
|
- Remove `@mdi` packages in favor of `react-icons`
|
|
- Add ability to control the projection of the map - either globe or mercator
|
|
- Add markdown support for doc related to the style-spec fields
|
|
- Added global state modal to allow editing the global state
|
|
- Added color highlight for problematic properties
|
|
- Upgraded codemirror from version 5 to version 6
|
|
- Add code editor to allow editing the entire style
|
|
- Add support for sprite object in setting modal
|
|
- Set the correct map view when opening a new style on an empty map
|
|
- Allow root-relative urls in the stylefile
|
|
|
|
### 🐞 Bug fixes
|
|
|
|
- Improved the local style open modal and local file upload.
|
|
- Fixed the Expression editor (for long expressions) being able to be float under other components further down
|
|
- Fixed an issue when clicking on a popup and then clicking on the map again
|
|
- Fix modal close button position
|
|
- Fixed an issue with the generation of translations
|
|
- Fix missing spec info when clicking next to a property
|
|
- Fix Firefox open file that stopped working due to react upgrade
|
|
- Fix issue with missing bottom error panel
|
|
- Fixed headers in left panes (Layers list and Layer editor) to remain visible when scrolling
|
|
- Fix error when using a source from localhost
|
|
- Fix an issue with scrolling when using the code editor
|
|
|
|
## 3.0.0
|
|
|
|
### ✨ Features and improvements
|
|
- Fix radio/delete filter buttons styling regression
|
|
- Add german translation
|
|
- Use same version number for web and desktop versions
|
|
- Add scheme type options for vector/raster tile
|
|
- Add `tileSize` field for raster and raster-dem tile sources
|
|
- Update Protomaps Light gallery style to v4
|
|
- Add support to edit local files on the file system if supported by the browser
|
|
- Upgrade to MapLibre LG JS v5
|
|
- Upgrade Vite 6 and Cypress 14 ([#970](https://github.com/maplibre/maputnik/pull/970))
|
|
- Upgrade OpenLayers from v6 to v10
|
|
- When loading a style into localStorage that causes a QuotaExceededError, purge localStorage and retry
|
|
- Remove react-autobind dependency
|
|
- Remove usage of legacy `childContextTypes` API
|
|
- Refactor Field components to use arrow function syntax
|
|
- Replace react-autocomplete with Downshift in the autocomplete component
|
|
- Add LocationIQ as supported map provider with access token field and gallery style
|
|
- Use maputnik go binary for the docker image to allow file watching
|
|
- Revmove support for `debug` and `localport` url parameters
|
|
- Replace react-sortable-hoc with dnd-kit to avoid react console warnings and also use a maintained library
|
|
|
|
### 🐞 Bug fixes
|
|
|
|
- Fix incorrect handing of network error response (#944)
|
|
- Show an error when adding a layer with a duplicate ID
|
|
- Replace deprecated `ReactDOM.render` usage with `createRoot` and drop the
|
|
`DOMNodeRemoved` cleanup hack
|
|
|
|
## 2.1.1
|
|
|
|
### ✨ Features and improvements
|
|
|
|
- Add GitHub workflows for releasing new versions
|
|
- Update desktop build to pull from this repo (#922)
|
|
|
|
## 2.0.0
|
|
|
|
- Update MapLibre to version 4 (#872)
|
|
- Start continuous deployment of maputnik website
|
|
|
|
## 1.7.0
|
|
|
|
- See release notes at https://maputnik.github.io/blog/2020/04/23/release-v1.7.0
|