Skip to content

PlanarAlly

Productivity & Wikis

A web‑based companion tool that provides virtual battlemaps with layers, dynamic lighting, player vision and an initiative tracker for TTRPG/D&D sessions.

TypeScript Latest v2026.1.2 · 3mo ago Security brief →

Features

  • Self‑hosted deployment without reliance on external services
  • Full offline support for use in disconnected environments
  • Layered scene management for organized map creation
  • Infinite canvas enabling expansive battlemaps
  • Dynamic lighting and player‑vision restrictions for immersion
  • Initiative tracker to manage combat turn order

Recent releases

View all 7 releases →
v2026.1.2 Bugfix

Fixed note filters now correctly show details.

Changelog

This is a small patch to fix an issue with the new note filters not showing details as advertised.

v2026.1.1 Bugfix

Fixed template drops not applying their dimensions correctly.

Full changelog

This is a small patch to fix an issue with templates dropping not applying their dimensions properly.

v2026.1 Breaking risk
⚠ Upgrade required
  • Migration of templates may break existing template data; ensure backups before upgrading.
  • Notes are no longer hard‑linked to a single location and can be global or linked to multiple locations. Many note preferences have been removed.
  • Pydantic upgraded from 1.x to 2.x – review any custom validation code for compatibility.
Breaking changes
  • Templates are now stored as proper shapes in the database; old templates could become broken during DB upgrades.
Notable features
  • Custom shape data tab with text, number, toggle, and dice expression fields (dice can reference other entries).
  • Shape order inconsistency check runs when moving a shape to the back, fixing layer order and refreshing the page.
  • Initiative UI rework: asset images appear, list resizing allowed, verification check replaces modal, group badges added, DM clear/round navigation buttons.
Full changelog

For more details on what's new checkout https://www.planarally.io/blog/release-2026.1/

planarally-bin provides a prebuilt client, with a python server that you'll need to run yourself.
planarally-windows provides a compiled executable that can simply be run by double clicking the exe in the planarally-windows-2026.1 folder.

Check the documentation over at https://www.planarally.io for more info

The changelog for this release:

Added

  • Custom shape data
    • A new tab in the Shape settings UI
    • Can be used to freely add custom data and create a rudimentary character sheet
    • Currently supported data types are text, number, toggle and dice expressions
    • Dice expressions can reference other data entries and open the dice tool with the evaluated expression
    • Dice tool has a quick access sidebar to selected shapes with dice expressions
    • Dice tool shows auto completion on expression references
  • Shape order inconsistency check
    • Runs when moving a shape to the back
    • Fixes the order of all shapes on the layer and requests a page refresh
  • Asset manager icon when a shape has template info
  • Notes:
    • Campaigns tab (see more general note changes below)
    • Create can be confirmed with the enter key
    • Tag add now shows a pre-populated list with known tags
  • Logging:
    • Enabling configuration of the logger via a new logging section
    • Allows for multiple logging file streams at different levels

Changed

  • Initiative
    • UI rework
      • Asset images appear in initiative list
      • Prevent large initiative list growing excessively tall
      • Allow resizing of initiative list view
      • Replace popup modal with less intrusive verification check
      • New UI to add effects to entries
      • Add group badges for shapes with badges enabled
      • [DM] Add button to clear initiative list
      • [DM] Add previous/next round buttons
    • Add effects with infinite timespan
    • Fix names in initiative list not being reactive
  • Templates
    • Are now stored as proper shapes in the DB
    • Will migrate along with other shapes on DB upgrades (old templates could become broken)
    • Can be linked with other systems (e.g. custom-data, notes, ...)
  • Notes
    • No longer hard-linked to 1 particular location
      • Can be linked to multiple locations or no location (global/local concept is removed)
    • List filters have been redesigned to be mure useful
      • Many preferences have been removed as a result
    • Pagination is now in the bottom left and clearly notes the amount of pages
    • Tags in the note edit panel now have a "search" and "remove" action instead of always removing on click
    • [tech] Searching/Filtering/Pagination is now done on the server
    • [tech] tags are now stored in their own tables instead of being a json array on notes
  • Campaign creator can no longer change their own role or kick themselves
  • [tech] refactor of intermediate shape handling on client side (see transformations.ts)
  • [tech] upgraded pydantic from 1.x to 2.x
  • Square grids now have distinct x and y size values
  • Keyboard movement now also snaps to the closest grid cell when snapping is relevant
  • Variants
    • Players may now add variants to shapes they have edit access to
    • Players may now swap between variants of shapes they have edit access to
    • [tech] Variants' access permissions are now based on the permissions of the parent shape only

Fixed

  • Images in the Token Direction indicator were overflowing
  • Prevent shortcut handling when targetting an html select element
  • Ampersand in campaign name preventing game load
  • Duplicating (copy/paste) or undoing a removal of shapes would lose some info (e.g. notes)
  • Undoing a shape removal related to a character did not work
  • Undoing a shape removal causing the related group to be removed (i.e. last shape of the group)
  • Cutting a rotated polygon would be wrong on refresh
  • Resizing a rotated polygon did not correctly recalculate center, causing sudden shifts on move
  • Note creation not going straight to edit mode in some cases
  • Account settings text overlapping on smaller viewport widths
  • Moving special hide/reveal shapes from the fow layer could lead to a niche bug
  • Rotation slider not showing current value in text input on component load
  • Shapes snapping to square grid sometimes offset from grid
  • Shapes attempting to snap to a grid square now collide with walls
  • DDraft files no longer being uploadable to the asset manager
  • Moving shapes with keyboard keys while ruler was enabled on select tool would move shapes twice as far
  • Hovering on an initiative entry that is part of a group but not marked as a group entry would highlight all group members
  • Error log about viewports on the server
  • Toggling initiative off vision lock interactions
  • Initiative cog wheel not opening initiative tab in the client settings
  • Initiative entries would remain blurred if the focused entry was removed by another player.
  • Group system not properly cleaning up on location changes
  • Group badges were not sorted numerically in a shape's group settings when set to the numbers character set.
  • Tracker input resets to last value if left empty
v2025.3.0 Breaking risk
Breaking changes
  • [server] Legacy server configs removed
  • [server] Admin server removed; replaced with in‑client admin dashboard
Notable features
  • Admin panel accessible from the dashboard showing user/campaign counts and quick user creation
  • Toggle to search through shared assets (disabled by default)
Full changelog

For more details on what's new checkout https://www.planarally.io/blog/release-2025.3/

planarally-bin provides a prebuilt client, with a python server that you'll need to run yourself.
planarally-windows provides a compiled executable that can simply be run by double clicking the exe in the planarally-windows-2022.3 folder. (~~note an issue with the windows build occurred, which I'll rectify with a separate v2025.2.1 release later~~ this has been resolved)

Check the documentation over at https://www.planarally.io for more info

The changelog for this release:

Added

  • Admin panel that can be accessed from the dashboard
    • Currently limited to the main admin_user as configured in the server's config
    • Shows roughly same content as the original separate admin client
    • Also shows total number of users/campaigns and a quick user create button
    • Last login day for users
  • Toggle to search through shared assets
    • This is heavier for the server and niche so not enabled by default

Changed

  • Smoothed out the scroll zoom behaviour when zoomed in furthest
  • [server] Config values that are not known will now error and stop the server from starting
  • [tech] Add debounce to asset search

Removed

  • [server] Legacy server configs
  • [server] Admin server - this is replaced with a new in-client admin dashboard

Fixed

  • Ensure stat export is chunked to prevent rejection from stat server
  • Rapid (dis)connect sequences flooding the stats
  • Don't re-open shape properties after a re-select
  • Last grid-line in X or Y axis sometimes not rendering
  • Deleting first initiative entry would enter invalid state
  • Going to previous initiative would decrement effect timers
  • Going to previous initiative could enter negative rounds
  • Render bug in vision mode "behind" showing the entire shape under certain circumstances
  • Asset search server query had a missing () causing assets from other users to show up
  • Floor renaming the wrong entry
v2025.2.2 Bugfix

Fixed initiative rename focus loss, locked shape selection, and DM-only aura rendering bugs.

Full changelog

This is a small release that fixes three bugs reported on the latest release:

  • Initiative effect rename losing focus after pressing 1 character
  • Locked shapes not being selectable directly
  • DM only auras where no longer rendered due to a bug in the new access logic

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

About

Stars
522
Forks
84
Languages
TypeScript Vue Python

Community & Support

Beta — feedback welcome: [email protected]