Sawise setahun pembangunan lan 28 versi eksperimen diwenehi release stabil saka implementasi mbukak saka Win32 API - Anggur 5.0, sing kalebu luwih saka 7400 owah-owahan. Prestasi utama versi anyar kalebu pangiriman modul Wine sing dibangun ing format PE, dhukungan kanggo konfigurasi multi-monitor, implementasi anyar saka API audio XAudio2 lan dhukungan kanggo API grafis Vulkan 1.1.
Ing Anggur dikonfirmasi operasi lengkap 4869 (setaun kepungkur 4737) program kanggo Windows, liyane 4136 (setaun kepungkur 4045) program bisa sampurna karo setelan tambahan lan DLL external. 3635 program duwe masalah kinerja cilik sing ora ngganggu panggunaan fungsi aplikasi dhasar.
Kanthi kompiler MinGW, paling akeh modul Wine saiki dibangun ing format file eksekusi PE (Portable Executable, digunakake ing Windows) tinimbang ELF. Panggunaan PE ngatasi masalah kanthi ndhukung macem-macem skema perlindungan salinan sing verifikasi identitas modul sistem ing disk lan ing memori;
Eksekusi PE saiki disalin menyang direktori ~ / .wine ($ WINEPREFIX) tinimbang nggunakake file DLL goblok, nggawe barang kasebut luwih mirip karo instalasi Windows nyata, kanthi biaya nggunakake ruang disk tambahan;
Modul sing diowahi dadi format PE bisa nggunakake standar wchar Fungsi lan konstanta C nganggo Unicode (contone, L"abc");
Wine C runtime wis nambahake dhukungan kanggo ngubungake binari sing dibangun ing MinGW, sing digunakake kanthi standar tinimbang runtime MinGW nalika mbangun DLL;
Subsistem grafis
Dhukungan ditambahake kanggo nggarap macem-macem monitor lan adaptor grafis, kalebu kemampuan kanggo ngganti setelan kanthi dinamis;
Driver kanggo API grafis Vulkan wis dianyari kanggo tundhuk karo Vulkan 1.1.126 specification;
Pustaka WindowsCodecs nyedhiyakake kemampuan kanggo ngowahi format raster tambahan, kalebu format kanthi palet sing diindeks;
Direct3D
Nalika mbukak aplikasi Direct3D layar wutuh, telpon screen saver diblokir;
DXGI (DirectX Graphics Infrastructure) wis ditambahaké support kanggo ngandhani aplikasi nalika jendhela wis nyilikake, sing ngidini aplikasi kanggo ngurangi kinerja operasi sumber-intensif nalika nyilikake jendhela;
Kanggo aplikasi sing nggunakake DXGI, saiki bisa ngalih ing antarane mode layar wutuh lan jendhela kanthi nggunakake kombinasi Alt + Enter;
Kapabilitas implementasi Direct3D 12 wis ditambahi, contone, saiki ana dhukungan kanggo ngalih ing antarane mode layar wutuh lan jendela, ngganti mode layar, skala output lan ngatur interval panggantos buffer rendering (interval swap);
Penanganan sing luwih apik kanggo macem-macem kahanan wates, kayata nggunakake nilai input sing ora ana jarak kanggo tes transparansi lan jero, rendering kanthi tekstur lan buffer sing dibayangke, lan nggunakake obyek DirectDraw sing salah clip, nggawe piranti Direct3 kanggo jendhela sing salah, nggunakake area sing katon sing nilai parameter minimal padha karo maksimal, lsp.
Direct3D 8 lan 9 nyedhiyakake pelacakan sing luwih akurat "reged» area tekstur sing dimuat;
Ukuran papan alamat sing dibutuhake nalika ngemot tekstur 3D sing dikompres nggunakake metode S3TC wis suda (tinimbang ngemot kabeh, tekstur dimuat ing potongan).
Antarmuka dileksanakake ID3D11 Multithread kanggo nglindhungi bagean kritis ing aplikasi multi-Utas;
Macem-macem dandan lan koreksi sing ana gandhengane karo petungan cahya wis digawe kanggo aplikasi DirectDraw sing lawas;
Dileksanakake telpon tambahan kanggo njupuk informasi bab shaders ing API ShaderReflection;
wined3d saiki ndhukung blitter basis CPU kanggo ngolah sumber daya sing dikompres;
Database kertu grafis sing diakoni ing Direct3D wis ditambahi;
Nambahake kunci registri anyar HKEY_CURRENT_USER\Software\Wine\Direct3D: "shader_backend" (backend kanggo nggarap shaders: "glsl" kanggo GLSL, "arb" kanggo ARB vertex / fragmen lan "ora ana" kanggo mateni support shader), "strict_shader_math" ( 0x1 - ngaktifake, 0x0 - mateni konversi shader Direct3D). Tombol "UseGLSL" ora digunakake (kudu nggunakake "shader_backend");
D3DX
Dhukungan kanggo mekanisme kompresi tekstur 3D S3TC (S3 Texture Compression) wis dileksanakake;
Nambahake implementasine operasi sing bener kayata ngisi tekstur lan permukaan sing ora bisa ditrapake;
Macem-macem dandan lan ndandani wis digawe kanggo kerangka nggawe efek visual;
Kernel (Antarmuka Kernel Windows)
Umume fungsi sing digunakake ing Kernel32 wis dipindhah menyang
KernelBase, sawise owah-owahan ing arsitektur Windows;
Kemampuan kanggo nyampur DLL 32- lan 64-bit ing direktori sing digunakake kanggo loading. Mesthekake yen perpustakaan sing ora cocog karo ambane bit saiki ora digatekake (32/64), ing kasus luwih ing dalan bisa nemokake perpustakaan sing bener kanggo ambane bit saiki;
Kanggo driver piranti, emulasi obyek kernel wis apik;
Objek sinkronisasi sing diimplementasikake ing level kernel, kayata kunci spin, mutex cepet lan variabel sing dipasang ing sumber;
Mesthekake yen aplikasi diwenehi informasi kanthi bener babagan status baterei;
Antarmuka pangguna lan Integrasi Desktop
Jendhela sing diminimalisir saiki ditampilake nggunakake garis judhul tinimbang lambang gaya Windows 3.1;
Nambahake gaya tombol anyar Tombol Pisah (tombol karo dhaptar gulung-mudhun saka tumindak) lan Link Command (pranala ing kothak dialog sing digunakake kanggo pindhah menyang tahap sabanjure);
Tautan simbolis wis digawe kanggo folder 'Unduh' lan 'Cithakan', nuding menyang direktori sing cocog ing sistem Unix;
Piranti input
Ing wiwitan, driver piranti Plug & Play sing perlu diinstal lan dimuat;
Dhukungan sing luwih apik kanggo pengontrol game, kalebu mini-joystick (saklar topi), setir, pedal gas lan rem.
Dhukungan kanggo API joystick Linux lawas sing digunakake ing kernel Linux sadurunge versi 2.2 wis mandheg;
NET
Mesin Mono wis dianyari kanggo release 4.9.4 lan saiki kalebu bagéan saka Windows Presentation Foundation (WPF) framework;
Nambahake kemampuan kanggo nginstal add-ons karo Mono lan Gecko ing siji direktori umum, nempatake file ing / usr / share / hierarki anggur tinimbang nyalin menyang prefiks anyar;
Fitur jaringan
Mesin browser Wine Gecko, sing digunakake ing perpustakaan MSHTML, wis dianyari kanggo release 2.47.1. Dhukungan kanggo API HTML anyar wis dileksanakake;
MSHTML saiki ndhukung unsur SVG;
Nambahake akeh fungsi VBScript anyar (contone, kesalahan lan pangecualian handler, Jam, Dina, Sasi, String, LBound, RegExp.Replace, РScriptTypeInfo_ * lan ScriptTypeComp_Bind * fungsi, etc.);
Nyedhiyakake pengawetan negara kode ing VBScript lan JScript (terus-terusan script);
Nambahake implementasi awal layanan HTTP (WinHTTP) lan API sing gegandhengan (HTTPAPI) kanggo aplikasi klien lan server sing ngirim lan nampa panjalukan nggunakake protokol HTTP;
Dileksanakake kemampuan kanggo njupuk setelan proxy HTTP liwat DHCP;
Dhukungan tambahan kanggo ngarahake panjalukan otentikasi liwat layanan Microsoft Passport;
Kriptografi
Dhukungan kanggo kunci kriptografi kurva elliptic (ECC) nalika nggunakake GnuTLS;
Nambahake kemampuan kanggo ngimpor kunci lan sertifikat saka file ing format PFX;
Dhukungan tambahan kanggo skema generasi kunci adhedhasar sandi PBKDF2;
Teks lan font
Implementasi DirectWrite API wis nambahake dhukungan kanggo fitur OpenType sing ana gandhengane posisi glyph, sing diaktifake kanthi standar kanggo gaya Latin, kalebu kerning;
Ngapikake keamanan kanggo ngolah data font kanthi mriksa bener saka macem-macem tabel data sadurunge digunakake;
Antarmuka DirectWrite wis digawa menyang baris karo SDK paling anyar;
Swara lan video
A implementasine anyar saka API swara wis ngajokaken XAudio2, dibangun ing basis saka project FAudio. Nggunakake FAudio ing Wine ngidini sampeyan entuk kualitas swara sing luwih dhuwur ing game lan nggunakake fitur kayata campuran volume lan efek swara maju;
A nomer akeh telpon anyar wis ditambahaké kanggo implementasine saka Media Foundation framework, kalebu support kanggo dibangun lan antrian bedo adat, Source Reader API, Media Session, etc.
Filter Jupuk video wis diuripake kanggo nggunakake v4l2 API tinimbang v4l1 API, kang wis ditambahi sawetara kamera didhukung;
Dekoder AVI, MPEG-I lan WAVE sing dibangun wis dibusak, tinimbang sistem GStreamer utawa QuickTime saiki digunakake;
Nambahake subset saka API konfigurasi VMR7;
Dhukungan ditambahake kanggo nyetel volume saluran individu menyang driver swara;
Ngundhuh
Tabel Unicode dianyari kanggo versi 12.1.0;
Dhukungan kanggo normalisasi Unicode;
Nyedhiyakake instalasi otomatis wilayah geografis (HKEY_CURRENT_USER\Control Panel\International\Geo) adhedhasar lokal saiki;
RPC/COM
Dhukungan ditambahake kanggo struktur lan susunan kompleks kanggo typelib;
Nambahake implementasi awal saka perpustakaan runtime Windows Script;
Nambahake implementasine awal perpustakaan ADO (Microsoft ActiveX Data Objects);
Installers
Dhukungan kanggo pangiriman patch (File Patch) wis dileksanakake kanggo installer MSI;
Utilitas WUSA (Windows Update Standalone Installer) saiki nduweni kemampuan kanggo nginstal nganyari ing format .MSU;
platform ARM
Kanggo arsitektur ARM64, dhukungan kanggo stack unwinding wis ditambahake menyang ntdll. Dhukungan tambahan kanggo nyambungake perpustakaan libunwind eksternal;
Kanggo arsitektur ARM64, dhukungan kanggo proxy lancar wis dileksanakake kanggo antarmuka obyek;
Piranti Pangembangan / Winelib
Nambahake kemampuan kanggo nggunakake debugger saka Visual Studio kanggo mbatalake aplikasi debug sing mlaku ing Wine;
Pustaka DBGENG (Debug Engine) wis sebagian dileksanakake;
Binari sing dikompilasi kanggo Windows ora gumantung maneh ing libwine, supaya bisa mlaku ing Windows tanpa dependensi tambahan;
Nambahake opsi '--sysroot' menyang Resource Compiler lan IDL Compiler kanggo nemtokake path kanggo file header;
Nambahake opsi '-target', '-wine-objdir' menyang winegcc
'-winebuild' lan '-fuse-ld', sing nyederhanakake nyetel lingkungan kanggo kompilasi silang;
Aplikasi sing dipasang
Ngleksanakake sarana CHCP kanggo ngatur enkoding console;
Utilitas MSIDB kanggo manipulasi database ing format MSI wis dileksanakake;
Kinerja ngoptimalake
Macem-macem fungsi wektu wis migrasi kanggo nggunakake fungsi sistem timer kinerja dhuwur, ngurangi nduwur sirah ing daur ulang render akeh game;
Nambahake kemampuan kanggo nggunakake Ext4 ing FS rezim bisa tanpa sensitivitas cilik;
Kinerja pangolahan akeh unsur ing dhaptar dialog tampilan sing operasi ing mode LBS_NODATA wis optimized;
Nambahake implementasine luwih cepet saka kunci SRW (Slim Reader / Writer) kanggo Linux, diterjemahake menyang Futex;
Ketergantungan eksternal
Kanggo ngumpul modul ing format PE, MinGW-w64 cross-compiler digunakake;