|
It's been over a year since our original fork from the rdesktop project, and so much has changed since then. Our first release, 0.7, was only announced on our mailing list with the intent of having a point of reference to quickly start fixing bugs. This bug fix release is 0.7.1. The choice of version number requires some explanation: since FreeRDP was forked at the time where rdesktop was at version 1.6.0, we decided to keep the "x.6.0" out of it. However, as we worked hard on refactoring and adding new features to the program, it became clear that the amount of work still required to make FreeRDP "feature complete" was way too high so that we could consider it a 1.x, so we decided to go back to version number 0.6. As this is a new release, we simply incremented from 0.6 to 0.7. Ok, I agree that version numbers pretty much vary in meaning from project to project, but the main idea here is to reflect the fact that FreeRDP is an increment from rdesktop 1.6.0, but has diverged a lot from it. At the same time, FreeRDP isn't something completely new, so starting with a "0.1" maybe wouldn't be appropriate. 0.7, however, leads to think that there are a fair amount of features implemented, but that the program is not exactly feature complete yet. Here is a list of changes in FreeRDP since the original fork a year ago. Trust me, the code really doesn't look the same, we did not hesitate to totally refactor, redesign, reimplement, modularize, reorganize everything we felt would benefit from it. Our development team has also grown exponentially in the last couple of months, and continues to do so as our user base gets larger. We're all very excited about how things are going well for this project. Don't wait any longer, download FreeRDP 0.7.1 right now. We have people working on packaging FreeRDP for various Linux distributions such as Ubuntu, Debian, OpenSUSE, Gentoo, etc. As it takes some time for packages to be included into official repositories I am not posting links to those packages yet, but if you are using Debian Sid packages are already available. If you have questions or comments please join our mailing list. Here is a list of changes since the original fork from rdesktop 1.6.0 to FreeRDP 0.7.1:
Software Architecture:
- Full multi-session support
- Created a library separate from the UI, making it easier to implement different UIs
- New keyboard input system based on the XKB database, providing better support for international keyboards
- Implemented Microsoft's virtual channel plugin API and re-implemented features as plugins (libfreerdpchanman)
- Created a "device manager" for various devices redirected over the device redirection plugin
Refactoring:
- X11 UI completely rewritten from scratch
- Disk and printer redirection have been rewritten in a much cleaner way
- Clipboard redirection has been re-implemented as a virtual channel plugin
- Sound redirection has also been re-implemented as a virtual channel plugin
- A *LOT* of added comments in the code with regards to the protocol documentation
- Cleanup and increased compliance with the documentation released by MS after rdesktop was created
Improvements:
- Support for cursors on Windows Server 2008 R2
- Support for bitmap caching, which provides a good performance boost
- Build system has been completely revamped to use newer tools such as libtool
- Support for Windows Server 2008 Terminal Services Session Broker Load Balancing
- It is now possible to compile FreeRDP without OpenSSL, using built-in code (more lightweight on embedded systems)
- Real capability set processing (original implementation discarded capability sets almost entirely and sent blobs)
Work In Progress:
- A DirectFB UI has been started
- New Win32 port with working native UI, but it's not complete yet
- Support for NSS as a replacement for OpenSSL is also being worked on
- Network Level Authentication is half-way done (TLS works, but NTLM authentication is partially implemented)
Dropped or Broken Features:
- seamlessrdp is *NOT* supported. RemoteApp support is eventually going to replace seamlessrdp
- Serial port redirection is currently not supported, as it needs to be re-implemented as a plugin
- Smartcard support also needs to be re-implemented as a plugin
|