MapTool 1.15.1 Release Candidate 1
Pre-releaseRead Me First
Before uninstalling any previous version, if you have saved your campaign files, logs, or anything else you want to keep under the directory structure where MapTool is installed, please copy them elsewhere beforehand. It is also a good idea to always have backups.
Note: Do not install over the top of an old version, either install into a new directory or uninstall the old version first. If you have installed a beta version of 1.15.0, uninstall that first.
Platform Notes
We strongly encourage you to use the installer format for your operating system. The JAR file should only by used by advanced users comfortable with installing Java releases. It requires a working Java 17 install with JavaFX on your system to use it.
Download one of the assets listed below. As described below, each platform has options for which file to download.
- Windows: Use either
.msi
or.exe
.
If you have modified theMapTool.cfg
file, make a backup so you can copy your changes into the new config file.- Do not install over older versions of MapTool.
We're seeing notes from Windows users who double-click the icon after installing, but no window appears. This seems to be an antivirus issue, so check your AV if you have this problem.
- Do not install over older versions of MapTool.
- Linux: Use either
.deb
,.rpm
or.zst
(depending on which packager your system uses).- The
deb
version installs under/opt/maptool/bin
asMapTool
.
- The
- macOS: Use either
.pkg
(recommended) or.dmg
.- On macOS, to run the app the first time after installation, hold Ctrl while clicking the icon and continue to hold Ctrl while choosing Open, then choose to open the application (this is part of Apple's approach when dealing with an unidentified developer).
The macOS Gatekeeper may flag the DMG file as broken. For more details, see this issue.
- On macOS, to run the app the first time after installation, hold Ctrl while clicking the icon and continue to hold Ctrl while choosing Open, then choose to open the application (this is part of Apple's approach when dealing with an unidentified developer).
What's Changed in 1.15.1.rc-1
Bug Fixes 🩹
Other Changes 💬
What's Changed in 1.15.0
New Features 🥳
- Cover VBL Addition by @ColdAnkles in #4299
- onChangeMap add-on compliance, output added by @Jmr3366 in #4318
- onMouseOver event by @Jmr3366 in #4319
- Added en_au and en_gb language files by @bubblobill in #4348
- Hide token stack indicator by @Jmr3366 in #4343
- Use the term "NPCs" in the Map Explorer window by @kwvanderlinde in #4393
- Upgrade to javafx 21 by @cwisniew in #4428
- Upgrade to java 21 by @cwisniew in #4426
- add nightly github action by @cwisniew in #4411
- Introduce ShapeType.LINE by @bubblobill in #4449
- Removed auto inserting quotes from code editor by @bubblobill in #4535
- MetaMacro Functionality for GM & Campaign Panel Buttons by @bubblobill in #4531
- i18n language files updated for new beam light type by @bubblobill in #4517
- Added info type "functions" by @bubblobill in #4548
- Added second Joker to card deck by @bubblobill in #4545
- Add UI for defining unique lights by @kwvanderlinde in #4553
- Change BEAM lights and sights to accept width instead of arc by @kwvanderlinde in #4516
- Auras and Lights Through VBL by @ColdAnkles in #4579
- Added new chat function chat that allows running slash commands in macros. by @bubblobill in #4532
- Input() to handle
lib://
asset paths by @ColdAnkles in #4621 - Updated dice systems to handle exploding dice limits by @ColdAnkles in #4644
- Reworked Token Type/Properties Editor tab by @bubblobill in #4653
- Update Map and Token Labels to allow users to define how they look by @cwisniew in #4662
- Include
token types
ingetInfo("campaign")
by @Jmr3366 in #4697 - Add a cover VBL icon to Rod Takehara icon theme by @kwvanderlinde in #4737
- Automatically copy relevant issue labels to Pull Requests by @cwisniew in #4746
- Update to JavaFx 22 by @cwisniew in #4745
- Update crowdin.yml to extend translation file suffix with locale by @bubblobill in #4792
Performance Improvements 🏎️
- Improve performance of the visibility sweep by @kwvanderlinde in #4642
- Ensure GeometryUtil.toJts() returns valid geometry by @kwvanderlinde in #4668
- Further improvements to server starts by @kwvanderlinde in #4787
Bug Fixes 🩹
- Additional JavaScript API Token Functions by @ColdAnkles in #4323
- Fix for cancelling from map export by @Jmr3366 in #4327
- Propagate frame rate cap changes to each ZoneRenderer by @kwvanderlinde in #4361
- Use "isometric rectangle" instead of "diamond" in tooltips by @kwvanderlinde in #4357
- Fix onTokenMove not being called when lib: tokens are off the Token layer by @kwvanderlinde in #4363
- Fix the topology tooltips in the Edit Token dialog by @kwvanderlinde in #4358
- Reenforce uniqueness of attached light sources as in ye olden days by @kwvanderlinde in #4377
- Add missing tooltip for cover VBL by @kwvanderlinde in #4375
- Fix grid size labels by @bubblobill in #4370
- Use delimiters literally in macro functions by @kwvanderlinde in #4381
- Replace home-grown uberJar task with shadowJar plugin by @kwvanderlinde in #4385
- Fix handling of assert failures in event handlers by @kwvanderlinde in #4392
- Include FOW exposure in pathfinding bounds by @kwvanderlinde in #4407
- Make ownership checks consistent between All Players and explicit assignment by @kwvanderlinde in #4404
- Allow build to succeed even with stray sentry.properties file by @kwvanderlinde in #4423
- Fix for cover island edge case by @ColdAnkles in #4438
- Fix VisiiblityInspector's use of cover VBL by @kwvanderlinde in #4497
- Fixed missing
in light explanations by @bubblobill in #4499 - Consistently add light options to Campaign Properties by @kwvanderlinde in #4515
- Fix MBL in non-noded situations by @kwvanderlinde in #4529
- Make light source detection more consistent by @kwvanderlinde in #4541
- Fix note rendering when labels are present. by @kwvanderlinde in #4557
- Consistently render movement with different fog and vision settings by @kwvanderlinde in #4558
- Added missing colon in button CSS by @bubblobill in #4576
- Added parameter checks to metamacro functions by @bubblobill in #4583
- Better encapsulated version of Zone.clearDrawables() by @kwvanderlinde in #4589
- Alternate Encoding Handling for Addon Content by @ColdAnkles in #4596
- MetaMacro function fix fix by @bubblobill in #4605
- Updated FunctionUtil to handle
lib://
assets via AssetResolver by @ColdAnkles in #4629 - Fix issue with vision bounds not including the vision origin by @kwvanderlinde in #4645
- Add more icons from Rod Takehara by @thelsing in #4639
- Fix for #4695: library.getContents() returns empty JSON sometimes by @Azhrei in #4696
- Correctly centre map labels and fix colors for some old labels that had wrong coloring. by @cwisniew in #4716
- Enforce valid frame rate cap values by @kwvanderlinde in #4732
- Chat background colour fix by @bubblobill in #4734
- Fix for input() not working in some locales by @Azhrei in #4731
- Fix rendering of line cell templates by @kwvanderlinde in #4752
- Give DrawnElement a copy constructor by @kwvanderlinde in #4763
- Refactor client-side and server-side state, split player database responsibilities, and enforce better lifecylce for servers and clients by @kwvanderlinde in #4771
- Go back to calling MapTool.setCampaign() by @kwvanderlinde in #4774
- Update topology toolbar tooltip to include movement blocking by @kwvanderlinde in #4773
- Persist new public keys in the player database when using Easy Connect by @kwvanderlinde in #4780
- More client lifecycle improvements by @kwvanderlinde in #4777
- Replace token IDs on imported maps by @kwvanderlinde in #4791
- Do not run the InfoTextSwingWorker on the EDT thread by @kwvanderlinde in #4802
- Add workaround for drag and drop between frames by @kwvanderlinde in #4800
- Magnify light source radius rather than shape by @kwvanderlinde in #4803
- Check windows based on hidden status, not showing by @kwvanderlinde in #4804
- Even the local client needs the player list synced by @kwvanderlinde in #4806
- Add read timeouts to server sockets by @kwvanderlinde in #4805
- Fix for missing translation keys by @kwvanderlinde in #4807
- Swap hex grid icons in Rod's theme by @kwvanderlinde in #4812
- Constrain zoom levels by @kwvanderlinde in #4809
- Fix onChangeSelection and related events for inactive tabbed frames by @kwvanderlinde in #4810
Code Maintenance 🔧
- Refactor ZoneRenderer - initial steps by @bubblobill in #4384
- Keep GUI class files hygienic by @kwvanderlinde in #4390
- Avoid use of convention properties by @kwvanderlinde in #4400
- Generalize the use of layers using new properties and standard enum functionality by @kwvanderlinde in #4402
- Make badass runtime plugin ignore the shadow plugin by @kwvanderlinde in #4422
- Add dependencies calc action by @cwisniew in #4483
- Add a Facing enum to make facing of topology blocking segments easier to reason about by @kwvanderlinde in #4484
- Refactor zone renderer by @bubblobill in #4447
- Implement a CodeTimer stack by @kwvanderlinde in #4518
- Factor out more rendering logic into separate renderers by @kwvanderlinde in #4538
- Refactor EditTokenDialog.action.hero.statBlockRTextScroll i18n key. by @cwisniew in #4561
- Simplify AreaMeta and move vision blocking algorithm into a dedicated class by @kwvanderlinde in #4577
- Revamp sight light text by @bubblobill in #4565
- Updated light help text by @bubblobill in #4608
- Remove leftover bits from the campaign export removal by @kwvanderlinde in #4616
- Update to Gradle 8.5 by @kwvanderlinde in #4628
- Improve last path exposure with better unions by @kwvanderlinde in #4630
- UI text - Campaign Properties Dialogue by @bubblobill in #4635
- Added a utility class for generating a report on i18n strings. by @bubblobill in #4652
- Mark .form files as inputs to :instrumentForms task by @kwvanderlinde in #4685
- Move clientserver package into a new subproject by @kwvanderlinde in #4751
Dependency Updates
- Bump io.grpc:grpc-protobuf from 1.47.0 to 1.58.0 by @dependabot in #4282
- Bump com.jetbrains.intellij.java:java-gui-forms-rt from 223.7571.182 to 232.9921.53 by @dependabot in #4288
- Bump com.squareup.okhttp3:okhttp from 4.9.3 to 4.11.0 by @dependabot in #4013
- Bump com.google.code.gson:gson from 2.8.9 to 2.10.1 by @dependabot in #4017
- Bump com.thoughtworks.xstream:xstream from 1.4.19 to 1.4.20 by @dependabot in #3960
- Bump org.ajoberstar.grgit from 5.0.0 to 5.2.0 by @dependabot in #4168
- Bump org.junit.jupiter:junit-jupiter-api from 5.8.2 to 5.10.1 by @dependabot in #4408
- Bump com.google.guava:guava from 31.1-jre to 32.1.3-jre by @dependabot in #4418
- Bump org.junit.jupiter:junit-jupiter-params from 5.8.2 to 5.10.1 by @dependabot in #4417
- Bump org.jsoup:jsoup from 1.15.4 to 1.16.2 by @dependabot in #4416
- Bump com.fifesoft:rstaui from 3.3.0 to 3.3.1 by @dependabot in #4412
- Bump com.twelvemonkeys.imageio:imageio-tiff from 3.9.4 to 3.10.1 by @dependabot in #4415
- Bump com.formdev:flatlaf-jide-oss from 3.1.1 to 3.2.5 by @dependabot in #4414
- Bump com.twelvemonkeys.imageio:imageio-batik from 3.9.4 to 3.10.1 by @dependabot in #4413
- Bump org.mockito:mockito-core from 5.4.0 to 5.7.0 by @dependabot in #4445
- Bump com.twelvemonkeys.imageio:imageio-psd from 3.9.4 to 3.10.1 by @dependabot in #4442
- Bump com.jetbrains.intellij.java:java-gui-forms-rt from 232.9921.53 to 241.774 by @dependabot in #4439
- Bump com.miglayout:miglayout-swing from 11.1 to 11.2 by @dependabot in #4444
- Bump dev.onvoid.webrtc:webrtc-java from 0.7.0 to 0.8.0 by @dependabot in #4443
- Bump org.apache.logging.log4j:log4j-core from 2.20.0 to 2.22.0 by @dependabot in #4446
- Bump com.twelvemonkeys.imageio:imageio-core from 3.9.4 to 3.10.1 by @dependabot in #4454
- Bump com.fifesoft:rsyntaxtextarea from 3.3.0 to 3.3.4 by @dependabot in #4453
- Bump com.twelvemonkeys.imageio:imageio-tga from 3.8.2 to 3.10.1 by @dependabot in #4455
- Bump io.grpc:grpc-protobuf from 1.58.0 to 1.59.0 by @dependabot in #4456
- Bump com.vladsch.flexmark:flexmark-all from 0.64.0 to 0.64.8 by @dependabot in #4451
- Bump org.apache.commons:commons-compress from 1.23.0 to 1.25.0 by @dependabot in #4463
- Bump org.eclipse.jetty.websocket:websocket-server from 9.4.42.v20210604 to 9.4.53.v20231009 by @dependabot in #4461
- Bump com.twelvemonkeys.imageio:imageio-bmp from 3.8.2 to 3.10.1 by @dependabot in #4452
- Bump com.google.protobuf:protobuf-java-util from 3.20.0 to 3.25.1 by @dependabot in #4459
- Bump commons-net:commons-net from 3.9.0 to 3.10.0 by @dependabot in #4460
- Bump com.google.protobuf from 0.9.3 to 0.9.4 by @dependabot in #4465
- Bump org.apache.logging.log4j:log4j-api from 2.20.0 to 2.22.0 by @dependabot in #4467
- Bump com.google.protobuf:protoc from 3.20.0 to 3.25.1 by @dependabot in #4468
- Bump org.slf4j:slf4j-simple from 2.0.7 to 2.0.9 by @dependabot in #4476
- Bump org.eclipse.jetty.websocket:websocket-client from 9.4.42.v20210604 to 9.4.53.v20231009 by @dependabot in #4475
- Bump com.google.protobuf:protobuf-gradle-plugin from 0.9.3 to 0.9.4 by @dependabot in #4473
- Bump org.apache.xmlgraphics:batik-all from 1.16 to 1.17 by @dependabot in #4474
- Bump com.formdev:flatlaf-extras from 3.1.1 to 3.2.5 by @dependabot in #4479
- Bump com.jcabi:jcabi-xml from 0.23.1 to 0.29.0 by @dependabot in #4480
- Bump com.jetbrains.intellij.java:java-compiler-ant-tasks from 223.7571.182 to 232.10227.11 by @dependabot in #4481
- Bump com.github.luben:zstd-jni from 1.5.5-3 to 1.5.5-10 by @dependabot in #4477
- Bump com.squareup.okhttp3:okhttp from 4.11.0 to 4.12.0 by @dependabot in #4478
- Upgrade PDF libraries by @cwisniew in #4471
- Bump org.eclipse.jetty:jetty-webapp from 9.4.42.v20210604 to 9.4.44.v20210927 by @dependabot in #4486
- Bump org.eclipse.jetty:jetty-server from 9.4.42.v20210604 to 9.4.51.v20230217 by @dependabot in #4485
- Bump commons-cli:commons-cli from 1.5.0 to 1.6.0 by @dependabot in #4491
- Bump org.java-websocket:Java-WebSocket from 1.5.3 to 1.5.4 by @dependabot in #4490
- Bump org.junit.jupiter:junit-jupiter-engine from 5.9.3 to 5.10.1 by @dependabot in #4489
- Bump com.twelvemonkeys.imageio:imageio-jpeg from 3.8.2 to 3.10.1 by @dependabot in #4487
- Bump com.github.gotson:webp-imageio from 0.2.1 to 0.2.2 by @dependabot in #4488
- Bump org.ajoberstar.grgit from 5.2.0 to 5.2.1 by @dependabot in #4492
- Bump com.diffplug.spotless from 6.22.0 to 6.23.0 by @dependabot in #4502
- Bump org.jsoup:jsoup from 1.16.2 to 1.17.1 by @dependabot in #4503
- Bump io.grpc:grpc-protobuf from 1.59.0 to 1.59.1 by @dependabot in #4505
- Bump com.diffplug.spotless from 6.23.0 to 6.23.2 by @dependabot in #4513
- Bump commons-io:commons-io from 2.15.0 to 2.15.1 by @dependabot in #4512
- Bump commons-logging:commons-logging from 1.2 to 1.3.0 by @dependabot in #4511
- Bump com.jetbrains.intellij.java:java-compiler-ant-tasks from 232.10227.11 to 233.11799.262 by @dependabot in #4533
- Bump com.github.luben:zstd-jni from 1.5.5-10 to 1.5.5-11 by @dependabot in #4522
- Bump org.mockito:mockito-core from 5.7.0 to 5.8.0 by @dependabot in #4520
- Bump com.diffplug.spotless from 6.23.2 to 6.23.3 by @dependabot in #4521
- Bump io.grpc:grpc-protobuf from 1.59.1 to 1.60.0 by @dependabot in #4539
- Bump com.jetbrains.intellij.java:java-gui-forms-rt from 241.774 to 241.5183 by @dependabot in #4543
- Bump com.jetbrains.intellij.java:java-compiler-ant-tasks from 233.11799.262 to 233.11799.304 by @dependabot in #4559
- Bump com.miglayout:miglayout-swing from 11.2 to 11.3 by @dependabot in #4556
- Bump com.jetbrains.intellij.java:java-compiler-ant-tasks from 233.11799.304 to 233.13135.104 by @dependabot in #4573
- Bump com.jetbrains.intellij.java:java-gui-forms-rt from 241.5183 to 241.6429 by @dependabot in #4571
- Bump org.java-websocket:Java-WebSocket from 1.5.4 to 1.5.5 by @dependabot in #4567
- Bump org.slf4j:slf4j-simple from 2.0.9 to 2.0.10 by @dependabot in #4604
- Bump org.apache.logging.log4j:log4j-core from 2.22.0 to 2.22.1 by @dependabot in #4603
- Bump io.grpc:grpc-protobuf from 1.60.0 to 1.60.1 by @dependabot in #4602
- Bump org.jsoup:jsoup from 1.17.1 to 1.17.2 by @dependabot in #4610
- Bump org.apache.logging.log4j:log4j-api from 2.22.0 to 2.22.1 by @dependabot in #4609
- Bump com.google.guava:guava from 32.1.3-jre to 33.0.0-jre by @dependabot in #4568
- Bump com.google.protobuf:protobuf-java-util from 3.25.1 to 3.25.2 by @dependabot in #4624
- Bump com.google.protobuf:protoc from 3.25.1 to 3.25.2 by @dependabot in #4625
- Bump org.mockito:mockito-core from 5.8.0 to 5.10.0 by @dependabot in #4661
- Bump io.grpc:grpc-protobuf from 1.60.1 to 1.61.0 by @dependabot in #4633
- Bump com.diffplug.spotless from 6.23.3 to 6.25.0 by @dependabot in #4659
- Bump org.slf4j:slf4j-simple from 2.0.10 to 2.0.11 by @dependabot in #4622
- Bump com.jayway.jsonpath:json-path from 2.8.0 to 2.9.0 by @dependabot in #4663
- Bump com.jetbrains.intellij.java:java-gui-forms-rt from 241.6429 to 241.10769 by @dependabot in #4670
- Bump com.jayway.jsonpath:json-path from 2.8.0 to 2.9.0 by @dependabot in #4666
- Bump com.github.weisj:jsvg from 1.2.0 to 1.3.0-jb.5 by @dependabot in #4669
- Bump com.jetbrains.intellij.java:java-compiler-ant-tasks from 233.13135.104 to 233.14015.113 by @dependabot in #4665
- Update weisj/jsvg to 1.3.0 by @kwvanderlinde in #4672
- Bump org.java-websocket:Java-WebSocket from 1.5.5 to 1.5.6 by @dependabot in #4683
- Bump org.slf4j:slf4j-simple from 2.0.11 to 2.0.12 by @dependabot in #4682
- Bump io.grpc:grpc-protobuf from 1.61.0 to 1.61.1 by @dependabot in #4681
- Bump org.junit.jupiter:junit-jupiter-params from 5.10.1 to 5.10.2 by @dependabot in #4680
- Bump org.junit.jupiter:junit-jupiter-engine from 5.10.1 to 5.10.2 by @dependabot in #4679
- Bump com.jetbrains.intellij.java:java-gui-forms-rt from 241.10769 to 241.12019 by @dependabot in #4684
- Bump org.junit.jupiter:junit-jupiter-api from 5.10.1 to 5.10.2 by @dependabot in #4678
- Bump com.jetbrains.intellij.java:java-compiler-ant-tasks from 233.14015.113 to 233.14475.28 by @dependabot in #4692
- Bump org.eclipse.jetty.websocket:websocket-server from 9.4.53.v20231009 to 9.4.54.v20240208 by @dependabot in #4693
- Bump com.jetbrains.intellij.java:java-compiler-ant-tasks from 233.14475.28 to 233.14475.56 by @dependabot in #4708
- Bump com.github.weisj:jsvg from 1.3.0 to 1.4.0 by @dependabot in #4699
- Bump org.apache.commons:commons-compress from 1.25.0 to 1.26.0 by @dependabot in #4713
- Bump org.apache.commons:commons-configuration2 from 2.9.0 to 2.10.1 by @dependabot in #4739
- Bump com.formdev:flatlaf-extras from 3.3 to 3.4.1 by @dependabot in #4738
- Bump com.fifesoft:rsyntaxtextarea from 3.3.4 to 3.4.0 by @dependabot in #4701
Other Changes 💬
- Replace configSentryRelease task with processResources configuration by @kwvanderlinde in #4401
- New Crowdin updates by @bubblobill in #4667
- New Crowdin updates by @bubblobill in #4687
- New Crowdin updates by @bubblobill in #4688
- UI text - added Cover VBL tooltip by @bubblobill in #4723
- Handle NPE when grid tool is open and map is removed by @kwvanderlinde in #4754
- Update template rendering when the Adjust Grid tool is used by @kwvanderlinde in #4755
- New dark theme with less flatness. by @bubblobill in #4758
- Pass zones to templates so they don't have to look them up by @kwvanderlinde in #4753
- Fix the splash screen to show on its own by @kwvanderlinde in #4783
- Better error hanndling during client & server start, and during handshakes by @kwvanderlinde in #4790
- Remove experimental web app server and client by @kwvanderlinde in #4797
Full Changelog: 1.14.3...1.15.1.rc-1