Changelog
What's new
Release notes for every version.
[1.3.19]
- Fixed: VirtualZones wouldn’t start on some PCs with a “VCRUNTIME140.dll was not found” error. The app no longer needs Microsoft’s Visual C++ runtime and runs on any Windows 10 or 11 PC.
- Buying from the app is quicker: Buy License opens the pricing page ready for checkout.
- Privacy policy updated (virtualzones.cc/privacy).
[1.3.18]
- Updates and translations now come from virtualzones.cc instead of GitHub.
- Fixed: the main window could stay too short after the display changed, so its content scrolled inside it (for example after the monitor woke from sleep). It now grows back to full size.
- About → Contact me now writes to [email protected].
- Privacy policy updated (virtualzones.cc/privacy).
[1.3.17]
- Fixed: after pasting a license key, the cursor wasn’t at the end of it. Pasting into the License screen’s key box (
Ctrl+V, and nowShift+Inserttoo) leaves the cursor right after the pasted text, and the box scrolls to keep it in view. The same fix applies to the layout name, zone size and color fields. - Email support in one click. When a License message mentions [email protected], the address is now a link: clicking it opens a new email in your mail app, already filled in with what VirtualZones showed, your license key, your computer’s name and the app version - just add a line about what happened.
[1.3.16]
- Move your license to this PC. If your license is still active on an old computer, activating it here now offers to move it over in one click - no need to find the old machine or write to support first. The old computer stops being licensed. A license can be moved once in a while; if you’ve moved it recently, the License screen tells you when you can move it again.
- Fixed: license keys bought from the live store were turned away as “not for VirtualZones”. Any key from the VirtualZones store is now accepted.
- “Buy License” now opens the pricing page on virtualzones.cc.
- Fixed: a fullscreen browser could escape its zone. With several Chrome or Edge windows open, a video or page made fullscreen (YouTube’s fullscreen button, or F11) stayed in its zone only until you clicked another window. It then spread across the whole display, or jumped to another zone. It now stays in its zone however you switch between windows, and it follows when you move it with
Ctrl+Alt+W/A/S/D. - Fixed: a fullscreen video could show only a cropped corner of itself. After a fullscreen browser was put back in its zone, the page could stay laid out for the whole monitor, showing only its top-left corner. It now redraws to fit the zone.
- Smaller log file. VirtualZones’ troubleshooting log no longer repeats the same line several times a second, and starts a fresh file once it reaches 5 MB instead of growing without limit.
[1.3.15]
- Fixed: running an older copy of VirtualZones could erase your settings and usage count. Settings are rewritten on every save, and an older copy quietly dropped anything it didn’t recognise. Newer settings are now kept whichever version saves, and the usage count has moved to its own file that older copies never touch.
- Fixed: “Start with Windows” could switch itself back on. If “Start confining on launch” was on, turning “Start with Windows” off was undone the next time the app started.
- Fixed: an old copy could keep starting at every login. A copy of VirtualZones outside the installed folder - an older download left on the Desktop, say - could take over “Start with Windows”, so an out-of-date version kept launching even after updating. Only the installed app claims it now.
- Updates stay visible after “Skip this version”. When a newer version is out, the License card shows “Update to” that version, even if you skipped its prompt.
[1.3.14]
- “Licensed to <your name>”. The License card now shows who the license belongs to - the name from your purchase - instead of a bare “Licensed”. Older activations that predate this simply show “Licensed” until the next automatic check fills the name in.
[1.3.13]
- Clearer expired-trial state. When your trial ends, the main window now shows “Trial expired - click License to activate” in red - in both the status line and the license line - instead of a muted “Idle” next to a disabled Start button.
[1.3.12]
- Fixed: most of the app stayed in English, whatever language you picked. Once a language had been downloaded it was never refreshed, so every phrase added in later updates — the whole About screen among them — quietly fell back to English. Translations now refresh on each launch, and all 25 languages are up to date.
- Dates now follow the language you chose, instead of your Windows region settings. Pick Russian and you get
16.07.2026. - See how much VirtualZones has done for you. The About screen now counts how many times you’ve had it place a window in a zone or share one, since this version was installed. It’s kept on your PC, shown only to you, and never sent anywhere.
[1.3.11]
- Security fixes. Hardened how VirtualZones stores sensitive data on your PC. Existing licenses and trials carry over automatically - nothing to re-enter.
- Deactivate this device. The License screen can now release this PC’s activation, freeing it for another computer - handy when you replace a machine or reinstall Windows.
[1.3.10]
- Fixed a crash when moving the VirtualZones window between monitors of different scale. Using the move shortcuts (
Ctrl+Alt+W/A/S/D) to send the app’s own window from, say, a widescreen to a laptop screen at a different display scale made it flash tiny and then crash. It now moves across and resizes to the new screen’s scale cleanly.
[1.3.9]
- Polished the Share Zone labels. The Shortcuts entry now reads “Share Zone” (matching the tray and the shared-window titles), and the multi-monitor “Display: Zone” tray labels are now fully translated in every language (Russian “Share” is now “Поделиться”).
[1.3.8]
- Rebindable Share Zone shortcuts. The
Ctrl+Alt+1-9keys that share a zone into Zoom/Teams/OBS now appear in Settings - Shortcuts and are fully rebindable. Zones 1/2/3 are bound toCtrl+Alt+1/2/3by default; 4-9 start unassigned. - Multi-monitor zone sharing.
Ctrl+Alt+<N>now shares the zone on whichever display your active window is on, and shares on different monitors can run at the same time. The tray “Share Zone” menu lists every display’s zones by the monitor’s real name (e.g. “C49RG9x: Zone 1”). - New displays default to one full-screen zone (100%). Connecting a monitor - or a laptop’s built-in panel - no longer rearranges your windows into a split; it stays a single full-screen zone until you pick a layout. (The 100% layout is also a one-click template in the editor.)
[1.3.7]
- Move windows between monitors with the zone shortcuts.
Ctrl+Alt+A/S/D/Wnow carry the focused window across to an adjacent display when it’s already at the edge of its current screen — following your physical monitor arrangement — instead of stopping at the last zone. (Both screens need to be enabled with a layout.) - New “100%” layout. A single full-screen zone — ideal for a laptop’s built-in display, where splitting into halves or thirds doesn’t make sense but you still want fullscreen apps confined. Available as a preset and as a one-click template in the layout editor.
- Fixed: the layout editor’s quick-template buttons now apply the layout they’re labelled with (the 25/50/25, 50/50, and 33/33/33 buttons were wired to the wrong presets).
- Fixed: a hovered screen tab no longer shows a small rounded-corner gap where it meets the panel below it.
[1.3.6]
- Replaced em-dashes with hyphens throughout the interface text for a cleaner, more consistent look across all languages.
[1.3.5]
- Translations refresh automatically. If your selected language has updated translations on the server, the app now downloads and applies them on next launch — previously a cached language stayed on its old text until you re-picked it.
[1.3.4]
- Update prompt fits every language. The “Available update” dialog’s buttons are now sized to their labels — the install button is a simple Install and the Later/Skip buttons grow to fit longer translations instead of clipping or wrapping.
[1.3.3]
- About screen fits every language. The
virtualzones.cclink now sits on its own line so a longer translated credit line can’t run into it.
[1.3.2]
- Sharp, correctly-sized UI on high-DPI displays. On monitors set to 125%/150%/225% scaling the whole interface — the main window, every dialog, and the layout editor — was drawn oversized and clipped out of its window, leaving it unusable. VirtualZones is now fully per-monitor DPI-aware: it renders crisp at any scale, sizes each window to the monitor it’s on, and follows along live if you change the display scale or move a window to a display with a different scale.
- Refreshed light theme. Light mode now follows the Windows Settings look — a soft gray page with bright white cards — so text reads clearly as black-on-white. The layout editor is a clean white working surface.
- Move the VirtualZones window with the zone shortcuts.
Ctrl+Alt+A/S/D/Wnow also work on the app’s own window, centering it in the target zone (it’s fixed-size, so it can’t fill a zone). - Reworked About screen. A short intro, a “What you can do” feature list, a Contact me button that opens a pre-addressed email, and a
https://virtualzones.cclink. Plus polish: symmetric padding around Start/Stop, no more stray one-pixel scroll, and tidier alignment throughout.
[1.3.1]
- A fresh install no longer starts confining on its own. “Start confining on launch” now defaults to off, so the app opens quietly and waits for you to press Start (or turn that setting on) instead of immediately snapping your windows into zones.
- The window always stays on-screen. On smaller laptop screens the main window could open with its right/bottom edges off the display, leaving controls unreachable — it’s now clamped fully onto the monitor it opens on.
[1.3.0]
- VirtualZones speaks your language. A new Language picker in the title bar switches the whole interface between 25 languages — English (built in) plus German, Spanish, French, Italian, Dutch, Portuguese (Portugal & Brazil), Polish, Ukrainian, Russian, Czech, Swedish, Danish, Norwegian, Finnish, Greek, Turkish, Japanese, Korean, Simplified & Traditional Chinese, Vietnamese, Thai, Indonesian, and Hindi. Pick one and it applies instantly.
- Only English ships in the app; every other language downloads on demand the first time you pick it (and is cached, so it’s offline after that). English is always available as a fallback, so the app keeps working even if a translation is missing or removed. Translations update independently of the app — fixes and new languages arrive without waiting for a new release.
- Various layout polish so translated text always fits: the Start/Stop status line, the Preferences buttons, the Keyboard Shortcuts rows, and the layout-editor controls all size themselves to the active language, and dropdowns render consistently.
[1.2.0]
- Multi-display support. VirtualZones now confines windows on every connected monitor, not just the primary — each screen gets its own layouts, its own enable/disable switch, and its own “cover taskbar” setting. Pick a screen from the folder-tab selector at the top of the app to configure it; its real display name (e.g. “DELL U3423DW”) and resolution are detected automatically. Reconnecting or swapping monitors is handled live.
- Only one VirtualZones runs at a time. Launching it again (including after an update) now cleanly replaces any already-running copy instead of opening a duplicate tray icon.
- New “About” screen, reachable from the License card, with the app name, version, release date, and a link to the project’s GitHub page.
- The main window now shows a master Start/Stop switch at the top, and each zone’s size is labeled directly on the layout preview.
- Numerous polish passes: dialog buttons now line up consistently, the screen selector reads as a folder of tabs, and various spacing/alignment fixes throughout.
[1.1.1]
- Fixed the “Update available” dialog clipping the last line(s) of the release notes — the window is now sized with headroom so the full changelog always fits.
- Primary actions now stand out in your accent color: Add (Layouts), Save (Keyboard Shortcuts and the layout editor), and Buy License.
- The title-bar theme icons (sun / auto / moon) render as crisp monochrome glyphs instead of color emoji.
[1.1.0]
- Pick your accent color. A new App color… picker in Preferences — 12 curated swatches, a hue slider, and a hex field — recolors the whole app live: buttons, toggles, on-screen zone lines, the layout previews, and the tray + taskbar icons all follow your choice.
- Light, Dark, and Auto themes. A rounded ☀ / ◐ / ☾ tumbler in the title bar switches theme instantly. Auto follows your Windows app-theme setting and flips the moment you change it.
- Move windows into any zone. The
Ctrl+Alt+W/A/S/Dmove shortcuts now also work on a window that isn’t maximized — it’s moved and fitted into the target zone instead of doing nothing.
[1.0.1]
- Redesigned the “Update available” dialog in the same Direct2D style as the rest of the app — dark gradient, custom title bar, and accent buttons — replacing the last screen that still used the old native Windows look.
- Cleaner release notes: the update dialog now renders Markdown as plain text (bold,
-bullets, headings, andinline codeare converted or stripped) instead of showing raw**markers.
[1.0.0]
- New look, everywhere. Every window — main, License, Keyboard Shortcuts, and the Layouts editor — is now custom-rendered with Direct2D: a dark gradient background, card-grouped sections, a custom title bar, pill-shaped preference toggles, a custom layout dropdown, and a hand-built license-key field. On-screen zone lines, the drag-snap highlight, and the tray/taskbar icons are recolored to the purple accent so the whole app reads as one design.
- Reworked Layouts editor. It’s now two views in one window: a Manage list (each saved layout shown as a thumbnail with per-row Edit and delete, plus Restore Defaults) and an Edit canvas. In the editor, click a zone to split it in two (Shift-click for a horizontal split) and click a shared border to merge — both with hover highlighting so the action is clear before you click.
- Clearer empty state. With no layouts defined, the app no longer confines to a phantom split: the main window shows a green Add button (opening the editor) with the dropdown disabled, and adding or restoring a layout automatically selects it.
- Changed default shortcuts: window-move is now
Ctrl+Alt+W/A/S/D(wasCtrl+Alt+Arrows), Start/Stop isCtrl+Alt+R, and Cycle layout isCtrl+Alt+C. Existing installs keep their saved bindings; all remain rebindable. - Default layouts now list
50% | 50%first, then33% | 33% | 33%, then25% | 50% | 25%. - New “Start minimized” preference — start straight in the tray (no window) on any launch, not just autostart-at-login.
- Lower memory footprint — the Direct2D UI is loaded lazily and released when the window is hidden to the tray, and the working set is trimmed, so an idle tray-resident app reads ~2 MB in Task Manager (only the on-screen window uses the full renderer).
- Windows now open centered on the primary monitor by default, and various fixes: accurate border merge/highlight on every zone edge, proportional editor fields, and panic logging for diagnostics.
[0.5.3]
- New:
Ctrl+Alt+Left/Right/Up/Downmoves the focused window into the zone to the left/right/up/down of its current one — like Windows’ “move to next monitor” shortcut, but for zones. Rebindable via Keyboard Shortcuts. Does nothing if there’s no zone in that direction.
[0.5.2]
- Share Zone: the capture pipeline no longer copies frames through CPU memory or blits with GDI — captured pixels are now GPU-copied directly into a swapchain bound to the mirror window and presented, cutting per-frame overhead and CPU usage on the capture thread.
[0.5.1]
- Fixed: a shared zone’s captured feed no longer shows a fake “VirtualZones - Sharing Zone N” title bar baked into the top of the image — the invisible mirror window used a captioned style so Teams/Zoom’s picker could show a friendly name, but window-capture reads the window’s own rendered surface, title bar included, even though it was invisible to the eye. Now borderless; the picker name is unaffected.
- Home screen: “Edit Layouts…” moved out of the layout dropdown’s list (easy to miss, scrolled past the real layouts) to a link beside the dropdown.
[0.5.0]
- The three built-in layout presets (25/50/25, 50/50, 33/33/33) are now ordinary editable/removable layouts, same as any custom layout — rename, delete, or edit them from “Edit Layouts…”, and use the new Restore Defaults button there to bring back any you’ve deleted.
- New: rebindable global hotkeys for Start/Stop, Hide/Show zones, and Cycle layout (
Ctrl+Alt+S/Z/Lby default) — shown in the tray menu, changeable via a new Keyboard Shortcuts… dialog on the main window. - Edit Layouts: added an Apply button that saves without closing the window, so you can keep iterating on a layout without reopening the editor each time. Delete and Restore Defaults now behave the same way — the editor only closes on Save or Cancel.
- Edit Layouts: the three quick-template buttons now apply the exact default 25/50/25, 50/50, and 33/33/33 zone splits directly (previously two of the three were resolution-specific presets tied to the display you happened to be on).
- Home screen: the Start/Stop status text is now colored red (idle) or blue (active), matching the tray icon; section spacing (Zones/Settings/License) and the gap under the layout dropdown are now consistent instead of varying between sections.
- Fixed: the built exe now always has its own icon (Explorer, Task Manager, Add/Remove Programs) — previously this only happened in CI/release builds, not local dev builds, since the icon resource was linked by a manual CI-only step now replaced by a build script that runs on every build.
[0.4.0]
- New: Share Zone — toggle a live mirror of any zone on/off from the tray or Ctrl+Alt+<N>, so Zoom/Teams’ native “Share Window” picker can select just that zone instead of the whole screen. A dashed blue frame marks a shared zone; the mirror itself is invisible (nothing to drag out of the way) and runs at full frame rate.
- Tray menu: added Start/Stop, Hide/Show zones, and a Layout submenu, so the app is fully operable from the tray without opening the main window.
- Fixed: a shared zone bordering another zone no longer shows a thin solid line next to its dashed frame; two adjacent shared zones no longer double up their dashed lines.
- “Hide to tray on close” renamed to “Show in tray”, now on by default and keeps the tray icon present whenever the window is open too, not just after closing it.
[0.3.16]
- Edit Layouts: the preview image and the layouts list now share the same width, so the left/right padding is even.
- Edit Layouts: clicking Save with no name (or an invalid one) now shows a message telling you why, instead of silently doing nothing.
- Edit Layouts: an invalid zone size (e.g. over 100% on the last zone of a row/column) now reverts the box immediately instead of leaving it showing a value that was never actually applied — Save was silently using the old value while the box showed something else.
- Edit Layouts: zones now stay numbered in reading order (top-to-bottom, left-to-right) after merging or splitting, so Zone 1 is always the top-left zone instead of drifting to whichever order a merge/split happened to leave it in.
[0.3.15]
- Fixed (for real this time): ShareX and other screen-capture overlays no longer get shoved into a zone mid-capture, which was making the frozen screenshot look shifted/duplicated across zones.
[0.3.14]
- Removed the 1080p quick template from Edit Layouts.
[0.3.13]
- Removed Edit Layouts’ “+ Custom” resolution-preset buttons — saved layouts already cover the same need, and any bad presets from testing (e.g. “25x75”) are gone with them.
[0.3.12]
- Thinner zone borders, and fixed custom layouts’ borders looking twice as thick as the built-in templates’ on shared edges between zones.
[0.3.11]
- Fixed: Tab didn’t move focus between fields (Edit Layouts and every other window).
- Edit Layouts: setting a zone’s exact width/height no longer reshuffles zones you already sized — only the later, not-yet-set zones on that row/column absorb the change.
- Fixed: screen-capture tools (e.g. ShareX) could get their capture overlay window forced into a zone mid-screenshot, causing a brief visual glitch that cleared once the capture finished.
[0.3.10]
- Fixed: entering a number in the Edit Layouts zone table could crash the app.
[0.3.9]
- The main window now reopens at the same position it was at last time.
- Edit Layouts polish: the zone table has Width/Height column headers, the dead space around it is gone (the window now grows/shrinks with the number of zones), the layouts list no longer spills past the window edge, and the 25/50/25 quick layout moved into the Templates row.
[0.3.8]
- Rearranged the Edit Layouts screen into a clear top-to-bottom flow: saved layouts, name, templates, rows/columns, preview, zone sizes, then Save/Delete. Zones in the preview are now numbered to match the size table.
[0.3.7]
- Redesigned the Edit Layouts screen: the preview now matches your actual monitor’s shape, zones can be sized by exact percentage or pixels (not just click-to-split), quick 1080p/1440p/4K templates for clean recording, and a cleaner look overall.
- “Start with Windows” now launches straight into the tray instead of popping the main window open.
[0.3.6]
- Fixed: automatic updates now reopen the app afterward instead of leaving it closed.
[0.3.5]
- Fixed: the Edit Layouts screen had gray boxes behind its labels and a clipped button row.
[0.3.4]
- Fixed: updating over a running install could fail to close the app first.
[0.3.3]
- Fixed: the app icon was missing in Add/Remove Programs and Task Manager.
[0.3.2]
- The installer now lets you choose between installing just for you (default) or for all users on the PC.
- The installer’s filename now includes the version number.
[0.3.1]
- Renamed to VirtualZones (was “Region Confiner”). Your settings, trial, and license all carry over automatically — nothing is reset.
[0.3.0]
- New layout editor — design your own zone layouts by splitting and merging a grid, instead of just vertical strips.
- 7-day free trial, then a one-time license key to keep using it.
- Automatic update checks — get notified when a new version is out, with a one-click install.
- Start with Windows option.
- Hide to tray on close instead of quitting.
- Cover taskbar option — zones can span the full screen or respect the taskbar.
- Drag-to-snap — hold Shift while dragging a window to snap it into a zone.
- Fixed: the drag-snap highlight now disappears immediately when you release Shift.
[0.2.0]
- Rewritten from the ground up: the download shrank from ~53 MB to about 180 KB, with nothing to install and no extra runtime needed.
- Fullscreen (F11) now snaps into the zone under your cursor, instead of always the middle one.
[0.1.0]
- First release: split your monitor into zones, and fullscreen/maximized windows stay confined to whichever zone they’re in.
- Zone borders can be shown or hidden.
- Known limitation: Chrome/Edge fullscreen can’t be confined yet — maximize instead.