51.beta
=======
* Fix video corruption when using VA-API [Pavel; !412]
* Add support for smartcard redirection [Joan; !406]
* Misc bug fixes & cleanups [Jonas; !413]

Contributors:
  Jonas Ådahl, Joan Torres Lopez, Pavel Shilin

Translators:
  Kjartan Maraas [nb], Aefgh Threenine [th]

51.alpha
========
* Simplify GDM remote display handling [Joan; !400]
* Fix and enable hardware acceleration for amdgpu [Pascal; !401]
* Fix failure to reconnect [Jonas; !402]

Contributors:
  Joan Torres Lopez, Pascal Nowack, Jonas Ådahl

Translators:
  Nathan Follens [nl], Jose Riha [sk], Danial Behzadi [fa], Vasil Pupkin [be],
  Antonio Marin [ro], Flynn Peck [kw], Christian Kirbach [de],
  Victoria Niedzielska [pl]

50.1
====
* Test improvements [akallabeth, Pascal; !391, !392]
* Misc bug fixes & cleanups [Pascal; !395, !397]
* Fix black screen on some NVIDIA GPUs [Pascal; !394]

Contributors:
  akallabeth, Pascal Nowack

Translators:
  Flynn Peck [kw], Марко Костић [sr], Artur S0 [ru], Sveinn í Felli [is],
  Victoria Niedzielska [pl], Andika Triwidada [id], Salvatore Cocuzza [it]

50.0
====
* Improve GDM remote display interoperability [Joan; !386]
* Improve hardware acceleration compatibility [Pascal; !388]
* Wait for GDM before initializing system daemon startup [Pascal; !387]

Contributors:
  Joan Torres Lopez, Pascal Nowack

Translators:
  Emin Tufan Çetin [tr], Abduqadir Abliz [ug], Hugo Carvalho [pt],
  Ask Hjorth Larsen [da], Daniel [pl], Bruce Cowan [en_GB]

50.rc
=====
* Add documentation for configuring Kerberos authentication [Jonas; !376]
* Fix crash [Pascal; !375]
* Misc bug fixes & cleanups [Jonas; !379]
* Send host name to GDM when creating remote display [Joan; !355]
* Add explicit DMA buffer synchronization [Jonas; !383]
* Enable zero-copy Vulkan & VA-API rendering by default [Pascal; !384]

Contributors:
  Jonas Ådahl, Joan Torres Lopez, Pascal Nowack

Translators:
  Jordi Mas [ca], Alexander Alexandrov Shopov [bg], Jiri Grönroos [fi],
  Yuri Chornoivan [uk], Daniel Rusek [cs], Baurzhan Muftakhidinov [kk],
  Martin [sl], Ekaterine Papava [ka], Antonio Marin [ro],
  Efstathios Iosifidis [el], luming zh [zh_CN], Quentin PAGÈS [oc],
  Asier Saratsua Garmendia [eu], Lucien Ouoba [fr], Fran Diéguez [gl],
  Victor Dargallo [ca], Balázs Úr [hu], Aurimas Aurimas Černius [lt],
  Mathieu Heurtevin [fr], Daniel Mustieles [es], Kristjan ESPERANTO [eo],
  Anders Jonsson [sv], Seong-ho Cho [ko], Yaron Shahrabani [he],
  Ítalo Gregório [pt_BR]

50.beta
=======
* Add camera redirection support [Pascal; !360]
* Add connection throttling (CVE-2025-5024) [Jonas; !321]
* Add Kerberos authentication support to single user runtime modes [Jonas; !369]
* Add HiDPI support [Pascal; !349]
* Support remote login to headless GDM autologin sessions [Joan; !318]
* Make RDP session handover more reliable [Joan; !371]
* Disable VA-API when using an AMD GPU [Pascal; !362]
* Code preparation for Vulkan Video Encode support [Pascal; !364]
* Misc bug fixes & cleanups [Jonas, Joan, Pascal; !351, !359, !361, !365, !366,
  !370, !372, !374]

Contributors:
  Jonas Ådahl, Joan Torres Lopez, Pascal Nowack

49.2
====
* Misc bug fixes [Pascal; !352]
* Fix crash [Pascal; !356]

Contributors:
  Pascal Nowack

Translators:
  Efstathios Iosifidis [el], Fabio Tomat [fur], Милош Поповић [sr, sr@latin]

49.1
====

* Fix crash [Jonas; !345]
* Fix image corruption on some NVIDIA GPUs [Stephan; !344]

Contributors:
  Abduqadir Abliz, Jonas Ådahl, Stephan Seitz

Translators:
  twlvnn kraftwerk [bg], Abduqadir Abliz [ug], João Carvalhinho [pt],
  Andi Chandler [en_GB], Quentin PAGÈS [oc]

49.0
====

* Handle Vulkan dma-buf format compatibility issues [Pascal; !339]
* Fix crash [Jonas; !341]

Contributors:
  Jonas Ådahl, Pascal Nowack

Translators:
  Makoto Sakaguchi [ja], luming zh [zh_CN], Ekaterine Papava [ka],
  Anders Jonsson [sv], Artur S0 [ru], Daniel Mustieles [es],
  Jordi Mas i Hernandez [ca], Asier Saratsua Garmendia [eu], Seong-ho Cho [ko],
  Yuri Chornoivan [uk], Aurimas Aurimas Černius [lt],
  Juliano de Souza Camargo [pt_BR], Francisco Diéguez Souto [gl],
  Ask Hjorth Larsen [da], Nathan Follens [nl], Kristjan SCHMIDT [eo],
  Emin Tufan Çetin [tr]

49.rc
=====

* Allow systemd service management of all units via grdctl [Joan; !320]
* Misc bug fixes & cleanups [Jonas, Pascal; !329, !331, !324, !333, !326, !336]
* Add support for relative pointer movements via RDP [Pascal; !332]
* Add support for extending desktop with virtual monitor via RDP [Pascal; !334]

Contributors:
  Jonas Ådahl, Joan Torres López, Pascal Nowack

Translators:
  Fabio Tomat [fur], Dušan Kazik [sk], Antonio Marin [ro], Martin [sl],
  Daniel Rusek [cs], Danial Behzadi [fa], Nathan Follens [nl], Balázs Úr [hu],
  Piotr Drąg [pl], Yaron Shahrabani [he]

49.alpha
========
* Add touch support [Pascal; !314]
* Fix failure to connect on some NVIDIA systems [Jonas; !323]
* Plumb locked keyboard modifiers via libei [Jonas; !311]
* Documentation improvements [W.; !317]
* Fix crash [Pascal; !325]
* Plug leak [Michael; !319]
* Misc cleanups & improvements [Pascal, Jonas; !315, !313, !327]

Contributors:
  Jonas Ådahl, Michael Catanzaro, Pascal Nowack, W. Michael Petullo

Translators:
  Takayuki KUSANO [ja], Emilio Sepúlveda [ia], Antonio Marin [ro],
  Aefgh Threenine [th]

48.1
====
* Reduce latency when PipeWire stream uses shared memories

Contributors:
  Pascal Nowack

Translators:
  Baxrom Raxmatov [uz], Cheng-Chia Tseng [zh_TW], Philipp Kiemle [de]

48.0
====
Translators:
  A S Alam [pa], Aurimas Černius [lt], Seong-ho Cho [ko],
  Balázs Úr [hu], Daniel Mustieles [es], Ask Hjorth Larsen [da],
  Andika Triwidada [id], Jiri Grönroos [fi], Pawan Chitrakar [ne],

48.rc
=====
* Add support for hardware encoded AVC444

Contributors:
  Pascal Nowack

Translators:
  Rafael Fontenelle [pt_BR], Giannis Antypas [el], Daniel Rusek [cs],
  Piotr Drąg [pl], Anders Jonsson [sv], Ekaterine Papava [ka],
  Alexandre Franke [fr], Yuri Chornoivan [uk], twlvnn kraftwerk [bg],
  Scrambled 777 [hi], Quentin PAGÈS [oc], Asier Sarasua Garmendia [eu],
  Hugo Carvalho [pt], Fran Dieguez [gl], Jordi Mas i Hernandez [ca]

48.beta
=======
* Add support for zero copy rendering with Vulkan and VAAPI
  (disabled by default)

Contributors:
  Pascal Nowack, traze


48.alpha
========
* General code improvements
* Fix gdctl crash when setting VNC password
* Prepare for Vulkan and libva based hardware acceleration
* Add user documentation
* Don't hard code keyboard type

Contributors:
  Jonas Ådahl, Jerry, Pascal Nowack, Bartłomiej Piotrowski, Daniel Rusek

Translators:
  Hugo Carvalho [pt], Jordi Mas i Hernandez [ca],
  Juliano de Souza Camargo [pt_BR], Rūdolfs Mazurs [lv], Danial Behzadi [fa],
  Luming Zh [zh_CN], Martin [sl], Vasil Pupkin [be], Nathan Follens [nl],
  Artur S0 [ru], Милош Поповић [sr], Quentin PAGÈS [oc], Yaron Shahrabani [he],
  Sabri Ünal [tr]

47.0
====

Translators:
  Sabri Ünal [tr], Davide Ferracin [it], Fran Dieguez [gl],
  Aurimas Černius [lt], Efstathios Iosifidis [el], twlvnn kraftwerk [bg],
  Alexander Shopov [bg], Daniel [es], Irénée THIRION [fr], Anders Jonsson [sv],
  Andika Triwidada [id], Andi Chandler [en_GB], Piotr Drąg [pl], Martin [sl],
  Danial Behzadi [fa], Balázs Úr [hu], Jordi Mas i Hernandez [ca],
  Emin Tufan Çetin [tr], Luming Zh [zh_CN], Ekaterine Papava [ka],
  Juliano de Souza Camargo [pt_BR], Daniel Rusek [cs], Yuri Chornoivan [uk],
  Tim Sabsch [de], Ask Hjorth Larsen [da], Bruce Cowan [en_GB], Artur S0 [ru],
  Quentin PAGÈS [oc], Vasil Pupkin [be], Jose Riha [sk], Yaron Shahrabani [he]

47.rc
=====
* Reduce resource usage of unauthenticated sessions

Contributors:
  Pascal Nowack

Translators:
  Jordi Mas i Hernandez [ca], Daniel Șerbănescu [ro], Vasil Pupkin [be],
  Ekaterine Papava [ka], Yuri Chornoivan [uk], Luming Zh [zh_CN],
  Asier Sarasua Garmendia [eu], Jiri Grönroos [fi], Rafael Fontenelle [pt_BR],
  Jose Riha [sk], Danial Behzadi [fa], Daniel Rusek [cs], Seong-ho Cho [ko],
  Hugo Carvalho [pt]

47.beta
=======
* Gracefully handle file descriptor limits
* Introduce standalone configuration D-Bus service
* Improve grdctl status reporting
* Gracefully handle invalid x224Crq data
* Fix file descriptor leak

Contributors:
  Pascal Nowack, Joan Torres

Translators:
  Artur S0 [ru], Scrambled 777 [hi], Yaron Shahrabani [he], Junting Wu [zh_TW],
  Emin Tufan Çetin [tr]

47.alpha
========
* Support persistent remote login sessions
* Support entering new credentials via standard input when using grdctl
* Use access portal dialogs for warning about connection insecurity
* Avoid crash when getting invalid PipeWire buffers

Contributors:
  Dudemanguy, Pascal Nowack, Ray Strode, Joan Torres

Translators:
  Martin [sl], Balázs Úr [hu]

46.2
====
* Potential crasher fix
* Improved disconnection messages
* Broader client compatibility support
* Various security hardening improvements
* CVE-2024-5148 Limit login screen->user session handover access to appropriate user

Contributors:
 Pascal Nowack, Ray Strode

Translators:
  Balázs Úr [hu], Efstathios Iosifidis [el], Fabio Tomat [fur],
  Hugo Carvalho [pt], Jordi Mas i Hernandez [ca],
  Juliano de Souza Camargo [pt_BR]

46.1
====
* Fix running on big endian
* Don't crash when there are no user sessions

Contributors:
  Ondrej Holy, Pascal Nowack

Translators:
  Aurimas Černius [lt], Yaron Shahrabani [he], Fran Dieguez [gl],
  Vincent Chatelain [fr], Sabri Ünal [tr], Rachida SACI [kab],
  Christian Kirbach [de], Asier Sarasua Garmendia [eu], Nathan Follens [nl],
  Martin [sl], Artur S0 [ru]

46.0
====
* Fix custom configuration directory with tmpfiles

Contributors:
  Piotr Drąg, Joan Torres

Translators:
  Matej Urbančič [sl], Andi Chandler [en_GB], Kukuh Syafaat [id],
  Rūdolfs Mazurs [lv], Fran Dieguez [gl], Ask Hjorth Larsen [da],
  Tim Sabsch [de], Piotr Drąg [pl], Anders Jonsson [sv], Yuri Chornoivan [uk],
  Danial Behzadi [fa], Ekaterine Papava [ka], Daniel Rusek [cs],
  Daniel Mustieles [es], Boyuan Yang [zh_CN], Sabri Ünal [tr],
  Seong-ho Cho [ko], Baurzhan Muftakhidinov [kk]

46.rc
=====
* Allow D-Bus activation
* Add polkit rules for system daemon configuration access
* Add system daemon configuration D-Bus API
* Allow checking TLS fingerprint via grdctl
* Fix VNC-only bulids
* Disable DMA buffer support when running with NVIDIA

Contributors:
  Ondrej Holy, Pascal Nowack, Marvin Schmidt, Ray Strode, Joan Torres

Translators:
  Fran Dieguez [gl], Danial Behzadi [fa], Yaron Shahrabani [he],
  Nathan Follens [nl], Matej Urbančič [sl], Kukuh Syafaat [id],
  Boyuan Yang [zh_CN], Daniel Mustieles [es], Andi Chandler [en_GB],
  Jiri Grönroos [fi], Rūdolfs Mazurs [lv], Guillaume Bernard [fr],
  Andre Klapper [es], Aurimas Černius [lt], Daniel Rusek [cs],
  Ekaterine Papava [ka], Asier Sarasua Garmendia [eu], Yuri Chornoivan [uk],
  Balázs Úr [hu], Artur S0 [ru], Luming Zh [zh_CN], Anders Jonsson [sv],
  Sabri Ünal [tr], Irénée THIRION [fr]

46.beta
=======
* Add layering to system daemon configuration
* Various fixes and cleanups to the RDP backend
* Handle the Microsofts mstsc client (default RDP client in MS Windows)
  clients better when redirecting
* Improve system-daemon <-> user-daemon RDP port conflict handling
* Fix crash when setting invalid configuration
* Improved performance during monitor layout changes

Contributors:
  Pascal Nowack, Joan Torres

Translators:
  Artur S0 [ru], Danial Behzadi [fa], Daniel Rusek [cs], Emin Tufan Çetin [tr],
  Fabio Tomat [fur], Ekaterine Papava [ka], Yuri Chornoivan [uk],
  Asier Sarasua Garmendia [eu]

46.alpha
========
* Port to FreeRDP 3.1
* Introduce systemd service for single user headless setups
* Introduce headless remote login via GDM (RDP only)
* Make fdk-aac dependency non-optional (RDP)
* Improve cursor handling (RDP)
* Automatic fallback port finding (RDP)
* Add Opus coder support (RDP)
* Misc. improvements to the RDP backend

Contributors:
  Jonas Ådahl, Pascal Nowack, Ray Strode, Joan Torres

Translators:
  Yuri Chornoivan [uk], Ekaterine Papava [ka], Boyuan Yang [zh_CN],
  Jordi Mas i Hernandez [ca], Artur S0 [ru], Florentina Mușat [ro]

45.rc
=====
* Use default RDP and VNC ports again
* Use libei for input event plumbing

Contributors:
  Jonas Ådahl, Pascal Nowack

Translators:
  Sabri Ünal [tr], Florentina Musat [ro], A S Alam [pa]
