Changelog
0.2.13 - Responsive map interface
- Made the cartography window adapt its width and height to the current game resolution and configured interface scale.
- Added a global vertical scrollbar whenever the complete menu cannot fit on-screen, keeping every identity, exploration, pin and import control reachable.
- Preserved dedicated scroll areas for player layers, pin owners and local shareable pins while sizing them proportionally on shorter displays.
- Changed the identity color palette from a fixed four-column layout to two, three or four columns depending on available width.
- Removed fixed-width pressure from the emblem and local-pin rows so labels no longer push controls outside narrow windows.
0.2.12 - Gale-safe per-user settings
- Moved personal identity preferences, pin filters, tint controls and interface settings from the Gale-synchronized BepInEx profile into Valheim's per-Windows-user
LocalLow/PlayerMapLayers directory.
- Moved remembered layer selections, shared-table snapshots, import ledgers and undo recovery into the same non-synchronized local root.
- Added selective migration of legacy client state: only files matching the current local Valheim player ID are moved, preventing a synced profile owner's state from being adopted by new subscribers.
- Preserved existing account identity by requesting the server layer index after the local player becomes available and restoring the server-accepted color and emblem.
- Bumped the layer RPC endpoints to v5 so the server can return the requesting player's exact salted account UUID privately in its index; stored PML4 layer files remain fully compatible.
- Removed obsolete personal keys from
zephyrfit.playermaplayers.cfg; the remaining file contains only common/server-oriented settings.
- Kept exploration and explicitly selected pins flowing through the existing validated server RPCs. Server storage and redistribution are unchanged.
0.2.11 - Filter label and localization audit
- Renamed the compact Layer menu / Menu des couches launcher to Filter / Filtre.
- Audited the French and English dictionaries for exact key parity. French remains selected only when Valheim uses French; every other game language falls back to English.
0.2.10 - Persistent views and simplified exploration workflow
- Replaced the two preview buttons with live layer selection: checking or unchecking any player or the shared table updates the map immediately.
- Added Me + table, All and None presets while preserving arbitrary combinations such as local player + table + selected remote players.
- Persisted the last valid shared-table snapshot locally per world and local character, so the exact remembered view can return after closing the map or restarting the game.
- Moved exploration-color controls into the collapsible My identity section and renamed them Individual color configuration.
- Moved permanent import into a separate advanced section and clarified that it is optional for normal layer viewing.
- Permanent import now reports when all selected discoveries were already present, creates an undo point only for a real change, and restores the selected colored view afterward.
- Removed the misleading Imported marker from the local player's own row.
0.2.9 - Clear layer selection, stable pin ownership and compact settings
- Removed the duplicate synthetic My personal exploration row. The player's normal account/character row now uses the current local personal mask while retaining the server-authoritative name, color and emblem.
- Kept the shared-table layer independently selectable and preserved the one-click personal + table preset.
- Changed tint composition so the shared table is a background only: selected player colors remain visible on cells also known by the table, while true multi-player overlaps stay neutral.
- Fixed author halos by resolving the actual Unity graphic component instead of tinting the pin's layout container.
- Stopped removing and reinserting unattributed live pins. All / Players / None now filters only pins synchronized through Player Map Layers; native, BetterMap and TargetPortal pins remain untouched.
- Added purple, turquoise, lime and white identity colors.
- Added collapsible identity and exploration-color sections and centered the selected emblem label in the full row.
0.2.8 - Pin lifecycle reconciliation and personal + table preset
- Fixed detached cartography and TargetPortal/BetterMap pin graphics moving as one screen-space block after panning or zooming.
- Replaced the destructive
m_pins.Clear() restoration with reference-based reconciliation: existing pin objects are left untouched and only additions made during the intercepted table read are removed through Valheim's normal RemovePin lifecycle.
- Added a compatibility fallback that destroys an added pin's root UI object before removing its data entry if Valheim changes the
RemovePin signature.
- Split the local personal exploration mask from the shared cartography-table mask.
- Added explicit My personal exploration / Mon exploration personnelle and a one-click personal + shared table preview.
- Confirmed localization policy: French is used only when Valheim selects French; every other game language falls back to English.
0.2.7 - Stable pin layout and collapsible layer menu
- Replaced the old broad
Minimap.Update suppression with targeted map-click guards plus a guarded native pin-layout refresh. The map cannot receive add/remove/ping/pan actions through the panel, and its pins can no longer remain at stale screen coordinates.
- Author-color halos are re-anchored immediately after Valheim and BetterMap finish laying out the native pins.
- The large map now opens with a compact Layer menu / Menu des couches button instead of the full panel.
- Closing the panel collapses it without cancelling the current preview, selection or shared-pin display.
- Reading a cartography table still opens the full panel automatically for the preview workflow.
- Promoted the documentation to a Gale-first public beta: regular users install the published package directly, while build and local-installer instructions live only in the separate DEVKIT documentation.
- Added a guarded interactive Thunderstore publisher: team prompt, masked one-use token, clean rebuild, explicit confirmation and automatic credential cleanup.
0.2.6 - Author-halo compilation hotfix
- Fixed a C# local-variable shadowing error in the new author-halo renderer that prevented the 0.2.5 DEVKIT from compiling.
- No network, storage or configuration schema changed from 0.2.5.
0.2.5 - Input isolation, saturated colors and author halos
- Prevented mouse clicks, dragging and wheel input over the mod window from reaching Valheim's map underneath.
- Applied the parchment texture to every focused, active and selected window state so the panel no longer changes appearance or becomes translucent while manipulated.
- Added an independent 100–250% exploration-color saturation control with a stronger 180% default; existing opacity controls are unchanged.
- Added optional relief halos behind temporary shared pins using each author's server-accepted color without recoloring BetterMap or TargetPortal icons.
- Added explicit multi-selection guidance and a live selected-layer count; any player combination can include or exclude the shared-table layer.
- Reduced list viewport heights to keep every action visible after adding the new controls.
0.2.4 - Per-pin icons and remembered layer selection
- Added an independent display-icon selector to every local pin offered for explicit sharing.
- Discovers BetterMap's live pickaxe, chest, portal, forage, dungeon, spawner, Vegvisir, beehive, tar and sap types without creating competing pin types.
- Keeps the original pin type inside its semantic fingerprint, so changing only the display icon cannot defeat duplicate protection.
- Persists the selected icon in a backward-compatible
PMP2 store; existing PMP1 pin files are still loaded with their original icons.
- Remembers the last single- or multi-layer selection per world and local character and automatically previews it when the map is reopened.
- Centers the selected emblem name between its navigation arrows.
- Bumped the additive pin protocol to schema 2; server and participating clients must all run 0.2.4.
0.2.3 - Nordic parchment interface and live identity refresh
- Added a compact Nordic parchment theme with warm paper panels, dark wood buttons, amber selected tabs and a classic-theme fallback.
- Increased the window height and reduced the empty layer-list viewport so Apply, Cancel and Undo remain visible.
- Selecting a color or emblem now synchronizes the server-authoritative profile immediately.
- Fixed stale cached layer metadata that could keep an active preview on the previous color after the server accepted a new one.
- Refreshes the tint texture when a new server layer index changes identity metadata without changing exploration data.
0.2.2 - Lighter exploration overlay and clearer layer list
- Reduced the default player tint from 16% to 8% and automatically migrates the exact 0.2.1 default.
- Added a separate 3% opacity for Shared table exploration and reduced neutral overlaps to 1.5%.
- Added in-map
− / + opacity controls for player colors and the shared-table layer; changes are saved locally.
- Removed the redundant color squares from exploration rows while retaining useful owner colors in the pin filter.
0.2.1 - Subtle non-stacking exploration colors
- Added a temporary local color overlay for active exploration previews, using each player's server-accepted profile color.
- Uses 16% opacity for cells exclusive to one selected player and one neutral 4% veil for overlaps; colors never stack.
- Keeps the tint aligned with Valheim's large-map UV rectangle while panning and zooming.
- Places the generated layer below normal pin UI, makes it non-interactive and destroys it on cancel, apply, map close or plugin unload.
- Added an in-map toggle plus configurable single-player and overlap opacities.
- Does not modify fog arrays, serialized map data, network payloads, BetterMap markers or TargetPortal pins.
0.2.0 - Explicit selective pin sharing
- Added a dedicated Shared pins tab; personal saved pins are private until individually checked and synchronized.
- Stores one complete pin list per platform-account UUID and world; synchronizing replaces it atomically so unshared or deleted pins do not linger.
- Keeps Valheim's native Cartography table switch as the master visibility control.
- Added local All / Players / None filters, with per-owner selection when Players is active.
- Treats existing unattributed cartography-table pins as one reversible legacy category; they can be hidden without deleting their live objects.
- Renders remote pins temporarily without importing them into the local map or exploration payload.
- Deduplicates by semantic pin identity so an existing BetterMap, TargetPortal or vanilla marker remains authoritative.
- Excludes system, player, death, boss, merchant, event, ping and other temporary markers from sharing.
- Renamed Shared cartography table to Shared table exploration to distinguish exploration from pins.
- Kept exploration network/storage schema 4; the additive pin protocol uses its own schema 1 and does not migrate existing player layers.
0.1.8 - Reliable isolation and localized Map input
- Fixed player-layer contamination when Sync my personal exploration was used during an active preview; the saved pre-preview personal mask is uploaded instead.
- Invalidates a cached payload whenever the server advertises a new fingerprint, so Isolate downloads and uses the current revision rather than stale data.
- Rebuilds the fog texture with Valheim's distinct personal/shared color channels and logs the explored-cell count of every isolated preview.
- Follows Valheim's configured
Map action through ZInput, with Unity M/comma fallback for QWERTY/AZERTY compatibility.
- Renamed the ambiguous profile synchronization button to make clear that it uploads personal exploration only.
- Network schema 4 remains compatible with 0.1.7; the server data does not need another format migration.
0.1.7 - Non-destructive pins
- Removed every full-map
SetMapData restore from preview, cancel, apply and undo paths.
- Baselines and undo points now contain only the personal and shared exploration
BitArray masks.
- Cartography reads snapshot and restore the live pin collection by reference, preserving unsaved dynamic markers such as Hildir, the Bog Witch and mod-created location pins.
- Added a dedicated exploration-state format; legacy full-map undo snapshots are rejected instead of being applied destructively.
- Kept the automatic M entry point and the large-map fallback button introduced in 0.1.6.
- Bumped the network and stored-layer schema; server and clients must all use 0.1.7.
0.1.6 - Valheim 1.0 exploration compatibility
- Fixed cartography capture and previews for Valheim 1.0.15, whose exploration fields are
BitArray instances rather than bool[] arrays.
- Opening the normal large map with Valheim's M key now opens the layer panel automatically; the compact button remains as a fallback.
- Restored the cartography-table flow: Read map captures the shared exploration result, restores the player's original map, opens the large map and displays the preview panel.
- Added explicit diagnostics for the detected exploration storage and both large-map entry points.
- Bumped the network and stored-layer schema; client and server must both use 0.1.6 and discoveries must be recorded again.
0.1.5 - Safe exploration layers and map entry point
- Replaced full serialized-map player payloads with compact exploration-only masks.
- Fixed the
Map exploration array size mismatch failure that prevented selected layers from being merged.
- Preview, isolation, apply and undo now preserve the current pin collection, including BetterMap and world-location markers.
- Added a Player layers button whenever the large map is open, so the panel is available away from the cartography table.
- Removed the redundant compatibility sentence from the panel.
- Replaced hexadecimal color cycling with a visible, named color palette and localized emblem names.
- Bumped the network and stored-layer schema; players must record discoveries again after installing 0.1.5.
0.1.4 - Read result semantics fix
- No longer treats the three-argument
MapTable.OnRead return value as proof that the interaction was denied; Valheim 1.0.15 can return false after a normal read.
- Uses Harmony's
__runOriginal state to distinguish a normal cartography read from an interaction actually blocked before Valheim's handler ran.
- Keeps SimpleAccessControl authoritative: a denied interaction still does not open the Player Map Layers panel.
0.1.3 - Cartography interaction fix
- Targeted the exact three-argument
MapTable.OnRead overload wired to Valheim 1.0.15's Read map interaction.
- Reading a cartography table now explicitly opens the large map with the Player Map Layers panel and non-destructive preview.
- Avoided duplicate nested handling through the internal four-argument
OnRead overload.
- Made large-map state detection tolerant of both
m_mode and m_largeRoot.
- Extended the map-open timeout and added clear table, panel and network diagnostics to
LogOutput.log.
- Added a soft load-order dependency so SimpleAccessControl is detected after it is loaded.
- Prevented the client IMGUI component from being created in the dedicated-server process.
- The installer backs up and removes the obsolete direct-profile DLL before importing the managed Gale package.
0.1.2 - Managed Gale installation
- Replaced the direct client DLL copy with a complete local-package import through Gale.
- Added Gale profile selection, Steam/Valheim discovery and a running-game guard.
- Added build artifact and SHA-256 verification.
- Added explicit output paths for the generated BepInEx configuration and launcher log.
- Kept optional direct DLL installation only for a separately selected local dedicated server.
- The installer now fails clearly when Gale cannot import the package instead of silently creating an unmanaged client plugin.
0.1.1 - Valheim 1.0 compilation compatibility
- Removed compile-time dependency on the obsolete
ZRoutedRpc.GetServerPeerID API.
- Added version-tolerant server-peer resolution with safe failure when no route can be resolved.
- Removed the compile-time dependency on Valheim's legacy
Localization type.
- Removed the implicit
UnityEngine.TextRenderingModule dependency from the UI styles.
0.1.0 - Development preview
- Added per-account, per-world map-layer storage.
- Added salted internal UUIDs with character-name display and alias history.
- Added upload after successful cartography-table recording.
- Added non-destructive preview after reading the table.
- Added individual isolation and multi-layer preview.
- Added explicit import, cancellation and persistent one-level rollback.
- Added revision and payload-fingerprint anti-duplicate protection.
- Added synchronized player color and emblem metadata.
- Added French and English interfaces.
- Added soft compatibility rules for BetterMap, TargetPortal and SimpleAccessControl.
- Added Gale/Thunderstore packaging and local development installer.