dfhack/NEWS.rst

502 lines
19 KiB
ReStructuredText

.. comment
This is the changelog file for DFHack. If you add or change anything, note
it here under the heading "DFHack Future", in the appropriate section.
Items within each section are listed in alphabetical order to minimise merge
conflicts. Try to match the style and level of detail of the other entries.
Sections for each release are added as required, and consist solely of the
following in order as subheadings::
Internals
Lua
New [Internal Commands | Plugins | Scripts | Features]
Fixes
Misc Improvements
Removed
When referring to a script, plugin, or command, use backticks (```) to
create a link to the relevant documentation - and check that the docs are
still up to date!
2015-11-07 18:28:16 -07:00
When adding a new release, change "DFHack future" to the appropriate title
before releasing, and then add a new "DFHack future" section after releasing.
.. _changelog:
2015-09-27 19:11:11 -06:00
#########
Changelog
#########
.. contents::
2015-10-19 20:29:46 -06:00
:depth: 2
2015-09-27 19:11:11 -06:00
DFHack future
=============
2016-04-30 13:13:38 -06:00
Lua
---
- `gui/gm-editor` it's now possible to insert default types to containers. For primitive types leave the type entry empty, for references use ``*``.
2016-04-24 15:36:32 -06:00
DFHack 0.42.06-r1
=================
2016-04-30 13:04:01 -06:00
Fixes
-----
- `exportlegends`: Improved handling of unknown enum items (fixes many errors)
Internals
---------
- Commands to run on startup can be specified on the command line with ``+``
Example::
./dfhack +devel/print-args example
"Dwarf Fortress.exe" +devel/print-args example
- Prevented plugins with active viewscreens from being unloaded and causing a crash
2016-03-27 19:42:59 -06:00
- Additional script search paths can be specified in dfhack-config/script-paths.txt
2016-03-13 05:25:10 -06:00
Lua
---
2016-03-13 05:28:29 -06:00
- `building-hacks` now supports ``auto_gears`` flags. It automatically finds and animates gears in building definition
2016-03-13 05:25:10 -06:00
- Changed how `eventful` triggers reaction complete. Now it has ``onReactionComplete`` and ``onReactionCompleting``. Second one can be canceled
New Plugins
-----------
- `autogems`: Creates a new Workshop Order setting, automatically cutting rough gems
2015-12-28 15:01:47 -07:00
New Scripts
-----------
- `devel/save-version`: Displays DF version information about the current save
2016-03-27 19:42:59 -06:00
- `modtools/extra-gamelog`: replaces ``log-region``, ``soundsense-season``, and ``soundsense``
2015-12-28 15:01:47 -07:00
New Features
------------
- `buildingplan`: Support for floodgates, grates, and bars
2016-04-24 15:12:13 -06:00
- `colonies`: new ``place`` subcommand and supports any vermin (default honey bees)
2015-12-25 09:18:55 -07:00
- `confirm`: Added a confirmation for retiring locations
- `exportlegends`: Exports more information (poetic/musical/dance forms, written/artifact content, landmasses, extra histfig information, and more)
- `search-plugin`: Support for new screens:
- location occupation assignment
- civilization animal training knowledge
- animal trainer assignment
- `tweak`:
- ``tweak block-labors``: Prevents labors that can't be used from being toggled
- ``tweak hide-priority``: Adds an option to hide designation priority indicators
- ``tweak title-start-rename``: Adds a safe rename option to the title screen "Start Playing" menu
2016-04-24 15:12:13 -06:00
- `zone`:
- Added ``unassign`` subcommand
- Added ``only`` option to ``assign`` subcommand
2015-12-24 19:34:38 -07:00
Fixes
-----
2016-03-10 07:16:03 -07:00
- Fixed a crash bug caused by the historical figures DFHack uses to store persistent data.
2016-03-04 18:18:59 -07:00
- More plugins should recognize non-dwarf citizens
2016-03-04 18:28:42 -07:00
- Fixed a possible crash from cloning jobs
2016-04-05 09:51:08 -06:00
- moveToBuilding() now sets flags for items that aren't a structural part of the building properly
- `autotrade`, `stocks`: Made trading work when multiple caravans are present but only some can trade
- `confirm` note-delete: No longer interferes with name entry
2016-01-01 08:30:02 -07:00
- `exportlegends`: Handles entities without specific races, and a few other fixes for things new to v0.42
2016-03-10 07:04:08 -07:00
- `fastdwarf`: Fixed a bug involving teleporting mothers but not the babies they're holding.
2016-03-04 18:18:59 -07:00
- `gaydar`: Fixed text display on OS X/Linux and failure with soul-less creatures
- `manipulator`:
- allowed editing of non-dwarf citizens
- stopped ghosts and visitors from being editable
- fixed applying last custom profession
- `modtools/create-unit`: Stopped making units without civs historical figures
- `modtools/force`:
- Removed siege option
- Prevented a crash resulting from a bad civilization option
2015-12-24 19:34:38 -07:00
- `showmood`: Fixed name display on OS X/Linux
2016-03-18 14:39:07 -06:00
- `view-item-info`: Fixed density units
2015-12-24 19:34:38 -07:00
2015-12-03 23:18:15 -07:00
Misc Improvements
-----------------
- `autochop`: Can now edit log minimum/maximum directly and remove limit entirely
2016-03-04 18:18:59 -07:00
- `autolabor`, `autohauler`, `manipulator`: Added support for new jobs/labors/skills
2016-03-27 19:42:59 -06:00
- `colonies`: now implemented by a script
2016-04-05 09:51:08 -06:00
- `createitem`: Can now create items anywhere without specifying a unit, as long as a unit exists on the map
2016-03-04 18:18:59 -07:00
- `devel/export-dt-ini`: Updated for 0.42.06
2016-03-27 19:42:59 -06:00
- `devel/find-offsets`: Automated several more scans
2016-04-17 14:41:46 -06:00
- `gui/gm-editor`: Now supports finding some items with a numeric ID (with ``i``)
2016-03-04 18:18:59 -07:00
- `lua`: Now supports some built-in variables like `gui/gm-editor`, e.g. ``unit``, ``screen``
2016-03-27 19:42:59 -06:00
- `remotefortressreader`: Can now trigger keyboard events
2016-03-04 18:18:59 -07:00
- `stockflow`: Now offers better control over individual craft jobs
2015-12-03 23:18:15 -07:00
- `weather`: now implemented by a script
2016-04-24 15:12:13 -06:00
- `zone`: colored output
2016-03-27 19:42:59 -06:00
Removed
-------
- DFusion: legacy script system, obsolete or replaced by better alternatives
2015-12-03 23:18:15 -07:00
2015-12-24 19:34:38 -07:00
2015-11-27 14:45:39 -07:00
DFHack 0.40.24-r5
=================
2015-11-10 15:26:01 -07:00
2015-11-27 14:36:44 -07:00
New Features
------------
- `confirm`:
- Added a ``uniform-delete`` option for military uniform deletion
- Added a basic in-game configuration UI
2015-11-10 15:26:01 -07:00
Fixes
-----
- Fixed a rare crash that could result from running `keybinding` in onLoadWorld.init
- Script help that doesn't start with a space is now recognized correctly
- `confirm`: Fixed issues with haul-delete, route-delete, and squad-disband confirmations intercepting keys too aggressively
2015-11-27 14:36:44 -07:00
- `emigration` should work now
- `fix-unit-occupancy`: Significantly optimized - up to 2,000 times faster in large fortresses
- `gui/create-item`: Allow exiting quantity prompt
2015-11-27 14:36:44 -07:00
- `gui/family-affairs`: Fixed an issue where lack of relationships wasn't recognized and other issues
- `modtools/create-unit`: Fixed a possible issue in reclaim fortress mode
2015-11-27 14:36:44 -07:00
- `search-plugin`: Fixed a crash on the military screen
- `tweak` max-wheelbarrow: Fixed a minor display issue with large numbers
- `workflow`: Fixed a crash related to job postings (and added a fix for existing, broken jobs)
Misc Improvements
-----------------
- Unrecognized command feedback now includes more information about plugins
- `fix/dry-buckets`: replaces the ``drybuckets`` plugin
- `feature`: now implemented by a script
2015-11-07 18:28:37 -07:00
DFHack 0.40.24-r4
=================
Internals
2015-10-24 05:57:08 -06:00
---------
- A method for caching screen output is now available to Lua (and C++)
2015-11-06 18:17:52 -07:00
- Developer plugins can be ignored on startup by setting the ``DFHACK_NO_DEV_PLUGINS`` environment variable
2015-10-24 05:57:08 -06:00
- The console on Linux and OS X now recognizes keyboard input between prompts
- JSON libraries available (C++ and Lua)
- More DFHack build information used in plugin version checks and available to plugins and lua scripts
- Fixed a rare overflow issue that could cause crashes on Linux and OS X
- Stopped DF window from receiving input when unfocused on OS X
2016-03-16 06:28:34 -06:00
- Fixed issues with keybindings involving :kbd:`Ctrl`:kbd:`A` and :kbd:`Ctrl`:kbd:`Z`,
as well as :kbd:`Alt`:kbd:`E`/:kbd:`U`/:kbd:`N` on OS X
2015-10-24 05:57:08 -06:00
- Multiple contexts can now be specified when adding keybindings
2016-03-16 06:28:34 -06:00
- Keybindings can now use :kbd:`F10`-:kbd:`F12` and :kbd:`0`-:kbd:`9`
2015-10-24 05:57:08 -06:00
- Plugin system is no longer restricted to plugins that exist on startup
- :file:`dfhack.init` file locations significantly generalized
Lua
2015-10-24 05:57:08 -06:00
---
2016-03-16 06:28:34 -06:00
- Scripts can be enabled with the built-in `enable`/`disable <disable>` commands
2015-11-06 18:17:52 -07:00
- A new function, ``reqscript()``, is available as a safer alternative to ``script_environment()``
2015-10-24 05:57:08 -06:00
- Lua viewscreens can choose not to intercept the OPTIONS keybinding
New internal commands
2015-10-24 05:57:08 -06:00
---------------------
2016-03-16 06:28:34 -06:00
- `kill-lua`: Interrupt running Lua scripts
- `type`: Show where a command is implemented
New plugins
2015-10-24 05:57:08 -06:00
-----------
- `confirm`: Adds confirmation dialogs for several potentially dangerous actions
- `fix-unit-occupancy`: Fixes issues with unit occupancy, such as faulty "unit blocking tile" messages (:bug:`3499`)
2016-03-16 06:28:34 -06:00
- `title-version` (formerly ``vshook``): Display DFHack version on title screen
New scripts
2015-10-24 05:57:08 -06:00
-----------
2015-11-06 18:18:38 -07:00
- `armoks-blessing`: Adjust all attributes, personality, age and skills of all dwarves in play
- `brainwash`: brainwash a dwarf (modifying their personality)
2015-10-24 05:57:08 -06:00
- `burial`: sets all unowned coffins to allow burial ("-pets" to allow pets too)
- `deteriorateclothes`: make worn clothes on the ground wear far faster to boost FPS
- `deterioratecorpses`: make body parts wear away far faster to boost FPS
- `deterioratefood`: make food vanish after a few months if not used
2015-11-06 18:18:38 -07:00
- `elevate-mental`: elevate all the mental attributes of a unit
- `elevate-physical`: elevate all the physical attributes of a unit
- `emigration`: stressed dwarves may leave your fortress if they see a chance
2015-10-24 05:57:08 -06:00
- `fix-ster`: changes fertility/sterility of animals or dwarves
2015-11-06 18:18:38 -07:00
- `gui/family-affairs`: investigate and alter romantic relationships
- `make-legendary`: modify skill(s) of a single unit
2015-10-24 05:57:08 -06:00
- `modtools/create-unit`: create new units from nothing
- `modtools/equip-item`: a script to equip items on units
- `points`: set number of points available at embark screen
- `pref-adjust`: Adjust all preferences of all dwarves in play
- `rejuvenate`: make any "old" dwarf 20 years old
- `starvingdead`: make undead weaken after one month on the map, and crumble after six
2015-11-06 18:18:38 -07:00
- `view-item-info`: adds information and customisable descriptions to item viewscreens
- `warn-starving`: check for starving, thirsty, or very drowsy units and pause with warning if any are found
New tweaks
2015-10-24 05:57:08 -06:00
----------
- embark-profile-name: Allows the use of lowercase letters when saving embark profiles
- kitchen-keys: Fixes DF kitchen meal keybindings
- kitchen-prefs-color: Changes color of enabled items to green in kitchen preferences
- kitchen-prefs-empty: Fixes a layout issue with empty kitchen tabs
Fixes
2015-10-24 05:57:08 -06:00
-----
- Plugins with vmethod hooks can now be reloaded on OS X
- Lua's ``os.system()`` now works on OS X
- Fixed default arguments in Lua gametype detection functions
- Circular lua dependencies (reqscript/script_environment) fixed
- Prevented crash in ``Items::createItem()``
- `buildingplan`: Now supports hatch covers
- `gui/create-item`: fixed assigning quality to items, made :kbd:`Esc` work properly
- `gui/gm-editor`: handles lua tables properly
2016-03-16 06:28:34 -06:00
- `help`: now recognizes built-in commands, like ``help``
2015-10-24 05:57:08 -06:00
- `manipulator`: fixed crash when selecting custom professions when none are found
- `remotefortressreader`: fixed crash when attempting to send map info when no map was loaded
- `search-plugin`: fixed crash in unit list after cancelling a job; fixed crash when disabling stockpile category after searching in a subcategory
2015-10-24 05:57:08 -06:00
- `stockpiles`: now checks/sanitizes filenames when saving
- `stocks`: fixed a crash when right-clicking
- `steam-engine`: fixed a crash on arena load; number keys (e.g. 2/8) take priority over cursor keys when applicable
- tweak fps-min fixed
- tweak farm-plot-select: Stopped controls from appearing when plots weren't fully built
- `workflow`: Fixed some issues with stuck jobs. Existing stuck jobs must be cancelled and re-added
- `zone`: Fixed a crash when using ``zone set`` (and a few other potential crashes)
Misc Improvements
2015-10-24 05:57:08 -06:00
-----------------
- DFHack documentation:
- massively reorganised, into files of more readable size
- added many missing entries
- indexes, internal links, offline search all documents
2015-11-06 18:17:52 -07:00
- includes documentation of linked projects (df-structures, third-party scripts)
2015-10-24 05:57:08 -06:00
- better HTML generation with Sphinx
- documentation for scripts now located in source files
- `autolabor`:
- Stopped modification of labors that shouldn't be modified for brokers/diplomats
- Prioritize skilled dwarves more efficiently
- Prevent dwarves from running away with tools from previous jobs
2015-11-06 18:17:52 -07:00
- `automaterial`: Fixed several issues with constructions being allowed/disallowed incorrectly when using box-select
2015-10-24 05:57:08 -06:00
- `dwarfmonitor`:
2016-03-16 06:28:34 -06:00
- widgets' positions, formats, etc. are now customizable
2015-10-24 05:57:08 -06:00
- weather display now separated from the date display
- New mouse cursor widget
- `gui/dfstatus`: Can enable/disable individual categories and customize metal bar list
2015-11-06 18:17:52 -07:00
- `full-heal`: ``-r`` option removes corpses
2015-10-24 05:57:08 -06:00
- `gui/gm-editor`
- Pointers can now be displaced
- Added some useful aliases: "item" for the selected item, "screen" for the current screen, etc.
- Now avoids errors with unrecognized types
- `gui/hack-wish`: renamed to `gui/create-item`
2016-03-16 06:28:34 -06:00
- `keybinding list <keybinding>` accepts a context
2015-10-24 05:57:08 -06:00
- `lever`:
- Lists lever names
2016-03-16 06:28:34 -06:00
- ``lever pull`` can be used to pull the currently-selected lever
2015-10-24 05:57:08 -06:00
2016-03-16 06:28:34 -06:00
- ``memview``: Fixed display issue
2015-10-24 05:57:08 -06:00
- `modtools/create-item`: arguments are named more clearly, and you can specify the creator to be the unit with id ``df.global.unit_next_id-1`` (useful in conjunction with `modtools/create-unit`)
2016-03-16 06:28:34 -06:00
- ``nyan``: Can now be stopped with dfhack-run
- `plug`: lists all plugins; shows state and number of commands in plugins
2015-10-24 05:57:08 -06:00
- `prospect`: works from within command-prompt
- `quicksave`: Restricted to fortress mode
- `remotefortressreader`: Exposes more information
- `search-plugin`:
2015-10-24 05:57:08 -06:00
- Supports noble suggestion screen (e.g. suggesting a baron)
- Supports fortress mode loo[k] menu
- Recognizes ? and ; keys
- `stocks`: can now match beginning and end of item names
- `teleport`: Fixed cursor recognition
- `tidlers`, `twaterlvl`: now implemented by scripts instead of a plugin
2015-10-24 05:57:08 -06:00
- `tweak`:
- debug output now logged to stderr.log instead of console - makes DFHack start faster
- farm-plot-select: Fixed issues with selecting undiscovered crops
- `workflow`: Improved handling of plant reactions
Removed
2015-10-24 05:57:08 -06:00
-------
- `embark-tools` nano: 1x1 embarks are now possible in vanilla 0.40.24
2015-03-30 10:38:56 -06:00
DFHack 0.40.24-r3
=================
Internals
---------
2015-11-06 18:17:52 -07:00
- Ruby library now included on OS X - Ruby scripts should work on OS X 10.10
- libstdc++ should work with older versions of OS X
2016-03-16 06:28:34 -06:00
- Added support for `onMapLoad.init / onMapUnload.init <other_init_files>` scripts
- game type detection functions are now available in the World module
2015-11-06 18:17:52 -07:00
- The ``DFHACK_LOG_MEM_RANGES`` environment variable can be used to log information to ``stderr.log`` on OS X
- Fixed adventure mode menu names
- Fixed command usage information for some commands
Lua
---
- Lua scripts will only be reloaded if necessary
- Added a ``df2console()`` wrapper, useful for printing DF (CP437-encoded) text to the console in a portable way
- Added a ``strerror()`` wrapper
New Internal Commands
---------------------
- `hide`, `show`: hide and show the console on Windows
2016-03-16 06:28:34 -06:00
- `sc-script`: Allows additional scripts to be run when certain events occur (similar to `onLoad.init` scripts)
New Plugins
-----------
- `autohauler`: A hauling-only version of autolabor
New Scripts
-----------
- `modtools/reaction-product-trigger`: triggers callbacks when products are produced (contrast with when reactions complete)
New Tweaks
----------
- `fps-min <tweak>`: Fixes the in-game minimum FPS setting
- `shift-8-scroll <tweak>`: Gives Shift+8 (or ``*``) priority when scrolling menus, instead of scrolling the map
- `tradereq-pet-gender <tweak>`: Displays pet genders on the trade request screen
Fixes
-----
- Fixed game type detection in `3dveins`, `gui/create-item`, `reveal`, `seedwatch`
2016-03-16 06:28:34 -06:00
- ``PRELOAD_LIB``: More extensible on Linux
- `add-spatter`, `eventful`: Fixed crash on world load
- `add-thought`: Now has a proper subthought arg.
- `building-hacks`: Made buildings produce/consume correct amount of power
- `fix-armory`: compiles and is available again (albeit with issues)
- `gui/gm-editor`: Added search option (accessible with "s")
- `hack-wish <gui/create-item>`: Made items stack properly.
- `modtools/skill-change`: Made level granularity work properly.
- `show-unit-syndromes`: should work
- `stockflow`:
- Fixed error message in Arena mode
- no longer checks the DF version
- fixed ballistic arrow head orders
2016-03-16 06:28:34 -06:00
- convinces the bookkeeper to update records more often
- `zone`: Stopped crash when scrolling cage owner list
Misc Improvements
-----------------
- `autolabor`: A negative pool size can be specified to use the most unskilled dwarves
- `building-hacks`:
2015-10-19 20:29:46 -06:00
- Added a way to allow building to work even if it consumes more power than is available.
- Added setPower/getPower functions.
- `catsplosion`: Can now trigger pregnancies in (most) other creatures
- `exportlegends`: ``info`` and ``all`` options export ``legends_plus.xml`` with more data for legends utilities
- `manipulator`:
- Added ability to edit nicknames/profession names
- added "Job" as a View Type, in addition to "Profession" and "Squad"
- added custom profession templates with masking
- `remotefortressreader`: Exposes more information
2015-01-31 21:22:42 -07:00
2015-01-31 21:36:34 -07:00
DFHack 0.40.24-r2
=================
2015-10-19 20:29:46 -06:00
Internals
---------
2016-03-16 06:28:34 -06:00
- Lua scripts can set environment variables of each other with ``dfhack.run_script_with_env``
- Lua scripts can now call each others internal nonlocal functions with ``dfhack.script_environment(scriptName).functionName(arg1,arg2)``
2015-10-19 20:29:46 -06:00
- `eventful`: Lua reactions no longer require LUA_HOOK as a prefix; you can register a callback for the completion of any reaction with a name
- Filesystem module now provides file access/modification times and can list directories (normally and recursively)
- Units Module: New functions::
isWar
isHunter
isAvailableForAdoption
isOwnCiv
isOwnRace
getRaceName
getRaceNamePlural
getRaceBabyName
getRaceChildName
isBaby
isChild
isAdult
isEggLayer
isGrazer
isMilkable
isTrainableWar
isTrainableHunting
isTamable
isMale
isFemale
isMerchant
isForest
isMarkedForSlaughter
- Buildings Module: New Functions::
isActivityZone
isPenPasture
isPitPond
isActive
findPenPitAt
Fixes
-----
- ``dfhack.run_script`` should correctly find save-specific scripts now.
- `add-thought`: updated to properly affect stress.
- `hfs-pit`: should work now
- `autobutcher`: takes gelding into account
2016-03-16 06:28:34 -06:00
- :file:`init.lua` existence checks should be more reliable (notably when using non-English locales)
2015-10-19 20:29:46 -06:00
Misc Improvements
-----------------
Multiline commands are now possible inside dfhack.init scripts. See :file:`dfhack.init-example` for example usage.
2015-01-23 20:58:23 -07:00
DFHack 0.40.24-r1
=================
2015-10-19 20:29:46 -06:00
Internals
---------
CMake shouldn't cache DFHACK_RELEASE anymore. People may need to manually update/delete their CMake cache files to get rid of it.
2015-01-23 20:58:23 -07:00
DFHack 0.40.24-r0
=================
2015-10-19 20:29:46 -06:00
Internals
---------
- `EventManager`: fixed crash error with EQUIPMENT_CHANGE event.
- key modifier state exposed to Lua (ie :kbd:`Ctrl`, :kbd:`Alt`, :kbd:`Shift`)
Fixes
-----
2015-11-06 18:17:52 -07:00
``dfhack.sh`` can now be run from other directories on OS X
2015-10-19 20:29:46 -06:00
New Plugins
-----------
- `blueprint`: export part of your fortress to quickfort .csv files
New Scripts
-----------
- `hotkey-notes`: print key, name, and jump position of hotkeys
Removed
-------
- needs_porting/*
Misc Improvements
-----------------
Added support for searching more lists
2015-01-05 18:34:09 -07:00
Older Changelogs
================
Are kept in a seperate file: `HISTORY`
2015-10-19 20:29:46 -06:00
.. that's ``docs/history.rst``, if you're reading the raw text.