Skip to content

Releases: DFHack/dfhack

DFHack 53.10-r2rc1

24 Feb 19:53

Choose a tag to compare

DFHack 53.10-r2rc1 Pre-release
Pre-release

Q: How do I download DFHack?

A: Either add to your Steam library from our Steam page or scroll to the latest release on our GitHub releases page, expand the "Assets" list, and download the file for your platform (e.g. dfhack-XX.XX-rX-Windows-64bit.zip. If you are on Windows and are manually installing from the zip file, please remember to right click on the file after downloading, open the file properties, and select the "Unblock" checkbox. This will prevent issues with Windows antivirus programs.


This release is compatible with all distributions of Dwarf Fortress: Steam, Itch, and Classic.

Please report any issues (or feature requests) on the DFHack GitHub issue tracker. When reporting issues, please upload a zip file of your savegame and a zip file of your mods directory to the cloud and add links to the GitHub issue. Make sure your files are downloadable by "everyone with the link". We need your savegame to reproduce the problem and test the fix, and we need your active mods so we can load your savegame. Issues with savegames and mods attached get fixed first!

Highlights

QoL features, Bug fixes, Technical updates

QoL features

This update features many QoL features:

  • For those of you with hundreds or even thousands of manager orders, we added a tool to make it a bit easier to find the one you're looking for
  • We added a filter to exclude (or, if you really want, include) dwarves with "uniformed" civilian roles in the squad selection menu filters
  • We added a utility to automatically clear certain categories of announcements (like sparring) from the announcement buffer so that the announcements you actually care about won't be crowded out
  • We added a button to show a unit's death cause to the dead/missing units tab
  • You can now assign names or labels to "quick commands"
  • You can now edit pressure plate settings

Bug fixes

We also fixed a few bugs:

  • The prioritize overlay will no longer inappropriately appear when following a unit
  • The "missing nemesis record" notifier has been adjusted to be a bit more selective in how it reports issues
  • The rename tool is now slightly more conscientious in validating its inputs

Technical updates

There are also some technical features with this update:

  • For scripters/modders, we added a library function to place spatters
  • We added "original-name" attributes to virtually every DF structure whose name didn't match the Bay12 name, which facilitates reverse-engineering as well as communications with Bay12. This process also fixed a handful of typos or other errors, which may require some third-party scripts to be adjusted to reflect. A list of specific changes appears in the changelog, below
  • DFHack now validates vtable pointers before using them. This will prevent DFHack from crashing when some DF data structure contains bad data. Of course, when this happens DF will probably crash sooner or later, but at least it won't be DFHack's fault...

Announcements

Issues with Steam Client Beta, PSAs

Issues with Steam Client Beta

The beta of the Steam client alters the way Steam applications are deployed in a way that impacts DFHack, and we have had reports of DFHack not working as expected for people who are using the Steam beta client. We are aware of this issue, have a plan to mitigate it in development, and hope to have a solution in place before the change Steam is making makes it to the release client.

PSAs

As always, remember that, just like the vanilla DF game, DFHack tools can also have bugs. It is a good idea to save often and keep backups of the forts that you care about.

Some DFHack tools that worked in previous (pre-Steam) versions of DF have not been updated yet and are marked with the "unavailable" tag in their docs. If you try to run them, they will show a warning and exit immediately. You can run the command again to override the warning (though of course the tools may not work). We make no guarantees of reliability for the tools that are marked as "unavailable".

The in-game interface for running DFHack commands (gui/launcher) will not show "unavailable" tools by default. You can still run them if you know their names, or you can turn on dev mode by hitting Ctrl-D while in gui/launcher and they will be added to the autocomplete list. Some tools listed as "unavailable" in the docs do not compile yet and are not accessible at all, even when in dev mode.

If you see a tool complaining about the lack of a cursor, know that it's referring to the keyboard cursor (which used to be the only real option in Dwarf Fortress). You can enable the keyboard cursor by entering mining mode or selecting the dump/forbid tool and hitting Alt-K (the DFHack keybinding for toggle-kbd-cursor). We're working on making DFHack tools more mouse-aware and accessible so this step isn't necessary in the future.

Changelog

New tools, fixes, and improvements

New Tools

  • gui/logcleaner: graphical overlay for configuring the logcleaner plugin with enable and filter toggles.
  • logcleaner: New plugin for time-triggered clearing of combat, sparring, and hunting reports with configurable filtering and overlay UI.

New Features

  • orders: added search overlay to find and navigate to matching manager orders with arrow indicators
  • sort:
    • added Uniformed filter to squad assignment screen to filter dwarves with mining, woodcutting, or hunting labors
    • Add death cause button to dead/missing tab in the creatures screen
  • trackstop: can now modify pressure plates; permits minecart and creature triggers to be set beyond normal sensitivity

Fixes

  • gui/rename: added check for entity_id input in get_target function

Misc Improvements

  • Core: DFHack now validates vtable pointers in objects read from memory and will throw an exception instead of crashing when an invalid vtable pointer is encountered. This makes it easier to identify which DF data structure contains corrupted data when this manifests in the form of a bad vtable pointer, and shifts blame for such crashes from DFHack to DF.
  • gui/notify: reduced severity of the missing nemesis records warning if no units on the map are affected. clarified wording.

API

  • Added Items::pickGrowthPrint: given a plant material and a growth index, returns the print variant corresponding to the current in-game time.
  • Added Items::useStandardMaterial: given an item type, returns true if the item is made of a specific material and false if it has a race and caste instead.
  • Added Maps::addItemSpatter: add a spatter of the specified item + material + growth print to the indicated tile, returning whatever amount wouldn't fit in the tile.
  • Added Maps::addMaterialSpatter: add a spatter of the specified material + state to the indicated tile, returning whatever amount wouldn't fit in the tile.

Lua

  • Added Maps::addItemSpatter as dfhack.maps.addItemSpatter.
  • Added Maps::addMaterialSpatter as dfhack.maps.addMaterialSpatter.

Structures

  • added original-name attributes to all relevant objects
  • fixed numerous structure errors
  • specific changes:
    • added NONE entries to many enum types (may affect C++ code using switch() statements): abstract_building_reputation_type, adopt_region_stage_type, artifact_claim_type, block_square_event_type, building_profile_acquisition_method, civzone_type, dance_form_context, dance_form_group_size, dance_form_move_type, divination_outcome_type, dungeon_type, dungeon_wrestle_type, embark_finder_option, environment_type, era_type, flow_type, genetic_modifier_type, hf_artifact_action_type, history_event_collection_type, incident_artifact_location_type, incident_type, incident_written_content_location_type, insurrection_outcome, interaction_flags, interaction_source_type, intrigue_corruption_method_type, inventory_profile_skill_type, inv_item_role_type, journey_type, language_name_category, language_name_component, language_word_table_index, load_game_stage_type, main_choice_type, misc_trait_type, musical_form_melody_frequency, musical_form_melody_style, musical_form_purpose, occasion_schedule_feature, occasion_schedule_type, occupation_type, personality_preference_type, plant_material_def, poetic_form_persona_type, poetic_form_persona_type, prepare_rod_stage_type, projectile_type, region_weather_type, report_zoom_type, resource_allotment_specifier_type, save_substage, scale_construction_type, scale_naming_type, scale_type, secretion_condition, simple_action_type, site_dispute_type, squad_order_cannot_reason, squad_order_type, tactical_situation, talk_choice_type, theft_method_type, timbre_type, travel_log_itinerary_type, workquota_frequency_type, world_construction_type, wrestle_attack_type
    • assigned explicit "UNUSED" names to anonymous enum/bitfield members which are unused
    • expanded builtin_mats to include 640 new elements for CREATURE_1-200, HIST_FIG_1-200, PLANT_1-200, and UNUSED01-40
    • as...
Read more

DFHack 53.10-r1

12 Jan 16:13

Choose a tag to compare

Q: How do I download DFHack?

A: Either add to your Steam library from our Steam page or scroll to the latest release on our GitHub releases page, expand the "Assets" list, and download the file for your platform (e.g. dfhack-XX.XX-rX-Windows-64bit.zip. If you are on Windows and are manually installing from the zip file, please remember to right click on the file after downloading, open the file properties, and select the "Unblock" checkbox. This will prevent issues with Windows antivirus programs.


This release is compatible with all distributions of Dwarf Fortress: Steam, Itch, and Classic.

Please report any issues (or feature requests) on the DFHack GitHub issue tracker. When reporting issues, please upload a zip file of your savegame and a zip file of your mods directory to the cloud and add links to the GitHub issue. Make sure your files are downloadable by "everyone with the link". We need your savegame to reproduce the problem and test the fix, and we need your active mods so we can load your savegame. Issues with savegames and mods attached get fixed first!

Highlights

Compatibility with DF 53.10, bug fixes, nemesis record validation checker

Compatibility with DF 53.10

This release provides compatibility with Dwarf Fortress 53.10.

Bug fixes

This release fixes a bug in suspendmanager that caused its overlay to appear at inappropriate times, and also fixed a bug in autochop that prevented it from reporting its own status.

Nemesis record validation checker

The DFHack team has noticed in recent months that many players have saves that have damaged nemesis records. Saves with damaged nemesis records often experience a wide range of misbehaviors. This release has a new feature that will periodically check that every unit in the fort that should have a nemesis record has one, and verify that it's the correct one. If a unit that should have a nemesis record does not have the correct nemesis record, a diagnostic warning will be displayed. If you get this message, we suggest that you contact Bay12 and offer to provide your save to them for debugging purposes.
image
image

Announcements

PSAs

PSAs

As always, remember that, just like the vanilla DF game, DFHack tools can also have bugs. It is a good idea to save often and keep backups of the forts that you care about.

Some DFHack tools that worked in previous (pre-Steam) versions of DF have not been updated yet and are marked with the "unavailable" tag in their docs. If you try to run them, they will show a warning and exit immediately. You can run the command again to override the warning (though of course the tools may not work). We make no guarantees of reliability for the tools that are marked as "unavailable".

The in-game interface for running DFHack commands (gui/launcher) will not show "unavailable" tools by default. You can still run them if you know their names, or you can turn on dev mode by hitting Ctrl-D while in gui/launcher and they will be added to the autocomplete list. Some tools listed as "unavailable" in the docs do not compile yet and are not accessible at all, even when in dev mode.

If you see a tool complaining about the lack of a cursor, know that it's referring to the keyboard cursor (which used to be the only real option in Dwarf Fortress). You can enable the keyboard cursor by entering mining mode or selecting the dump/forbid tool and hitting Alt-K (the DFHack keybinding for toggle-kbd-cursor). We're working on making DFHack tools more mouse-aware and accessible so this step isn't necessary in the future.

Changelog

New tools, fixes, and improvements

New Features

  • gui/notify: new notification type: missing nemesis records; displays a warning message about game corruption.

Fixes

  • autochop: the report will no longer throw a C++ exception when burrows are defined.
  • suspendmanager: Fix the overlay appearing where it should not when following a unit

API

  • Added Burrows::getName: obtains the name of a burrow, or the same placeholder name that DF would show if the burrow is unnamed.

Lua

  • Added Burrows::getName as dfhack.burrows.getName.

DFHack 53.09-r1

08 Jan 21:18
587a85c

Choose a tag to compare

Q: How do I download DFHack?

A: Either add to your Steam library from our Steam page or scroll to the latest release on our GitHub releases page, expand the "Assets" list, and download the file for your platform (e.g. dfhack-XX.XX-rX-Windows-64bit.zip. If you are on Windows and are manually installing from the zip file, please remember to right click on the file after downloading, open the file properties, and select the "Unblock" checkbox. This will prevent issues with Windows antivirus programs.


This release is compatible with all distributions of Dwarf Fortress: Steam, Itch, and Classic.

Please report any issues (or feature requests) on the DFHack GitHub issue tracker. When reporting issues, please upload a zip file of your savegame and a zip file of your mods directory to the cloud and add links to the GitHub issue. Make sure your files are downloadable by "everyone with the link". We need your savegame to reproduce the problem and test the fix, and we need your active mods so we can load your savegame. Issues with savegames and mods attached get fixed first!

Highlights

Compatibility, bug fixes, a small tweak

Compatibility

This release is mainly a compatibility release for Dwarf Fortress 53.09.

Bug fixes

A bug that caused some file names to be transcoded incorrectly, causing (among other things) the blueprint tool to stop working in some situations, has been fixed.

A small tweak

An old tweak, drawbridge-tiles altering the rendering of drawbridges in text mode so that the direction in which a raised drawbridge has been raised has been reinstated with this release.

Announcements

PSAs

PSAs

As always, remember that, just like the vanilla DF game, DFHack tools can also have bugs. It is a good idea to save often and keep backups of the forts that you care about.

Some DFHack tools that worked in previous (pre-Steam) versions of DF have not been updated yet and are marked with the "unavailable" tag in their docs. If you try to run them, they will show a warning and exit immediately. You can run the command again to override the warning (though of course the tools may not work). We make no guarantees of reliability for the tools that are marked as "unavailable".

The in-game interface for running DFHack commands (gui/launcher) will not show "unavailable" tools by default. You can still run them if you know their names, or you can turn on dev mode by hitting Ctrl-D while in gui/launcher and they will be added to the autocomplete list. Some tools listed as "unavailable" in the docs do not compile yet and are not accessible at all, even when in dev mode.

If you see a tool complaining about the lack of a cursor, know that it's referring to the keyboard cursor (which used to be the only real option in Dwarf Fortress). You can enable the keyboard cursor by entering mining mode or selecting the dump/forbid tool and hitting Alt-K (the DFHack keybinding for toggle-kbd-cursor). We're working on making DFHack tools more mouse-aware and accessible so this step isn't necessary in the future.

Changelog

New tools, fixes, and improvements

New Features

  • tweak: drawbridge-tiles: Make it so raised bridges render with different tiles in ASCII mode to make it more obvious that they ARE raised (and to indicate their direction)

Fixes

  • Filesystem::as_string now always uses UTF-8 encoding rather than using the system locale encoding

DFHack 53.08-r1

19 Dec 17:58

Choose a tag to compare

Q: How do I download DFHack?

A: Either add to your Steam library from our Steam page or scroll to the latest release on our GitHub releases page, expand the "Assets" list, and download the file for your platform (e.g. dfhack-XX.XX-rX-Windows-64bit.zip. If you are on Windows and are manually installing from the zip file, please remember to right click on the file after downloading, open the file properties, and select the "Unblock" checkbox. This will prevent issues with Windows antivirus programs.


This release is compatible with all distributions of Dwarf Fortress: Steam, Itch, and Classic.

Please report any issues (or feature requests) on the DFHack GitHub issue tracker. When reporting issues, please upload a zip file of your savegame and a zip file of your mods directory to the cloud and add links to the GitHub issue. Make sure your files are downloadable by "everyone with the link". We need your savegame to reproduce the problem and test the fix, and we need your active mods so we can load your savegame. Issues with savegames and mods attached get fixed first!

Highlights

Compatibility

Compatibility

This is solely a compatibility release for DF 53.08.

Announcements

PSAs

PSAs

As always, remember that, just like the vanilla DF game, DFHack tools can also have bugs. It is a good idea to save often and keep backups of the forts that you care about.

Some DFHack tools that worked in previous (pre-Steam) versions of DF have not been updated yet and are marked with the "unavailable" tag in their docs. If you try to run them, they will show a warning and exit immediately. You can run the command again to override the warning (though of course the tools may not work). We make no guarantees of reliability for the tools that are marked as "unavailable".

The in-game interface for running DFHack commands (gui/launcher) will not show "unavailable" tools by default. You can still run them if you know their names, or you can turn on dev mode by hitting Ctrl-D while in gui/launcher and they will be added to the autocomplete list. Some tools listed as "unavailable" in the docs do not compile yet and are not accessible at all, even when in dev mode.

If you see a tool complaining about the lack of a cursor, know that it's referring to the keyboard cursor (which used to be the only real option in Dwarf Fortress). You can enable the keyboard cursor by entering mining mode or selecting the dump/forbid tool and hitting Alt-K (the DFHack keybinding for toggle-kbd-cursor). We're working on making DFHack tools more mouse-aware and accessible so this step isn't necessary in the future.

Changelog

New tools, fixes, and improvements

New Features

  • compatibility with DF 53.08

DFHack 53.07-r1

18 Dec 20:13

Choose a tag to compare

Q: How do I download DFHack?

A: Either add to your Steam library from our Steam page or scroll to the latest release on our GitHub releases page, expand the "Assets" list, and download the file for your platform (e.g. dfhack-XX.XX-rX-Windows-64bit.zip. If you are on Windows and are manually installing from the zip file, please remember to right click on the file after downloading, open the file properties, and select the "Unblock" checkbox. This will prevent issues with Windows antivirus programs.


This release is compatible with all distributions of Dwarf Fortress: Steam, Itch, and Classic.

Please report any issues (or feature requests) on the DFHack GitHub issue tracker. When reporting issues, please upload a zip file of your savegame and a zip file of your mods directory to the cloud and add links to the GitHub issue. Make sure your files are downloadable by "everyone with the link". We need your savegame to reproduce the problem and test the fix, and we need your active mods so we can load your savegame. Issues with savegames and mods attached get fixed first!

Highlights

Expanded keybindings, edge scrolling, the return of infinite-sky, bug fixes and other improvements

Expanded keybindings

We've expanded the ability to bind hotkeys in DFHack so that you can now bind nearly any key combination you can think of. You are no longer limited by the keys DF recognizes; any key combo that SDL understands can be bound now. We also added both a GUI and a Lua API for managing these bindings.

523420193-aed8b11c-ea47-4a1f-b14d-75415b92dd04.mp4

Edge scrolling

A much-requested accessibility feature, the edgescroll plugin optionally enables automatically panning DF's viewport when the mouse is near the screen border.

Return of infinite-sky

The infinite-sky plugin, which we had to disable in the last release, is back with this release, fully compatible with the changes made in the siege update.

Bug fixes and other improvements

Various other tools had bugs fixed or improvements added: empty-bin will no longer dump powders out of bags (unless forced), DF's enhanced sort and filter support no longer causes DF to crash on exit (did you notice? we did), and the search widget for places has been moved out of the way of DF's new "siege engines" subtab and now also supports searching and filtering siege engines. The fpause command can now be used to force worldgen to pause, combine does a better job of identifying the current stockpile, and createitem now supports placing newly created items in or on more types of furniture than before.

Announcements

PSAs

PSAs

As always, remember that, just like the vanilla DF game, DFHack tools can also have bugs. It is a good idea to save often and keep backups of the forts that you care about.

Some DFHack tools that worked in previous (pre-Steam) versions of DF have not been updated yet and are marked with the "unavailable" tag in their docs. If you try to run them, they will show a warning and exit immediately. You can run the command again to override the warning (though of course the tools may not work). We make no guarantees of reliability for the tools that are marked as "unavailable".

The in-game interface for running DFHack commands (gui/launcher) will not show "unavailable" tools by default. You can still run them if you know their names, or you can turn on dev mode by hitting Ctrl-D while in gui/launcher and they will be added to the autocomplete list. Some tools listed as "unavailable" in the docs do not compile yet and are not accessible at all, even when in dev mode.

If you see a tool complaining about the lack of a cursor, know that it's referring to the keyboard cursor (which used to be the only real option in Dwarf Fortress). You can enable the keyboard cursor by entering mining mode or selecting the dump/forbid tool and hitting Alt-K (the DFHack keybinding for toggle-kbd-cursor). We're working on making DFHack tools more mouse-aware and accessible so this step isn't necessary in the future.

Changelog

New tools, fixes, and improvements

New Tools

  • fix/codex-pages: add pages to written content that have unspecified page counts.
  • gui/keybinds: gui for managing and saving custom keybindings
  • infinite-sky: Re-enabled with compatibility with new siege map data.
  • edgescroll: Introduced plugin to pan the view automatically when the mouse reaches the screen border.

New Features

  • sort: Places search widget can search "Siege engines" subtab by name, loaded status, and operator status

Fixes

  • empty-bin: renamed --liquids parameter to --force and made emptying of containers (bags) with powders contingent on that parameter. Previously powders would just always get disposed.
  • sort:
    • Using the squad unit selector will no longer cause Dwarf Fortress to crash on exit
    • Places search widget moved to account for DF's new "Siege engines" subtab

Misc Improvements

  • The fpause console command can now be used to force world generation to pause (as it did prior to version 50).
  • combine: try harder to find the currently-selected stockpile
  • createitem: created items can now be placed onto/into tables, nests, bookcases, display cases, and altars
  • keybinding: keybinds may now include the super key, and are no longer limited to particular keys ranges of keys, allowing any recognized by SDL.

API

  • Hotkey: New module for hotkey functionality

Lua

  • The Lua interactive interpreter banner now documents keywords such as unit and item which reference the currently-selected object in the DF UI.
  • dfhack.hotkey.addKeybind: Creates new keybindings
  • dfhack.hotkey.getKeybindingInput: Reads the input saved in response to a request.
  • dfhack.hotkey.listActiveKeybinds: Lists all keybinds for the current context
  • dfhack.hotkey.listAllKeybinds: Lists all keybinds for all contexts
  • dfhack.hotkey.removeKeybind: Removes existing keybindings
  • dfhack.hotkey.requestKeybindingInput: Requests the next keybind-compatible input is saved

Structures

  • updated codegen to generate enum trait constants as constexpr

DFHack 53.06-r2rc1

15 Dec 15:14

Choose a tag to compare

DFHack 53.06-r2rc1 Pre-release
Pre-release

Q: How do I download DFHack?

A: Either add to your Steam library from our Steam page or scroll to the latest release on our GitHub releases page, expand the "Assets" list, and download the file for your platform (e.g. dfhack-XX.XX-rX-Windows-64bit.zip. If you are on Windows and are manually installing from the zip file, please remember to right click on the file after downloading, open the file properties, and select the "Unblock" checkbox. This will prevent issues with Windows antivirus programs.


This release is compatible with all distributions of Dwarf Fortress: Steam, Itch, and Classic.

Please report any issues (or feature requests) on the DFHack GitHub issue tracker. When reporting issues, please upload a zip file of your savegame and a zip file of your mods directory to the cloud and add links to the GitHub issue. Make sure your files are downloadable by "everyone with the link". We need your savegame to reproduce the problem and test the fix, and we need your active mods so we can load your savegame. Issues with savegames and mods attached get fixed first!

Highlights

Expanded keybindings, edge scrolling, the return of infinite-sky, bug fixes and other improvements

Expanded keybindings

We've expanded the ability to bind hotkeys in DFHack so that you can now bind nearly any key combination you can think of. You are no longer limited by the keys DF recognizes; any key combo that SDL understands can be bound now. We also added both a GUI and a Lua API for managing these bindings.

523420193-aed8b11c-ea47-4a1f-b14d-75415b92dd04.mp4

Edge scrolling

A much-requested accessibility feature, the edgescroll plugin optionally enables automatically panning DF's viewport when the mouse is near the screen border.

Return of infinite-sky

The infinite-sky plugin, which we had to disable in the last release, is back with this release, fully compatible with the changes made in the siege update.

Bug fixes and other improvements

Various other tools had bugs fixed or improvements added: empty-bin will no longer dump powders out of bags (unless forced), DF's enhanced sort and filter support no longer causes DF to crash on exit (did you notice? we did), and the search widget for places has been moved out of the way of DF's new "siege engines" subtab and now also supports searching and filtering siege engines. The fpause command can now be used to force worldgen to pause, combine does a better job of identifying the current stockpile, and createitem now supports placing newly created items in or on more types of furniture than before.

Announcements

PSAs

PSAs

As always, remember that, just like the vanilla DF game, DFHack tools can also have bugs. It is a good idea to save often and keep backups of the forts that you care about.

Some DFHack tools that worked in previous (pre-Steam) versions of DF have not been updated yet and are marked with the "unavailable" tag in their docs. If you try to run them, they will show a warning and exit immediately. You can run the command again to override the warning (though of course the tools may not work). We make no guarantees of reliability for the tools that are marked as "unavailable".

The in-game interface for running DFHack commands (gui/launcher) will not show "unavailable" tools by default. You can still run them if you know their names, or you can turn on dev mode by hitting Ctrl-D while in gui/launcher and they will be added to the autocomplete list. Some tools listed as "unavailable" in the docs do not compile yet and are not accessible at all, even when in dev mode.

If you see a tool complaining about the lack of a cursor, know that it's referring to the keyboard cursor (which used to be the only real option in Dwarf Fortress). You can enable the keyboard cursor by entering mining mode or selecting the dump/forbid tool and hitting Alt-K (the DFHack keybinding for toggle-kbd-cursor). We're working on making DFHack tools more mouse-aware and accessible so this step isn't necessary in the future.

Changelog

New tools, fixes, and improvements

New Tools

  • gui/keybinds: gui for managing and saving custom keybindings
  • infinite-sky: Re-enabled with compatibility with new siege map data.
  • edgescroll: Introduced plugin to pan the view automatically when the mouse reaches the screen border.

New Features

  • sort: Places search widget can search "Siege engines" subtab by name, loaded status, and operator status

Fixes

  • empty-bin: renamed --liquids parameter to --force and made emptying of containers (bags) with powders contingent on that parameter. Previously powders would just always get disposed.
  • sort:
    • Using the squad unit selector will no longer cause Dwarf Fortress to crash on exit
    • Places search widget moved to account for DF's new "Siege engines" subtab

Misc Improvements

  • The fpause console command can now be used to force world generation to pause (as it did prior to version 50).
  • combine: try harder to find the currently-selected stockpile
  • createitem: created items can now be placed onto/into tables, nests, bookcases, display cases, and altars
  • keybinding: keybinds may now include the super key, and are no longer limited to particular keys ranges of keys, allowing any recognized by SDL.

API

  • Hotkey: New module for hotkey functionality

Lua

  • The Lua interactive interpreter banner now documents keywords such as unit and item which reference the currently-selected object in the DF UI.
  • dfhack.hotkey.addKeybind: Creates new keybindings
  • dfhack.hotkey.getKeybindingInput: Reads the input saved in response to a request.
  • dfhack.hotkey.listActiveKeybinds: Lists all keybinds for the current context
  • dfhack.hotkey.listAllKeybinds: Lists all keybinds for all contexts
  • dfhack.hotkey.removeKeybind: Removes existing keybindings
  • dfhack.hotkey.requestKeybindingInput: Requests the next keybind-compatible input is saved

Structures

  • updated codegen to generate enum trait constants as constexpr

DFHack 53.06-r1

24 Nov 19:40

Choose a tag to compare

Q: How do I download DFHack?

A: Either add to your Steam library from our Steam page or scroll to the latest release on our GitHub releases page, expand the "Assets" list, and download the file for your platform (e.g. dfhack-XX.XX-rX-Windows-64bit.zip. If you are on Windows and are manually installing from the zip file, please remember to right click on the file after downloading, open the file properties, and select the "Unblock" checkbox. This will prevent issues with Windows antivirus programs.


This release is compatible with all distributions of Dwarf Fortress: Steam, Itch, and Classic.

Please report any issues (or feature requests) on the DFHack GitHub issue tracker. When reporting issues, please upload a zip file of your savegame and a zip file of your mods directory to the cloud and add links to the GitHub issue. Make sure your files are downloadable by "everyone with the link". We need your savegame to reproduce the problem and test the fix, and we need your active mods so we can load your savegame. Issues with savegames and mods attached get fixed first!

Highlights

Compatibility, bug fixes

Compatibility

This release features compatibility with Dwarf Fortress 53.06.

Bug fixes

Using the enhanced sort features in the squad selector screen will no longer cause Dwarf Fortress to crash on exit, gui/gm-unit will now behave correctly when used to set a unit's traits to average or to randomize them, and gui/design no longer has the same key bound to two different functions. Also, infiniteSky has been temporarily removed until we can update it to account for changes made in the siege update.

Announcements

PSAs

PSAs

As always, remember that, just like the vanilla DF game, DFHack tools can also have bugs. It is a good idea to save often and keep backups of the forts that you care about.

Some DFHack tools that worked in previous (pre-Steam) versions of DF have not been updated yet and are marked with the "unavailable" tag in their docs. If you try to run them, they will show a warning and exit immediately. You can run the command again to override the warning (though of course the tools may not work). We make no guarantees of reliability for the tools that are marked as "unavailable".

The in-game interface for running DFHack commands (gui/launcher) will not show "unavailable" tools by default. You can still run them if you know their names, or you can turn on dev mode by hitting Ctrl-D while in gui/launcher and they will be added to the autocomplete list. Some tools listed as "unavailable" in the docs do not compile yet and are not accessible at all, even when in dev mode.

If you see a tool complaining about the lack of a cursor, know that it's referring to the keyboard cursor (which used to be the only real option in Dwarf Fortress). You can enable the keyboard cursor by entering mining mode or selecting the dump/forbid tool and hitting Alt-K (the DFHack keybinding for toggle-kbd-cursor). We're working on making DFHack tools more mouse-aware and accessible so this step isn't necessary in the future.

Changelog

New tools, fixes, and improvements

Fixes

  • gui/design:
    • designating a single-level stair construction now properly follows the selected stair type.
    • adjusted conflicting keybinds, diagonal line reverse becoming R and bottom stair type becoming g.
  • modtools/set-personality: use correct caste trait ranges; fixes gui/gm-unit being unable to correctly randomize traits or set traits to caste average
  • sort: Using the squad unit selector will no longer cause Dwarf Fortress to crash on exit

Removed

  • infiniteSky: Temporarily disabled due to incompatibility with changes made as part of DF's siege update

Structures

  • added missing field in history_event_artifact_createdst
  • fixed incorrect base class on widget_anchored_tile

DFHack 53.05-r1

18 Nov 14:28

Choose a tag to compare

Q: How do I download DFHack?

A: Either add to your Steam library from our Steam page or scroll to the latest release on our GitHub releases page, expand the "Assets" list, and download the file for your platform (e.g. dfhack-XX.XX-rX-Windows-64bit.zip. If you are on Windows and are manually installing from the zip file, please remember to right click on the file after downloading, open the file properties, and select the "Unblock" checkbox. This will prevent issues with Windows antivirus programs.


This release is compatible with all distributions of Dwarf Fortress: Steam, Itch, and Classic. Itch support is not available for this release due to Cloudflare outage.

Please report any issues (or feature requests) on the DFHack GitHub issue tracker. When reporting issues, please upload a zip file of your savegame and a zip file of your mods directory to the cloud and add links to the GitHub issue. Make sure your files are downloadable by "everyone with the link". We need your savegame to reproduce the problem and test the fix, and we need your active mods so we can load your savegame. Issues with savegames and mods attached get fixed first!

Highlights

DF Compatibility

DF Compatibility

This release provides compatibility with Dwarf Fortress 53.05.

Announcements

PSAs

PSAs

As always, remember that, just like the vanilla DF game, DFHack tools can also have bugs. It is a good idea to save often and keep backups of the forts that you care about.

Some DFHack tools that worked in previous (pre-Steam) versions of DF have not been updated yet and are marked with the "unavailable" tag in their docs. If you try to run them, they will show a warning and exit immediately. You can run the command again to override the warning (though of course the tools may not work). We make no guarantees of reliability for the tools that are marked as "unavailable".

The in-game interface for running DFHack commands (gui/launcher) will not show "unavailable" tools by default. You can still run them if you know their names, or you can turn on dev mode by hitting Ctrl-D while in gui/launcher and they will be added to the autocomplete list. Some tools listed as "unavailable" in the docs do not compile yet and are not accessible at all, even when in dev mode.

If you see a tool complaining about the lack of a cursor, know that it's referring to the keyboard cursor (which used to be the only real option in Dwarf Fortress). You can enable the keyboard cursor by entering mining mode or selecting the dump/forbid tool and hitting Alt-K (the DFHack keybinding for toggle-kbd-cursor). We're working on making DFHack tools more mouse-aware and accessible so this step isn't necessary in the future.

Changelog

New tools, fixes, and improvements

New Features

  • compatibility with 53.05

DFHack 53.04-r1.1

18 Nov 01:00

Choose a tag to compare

Q: How do I download DFHack?

A: Either add to your Steam library from our Steam page or scroll to the latest release on our GitHub releases page, expand the "Assets" list, and download the file for your platform (e.g. dfhack-XX.XX-rX-Windows-64bit.zip. If you are on Windows and are manually installing from the zip file, please remember to right click on the file after downloading, open the file properties, and select the "Unblock" checkbox. This will prevent issues with Windows antivirus programs.


This release is compatible with all distributions of Dwarf Fortress: Steam, Itch, and Classic. This release does not support 53.04 Linux via Itch, as that distribution had not been published at the time we went to release. Support for 53.04 via Linux Itch will be added at a later date.

Please report any issues (or feature requests) on the DFHack GitHub issue tracker. When reporting issues, please upload a zip file of your savegame and a zip file of your mods directory to the cloud and add links to the GitHub issue. Make sure your files are downloadable by "everyone with the link". We need your savegame to reproduce the problem and test the fix, and we need your active mods so we can load your savegame. Issues with savegames and mods attached get fixed first!

Highlights

Hotfix

Hotfix

This point release is a hotfix for a structure alignment issue in 53.04-r1.

Announcements

PSAs

PSAs

As always, remember that, just like the vanilla DF game, DFHack tools can also have bugs. It is a good idea to save often and keep backups of the forts that you care about.

Some DFHack tools that worked in previous (pre-Steam) versions of DF have not been updated yet and are marked with the "unavailable" tag in their docs. If you try to run them, they will show a warning and exit immediately. You can run the command again to override the warning (though of course the tools may not work). We make no guarantees of reliability for the tools that are marked as "unavailable".

The in-game interface for running DFHack commands (gui/launcher) will not show "unavailable" tools by default. You can still run them if you know their names, or you can turn on dev mode by hitting Ctrl-D while in gui/launcher and they will be added to the autocomplete list. Some tools listed as "unavailable" in the docs do not compile yet and are not accessible at all, even when in dev mode.

If you see a tool complaining about the lack of a cursor, know that it's referring to the keyboard cursor (which used to be the only real option in Dwarf Fortress). You can enable the keyboard cursor by entering mining mode or selecting the dump/forbid tool and hitting Alt-K (the DFHack keybinding for toggle-kbd-cursor). We're working on making DFHack tools more mouse-aware and accessible so this step isn't necessary in the future.

Changelog

New tools, fixes, and improvements

Fixes

  • fixed misalignment in widgets::unit_list

DFHack 53.04-r1

18 Nov 02:13

Choose a tag to compare

Q: How do I download DFHack?

A: Either add to your Steam library from our Steam page or scroll to the latest release on our GitHub releases page, expand the "Assets" list, and download the file for your platform (e.g. dfhack-XX.XX-rX-Windows-64bit.zip. If you are on Windows and are manually installing from the zip file, please remember to right click on the file after downloading, open the file properties, and select the "Unblock" checkbox. This will prevent issues with Windows antivirus programs.


This release is compatible with all distributions of Dwarf Fortress: Steam, Itch, and Classic. This release does not support 53.04 Linux via Itch, as that distribution had not been published at the time we went to release. Support for 53.04 via Linux Itch will be added at a later date.

Please report any issues (or feature requests) on the DFHack GitHub issue tracker. When reporting issues, please upload a zip file of your savegame and a zip file of your mods directory to the cloud and add links to the GitHub issue. Make sure your files are downloadable by "everyone with the link". We need your savegame to reproduce the problem and test the fix, and we need your active mods so we can load your savegame. Issues with savegames and mods attached get fixed first!

Highlights

Compatibility with DF 53.04, Better support for Siege Update

Compatibility with DF 53.04

This release is primarily for compatibility with Dwarf Fortress 53.04.

Better support for Siege Update

Several tools have been enhanced or updated to work better with the siege update. Autolabor, blueprint, buildingplan, gui/design, RemoteFortressReader, Stonesense, and quickfort all have received updates for the new content, and we also added a siege manager (which went in before we knew Tarn was adding one to 53.04 so now you have choices).

Announcements

PSAs

PSAs

As always, remember that, just like the vanilla DF game, DFHack tools can also have bugs. It is a good idea to save often and keep backups of the forts that you care about.

Some DFHack tools that worked in previous (pre-Steam) versions of DF have not been updated yet and are marked with the "unavailable" tag in their docs. If you try to run them, they will show a warning and exit immediately. You can run the command again to override the warning (though of course the tools may not work). We make no guarantees of reliability for the tools that are marked as "unavailable".

The in-game interface for running DFHack commands (gui/launcher) will not show "unavailable" tools by default. You can still run them if you know their names, or you can turn on dev mode by hitting Ctrl-D while in gui/launcher and they will be added to the autocomplete list. Some tools listed as "unavailable" in the docs do not compile yet and are not accessible at all, even when in dev mode.

If you see a tool complaining about the lack of a cursor, know that it's referring to the keyboard cursor (which used to be the only real option in Dwarf Fortress). You can enable the keyboard cursor by entering mining mode or selecting the dump/forbid tool and hitting Alt-K (the DFHack keybinding for toggle-kbd-cursor). We're working on making DFHack tools more mouse-aware and accessible so this step isn't necessary in the future.

Changelog

New tools, fixes, and improvements

New Tools

  • gui/siegemanager: manage your siege engines at a glance.

New Features

  • item: new --total-quality option for use in conjunction with --min-quality or --max-quality to filter items according to their total quality

Fixes

  • buildingplan: Bolt throwers will no longer be constructed using populated bins.
  • RemoteFortressReader: updated siege engine facing enums for new diagonal directions
  • suspendmanager: treat reinforced walls as a blocking construction and buildable platform

Misc Improvements

  • autolabor: support for new dyeing and siege-related labors
  • blueprint: support for reinforced walls and bolt throwers
  • gui/design: can now construct reinforced walls
  • quickfort: support for reinforced walls and bolt throwers
  • stonesense: queued constructions of reinforced walls are now visible

Structures

  • several arrays indexed by enums have been recoded to use the enum's size to size the array so that these will automatically update when the enum is updated, reflecting Bay12 practice