> For the complete documentation index, see [llms.txt](https://docs.multiset.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.multiset.ai/quick-access/changelog/v2/version-2.3.3.md).

# Version 2.3.3

Public share links, geo-fences and localization by coordinate, declared coordinate reference systems on E57, MapSets built from a shared survey frame, and the OSCP GeoPose Protocol.

### v2.3.3 19-September-2026

**Added**

1. **USDZ mesh export.** Every map now exports its mesh as a USDZ file that can be used directly in NVIDIA Isaac Sim and Omniverse.
2. **Share links.** Publish a map or map set to a public URL that needs no MultiSet account. Choose whether the splat and the 360° tour are included, set an expiry or make it one-time, and revoke it at any moment. [Sharing Maps](/fundamentals/sharing-maps.md)
3. **Geo-fences.** A geo-referenced map now covers a known real-world area, so a coordinate can be resolved to the map that contains it. [Geo-fence](/fundamentals/georeferencing-maps/geo-fence.md)
4. **Localize by coordinate.** Pass `geoLocation` on the query instead of a `mapCode` and the nearest map in range is resolved and queried for you. [Map Query](/fundamentals/rest-api-docs/map-query.md)
5. **Find maps near a point.** `GET /v1/vps/map/nearby` ranks the candidates around a coordinate, grouped by what you would actually query, so a client can resolve once per session and cache it. [Geo-fence](/fundamentals/georeferencing-maps/geo-fence.md)
6. **Declare the coordinate reference system of an E57.** Send `source.metadata.crs` with an EPSG code, or a 7-parameter Helmert transform for a private site grid that has no EPSG code. [Coordinate Reference System](/fundamentals/third-party-scans/coordinate-reference-system.md)
7. **OSCP GeoPose Protocol.** `POST /v1/vps/map/geopose` speaks Open AR Cloud's protocol, so an OSCP client can localize against MultiSet maps without MultiSet-specific code. [OSCP GeoPose Protocol](/fundamentals/rest-api-docs/oscp-geopose.md)
8. **Build a MapSet from a shared survey frame.** `POST /v1/vps/map-set/from-georeference` places maps from the survey frame they were captured in instead of a visual overlap job, so sections of a site that never see each other can still be merged. Maps can be added to such a set later, and its origin corrected. [Merging Maps by Georeference](/fundamentals/mapset-multiple-maps/merging-maps-by-georeference.md)

**Changed (iOS Native SDK)**

1. **The xcframework no longer contains AR code.** ARKit, RealityKit, SwiftUI and CoreLocation code now ships as source in `MultiSetAR/`, added to your app target. Replace the framework and the folder together and remove `MultiSetSDK.MultiSetARView` references. The API is unchanged. [iOS Swift Native](/native-sdk/ios-swift-native.md)
2. **`MultiSet` and `MultiSetCallback` are `@MainActor`.** Call them from the main thread and create your callback object there. [MultiSetCallback](/native-sdk/ios-swift-native/api-reference/multisetcallback.md)
3. **`poseConsistencyCheck` defaults to `false`** (it was on in 1.16.0), and `poseConsistencyThreshold` is now a flat 1 to 15 metre limit, so re-tune it. [MultiSetConfig](/native-sdk/ios-swift-native/api-reference/multisetconfig.md)

**Fixed**

1. **The satellite viewer places scans at the correct height.** Scans are now shown at their ellipsoidal height. Earlier versions used the MSL (geoid) height, which left scans offset vertically by the local geoid separation.
2. **The iOS SDK sends the correct GPS height with `geoHint`.** It previously sent `CLLocation.altitude` (mean sea level) and now sends `CLLocation.ellipsoidalAltitude`, so the hint is no longer offset vertically by the local geoid separation. [GeoHint in Localization](/fundamentals/localization/geohint-in-localization.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.multiset.ai/quick-access/changelog/v2/version-2.3.3.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
