MapTool 1.18.0
Read Me First
If you have saved anything you want to keep - campaign files, logs, etc. - under the directory where MapTool is installed, please copy these elsewhere before installing a new version otherwise they will be lost. It is also a good idea to always have backups.
Do not install overtop of an old version. Either install it in a new directory or uninstall the old version first. If using the one of the installers, the previous version should be uninstalled automatically (check the Platform Notes for details).
Platform Notes
The JAR file should only be used by advanced users who are comfortable installing Java releases. You need to install a working Java with JavaFX on your system to use it.
The ZIP file for your platform is a self-contained version of MapTool that can be unzipped into any directory of your choosing. No need for an installer or working Java installation. Just heed the warnings above and don't store campaigns or other files in this directory, and don't try to unzip overtop of an existing version.
Windows
For most users, use the .msi or .exe installer. This will seamlessly update MapTool in the standard location, installing the new version while automatically uninstalling the old versions. But note that versions older than 1.17.0 will not be automatically uninstalled, so you should uninstall such a version manually before updating to 1.17.0 or later.
If you want to install multiple versions of MapTool on Windows, download the MapTool-1.xx.x-win.zip file and unzip it to the folder you want it in.
Linux
If using Ubuntu, you will need Ubuntu 24.04 or later, as the dependencies are not available for earlier versions
If you want to install multiple versions of MapTool on Linux, download the MapTool-1.xx.x-linux.zip file and unzip it to the directory you want it in.
macOS:
Use either .pkg 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 #2679.
If you want to install multiple versions of MapTool on MacOS, download the MapTool-1.xx.x-mac.app.zip file and unzip it to the directory you want it in. You can then run the .app file.
What's Changed
New Features 🥳
- Improved mouse support for walls by @kwvanderlinde in #5344
- Token layout tab reorganised by @bubblobill in #5360
- Token class updates to accommodate new layout features by @bubblobill in #5104
- New preference - open macro editor for new macros. by @bubblobill in #5369
- Separate auras from lights by @kwvanderlinde in #5357
- Replace grgit with git-version in build script by @cwisniew in #5390
- Generate walls from UVTT line-of-sight data by @kwvanderlinde in #5406
- Add bounds to numeric preferences by @kwvanderlinde in #5411
- add libgdx based renderer (#328) by @thelsing in #5354
- Improvements and fixes for Shape functions #5154 / PR #5158 by @bubblobill in #5236
- Generic dialog fixes by @bubblobill in #5432
- New markdownToHtml() function optional parameter for user selection of flexmark extensions by @Baaaaaz in #5444
- TokenRenderer/Zone Renderer - consistent token flippage on dragging by @bubblobill in #5443
- Stop walls from coming back from the dead by @kwvanderlinde in #5453
- Add open-ended dice functions and expressions for Rolemaster type systems and generic use. by @Baaaaaz in #5492
- DrawPanelTree information improvements for templates by @Baaaaaz in #5509
- New MTScript get table entries functions by @Baaaaaz in #5515
- Preserve user-specified order of sights, lights, and auras by @kwvanderlinde in #5537
- Step one towards better halos - render the grid shape by @bubblobill in #5563
- Ability to load preferred font settings before starting FlatLaf by @bubblobill in #5507
Performance Improvements 🏎️
- Various fixes for recent renderer changes by @kwvanderlinde in #5510
- Fix for ZoneRenderer.getTokenBounds() by @kwvanderlinde in #5524
Bug Fixes 🩹
- Add strfmt macro function instead of changing strformat by @fishface60 in #5349
- Bring back some old AreaTree concepts when preparing BL and FoW by @kwvanderlinde in #5355
- Update parser library to get its unicode-safe parser by @kwvanderlinde in #5345
- Consolidated getFootprints to aid translation. by @bubblobill in #5366
- Remove obsolete aura keyword from aura examples in help text by @kwvanderlinde in #5379
- Scrolling status bar messages and associated app preferences by @bubblobill in #5383
- Fix jumpy map drags by @kwvanderlinde in #5387
- Allow MT Line Parser and JS Fetch to resolve lib: uri for macros by @cwisniew in #5375
- Fix NPE for status bar message by @bubblobill in #5391
- Fixed scrolling status misbehaviour by @bubblobill in #5410
- Fix typo by @kwvanderlinde in #5416
- Token anchor offset correction on paste by @bubblobill in #5428
- Rework Edit Token dialog to suit smaller screens and promote better organization by @kwvanderlinde in #5431
- setPenColor and setFillColor now set respective paints to null by @Baaaaaz in #5426
- Fix Zoom status disappearing by @bubblobill in #5434
- Fix preferences dialog width depending on confg file path by @kwvanderlinde in #5435
- Fix token ownership list in Edit Token dialog by @kwvanderlinde in #5436
- Fix errors when editing Native Size or Free Size tokens by @kwvanderlinde in #5437
- Load content into WebViews through URLs by @kwvanderlinde in #5442
- Return drawn templates' template type and size by @Baaaaaz in #5450
- Only use new help text for sights, lights, and auras by @kwvanderlinde in #5456
- Relieve i18n from managing menu accelerator keys by @kwvanderlinde in #5464
- Logging fix to capture java.util.logging calls by @bubblobill in #5467
- Fix for API not working when navigating to new page in frame5/dialog5… by @cwisniew in #5461
- Add texture to GdxPaint for solid colours by @kwvanderlinde in #5471
- Various fixes for LibGDX renderer by @kwvanderlinde in #5490
- Text maintenance by @bubblobill in #5491
- Bug fixes for scrolling status bar by @bubblobill in #5482
- Fixes for some non HTML files fetched in webview being mangled by @cwisniew in #5489
- Fix flickering with selection box and other stuff by @kwvanderlinde in #5497
- Fix for PR 5497 by @kwvanderlinde in #5499
- Fix light blending with LibGDX renderer by @kwvanderlinde in #5503
- Improve Area -> Geometry conversion by @kwvanderlinde in #5506
- Another round of renderer fixes by @kwvanderlinde in #5518
- Fix token halo color to not be set by default by @kwvanderlinde in #5519
- Further adjustments to Startup tab of Preferences dialog by @kwvanderlinde in #5521
- Hide LibGDX button behind developer preference by @kwvanderlinde in #5523
- Fix bounds issues with screenshots by @kwvanderlinde in #5529
- Implement environmental lighting for LibGDX renderer by @kwvanderlinde in #5530
- Catch and log all errors during startup by @kwvanderlinde in #5569
- Reduce the statefulness of HaloRenderer by @kwvanderlinde in #5598
- Fix logger initialization by @kwvanderlinde in #5601
- Always populate token properties table in Edit Token dialog by @kwvanderlinde in #5609
- Consistently resolve the FlatLaf.properties file by @kwvanderlinde in #5610
- Fix spurious theme change warning on preferences close by @kwvanderlinde in #5614
- Fix light and aura parsing by @kwvanderlinde in #5637
- Refresh map when assets are loaded by @kwvanderlinde in #5621
- Fix mangled text after JSoup parsing by @kwvanderlinde in #5645
- 1.18 - Avoid potential for cast exceptions for token property table by @kwvanderlinde in #5619
- Fix get macro location by @cwisniew in #5653
- Fix lib token @ this by @cwisniew in #5667
- For linear drawing tools, force the foreground mode to be solid by @kwvanderlinde in #5688
Code Maintenance 🔧
- Plural/Possessive emote fix by @bubblobill in #5368
- Remove files not desired from git by @cwisniew in #5408
- Add issue type to the issue forms by @kwvanderlinde in #5440
- Enable skip_untranslated_strings option for Crowdin by @kwvanderlinde in #5449
- Remove i18n files without country codes by @kwvanderlinde in #5520
- Update upnplib to 1.2.0 by @kwvanderlinde in #5539
- Update json-smart by @kwvanderlinde in #5549
- Remove io.grpc:grpc-protobuf dependency by @kwvanderlinde in #5551
- Upgrade sentry from 1.7.29 to 7.22.5 by @kwvanderlinde in #5561
- Fix up the "Refactoring" issue template by @kwvanderlinde in #5571
- Fix regex ranges by @kwvanderlinde in #5589
- Update protobuf plugin to 0.9.5 by @kwvanderlinde in #5572
- Update cipher algorithms by @kwvanderlinde in #5588
Dependency Updates
- Bump log4j from 2.22.1 to 2.24.3 by @dependabot[bot] in #5241
- Bump protoc from 4.29.1 to 4.29.3 by @dependabot[bot] in #5246
- Bump org.apache.tika:tika-core from 3.0.0 to 3.1.0 by @dependabot[bot] in #5250
- Bump com.fifesoft:rsyntaxtextarea from 3.5.3 to 3.6.0 by @dependabot[bot] in #5306
- Bump commons-io:commons-io from 2.15.1 to 2.19.0 by @dependabot[bot] in #5361
- Bump commons-logging:commons-logging from 1.3.0 to 1.3.5 by @dependabot[bot] in #5223
- Bump commons-beanutils:commons-beanutils from 1.9.0 to 1.11.0 by @dependabot[bot] in #5534
- Replace bcmail-jdk15on with bcmail-jdk18on, and update to 1.81 by @kwvanderlinde in #5536
- Bump org.mockito:mockito-core from 5.15.2 to 5.18.0 by @dependabot[bot] in #5540
- Bump com.google.code.gson:gson from 2.10.1 to 2.13.1 by @dependabot[bot] in #5541
- Bump org.apache.logging.log4j:log4j-jul from 2.22.1 to 2.24.3 by @dependabot[bot] in #5542
- Bump com.github.luben:zstd-jni from 1.5.5-11 to 1.5.7-3 by @dependabot[bot] in #5543
- Bump org.apache.commons:commons-configuration2 from 2.11.0 to 2.12.0 by @dependabot[bot] in #5544
- Bump junit from 5.11.4 to 5.13.0 by @dependabot[bot] in #5554
- Bump gdx from 1.13.1 to 1.13.5 by @dependabot[bot] in #5564
- Bump protoc from 4.29.3 to 4.31.1 by @dependabot[bot] in #5555
- Bump org.java-websocket:Java-WebSocket from 1.5.7 to 1.6.0 by @dependabot[bot] in #5553
- Bump org.slf4j:slf4j-simple from 2.0.16 to 2.0.17 by @dependabot[bot] in #5565
- Bump junit from 5.13.0 to 5.13.1 by @dependabot[bot] in #5575
- Bump com.badlogicgames.gdx-video:gdx-video from 1.3.2-SNAPSHOT to 1.3.3 by @dependabot[bot] in #5578
- Bump org.junit.platform:junit-platform-launcher from 1.11.4 to 1.13.1 by @dependabot[bot] in #5579
- Bump com.palantir.git-version from 3.2.0 to 3.3.0 by @dependabot[bot] in #5574
Other Changes 💬
- Localisation of hard-coded strings by @bubblobill in #5372
- New Crowdin updates by @bubblobill in #5514
- Merge latest 1.17 fixes into develop by @kwvanderlinde in #5531
- Fix Zip Slip vulnerability in file extraction utility by @simei2k in #5422
- Go back to using the NIGHTLY_BUILD_GH_TOKEN secret by @kwvanderlinde in #5595
New Contributors
Full Changelog: 1.17.1...1.18.0