Մեկ տարվա մշակումից և 28 փորձնական տարբերակներից հետո ներկայացված Win32 API-ի բաց իրականացման կայուն թողարկում - Գինի 5.0, որը ներառում էր ավելի քան 7400 փոփոխություն։ Նոր տարբերակի հիմնական ձեռքբերումները ներառում են ներկառուցված Wine մոդուլների առաքումը PE ձևաչափով, բազմամոնիտորի կոնֆիգուրացիաների աջակցություն, XAudio2 աուդիո API-ի նոր ներդրում և Vulkan 1.1 գրաֆիկական API-ի աջակցություն:
Գինու մեջ հաստատված Windows-ի համար 4869 (մեկ տարի առաջ 4737) ծրագրերի ամբողջական շահագործում, ևս 4136 (մեկ տարի առաջ 4045) ծրագրեր հիանալի աշխատում են լրացուցիչ կարգավորումներով և արտաքին DLL-ներով: 3635 ծրագրեր ունեն կատարողականի աննշան խնդիրներ, որոնք չեն խանգարում հավելվածի հիմնական գործառույթների օգտագործմանը:
MinGW կոմպիլյատորի միջոցով Wine մոդուլների մեծ մասն այժմ կառուցված է PE (Portable Executable, օգտագործվում է Windows-ում) գործարկվող ֆայլի ձևաչափով՝ ELF-ի փոխարեն: PE-ի օգտագործումը լուծում է տարբեր պատճենների պաշտպանության սխեմաների աջակցման հետ կապված խնդիրները, որոնք ստուգում են համակարգի մոդուլների ինքնությունը սկավառակի վրա և հիշողության մեջ.
PE գործարկվողներն այժմ պատճենվում են ~/.wine ($WINEPREFIX) գրացուցակում՝ կեղծ DLL ֆայլեր օգտագործելու փոխարեն, ինչն ավելի նման է Windows-ի իրական տեղադրումներին՝ հաշվի առնելով սկավառակի լրացուցիչ տարածքը սպառելու գնով;
PE ձևաչափի փոխարկված մոդուլները կարող են օգտագործել ստանդարտ wchar C ֆունկցիաները և հաստատունները Յունիկոդով (օրինակ՝ L"abc");
Wine C-ի գործարկման ժամանակն ավելացրել է աջակցություն MinGW-ում կառուցված երկուականների հետ կապելու համար, որն օգտագործվում է լռելյայնորեն MinGW-ի փոխարեն DLL-ներ կառուցելիս;
Գրաֆիկական ենթահամակարգ
Ավելացված է բազմաթիվ մոնիտորների և գրաֆիկական ադապտերների հետ աշխատելու աջակցություն, ներառյալ պարամետրերը դինամիկ փոխելու հնարավորությունը;
Vulkan գրաֆիկական API-ի դրայվերը թարմացվել է Vulkan 1.1.126 բնութագրին համապատասխանելու համար;
WindowsCodecs գրադարանը հնարավորություն է տալիս փոխակերպել լրացուցիչ ռաստերային ձևաչափեր, ներառյալ ինդեքսավորված գունապնակով ձևաչափերը.
Direct3D- ը
Ամբողջ էկրանով Direct3D հավելվածներ գործարկելիս էկրանապահիչի զանգն արգելափակված է.
DXGI-ը (DirectX Graphics Infrastructure) ավելացրել է աջակցություն՝ հավելվածին տեղեկացնելու համար, երբ դրա պատուհանը նվազագույնի է հասցվում, ինչը թույլ է տալիս հավելվածին նվազեցնել ռեսուրսների ինտենսիվ գործառնությունների կատարումը պատուհանը նվազագույնի հասցնելու ժամանակ;
DXGI օգտագործող հավելվածների համար այժմ հնարավոր է անցնել լիաէկրան ռեժիմի և պատուհանի ռեժիմների միջև՝ օգտագործելով Alt+Enter համակցությունը;
Direct3D 12-ի ներդրման հնարավորությունները ընդլայնվել են, օրինակ, այժմ կա աջակցություն ամբողջ էկրանով և պատուհանով ռեժիմների միջև անցնելու, էկրանի ռեժիմների փոփոխման, ելքի չափման և մատուցման բուֆերի փոխարինման միջակայքը կառավարելու համար (փոխանակման միջակայքը);
Տարբեր սահմանային իրավիճակների բարելավված կառավարում, ինչպիսիք են թափանցիկության և խորության թեստերի համար մուտքային արժեքների օգտագործումը, արտացոլված հյուսվածքներով և բուֆերներով նկարելը և DirectDraw-ի սխալ օբյեկտների օգտագործումը: կուլ տալ, ստեղծելով Direct3 սարքեր սխալ պատուհանների համար, օգտագործելով տեսանելի տարածքներ, որոնց նվազագույն պարամետրերի արժեքները հավասար են առավելագույնին և այլն:
Direct3D 8-ը և 9-ը ապահովում են ավելի ճշգրիտ հետևում»:կեղտոտ» բեռնված հյուսվածքների տարածքներ;
S3TC մեթոդով սեղմված 3D հյուսվածքները բեռնելիս անհրաժեշտ հասցեի տարածքի չափը կրճատվել է (ամբողջովին բեռնելու փոխարեն, հյուսվածքները բեռնվում են կտորներով):
Ինտերֆեյսը ներդրված է ID3D11 Բազմաթելեր պաշտպանել կրիտիկական հատվածները բազմաշերտ հավելվածներում.
Լուսավորման հաշվարկների հետ կապված տարբեր բարելավումներ և ուղղումներ են կատարվել ավելի հին DirectDraw հավելվածների համար.
Իրականացրել է լրացուցիչ զանգեր՝ API-ում շեյդերների մասին տեղեկություններ ստանալու համար ShaderReflection;
wined3d-ն այժմ աջակցում է բոցեր CPU-ի վրա հիմնված սեղմված ռեսուրսների մշակման համար;
Ընդլայնվել է Direct3D-ում ճանաչված գրաֆիկական քարտերի բազան.
Ավելացվել են ռեեստրի նոր բանալիներ HKEY_CURRENT_USER\Software\Wine\Direct3D. «shader_backend» (backend՝ shader-ների հետ աշխատելու համար՝ «glsl»՝ GLSL-ի համար, «arb»՝ ARB vertex/fragment-ի համար և «none»՝ shader աջակցությունն անջատելու համար), «strict_shader_math» ( 0x1 - միացնել, 0x0 - անջատել Direct3D shader-ի փոխարկումը): «UseGLSL» ստեղնը հնացել է (պետք է օգտագործի «shader_backend»);
D3DX
Իրականացվել է S3TC (S3 Texture Compression) 3D հյուսվածքների սեղմման մեխանիզմի աջակցությունը.
Ավելացվել է այնպիսի գործառնությունների ճիշտ իրականացում, ինչպիսիք են հյուսվածքների լցոնումը և չքարտեզագրվող մակերեսները;
Ստեղծման շրջանակում կատարվել են տարբեր բարելավումներ և ուղղումներ տեսողական էֆեկտներ;
միջուկ (Windows միջուկի միջերես)
Kernel32-ում օգտագործվող գործառույթների մեծ մասը տեղափոխվել է
KernelBase, Windows-ի ճարտարապետության փոփոխություններից հետո;
Բեռնման համար օգտագործվող դիրեկտորիաներում 32- և 64-բիթանոց DLL-ներ խառնելու ունակություն: Ապահովում է, որ գրադարանները, որոնք չեն համապատասխանում ընթացիկ բիթային խորությանը, անտեսվում են (32/64), այն դեպքում, երբ ճանապարհի հետագա երկայնքով հնարավոր է գտնել գրադարան, որը ճիշտ է ընթացիկ բիթերի խորության համար.
Սարքի դրայվերների համար միջուկի օբյեկտների էմուլյացիան բարելավվել է.
Իրականացված համաժամացման օբյեկտներ, որոնք աշխատում են միջուկի մակարդակում, ինչպիսիք են պտտվող կողպեքները, արագ մուտեքսները և ռեսուրսին կցված փոփոխականները.
Ապահովում է, որ հավելվածները ճիշտ են տեղեկացված մարտկոցի կարգավիճակի մասին.
Օգտագործողի միջերես և աշխատասեղանի ինտեգրում
Նվազագույնի հասցված պատուհաններն այժմ ցուցադրվում են վերնագրի տողի միջոցով, քան Windows 3.1 ոճի պատկերակը;
Ավելացվել են կոճակների նոր ոճեր SplitButton (կոճակը գործողությունների բացվող ցուցակով) և Հրամանի հղումներ (հղումներ երկխոսության տուփերում, որոնք օգտագործվում են հաջորդ փուլ տեղափոխվելու համար);
«Ներբեռնումներ» և «Կաղապարներ» պանակների համար ստեղծվել են խորհրդանշական հղումներ՝ մատնանշելով Unix համակարգերի համապատասխան դիրեկտորիաները.
Մուտքագրեք սարքերը
Գործարկման ժամանակ տեղադրվում և բեռնվում են Plug & Play սարքի անհրաժեշտ դրայվերները.
Բարելավված աջակցություն խաղի կարգավորիչներին, ներառյալ մինի-ջոյսթիկը (գլխարկի անջատիչը), ղեկը, գազի և արգելակային ոտնակները:
Աջակցություն հին Linux joystick API-ին, որն օգտագործվում էր Linux միջուկներում մինչև 2.2 տարբերակը, դադարեցվել է.
: NET
Mono շարժիչը թարմացվել է՝ թողարկելու 4.9.4 և այժմ ներառում է Windows Presentation Foundation (WPF) շրջանակի մասեր.
Ավելացրել է Mono-ի և Gecko-ի հետ հավելումներ մեկ ընդհանուր գրացուցակում տեղադրելու հնարավորություն՝ նոր նախածանցներում պատճենելու փոխարեն ֆայլերը տեղադրելով /usr/share/wine հիերարխիայում;
Ingանցային հատկություններ
Wine Gecko բրաուզերի շարժիչը, որն օգտագործվում է MSHTML գրադարանում, թարմացվել է՝ թողարկելու 2.47.1. Իրականացվել է նոր HTML API-ների աջակցություն.
MSHTML-ն այժմ աջակցում է SVG տարրերին;
Ավելացրել է բազմաթիվ նոր VBScript ֆունկցիաներ (օրինակ՝ սխալների և բացառությունների մշակիչներ, Hour, Day, Month, String, LBound, RegExp.Replace, РScriptTypeInfo_* և ScriptTypeComp_Bind* ֆունկցիաներ և այլն);
Տրամադրվում է կոդի վիճակի պահպանում VBScript-ում և JScript-ում (script persistence);
Ավելացրել է HTTP ծառայության (WinHTTP) և հարակից API-ի (HTTPAPI) նախնական ներդրումը հաճախորդի և սերվերի հավելվածների համար, որոնք ուղարկում և ստանում են հարցումներ՝ օգտագործելով HTTP արձանագրությունը.
Իրականացրել է DHCP-ի միջոցով HTTP վստահված անձի կարգավորումներ ստանալու հնարավորությունը;
Ավելացվել է Microsoft Passport ծառայության միջոցով վավերացման հարցումների վերահղման աջակցություն;
Գաղտնագրություն
Իրականացված աջակցություն էլիպսային կորի գաղտնագրման բանալիների (ECC) GnuTLS-ի օգտագործման ժամանակ;
Ավելացրել է PFX ձևաչափով ֆայլերից բանալիներ և վկայագրեր ներմուծելու հնարավորություն;
Ավելացվել է PBKDF2 գաղտնաբառի հիման վրա բանալիների արտադրության սխեմայի աջակցություն;
Տեքստ և տառատեսակներ
DirectWrite API-ի ներդրումն ավելացրել է աջակցություն OpenType-ի հետ կապված հնարավորությունների համար գլիֆի դիրքավորում, որոնք լռելյայն միացված են լատինական ոճի համար, ներառյալ kerning;
Բարելավված անվտանգություն տառատեսակի տվյալների մշակման համար՝ ստուգելով տարբեր տվյալների աղյուսակների ճիշտությունը նախքան դրանք օգտագործելը.
DirectWrite միջերեսները համապատասխանեցվել են վերջին SDK-ին;
Ձայն և տեսանյութ
Առաջարկվել է ձայնային API-ի նոր ներդրում XAudio2, որը կառուցվել է նախագծի հիման վրա Ֆաուդիո. FAudio-ի օգտագործումը Wine-ում թույլ է տալիս ձեռք բերել ավելի բարձր ձայնի որակ խաղերում և օգտագործել այնպիսի գործառույթներ, ինչպիսիք են ձայնի միքսումը և առաջադեմ ձայնային էֆեկտները;
Մեդիա հիմնադրամի շրջանակի իրականացմանը ավելացվել են մեծ թվով նոր զանգեր, ներառյալ՝ ներկառուցված և հարմարեցված ասինխրոն հերթերի, Source Reader API-ի, Media Session-ի և այլնի աջակցություն:
Տեսագրման ֆիլտրը փոխվել է v4l2 API-ի փոխարեն օգտագործելու v4l1 API-ն, որն ընդլայնել է աջակցվող տեսախցիկների շրջանակը;
Ներկառուցված AVI, MPEG-I և WAVE ապակոդավորիչները հանվել են, որոնց փոխարեն այժմ օգտագործվում են GStreamer կամ QuickTime համակարգը;
Ավելացվել է VMR7 կոնֆիգուրացիայի API-ների ենթաբազմություն;
Ավելացված է աջակցություն առանձին ալիքների ձայնը ձայնային վարորդներին հարմարեցնելու համար;
Միջազգայնացում
Unicode աղյուսակները թարմացվել են 12.1.0 տարբերակով;
Տրամադրվում է աշխարհագրական տարածաշրջանի ավտոմատ տեղադրում (HKEY_CURRENT_USER\Control Panel\International\Geo)՝ հիմնված ընթացիկ տեղանքի վրա.
RPC/COM
Typelib-ին ավելացվել է բարդ կառուցվածքների և զանգվածների աջակցություն;
Ավելացվել է Windows Script-ի գործարկման ժամանակի գրադարանի նախնական իրականացումը;
Ավելացվել է ADO (Microsoft ActiveX Data Objects) գրադարանի նախնական ներդրումը;
Տեղադրողներ
Կարկատանների առաքման աջակցությունը (Patch Files) իրականացվել է MSI տեղադրողի համար;
WUSA (Windows Update Standalone Installer) կոմունալ ծրագիրը այժմ հնարավորություն ունի թարմացումներ տեղադրել .MSU ձևաչափով;
ARM հարթակ
ARM64 ճարտարապետության համար ntdll-ին ավելացվել է stack unwinding-ի աջակցություն: Ավելացվել է արտաքին libunwind գրադարանների միացման աջակցություն;
ARM64 ճարտարապետության համար անխափան պրոքսիների աջակցությունն իրականացվել է օբյեկտների միջերեսների համար.
Զարգացման գործիքներ / Winelib
Ավելացրել է Visual Studio-ից վրիպազերծիչն օգտագործելու հնարավորություն՝ Wine-ով աշխատող հավելվածները հեռակա կարգաբերելու համար;
DBGENG (Debug Engine) գրադարանը մասամբ ներդրվել է.
Windows-ի համար կազմված երկուականներն այլևս կախված չեն libwine-ից՝ թույլ տալով նրանց աշխատել Windows-ում առանց լրացուցիչ կախվածության;
Resource Compiler-ին և IDL Compiler-ին ավելացվել է «--sysroot» տարբերակը՝ վերնագրի ֆայլերի ուղին որոշելու համար;
Winegcc-ին ավելացրել են «—target», «—wine-objdir», «—wine-objdir» տարբերակները
«—winebuild» և «-fuse-ld», որոնք պարզեցնում են խաչաձև կոմպիլյացիայի միջավայրի ստեղծումը.
Ներկառուցված հավելվածներ
Իրականացրել է CHCP կոմունալ՝ վահանակի կոդավորումը կարգավորելու համար;
Գործարկվել է MSI ձևաչափով տվյալների բազաների մանիպուլյացիայի համար նախատեսված MSIDB ծրագիրը.
Կատարողականի օպտիմալացում
Տարբեր ժամանակային գործառույթներ տեղափոխվել են՝ օգտագործելու համակարգի ժմչփի բարձր արդյունավետության գործառույթները՝ նվազեցնելով շատ խաղերի ռենդերային հանգույցի ծախսերը.
Ավելացվեց FS-ում Ext4-ի օգտագործման հնարավորությունը ռեժիմ աշխատել առանց գործի զգայունության;
LBS_NODATA ռեժիմում գործող ցուցակի ցուցադրման երկխոսություններում մեծ թվով տարրերի մշակման կատարումը օպտիմիզացվել է.
Ավելացվեց SRW կողպեքների ավելի արագ իրականացում (Slim Reader/Writer) Linux-ի համար՝ թարգմանված Futex-ի համար;
Արտաքին կախվածություններ
PE ձևաչափով մոդուլներ հավաքելու համար օգտագործվում է MinGW-w64 խաչաձև կոմպիլյատորը;
XAudio2-ի ներդրման համար անհրաժեշտ է FAudio գրադարան;
BSD համակարգերում ֆայլերի փոփոխություններին հետևելու համար
օգտագործվում է Inotify գրադարանը.
ARM64 հարթակում բացառությունները կարգավորելու համար պահանջվում է Unwind գրադարանը.
Video4Linux1-ի փոխարեն այժմ պահանջվում է Video4Linux2 գրադարանը: