1.9.9774
Daily-driver build with the safest release cadence.
- Updated
- 10 weeks ago
- File Size
- 515.39 MB
- Release Notes
- Open notes
Stable is the recommended track for most users. Alpha gets you the newest capabilities first.
Daily-driver build with the safest release cadence.
Fastest release track with the newest features and experiments.
Every release stays linked here so you can inspect what changed before you switch versions.
A small patch with a few fixes.
#1 and #2 suffixes could get mixed up or switch on their own.A small patch following 1.9.9942. This one mostly contains fixes for overlays and the UI.
Вот и пришел тот момент, о котором я писал еще в 1.9.9339 - старую WPF-оболочку отключаем.
Последние несколько месяцев WPF и Blazor интерфейсы жили параллельно. Blazor UI уже давно был доступен и для большинства пользователей включался по умолчанию. Теперь переключателя между оболочками больше нет - старую убираем окончательно, все дальнейшие изменения будут идти только в Blazor UI.
Внутри это очень большой апдейт, поэтому сначала выпускаю его только в Alpha. Баги наверняка будут :) Stable пока остается на 1.9.9774.
Оверлеи были одним из последних больших кусков старого интерфейса. В этой сборке их редакторы и основная логика окончательно переехали в Blazor UI.
Больше всего изменений получил Replica Overlay: переделан выбор региона, ресайз и сам редактор. Во время выбора региона Replica теперь затемняется, а с зажатым Shift можно менять размер с сохранением пропорций.
Отдельный Web UI Overlay объединен с C# Overlay. Старые конфиги должны переехать автоматически.
PathOfExile.exe#2 могло само заменяться строкой с адресом окна, процессом и заголовком.Target Window в ML Search, Image Search, Color Search, Text Search и другие триггеры, действия и оверлеи, которые работают с окном.Багфиксы
#EA-1266EyeAuras.Blazor.Controls в PoeShared.Blazor.Controls - нужно обновить неймспейс#EA-1294Embedded Resources в Script Properties: список ресурсов, операции с файлами, отображение деревом, лимиты списка и сценарии с references/NuGet.EmbeddedResources теперь должно быть проще подключать - добавлена поддержка частичного совпадения по пути (/res/my.png => res/my.png и my.png найдут ресурс)Send Sequence - добавил забытые ранее элементы для MouseMove#EA-1295#EA-1292Security measures.#EA-1265A small follow-up patch after the larger 1.9.9545 update. This release mainly includes fixes for EyePad, video preview, and SDK dependencies.
Fixed file launching through EyePad.
If EyeAuras is started with a .json or .v1.enc file, that file is now treated as an aura file and launched through the aura tab. Regularly opening a .json file inside EyePad still works as opening it as a text file.
A few related fixes were also included:
InvalidDataFixed a race condition in video preview: the old frame buffer could already be freed while the UI was still trying to read a frame from it.
Now those stale frames are simply skipped or logged instead of crashing the preview.
.json and .v1.enc files passed on application startup now open as aura files..json opening inside EyePad remains text-based.InvalidData.EA-1258: the notification overlay could break after obfuscation.ImageSharp and Unity, and removed the old direct reference to OpenAI 1.7.2 to eliminate NU1605 downgrade conflicts.This update has two main focuses:
One important user-facing AI change: free limits are now available, so you can try Assistant without manually setting up an OpenAI account. This matters especially for users in Russia: OpenAI currently blocks direct access for them, and EyeAuras Gateway solves that problem. If you want full control, you can provide your own OpenAI API key or compatible endpoint; in that mode, EyeAuras connects directly and does not use Gateway.
Other major areas in this update:
.csx, .sln, Live Import, and external IDEsIf you're new to EyeAuras: a pack is a collection of auras/scripts, and a mini-app is a ready-to-use solution built on top of EyeAuras.

The goal of this update was to bring the new and old interfaces to feature parity. Future development will continue in the new UI. The old one will be disabled in one of the next updates.
The second main focus of this update is AI. It is now split into two usage scenarios:

EyeAuras integrates with OpenAI and OpenAI-compatible APIs: you can provide your own OpenAI API key or compatible endpoint, and requests will go there directly.
OpenAI does not provide free limits for this kind of third-party integration, but I still wanted users to be able to try the new functionality without extra setup. So EyeAuras handles this through EyeAuras Gateway — essentially a proxy server in front of OpenAI. Thanks to Gateway, free limits are available for both Assistant and Codex: you can get started without a separate OpenAI account, keys, or endpoints. That should be enough for occasional AI help.
Gateway also solves the access restriction problem for users in Russia: OpenAI currently blocks direct usage there, while EyeAuras Gateway allows AI features to work without separate routing workarounds. If you specify your own API key or endpoint, Gateway is not used. In the near future, there will also be a way to top up your EyeAuras balance so that users in Russia can use AI even then.
AI Assistant is a smart EyeAuras reference and a lightweight mode for simple changes: which trigger to use, why an action did not fire, where the right wiki section is, what a minimal C# script looks like, or what needs to be fixed in your current setup.
At the same time, EyeAuras Bot is now available in Discord. It provides the same fast help format, but outside the app: the bot knows the wiki, changelog, and scripting best practices.

The wiki is now available in both Russian and English. This matters both for users and for AI: the better the documentation, the more accurate Assistant, Discord Bot, Codex, and external coding agents become.
Codex Coding Assistant is the stronger mode for tasks where a simple answer or a small edit is not enough. It works alongside EyePad and external IDEs: it can see workspace files and folders, keep task context, make a plan, apply edits, account for editor diagnostics, and explain what changed.

Typical Codex use cases: writing or fixing a C# script, understanding Behavior Trees, building a pack, preparing a mini-app, using Live Import, connecting the Memory API, or explaining an error directly in the context of your current project.
Codex is the future main AI mode in EyeAuras for tasks where it needs to see the whole project.
In short: Assistant is cheaper and faster for reference, ideas, or a simple edit. Codex is smarter and better for tasks like “help me do this in my project.”
The old Free version restrictions have been almost completely removed: limits on aura count, script size, integrations, and core features should no longer be held back by the old Free/Pro model.

The only notable exception for now is around network messages: using the Network Message trigger and Send Network Message action still requires a license. This is a technical leftover from the old model, and I plan to remove it in one of the next major updates.
Overall, EyeAuras is moving toward a free core application. Monetization should shift away from restrictions inside the app itself and toward finished products built on top of it: packs, mini-apps, and author-made solutions.
Sublicenses are no longer about restricting EyeAuras as a platform. They are about how authors can distribute their own solutions.
If you build a pack, a mini-app, or private automation for a team or client, you can now assemble a more suitable access model from the available options. For example:
The idea is simple: EyeAuras stays as open as possible as a platform, while authors can cleanly monetize what they build on top of it.

Major changes:
RegisterViewType(...)Script Properties, NuGet management, and References and Embedded ResourcesThe Memory API now has its own documentation section. It is a way to read state directly from a process. Its main use case is C# scripts, but you can also pass read values through variables.
For example, you can read coordinates, HP, the current target, object lists, and more.
What this gives you in practice compared to using WinAPI directly:
LocalProcess, then change a single line and use the exact same code with a DMA device, driver, or your own ultra-secret reading methodReToolsPlugin can be plugged directly into your own Memory API scripts to give an AI agent reverse-engineering tools for the selected process: read memory, search data, disassemble, inspect RTTI, save findings, and continue from discovered factsEyePad continues to evolve into a separate working mode for users who write code, run scripts, import packs, and work with .sln.

The important shift here is that EyePad is now closer to a real work environment, not just an embedded editor. You can open individual .csx and text files, work with .sln, run Live Import, import a pack, and gradually turn an experiment into a proper project.
File handling reliability has also been improved. Drafts, saved files, external file changes on disk, and recovery after restart should now behave more predictably. This is especially important for AI scenarios: if Codex or an external agent works with a project, it needs real file context, not “magic” text living only in editor memory.
This is still not the final Explorer/workspace model, but the direction is already clear: EyePad should become a proper shell for the workflow of “write code, run it immediately, then turn it into a pack or mini-app.”
Export / Import has been noticeably improved both visually and functionally.

What changed:
Export window now lets you set pack parameters, name, and descriptionThe goal is still the same: to bring the workflow to a point where a working mini-app can be built as quickly as possible, literally in a couple of clicks. We are already 90% there.
Image Search now includes a built-in template editor.

You can now do all of this directly inside the trigger:
Image preview rendering in the new UI has also been improved, template rendering issues have been fixed, and the missing SDK availability of IComputerVisionExperimentalScriptingApi has been added.
Below is a combined list of Bugfixes / Improvements items from all changelogs included in this large update. The list is sorted by importance: crash/freeze first, then Licensing/Auth, UI, Scripting, and the remaining groups.
SendInputController that could appear in Ctrl+V scenariosSharePreview crashAiChatSession related to SetInputSinksublicense in the internal licensing APIsEyeAuras.ImGuiSdk, 0.1.42: markdown editor, animations, compound buttons, font integration, images, caching, and more.WindowListProvider: when a window title updated, EA could lose the window for 1 frameBindings editor might not open as a popupSubTree in behavior trees did not workBlazor windows, where the window could suddenly jump sidewaysBlazorWindow, so it should behave better under loadBlazorWindowIWindowSelector.FindWindow: a missing window should no longer throw an exceptionRegisterViewType(Type viewType, Type dataContextType, object key = default). This allows registering custom UI widgets.CreateRemoteThread, APC, and others). Please note: inject and memory reading depend on the protection of the specific process; games and anti-cheat-protected applications may require separate approaches, compatible access methods, or additional setup.ScriptContainerExtensions was being registered repeatedly by BT nodes. Because of that, singleton objects stopped being... singleton objects.DefaultNuGetPackageBlacklist, which improves compatibility with older netstandard1.3 and netstandard2 packagesIComputerVisionExperimentalScriptingApi was unavailable in the SDKCould not build the proper workspace state, please report this errorEmbedded Resources and StaticWebAssets support in NuGet packages — especially useful for UI components and packages that bring their own web resourcesOpenAI and EyeAuras Gateway (a proxy for OpenAI)@everyone, role, or user pingsResponses API: added response streamingIEyeAurasAiGuidanceService was moved out so scripts can programmatically access a guidance pack — you can load a docs pack and feed it directly to AI from inside your script, giving AI more context about your pack/appNuGet and package references should now make it into packed builds more reliablyExport when Binaries Only mode is enabled.gitignore preservation during project exportA new Agent Guidance page has been added to the AI settings.
In short, EyeAuras can now prepare a portable guidance-pack folder for external AI coding agents. It contains up-to-date docs, examples, SDK notes, metadata, and MCP status.
This is useful when you open an EyeAuras project, an exported workspace, or a C# project in an external agent such as Codex, Claude Code, Cursor, and similar tools. You no longer need to manually explain what EyeAuras is or where the correct context lives every time.
Important: EyeAuras now works at the folder level. Your project AGENTS.md is not changed or overwritten. The guidance pack itself includes its own AGENTS.md, which the agent can use as a starting point.

From this window, you can:
generated/ai through the selected .csproj or .sln
The pack contains AGENTS.md, README.md, docs/, manifest.json, and, if MCP status was recorded, mcp-status.json.

The generated/ai folder is managed by EyeAuras and is fully replaced when copied again.
Read more:
The same window now also includes a more convenient MCP helper.
MCP is a local bridge that lets an AI agent request targeted context from EyeAuras. The docs remain the primary source, and MCP is best enabled when the agent needs to ask EyeAuras about the current application state, windows, or available objects and symbols.
For normal wiki questions, you can safely ignore it. For external coding agents and more advanced scripting tasks, it can be very useful.
EA-1236 by S1lver)Доработан режим IDE Context во встроенном AI и Codex. Теперь ассистент лучше понимает, с каким именно скриптом, аурой или проектом вы сейчас работаете.
Если же проект уже экспортирован на диск, AI теперь увереннее использует реальные диагностики, поиск символов и документацию. Проще говоря, в сложных задачах он должен чаще смотреть на реальный проект и меньше угадывать.

В редактор C# Overlay добавлена кнопка Clone as Action.
Она клонирует текущий overlay как OnEnter C# Script action, после чего сам overlay автоматически сворачивается и отключается. Это удобно в сценарии, когда overlay сначала использовался как быстрый прототип, а потом его нужно превратить в обычный action без ручного копирования проекта.
Заодно исправлен баг с прозрачностью у C# Overlay, из-за которого overlay мог вести себя некорректно.

BlazorWindowНебольшой патч, который должен улучшить отзывчивость окон под нагрузкой и помочь вашим пакам быстрее попадать в поисковую выдачу.
Добавлена новая документация по Memory API для C#-скриптов. В ней постепенно раскладывается базовая модель работы с памятью в EyeAuras: какие есть backend'ы, с чего лучше начинать, как искать code cave, как подключать свой IProcess и как строить собственные memory backend'ы.
Полезные точки входа:
Во внутренние API лицензий добавлены новые подписанные поля у UserLicense, а у саблицензий появился явный MaximumSessions.
var license = GetService<ILicenseAccessor>();
Log.Info($"UserId: {license.UserId}");
Log.Info($"Roles: {string.Join(", ", license.Roles)}");
Log.Info($"AppVersion: {license.AppVersion}");
if (license.ShareSublicenses.Length > 0)
{
Log.Info($"MaximumSessions: {license.ShareSublicenses[0].MaximumSessions}");
}
Подробнее: Лицензии на паки
В IProcessControlApi появились явные FreeMemory(...) и ProtectMemory(...). Теперь выделенный регион можно не только получить через AllocateMemory(...), но и нормально довести до конца: поменять protection, выполнить нужные действия и затем корректно освободить.
using System.Diagnostics;
using EyeAuras.Memory;
using var process = LocalProcess.ByProcessId(Process.GetCurrentProcess().Id);
var control = (IProcessControlApi) process;
var region = control.AllocateMemory(
IntPtr.Zero,
4096,
MemoryAllocationType.Commit | MemoryAllocationType.Reserve,
MemoryProtectionType.ReadWrite);
var oldProtection = control.ProtectMemory(region.Address, region.Size, MemoryProtectionType.ExecuteRead);
control.ProtectMemory(region.Address, region.Size, oldProtection);
control.FreeMemory(region);
Подробнее: Memory API - С чего начать
BlazorWindow, из-за чего окно должно вести себя лучше под нагрузкойsublicenseScrydeC# scripts now have a Properties button that opens a separate script properties window. It brings the main settings and dependencies together in one place: Overview, NuGet package management, References for internal and external assemblies, and Embedded Resources for files that should be distributed together with the script.

Learn more:
Codex now understands EyeAuras-specific details better, so it should be more useful for complex technical tasksExport and Import dialogs to make them more convenient to useBlazor windows, where the window could suddenly jump to the sideICodeHighlightService error