Track what's new, improved, and fixed in each version of AutomationView.
June 2026
¶ Step Navigation and References Panel
- Ctrl+click a step to jump straight to where it is defined.
- A new always-on References panel lists every place a step, action, or variable is used - including references in other sequence files.
- Action focus shows full references: info, roles, comments, and go-to-definition for the variables an action uses.
- New structural checks catch branch mismatches, crossing branches, self-loops, and unreachable steps in your sequences.
- Click a diagnostic to reveal the affected step or transition directly in the visual editor.
- Reveal an operator popover on a transition condition for quicker editing.
- The interface is now available in five languages: English, French, German, Spanish, and Portuguese.
- Emulation now follows IEC-correct SFC token propagation.
- A timer or counter preset you set manually is preserved when its step activates - it is no longer reset on activation.
- Reset now restores variables to their initial values.
- Autocomplete suggestions are no longer lost when a click lands on the canvas pan area.
- The editor reliably detects an open sequence even when the focus signal is missed.
June 2026
¶ Bug Fixes and Improvements
General bug fixes, performance improvements, and security updates.
While emulating a sequence, you can now force a variable to a value by hand and see the effect immediately.
¶ Set Starting Values for Timers, Counters, and Variables
You can now define initial values for timer presets, counter presets, and variables, and save them with your machine. A new control lets you set a variable's starting value directly from the sequence editor.
Transition conditions now suggest your numeric variables on both sides of a comparison. After typing a comparison such as "greater than or equal to," AutomationView proposes the matching variables and steps as you continue.
The Variables panel now updates in real time while a simulation runs, so you can follow values as they change without refreshing.
Large sequences lay out and render noticeably faster. Automatic layout has also been improved, connections render as clear jumps, and branches stay where you expect them.
- Timers that continue across a step transition now keep their elapsed time instead of restarting.
- Copy, cut, and paste in the sequence editor are reliable again.
- Pasted steps now receive fresh, unique names instead of duplicating the originals.
- Selecting a jump now shows a selection border instead of highlighting its text.
- Editing a multi-line transition condition re-flows the sequence correctly and keeps your cursor in place, and the condition text displays correctly as soon as you start editing.
- Fixed an error that could occur when using a variable for a timer preset.
- Performance and memory use have been improved during emulation and when editing large sequences.
- Security updates to underlying components.
June 2026
This release pairs editor 0.5.0 with extension 0.6.0.
The AutomationView host extension is now delivered through the marketplace (https://marketplace.automationview.app) instead of being bundled inside the editor. The editor and the extension now update on separate schedules. Extension updates arrive through the gallery without an editor update.
The interface is now available in English, French, German, and Spanish.
- The editor webviews, the extension host, and the Python language server are fully translated for German, Spanish, and French.
- Themes are localized for German, Spanish, and French.
¶ Branded Welcome Screen
A new branded AutomationView welcome screen replaces the previous start page.
- A single New Project entry, plus Open Project.
- The project gallery is simplified, and Python is removed from the walkthrough.
The Sequence and Machine editors now show structural diff highlighting, marking added, removed, and changed elements. A custom diff tab capability lets these editors show a diff as a normal editor tab.
- Shift and arrow-key directional multi-selection.
- A sequence can now have more than one initial step.
- Action duration and preset values can now use a variable operand, not only a literal value.
- Operand variable autocomplete replaces the old free-text action condition and code entry.
You can toggle a step active or inactive while emulating. Manual step toggle lets you force a step's state during emulation.
Cached completion results show immediately and refresh in the background.
- Removed the Run and Debug interface and the bundled GitHub Copilot integration from the editor.
- Updated the underlying editor base to the 1.121.0 platform base.
- Removed the New Macro, New Encapsulation, Sign In, and Sign Out commands, and the unused empty-sequence template.
May 2026
The condition= and code= parameters of step.add_action() and transition.add_action() have been removed. SFC (IEC 61131-3) does not allow conditional execution on actions - conditions belong on transitions. Files that previously set these on actions no longer round-trip them.
- Transitions still accept
condition=. This change only affects actions.
- The action node in the visual editor no longer shows the green "condition" bubble between the qualifier and the action name.
- The
condition and code properties are also removed from the project's TypeScript / JSON action schema; old projects using them load without those fields.
Edge-detection instructions now correctly require an input operand. Previously they could be registered with an empty operand list, in which case the runtime never saw an edge and the action's output stayed FALSE forever - usually leaving a step "stuck" forever in the simulation.
- The action registry marks
R_TRIG and F_TRIG as requiresOperands: true.
- The visual editor now renders an operand input box (labelled
CLK) on these actions, so the watched signal can be picked from the auto-completion list.
- See R_TRIG and F_TRIG for the corrected Python pattern (
operands=[ActionOperand("input_signal")]).
The Set-Reset and Reset-Set flip-flop instructions (SR, RS) were previously registered with the boolean-operands parameter kind, which the editor's parameter renderer did not handle - there was no UI to fill in Set or Reset. Both inputs now appear inline as two operand fields (labelled set and reset) on the action node.
Click (or right-click) directly on a step in the Sequence Editor while the emulation is running to toggle its active state. The cursor turns into a pointer over each step during emulation as a discoverability cue.
- Active step -> inactive (deactivates immediately on the next scan cycle).
- Inactive step -> active.
- For dynamic sequences, the toggle is routed to the instance currently displayed in the editor's instance selector - so toggling on
pump_1 does not affect pump_2.
Useful for skipping ahead in a sequence during debugging, recovering from a stuck state, or testing downstream transitions without first having to drive their upstream condition to TRUE.
May 2026
Discuss this release on the forum
¶ Bug Fixes and Improvements
General bug fixes, performance improvements, and security updates.
¶ Python OOP and Visual Sequence Editing
Sequences can now be built using Python class inheritance alongside the visual editor.
- Python files always open in the text editor. The LSP continues to index them for autocomplete, hover, and the project catalog.
- New palette commands: Create Base Class, Create Sequence from Class, and Initialize Standards Library - scaffold plain, parametrized, or mixin base classes, child sequences that inherit from a base, and a standards library pre-seeded with a
ProjectBaseSequence.
- The visual sequence editor now shows an extends badge next to the sequence name when the class inherits from a custom base class.
- Multi-level inheritance chains are resolved automatically, so indirect subclasses of
Sequence are detected correctly.
A native context menu is now available throughout the sequence editor.
- Right-click on steps, transitions, actions, comments, edges, or the empty canvas to access contextual actions.
- The floating step-type toolbar is replaced by a Change Type submenu inside the context menu.
- New actions accessible from the menu: Select All, Fit View, Copy, Cut, Paste, and Delete.
¶ Dynamic Contextual Toolbar and Bulk Step Renaming
The sequence editor toolbar adapts to what is selected.
- The toolbar shows a contextual panel next to the main toolbar depending on the selected element: step type control and rename for steps, edit and add action for transitions, move up/down and delete for actions, delete for comments, and a multi-selection panel.
- Bulk renaming: with steps selected,
Shift+R recomputes their names silently. With nothing selected, it opens a confirmation dialog and renumbers the entire sequence.
- Disabled toolbar buttons now show explanatory tooltips.
The Machine editor no longer requires a manual refresh.
- The Machine editor now subscribes to project changes and stays in sync automatically.
- The manual Refresh button has been removed.
- Reloads instance class lists and variable lists automatically when sequence files change.
When two or more sequence files declare the same class name, all affected files now show an error diagnostic that names the conflicting files. Diagnostics are cleared automatically when the conflict is resolved.
- Fixed SFC node positioning and layout problems.
- Fixed dropdown completion bugs in the sequence editor.
- Fixed selection behavior: selecting an element for inline editing now also sets it as the sole selection.
- Removed the rename cascade feature, which caused false-positive rewrites in cross-file references. Unresolved imports now surface as diagnostics.
- Fixed variable batch updates to include the updated parent object in emissions.
- Fixed selection state when starting emulation.
- The empty workspace watermark now shows a single Initialize Project button, replacing the previous two-button layout.
April 2026
Discuss this release on the forum
¶ Bug Fixes and Improvements
General bug fixes, performance improvements, and security updates.
This release introduces the concept of Plugins - additional components that extend AutomationView's compatibility with specific manufacturers and platforms, such as Codesys, TIA Portal, and Studio 5000.
Plugins are currently in an experimental phase and under active development. Expect breaking changes and limited stability.
Key plugin capabilities introduced in this release:
- Live Translation Mode - Real-time translation of the automation sequence, with full project export through the active plugin.
- Custom Action Registration - Plugins can now register their own custom actions, significantly increasing plugin autonomy and extensibility.
- Target Machine Settings - Users can now save the manufacturer and target PLC directly in the machine settings, allowing plugins to adapt their behavior accordingly.
The sequence editor has been completely redesigned for a faster and more intuitive experience:
- Smoother animations and refreshed color palette.
- Improved overall interface responsiveness.
- New design - steps, actions, and transitions redesigned to be more logical and cleaner.
- New grid size settings - Configure the grid granularity to match your workflow.
- New font size settings - Adjust text size directly within the editor.
- Removed the legacy Plugin panel from the AutomationView menu.
- Removed the Open VSX integration.
- These removals pave the way for a dedicated Plugin Marketplace, allowing users to browse, install, and manage plugins from a centralized interface.
March 2026
Discuss this release on the forum
This is our first official release note. It includes a summary of what AutomationView already offers as of v0.3.9.
- Improved Diagnostics - Now displayed directly in the visual editor.
- Drag-and-drop actions - Drag actions across steps and transitions. Drop above, below, or onto another action to replace it.
- Drag-and-drop action text - Quickly replace action content by dragging text between actions, making editing much faster.
¶ Bug Fixes and Improvements
- General bug fixes, performance improvements, and security updates.
- Removed the reachability diagnostic that flagged nodes unreachable from an initial step (e.g., macros without an initial step). A step should also be activatable or deactivatable from another Grafcet, which the previous check did not account for.
| Feature |
Description |
| Visual Sequence Editor |
Interactive canvas for designing SFCs with real-time Python code synchronization |
| Project Management |
Create and manage projects with a file-based infrastructure |
| Python-Based Automation |
Define steps, transitions, and actions using an intuitive Python OOP API, compliant with IEC 61131-3 |
| PLC Emulation |
Built-in scan-cycle emulation engine for testing sequences without physical hardware |
| Intelligent Diagnostics |
Real-time structural validation detecting deadlocks, unreachable steps, and address conflicts |
| Smart Completion |
Context-aware code completion |
| Git Integration |
Built-in version control for tracking project changes |
| Project Templates |
Quick-start templates for common automation patterns |
Features planned for future releases. See the full Roadmap for details.
Found a bug or have a feature request?