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]
