PageSourceSearch

https://vidow.io/build/assets/Changelog-DWamxMnH.js

js vidow.io collected 2026-09-24 12:51:16 UTC 15,351 bytes, 1 lines download raw bytes

1import{d as S,u as A,E as M,c as l,o as d,b as p,a as e,w as g,t as s,e as r,h as L,F as c,l as f,n as V,i as D,f as h}from"./app-RsKea8o5.js";import{_ as I}from"./LandingLayout.vue_vue_type_script_setup_true_lang-0zOGT4pF.js";import{_ as y}from"./index-Djm_wzqU.js";import{_ as P}from"./CanonicalLink.vue_vue_type_script_setup_true_lang-BeYc7yu1.js";import{_ as b}from"./HugeiconsIcon.vue_vue_type_script_setup_true_lang-D36_Is65.js";import{u as W}from"./useAnalytics-Bxkp3130.js";import{P as B}from"./PuzzleIcon-UfmhaZxq.js";import{G as T}from"./Globe02Icon-pXPHD2kD.js";import{S as H}from"./SparklesIcon-DVsnYo71.js";import"./AppNavbar.vue_vue_type_script_setup_true_lang-CTOJA9U3.js";import"./utils-Cq45lf33.js";import"./AppLogoIcon.vue_vue_type_script_setup_true_lang-Cgx8zpHc.js";import"./RovingFocusGroup-D3QouwLK.js";import"./index-BmOTFpO0.js";import"./useForwardExpose-DXi0eF_E.js";import"./Teleport-CpnQCY9y.js";import"./Cancel01Icon-DGojgfc9.js";import"./index-B_siYGUE.js";import"./isValueEqualOrExist-BirkS3uf.js";import"./ohash.D__AXeF1-C-E83dC9.js";import"./CollapsibleTrigger-BkolMn4l.js";import"./ArrowDown01Icon-DJ3rel_9.js";import"./VisuallyHidden-Gnp4jwIA.js";import"./DialogTitle-CmvgSLDH.js";import"./DialogTrigger-Cd5Ui6Ea.js";import"./index-vmwrf4-U.js";import"./Download01Icon-DWP7rFug.js";import"./Mail01Icon-BnQa5Zt3.js";import"./NewsIcon-CRzk0O48.js";import"./WorkHistoryIcon-DyTXomyg.js";import"./FileVideoIcon-CctcsyeR.js";import"./PlayCircleIcon-BtdLi83T.js";import"./LandingFooter.vue_vue_type_script_setup_true_lang-DmJkehx-.js";import"./DropdownMenuTrigger.vue_vue_type_script_setup_true_lang-DqLmnnaC.js";import"./useLocaleSwitcher-DjLXDJUg.js";import"./Tick01Icon-CMS0_aRT.js";import"./Sonner.vue_vue_type_style_index_0_lang-VAYwp5ry.js";import"./useFlashToasts-50RPs8wm.js";const z=[["path",{d:"M3.01309 4.99084C2.89323 6.05084 3.55249 8.42285 6.48923 8.42285",stroke:"currentColor",strokeLinecap:"round",strokeWidth:"1.5",key:"0"}],["path",{d:"M17.5951 8.38081C18.8357 8.57881 21.1132 7.49881 20.9957 5.00281",stroke:"currentColor",strokeLinecap:"round",strokeWidth:"1.5",key:"1"}],["path",{d:"M20.9928 20.9989C21.0528 19.9429 20.1777 17.5549 17.599 17.4229",stroke:"currentColor",strokeLinecap:"round",strokeWidth:"1.5",key:"2"}],["path",{d:"M6.45163 17.4708C5.65013 17.2308 3.01306 18.3348 3.01306 20.9988",stroke:"currentColor",strokeLinecap:"round",strokeWidth:"1.5",key:"3"}],["path",{d:"M9.3299 6.11884C9.35388 5.09884 9.84533 2.99884 12.0029 2.99884C13.9208 2.99884 14.5861 4.61884 14.676 6.11884M6.26131 9.41884C6.38118 8.63884 7.29216 6.81484 9.36586 6.63484C11.4635 6.55564 14.3403 6.58684 14.8797 6.67084C15.5869 6.73377 17.2951 7.43884 17.7506 9.41884C17.9124 10.4388 17.8285 11.8788 17.8524 12.7188C17.8165 13.5588 17.9207 15.2623 17.7565 16.1388C17.6367 17.0988 16.9894 18.4668 16.1024 19.3068C14.7838 20.7228 11.1639 22.2108 8.03534 19.4508C6.41713 17.8908 6.30925 16.3788 6.18939 15.7788C6.15725 15.4571 6.15875 13.8763 6.16541 12.3588C6.14144 11.046 6.17235 9.78063 6.26131 9.41884Z",stroke:"currentColor",strokeWidth:"1.5",key:"4"}],["path",{d:"M3.01306 12.8988H5.9498",stroke:"currentColor",strokeLinecap:"round",strokeWidth:"1.5",key:"5"}],["path",{d:"M20.9929 12.8988L18.1161 12.8988",stroke:"currentColor",strokeLinecap:"round",strokeWidth:"1.5",key:"6"}],["path",{d:"M12.0033 16.4988L12.0033 20.2788",stroke:"currentColor",strokeLinecap:"round",strokeWidth:"1.5",key:"7"}]],N=[["path",{d:"M20.3584 13.3567C19.1689 14.546 16.9308 14.4998 13.4992 14.4998C11.2914 14.4998 9.50138 12.7071 9.50024 10.4993C9.50024 7.07001 9.454 4.83065 10.6435 3.64138C11.8329 2.45212 12.3583 2.50027 17.6274 2.50027C18.1366 2.49809 18.3929 3.11389 18.0329 3.47394L15.3199 6.18714C14.6313 6.87582 14.6294 7.99233 15.3181 8.68092C16.0068 9.36952 17.1234 9.36959 17.8122 8.68109L20.5259 5.96855C20.886 5.60859 21.5019 5.86483 21.4997 6.37395C21.4997 11.6422 21.5479 12.1675 20.3584 13.3567Z",stroke:"currentColor",strokeWidth:"1.5",key:"0"}],["path",{d:"M13.5 14.5L7.32842 20.6716C6.22386 21.7761 4.433 21.7761 3.32843 20.6716C2.22386 19.567 2.22386 17.7761 3.32843 16.6716L9.5 10.5",stroke:"currentColor",strokeLinecap:"round",strokeWidth:"1.5",key:"1"}],["path",{d:"M5.50896 18.5H5.5",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",key:"2"}]],R=["content"],O=["content"],G=["content"],$=["content"],E=["content"],q={class:"pt-24 pb-12 lg:pt-32 lg:pb-16"},K={class:"container mx-auto px-4 sm:px-6 lg:px-8"},U={class:"max-w-3xl mx-auto"},j={class:"text-4xl sm:text-5xl font-bold tracking-tight mb-4"},J={class:"text-lg text-muted-foreground leading-relaxed max-w-xl"},Z={class:"pb-24 lg:pb-32"},Q={class:"container mx-auto px-4 sm:px-6 lg:px-8"},X={class:"max-w-3xl mx-auto"},Y={class:"relative"},ee={class:"flex flex-wrap items-center gap-3 mb-4"}
1,te={class:"text-sm font-mono font-semibold text-foreground/70"},oe={class:"text-sm text-muted-foreground/60"},ie={class:"text-2xl font-bold tracking-tight mb-3"},re={key:0,class:"text-base text-muted-foreground leading-relaxed mb-8"},se={class:"space-y-6"},ne={class:"flex items-center gap-2.5 mb-3"},ae={class:"text-xs text-muted-foreground/50"},le={class:"space-y-2 ps-1"},je=S({layout:I,__name:"Changelog",setup(de){const{track:w}=W(),{__:o,transChoice:v}=A();M(()=>{if(typeof window>"u")return;const i=new URLSearchParams(window.location.search),t=i.get("v");t&&w("Extension Updated",{version:t,from_version:i.get("from"),browser:i.get("browser"),device_key:i.get("dkey")}),t&&i.get("from")&&fetch("/api/extension/event",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({event:"updated",device_key:i.get("dkey"),version:t,from_version:i.get("from"),browser:i.get("browser"),os:navigator.userAgentData?.platform||null})}).catch(()=>{})});const m={web:{icon:T,badgeVariant:"purple",label:o("releases.page.product.web")},extension:{icon:B,badgeVariant:"orange",label:o("releases.page.product.extension")}},u={feature:{icon:H,badgeVariant:"success",label:o("releases.page.section.feature")}
1,improvement:{icon:N,badgeVariant:"info",label:o("releases.page.section.improvement")},fix:{icon:z,badgeVariant:"warning",label:o("releases.page.section.fix")}},x=[{version:"4.0.0",date:"April 21, 2026",product:"extension",title:"Video Downloader Plus v4 — The biggest update yet",description:"A completely rebuilt extension: cloud sync to Drive, Dropbox, S3, and R2; a cross-browser library with auto-grouping; in-browser format conversion; Chromecast + AirPlay; and 9 built-in video tools.",sections:[{type:"feature",title:"New Features",items:["Cloud sync to Google Drive, Dropbox, AWS S3, and Cloudflare R2","Cloud library — one-click bookmark, auto-grouped by date, synced across browsers","In-browser format conversion — MP4, MKV, MOV, WebM with no re-encoding or upload","Cast to any device — Chromecast, AirPlay, Fire TV, Android TV, Google TV, Smart TV","9 built-in video tools: Convert, Compress, Trim, Merge, Video→GIF, Audio extractor, Add audio, HLS player, Cast player","Custom detection filters — pick which formats to detect and set a minimum file size","Per-site blockl
1ist — mute detection on sites you don't want","Custom download folder — save directly to the folder of your choice","Dark mode — matches your browser theme or lock it to light/dark"]},{type:"improvement",title:"Improvements",items:["Smarter stream detection for HLS, DASH, Vimeo, and live streams on 1,000+ websites","3× faster popup — completely rewritten for instant open and snappy lists","Single account synced across Chrome, Edge, Firefox, and Brave","Auto audio + video merge for HD downloads (no more silent 1080p/4K)"]},{type:"fix",title:"Bug Fixes",items:["Resolved intermittent badge counter desync after tab changes","Fixed detection on sites using newer dynamic video loaders","Hardened filename sanitization across all platforms"]}]},{version:"2.0.1",date:"February 16, 2026",product:"web",title:"DASH/MPD Cast Player & Stability Fixes",description:"Cast any DASH/MPD stream directly from your browser with quality selection. Plus key fixes for billing and landing page stability.",sections:[{type:"feature",title:"New Features",items:["DASH/MPD cast player with quality selection support","Streaming refactor for improved playback reliability"]},{type:"fix",title:"Bug Fixes",items:["Fixed billing page stuck in pending state after payment method setup","Fixed SSR errors on landing pages caused by missing imports and unguarded browser APIs"]}]},{version:"2.0.0",date:"February 10, 2026",product:"web",title:"Cloud Storage & Folder Organization",description:"Cloud uploads are now organized by domain, year, and month for easier browsing. We also added custom error pages and improved overall reliability.",sections:[{type:"feature",title:"New Features",items:["Cloud uploads organized by domain/year/month folder structure","Custom 403, 404, 419, 429, 500, and 503 error pages","Stream download page with real-time transmux progress"]},{type:"improvement",title:"Improvements",items:["Improved OAuth token revocation with configurable threshold","Better error handling for cloud storage quota limits","Updated privacy policy with clearer data retention details","Reduced bundle size by tree-shaking unused icon imports"]},{type:"fix",title:"Bug Fixes",items:["Fixed cookie data appearing in privacy policy extension section","Fixed edge case where stream downloads would stall on slow connections"]}]},{version:"1.9.0",date:"January 22, 2026",product:"web",title:"Lifetime Access & Billing Overhaul",description:"Introducing lifetime access plans with automatic credit calculation for existing subscribers. The entire billing flow has been rebuilt for clarity and reliability.",sections:[{type:"feature",title:"New Features",items:["Lifetime access one-time purchase option","Automatic credit calculation when upgrading from active subscription","Invoice address management with country-specific formatting","Billing history with downloadable PDF invoices"]},{type:"improvement",title:"Improvements",items:["Redesigned billing page with clearer plan comparison","Stripe webhook processing is now fully idempotent","Payment method management with real-time card preview","Subscription cancellation flow with retention messaging","Added skeleton loading states across all billing sections"]},{type:"fix",title:"Bug Fixes",items:["Fixed race condition in webhook event deduplication","Fixed incorrect plan name display after subscription swap","Resolved payment method deletion not updating default indicator"]}]},{version:"1.8.0",date:"December 15, 2025",product:"web",title:"Activity Feed & Admin Panel",description:"Track your download history with the new activity feed. Admins get a full dashboard with user management, impersonation, and system metrics.",sections:[{type:"feature",title:"New Features",items:["Activity feed with filterable download history","Admin dashboard with user management and system metrics","Admin impersonation for debugging user issues","My Library page with search and pagination"]},{type:"improvement",title:"Improvements",items:["Responsive data tables with mobile card views","Improved video detection accuracy for HLS streams","Two-factor authentication setup flow","Google OAuth integration for faster sign-up"]},{type:"fix",title:"Bug Fixes",items:["Fixed Chromecast player not loading on certain devices","Fixed pagination resetting when applying filters"]}]},{version:"3.0.0",date:"September 2023",product:"extension",title:"Codebase refresh",description:"Full rewrite of the classic extension on Chrome's Manifest V3 platform, with a modern popup and download settings.",sections:[{type:"improvement",title:"Improvements",items:["Manifest V3 service worker architecture","Refreshed popup and options pages","Cleaner download settings and filename handling"]}]},{version:"2.0.0",date:"2022",product:"extension",title:"Expanded site coverage",description:"Broader support for video-heavy websites and improvements to the detection engine.",sections:[{type:"improvement",title:"Improvements",items:["Wider compatibility across video-heavy sites","More reliable download flow"]}]},{version:"1.0.0",date:"October 2021",product:"extension",title:"Initial release",description:"The first public release of Video Downloader Plus on the Chrome Web Store — detect and save videos from any page you visit.",sections:[{type:"feature",title:"Launch",items:["Detect videos on web pages you visit","One-click download to your computer"]}]}],k=i=>`${i.product}-${i.version}`;return(i,t)=>(d(),l(c,null,[p(r(L),null,{default:g(()=>[e("title",null,s(r(o)("releases.page.meta.title")),1),e("meta",{name:"description",content:r(o)("releases.page.meta.description")},null,8,R),t[0]||(t[0]=e("meta",{property:"og:type",content:"website"},null,-1)),t[1]||(t[1]=e("meta",{property:"og:url",content:"https://vidow.io/changelog"},null,-1)),e("meta",{property:"og:title",content:r(o)("releases.page.meta.title")},null,8,O),e("meta",{property:"og:description",content:r(o)("releases.page.meta.description")},null,8,G),t[2]||(t[2]=e("meta",{property:"og:image",content:"https://vidow.io/images/og-image.png"},null,-1)),t[3]||(t[3]=e("meta",{property:"twitter:card",content:"summary_large_image"},null,-1)),t[4]||(t[4]=e("meta",{property:"twitter:url",content:"https://vidow.io/changelog"},null,-1)),e("meta",{property:"twitter:title",content:r(o)("releases.page.meta.title")},null,8,$),e("meta",{property:"twitter:description",content:r(o)("releases.page.meta.description")},null,8,E),t[5]||(t[5]=e("meta",{property:"twitter:image",content:"https://vidow.io/images/og-image.png"},null,-1))]),_:1}),p(P),e("div",null,[e("section",q,[e("div",K,[e("div",U,[e("h1",j,s(r(o)("releases.page.heading")),1),e("p",J,s(r(o)("releases.page.intro")),1
1)])])]),e("section",Z,[e("div",Q,[e("div",X,[e("div",Y,[t[8]||(t[8]=e("div",{class:"hidden lg:block absolute left-0 top-3 bottom-0 w-px bg-gradient-to-b from-border to-transparent"},null,-1)),(d(),l(c,null,f(x,(n,C)=>e("article",{key:k(n),class:V(["relative lg:ps-10",C>0?"mt-16":""])},[t[7]||(t[7]=e("div",{class:"hidden lg:flex absolute left-0 top-3 -translate-x-1/2 w-3 h-3 rounded-full border-2 border-primary bg-background z-10"},null,-1)),e("div",ee,[e("span",te," v"+s(n.version),1),e("span",oe,s(n.date),1),p(r(y),{variant:m[n.product].badgeVariant,class:"flex items-center gap-1 text-[11px]"},{default:g(()=>[p(b,{icon:m[n.product].icon,class:"h-3 w-3"},null,8,["icon"]),h(" "+s(m[n.product].label),1)]),_:2},1032,["variant"])]),e("h2",ie,s(n.title),1),n.description?(d(),l("p",re,s(n.description),1)):D("",!0),e("div",se,[(d(!0),l(c,null,f(n.sections,a=>(d(),l("div",{key:a.type},[e("div",ne,[p(r(y),{variant:u[a.type].badgeVariant,class:"flex items-center gap-1 text-[11px] px-2 py-0.5"},{default:g(()=>[p(b,{icon:u[a.type].icon,class:"h-3 w-3"},null,8,["icon"]),h(" "+s(u[a.type].label),1)]),_:2},1032,["variant"]),e("span",ae,s(r(v)("releases.page.change_count",a.items.length,{count:a.items.length})),1)]),e("ul",le,[(d(!0),l(c,null,f(a.items,(_,F)=>(d(),l("li",{key:F,class:"flex gap-3 text-sm leading-relaxed text-muted-foreground"},[t[6]||(t[6]=e("span",{class:"mt-2 h-1 w-1 shrink-0 rounded-full bg-foreground
1/20"},null,-1)),h(" "+s(_),1)]))),128))])]))),128))])],2)),64))])])])])])],64))}});export{je as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.