Release Notes

QMachineStudio 4.0

A rebuilt script engine, sequence testing without hardware, and a thorough overhaul of screens, messages and licensing. This is the official release covering everything developed in 2026.

Version 4.0.0 · July 2026 · ICT Co.,Ltd.
01

Highlights

The eight biggest changes in 4.0. See the detailed sections below for everything else.

01

New script engine

The XScript execution engine has been rebuilt from scratch and is now the default. Error detection is far more accurate, and scripts run as compiled bytecode.

02

Simulation mode

One option turns IO and motors into built-in virtual devices, so you can run a sequence end to end without any hardware.

03

Source-free deployment

Ship compiled scripts (.xmc) without the source (.xms). The deployed package runs but cannot be opened in Studio or edited.

04

Display language

Switch the development UI — menus, toolbar, tabs, dialogs — between English and Korean instantly. Compile error messages are translated too.

05

Many new design controls

More than fifteen new controls including charts, alarm lists, a sequence monitor and loading spinners, plus SVG vector image support.

06

Database integration

Work with SQLite and MSSQL straight from scripts via DB["name"], and manage schemas and queries in Database Studio.

07

Stronger user management

Accounts were rewritten with password policies, lockout, audit trails and automatic logout.

08

Reworked licensing

Three clear editions, plus grace operation so a loose dongle contact no longer stops the line immediately.

02

XScript

The language itself grew considerably. Existing scripts keep working; the new syntax is there when you need it.

New execution engine

  • Changed

    The default script engine is now the new engine (Bytecode). You can switch back to Legacy in Tools > Options > Script Engine.

  • New

    Scripts are compiled to bytecode before running. A build cache (.xmc) skips recompiling when the source is unchanged.

  • New

    The active engine and its version appear in the system and startup logs. From a script, use SYS.GetScriptEngine().

  • Improved

    Integer arithmetic is now handled at full 64-bit precision, so very large values compare and calculate correctly.

  • Improved

    Writing past the end of an array used to silently grow it; it is now a runtime error, consistent with reads and with the legacy engine.

New syntax

  • New

    char type — character literals ('A'), comparison, character/number arithmetic and string indexing (str[i]).

  • New

    byte type and byte arrays — for binary protocol buffers. Values wrap automatically when out of range.

  • New

    switch statement — match several values with case 1, 2, with automatic break.

  • New

    Hex and binary literals0xFF, 0b1111_1111, with _ as a digit separator.

  • New

    Single-line bodies without bracesif(a) Log(a); in the usual C#/C++ style.

  • New

    Multi-line statements — break expressions and calls across lines inside brackets, no trailing backslash needed.

  • New

    Function return typesFUNCTION bool Foo() / FUNCTION void Bar(). Omitting the type behaves as before.

  • New

    ref parameters — return a value and a success flag from the same function.

  • New

    Short-circuit evaluation — in if(A && B()), B() is skipped once A settles the result.

  • New

    C# enum support — enums exposed by drivers are usable directly as TypeName_ValueName constants.

New objects and APIs

  • New

    CONTROL["Module::Control"] — read and write screen control properties from a script.

  • New

    DRIVER["DriverName"] / LIB["Name"] — call driver-specific features and your own project library.

  • New

    DB["Name"] — run queries, transactions and backups from a script.

  • New

    CONTAINER["Name"] — direct container access. Material handling is now organised as DEVICEMGR / CONTAINER / DEVICE (existing syntax still works).

  • New

    Thread synchronisationSYS.CreateEvent/WaitEvent and SYS.CreateSemaphore/WaitSemaphore, so you can wait on a signal instead of polling with Sleep.

  • New

    Cursor-based table APIUseTable/AddRow/SetField/GetField handle rows and fields without index arithmetic.

  • New

    Serial number manager — register rules, generate and preview serial numbers from a script (SN.*).

  • New

    Sequence state queries — SYS.GetCurrentStep(module) and SYS.GetCurrentStepIndex(module).

  • New

    Suppress repetitive debug logs with SYS.SetDebugLog(true/false).

  • New

    Switch job files at runtime — SYS.ChangeJobFile("Default.JOB", false) for a silent change.

  • Improved

    HTTP calls (SYS.SendHttpPost/Get/Patch/Delete) gained per-request timeouts and much better throughput under concurrent load. SendHttpPostFireAndForget was added for status reports that need no response.

  • New

    Exclude unused communication devices — COM["Name"].SetUse(false) stops auto-connect and connection-failure alerts.

03

Code Editor & Build Diagnostics

Mistakes that used to surface only at run time are now caught at build time — far fewer lines stopped by a typo or a wrong argument.

Build validation

  • New

    Object name checking — IO, motor, device and module names written as string constants are verified against the project at build time. If only the letter case differs, a hint is shown.

  • New

    Property and argument checking — unknown property names, wrong argument counts, and values passed to a ref parameter are reported as errors.

  • New

    Type checking — assigning a string to a bool, using += on a bool, and mismatched return types are detected.

  • New

    Duplicate function declarations are now build errors (previously one of them was silently ignored).

  • New

    Screen binding validation — DataName problems on design controls are reported as "name not found" or "type mismatch". Renaming a variable re-links every control on the next build.

  • New

    IO and motor function links — if a link breaks because of a typo or a deleted function, a build warning is shown.

Error list

  • New

    Compile error messages are shown in English or Korean, and the list switches language immediately when you change the display language.

  • New

    F8 / Shift+F8 jump to the next and previous error.

  • Improved

    Errors now report the real function or step name with the line number inside it, and double-clicking opens that script.

  • Improved

    Identical consecutive errors are collapsed into one line with a repeat count (xN).

Editor

  • New

    Dark and light themes in the script editor (keywords, comments, strings, numbers, line numbers, search highlight).

  • New

    Syntax highlighting control (SyntaxEditor) — display XScript, C#, C++, HTML, JSON or XML code on your own screens with highlighting and line numbers.

  • New

    Search results open as one tab per keyword (up to 10, navigate with F3 / Shift+F3).

  • Improved

    Stronger code completion — array members, name lists for CONTROL[, DEVICE[, VISION[ and DB[, automatic correction of lowercase sys. to SYS., and adding a missing parameter on the spot.

  • Improved

    Code formatting (Ctrl+D) now indents brace-less bodies and } else { correctly.

  • Changed

    Semicolons are no longer inserted automatically on save. Your source is preserved exactly as typed, and misplaced semicolons are reported as warnings instead.

  • Improved

    Editing .xms / .xmd in an external editor is detected automatically; after you confirm, files are reloaded and the open tab and caret position are restored.

04

Operating Modes

  • New

    Simulation mode — enable it in the project options and IO and motors switch to built-in virtual devices, so sequences run without hardware. Virtual motors compute travel time from the speed and acceleration settings so the position advances like a real board (homing, jog, stop and pause supported), and virtual IO remembers its state and injects the expected value on a Wait call so the sequence keeps moving on its own. A SIMULATION banner appears in the title bar, and returning to normal mode turns all outputs off and requires re-homing every axis.

  • New

    Maintenance mode — a LOTO-style safe working mode. Entering it blocks the screen with a full-screen overlay and disables motor motion, event functions, external switches and shortcuts; only Engineer level or above can leave it. Control it from a script with SYS.EnterMaintenance/ExitMaintenance.

  • New

    Tray mode — when started in machine mode, run in the background from the system tray (Show / Hide / Exit from the tray menu).

  • New

    Windows shutdown handling — operation is stopped and run data saved automatically when the PC shuts down or the user logs off. The OnWindowsShutdown script event can also refuse the shutdown (configurable in the project options).

  • New

    System issue notification in machine mode — driver loading, setup data files, communication connections and script errors are reported in a dialog on the machine screen (optional; nothing appears when there are no problems).

  • New

    An option to switch to the Run screen automatically when operation starts (off by default).

05

Screen Design

New design controls

  • New

    Charts — line, bar (XBarChart) and radial (XRadialChart). X-axis label formats, category labels and label steps, value labels on top of bars, and multilingual series titles.

  • New

    Alarm and event lists (XAlarmListView / XEventListView) — search, filter, CSV export, auto-scroll, Ack/Reset/Detail buttons and priority colour badges.

  • New

    Sequence monitor (XSequenceDisplay) — current step, cycle time, per-step pass count and last execution time on one screen.

  • New

    Loading spinner — five shapes × four animations, switching on and off from a bound value.

  • New

    Arrow button (ArrowButton) — up/down/left/right/CW/CCW/Stop vector icons, Click/Momentary/Toggle modes, LED indicator and label.

  • New

    Circular progress bar (XCircularProgressBar), timer (XTimer, not shown at run time), touch gesture area (XTouchArea, swipes), date picker (XDatePicker), password box (XPasswordBox), circle/ellipse shape (ShapeCircle), item list box (XItemListBox) and a serial rule editor (XSerialNumberRuleEditor).

  • New

    SVG vector images — Image, ImageButton, ImageDisplay and AnimateImage accept .svg files just like PNG, staying sharp at any resolution.

Grids and lists

  • New

    DataGrid column sorting — click a header to cycle ascending, descending, off. Live updates pause while sorted so the order stays stable.

  • New

    Value colours and status badges — colour cell text or show a pill badge based on the value, with a dedicated editor dialog and template galleries (OK/NG, Traffic, Grade and more).

  • New

    Conditional formatting — text contains, and numeric greater/less/at-least/at-most rules.

  • New

    CheckBox columns, with a header checkbox for tri-state select-all.

  • New

    New design properties for the outer border, corner radius, row height and scrollbar visibility.

  • New

    Multilingual column headers and combo items (opt-in, no effect on existing projects).

  • New

    Force a refresh from a script — CONTROL["Module::Control"].RefreshData().

Designer

  • New

    Property categories — properties are grouped into collapsible Layout / Appearance / Behavior / Data / Event sections, with Name and Caption always at the top. Collapse state is remembered and you can sort by Name or Category.

  • Improved

    Selecting a small control no longer covers it with resize handles, so it can still be dragged; a move cursor is shown over the selected control.

  • Improved

    An unknown control on a design page used to disappear silently; a warning now explains the risk of losing it on save.

  • Improved

    Fixed a renamed control disappearing only in RUN mode, and copied control names accumulating as _1_1_1.

  • New

    Double-clicking a control creates or opens the matching event script function.

  • New

    Show Design Window scales oversized designs down proportionally so the whole page is visible.

Touch and virtual keyboard

  • New

    Multi-touch on the vision display (XvDisplay) — pinch to zoom, drag to pan, double-tap to fit.

  • Improved

    The virtual keyboard was substantially reworked: 50–300% scaling, a Hangul/English toggle synchronised with the physical keyboard, caret and delete keys (Home/◀/▶/End/Del), auto-repeat on hold, and Enter to commit. Double input on a single tap and the keyboard closing by itself on touch monitors are both fixed.

  • Improved

    Fixed key caps showing Korean characters on operating systems without a Korean IME.

06

Messages, Alarms, Languages & Themes

Display language

  • New

    Tools > Display Language (English / Korean) — menus, toolbar, tabs, Solution Explorer, project options and shared dialogs switch immediately. Names of already-open tabs update as well.

  • Improved

    Fixed messages continuing in the previous language after changing the project language (a restart used to be required).

  • Changed

    Message language resolution is now consistent: if the project language is missing from the catalogue, English is used.

Messages and errors

  • Changed

    Every prompt and confirmation now comes from a message catalogue. Windows message boxes were removed and roughly 380 hard-coded strings were replaced with message codes, so English/Korean switching and per-project wording both work.

  • New

    The message and error editor is now a single JSON catalogue editor (Ctrl+4 / Ctrl+5). Built-in, project message and project error catalogues are edited on one page, with a category tree, search, inline multilingual editing and validation.

  • New

    Excel export/import for translation — a single sheet with code, source and translation columns to hand to a translator, and an import preview showing new, changed and unchanged counts. Placeholder ({0}) consistency is verified and a backup is taken automatically.

  • New

    A button to copy built-in messages into the project catalogue (only codes not already present).

  • Improved

    Multi-line message handling was cleaned up — \n appearing literally in edit fields, and line breaks corrupting the error dialog and logs, are both fixed.

Alarms and toasts

  • New

    Alarm state machine — Active → Acknowledged → Cleared → ResetRequired → Resetting → Completed, separating Ack (operator acknowledgement) from Reset (recovery command). A legacy compatibility mode is on by default.

  • New

    Alarm detail dialog — code, time, module, state, priority and acknowledging user in a structured header, with message, cause and action sections and a copy-all button.

  • New

    Toast notificationsShowTimerMessage now appears as a non-modal toast. Position, duration, font, colours and how many can appear at once are configurable, with a live preview.

  • New

    New script functions ShowWarning, RegisterAlarmHandler, ClearAlarm and LogEvent.

Themes

  • New

    Custom themes — pick a theme file (.xaml) from the project's Themes folder. A separate theme editor utility (QmsThemeEditor) is included.

  • Improved

    Text disappearing against the background in dark and custom themes was addressed across the product (menu hover, button captions, title bars, tree selection, property headers, input fields). Colours missing from a custom theme file are filled in from the built-in theme.

  • Changed

    The unused Green theme was removed. The built-in themes are Light and Dark.

07

Database

  • New

    Database access from scriptsDB["Name"] handles SELECT queries, parameterised statements, transactions, JSON-schema table creation and online backup, for SQLite and MSSQL.

  • New

    Database Studio — Structure / Data / SQL tabs. Edit schemas in a table form (dropdowns, templates, one-click columns) and use the SQL editor with syntax highlighting, F5 execution, run-selection and history.

  • New

    Database Connections — connections are managed as a card list with connection tests and automatic backup. Changing an SQLite path asks whether to move or copy the file.

  • New

    Database Events — see which of the eight DB events (opened, closed, error, backup, remote, …) are implemented and add them in one click.

  • New

    Code completion for DB[ names and members.

  • Improved

    Fixed the application exiting without a log during database queries such as CSV export, and crashing when loading a table schema.

08

User Management & Security

  • New

    Rewritten account system — passwords stored with PBKDF2-SHA256 and user data encrypted with AES-256. The audit trail uses a hash chain so tampering is detectable.

  • New

    Policy settings — minimum password length, expiry period, advance expiry warning, password history reuse ban, lockout after failed logins, deactivation of unused accounts, and forced change after an administrator reset.

  • New

    Automatic logout — idle timeout and in-operation logout time, both in minutes (0 disables). Automatic operation suppresses it, and a script API can suspend it temporarily.

  • New

    User management screen — Users / Audit Log / Policy tabs, account state shown with colours and badges, unlock and temporary password actions, and live refresh when something changes.

  • New

    Script login API — GUI.Login(id, pw), GUI.IsLoggedIn, GUI.CurrentUserId/CurrentUserName and failure details (LastLoginResult / LastLoginMessage).

  • Changed

    The option that skips the login dialog when the required level is below Developer and that built-in account's password is empty is now on by default. Turn it off in the project options if you always want the dialog. Developer level always prompts regardless of the option.

  • Changed

    The default minimum password length changed from 8 to 0 (no limit).

  • New

    The login and password-change dialogs are multilingual and use the project design font.

09

Motor, IO & Cylinder

Motor

  • New

    Pause and resume — a moving axis decelerates to a stop and, on resume, continues to its original target. Choose between stopping immediately (MotionHold) or finishing the current move first (StepBoundary). Homing, sensor-search moves and gantry slave axes are excluded, and axes that must keep running (conveyors) can be excluded individually with PauseEnable.

  • New

    Function link visibility — the motor list shows Check/PreHome/AfterHome link lamps with the function names and a 'Check Function' column. Functions that are named but not linked are dimmed with a tooltip explaining why.

  • New

    +/X buttons in the motor setup screen create and link Check/PreHome/AfterHome functions immediately.

  • Improved

    The motor test screen was reworked — a STATUS bar showing the result of the last action, functional colour icons in the status header, an 'In Motion' column, and automatic hiding of unused signals.

  • Improved

    Motor Repeat and Cylinder Test now raise an error alarm with the reason when an action fails.

  • Improved

    MotorDisplay lets you configure status icons, lamp colours and which fields are shown.

IO

  • New

    Function links in the IO editor — create and link check and event functions with +/X buttons; links are stored in the settings file. The list shows link state (green dot plus function name) and refreshes automatically even while the editor is open.

  • New

    IO check and event functions receive the on/off value directly as a second (name, state) argument.

  • Improved

    IO monitoring moved to a dedicated thread, so a Sleep inside an event script no longer freezes the screen.

  • New

    Custom IO modules — enter the direction and point counts yourself to build modules such as IN32OUT32 or IN48OUT48 (asymmetric counts supported, up to 1000 points per module).

  • Improved

    Fixed sluggish list behaviour when selecting a module with a large number of IO points.

Tower lamp and materials

  • New

    Multi-buzzer support — buzzer mode (single / 4-channel / 15-combination), K1–K4 IO, and a sound number per state. Scripts gained TOWERLAMP.SetBuzzerSound/PlayBuzzerSound.

  • Improved

    The tower lamp editor was cleaned up — colour-coded headers, automatic hiding of unused colours, delete confirmation, and fixes for lost edits and duplicated items changing the original.

  • New

    Container features were extended — map position search (GetDevicePos family), capacity and map size settings, EmptyCount/IsFull/IsEmpty, and atomic material moves that verify the target can accept the item first.

10

Vision

  • Changed

    EasyVision has been renamed QVision (driver name "QVision", sample project QVisionSample).

  • New

    OCR tool — recognises characters by segmenting character regions and matching against a trained font, storing the OCR settings and character patterns together in a single font file.

  • Improved

    Shape find accuracy — edge polarity matching (six modes including Normal/Inverse/Any), model-edge based scoring, an edge match tolerance, automatic Canny thresholds for dark or low-contrast backgrounds, and a fix for low scores when searching the very image the model was trained on.

  • New

    New gauges — a rhombus gauge, plus display improvements for the circle gauge.

  • Improved

    The vision object editor was reworked — camera, image and tool lists were merged into a single tree and the UI is multilingual. Edits being lost without a save prompt is also fixed.

  • New

    RTSP/IP camera driver (XRtspCamera) — connect by entering an rtsp:// URL as the CameraID, with automatic reconnection, low-latency options and GPU hardware decoding.

  • Improved

    USB camera auto-recovery — dropped frames are detected and the camera reconnects, and an unresponsive camera no longer keeps returning stale frames.

  • New

    Overall QR grading (ISO 15415 / ISO 29158) is available.

11

Communication & Drivers

New drivers

  • New

    FCAT — Floware EtherCAT motion and IO driver, with limit and home sensor readout, InPosition signal, CiA402 homing method selection, and detection of a master restart or abnormal termination.

  • New

    LS PLC (XGT FEnet) — TCP client. Addresses can be entered in short form such as D7000 or M100.5, without the % prefix.

  • New

    Dynamark K300 printer — ink level, temperature, voltage and RPM readout, job switching, and error messages in five languages.

  • New

    UV Controller (RS485) and the Phoseon FireJet UV curing unit.

  • New

    Web remote control (QWebRemote) — connect from a phone, tablet or PC browser to view IO, motors and cylinders. Motors get a directional jog dial with speed selection; control is blocked while the machine is running, and a motor stops automatically if the connection drops.

  • New

    QMachineNet — per-unit RGB LED control, StallGuard time-series capture and firmware version readout.

Existing driver improvements

  • New

    Ajin motion drivers gained acceleration profile modes (symmetric/asymmetric trapezoid, pseudo S-curve, symmetric/asymmetric S-curve) and S-curve jerk settings. Defaults are unchanged.

  • New

    Ajin EtherCAT missing slave detection — if the configured axis count differs from what the driver recognises, a clear error is logged and motion is blocked, preventing commands going to the wrong axis after a shift.

  • Improved

    Communication robustness was strengthened overall — ModBus TCP/RTU fragmented packets, TCP reconnection and LS PLC response matching.

  • Improved

    Drivers now find their dependent DLLs, including native runtimes, in subfolders as well.

12

Deployment, Git & Setup

  • New

    Redesigned deployment tool — instead of combining 17 checkboxes, you pick one of four purposes (Project Update / Project Full / Program Update / Full Package). Estimated and elapsed time are shown with a progress bar, and the output folder opens when finished. Development files (.git, DevDocs, *.bak/tmp/log and similar) are excluded automatically.

  • New

    Binary deployment — ship only the compiled scripts (.xmc) without the source (.xms). The deployed package is run-only: Studio cannot be entered and code cannot be edited. Requires the Bytecode script engine.

  • New

    Git integration — Git Add, Revert and Push were added to the File menu. Select changed files with checkboxes and commit directly, see file status as vector icons (modified, added, deleted, renamed and so on), and double-click a file name for a diff. The dialogs are available in English and Korean.

  • New

    Installer (Inno Setup) — a setup wizard and licence agreement in Korean, English and Japanese. These release notes can be opened in your chosen language when installation finishes.

  • New

    Open source licence notice — the Help menu lists the open source packages in use with their copyright and full licence text, and a Licenses folder ships with the product.

  • New

    Release notes — this document is available from the Help menu in English, Korean, Japanese and Chinese.

  • New

    Register a machine icon (.ico) in the project options and a desktop shortcut is created automatically, so each customer can have their own icon.

13

Licensing

  • Changed

    Editions are now Trial, QMachineStudio Free (development only) and Licensed. Creating, editing, saving and building projects is unrestricted in every edition, and development and simulation remain available indefinitely after the trial ends.

  • Changed

    The trial period is 30 days.

  • New

    Grace operation — a momentary loss of dongle contact during operation is ignored for up to 30 seconds, and once a loss is confirmed the machine keeps running for 48 hours, so the line does not stop while a temporary code is issued. The remaining grace time is shown as a banner at the top of the screen, and the grace state clears as soon as the dongle is recognised again.

  • New

    Software licence registration — no separate program needed. Read and copy the system code in the License dialog and import the issued file directly; it is verified automatically for this PC.

  • New

    USB dongle V2 format — encrypted against tampering and carrying the project code. Existing V1 dongles are still recognised.

  • New

    Project-specific licences — a key issued for one project only runs projects whose code matches. A Project Code tab was added to the project options (visible only with a Master key inserted).

  • New

    QMS License Studio — a new licence issuing tool with multi-dongle target selection, a change review before writing, issue history, templates that carry the full specification, multilingual UI and light/dark themes.

  • Improved

    Dongle reads are much faster (about 140 ms to about 16 ms for 256 bytes), with automatic retries on failure and read-back verification after writing. The application freezing on an unresponsive dongle is also fixed.

  • Improved

    Fixed axis-count and project-code checks being skipped whenever a dongle was present. Camera counts are now checked as well.

  • New

    The About, splash and licence screens show the current edition and licence grade (RunTime / Developer / Master).

14

Performance & Stability

  • Improved

    Project open and startup time — parallel loading of IO, motors, cylinders and vision, a shared control scan cache for design views, no double parsing of files, deferred toolbox construction, background preparation of the system font list, and a shorter splash fade-out (2 s to 0.5 s).

  • Improved

    Memory leaks fixed — memory no longer grows when switching repeatedly between developer and runtime modes (previous RUN screen generations not released, window-type view modules not closed, blinking controls left subscribed to global events, message and alarm popups accumulating, vision screen generations piling up).

  • Improved

    Thread safety — rare errors and hangs in concurrent script array use, random number generation, database access and licence polling were eliminated.

  • Improved

    Log flooding suppressed — a repeating step error is logged once with a repeat count, and a summary is written when it clears. Repeated failures from disconnected devices are throttled too.

  • Improved

    Abnormal termination is now logged. Previously the application could exit with nothing in the log; crashes caused by file dialogs and shell extensions are also guarded.

  • Improved

    Fixed monitoring and sequence threads continuing after a module was deleted, and duplicate refresh timers on data display controls raising CPU use.

  • Improved

    Fixed motor, IO, cylinder and page level data from the previous project remaining after closing it and opening another.

  • New

    Automatic project backup — set a backup folder and how many generations to keep; older folders are removed automatically.

15

Sample Projects

  • New

    ScriptTutorial — an 18-lesson XScript curriculum with the code on the left and the execution result on the right.

  • New

    ScriptSyntaxSample — test syntax by category with buttons, and run the same code on the legacy and new engines to compare the results.

  • New

    SequenceSample — a sequence tutorial with five interlocked picker and conveyor modules, showing device movement and sequence state on screen.

  • New

    ChartDemo (charts), CameraSample (RTSP camera), DB_Sqlite (database CRUD and transactions) and a ModBus TCP client sample.

16

Upgrade Notes

These behaviours may differ when a 3.x project is opened in 4.0. Please review them before deploying to a machine.

  1. 01

    The default script engine is now the new engine (Bytecode). Most scripts run unchanged, but errors that used to pass silently may now surface as compile errors. If that causes trouble, switch back to Legacy in Tools > Options > Script Engine.

  2. 02

    The deployed .xmc format changed. Rebuild scripts (F6) before a binary deployment. Orphaned .xmc files whose source is gone are excluded automatically.

  3. 03

    A function with the same name as a step used to stop that sequence step from running; step and function names are now separated. Declaring the same function name twice is a build error.

  4. 04

    Writing past the end of an array is a runtime error. Change array size only by setting arr.Count.

  5. 05

    Automatic semicolon insertion was removed. Your source is saved exactly as typed.

  6. 06

    Auto-login for empty passwords is now on by default, and the default minimum password length is 0. Adjust both in the project options if needed.

  7. 07

    Toast defaults changed to top-centre position and font size 20 (Project Options > Toast).

  8. 08

    New functions are created with a bool return type (FUNCTION bool Name() plus return true).

  9. 09

    The Green theme was removed. Use Light, Dark or a custom theme.

  10. 10

    Map container row search functions (GetDeviceRow / GetDeviceRankRow / GetEmptyRow) were removed in favour of the GetDevicePos family.

  11. 11

    The MOTION keyword was removed. Call interpolated motion through DRIVER["DriverName"].

  12. 12

    Renames — EasyVision → QVision, JogArrowButton → ArrowButton (existing saved files remain compatible), Message Editor → Message Error Editor.

  13. 13

    The serial rule file (SerialRules.XDF) moves from the project root to the XData folder, automatically when the project is opened. No action is required.

  14. 14

    The message/error translation Excel format is now a single combined sheet. Older three-sheet files are still recognised on import.

  15. 15

    Deleting a script or design module deletes it immediately (previously it was moved to a Backup folder). Use the automatic project backup option if you need a safety net.

Subscribe