Files
vjailbreak/docs/release_docs/v048/index.html
T
OmkarDeshpande7andClaude Sonnet 5 3fc874dd22 Fix docs base path after repo rename to vjailbreak
Rebuilt Astro site with BASE=vjailbreak; old build had base baked
as vjailbreak-docs, causing all CSS/JS asset URLs to 404 on GH Pages.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-09-16 12:23:48 +05:30

234 lines
66 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html><html lang="en" dir="ltr" data-theme="dark" data-has-toc data-has-sidebar class="astro-bguv2lll"> <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><title>v0.4.8 | vJailbreak</title><link rel="canonical" href="https://platform9.github.io/vjailbreak/release_docs/v048/"/><link rel="sitemap" href="/vjailbreak/sitemap-index.xml"/><link rel="shortcut icon" href="/vjailbreak/favicon.svg" type="image/svg+xml"/><meta name="generator" content="Astro v5.12.8"/><meta name="generator" content="Starlight v0.32.6"/><meta property="og:title" content="v0.4.8"/><meta property="og:type" content="article"/><meta property="og:url" content="https://platform9.github.io/vjailbreak/release_docs/v048/"/><meta property="og:locale" content="en"/><meta property="og:description" content="Release Notes for v0.4.8"/><meta property="og:site_name" content="vJailbreak"/><meta name="twitter:card" content="summary_large_image"/><meta name="description" content="Release Notes for v0.4.8"/><script>
window.StarlightThemeProvider = (() => {
const storedTheme =
typeof localStorage !== 'undefined' && localStorage.getItem('starlight-theme');
const theme =
storedTheme ||
(window.matchMedia('(prefers-color-scheme: light)').matches ? 'light' : 'dark');
document.documentElement.dataset.theme = theme === 'light' ? 'light' : 'dark';
return {
updatePickers(theme = storedTheme || 'auto') {
document.querySelectorAll('starlight-theme-select').forEach((picker) => {
const select = picker.querySelector('select');
if (select) select.value = theme;
/** @type {HTMLTemplateElement | null} */
const tmpl = document.querySelector(`#theme-icons`);
const newIcon = tmpl && tmpl.content.querySelector('.' + theme);
if (newIcon) {
const oldIcon = picker.querySelector('svg.label-icon');
if (oldIcon) {
oldIcon.replaceChildren(...newIcon.cloneNode(true).childNodes);
}
}
});
},
};
})();
</script><template id="theme-icons"><svg aria-hidden="true" class="light astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M5 12a1 1 0 0 0-1-1H3a1 1 0 0 0 0 2h1a1 1 0 0 0 1-1Zm.64 5-.71.71a1 1 0 0 0 0 1.41 1 1 0 0 0 1.41 0l.71-.71A1 1 0 0 0 5.64 17ZM12 5a1 1 0 0 0 1-1V3a1 1 0 0 0-2 0v1a1 1 0 0 0 1 1Zm5.66 2.34a1 1 0 0 0 .7-.29l.71-.71a1 1 0 1 0-1.41-1.41l-.66.71a1 1 0 0 0 0 1.41 1 1 0 0 0 .66.29Zm-12-.29a1 1 0 0 0 1.41 0 1 1 0 0 0 0-1.41l-.71-.71a1.004 1.004 0 1 0-1.43 1.41l.73.71ZM21 11h-1a1 1 0 0 0 0 2h1a1 1 0 0 0 0-2Zm-2.64 6A1 1 0 0 0 17 18.36l.71.71a1 1 0 0 0 1.41 0 1 1 0 0 0 0-1.41l-.76-.66ZM12 6.5a5.5 5.5 0 1 0 5.5 5.5A5.51 5.51 0 0 0 12 6.5Zm0 9a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7Zm0 3.5a1 1 0 0 0-1 1v1a1 1 0 0 0 2 0v-1a1 1 0 0 0-1-1Z"/></svg> <svg aria-hidden="true" class="dark astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21.64 13a1 1 0 0 0-1.05-.14 8.049 8.049 0 0 1-3.37.73 8.15 8.15 0 0 1-8.14-8.1 8.59 8.59 0 0 1 .25-2A1 1 0 0 0 8 2.36a10.14 10.14 0 1 0 14 11.69 1 1 0 0 0-.36-1.05Zm-9.5 6.69A8.14 8.14 0 0 1 7.08 5.22v.27a10.15 10.15 0 0 0 10.14 10.14 9.784 9.784 0 0 0 2.1-.22 8.11 8.11 0 0 1-7.18 4.32v-.04Z"/></svg> <svg aria-hidden="true" class="auto astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21 14h-1V7a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v7H3a1 1 0 0 0-1 1v2a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-2a1 1 0 0 0-1-1ZM6 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7H6V7Zm14 10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1h16v1Z"/></svg> </template><link rel="stylesheet" href="/vjailbreak/_astro/print.BJ0teN4y.css" media="print"><link rel="stylesheet" href="/vjailbreak/_astro/index.V9BDhjML.css">
<style>:root{--sl-badge-default-border: var(--sl-color-accent);--sl-badge-default-bg: var(--sl-color-accent-low);--sl-badge-default-text: #fff;--sl-badge-note-border: var(--sl-color-blue);--sl-badge-note-bg: var(--sl-color-blue-low);--sl-badge-note-text: #fff;--sl-badge-danger-border: var(--sl-color-red);--sl-badge-danger-bg: var(--sl-color-red-low);--sl-badge-danger-text: #fff;--sl-badge-success-border: var(--sl-color-green);--sl-badge-success-bg: var(--sl-color-green-low);--sl-badge-success-text: #fff;--sl-badge-caution-border: var(--sl-color-orange);--sl-badge-caution-bg: var(--sl-color-orange-low);--sl-badge-caution-text: #fff;--sl-badge-tip-border: var(--sl-color-purple);--sl-badge-tip-bg: var(--sl-color-purple-low);--sl-badge-tip-text: #fff}[data-theme=light]:root{--sl-badge-default-bg: var(--sl-color-accent-high);--sl-badge-note-bg: var(--sl-color-blue-high);--sl-badge-danger-bg: var(--sl-color-red-high);--sl-badge-success-bg: var(--sl-color-green-high);--sl-badge-caution-bg: var(--sl-color-orange-high);--sl-badge-tip-bg: var(--sl-color-purple-high)}.sl-badge:where(.astro-avdet4wd){display:inline-block;border:1px solid var(--sl-color-border-badge);border-radius:.25rem;font-family:var(--sl-font-system-mono);line-height:normal;color:var(--sl-color-text-badge);background-color:var(--sl-color-bg-badge);overflow-wrap:anywhere}.sidebar-content .sl-badge:where(.astro-avdet4wd){line-height:1;font-size:var(--sl-text-xs);padding:.125rem .375rem}.sidebar-content a[aria-current=page]>.sl-badge:where(.astro-avdet4wd){--sl-color-bg-badge: transparent;--sl-color-border-badge: currentColor;color:inherit}.default:where(.astro-avdet4wd){--sl-color-bg-badge: var(--sl-badge-default-bg);--sl-color-border-badge: var(--sl-badge-default-border);--sl-color-text-badge: var(--sl-badge-default-text)}.note:where(.astro-avdet4wd){--sl-color-bg-badge: var(--sl-badge-note-bg);--sl-color-border-badge: var(--sl-badge-note-border);--sl-color-text-badge: var(--sl-badge-note-text)}.danger:where(.astro-avdet4wd){--sl-color-bg-badge: var(--sl-badge-danger-bg);--sl-color-border-badge: var(--sl-badge-danger-border);--sl-color-text-badge: var(--sl-badge-danger-text)}.success:where(.astro-avdet4wd){--sl-color-bg-badge: var(--sl-badge-success-bg);--sl-color-border-badge: var(--sl-badge-success-border);--sl-color-text-badge: var(--sl-badge-success-text)}.tip:where(.astro-avdet4wd){--sl-color-bg-badge: var(--sl-badge-tip-bg);--sl-color-border-badge: var(--sl-badge-tip-border);--sl-color-text-badge: var(--sl-badge-tip-text)}.caution:where(.astro-avdet4wd){--sl-color-bg-badge: var(--sl-badge-caution-bg);--sl-color-border-badge: var(--sl-badge-caution-border);--sl-color-text-badge: var(--sl-badge-caution-text)}.small:where(.astro-avdet4wd){font-size:var(--sl-text-xs);padding:.125rem .25rem}.medium:where(.astro-avdet4wd){font-size:var(--sl-text-sm);padding:.175rem .35rem}.large:where(.astro-avdet4wd){font-size:var(--sl-text-base);padding:.225rem .45rem}.sl-markdown-content :is(h1,h2,h3,h4,h5,h6) .sl-badge:where(.astro-avdet4wd){vertical-align:middle}
.card-grid:where(.astro-zntqmydn){display:grid;grid-template-columns:100%;gap:1rem}.card-grid:where(.astro-zntqmydn)>*{margin-top:0!important}@media (min-width: 50rem){.card-grid:where(.astro-zntqmydn){grid-template-columns:1fr 1fr;gap:1.5rem}.stagger:where(.astro-zntqmydn){--stagger-height: 5rem;padding-bottom:var(--stagger-height)}.stagger:where(.astro-zntqmydn)>*:nth-child(2n){transform:translateY(var(--stagger-height))}}
.card:where(.astro-v5tidmuc){--sl-card-border: var(--sl-color-purple);--sl-card-bg: var(--sl-color-purple-low);border:1px solid var(--sl-color-gray-5);background-color:var(--sl-color-black);padding:clamp(1rem,calc(.125rem + 3vw),2.5rem);flex-direction:column;gap:clamp(.5rem,calc(.125rem + 1vw),1rem)}.card:where(.astro-v5tidmuc):nth-child(4n+1){--sl-card-border: var(--sl-color-orange);--sl-card-bg: var(--sl-color-orange-low)}.card:where(.astro-v5tidmuc):nth-child(4n+3){--sl-card-border: var(--sl-color-green);--sl-card-bg: var(--sl-color-green-low)}.card:where(.astro-v5tidmuc):nth-child(4n+4){--sl-card-border: var(--sl-color-red);--sl-card-bg: var(--sl-color-red-low)}.card:where(.astro-v5tidmuc):nth-child(4n+5){--sl-card-border: var(--sl-color-blue);--sl-card-bg: var(--sl-color-blue-low)}.title:where(.astro-v5tidmuc){font-weight:600;font-size:var(--sl-text-h4);color:var(--sl-color-white);line-height:var(--sl-line-height-headings);gap:1rem;align-items:center}.card:where(.astro-v5tidmuc) .icon:where(.astro-v5tidmuc){border:1px solid var(--sl-card-border);background-color:var(--sl-card-bg);padding:.2em;border-radius:.25rem}.card:where(.astro-v5tidmuc) .body:where(.astro-v5tidmuc){margin:0;font-size:clamp(var(--sl-text-sm),calc(.5rem + 1vw),var(--sl-text-body))}
svg:where(.astro-c6vsoqas){color:var(--sl-icon-color);font-size:var(--sl-icon-size, 1em);width:1em;height:1em}
starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astro-esqgolmp){overflow-x:auto}:where(.astro-esqgolmp)[role=tablist]{display:flex;list-style:none;border-bottom:2px solid var(--sl-color-gray-5);padding:0}.tab:where(.astro-esqgolmp){margin-bottom:-2px}.tab:where(.astro-esqgolmp)>:where(.astro-esqgolmp)[role=tab]{display:flex;align-items:center;gap:.5rem;padding:0 1.25rem;text-decoration:none;border-bottom:2px solid var(--sl-color-gray-5);color:var(--sl-color-gray-3);outline-offset:var(--sl-outline-offset-inside);overflow-wrap:initial}.tab:where(.astro-esqgolmp) :where(.astro-esqgolmp)[role=tab][aria-selected=true]{color:var(--sl-color-white);border-color:var(--sl-color-text-accent);font-weight:600}.tablist-wrapper:where(.astro-esqgolmp)~[role=tabpanel]{margin-top:1rem}
.sl-steps{--bullet-size: calc(var(--sl-line-height) * 1rem);--bullet-margin: .375rem;list-style:none;counter-reset:steps-counter var(--sl-steps-start, 0);padding-inline-start:0}.sl-steps>li{counter-increment:steps-counter;position:relative;padding-inline-start:calc(var(--bullet-size) + 1rem);padding-bottom:1px;min-height:calc(var(--bullet-size) + var(--bullet-margin))}.sl-steps>li+li{margin-top:0}.sl-steps>li:before{content:counter(steps-counter);position:absolute;top:0;inset-inline-start:0;width:var(--bullet-size);height:var(--bullet-size);line-height:var(--bullet-size);font-size:var(--sl-text-xs);font-weight:600;text-align:center;color:var(--sl-color-white);background-color:var(--sl-color-gray-6);border-radius:99rem;box-shadow:inset 0 0 0 1px var(--sl-color-gray-5)}.sl-steps>li:after{--guide-width: 1px;content:"";position:absolute;top:calc(var(--bullet-size) + var(--bullet-margin));bottom:var(--bullet-margin);inset-inline-start:calc((var(--bullet-size) - var(--guide-width)) / 2);width:var(--guide-width);background-color:var(--sl-color-hairline-light)}.sl-steps>li>:first-child{--lh: calc(1em * var(--sl-line-height));--shift-y: calc(.5 * (var(--bullet-size) - var(--lh)));transform:translateY(var(--shift-y));margin-bottom:var(--shift-y)}.sl-steps>li>:first-child:where(h1,h2,h3,h4,h5,h6){--lh: calc(1em * var(--sl-line-height-headings))}@supports (--prop: 1lh){.sl-steps>li>:first-child{--lh: 1lh}}
.sl-link-button:where(.astro-xwgiixxa){align-items:center;border:1px solid transparent;border-radius:999rem;display:inline-flex;font-size:var(--sl-text-sm);gap:.5em;line-height:1.1875;outline-offset:.25rem;padding:.4375rem 1.125rem;text-decoration:none}.sl-link-button:where(.astro-xwgiixxa).primary{background:var(--sl-color-text-accent);border-color:var(--sl-color-text-accent);color:var(--sl-color-black)}.sl-link-button:where(.astro-xwgiixxa).primary:hover{color:var(--sl-color-black)}.sl-link-button:where(.astro-xwgiixxa).secondary{border-color:inherit;color:var(--sl-color-white)}.sl-link-button:where(.astro-xwgiixxa).minimal{color:var(--sl-color-white);padding-inline:0}.sl-link-button:where(.astro-xwgiixxa) svg{flex-shrink:0}@media (min-width: 50rem){.sl-link-button:where(.astro-xwgiixxa){font-size:var(--sl-text-base);padding:.9375rem 1.25rem}}.sl-markdown-content .sl-link-button:where(.astro-xwgiixxa){margin-inline-end:1rem}.sl-markdown-content .sl-link-button:where(.astro-xwgiixxa):not(:where(p *)){margin-block:1rem}
</style><script type="module" src="/vjailbreak/_astro/page.Es7s6Xc5.js"></script></head> <body class="astro-bguv2lll"> <a href="#_top" class="astro-7q3lir66">Skip to content</a> <div class="page sl-flex astro-vrdttmbt"> <header class="header astro-vrdttmbt"><div class="header sl-flex astro-3ef6ksr2"> <div class="title-wrapper sl-flex astro-3ef6ksr2"> <a href="/vjailbreak/" class="site-title sl-flex astro-m46x6ez3"> <img class="astro-m46x6ez3" alt src="/vjailbreak/_astro/platform9-logo.PaszzYBQ.svg" width="120" height="60"> <span class="sr-only astro-m46x6ez3" translate="no"> vJailbreak </span> </a> </div> <div class="sl-flex print:hidden astro-3ef6ksr2"> <site-search class="astro-3ef6ksr2 astro-v37mnknz" data-translations="{&#34;placeholder&#34;:&#34;Search&#34;}"> <button data-open-modal disabled aria-label="Search" aria-keyshortcuts="Control+K" class="astro-v37mnknz"> <svg aria-hidden="true" class="astro-v37mnknz astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21.71 20.29 18 16.61A9 9 0 1 0 16.61 18l3.68 3.68a.999.999 0 0 0 1.42 0 1 1 0 0 0 0-1.39ZM11 18a7 7 0 1 1 0-14 7 7 0 0 1 0 14Z"/></svg> <span class="sl-hidden md:sl-block astro-v37mnknz" aria-hidden="true">Search</span> <kbd class="sl-hidden md:sl-flex astro-v37mnknz" style="display: none;"> <kbd class="astro-v37mnknz">Ctrl</kbd><kbd class="astro-v37mnknz">K</kbd> </kbd> </button> <dialog style="padding:0" aria-label="Search" class="astro-v37mnknz"> <div class="dialog-frame sl-flex astro-v37mnknz"> <button data-close-modal class="sl-flex md:sl-hidden astro-v37mnknz"> Cancel </button> <div class="search-container astro-v37mnknz"> <div id="starlight__search" class="astro-v37mnknz"></div> </div> </div> </dialog> </site-search> <script>
(() => {
const openBtn = document.querySelector('button[data-open-modal]');
const shortcut = openBtn?.querySelector('kbd');
if (!openBtn || !(shortcut instanceof HTMLElement)) return;
const platformKey = shortcut.querySelector('kbd');
if (platformKey && /(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)) {
platformKey.textContent = '⌘';
openBtn.setAttribute('aria-keyshortcuts', 'Meta+K');
}
shortcut.style.display = '';
})();
</script> <script type="module" src="/vjailbreak/_astro/Search.astro_astro_type_script_index_0_lang.PKSD7nbt.js"></script> </div> <div class="sl-hidden md:sl-flex print:hidden right-group astro-3ef6ksr2"> <div class="sl-flex social-icons astro-3ef6ksr2"> <a href="https://github.com/platform9/vjailbreak" rel="me" class="sl-flex astro-wy4te6ga"><span class="sr-only astro-wy4te6ga">GitHub</span><svg aria-hidden="true" class="astro-wy4te6ga astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M12 .3a12 12 0 0 0-3.8 23.38c.6.12.83-.26.83-.57L9 21.07c-3.34.72-4.04-1.61-4.04-1.61-.55-1.39-1.34-1.76-1.34-1.76-1.08-.74.09-.73.09-.73 1.2.09 1.83 1.24 1.83 1.24 1.08 1.83 2.81 1.3 3.5 1 .1-.78.42-1.31.76-1.61-2.67-.3-5.47-1.33-5.47-5.93 0-1.31.47-2.38 1.24-3.22-.14-.3-.54-1.52.1-3.18 0 0 1-.32 3.3 1.23a11.5 11.5 0 0 1 6 0c2.28-1.55 3.29-1.23 3.29-1.23.64 1.66.24 2.88.12 3.18a4.65 4.65 0 0 1 1.23 3.22c0 4.61-2.8 5.63-5.48 5.92.42.36.81 1.1.81 2.22l-.01 3.29c0 .31.2.69.82.57A12 12 0 0 0 12 .3Z"/></svg> </a><a href="https://join.slack.com/t/vjailbreak/shared_invite/zt-314pppw43-F1vzd6ZaPW5PoZqF~aa8lA" rel="me" class="sl-flex astro-wy4te6ga"><span class="sr-only astro-wy4te6ga">Slack</span><svg aria-hidden="true" class="astro-wy4te6ga astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52Zm1.271 0a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313ZM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834Zm0 1.271a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312Zm10.122 2.521a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834Zm-1.268 0a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312Zm-2.523 10.122a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52Zm0-1.268a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.528 2.528 0 0 1-2.522 2.523h-6.313Z"/></svg> </a> </div> <div class="sl-flex release-dropdown astro-3ef6ksr2"> <!-- Dropdown --><div class="select-container"> <label for="release-select" class="select-label">Latest Release:</label> <select id="release-select" class="release-select"> <option>Loading releases...</option> </select> </div> <script>(function(){const astroBaseURL = "https://platform9.github.io/";
document.addEventListener('DOMContentLoaded', async () => {
const CACHE_KEY = 'githubReleases';
const CACHE_EXPIRY = 60 * 60 * 1000; // 1 hour
const select = document.getElementById('release-select');
// Check cache first
if (typeof window !== 'undefined' && window.localStorage) {
const cachedReleases = localStorage.getItem(CACHE_KEY);
const cacheExpiry = localStorage.getItem(`${CACHE_KEY}_expiry`);
if (cachedReleases && cacheExpiry && Date.now() < Number(cacheExpiry)) {
try {
console.debug("Reading releases from cache:", JSON.parse(cachedReleases)); // Debug log
populateDropdown(JSON.parse(cachedReleases));
return;
} catch (e) {
console.warn("Cache corrupted clearing", e);
localStorage.removeItem(CACHE_KEY)
localStorage.removeItem(`${CACHE_KEY}_expiry`)
}
}
}
try {
console.debug("Fetching releases from GitHub"); // Debug log
const response = await fetch('https://api.github.com/repos/platform9/vjailbreak/releases');
const data = await response.json();
const releases = data.slice(0, 5);
// Store in cache
if (typeof window !== 'undefined' && window.localStorage) {
localStorage.setItem(CACHE_KEY, JSON.stringify(releases));
localStorage.setItem(`${CACHE_KEY}_expiry`, String(Date.now() + CACHE_EXPIRY));
}
populateDropdown(releases);
} catch (error) {
console.error("Error fetching releases:", error);
populateDropdown([{
id: 0,
name: "v0.1.7",
html_url: "https://github.com/platform9/vjailbreak/releases/tag/v0.1.7"
}]);
}
function populateDropdown(releases) {
const currentURL = astroBaseURL || window.location.origin; // Use Astro.site if available
const pathPrefix = astroBaseURL ? '/vjailbreak/release_docs/' : '/release_docs/';
select.innerHTML = releases.map(release => {
const nameModified = release.name.replace(/\./g, '');
const releaseDocsURL = `${currentURL}${pathPrefix}${nameModified}/`;
return `<option value="${release.name}">${release.name}</option>`;
}).join('');
select.selectedIndex = 0;
localStorage.setItem('vjailbreakSelectedVersion', select.value);
select.onchange = (e) => {
localStorage.setItem('vjailbreakSelectedVersion', e.target.value);
const version = e.target.value;
const btns = document.querySelectorAll('.version-btn');
btns.forEach(btn => {
if (btn.textContent === version) {
btn.click();
}
});
};
}
});
})();</script> </div> <starlight-theme-select> <label style="--sl-select-width: 6.25em" class="astro-4yphtoen"> <span class="sr-only astro-4yphtoen">Select theme</span> <svg aria-hidden="true" class="icon label-icon astro-4yphtoen astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21 14h-1V7a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v7H3a1 1 0 0 0-1 1v2a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-2a1 1 0 0 0-1-1ZM6 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7H6V7Zm14 10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1h16v1Z"/></svg> <select value="auto" autocomplete="off" class="astro-4yphtoen"> <option value="dark" class="astro-4yphtoen">Dark</option><option value="light" class="astro-4yphtoen">Light</option><option value="auto" selected class="astro-4yphtoen">Auto</option> </select> <svg aria-hidden="true" class="icon caret astro-4yphtoen astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71 8.46 9.17a1 1 0 1 0-1.41 1.42l4.24 4.24a1.002 1.002 0 0 0 1.42 0L17 10.59a1.002 1.002 0 0 0 0-1.42Z"/></svg> </label> </starlight-theme-select> <script>
StarlightThemeProvider.updatePickers();
</script> <script type="module">const r="starlight-theme",o=e=>e==="auto"||e==="dark"||e==="light"?e:"auto",c=()=>o(typeof localStorage<"u"&&localStorage.getItem(r));function n(e){typeof localStorage<"u"&&localStorage.setItem(r,e==="light"||e==="dark"?e:"")}const l=()=>matchMedia("(prefers-color-scheme: light)").matches?"light":"dark";function t(e){StarlightThemeProvider.updatePickers(e),document.documentElement.dataset.theme=e==="auto"?l():e,n(e)}matchMedia("(prefers-color-scheme: light)").addEventListener("change",()=>{c()==="auto"&&t("auto")});class s extends HTMLElement{constructor(){super(),t(c()),this.querySelector("select")?.addEventListener("change",a=>{a.currentTarget instanceof HTMLSelectElement&&t(o(a.currentTarget.value))})}}customElements.define("starlight-theme-select",s);</script> <script type="module">class s extends HTMLElement{constructor(){super();const e=this.querySelector("select");e&&(e.addEventListener("change",t=>{t.currentTarget instanceof HTMLSelectElement&&(window.location.pathname=t.currentTarget.value)}),window.addEventListener("pageshow",t=>{if(!t.persisted)return;const n=e.querySelector("option[selected]")?.index;n!==e.selectedIndex&&(e.selectedIndex=n??0)}))}}customElements.define("starlight-lang-select",s);</script> </div> </div> </header> <nav class="sidebar print:hidden astro-vrdttmbt" aria-label="Main"> <starlight-menu-button class="print:hidden astro-jif73yzw"> <button aria-expanded="false" aria-label="Menu" aria-controls="starlight__sidebar" class="sl-flex md:sl-hidden astro-jif73yzw"> <svg aria-hidden="true" class="astro-jif73yzw astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M3 8h18a1 1 0 1 0 0-2H3a1 1 0 0 0 0 2Zm18 8H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Zm0-5H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Z"/></svg> </button> </starlight-menu-button> <script type="module">class s extends HTMLElement{constructor(){super(),this.btn=this.querySelector("button"),this.btn.addEventListener("click",()=>this.toggleExpanded());const t=this.closest("nav");t&&t.addEventListener("keyup",e=>this.closeOnEscape(e))}setExpanded(t){this.setAttribute("aria-expanded",String(t)),document.body.toggleAttribute("data-mobile-menu-expanded",t)}toggleExpanded(){this.setExpanded(this.getAttribute("aria-expanded")!=="true")}closeOnEscape(t){t.code==="Escape"&&(this.setExpanded(!1),this.btn.focus())}}customElements.define("starlight-menu-button",s);</script> <div id="starlight__sidebar" class="sidebar-pane astro-vrdttmbt"> <div class="sidebar-content sl-flex astro-vrdttmbt"> <sl-sidebar-state-persist data-hash="0iup75e" class="astro-kku4brbg"> <script aria-hidden="true">
(() => {
try {
if (!matchMedia('(min-width: 50em)').matches) return;
/** @type {HTMLElement | null} */
const target = document.querySelector('sl-sidebar-state-persist');
const state = JSON.parse(sessionStorage.getItem('sl-sidebar-state') || '0');
if (!target || !state || target.dataset.hash !== state.hash) return;
window._starlightScrollRestore = state.scroll;
customElements.define(
'sl-sidebar-restore',
class SidebarRestore extends HTMLElement {
connectedCallback() {
try {
const idx = parseInt(this.dataset.index || '');
const details = this.closest('details');
if (details && typeof state.open[idx] === 'boolean') details.open = state.open[idx];
} catch {}
}
}
);
} catch {}
})();
</script> <ul class="top-level astro-3ii7xxms"> <li class="astro-3ii7xxms"> <details open class="astro-3ii7xxms"> <sl-sidebar-restore data-index="0"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Introduction</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/vjailbreak/introduction/what_is_vjailbreak/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">What is vJailbreak</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/introduction/getting_started/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Getting Started</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/introduction/prerequisites/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Prerequisites</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/introduction/faq/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">FAQ</span> </a> </li> </ul> </details> </li><li class="astro-3ii7xxms"> <details open class="astro-3ii7xxms"> <sl-sidebar-restore data-index="1"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Concepts</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/vjailbreak/concepts/user-management/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">User Credential Management</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/concepts/credential-management/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Credential Management</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/concepts/network-persistence/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Network Persistence</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/concepts/network-storage-mapping/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Network &amp; Storage Mapping</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/concepts/migration-options/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Migration Options</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/concepts/cluster-conversion/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Cluster Conversion</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/concepts/storage-accelerated-copy/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Storage Accelerated Copy</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/concepts/vjailbreak-accelerated-copy/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">vJailbreak Accelerated Copy</span> </a> </li> </ul> </details> </li><li class="astro-3ii7xxms"> <details open class="astro-3ii7xxms"> <sl-sidebar-restore data-index="2"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Architecture</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/vjailbreak/architecture/architecture-overview/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Architecture</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/architecture/vjailbreak-vm/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">vJailbreak VM</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/architecture/components/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Components</span> </a> </li> </ul> </details> </li><li class="astro-3ii7xxms"> <details open class="astro-3ii7xxms"> <sl-sidebar-restore data-index="3"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Guide</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <details open class="astro-3ii7xxms"> <sl-sidebar-restore data-index="4"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">CLI-API</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/cli-api/migrating_rdm_disk_windows_cluster_machine_using_cli/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Migrating RDM Disk</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/cli-api/migrating_using_cli_and_kubectl/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Use CLI to Migrate</span> </a> </li> </ul> </details> </li><li class="astro-3ii7xxms"> <details open class="astro-3ii7xxms"> <sl-sidebar-restore data-index="5"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Cluster-Conversion</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/cluster-conversion/cluster-conversion/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Cluster Conversion</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/cluster-conversion/maas-enablement/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Add ESXi to MAAS</span> </a> </li> </ul> </details> </li><li class="astro-3ii7xxms"> <details open class="astro-3ii7xxms"> <sl-sidebar-restore data-index="6"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">How-to</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/how-to/ai_analysis/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">AI-Powered Migration Failure Analysis</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/how-to/building/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Build vJailbreak</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/how-to/enable_kvm_nested_virtualization/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Enable KVM for virt-v2v (Nested Virtualization)</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/how-to/firstboot_script_doc/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Firstboot Script</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/how-to/gpo_migration/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Group Policy Object (GPO) VM Migration</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/how-to/injecting_custom_env/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Inject Environment Variables</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/how-to/migration_templates/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Migration Templates</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/how-to/network-traffic-separation/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Configuring Dedicated Data Network for Migrations</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/how-to/networking-101/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">One-Stop Migration Networking</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/how-to/ntp_timezone/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Configure Time Zone and NTP Servers</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/how-to/perform_admin_cutover/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Perform Admin Cutover</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/how-to/profiles/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Profiles</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/how-to/retry_failed_migration/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Retry a Failed Migration</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/how-to/scaling/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Scale vJailbreak</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/how-to/stream_logs/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Stream Logs</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/how-to/upgrade_vjailbreak/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Upgrade vJailbreak</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/how-to/virtio_doc/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Inject VirtIO Windows Driver</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/how-to/vjailbreak_settings/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Use vJailbreak Settings</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/how-to/vtpm_migration/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Virtual Trusted Platform Module (vTPM) VM Migration</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/how-to/windows-ldm-migration/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Windows Dynamic Disk (LDM) Migration</span> </a> </li> </ul> </details> </li><li class="astro-3ii7xxms"> <details open class="astro-3ii7xxms"> <sl-sidebar-restore data-index="7"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Troubleshooting</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/troubleshooting/debug_vjailbreak_install/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Debug vJailbreak Installation</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/troubleshooting/debuglogs/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Debug Logs</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/troubleshooting/nbdcopy-fails-after-vm-moved-esxi-host/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">nbdcopy fails during disk copy (often DNS resolution)</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/troubleshooting/troubleshooting/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Troubleshooting vJailbreak</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/troubleshooting/vmware_residual_artifacts/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">VMware Residual Artifacts</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/guides/troubleshooting/windows-offline-disks/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Windows Offline Disks After Migration</span> </a> </li> </ul> </details> </li> </ul> </details> </li><li class="astro-3ii7xxms"> <details open class="astro-3ii7xxms"> <sl-sidebar-restore data-index="8"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Reference</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/vjailbreak/reference/reference/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">vJailbreak CRDs</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/reference/compatibility/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Compatibility Matrix</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/reference/known-limitations/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Known Limitations</span> </a> </li> </ul> </details> </li><li class="astro-3ii7xxms"> <details open class="astro-3ii7xxms"> <sl-sidebar-restore data-index="9"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Release Notes</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/vjailbreak/release_docs/v0410/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">v0.4.10</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/release_docs/v046/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">v0.4.6</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/release_docs/v047/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">v0.4.7</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/release_docs/v048/" aria-current="page" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">v0.4.8</span> </a> </li><li class="astro-3ii7xxms"> <a href="/vjailbreak/release_docs/v049/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">v0.4.9</span> </a> </li> </ul> </details> </li><li class="astro-3ii7xxms"> <details open class="astro-3ii7xxms"> <sl-sidebar-restore data-index="10"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Archives</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/vjailbreak/archives/release_notes/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Archived Releases</span> </a> </li> </ul> </details> </li> </ul> <script aria-hidden="true">
(() => {
const scroller = document.getElementById('starlight__sidebar');
if (!window._starlightScrollRestore || !scroller) return;
scroller.scrollTop = window._starlightScrollRestore;
delete window._starlightScrollRestore;
})();
</script> </sl-sidebar-state-persist> <div class="md:sl-hidden"> <div class="mobile-preferences sl-flex astro-wu23bvmt"> <div class="sl-flex social-icons astro-wu23bvmt"> <a href="https://github.com/platform9/vjailbreak" rel="me" class="sl-flex astro-wy4te6ga"><span class="sr-only astro-wy4te6ga">GitHub</span><svg aria-hidden="true" class="astro-wy4te6ga astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M12 .3a12 12 0 0 0-3.8 23.38c.6.12.83-.26.83-.57L9 21.07c-3.34.72-4.04-1.61-4.04-1.61-.55-1.39-1.34-1.76-1.34-1.76-1.08-.74.09-.73.09-.73 1.2.09 1.83 1.24 1.83 1.24 1.08 1.83 2.81 1.3 3.5 1 .1-.78.42-1.31.76-1.61-2.67-.3-5.47-1.33-5.47-5.93 0-1.31.47-2.38 1.24-3.22-.14-.3-.54-1.52.1-3.18 0 0 1-.32 3.3 1.23a11.5 11.5 0 0 1 6 0c2.28-1.55 3.29-1.23 3.29-1.23.64 1.66.24 2.88.12 3.18a4.65 4.65 0 0 1 1.23 3.22c0 4.61-2.8 5.63-5.48 5.92.42.36.81 1.1.81 2.22l-.01 3.29c0 .31.2.69.82.57A12 12 0 0 0 12 .3Z"/></svg> </a><a href="https://join.slack.com/t/vjailbreak/shared_invite/zt-314pppw43-F1vzd6ZaPW5PoZqF~aa8lA" rel="me" class="sl-flex astro-wy4te6ga"><span class="sr-only astro-wy4te6ga">Slack</span><svg aria-hidden="true" class="astro-wy4te6ga astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52Zm1.271 0a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313ZM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834Zm0 1.271a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312Zm10.122 2.521a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834Zm-1.268 0a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312Zm-2.523 10.122a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52Zm0-1.268a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.528 2.528 0 0 1-2.522 2.523h-6.313Z"/></svg> </a> </div> <starlight-theme-select> <label style="--sl-select-width: 6.25em" class="astro-4yphtoen"> <span class="sr-only astro-4yphtoen">Select theme</span> <svg aria-hidden="true" class="icon label-icon astro-4yphtoen astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21 14h-1V7a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v7H3a1 1 0 0 0-1 1v2a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-2a1 1 0 0 0-1-1ZM6 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7H6V7Zm14 10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1h16v1Z"/></svg> <select value="auto" autocomplete="off" class="astro-4yphtoen"> <option value="dark" class="astro-4yphtoen">Dark</option><option value="light" class="astro-4yphtoen">Light</option><option value="auto" selected class="astro-4yphtoen">Auto</option> </select> <svg aria-hidden="true" class="icon caret astro-4yphtoen astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71 8.46 9.17a1 1 0 1 0-1.41 1.42l4.24 4.24a1.002 1.002 0 0 0 1.42 0L17 10.59a1.002 1.002 0 0 0 0-1.42Z"/></svg> </label> </starlight-theme-select> <script>
StarlightThemeProvider.updatePickers();
</script> </div> </div> </div> </div> </nav> <div class="main-frame astro-vrdttmbt"> <script type="module">const a=document.getElementById("starlight__sidebar"),n=a?.querySelector("sl-sidebar-state-persist"),o="sl-sidebar-state",i=()=>{let t=[];const e=n?.dataset.hash||"";try{const s=sessionStorage.getItem(o),r=JSON.parse(s||"{}");Array.isArray(r.open)&&r.hash===e&&(t=r.open)}catch{}return{hash:e,open:t,scroll:a?.scrollTop||0}},c=t=>{try{sessionStorage.setItem(o,JSON.stringify(t))}catch{}},d=()=>c(i()),l=(t,e)=>{const s=i();s.open[e]=t,c(s)};n?.addEventListener("click",t=>{if(!(t.target instanceof Element))return;const e=t.target.closest("summary")?.closest("details");if(!e)return;const s=e.querySelector("sl-sidebar-restore"),r=parseInt(s?.dataset.index||"");isNaN(r)||l(!e.open,r)});addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&d()});addEventListener("pageHide",d);</script> <div class="lg:sl-flex astro-67yu43on"> <aside class="right-sidebar-container print:hidden astro-67yu43on"> <div class="right-sidebar astro-67yu43on"> <div class="lg:sl-hidden astro-pb3aqygn"><mobile-starlight-toc data-min-h="2" data-max-h="3" class="astro-doynk5tl"><nav aria-labelledby="starlight__on-this-page--mobile" class="astro-doynk5tl"><details id="starlight__mobile-toc" class="astro-doynk5tl"><summary id="starlight__on-this-page--mobile" class="sl-flex astro-doynk5tl"><div class="toggle sl-flex astro-doynk5tl">On this page<svg aria-hidden="true" class="caret astro-doynk5tl astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </div><span class="display-current astro-doynk5tl"></span></summary><div class="dropdown astro-doynk5tl"><ul class="isMobile astro-g2bywc46" style="--depth: 0;"> <li class="astro-g2bywc46" style="--depth: 0;"> <a href="#_top" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">Overview</span> </a> </li><li class="astro-g2bywc46" style="--depth: 0;"> <a href="#whats-changed" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">What’s Changed</span> </a> </li><li class="astro-g2bywc46" style="--depth: 0;"> <a href="#new-contributors" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">New Contributors</span> </a> </li><li class="astro-g2bywc46" style="--depth: 0;"> <a href="#highlights" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">Highlights</span> </a> </li><li class="astro-g2bywc46" style="--depth: 0;"> <a href="#known-limitations" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">Known Limitations</span> </a> </li> </ul> </div></details></nav></mobile-starlight-toc><script type="module" src="/vjailbreak/_astro/MobileTableOfContents.astro_astro_type_script_index_0_lang.C181hMzK.js"></script></div><div class="right-sidebar-panel sl-hidden lg:sl-block astro-pb3aqygn"><div class="sl-container astro-pb3aqygn"><starlight-toc data-min-h="2" data-max-h="3"><nav aria-labelledby="starlight__on-this-page"><h2 id="starlight__on-this-page">On this page</h2><ul class="astro-g2bywc46" style="--depth: 0;"> <li class="astro-g2bywc46" style="--depth: 0;"> <a href="#_top" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">Overview</span> </a> </li><li class="astro-g2bywc46" style="--depth: 0;"> <a href="#whats-changed" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">What’s Changed</span> </a> </li><li class="astro-g2bywc46" style="--depth: 0;"> <a href="#new-contributors" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">New Contributors</span> </a> </li><li class="astro-g2bywc46" style="--depth: 0;"> <a href="#highlights" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">Highlights</span> </a> </li><li class="astro-g2bywc46" style="--depth: 0;"> <a href="#known-limitations" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">Known Limitations</span> </a> </li> </ul> </nav></starlight-toc><script type="module" src="/vjailbreak/_astro/TableOfContents.astro_astro_type_script_index_0_lang.CKWWgpjV.js"></script></div></div> </div> </aside> <div class="main-pane astro-67yu43on"> <main data-pagefind-body class="astro-bguv2lll" lang="en" dir="ltr"> <div class="content-panel astro-7nkwcw3z"> <div class="sl-container astro-7nkwcw3z"> <h1 id="_top" class="astro-j6tvhyss">v0.4.8</h1> </div> </div> <div class="content-panel astro-7nkwcw3z"> <div class="sl-container astro-7nkwcw3z"> <div class="sl-markdown-content"> <h2 id="whats-changed">What’s Changed</h2>
<ul>
<li>#2067: Block/Grey out the already registered proxy vm, this could mismatch the secret by @AbhijeetThakur in <a href="https://github.com/platform9/vjailbreak/pull/2105">https://github.com/platform9/vjailbreak/pull/2105</a></li>
<li>[2083] Infer hotplug intent from assigned flavor by @sarika-pf9 in <a href="https://github.com/platform9/vjailbreak/pull/2109">https://github.com/platform9/vjailbreak/pull/2109</a></li>
<li>fix: security workflow fork PR comments + graphify git noise by @OmkarDeshpande7 in <a href="https://github.com/platform9/vjailbreak/pull/2116">https://github.com/platform9/vjailbreak/pull/2116</a></li>
<li>test(v2v-helper): repair stale mkinitrd LVM wrapper unit tests by @gtherond in <a href="https://github.com/platform9/vjailbreak/pull/2075">https://github.com/platform9/vjailbreak/pull/2075</a></li>
<li>[2106] Fix wrong stage shown for Hot-Add proxy migrations by @meghansh-pf9 in <a href="https://github.com/platform9/vjailbreak/pull/2117">https://github.com/platform9/vjailbreak/pull/2117</a></li>
<li>[2085] Block Persist source network interfaces when mapped network subnet doesn’t match VM IPs by @sarika-pf9 in <a href="https://github.com/platform9/vjailbreak/pull/2110">https://github.com/platform9/vjailbreak/pull/2110</a></li>
<li>[2095] Serve debug bundle as .tar.gz archive instead of single .txt file by @sarika-pf9 in <a href="https://github.com/platform9/vjailbreak/pull/2112">https://github.com/platform9/vjailbreak/pull/2112</a></li>
<li>[2113] Improved subnet mismatch warning and Persist IP disabled warning by @sarika-pf9 in <a href="https://github.com/platform9/vjailbreak/pull/2126">https://github.com/platform9/vjailbreak/pull/2126</a></li>
<li>refactor: remove deprecated files and components, streamline package dependencies by @AbhijeetThakur in <a href="https://github.com/platform9/vjailbreak/pull/2114">https://github.com/platform9/vjailbreak/pull/2114</a></li>
<li>Don’t call openstackcreds per cluster to get tenant name by @spai-p9 in <a href="https://github.com/platform9/vjailbreak/pull/2057">https://github.com/platform9/vjailbreak/pull/2057</a></li>
<li>#2087 : Add confirmation dialog for node reprovisioning by @AbhijeetThakur in <a href="https://github.com/platform9/vjailbreak/pull/2131">https://github.com/platform9/vjailbreak/pull/2131</a></li>
<li>#2094: [UI] Update Controller Log Section Styling to Match Migration Details Logs by @AbhijeetThakur in <a href="https://github.com/platform9/vjailbreak/pull/2136">https://github.com/platform9/vjailbreak/pull/2136</a></li>
<li>[2128] Show assigned flavor and disk size for VMs selected for migration by @sarika-pf9 in <a href="https://github.com/platform9/vjailbreak/pull/2137">https://github.com/platform9/vjailbreak/pull/2137</a></li>
<li>[1930] Fix CentOS 7 conversion failure from e2fsck bitmap errors by @meghansh-pf9 in <a href="https://github.com/platform9/vjailbreak/pull/2134">https://github.com/platform9/vjailbreak/pull/2134</a></li>
<li>Delete associated agent nodes when OpenstackCreds is deleted by @OmkarDeshpande7 in <a href="https://github.com/platform9/vjailbreak/pull/2119">https://github.com/platform9/vjailbreak/pull/2119</a></li>
<li>#2125: Move Proxy VM Credentials Navigation from Credentials to Migration Menu by @AbhijeetThakur in <a href="https://github.com/platform9/vjailbreak/pull/2138">https://github.com/platform9/vjailbreak/pull/2138</a></li>
<li>Refactor: ReservePortsForVM by @spai-p9 in <a href="https://github.com/platform9/vjailbreak/pull/2140">https://github.com/platform9/vjailbreak/pull/2140</a></li>
<li>[2012] Fix SUSE GRUB Legacy device references post-migration by @meghansh-pf9 in <a href="https://github.com/platform9/vjailbreak/pull/2133">https://github.com/platform9/vjailbreak/pull/2133</a></li>
<li>AI analysis of migration failures by @OmkarDeshpande7 in <a href="https://github.com/platform9/vjailbreak/pull/1998">https://github.com/platform9/vjailbreak/pull/1998</a></li>
<li>[1801] Twice HOTPLUG_CPU_MAX/HOTPLUG_MEMORY_MAX metadata so migrated VMs can be resized on PCD by @sarika-pf9 in <a href="https://github.com/platform9/vjailbreak/pull/2127">https://github.com/platform9/vjailbreak/pull/2127</a></li>
<li>[2167] fix(v2v-helper): Install vendored libnbd with libnbd-devel by @sarika-pf9 in <a href="https://github.com/platform9/vjailbreak/pull/2166">https://github.com/platform9/vjailbreak/pull/2166</a></li>
<li>When Ip is empty and fallback to dhcp true ask pcd to assign ip via dhcp by @spai-p9 in <a href="https://github.com/platform9/vjailbreak/pull/2153">https://github.com/platform9/vjailbreak/pull/2153</a></li>
<li>[2161] fix(ui): Global Settings Save button silently dead by @sarika-pf9 in <a href="https://github.com/platform9/vjailbreak/pull/2162">https://github.com/platform9/vjailbreak/pull/2162</a></li>
<li>[428] Added ability to preserve tags, attributes, and custom metadata attached to the virtual machine by @sarika-pf9 in <a href="https://github.com/platform9/vjailbreak/pull/2146">https://github.com/platform9/vjailbreak/pull/2146</a></li>
<li>[2115] Fix IP address not populating on port creation due to MAC address case mismatch by @sarika-pf9 in <a href="https://github.com/platform9/vjailbreak/pull/2160">https://github.com/platform9/vjailbreak/pull/2160</a></li>
<li>[428] UI: Added ability to preserve tags, attributes, and custom metadata attached to the virtual machine by @sarika-pf9 in <a href="https://github.com/platform9/vjailbreak/pull/2145">https://github.com/platform9/vjailbreak/pull/2145</a></li>
<li>[2096] Default removeVMwareTools to true by @OmkarDeshpande7 in <a href="https://github.com/platform9/vjailbreak/pull/2159">https://github.com/platform9/vjailbreak/pull/2159</a></li>
<li>Make clean up both agents and vjb nodes to run as background and improve reliability by @spai-p9 in <a href="https://github.com/platform9/vjailbreak/pull/2155">https://github.com/platform9/vjailbreak/pull/2155</a></li>
<li>Refactoring boot partition detection by @meghansh-pf9 in <a href="https://github.com/platform9/vjailbreak/pull/2168">https://github.com/platform9/vjailbreak/pull/2168</a></li>
<li>Separate out nbd and virtv2v debug logs by @spai-p9 in <a href="https://github.com/platform9/vjailbreak/pull/2165">https://github.com/platform9/vjailbreak/pull/2165</a>
<a href="https://github.com/platform9/vjailbreak/pull/2172">https://github.com/platform9/vjailbreak/pull/2172</a></li>
<li>[2173] Remove beta tag from Storage Accelerated Copy by @meghansh-pf9 in <a href="https://github.com/platform9/vjailbreak/pull/2177">https://github.com/platform9/vjailbreak/pull/2177</a></li>
<li>[2152] Add MigrationBlueprint CRD to support migration templates by @sarika-pf9 in <a href="https://github.com/platform9/vjailbreak/pull/2158">https://github.com/platform9/vjailbreak/pull/2158</a></li>
<li>[2175] UI patch call for proxy vm retry by @meghansh-pf9 in <a href="https://github.com/platform9/vjailbreak/pull/2181">https://github.com/platform9/vjailbreak/pull/2181</a></li>
<li>[2176] Fix tags toggle needing two clicks to enable by @sarika-pf9 in <a href="https://github.com/platform9/vjailbreak/pull/2183">https://github.com/platform9/vjailbreak/pull/2183</a></li>
<li>[2184] Fix Migration Options toggles needing two clicks to enable by @sarika-pf9 in <a href="https://github.com/platform9/vjailbreak/pull/2185">https://github.com/platform9/vjailbreak/pull/2185</a></li>
<li>#2120: Add Support for Migration Templates and Saved Configurations by @AbhijeetThakur in <a href="https://github.com/platform9/vjailbreak/pull/2180">https://github.com/platform9/vjailbreak/pull/2180</a></li>
<li>Configure guest network incase of ubuntu for fallback to dhcp case by @spai-p9 in <a href="https://github.com/platform9/vjailbreak/pull/2182">https://github.com/platform9/vjailbreak/pull/2182</a></li>
<li>[2178] fix(migration): disable persist network interfaces when Preserve IP is off and mapped to diff network by @sarika-pf9 in <a href="https://github.com/platform9/vjailbreak/pull/2189">https://github.com/platform9/vjailbreak/pull/2189</a></li>
<li>Feature: Add error propogation to UI from debug logs for failures by @spai-p9 in <a href="https://github.com/platform9/vjailbreak/pull/2170">https://github.com/platform9/vjailbreak/pull/2170</a></li>
<li>[2213] Fix migration stuck in ConvertingDisk after transient VM creation timeout by @OmkarDeshpande7 in <a href="https://github.com/platform9/vjailbreak/pull/2192">https://github.com/platform9/vjailbreak/pull/2192</a></li>
<li>[2143] unique port names for multi-NIC VMs using network+subnet+vmname by @OmkarDeshpande7 in <a href="https://github.com/platform9/vjailbreak/pull/2147">https://github.com/platform9/vjailbreak/pull/2147</a></li>
<li>[2191] Grid/list toggle wraps left instead of staying inline on Templates tooolbar by @sarika-pf9 in <a href="https://github.com/platform9/vjailbreak/pull/2199">https://github.com/platform9/vjailbreak/pull/2199</a></li>
<li>[2193] Prevent checkbox selection column from being hidden via Manage Columns by @sarika-pf9 in <a href="https://github.com/platform9/vjailbreak/pull/2198">https://github.com/platform9/vjailbreak/pull/2198</a></li>
<li>[2194] Fix: Converting Disk status should not show count of disks by @sarika-pf9 in <a href="https://github.com/platform9/vjailbreak/pull/2200">https://github.com/platform9/vjailbreak/pull/2200</a></li>
<li>[2202] Fix: AI Analysis key configuration redirect to correct settings tab by @sarika-pf9 in <a href="https://github.com/platform9/vjailbreak/pull/2204">https://github.com/platform9/vjailbreak/pull/2204</a></li>
<li>feat: add data-only migration mode (no VM creation) (#492) by @OmkarDeshpande7 in <a href="https://github.com/platform9/vjailbreak/pull/2171">https://github.com/platform9/vjailbreak/pull/2171</a></li>
<li>Support encrypted volume types in pcd. by @spai-p9 in <a href="https://github.com/platform9/vjailbreak/pull/2208">https://github.com/platform9/vjailbreak/pull/2208</a></li>
<li>[2201] Show migration failure messages on the UI by @sarika-pf9 in <a href="https://github.com/platform9/vjailbreak/pull/2205">https://github.com/platform9/vjailbreak/pull/2205</a></li>
<li>[2203] Fix: Disable migration progress bar by @sarika-pf9 in <a href="https://github.com/platform9/vjailbreak/pull/2210">https://github.com/platform9/vjailbreak/pull/2210</a></li>
<li>#2209: Step check marks doesnt disable if user disable the option by @AbhijeetThakur in <a href="https://github.com/platform9/vjailbreak/pull/2215">https://github.com/platform9/vjailbreak/pull/2215</a></li>
<li>[2214] Fix: Controller/pod log search returns zero results for lines that exist by @sarika-pf9 in <a href="https://github.com/platform9/vjailbreak/pull/2221">https://github.com/platform9/vjailbreak/pull/2221</a></li>
<li>[2217] Fix: Remove stale network/storage mappings when VMs are deselected by @sarika-pf9 in <a href="https://github.com/platform9/vjailbreak/pull/2222">https://github.com/platform9/vjailbreak/pull/2222</a></li>
<li>feat(dev): add Claude Code agent definitions for vjailbreak workflows by @OmkarDeshpande7 in <a href="https://github.com/platform9/vjailbreak/pull/2223">https://github.com/platform9/vjailbreak/pull/2223</a></li>
<li>[2195] Fix incorrect step timings on the migration detail page by @sarika-pf9 in <a href="https://github.com/platform9/vjailbreak/pull/2225">https://github.com/platform9/vjailbreak/pull/2225</a></li>
<li>[2213] Fix: Migration phase permanently frozen at Failed from transient kubelet events by @sarika-pf9 in <a href="https://github.com/platform9/vjailbreak/pull/2229">https://github.com/platform9/vjailbreak/pull/2229</a></li>
<li>[2234] Fix: remove VM selection from template creation and refactor pruning of mappings by @sarika-pf9 in <a href="https://github.com/platform9/vjailbreak/pull/2233">https://github.com/platform9/vjailbreak/pull/2233</a></li>
<li>[CI] modify pre-release actions to not skip builds by @OmkarDeshpande7 in <a href="https://github.com/platform9/vjailbreak/pull/2239">https://github.com/platform9/vjailbreak/pull/2239</a></li>
</ul>
<h2 id="new-contributors">New Contributors</h2>
<ul>
<li>@gtherond made their first contribution in <a href="https://github.com/platform9/vjailbreak/pull/2075">https://github.com/platform9/vjailbreak/pull/2075</a></li>
</ul>
<h2 id="highlights">Highlights</h2>
<ul>
<li>Introduced log analysis for failed migrations using Anthropic AI to help identify potential root causes and simplify troubleshooting.</li>
<li>Added ability to preserve source vCenter VM tags, attributes, and custom metadata during migration.</li>
<li>Promoted Storage Assisted Migration to General Availability (GA).</li>
<li>Added support for Migration Templates and Saved Configurations to streamline repeated migration workflows.</li>
<li>Added support for Data-Only migration mode, enabling data transfer without creating the destination VM.</li>
<li>Added support for migrating KMS-encrypted source VMs.</li>
</ul>
<h2 id="known-limitations">Known Limitations</h2>
<ul>
<li>The <strong>Data-Only</strong> migration option is not preserved when a migration is retried using the <strong>Retry</strong> button. See [<a href="https://github.com/platform9/vjailbreak/issues/2245">Issue #2245</a>] for details.</li>
<li>Migrations of VMs running <strong>RHEL 7.9</strong> may intermittently encounter a disk index-related issue. Retrying the migration typically resolves the problem.</li>
<li>When using the <strong>Hotplug</strong> flavor for migration, the destination VM’s <strong>Maximum CPU</strong> and <strong>Maximum Memory</strong> values are set to twice the original VM’s configured CPU and memory in vCenter.</li>
<li>Migration of <strong>SUSE Linux Enterprise Server (SLES)</strong> and <strong>SUSE Linux Enterprise Desktop (SLED)</strong> systems using <strong>Legacy GRUB 0.97</strong> is not supported.</li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/platform9/vjailbreak/compare/v0.4.7...v0.4.8">https://github.com/platform9/vjailbreak/compare/v0.4.7…v0.4.8</a></p> </div> <footer class="sl-flex astro-3yyafb3n"> <div class="meta sl-flex astro-3yyafb3n"> <a href="https://platform9.github.io/vjailbreak/src/content/docs/release_docs/v0.4.8.md" class="sl-flex print:hidden astro-eez2twj6"><svg aria-hidden="true" class="astro-eez2twj6 astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.2em;"><path d="M22 7.24a1 1 0 0 0-.29-.71l-4.24-4.24a1 1 0 0 0-1.1-.22 1 1 0 0 0-.32.22l-2.83 2.83L2.29 16.05a1 1 0 0 0-.29.71V21a1 1 0 0 0 1 1h4.24a1 1 0 0 0 .76-.29l10.87-10.93L21.71 8c.1-.1.17-.2.22-.33a1 1 0 0 0 0-.24v-.14l.07-.05ZM6.83 20H4v-2.83l9.93-9.93 2.83 2.83L6.83 20ZM18.17 8.66l-2.83-2.83 1.42-1.41 2.82 2.82-1.41 1.42Z"/></svg> Edit page</a> </div> <div class="pagination-links print:hidden astro-u2l5gyhi" dir="ltr"> <a href="/vjailbreak/release_docs/v047/" rel="prev" class="astro-u2l5gyhi"> <svg aria-hidden="true" class="astro-u2l5gyhi astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.5rem;"><path d="M17 11H9.41l3.3-3.29a1.004 1.004 0 1 0-1.42-1.42l-5 5a1 1 0 0 0-.21.33 1 1 0 0 0 0 .76 1 1 0 0 0 .21.33l5 5a1.002 1.002 0 0 0 1.639-.325 1 1 0 0 0-.219-1.095L9.41 13H17a1 1 0 0 0 0-2Z"/></svg> <span class="astro-u2l5gyhi"> Previous <br class="astro-u2l5gyhi"> <span class="link-title astro-u2l5gyhi">v0.4.7</span> </span> </a> <a href="/vjailbreak/release_docs/v049/" rel="next" class="astro-u2l5gyhi"> <svg aria-hidden="true" class="astro-u2l5gyhi astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.5rem;"><path d="M17.92 11.62a1.001 1.001 0 0 0-.21-.33l-5-5a1.003 1.003 0 1 0-1.42 1.42l3.3 3.29H7a1 1 0 0 0 0 2h7.59l-3.3 3.29a1.002 1.002 0 0 0 .325 1.639 1 1 0 0 0 1.095-.219l5-5a1 1 0 0 0 .21-.33 1 1 0 0 0 0-.76Z"/></svg> <span class="astro-u2l5gyhi"> Next <br class="astro-u2l5gyhi"> <span class="link-title astro-u2l5gyhi">v0.4.9</span> </span> </a> </div> </footer> </div> </div> </main> </div> </div> </div> </div> </body></html>