Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.

6/11/2026
Features
- Full ini redirection is now supported for all game settings (eqclient.ini) when launching from a profile. Launch from a single directory, without sharing the settings! Setting the custom ini to an ini that doesn't exist will copy the default ini to that location. (#42)
- You can now disable sound from within the profile as well, having some eqgame clients launch with sound and others launching without (#925)
- You can also add any other custom parameters to the game launch, all within settings
- Added a "clear" button for setting the custom client ini back to default
Other Changes
- Updated the MacroQuest toggle buttons to be more clear about what is toggled on and off
- Magician and "Shadow Knight" are now consistent across spawn searches. Using "Mage" or "shadowknight" will still work, but it will tell you that you're using the wrong one (#155 & #156)
- mq.TLO.Me.BuffDuration[SomeBuff] will now report the same as mq.TLO.Me.Buff[SomeBuff].Duration instead of using CachedBuffs
Bug Fixes
- /foreground should be more reliable now and account for different situations where Windows does not want you to foreground. If there are remaining cases, please report them on the issues page and reach out to Knightly (who very much loves working on /foreground) to troubleshoot
- WillStackWith (StacksWith et al) now properly reports whether a buff stacks or not when your own buff bar is full (#793)
- Post Office mailboxes (Actors) are no longer case sensitive. Fixes an issue where mailboxes could be different depending on how a plugin was loaded or across systems and messages would not be properly delivered. (#963)
- A variable that expands into itself will no longer infinitely recurse and crash the client (but you still shouldn't do this) - Fixes echoing ${EverQuest.LastCommand} crashing the client (#45)
5/18/2026
Bug fixes
- Fix for /lua stop crash when a dead script was part of the stop call
- Fixed some luarocks modules not building when a version already existed for another architecture
- Prospective fix for autologin window hotkeys not behaving for some people after the last /foreground update.
4/26/2026
Features
Support for stencil and alpha masking is now available through ImGui to c++ and lua. This allows forcreating more advanced effects like rounded corners on anything or gradient text.
- For more info see mq/imgui/AlphaMask.h.
- An example is available via
/lua run examples/imgui_mask_demo4/22/2026
Bug fixes
- Fixed an issue where the lua imgui binding for BeginPopupModal was not properly allowing flags
- Added some brute force tactics to
/foregroundso that it will work in more situations- Fix context menu losing focus and not closing on focus
- rof2: Fix crash when opening alt ability inspector
Features
- Added mq.canDelay() - returns true if the script is in a state where delay is allowed
PackageMan improvements
- Cleaned up workarounds in PackageMan.lua for the flag issue
- Added a fail state in PackageMan to prevent use if it is in a state that will for sure fail. This is a prospective fix for the blocking issue.
- Added a fail state in ImguiHelper to prevent use in a similar scenario (should not reach from PackageMan, but just in case)
## 4/18/2026
### Bug fixes
- ROF2: Add fix for D3DXEffects::CEffect::FindValue crash when game client goes over 2GB of used memory
## 4/16/2026
### Bug fixes
- Fix issue where /mapfilter commands would not take effect until the map plugin was reloaded
## 4/11/2026
- PackageMan bug fixes
## 4/10/2026
### New Plugin Callbacks
Added two new callbacks for plugins - OnLoginFrontendEntered and OnLoginFrontendExited
both have been added to the mkplugin template and will be generated when mkplugin is
run.
## 3/22/2026
### Per-Character ImGui Configuration
ImGui configuration can now be saved on a per-character basis. This is now enabled
by default. The first time a per-character config is loaded, it will be copied from the
default config if it exists.
Per-character configuration can be toggled from the overlay settings (/mqsettings overlay)
or via command with /mqoverlay perchar. Changing this option requires a reload of the
overlay (/mqoverlay reload)
Per-character overlay configuration is saved like: Config/MacroQuest_Overlay/server_character.ini
### Bug fixes
- Fix issue where viewports were not parented to the main viewport. This was preventing them from
being brought forward when the game window was focused. (#971)
## 3/14/2026
- Fix Me.RangeReady
## 3/13/2026
Update for live patch
### Bug Fixes
- Fix crash in ItemDisplayWnd
## 3/11/2026
emu: Spell links within the item display window will now open a spell
display window when clicked.
## 3/5/2026
Add support for teek and tormax
## 3/1/2026
Updated to crashpad from the crashpad-backtrace fork we were previously using.
- For local builders you should remove crashpad-backtrace to prevent conflicts
- `vcpkg remove crashpad-backtrace:x64-windows-static` and/or `vcpkg remove crashpad-backtrace:x86-windows-static`
### Bug fixes
- live/test: Fix /removeaug (#974)
- emu: Fix CTargetWnd buff accessor (#975)
## 2/22/2026
### ImAnim Integration
ImAnim is now available to lua and plugins! [See PR For more info](https://github.com/macroquest/macroquest/pull/968).
- See the lua demo for examples of how to do things with ImAnim in lua: `/lua run examples/imanim_demo`
- Lua definitions have been updated with ImAnim support.
- Console menus have been re-arranged a little bit.
## 2/18/2026
Added network discovery for actors on the local network. In general, no configuration is
required, but the following config changes were added/moved:
- Moved the `NetworkPeerPort` main ini option into `[Network]` as `PeerPort` (with fallback)
- Added the following options in the `[Network]` section in the main ini:
- `PeerPort` (default 7781): the port to start the actor peer on
- `MulticastPeriod` (default 1000): milliseconds between multicast announces
- `MulticastPort` (default 37781): port the udp multicast sender sends to
- `MulticastAddress` (default 239.255.77.81): multicast address to use (http://en.wikipedia.org/wiki/Multicast_address)
- `MulticastListenAddress` (default 0.0.0.0): multicast address to listen on
## 2/11/2026 (live)
Update for live patch
## 2/7/2026
### ImGui 1.92.5 Update
ImGui has been updated to the latest release! This release includes a new font renderig
system that supports dynamic font scaling. This new system allows fonts to be rendered
at any font size.
For description of all the font scaling changes, see: https://github.com/ocornut/imgui/releases/v1.92.0
The short version is: ImGui::SetWindowFontScale is now deprecated. You should use the
PushFont function to change the font size now with the new font size parameter:
```c++
// - PushFont(font, 0.0f) // Change font and keep current size
// - PushFont(NULL, 20.0f) // Keep font and change current size
// - PushFont(font, 20.0f) // Change font and set size to 20.0f
// - PushFont(font, style.FontSizeBase * 2.0f) // Change font and set size to be twice bigger than current size.
// - PushFont(font, font->LegacySize) // Change font and set size to size passed to AddFontXXX() function. Same as pre-1.92 behavior.
```
### C++20 Update
The MacroQuest project now compiles with c++20 mode enabled by default. This might introduce
compilation errors in some cases for non-conforming code. The fixes are pretty trivial in
majority of cases.
The project doesn't currently expose any c++20 code to plugins, so if you're stuck in a bind
you can set your project back to c++17 manually, but be warned that the project may begin
introducing c++20 code that will render that option unavailable. So get your code updated!
If you need help updating your plugins please drop by our discord server.
## Update 2/5/2026
Add Fangbreaker to list of supported live servers.
## Update 2/1/2026
### Features
- Add support for plugin-created lua modules. See #961 and docs at https://docs.macroquest.org/plugins/developing/lua-modules/
### Fixes
- ROF2 Emu: Fix Item.Evolving.ExpOn not returning correct value
- Fix EQ Font rendering in ImGui
- Fix crash when opening chat window settings before being in game
- Fix renderdoc integration crashing on startup
- Fix potential TradeskillDepotWnd crash if hash table is empty
- Allow EQ to capture keyboard input while ImGui is capturing mouse input
## Update 1/23/2026
Update for latest live patch
## Update 1/21/2026
Update for latest live patch
## Update 1/4/2026
### Fixes
- Fix lua drag & drop to properly support the following primitive types:
- boolean, number, string, ImVec4, and list of numbers. (#955)
- Fix ContainerManager structure causing crashes when accessing world container inventory
- Fix UI not being reloaded after shrouding. (#949)
- Fix /target clearing target buffs unnecessarily. (#937)
- Add missing damage type strings for Prismatic, Chromatic, Corruption and Physical. (#953)
### Features
- Add `Format` member to `time` datatype. This allows formatting time using strftime format strings.
i.e. mq.TLO.Time.Format("%Y/%m/%d %H:%M:%S") will return "2026/01/04 18:30:30".
For more info, see: https://en.cppreference.com/w/cpp/chrono/c/strftime.html
### Lua Improvements
- Drag and Drop improvements for lua:
- Add support for `_COL3F` and `_COL4F` payloads used by color widgets. These
will return a list of 3 or 4 numbers, which can be converted into an ImVec4
using `ImColor(data)`.
- LuaImGuiDragDropPayload can now access the payload's type and the raw data as a
string using `DataType` and `RawData`, respectively.
- Note: It continues to be true that a payload will only be valid during the
frame in which is is received, and should not be stored.
- Add `ImGuiItemFlags` enumeration, along with `PushItemFlags` and `PopItemFlags`.
- Add `ImColor` function to convert various parameters into an ImVec4 representing a color.
- Extended examples/imgui_demo to include some of the drag and drop examples with some
modifications to exercise more of the drag and drop code.
## Test Patch Update 12/21/2025
Update for latest test patch
## Update 12/3/2025
- Updated Zones.ini to include new zones from latest expansion patch.
## Live Patch Update 12/2/2025
Update for live patch
## Test Patch Update 11/24/2025
Update for latest test patch
## Update 11/17/2025
Updated for live hotfix.
## Update 11/14/2025
- loader: Fix SendSetForegroundWindow - should help resolve some issues with focus swapping
## Update 11/13/2025
Updated for live hotfix.
- Fix achievements not reading properly
- Fix Item.CashLoot not returning the proper value
- Fix FindItemWnd additional columns overlapping existing columns
## Live Patch Update 11/12/2025
- Includes all changes from previous test patches.
Additional fixes:
- Fix crash when inspecting cash loot bag.
## Test Patch Update 11/6/2025
- Added new EquipmentItem TLO that provides access to the new equipment keyring. Usage is
the same as other keyrings.
- Locked Items are added to the client, but access through MQ is not available yet.
- Added CashLoot member to Item type
## Previous Updates
## 3/22/2026
### Per-Character ImGui Configuration
ImGui configuration can now be saved on a per-character basis. This is now enabled
by default. The first time a per-character config is loaded, it will be copied from the
default config if it exists.
Per-character configuration can be toggled from the overlay settings (/mqsettings overlay)
or via command with /mqoverlay perchar. Changing this option requires a reload of the
overlay (/mqoverlay reload)
Per-character overlay configuration is saved like: Config/MacroQuest_Overlay/server_character.ini
### Bug fixes
- Fix issue where viewports were not parented to the main viewport. This was preventing them from
being brought forward when the game window was focused. (#971)
## 3/14/2026
- Fix Me.RangeReady
## 3/13/2026
Update for live patch
### Bug Fixes
- Fix crash in ItemDisplayWnd
## 3/11/2026
emu: Spell links within the item display window will now open a spell
display window when clicked.
## 3/5/2026
Add support for teek and tormax
## 3/1/2026
Updated to crashpad from the crashpad-backtrace fork we were previously using.
- For local builders you should remove crashpad-backtrace to prevent conflicts
- `vcpkg remove crashpad-backtrace:x64-windows-static` and/or `vcpkg remove crashpad-backtrace:x86-windows-static`
### Bug fixes
- live/test: Fix /removeaug (#974)
- emu: Fix CTargetWnd buff accessor (#975)
## 2/22/2026
### ImAnim Integration
ImAnim is now available to lua and plugins! [See PR For more info](https://github.com/macroquest/macroquest/pull/968).
- See the lua demo for examples of how to do things with ImAnim in lua: `/lua run examples/imanim_demo`
- Lua definitions have been updated with ImAnim support.
- Console menus have been re-arranged a little bit.
## 2/18/2026
Added network discovery for actors on the local network. In general, no configuration is
required, but the following config changes were added/moved:
- Moved the `NetworkPeerPort` main ini option into `[Network]` as `PeerPort` (with fallback)
- Added the following options in the `[Network]` section in the main ini:
- `PeerPort` (default 7781): the port to start the actor peer on
- `MulticastPeriod` (default 1000): milliseconds between multicast announces
- `MulticastPort` (default 37781): port the udp multicast sender sends to
- `MulticastAddress` (default 239.255.77.81): multicast address to use (http://en.wikipedia.org/wiki/Multicast_address)
- `MulticastListenAddress` (default 0.0.0.0): multicast address to listen on
## 2/11/2026 (live)
Update for live patch
## 2/7/2026
### ImGui 1.92.5 Update
ImGui has been updated to the latest release! This release includes a new font renderig
system that supports dynamic font scaling. This new system allows fonts to be rendered
at any font size.
For description of all the font scaling changes, see: https://github.com/ocornut/imgui/releases/v1.92.0
The short version is: ImGui::SetWindowFontScale is now deprecated. You should use the
PushFont function to change the font size now with the new font size parameter:
```c++
// - PushFont(font, 0.0f) // Change font and keep current size
// - PushFont(NULL, 20.0f) // Keep font and change current size
// - PushFont(font, 20.0f) // Change font and set size to 20.0f
// - PushFont(font, style.FontSizeBase * 2.0f) // Change font and set size to be twice bigger than current size.
// - PushFont(font, font->LegacySize) // Change font and set size to size passed to AddFontXXX() function. Same as pre-1.92 behavior.
```
### C++20 Update
The MacroQuest project now compiles with c++20 mode enabled by default. This might introduce
compilation errors in some cases for non-conforming code. The fixes are pretty trivial in
majority of cases.
The project doesn't currently expose any c++20 code to plugins, so if you're stuck in a bind
you can set your project back to c++17 manually, but be warned that the project may begin
introducing c++20 code that will render that option unavailable. So get your code updated!
If you need help updating your plugins please drop by our discord server.
## Update 2/5/2026
Add Fangbreaker to list of supported live servers.
## Update 2/1/2026
### Features
- Add support for plugin-created lua modules. See #961 and docs at https://docs.macroquest.org/plugins/developing/lua-modules/
### Fixes
- ROF2 Emu: Fix Item.Evolving.ExpOn not returning correct value
- Fix EQ Font rendering in ImGui
- Fix crash when opening chat window settings before being in game
- Fix renderdoc integration crashing on startup
- Fix potential TradeskillDepotWnd crash if hash table is empty
- Allow EQ to capture keyboard input while ImGui is capturing mouse input
## Update 1/23/2026
Update for latest live patch
## Update 1/21/2026
Update for latest live patch
## Update 1/4/2026
### Fixes
- Fix lua drag & drop to properly support the following primitive types:
- boolean, number, string, ImVec4, and list of numbers. (#955)
- Fix ContainerManager structure causing crashes when accessing world container inventory
- Fix UI not being reloaded after shrouding. (#949)
- Fix /target clearing target buffs unnecessarily. (#937)
- Add missing damage type strings for Prismatic, Chromatic, Corruption and Physical. (#953)
### Features
- Add `Format` member to `time` datatype. This allows formatting time using strftime format strings.
i.e. mq.TLO.Time.Format("%Y/%m/%d %H:%M:%S") will return "2026/01/04 18:30:30".
For more info, see: https://en.cppreference.com/w/cpp/chrono/c/strftime.html
### Lua Improvements
- Drag and Drop improvements for lua:
- Add support for `_COL3F` and `_COL4F` payloads used by color widgets. These
will return a list of 3 or 4 numbers, which can be converted into an ImVec4
using `ImColor(data)`.
- LuaImGuiDragDropPayload can now access the payload's type and the raw data as a
string using `DataType` and `RawData`, respectively.
- Note: It continues to be true that a payload will only be valid during the
frame in which is is received, and should not be stored.
- Add `ImGuiItemFlags` enumeration, along with `PushItemFlags` and `PopItemFlags`.
- Add `ImColor` function to convert various parameters into an ImVec4 representing a color.
- Extended examples/imgui_demo to include some of the drag and drop examples with some
modifications to exercise more of the drag and drop code.
## Test Patch Update 12/21/2025
Update for latest test patch
## Update 12/3/2025
- Updated Zones.ini to include new zones from latest expansion patch.
## Live Patch Update 12/2/2025
Update for live patch
## Test Patch Update 11/24/2025
Update for latest test patch
## Update 11/17/2025
Updated for live hotfix.
## Update 11/14/2025
- loader: Fix SendSetForegroundWindow - should help resolve some issues with focus swapping
## Update 11/13/2025
Updated for live hotfix.
- Fix achievements not reading properly
- Fix Item.CashLoot not returning the proper value
- Fix FindItemWnd additional columns overlapping existing columns
## Live Patch Update 11/12/2025
- Includes all changes from previous test patches.
Additional fixes:
- Fix crash when inspecting cash loot bag.
## Test Patch Update 11/6/2025
- Added new EquipmentItem TLO that provides access to the new equipment keyring. Usage is
the same as other keyrings.
- Locked Items are added to the client, but access through MQ is not available yet.
- Added CashLoot member to Item type
## Previous Updates
## 3/11/2026
emu: Spell links within the item display window will now open a spell
display window when clicked.
## 3/5/2026
Add support for teek and tormax
## 3/1/2026
Updated to crashpad from the crashpad-backtrace fork we were previously using.
- For local builders you should remove crashpad-backtrace to prevent conflicts
- `vcpkg remove crashpad-backtrace:x64-windows-static` and/or `vcpkg remove crashpad-backtrace:x86-windows-static`
### Bug fixes
- live/test: Fix /removeaug (#974)
- emu: Fix CTargetWnd buff accessor (#975)
## 2/22/2026
### ImAnim Integration
ImAnim is now available to lua and plugins! [See PR For more info](https://github.com/macroquest/macroquest/pull/968).
- See the lua demo for examples of how to do things with ImAnim in lua: `/lua run examples/imanim_demo`
- Lua definitions have been updated with ImAnim support.
- Console menus have been re-arranged a little bit.
## 2/18/2026
Added network discovery for actors on the local network. In general, no configuration is
required, but the following config changes were added/moved:
- Moved the `NetworkPeerPort` main ini option into `[Network]` as `PeerPort` (with fallback)
- Added the following options in the `[Network]` section in the main ini:
- `PeerPort` (default 7781): the port to start the actor peer on
- `MulticastPeriod` (default 1000): milliseconds between multicast announces
- `MulticastPort` (default 37781): port the udp multicast sender sends to
- `MulticastAddress` (default 239.255.77.81): multicast address to use (http://en.wikipedia.org/wiki/Multicast_address)
- `MulticastListenAddress` (default 0.0.0.0): multicast address to listen on
## 2/11/2026 (live)
Update for live patch
## 2/7/2026
### ImGui 1.92.5 Update
ImGui has been updated to the latest release! This release includes a new font renderig
system that supports dynamic font scaling. This new system allows fonts to be rendered
at any font size.
For description of all the font scaling changes, see: https://github.com/ocornut/imgui/releases/v1.92.0
The short version is: ImGui::SetWindowFontScale is now deprecated. You should use the
PushFont function to change the font size now with the new font size parameter:
```c++
// - PushFont(font, 0.0f) // Change font and keep current size
// - PushFont(NULL, 20.0f) // Keep font and change current size
// - PushFont(font, 20.0f) // Change font and set size to 20.0f
// - PushFont(font, style.FontSizeBase * 2.0f) // Change font and set size to be twice bigger than current size.
// - PushFont(font, font->LegacySize) // Change font and set size to size passed to AddFontXXX() function. Same as pre-1.92 behavior.
```
### C++20 Update
The MacroQuest project now compiles with c++20 mode enabled by default. This might introduce
compilation errors in some cases for non-conforming code. The fixes are pretty trivial in
majority of cases.
The project doesn't currently expose any c++20 code to plugins, so if you're stuck in a bind
you can set your project back to c++17 manually, but be warned that the project may begin
introducing c++20 code that will render that option unavailable. So get your code updated!
If you need help updating your plugins please drop by our discord server.
## Update 2/5/2026
Add Fangbreaker to list of supported live servers.
## Update 2/1/2026
### Features
- Add support for plugin-created lua modules. See #961 and docs at https://docs.macroquest.org/plugins/developing/lua-modules/
### Fixes
- ROF2 Emu: Fix Item.Evolving.ExpOn not returning correct value
- Fix EQ Font rendering in ImGui
- Fix crash when opening chat window settings before being in game
- Fix renderdoc integration crashing on startup
- Fix potential TradeskillDepotWnd crash if hash table is empty
- Allow EQ to capture keyboard input while ImGui is capturing mouse input
## Update 1/23/2026
Update for latest live patch
## Update 1/21/2026
Update for latest live patch
## Update 1/4/2026
### Fixes
- Fix lua drag & drop to properly support the following primitive types:
- boolean, number, string, ImVec4, and list of numbers. (#955)
- Fix ContainerManager structure causing crashes when accessing world container inventory
- Fix UI not being reloaded after shrouding. (#949)
- Fix /target clearing target buffs unnecessarily. (#937)
- Add missing damage type strings for Prismatic, Chromatic, Corruption and Physical. (#953)
### Features
- Add `Format` member to `time` datatype. This allows formatting time using strftime format strings.
i.e. mq.TLO.Time.Format("%Y/%m/%d %H:%M:%S") will return "2026/01/04 18:30:30".
For more info, see: https://en.cppreference.com/w/cpp/chrono/c/strftime.html
### Lua Improvements
- Drag and Drop improvements for lua:
- Add support for `_COL3F` and `_COL4F` payloads used by color widgets. These
will return a list of 3 or 4 numbers, which can be converted into an ImVec4
using `ImColor(data)`.
- LuaImGuiDragDropPayload can now access the payload's type and the raw data as a
string using `DataType` and `RawData`, respectively.
- Note: It continues to be true that a payload will only be valid during the
frame in which is is received, and should not be stored.
- Add `ImGuiItemFlags` enumeration, along with `PushItemFlags` and `PopItemFlags`.
- Add `ImColor` function to convert various parameters into an ImVec4 representing a color.
- Extended examples/imgui_demo to include some of the drag and drop examples with some
modifications to exercise more of the drag and drop code.
## Test Patch Update 12/21/2025
Update for latest test patch
## Update 12/3/2025
- Updated Zones.ini to include new zones from latest expansion patch.
## Live Patch Update 12/2/2025
Update for live patch
## Test Patch Update 11/24/2025
Update for latest test patch
## Update 11/17/2025
Updated for live hotfix.
## Update 11/14/2025
- loader: Fix SendSetForegroundWindow - should help resolve some issues with focus swapping
## Update 11/13/2025
Updated for live hotfix.
- Fix achievements not reading properly
- Fix Item.CashLoot not returning the proper value
- Fix FindItemWnd additional columns overlapping existing columns
## Live Patch Update 11/12/2025
- Includes all changes from previous test patches.
Additional fixes:
- Fix crash when inspecting cash loot bag.
## Test Patch Update 11/6/2025
- Added new EquipmentItem TLO that provides access to the new equipment keyring. Usage is
the same as other keyrings.
- Locked Items are added to the client, but access through MQ is not available yet.
- Added CashLoot member to Item type
## Previous Updates
## 3/1/2026
Updated to crashpad from the crashpad-backtrace fork we were previously using.
- For local builders you should remove crashpad-backtrace to prevent conflicts
- `vcpkg remove crashpad-backtrace:x64-windows-static` and/or `vcpkg remove crashpad-backtrace:x86-windows-static`
### Bug fixes
- live/test: Fix /removeaug (#974)
- emu: Fix CTargetWnd buff accessor (#975)
## 2/22/2026
### ImAnim Integration
ImAnim is now available to lua and plugins! [See PR For more info](https://github.com/macroquest/macroquest/pull/968).
- See the lua demo for examples of how to do things with ImAnim in lua: `/lua run examples/imanim_demo`
- Lua definitions have been updated with ImAnim support.
- Console menus have been re-arranged a little bit.
## 2/18/2026
Added network discovery for actors on the local network. In general, no configuration is
required, but the following config changes were added/moved:
- Moved the `NetworkPeerPort` main ini option into `[Network]` as `PeerPort` (with fallback)
- Added the following options in the `[Network]` section in the main ini:
- `PeerPort` (default 7781): the port to start the actor peer on
- `MulticastPeriod` (default 1000): milliseconds between multicast announces
- `MulticastPort` (default 37781): port the udp multicast sender sends to
- `MulticastAddress` (default 239.255.77.81): multicast address to use (http://en.wikipedia.org/wiki/Multicast_address)
- `MulticastListenAddress` (default 0.0.0.0): multicast address to listen on
## 2/11/2026 (live)
Update for live patch
## 2/7/2026
### ImGui 1.92.5 Update
ImGui has been updated to the latest release! This release includes a new font renderig
system that supports dynamic font scaling. This new system allows fonts to be rendered
at any font size.
For description of all the font scaling changes, see: https://github.com/ocornut/imgui/releases/v1.92.0
The short version is: ImGui::SetWindowFontScale is now deprecated. You should use the
PushFont function to change the font size now with the new font size parameter:
```c++
// - PushFont(font, 0.0f) // Change font and keep current size
// - PushFont(NULL, 20.0f) // Keep font and change current size
// - PushFont(font, 20.0f) // Change font and set size to 20.0f
// - PushFont(font, style.FontSizeBase * 2.0f) // Change font and set size to be twice bigger than current size.
// - PushFont(font, font->LegacySize) // Change font and set size to size passed to AddFontXXX() function. Same as pre-1.92 behavior.
```
### C++20 Update
The MacroQuest project now compiles with c++20 mode enabled by default. This might introduce
compilation errors in some cases for non-conforming code. The fixes are pretty trivial in
majority of cases.
The project doesn't currently expose any c++20 code to plugins, so if you're stuck in a bind
you can set your project back to c++17 manually, but be warned that the project may begin
introducing c++20 code that will render that option unavailable. So get your code updated!
If you need help updating your plugins please drop by our discord server.
## Update 2/5/2026
Add Fangbreaker to list of supported live servers.
## Update 2/1/2026
### Features
- Add support for plugin-created lua modules. See #961 and docs at https://docs.macroquest.org/plugins/developing/lua-modules/
### Fixes
- ROF2 Emu: Fix Item.Evolving.ExpOn not returning correct value
- Fix EQ Font rendering in ImGui
- Fix crash when opening chat window settings before being in game
- Fix renderdoc integration crashing on startup
- Fix potential TradeskillDepotWnd crash if hash table is empty
- Allow EQ to capture keyboard input while ImGui is capturing mouse input
## Update 1/23/2026
Update for latest live patch
## Update 1/21/2026
Update for latest live patch
## Update 1/4/2026
### Fixes
- Fix lua drag & drop to properly support the following primitive types:
- boolean, number, string, ImVec4, and list of numbers. (#955)
- Fix ContainerManager structure causing crashes when accessing world container inventory
- Fix UI not being reloaded after shrouding. (#949)
- Fix /target clearing target buffs unnecessarily. (#937)
- Add missing damage type strings for Prismatic, Chromatic, Corruption and Physical. (#953)
### Features
- Add `Format` member to `time` datatype. This allows formatting time using strftime format strings.
i.e. mq.TLO.Time.Format("%Y/%m/%d %H:%M:%S") will return "2026/01/04 18:30:30".
For more info, see: https://en.cppreference.com/w/cpp/chrono/c/strftime.html
### Lua Improvements
- Drag and Drop improvements for lua:
- Add support for `_COL3F` and `_COL4F` payloads used by color widgets. These
will return a list of 3 or 4 numbers, which can be converted into an ImVec4
using `ImColor(data)`.
- LuaImGuiDragDropPayload can now access the payload's type and the raw data as a
string using `DataType` and `RawData`, respectively.
- Note: It continues to be true that a payload will only be valid during the
frame in which is is received, and should not be stored.
- Add `ImGuiItemFlags` enumeration, along with `PushItemFlags` and `PopItemFlags`.
- Add `ImColor` function to convert various parameters into an ImVec4 representing a color.
- Extended examples/imgui_demo to include some of the drag and drop examples with some
modifications to exercise more of the drag and drop code.
## Test Patch Update 12/21/2025
Update for latest test patch
## Update 12/3/2025
- Updated Zones.ini to include new zones from latest expansion patch.
## Live Patch Update 12/2/2025
Update for live patch
## Test Patch Update 11/24/2025
Update for latest test patch
## Update 11/17/2025
Updated for live hotfix.
## Update 11/14/2025
- loader: Fix SendSetForegroundWindow - should help resolve some issues with focus swapping
## Update 11/13/2025
Updated for live hotfix.
- Fix achievements not reading properly
- Fix Item.CashLoot not returning the proper value
- Fix FindItemWnd additional columns overlapping existing columns
## Live Patch Update 11/12/2025
- Includes all changes from previous test patches.
Additional fixes:
- Fix crash when inspecting cash loot bag.
## Test Patch Update 11/6/2025
- Added new EquipmentItem TLO that provides access to the new equipment keyring. Usage is
the same as other keyrings.
- Locked Items are added to the client, but access through MQ is not available yet.
- Added CashLoot member to Item type
## Previous Updates
