You are on page 1of 66

Changes for 0.5.

5c

* Improvements
- General
* Updated languages from Transifex
* Added language Catalan (ca_ES)

- Transfers
* new cache system for RemoteDirModel, which significantly speeds up the
display of shared files
* added generic function to return the correct string for scanf for
unsigned ints depending on the
size of the actual variable that is scanned. Should fix the rehash bug
and bugs corrupting
timestamps on some 32bits systems
* Added few more file type icons for "cpp", "h" nd "c", "patch" and "diff"
extensions
* Moved Uploads to Downloads Tab.
* Added to change the text for the Play Button, when file is not a media
file.
* Added a custom context menu for pasting RS-links to the base class
MimeTextEdit and removed
the custom context menu from derived classes. Updated english
translation.
* patch "AddSearchFilesourceSorted_6951.diff" from Phenom. Adds correct
sorting for search results.
* extended max chunk TTL to 1 hour. A short TTL is not anymore needed
since chuns are shared between sources

- Chat
* patch "chatdialog_allow_buttons_from_different_plugins_3" from electron.
ChatDialog allows
now Buttons from different Plugins.
* patch "Fix_ChatLobbyAutoSubscribe_6951.diff" from Phenom. Fixes request
for existing lobbies
when no lobby ihas been found yet. Code beautification
* added lobby ID as tooltip to lobby list

- Forums
* added ElidedLabel to be used in places where labels might be too long
and therefore
trigger an unwanted window resize. This is currently used as forum
thread titles (Patch from Phenom)

- Channels
* patch "Fix_ChannelNotificationFeedLink" from Phenom. Allows to finish
loading a channel
before jumping to the linked post
* Added a default background color for the Channel Message Logo for a
better look and feel,
removed stretching of the logo, set a minimum size, background is now
filled black.

- Notification
* reworked the notification system, which is now a standalone service. Now
plugins can receive notifications.
* Corrected the layout of the Connect Progress Dialog
* Changed the logo size for some news feed items to use same size for
better look.
* Added to display blue/black forum message icons for the forum feeds,
when forum is anon or signed.
* Added new feed item types and logic to show connection attempts from
forged certificates
(e.g. bad signature, bad certificate)
* Limit number of feed items to 500 to avoid flooding
* Changed the default stylesheet color for the Security Feed
* improved display/fixed bugs in security item

- plugins
* Added service pointer for forums to the plugin interface
* FeedReader: Used the forums pointer from the plugin interface instead of
the global pointer
* added missing services in RsPluginInterface class

- GXS
* Enabled the Filter Line edit for filtering friends, by nick/ID for
Create Circles Dialog's
Known Identities Widget.
* Set some minimum header sizes for some items
* Enabled sorting for the QTreeWidget's
* fixed temporary to load the Wiki Groups Tree at startup, auto update
seems not to work.

- core
* moved PGP id and SSLid types into rsid.h, and renamed them with a more
appropriate name
* fixed cipher list for openssl. ECDHE is not configured, so it cannot be
used
* added serialisation methods for SSLId and time_t
* added an option in the pro file for dsdv, as it is compiled when not
used
* removed status member from FileDetails. Not used => misleading
* removed asserts in reader_armoured.c, reader_encrypted_se.c,
reader_encrypted_seip.c, readerwriter.c
* Allow loading packets of large size from config files (fixed storing of
big messages),
and continue on config files skipping items that cannot be deserialised
(Modified patch from Phenom)
* put a hard limit to packet size in pqistore to avoid calling realloc
with fancy numbers
when the stream has been corrupted

* Bug fixes
- fixed bug due to ot sending notifications to the file lists
- added missign cleanup call in RsAES.cc, causing a small memory leak
- Changed order of the shutdown to fix a crash of the WebUI plugin. First
stop the
plugins then the other services.
- fixed ghost lobby issue (thx to thunder for spotting it out)
- patch from HM to avoid allocating absurdly long uids
- added check to only import version 4 keys in the keyring
- fixed error handling in certificates that could crash RS when a bad cert is
pasted
- fixed proper handling in failed malloc in openpgp-sdk, causing crash with
deliberate bad cert.
- fixed small error in pgphandler, potentially adding empty certs in database
- limited the number of packets to be parsed in a row, to prevent compressed
data to contain an enormous number of packets. Fixes one possible attack
pointed out by HM
- removed potential uninitialized memory read in TlvKey item.
- fixed mismatched free/delete in p3channels.cc
- fixed bug introduced in 6965 that prevented people joining private lobbies
to see the messages and talk
- fixed potential attack by supplying non hexadecimal strings as certificate
common name
- Fixed spaces in copy/paste of rich text (Patch from Phenom)

Changes for 0.5.5b

* Improvements

- fixed up some debug text (patch from H.Morgan)


- reduced string for lol bomb filtering, to filter out <\?xml* instead of <\?
xml\ *
- Added freeze option in NetworkView (Modified patch from K. Eisentraut)
- Updated languages from Transifex
- fixed up compatibility with Qt5
- code fixed up for Qt5,added display of Qt version in AboutDialog
- fixed up compilation for MinGW-w64
- Added new options to retroshare-gui.pro for Qt 5
- Added new file QtVersion.h with macros to compile with Qt 4 and Qt 5
- fixed GUI for encrypted messages. Now showing correct To/From, added icon
for decrypted msg, correct To when reply
- allow change destination directory for queued files (modified patch from
Phenom)
- remove three costly loops in ftController
- added help strings in some config pages (relays, notify, plugins)
- added warning label in MakeFriendWizard to warn against too many friends
- changed the voip icons, disable the voip buttons when friend is offline.
- added scope timer to measure times conveniently

PGP
- added restriction to only accept self-signed certificates for friend keys
- added test program for identity import
- removed asserts from validate.c, and signature.c in openpgp-sdk
it will not be shared until re-hashed. Should prevent chunks error in files
that get hashed while being copied.
- do not accept keys without a uid. Previously this was crashing RS
- added check over recursive compression depth. Fixes CVE-2013-4402

Channels:
- Added back the Subscribe Button to Channels
- Use destination directory when manually downloading a file from a channel
- Show destination directory in channel details
- Fixed utf8 issue when choosing the destination directory

GUI
- show fingerprint in ConfCertDialog, and splitted the string with spaces.
Removed
the use of the ambiguous peer id for both pgp and locations ids

Global router (Not active yet. Is a replacement to tunnels for messaging. Wil
allow offline anonymous distant messages)
- squeleton code for the whole system
- computation/update of routing probabilities

File Transfer (Speed changes according to experiments from jolavilette. Brings


the max LAN speed from 1.3MB/s to approx 13MB/s)
- set desiredRate of peers to 10MB/s instead of 1MB/s
- maximum number of active chunks per peer is now 20 (that was a serious
limiting factor)
- ticks that bring no data are not accounted for in the speed estimate
anymore. The data is averaged over all ticks
since the previous non zero data chunk -> this brings much more stability
to sources and removes lots of oscillation.
- added post-hash check for file modification. If the file has been modified
while being hashed,
- removed false warning that come up when openning a non existing file in
ftFileCreator.

Shared Files
- changed re-hashign strategy. Now uses in priority the system time of the
index file as a reference for new files. This automatically
accounts for changes in system time and fixes the re-hashing bug for
daylight changing time. In case the reference time cannot be
establishd, the comparison reverts to the old method. This change is
backward compatible and should not cause a re-hash.

* Improvements
Optimisations/compilation:
- re-wrote cleanupDirectory() function. As this a cause of the slow startup.
Startup time is massively improved!
- Fixed compile of the libraries with MinGW 4.8 on Windows.
- Removed the external library pthreads 2.8.0 on Windows build and used the
library of MinGW (version 2.8.0 too).
This fixes header mixup of bo th versions.
- Switched to the release version of pthread so the name of the dll changes
from pthreadGC2d.dll to pthreadGC2.dll.
The new dll can be found in the bin directory of MinGW.
- Optimized p3HistoryMgr::cleanOldMessages

File Transfer:
- restore file state when restart (Modified patch from Phenom)
- Enabled multi-tunneling by consistently perturbating partial tunnel id in
TRs.
This causes tunnels with a different route to have different ids and
therefore
coexist as different sources for a given transfer.
This should cause file transfers to have more tunnels and therefore a
better balance
of bandwidth over intermediate peers. This needs to be evaluated on a large
scale network.
- included random bias in tunnel ID computation to make them impossible to
correlate to the end points

Distant chat/lobbies/chat:
- added the possibility to distant chat with unverified identities, while
warning the user about it. Should help distant chatting.
- removed warning that happens when lobby has no activity

Key creation
- added entropy collection system based on mouse movement to
location/identity creation, to make keys less predictable

Connectivity:
- Made connection progress dialog only show up when really making friend
Security:
- Enabled PFS for SSH connections, based on a 4096 bits safe prime. This is
retro-compatible, meaning that
old peers will connect to the new one using PFS if they act as a client
(meaning they request the connection)
- added limit to posts on chat lobbies to 6000 characters, removing the risk
of enormous posts crafted to kill the msg history
- added filter to take care of svg bombs that can be hidden in the strings in
lobbies,forums,channels and chat
- added control for suspicious message activity in chat lobbies. Lobby items
are not bounced if coming
from a peer that sends more messages per seconds than a given limit. The
limit is adaptive and depends on lobby count
- added limit in number of chat lobby ids sent by a peer
- added filter to remove xml bombs in all std::wstrings.

Various gui stuff:


- added a "Load Images" system to messages.
- added new delegate for BW statistics window. Changed column names to more
appropriate values (Patch from Phenom)
- Added proper sorting of DL files according to sources (Patch from Phenom)
- changed the connect wizard so that we can add someone key to keyring
without making friend.
- fixed image resizing for channel thumbnails. Apparently there is a bug in
Qt preventing
Qt::KeepAspectRatioByExpanding to work correctly
- Changed the additional buttons of ChatLobbyDialog and AudioPopupChatDialog
to QToolButton.
- added some sound files
- changed the voip icons and the tooltips
- added fingerprint to cryptopage
- added tree items for chat lobbies.
- moved help browser from MainPage to new base class FloatingHelpBrowser
- added warning info label to MakeFriendWizard
- Added info widget for encrypted messages in MessageWidget
- removed copy/paste of links of type PERSON in friendlist. This caused
confusion and did not provide
anything useful since the creation of the full certificate links
- changed default header text and context menu icons
- changed the default style layout of profile creation dialog
- highlight peers in network graph according to friendship distance from
selected node

Chat lobbies
- added history parameters for chat lobbies
- added max storage time for items in chat history. Avoids filling up the
history with chat from volatile peers.
- worked out the layout in config->ChatPage in a more compact design and
added help

* Bug fixes
- fixed import of retroshare identities that have multiple signatures from
the same key ID. Fixed bug reported by claude37
- split lastRecvTimeStamp into two different time stamps: one for last
time the file is wrote (or data is received) and one for last activity
that is used (and sometimes reset) by ftcontroller when queuing files
- fixed display of correct IP for connected friends. Only the external IP was
shown previously. Port is not
shown because it is random and could be misleading.
- filter out disallowed direct sources from file request source list. Should
systematically prevent unwanted direct transfers
- removed potential deadlock in notifyQt
- fixed bug that would cause virtual peers list for outgoing files to never
get cleanred up. Also improved
cost of updating the status of virtual peers. Many thanks to Jolavillette
for finding this out!
- fixed missing update of transferred bytes count, that caused tunnels to not
show a correct speed estimate on server side
- fixed bug in turtle router, causing potential memory access error in rare
occasions (sendItem does not
delete items fast enough, normally).
- added missing setPeerState that caused tunnels to get stuck to default
minimum rate unless
the list of connected peers change
- fixed bug showing play for unfinished files and preview for finished ones

Changes for 0.5.5a

* Notes
This is the final release of the 0.5 brand.

- distant chat (encrypted with AES-PSK using tunnels, autenticated with


PGP)
- distant messages (encrypted, through tunnels)
=> See http://retroshareteam.wordpress.com/2013/08/08/distant-chat-and-
messaging-using-generic-tunnels/
- connection progress/status dialog
- keyring cleaning dialog
- improved GUI (better layout, higher readability, protection agains xml
bombs)
- many bug fixes in core

* Improvements
- Added connection progress dialog, to show connection state, and give some
feedback/advice to the user
- added storage for denied connections in linkMgr
- new splash screen / about image
- improved GUI layout. Many patches, mainly from Phenom, electron
- GUI improvement for distant messages, showing correct names, handling
links, correct toasters, etc
- improved security feed so that one can send distant messages to peers that
attempt to connect
- improved command line parameter handling (used argstream class)
- Disabled setting "Start RetroShare when my system starts" on Windows when
running the debug version.
- modified patch from AC to remove messages with security issues (e.g.
Billion Laughs bomb). The message is
replaced by a warning, and is not forwarded
- Updated english translation
- Enabled distant messages. These need to be switched on the config-
>Messages. GUI improvements needs to be done,
such as properly setting peers names everywhere, but the service works.
Have fun using it!
- updated values for min/normal partial packet size to 1MB in openpgp-sdk, so
that we do not create partial packets
for everyday use. We will have to properly extend openpgp-sdk to support
parsing of partial packets if we want to
PGP-encrypt chunks larger than 1MB
- patched RsCollection code to disallow crafted xml bombs
- plugged send message from security item to send distant messages
- added info about libssh-0.6.0rc1 in README.txt
- added argstream.h (with authorized modified licence) to handle parameter
lines
- added Use As Direct Source in service permission dialog
- fixed OpenBSD compilation (Patch from Stefan Sperling)
- Removed rsiface and moved configuration options to RsServerConfig
- Fixed cipher list to "HIGH:!DSS:!aNULL:!3DES", which should disable the
weak ones, no idea how to force it to
PFS (which it should use)
- fixed void * pointer maths.
- doubled data chunk for signature in chat links. Apparently some keys need
more than 287 bytes
- added security checks against disk full in PGP keyring manager
- TokenQueue: fixed stop of TokenQueue polling when events are locked
- RsProtectedTimer: switched to faster poll when events are locked
- distant chat: added ACK system to make sure the secured tunnels for distant
chat are actually working, before one starts using it.
- moved all files related to file transfer in gui/FileTransfer/
- renamed known people into keyring
- make friendlist fully resizable (Patch from phenom)
- added DynDNS to RS certificate link if available
- removed MT19937 random generator which is not used anymore. Changed N from
624 to 1024 to reduce cost
- improved completion for chat (Patch from Phenom)
- added help panels in MainWindow, to help beginners startup with the
basic concepts.
- changed welcome message in broadcast chat
- improved GUI layouts in FriendList, NewsFeed, Forums, Channels, removed
doubling unused buttons
- added last time of transfer (Patch from Phenom)
- added column with IP for connected peers (modified patch from Phenom)
- Removed some more hardcoded colors
- added completer to MimeTextEdit and ChatWidget (Patch from Phenom)
- fixed deadlock (reported by Like)
- Added quick fix to show the plain name and title in the chat lobby
- Use the best network interface to route an ip instead of the first
interface in getLocalInterfaces on Windows
- Fixed showing utf8 characters in chat lobby name
- Updated build instruction in file readme.txt (Patch from Henry)
- Patch (modified) from Phenom to allow auto-subscribe to chat lobbies
- added display of SSL encryption parameters in PeerDetails dialog
- fixed packaging with GXS (sqlite linkage, define for encrypted database
- patch from Henry morgan to fix soem typos (e.g misspelled connexion into
connection)
- Made pqiStore accept packets even after deserialization error, so that it
is retrocompatible (Patch from Phenom)
- Set path to sqlcipher instead of sqlite for Windows compile.
- new db for release, TESTNET5, old TESTNET4 db's are not keyed
- Updated english translation
- added Specific protected timer class RsProtectedTimer to avoid passwd
deadlock.
- Added filter of items to RSTreeWidget.
- removed email field from GenCertDialog, since it is not useful inside RS

- GUI
* added/enabled GUI for distant chat (Invitation handler in config->chat,
handling of Distant chat links)
* Localized Greek and Dutch (patch from Henry). Updated English.
* Languages updates from transifex
* Color transfer for copy/paste (patch from AC)
* various improvements to FriendSelectionWidget
* typos (patches from Henry)
* Added default stylesheet for the QTextEdit in ProfileManager
* Fixed sort of friends in shared files.
* fixed update of flag for peer signature over own key

- FT
* added a new per-friend flag to allow to seek for direct transfers.
Disabled for existing friends
(should be added manually), enabled by default for new friends
- libretroshare
* Merged branch v0.5-GenericTunneling into trunk (Rev. 6284 to 6410).
- Tunnel system is now generic. Any service can asks for tunnels and
send generic data through them
- made ftServer a client of the service. Now turtle file items are
handled in ftServer
- added new client: p3MsgService to send/recv pgp-encrypted distant
messages
- added new client: p3ChatService to perform private (AES-encrypted)
distant chat through tunnels.
- added distant chat. Works on invitations and tunnels. Has tunnel
closing notification.
- Added system to collect and create chat invites from pgp keys
- /!\ Needs a route of peers with version > 6441 to work.
* drop generic items with inconsistent peer id vs. tunnel directions (due
to tunnel re-routing)
* fixed several compiler warnings
* fixed bug in anti-search-by-depth mechanism
* Fixed crash with Windows compile. Renamed method "RsFiles::CopyFile" to
"RsFiles::copyFile" (lower case)
to avoid renaming of "CopyFile" to "CopyFileW" with the newly included
"windows.h".
- Added a drop-down item to allow removing unused keys, in the Network
dialog, key removal method in OpenPGP-SDK,
and PGPHandler.
- added backup system to public keyring, impossibility to remove public parts
of owned secret keys, etc.
- added columns for last used statistics on pgp keys in network dialog.

- GUI
* fixed showing the filehash in hash column for the parent file only. The
combined hash+tunnel id is used to give a unique id to each source, but should not
be displayed
* added choice for default auto-download directory per channel.
* Removed unused member mChanReadStatus from p3Channels
* Ensured that inserConnect() is only called when the widget is visible.
This reduces lags due to discovery info.
* patch from phenom to all resizing lobby participant lists
* Added patch from Henry Morgan, Fixed some typos.
* Added a info Label for the Friend Request Page
* Fixed online time in profile widget, Fixed width of settings dialog.
* patch (from Henry Morgan) to make the tooltips translate-able in the group
flags widget
* Fixed the perm bug in ConnectFreindWizard (Patch from Henry Morgan)
* patch from Henry Morgan to use ConfCertDialog rather than
connectFriendWizard from Security item
* made passwd box modal
- pgp
* added ability to keep track of when keys have been last used for signature
check, signing and encryption,
so that we can later detect which keys are unused and get rid of them
- Chat Lobbies
* Enabled history for chat lobbies (not saved to disc)
- FeedReader
* Added new icon for news feed from Agurer
* added new setting to save the config in the background for slow systems
* fixed memory leak in p3FeedReader::saveList
- retroshare-nogui
* Updated version of RPC protocol with fancy new features like streaming,
add/remove friends, file listings.
(Merging r6107 through r6332 into 'libretroshare')

* Bug fixes
- Fixed proper display of crypto params for UDP connections
- Added missing location from cert when adding new friend
- Added missing IndicateConfigChanged to p3PeerMgrIMPL::setDynDNS
- Fixed crash when closing the main window without the setting "Minimize to
Tray Icon"
- Renamed the setting "Do not Minimize to Tray Icon" to "Minimize to Tray
Icon" and fixed wrong usage Please check your setting!
- removed dropping an entire config file when a single item cannot be
serialized.
- removed time shift warning in lobbies. Changed into warning in help panel
- fixed bug allowing malicious peer to display lobby messages in broadcast
window
- patch to avoid corrupting file cache on 64bits archs that store time_t as
32bits (from Stefan Sperling)
- allow big messages to bounce correctly in lobbies, after fixing a splitting
error.
- fixed lobby aut-subscribe by looking at lobbies every 121 seconds
- fixed looping in pqistore when a crazily long packet is found. That is
the result of an unknown bug, but at least we should handle it correctly.
- fixed deadlock in notifyQt
- fixed memory leak in cert signature verification at connect (Patch from
Phenom). Also removed some unused variables reported by gcc
- add date to chat msg if it is mroe than 1 day old
- fixed bug in distant chat accepting tunnels for collecting invites with
same hash
- fixed memory leaks in p3distrib, signature key verification,
RsDataService::retrieveNxsGrps,
RsGxsNetService, p3GxsCircles, p3Posted, RsDiscReply handling, getGroupData
of all gxs services
- Fixed deadlock in FriendSelectionWidget
- fixed assert for non RSA keys
- fixed display of names in file lists
- fixed destination directory when downloading channel items in auto DL mode
- improved time-stamp management for pgp keys
- fixed translatable string with .arg (Req. From H. Morgan)
- GUI
* Fixed sending of status typing in chat. Modifier keys does not send
typing anymore.
* patch from Henry Morgan to avoid removing peer permission flags when
removing locations
* fixed remembering flags for own id, tentatively fixed service perm bug
- File transfer
* changed priority for forwarded turtle traffic. The priority was so low
that it explains
why tunnels of length > 2 are so slow
- fixed bug in p3peer.cc not calling the correct method
- added missing mutex, and warnings if permission flags methods are not
called with correct ids
- fixed bug that would reset service permission flags when discovery is
enabled and discovery info is received

Changes for 0.5.4e

* Improvements
- translations updated from transiflex
- Major improvements to GXS services (new service: channels, posted)
and GUI (Not yet released)
- further reduced TR forward probability so as to avoid a crazy
increase of TR out when we have a large number of friends
- renamed Transfers tab "File Sharing", as it is more appropriate
- removed the constraint of sharing own files only in channels.
Replaced it by a warning, to allow peers to post from other locations etc.
- switched to libssh-0.5.4 (updated README.txt with package deps)
- fixed packaging/compilation for ubuntu raring
- significantly lowered the cost of the network graph by computing
pairwise repulsive forces 8 times less often
- Patch from AC to enable completion over chat lobby participants
- patch from AC to better handle colors in lobby list
- fixed up protobuf files generation
- improved chat lobby layout (removed columns => tool tip)
- added a warning in chat lobbies when there's a big time shift between
peers.
- renamed Security page in settings => Profile
- added dest dit to FT details window
- added warning when opnning external url
- VOIP
- Added dynamic menu for choosing the destination directory for files,
and change the name of the des. file
- Merged branch v0.5-ImprovedGUI. Brings all sorts of changes, the most
of which are:
* News feed to be a new tab at the top level.
* improved transfers panel. Some tabs have been moved to Config.
* new Chat lobby panel with improved layout. Removed tabs.
* merged shared files and search into Transfers
- Auto-check of shared files after download
- Removed Qt flags from nogui .pro file
- Packaging of VOIP for ubuntu lucid, and improved packaging scripts
- Added new "Progressive" download mode, in between random and
streaming. Still random as the
former and disk-friendly as the later.
- Lots of work on ongoing new services (Not released yet): Wiki, GXS,
Forums, Identity.
- Removed special settings for win32 from VOIP.pro
- patch from Henry Morgan to unify compilation settings for VOIP
- Added new dialog to set service permissions for friends.
- Enabled embedded images in private chat and messages (only for QT
version 4.7.0 and higher)
- added tooltips to GroupFlagsWidget when buttons are unchecked (Patch
from Anonym)
- when an unknow user attempt to connect, show the name in the security
item (Patch from Anonym)
- Load new stylesheets for locale depended things. Loading order:
qss.default (internal), qss.<locale> (internal e.g. qss.de_DE)
stylesheet.qss (internal or external), stylesheet_<locale>.lqss
(parallel to stylesheet)
- Added api for news feeds to the plugin interface. Added news feeds to
the FeedReader plugin.
- Removed toaster for muted participant of a chat lobby.
- Removed the policy TabFocus from some gui elements.
- Made cert parsing errors translatable
- added turkish translation

* Packaging
- packaging of NewsReader plugin and retroshare-nogui
- added patch from bNK to make glib include dir detected on all linux
systems.
Removed warnings about gpgme and gpg-error , which have no reason to stay
now.

* FeedReader
- Added error handling to xml functions
- Added xslt transformation
- Added retransform of existing messages
- Redesigned preview dialog
- Enabled embed images for forum feeds
- Changed config format, switching back to an older version results in a loss
of all data of the FeedReader
- Fixed memory leak in xpath processing
- Stop long loops when closing the preview dialog or shutdown
- Added drag and drop to xpath lists in preview dialog
- Fixed save of xpaths lists
- Recalculate message count of the user notify when a feed with new items is
deleted.
- Set deleted message to read and !new.
- Added test feed item in notify settings.
- Fixed crash when removing a feed displayed in the main tab.
- Fixed reading author of ATOM feeds.

* libretroshare
- fixed inconsistency in parameter naming, causing error_string to be mixed
up with gpg id (Not a bug).
- removed unimplemented entry loadCertificateFromFile()
- removed #ifdef USE_NEW_CHUNK_CHECKING_CODE (enabled by default). Disable
assume_availablility to put chunks or
not in checking mode. This was inconsistent. As a side effect, cache files
of size > 1MB get chunk-checked as well, which is good
- fixed tests: compilation, running, added new util functions, etc. Updated
test results.
- Added little upnp utility / test.
- added checksum for new certificate format. Will be enabled in 0.6.
- Fixed up bootstrap singleshot search function. Now returns parameters. Not
functioning 100% correctly yet - due
to libbitdht behaviour (TO FIX)
- merged GXS branch into trunk. GXS Services are disabled by default.

* retroshare-nogui
- made port non-optional for -S <port>
- Added SystemExternalAccess Function to RPC. This provides ExternalPort +
DHTKey to Client. To be
used to find and connect - even if Dynamic IP address changes :)
- fixed compilation

* GXS
- lots of improvements to GXSForums. Not released yet.
- added pegmarkdown langage to Wiki

* Other
- added list of non backward compatible changes in README.txt, so that we can
track them

* Bugs:
- removed dead-end for peers not answering downloads, that would get
file cache transfers to get stuck indefinitly
when peers are too much stressed for a short period. The offline
state is entirely given by setPeerState()
- fixed a few fixed other uninitialized memory read (In p3NetMgr,
ftChunkMap)
- do not show msg icon for current lobby (Improved upon patch from AC)
- removed auto-clear of search field when searching (Patch from AC)
- fixed auto DL for own channels. Apparently the channel status is
missing for this special case
- allow to import new identity before even creating one
- fixed up profile manager to only allow to export (Importing during a
session caused a bug)
- dropping chat lobby msg for more than 10 mins in the future
- re-enabled context menus in chat lobby list
- Fixed crash when lobby invitation received
- Fixed DL getting stalled in streaming mode
- fixed the wrong notification of unexpected characters in management
of RetroShare Links

Changes for 0.5.4d

* Improvements
- DHT
* disable bitdht printStatus
* increased expected dht startup period, as message rate has been dropped.
* updated bdboot.txt file.

- Chat
* Made the private lobbies more accessible:
- record which friend participates in a lobby even after they
unsubscribed. The lobby
list that is sent to these
- friends contains the privaye lobby as well. In practice, people jsut
need to be invited
once to a private lobby.
- Afterwards, they get the lobby in the list of nearby lobbies and can
join by clicking on it.
- added new item RsChatLobbyList_deprecated2, to replace old existing
item. Should be removed in v0.6
- changed PublicLobbies for VisibleLobbies in the code, to avoid
confusion
- the change is backward compatible, although old peers won't receive
private lobby info from
new peers, of course.

- GUI
* Set email address in GenCertDialog to optional.
* Fixed display of "TextLabel" in SecurityItem. -
* Added patch from Henry: enable italian language
* Added patch from Henry: Renamed gpg to pgp
* removed some unused images
* Added "Edit Share Permissions" Context Menu entry to My Directions, to
edit easily share
permissions for each directory
* Updated languages from transiflex.
* updated English, Danish, German, Swedish translations
* Added OperatingMode ComboBox to the status bar
- Added second (temporary) switch to turtle.
- Use session switch for OperatingMode.
- made OperatingMode temporary - not saved.
- Moved DataRate interface from rsiface (old) -> rsConfig.
- Internally moved storage of data rate from pqipersongroup ->
p3serverconfig
- made DataRate + Operating Mode work together.
- add ToolTip to OpModeStatus .... (can't actually view - please
correct as necessary)

* Fixed utf8 characters for group names in RemoteDirModel (shared files).


* Fixed layout of the FriendRequestPage in ConnectFriendWizard.
* Added flags for services and service permissions for peers
Flags are identity-related, meaning that all locations of the same peers
have the same flags.
- It's now possible to tweak which services each peer can use. Service
that can be disabled are
forums/channels, discovery, anonymous routing.
- by default, peers have all flags on.
- File Transfer
* use a std::map to search file hashes instead of sweeping the entire
database. Improves performance a lot.

- OpenPGP-SDK
* Added function "ops_open" to openpgpsdk to open files with utf8
characters on Windows.
* changed fopen into RsDirUtil::rs_fopen in PGPHandler, to allow paths
with utf8 chars on windows.
Shoudl probably fix many startup issues

* Bugs
- added proper filtering of directories from RSLinks and RsCollection to
avoid the possibility of writing out of the
download directory.
- Added missing closeConnection when the connection dies with
SSL_ERROR_SYSCALL.
- Fixed display of files in flat view. The files of friends are shown again
- fixed bug in ShareManager causing directory flags to be set on wrong
directory after sorting
- Protected waitingIds with Mutex in pqipersongrp.cc.
- Reviewed Mutex in pqihandler.
* In general it is okay, except for: DataRate Handling, and Win32
specific: WaitingList.
* Cleaned up some functions.
* renamed createPerson and createListener to locked_createPerson and
locked_createListener.
This is required as neither Listener nor Person are thread safe (TODO).
- fixed missing error msg in p3cfgmgr when serialisation fails.

Changes for 0.5.4c

* Improvements
- GUI
* patch from AC to perform html optimization of forum posts using the
canonical function optimizeHtml()
* fixed bug preventing share manager to modify more than one directory at
once
* Moved most of the hardcoded colors of lists and trees to the file
qss.default (with help from braindead).
Now the stylesheet can redefine these colors.
* Added multiselective mute/unmute to chat lobby. Added mute/unmute with
double click on icon.
* Added flag for hungarian language.
* Fixed sorting of date in forums
* redesigned the Chatlobby participants list
- used now QTreeWidget instead of a QListWidget
- added icons for display the muted participants
- added context menu for "Mute participant" ( context menu fix from
thunder)

* Removed context help button from the dialogs (currently not used) and
added
minimize/maximize buttons to the "floating" dialogs.
* Added to identify for Channel Files if its a media file(s) or not, to
change the Play Button text from "Play" to "Open"
* Added icons for the Channel TreeWidget
* Added placeholder text for Search Filter items on Group TreeWidget
* Added placeholder text for Search Filter items in Messages Dialog
* update the authors on the help page
* Redesigned GenCertDialog for the usage in Profile Manager.
* Removed the filter comboboxes and replaced it with a menu in
LineEditClear.
* Added settings for the blinking icons
- private chat window/tab
- chat lobby tab
- all tray notifier
* Added a find Icon Button for the class LineEditClear
* Removed all not needed find icons from the Dialogs.
* Enabled sorting for the Lobby Dialog
* Added a placeholder text for the Search Forum filter

* Added blinking of the chat icon for private chat window and chat lobby
* Added blinking of the systray icon for the notifier and enabled it
for private chat.
* Cleaned includes in FriendsDialog.cpp
* Fixed switching between combined and not combined tray icon notify
with available messages.
* Added sounds when message has arrived and download was finished.
* The next unread button in forums search for child items and start
at the top when the end of the list is reached.
* Changed SoundManger to allow the plugins to play sounds.
* Added example to VOIP (commented out).
* Added more PRE_TARGETDEPS for Windows compile.
* Added Search Filter for the FriendsList
* set a minimum spacing on ChatWidget
* Added to display tooltip's for the Voip button's
* Moved the Send Button to right side of the Chat LineEdit for better look.
* Changed some language strings in the GUI, removed hardcoded fonts (Patch
from Henry)
* removed html strings from GenCertDialog
* moved some description text from the header, to look better
* update translation strings
* several improvements of the GUI layout.
* cleaned up many unnecessary files
* Improved (ungendered) English friend recommendation message (patch ID:
3536093 )
* Support for custom qss in data dir and config dir
* update win installer script, to install turkish Qt translation
* renamed Bubble Compact folder
* Added attempt to load the translations for the Qt's internal srings from
datadir/translations
- removed some warnings and debug info
- Fixed sensitivity of the action in the context menu to copy a link
from the chat text
when scrollbars are visible.
- Stored some license files to utf-8 encoding, required by nsis
installer
- Changed font color in ProfileWidget to standard.
- Corrected installer translation
- Disabled fix color of chat messages for Qt 4.5 and lower because of
missing methods on QColor in Qt 4.5
- Add direct public sources for files shared in channels, when
available
- Improvements to turtle router:
* made faster tunnels stay longer by increasing tunnel campain
time. Should favor fast tunnels.
* desactivated tunnel shortenning since it cannot produce
consistent tunnels every time
* increase cache TTL for search requests to 240 secs and tunnel
requests to 120 secs.
This should remove some zombie tunnels and search requests.
- Debian Buildscript. Fixed Version for Packagename

- VOIP plugin
* Added support for external translation files for the main application and
the plugins LinksCloud and VOIP.
The following files are loaded from the directory <executable
dir>/translations: retroshare_*.qm, LinksCloud_*.qm, VOIP_*.qm
* Added turkish voip translation
* Added Brazilian Portuguese VOIP translation
* Added support for external translation files for the main application and
the plugins LinksCloud and VOIP.
The following files are loaded from the directory <executable
dir>/translations: retroshare_*.qm, LinksCloud_*.qm, VOIP_*.qm
* Added turkish voip translation
* Added Brazilian Portuguese VOIP translation

- FT
* added dynamic adding of direct sources from file lists. Useful for
channels. Is called once every 61 seconds.
* Added new link type: EXTRA_FILE, to allow sendign links with sources
included so as to trigger direct transfer.
This makes possible to send files through chat without permitting tunnel
access to the files. The client requests
the file as a direct transfer only, using the supplied source.

- Patch to allow compilation on BSD


- Fixed command to grab upnp patched version

- Merged branch that provide group-based file permissions.


Now users can sort peers into groups in the friend list, and attribute
flags and parent groups
to the directories in the share manager.

Flags are B-B-N, meaning in order:


- browsable for peers in the parent groups
- browsable for everyone
- network wide for everyone
Backward compatibility makes previously BN flags been interpreted as
-BN, meaning
browsable/network wide for everyone.

The merge also includes a significant improvement of the naming of flags


with incompatible types
which should sort out some existing bugs as well, since inconsistencies in
flag usage have been
found during the process.

- DHT
* Improved the dht msg history storage.
* specify how long we store for.
* cleanup old msgs.
* improve printing of history.
* add timeline storage as well.
* disabled by default, enable USE_HISTORY in bdnode.c

There appears to be a bug related to copying bdId's around.


Some of the bootstrap ids are malformed, and this crashes rs.

* Bugs
- suppressed bug due to not cleaning source lists. Would cause transfers to
have inconsistent direct sources
- added additional checking of incoming compressed chunk map, in case the data
is
currupted, which might happens with a corrupted ft_transfer.cfg file.
- fixed permission of drap+dropped files. all attached files get added to
extra list,
but with different permission flags depending on the client. From that, we
compute
sharing permissions : turtle, or direct transfer only
- suppressed unitialized memory read in p3peers.cc
- added missing mutex in destructor of ftFileProvider. Probably responsible
for some random crashes
- Fixed stupid bug inDHT. Labels are the wrong way around.
This meant limit is set to HIGH (50msg/sec) when it should be LOW
(5msg/sec)
- Fixed "jumping" of the items in channels and news feed when items are
changed (load, toggle and remove).
- Added workaround for QTBUG-3372.
- Hide request Label, when peer is unknown
- Fixed edit of a message with plaintext. The newlines remain unchanged
(investigated by braindead)

Changes for 0.5.4b

* Bugs
- Fixed crash when closing the settings dialog.
- Fixed crash and memory leak in the AudioWizard of the VOIP plugin.
Please use at least Qt 4.6.4 when compiling RetrosShare with the
VOIP plugin because of the fix of the bug QTBUG-11883.

* Improvements

- Added Spanish translation file for the VOIP plugin


- Removed html code on some QLabels
- Enable Translations for Voip plugin
- Fixed some spelling errors
- Changed font color in ProfileWidget to standard.
- Fixed german language.
- Disabled fix color of chat messages for Qt 4.5 and lower because of
missing methods on QColor.
- add direct public sources for files shared in channels, when
available
- patch, to make the bandwidth graph refresh rate smoother

* Improvements to turtle router:


- made faster tunnels stay longer by increasing tunnel campain time.
Should favor fast tunnels.
- desactivated tunnel shortenning since it cannot produce consistent
tunnels every time
- increase cache TTL for search requests to 240 secs and tunnel
requests to 120 secs.
Will remove some zombie tunnels and search requests.

Changes for 0.5.4a

* Improvements
- Fixed commit 5579 - readable chat
- Added RSHTML_FORMATTEXT_OPTIMIZE to RSHTML_OPTIMIZEHTML_MASK.
- Added patch from Anonymous Coward - readable chat
- Added new options to the Chat settings window:
- Enable custom fonts
- Enable custom font size
- Enable bold
- Enable italics
- Minimum text contrast
- Added Enable/Disable buttons to PluginItem and a Info Label, instead of a
Checkbox.
- Disabled embedded images for the next stable release.
- Added patch from braindead
- Embedded images in private chat and messages (only for QT version
4.7.0 and higher)
- Improved plugin system
* now using two lists of rejected/accepted plugins. RS asks at start to
load unknown plugins
when plugins or main executable have changed.
* added API and SVN numbers into required external plugin symbols
* added help dialog to plugins
* improved version number scripts to add the missing revision number as a
int
- Added window icon for the application. All windows without a parent are now
showing this icon.
- Moved some internal stylesheets to the file Standard.qss.
- Tweaked standard style of the feed items.
- moved file rsversion.h to rsguiversion.h, since it caused a conflict with
libretroshare/src/util/rsversion.h
when included as util/rsversion.h. Updated version detail script.
- reworked context channel menu to allow unsubscribing from own channels.
Removed some irrelevant items.
Added warning when publish rights can/cannot be restored.
- Improved ProfileManager
* removed combobox and added export to the list of identities
* add extension to the filename when the user enters a name without
extension
* refill list after generating a new identity
- Fixed height of the search input field when using no stylesheet.
- Changed the colors of the feed items. It was too bright.
- Enabled the menu item in the context menu again to copy the link when right
clicking on a link.
- Reworked some elements in the standard gui.
- Added VOIP Plugin to windows installer
- Added new finish translation from Beluga
- Added two buttons to the NotifyPage to show examples of the activated news
feeds and toasters.
Can also be used to test the stylesheets.
- Reworked design of the toaster and moved internal stylesheets to the file
Standard.qss.
- Big cleaning of style sheets
* Moved some internal stylesheets to the file Standard.qss.
* Set the built-in stylesheet "Standard" as default for new profiles.
* Removed some unnecessary style sheets.
* Added two internal stylesheets:
- qss.default - This file is used as default for all stylesheets (e.g.
the frames of
the AvatarWidget) and can be overloaded from the selected stylesheet
- Standard.qss - The standard stylesheet for the current look of
RetroShare. More internal stylesheets can be added.
The plan is to move nearly all internal stylesheets to the files
Standard.qss/qss.default.
After that the "empty" stylesheet should represent the system theme of
the os.

-Added clear chat history to the context menu of the message text browser
-Added new base class HeaderFrame - image and text at top of the windows
-Enabled the RetroShare icon of the collection file dialogs.
-estored SSLid to lower case in old certificate format.
-Removed dialog FriendRequest and use ConnectFriendWizard instead.
-Added new certificate format (Easier to parse/clean, more robust)
* checkbox for using old cert format in security page. Old format used by
default, to avoid confusing newbees
* added new RsCertificate class to handle all certificate actions
- Several small tweaks to the gui
- Redesigned the Create Chat lobby dialog
- Fixed compilation with newer versions of libupnp, except for debian sid
which uses a patched old version (crap!)
- update Spanish translation (from Senpai)
- Added a new page for user request to ConnectFriendWizard. The page is shown
instead of the conclusion page when
the user clicks on the certificate link in a message of type user request.
- Enabled icons for VOIP plugin
- Enabled display of plugin version in plugin items
* Hide the import/export button, and set the new identity CheckBox set
checked, when start a new Profile
generation from Profile Manager.
* Set PluginItem icon size to 24
- Added automatic clean of the friend certificate in ConnectFriendWizard.
- Fixed code for certificate link generation.
- Added new Chat style Bubble, generated by Victor for RetroShare
- Added a profile manager. Shoudl be useful for importing/exporting
identities.
- improved GenCertDialog logic, showing import buttons only when necessary,
enabled
key import when no key is present
- show count of new messages in the toolbar
- improved chat dialog (enabled colored nicknames)
- Reworked notification code in system tray.
- Added a base class and a possibility for the main dialogs and the plugins
(derived from MainPage) to provide a notifier.
- added systray notifications for chat lobbies.
- Enabled some more translations in news feed items and fixed german
translation.
- Removed not needed file "Thumbs.db" in skin directory.
- improved pgp cleaning function

- Merged branch v0.5-OpenPGP into trunk. Please read the following important
release notes:

User-level changes:
==================
* libgpgme is not used anymore; it is replaced by a built-in piece of
code called OpenPGP-SDK
(http://openpgp.nominet.org.uk/cgi-bin/trac.cgi) that was improved to
be used by RetroShare
for handling PGP keys.

* the gnupg keyring is not used anymore. Now, RetroShare has it's own gpg
keyring, shared by all instances.
On linux it's located in ~/.retroshare/pgp/. A lock system prevents
multiple locations to read/write keyrings
simultaneously.

* the trust database from gnupg is not documented, so RetroShare cannot


import it. This comes from the fact that
the GPG standard (RFC4880) asks explicitly not to export trust
information. So RetroShare has it's own
trust DB shared by locations. This means you need to re-trust people.
Sorry for that!

* at start, if no keyring is found, RS will propose to copy the gnupg


keyring to use your existing keys. Clicking on
"OK" will do the copy, and you should find back all existing locations,
except for DSA keys.

* locations for which the suitable keypair is not in the keyring will not
be displayed in the login window
* locations for which the suitable keypair is not a RSA/RSA key will not
be displayed. RetroShare does not
support DSA/Elgamal keypairs yet.

* a key import/export exchange function has been added in the certificate


creation window (you go there from the login
window by clicking on "manage keys/locations". This allows to easily
create a new location with the same pgp key on
another computer. To obtain a suitable keypair using gnupg, you need to
concatenate the encrypted private key and the
public key into an ascii file. This can be done using:
gpg -a --export-secret-keys [your ID] > mykey.asc
gpg -a --export [your ID] >> mykey.asc

* importing a key with subkeys in not yet possible. Please remove subkeys
before importing.

* The code has been tested for a reasonnable amount of time, but it's not
possible to prevent some new bugs
to appear. Please report them asap supplying: call-stacks if possible,
and terminal output. In particular,
openpgp has some assert()'s that should not be triggered unless
RetroShare is calling it in an improper way.

Internal changes
================
* a specific component, PGPHandler, takes care of the interface between
openpgp-sdk and RetroShare
openpgp-sdk is c-code, with it's own memory management, which has been
kept well separated from
RetroShare.

* GPG Ids are now a specific class (not a std::string anymore) for code
consistency reasons. As strings are
still used in many places, this requires a few conversions. In
particular, AuthGPG takes strings as
function params and calls GPGHandler with the proper PGPIdType class.
In the future, RetroShare should
only use PGPIdType. The same will be done for SSL ids.

* signature cleaning is still handled by the Retroshare built-in


function, not by openpgp, but we will
do this later.

Still to do
===========
* DSA needs subkey handling, since the encryption is performed by a
Elgamal subkey. Not sure this will be done.
* GPGIds/SSLIds cleaning (meaning replace strings by appropriate types).
Lots of confusion throughout the code
in retroshare-gui in particular.
* key removal from keyring. This is a challenge to keep locations
synchronised.

- Rework of tcponudp/tcpstream should make UDP connections much more stable.


* Fixed retransmit algorithm. Much more closely matched to TCP
standard: http://tools.ietf.org/html/rfc2988
* This increases retransmit timeouts, and reduces the number of packets
resent.
* Added better debugging for retrans/close as separate #defines.
* Further testing is required ;)
- Added dynamic choose of sources for chunk crc requests. Fixes the bug that
would let
a transfer not finish if the original surce for a crc is not here anymore.
If you have a unfinished transfer do a force-check after restart to get
back chunks that
where still on verification stage.

- moved channel action menu into right click, for better consistency
- Enabled word wrap of the description in ChanNewItem.
- Added a new button in ChanMsgItem and ForumMsgItem to set the message as
read (without expanding the message) and
remove the item from the news feed.
- Redesigned ChanMsgItem.
- updated french translation (Max Romeo)
- improved build bat file (san)
- Moved the include folder OpenSSL to the other external includes for Windows
compile.
- added warning for unsupported keys. It is triggered when no valid keypairs
are found at start, and when unsupported
keys pairs are found when copying the keyring
- Enabled translation (system default language) of the message box before the
login to a profile.
- Fixed german translation.
- removed not needed info buttons for the infodialog
- desactivated TrustMatrix, by the time we decide wether it is worth keeping
it, and implement a better version of it
- updated package building scripts for ubuntu

- Added windows for bandwidth/display analysis in tray menu


- Reworked tcponudp/tcpstream. Should make UDP connections much more stable
Increses increases retransmit timeouts, and reduces the number of packets
resent.
Added better debugging for retrans/close as separate #defines.
- Moved QoS from pqihandler to pqistreamer. Removes one out queue, suppressed
lags
when program is eavily loaded.
- Added bandwidth monitoring service to libretroshare
* p3bwctrl.h/.cc & rsbwctrlitems.h/.cc
* New Interface in pqihandler to extract the data.
* New Interface in rsconfig to display in GUI.
* Added extra debugging in pqistreamer for catching big outqueues.
- Enabled full chunk checking code:
* unchecked chunks are not made available to swarming sources, not saved
as done.
* force check now uses the simple method to put all chunks in checking
mode
* force checked files can be cancelled (finally!)
* improved display (use red for active chunks, yellow for checking)
* cache file are not using chunk checking (assume_availability=true)
- fixed compilation on OSX
- Added patch #3510849 from Adam (interfect). Capitalize "copy RetroShare key
to clipboard"
- Added "file:///" to "%style-dir%" for the chat styles.
- Renamed "RetorShare" to "RetroShare".
- Fixed german language
- Changed chatstyle structure from
- [RS-Dir] / stylesheets / {public | private | history} / my_chatstyle /
to
[RS-Dir] / stylesheets / my_chatstyle / {public | private | history} /
- Optimized the fill of the up- and downloads in TransfersDialog

* Bugs
- Fixed double / in path that would cause plugin loading issue on windows
- Fixed report of failing connexion attempts/recepts. Cleaned the code a
little bit
- Fixed message in pgphandler when signing a post
- Fixed small display issue causing the availability map to become black when
more than 6 sources are present
- Added missing close of the temporary keyring file. Now the keyring is saved
properly and the newly
added keys are not lost after shutdown of RetroShare.
- Patch from AsamK to avoid crash when no uids are present in the key. How can
this happen anyway?
- fixed nasty bug causing crashes when syncing the keyring from disc
- added writing of public keyring to a tmp file + rename, to avoid corrupting
it when RS stops during the whole operation
- Added a quick fix for the freeze of RetroShare when using a file dialog on
Windows
- Fixed showup of self signatures in certificates that are not in the keyring
already
- Added code to avoid corruption of bdboot.txt: first write to tmp file then
move the file. Refers on
Windows utf16ToUtf8 from libretroshare. This forward reference can be
improved.
- Fixed bug with empty certificate strings when clicking on a certificate link
with only a PGP id.
- Removed deadly assert in validate.c:338 causing crashes on error.
- fixed a few bugs in cert creation window:
* private key was not correctly added to private keyring
* self signature validation was reported unsuccessful when unknown
signatures where found
- fixed re-copy of dht bootstrap file when the file is empty
- fixed up memory leak in openpgp
- Trim right spaces from certificate name.
- removed a couple of assert that could crash RS
- Fixed bad default value for filter column in ForumsDialog
- return false when ssl passphrase is of length 0. This should not happen,
unless the file is void,
since openpgp does not complain about decrypting empty files
- added auto-clean of certificates at load time. Removes many errors.
- fixed bug due to misinterpreting non SSLid drectories as potential locations
- fixed stupid bug in friendlyUnits() causing crashes when displaying files
with size > 1TB
- possible fix for bug on ARM archs (reported by Ralfk)
- fixed possible bug due to misplaced mutex (Reported by bNK)
- added missign break, causing a crash when creating a new key
- Fixed crash when starting the help browser from friend details the second
time.
- fixed bug in friendly display of size > 1TB causing crashes in e.g. channels
- fixed bug in display of upload progress
- Fixed bug in Qt for Windows Vista and higher. Convert path from native
separators
of filenames from QFileDialog::getOpenFileName(s) (Patch from AsamK)
- Fixed sorting (case insensitive, numbers) in SearchDialog.
- bug fix, avatar item deserialisation unsafely assumes valid image length.
caused crash on windows.
* Ongoing developments
- merged GXS branch into trunk. No visible changes to the end user for now.

Changes for 0.5.3c

* Improvements
- Added check for empty lobby nick name. Moved notify of lobby nick name
change from the gui to p3ChatService. Added missing mutex locks for
p3ChatService::_default_nick_name. Recompile needed.
- Added patch from Imanuel - Added new placeholder %style-dir% for ChatStyles.
- Fixed replacing of %color% in ChatStyle. It should not be replaced after
%message%.
- Redesigned ConnectFriendWizard as ui file. Added new base class
DropLineEdit. Fixed german language.
- Added patch from braindead: changed base-class of AvatarWidget to QLabel
- Switched back to not optimized compile on Windows.
- Added changes from braindead: - simplified avatarwidget - prepared property-
dependend stylesheets
- updated ubuntu changelog
- Optimized RsCollectionDialog (still without thread). Enabled extended
selection and mark with the key 'space'.
- main enabled notifyQt after creation of GUI
- forgot ifs in notifyQt
- removed data race in QObject::connect() vs. NotifyQt signals by enabling
notification signals only after GUI is created
- Added dynamic locking function for the OpenSSL library. This is needed when
using OpenSSL from multiple threads.
- Improved the default recommendation text
- switched chunk per peer and max chunk age to previous values, now that chunk
cannot be slowed down by slower peers
- Added a default styleSheet for the "Confirm Friend / Add as Friend" Button
- Fixed handling of html links in HandleRichText::formatText.
- removed possible data race on boolean value (Not critical)
- Moved HandleRichText from the folder "chat" to "util" and redesigned the
source
- Extended RsHtml::formatText to replace the RetroShare links with an image
and enabled this for the certificate
links in the system messages (friend recommen...
- Improved mute feature, to update Blocklist, when the peer changes his name.
- removed non-mutex-protected reference
- Improved multi-source file transfer in two ways:
- tunnels can borrow data chunks from only slower tunnels, to prevent
blocking fast tunnels
- tunnels can handle up to 50 data chunks at once instead of 5 Multi-
source transfers are generaly ...
- update language strings and corrected connect attempt message
- Fixed issue with lost downloads when RetroShare exits (or crashes) during
the load of the file transfer items.
The pending list was not saved.
- update translation strings, changed recommend friend context menu icon
- Display old and new nickname to Peers during nickname change in ChatLobby.
- Preparation for mute Peers in the Chat Lobby.
- updated french translation (Max Romeo)
- utf8 patch for notifyqt from AsamK
- Fixed update (repaint) of the placeholder text of the quick view items in
MessagesDialog.
- Friend recommendation message - renamed subject - added to system message
Recompile needed
- french translation update (Max. Romeo)
- Add the function to Mute peers in ChatLobby via checkbox.
- Changed style of the reply/forwarded message.
- Added a title label to Friend Request Toaster, little design changes.
- fixed bug probably responsible for random crashes in DHT code
- Removed hide/show Quickview function and moved Quickview little bit to the
top. * Disabled to not stretch last column
- Switched on optimized compile on Windows.
- Removed usages of "std::istringstream" and "std::stringstream".
- Added patch from braindead
- Added empty entry to stylesheet-choice for "no stylesheet" and moved
method "loadStyleSheet" from MainWindow to Rshare
- Added (and modified) patch from Imanuel
- Added ability to style the system messages in chat (e.g. Lobby
management) Fixed german language.
- Added new message flag for system messages like friend request. Show
"RetroShare" as sender of system messages to myself. Added new quick view in
MessagesDialog to filter system messages. Changed RetroShare link in friend request
message to...
- added paste own certificate to chat/forum context menu (patch from AC)
- Added new notify on connect attempt by the local message system.
- Removed not needed field in FriendRequest Dialog
- Added new friend request toaster from defnax.
- Added patch from Imanuel - Fixed base path for the external stylesteets
- Optimized channel loading and layout.
- Changed parameter of RsChannels from "std::string" to "const std::string&".
Recompile needed.
- Added threaded loading of channels (GUI).
- added paste own certificate to chat/forum context menu (patch from AC)
- Added function to mute some participants in chat lobbies
- Switched on optimized compile on Windows.
- Improved multi-source file transfer in two ways:
* tunnels can borrow data chunks from only slower tunnels, to prevent
blocking fast tunnels
* inactive chunks are asked again after a longer time, to avoid wasting
bandwidth asking them twice
- Added new notify on connect attempt by the local message system.
- Removed not needed field in FriendRequest Dialog
- Added new friend request toaster from defnax.
- Fixed base path for the external stylesteets
- Optimized channel loading and layout.
- Optimized RsCollectionDialog (still without thread).
- Enabled extended selection and mark with the key 'space'.
- Improved the default recommendation text
- Added a default styleSheet for the "Confirm Friend / Add as Friend" Button
- Moved HandleRichText from the folder "chat" to "util" and redesigned the
source
- Extended RsHtml::formatText to replace the RetroShare links with an image
and enabled
this for the certificate links in the system messages (friend recommendation
and user request)
- Added new ObjectPainter for painting a button on a pixmap
- Display old and new nickname to Peers during nickname change in ChatLobby.
- update french translation (Max Romeo)
- Fixed utf8 in notifyQt
- Improved friend recommendation
- Added a title label to Friend Request Toaster, little design changes
- Added empty entry to stylesheet-choice for "no stylesheet" and moved method
"loadStyleSheet" from MainWindow to Rshare (patch from braindead)
- Added ability to style the system messages in chat (e.g. Lobby management)
- Added new message flag for system messages like friend request.
- Show "RetroShare" as sender of system messages to myself.
- Added new quick view in MessagesDialog to filter system messages.
- Changed RetroShare link in friend request message to certificate.
- Added new subject image for the system messages (defnax).
- Removed not used notify in message service.
- removed minimal version
- Improved TR routing strategy:
* updated base forward probabilities to larger values
* used a minimum FP to 1/nb_connected_friends instead of 0. This is the
larger non-explosive value.
* changed tunnel management time to 2 secs instead of 1, setting the
overall number of TR/s emmitted
for all downloads to 0.5 (Should reduce the TR load for the whole network
by a factor of 2).
- Activate DHTML in Doxygen Documentation, for Fold in/out Class hierarchy
images.
- New Doxygen configuratin for Retroshare GUI, see at
http://notdefine.de/retroshare/retroshare/trunk/retroshare-
gui/src/html/index.html
- Add missing includes "unistd.h" for compiling with gcc 4.7.0. (Patch from
AC)
- Added a label for Connect Attempt after nickname "wants to be friends with
you on RetroShare"
- Added "You have a friend request" label to FriendRequest Dialog
- Renamed "Accept Friend Request" Button to "Confirm",
- set correct stylesheet for new forum item
- Added stylesheet for the Friend Request Buttons
- Added new basic class for a QLineEdit with a clear button - LineEditClear.
- Enabled file preview on Windows.
- The link file to preview a not finished download is created in temp
directory.
- Added a messagebox when preview a not finished download to remove the link
file.
- Fixed german language
- Removed the max length from the ip fields in ProfileWidget to display all 15
digits.
- enabled disabling autodownload for channel admin (patch from asamK)
- Added Copy Certificate Button to ProfileWidget
- Fixed compile of VOIP on Windows with Qt >4.7
- Modified some defaults (auto check of shared directories to 15 minutes, time
to idle mode to 5 minutes)
- Added welcome message to the chat lobby
- Changed display of the own name in FriendsDialog from "Name (me) Location"
to "Name (Location)".
- update new Spanish translation from Aitor
- Added two new functions to libretroshare for writing formatted data to
std::string
- Added two new images from defnax to SecurityItem for
SEC_TYPE_CONNECT_ATTEMPT and SEC_TYPE_UNKNOWN_IN.kkkkk
- added new toasters for private/group/lobby chat.
- added copy certificate button to profile widget
- added topics to chat lobbies. Improved CL gui
- added deferred checking of chunks in FT. Not fully functional yet, for
backward compatibility reasons.
- prepared libretroshare for OpenSSL-1.0
- Bring the main window to foreground when receiving a link from the browser
(Windows only).
- Fixed compilation on MacOS 10.6 (patch from K.Gupta)
- Update installer script, added spanish,arabic,italian,greek and portuguese
language support
- Optimized layout of the newsfeed items.
- Fixed linking of the VOIP plugin on Windows (Exports all symbols from
RetroShare.exe and import it in the plugins.
Removed the direct linking of the libretroshare and libbitdht from the
plugins.)
- Fixed utf8 characters in the transfer tab name of plugins.
- Functional version of VOIP plugin.
- Added ability for plugins to return their own PopupChatDialog class
- Count the friends (gpg id's) instead of the locations (ssl id's) in the
statusbar.
- Moved update of the friends from QTimer to signals.
- Combined p3LinkMgr::getFriendCount and p3LinkMgr::getOnlineCount and moved
to p3PeerMgr.
- Fixed scroll position of the text browser in the chat dialog when the friend
changes the status and the info frame is shown or hidden
- Reworked the start of a chat with a gpg id (doubleclick in friends tree).
Removed the question to send a message when a chat
with an offline friend is started. Start the chat when only one ssl id
exist (online or offline) or only one ssl id is online.
Show a messagebox when more than one ssl ids are online or all are offline.
- Added check for required location during gpg key generation.
- added BSD specific changes
- made settings page system more automatic
- updated french translation
- mark local existing files in search dialog with red color
- started working on VOIP plugin (not finished yet)
* merged p3voRS code with plugin code
* created new interface directory retroshare-gui/src/retroshare-gui
* improved plugin system to allow adding settings pages from plugins

* Bugs
- Removed data race in QObject::connect() vs. NotifyQt signals by enabling
notification signals only after GUI is created
- Added dynamic locking function for the OpenSSL library to prevent data
races.
- Fixed handling of html links in HandleRichText::formatText.
- Removed possible data race on boolean value (Not critical)
- Removed non-mutex-protected reference in p3turtle.cc
- Fixed issue with lost downloads when RetroShare exits (or crashes) during
the load of the file transfer items. The pending list was not saved.
- Fixed bug probably responsible for random crashes in DHT code
- Removed usages of "std::istringstream" and "std::stringstream", which are
not thread-safe.
- removed all calls to std::stringstream, causing a thread data race on
windows
- don't remove color and font when the last char is deleted from the chat text
entry box (Patch from AC)
- Fixed, hide "Accept Friend Request" Button for Unknown Peers
- Improved Search Dialog (Patch from AsamK)
* don't add friend sources count to anonymous count each time a result for
the same file is received!, this could
lead to enormously large sources numbers
* don't readd search in summary list if it was already removed by the user
* don't clear the filter when new search results are added
* when using the file name filter only show result from the current search,
not also from previous searches
* fixed adding only file types which were searched for, for this I created
a new hidden column in summary list to store the file type
* fixed sorting by file size/age, pad string with '0' instead of ' ' Search
feature: a quirk I've found
* decrease gui hanging:
-when adding search results temporarily disable sorting
-only add 250 instead of 500 items in one go
-don't call selectSearchResults() for each item added to the result
list; instead call hideOrShowSearchResult()
which only sets the hidden status of the added item, not the complete
list
-replace std::string with QString, removes unnecessary conversions
- Fixed clickable links in forum message feed.
- Added thread safe function for inet_ntoa in libbitdht using the existing
thread safe function for inet_ntoa in libretroshare
- Fixed deadlock when receiving a chat message with open history browser.
- fixed version script (Patch form AC)
- Fixed Download link for Email Invite
- Fixed utf8 in dropping links to channels (patch from AsamK)
- Fixed pasting cert links in the friend list (patch from AsamK)
- Added code to allow pasting GPG certificates missing a newline at the end
(patch from AsamK)
- Fixed display of the location with utf8 characters in ConnectFriendWizard.
- Fixed icon size in forums
- Disabled adding new keys from friends of friends in non-discovery mode.
- Fixed display of friend status in chat window
- Fixed bug returning false while a string is expected in p3distrib
- fixed crash in config dialog
- fixed missing return value in ftcontroller.cc

Changes for v0.5.3b

* Improvements
- Added BSD specific changes - data directory and #including <sys/params.h>
- improved plugin management to allow services to be used, and config pages to
be added
- Improvement to plugin system:
- made config page system more automatic, to allow adding config pages from
plugins
- added (disabled) checkbox and function to allow all plugins for development
- added config page methods to RsPlugin class
- Mark local existing files in SearchDialog with red text color.
- added early sending of chunkmap request to newly added sources
- Improvements to file transfer:
- corrected 2 potential flaws of swarming causing request of unavailable data
(This should normally be taken care of on the server side!)
- improved swarming test code with fault simulation
- only ask CRC32 maps to peers that have a complete file.
- Moved the news feed tab to the first position.
- Added Cache system for GPG Certificates.
- This should reduce gpg calls by 90+%.
- Added translation for "[ ... Missing Message ... ]".
- removed cache adding strategy to DL queue that was O(n^2). Now adding cache
at the end of the queue
- The channel message (in channels) is set to read when the user clicks on the
show more button.
- The forum/channel news feed is removed when the user reads the message in
forums/channels.
- The standard font is now used for new chat lobbies.
- Added a new menu item to set the font of a private chat and chat lobby to the
default font.
- set max chunk inactivity period to 5 mins instead of 1 mins. Shoudl favor
slow DLs. This is nw possible since missing bits will be re-asked regularly
- Changed the color of the time of the compact chat style from red to gray.
- disabled autodownload when subscribing to a channel.
- Sort nick names by name in the chat lobby.
- Added multi friend recommendation dialog.
- You can start it from the tools menu in FriendsDialog.

* Fixes
- Fixed tab order in config pages Directories and Server.
- corrected stupid bug in settings causing crash when a plugin is ot loaded
correctly
- Fixed compile on Windows with enabled shadow build of Qt Creator.
- patch by AsamK to save finished/checking transfers
- Fixed private message notification. Remove offline private messages of none
friends at startup and when a friend is removed.
- Moved the removing of the history of removed friends from p3PeerMgrIMPL to
p3ChatService.
- DownloadToaster:
- Fixed handling of utf8 characters in the file name
- Replaced QDesktopServices by RsUrlHandler to handle collections
- Fixed crash after opening a collection (Thanks to AsamK =
- Fixed usage of utf8 characters in certificate links (gpg and location name)
(Patch from Asamk)
- added missing IPs to certificate links
- Fixed bug when the user clicks on a link without http:// in a QTextBrowser.
This link was opened directly in RetroShare.
- Show clickable links in the channel feed message.
- fixed reference to tryNetMode.
Attempted fix for maintaining External Port in Manual Forwarded Mode.
- added check for RS_NET_MODE_EXT instead of RS_NET_MODE_TRY_EXT... as trys
aren't used in p3PeerMgr.
- removed tryMode from external interface - as this data is not available
anymore.
- Removed setting this parameter in p3peers.cc

Changes for v0.5.3a

* Improvements
- Fixed RetroShare links with " characters in the name.
- Fixed RetroShare links with "#" and "&" characters in the name.
- Fixed layout of the CryptoPage and german language.
- Fix some source code for better translation, added some new words to
translate and removed some words not to be translated.
- Set the focus the subject input when creating a new forum/channel or channel
message.
- Set the forum/channel message to read when expanding the message feed.
- Replaced std::string by QString in GetStartedDialog for easier translation
and to prevent problems with utf8 chars.
- Updated English Email Invite .
- Set OSX default style to "Cleanlooks" - as AQUA style hides some windows.
- Fixed missing headers for plugin manager.
- Disabled ZEROCONF for OSX.
- Optimized some internals in the news feed items
- std::string -> const std::string&
- QObjectList -> QSet<QObject*>
- Added new compact style for chat.
- Improved the HTML optimizer.
- Start the CreateLobbyDialog from the list of chat lobbies with the privacy
level of the selected item.
- Added change nick name to the chat lobby dialog.
- Optimized layout of the chat dialogs.
- Added (make functional) the lobby menu in the context menu of the gpg and
group item in FriendList.
- Added button to add/remove signatures and button to copy RS cert link to
clipboard
- Added doubleclick to join a lobby.
- Disable the Startup Wizard. Most of the defaults are sensible now, so its no
longer needed!
- Fixed default data rates to sensible options: 200 kB/s down, 50 kB/s up.
- Added Minimal certificates to discovery exchange. They are invoked if the
standard cert is over 10k.
- Switched std::vector.data => &(std::vector[0]) to remove linuxism in
radix64.
- Added new common widget FriendSelectionWidget for selecting friends and use
it in CreateLobbyDialog,
ShareKey (forums and channels) and MessageComposer.
- Fixed german language.
- added retroshare certificate links: allows to paste certificates everywhere.
- added certificate links in friend recommandations
- added certificate cleaning method, to remove signatures at export
- improved chat lobby GUI
* added proper counting of peers in chat lobbies, using keep-alive
packets, time stamps, etc.
* Moved the chat lobby tabs to the FriendsDialog.
* Extracted a new widget ChatWidget for the basic chat handling from the
PopupChatDialog and use it in ChatLobbyDialog too.
* Added an own ui for the ChatLobbyDialog.
* Saved settings of the ChatLobbyDialog.
- Reworked SoundManager and SoundPage in the settings.
- Added new icon in the statusbar to switch off the sound
- Enabled Relays by default.
* This will only effect people who upgrade from a very old version.
* Other people will have to switch it on manually.
* Default is 0 friends, 1 FOF & 1 General @ 1kb/s... max 4kb/s usage per
peer.
- Disabled Thread debugging.
- Fixed up bdProxyId initialisation
- Improved Error Code translation (for unknown entries)
- cleaned up some of the std::cerr output.
- Changed parameters of RsStatus interface from "std::string" to "const
std::string&"
- Fixed german language.

- Added Native (Bonjour API) Nat Port Forwarding to OSX.


* new classe p3zcNatAssist
* moved some common ZeroConf functions / definitions around.
* moved virtual tick() to parent class: pqiNetAssist
* added zcNetAssist section to makefiles. (active for OSX build)
* setup switch between p3zcNatAssist & upnphandler in rsinit.cc

- Changes to support Relays.


* added p3BitDht::addKnownNode() so that DhtIds can be used instead of
SslIds.
*
switched from bdStdDht() functions to use bdModDht().
*
made DhtFunctions a class variable.
*
added function to modify NodePerBucket() parameter.
*
Bugfix for LinkType. peerConnectAddress.flags was not initialised.
*
Extra debugging of LinkType data (use LINKMGR_DEBUG_LINKTYPE).
*
cleaned up udprelay output.
*
Added Compile Rules to libretroshare.pro for building LocalNet Testing
Version. (testnetwork)
* Added NumQueryNodes() function to bdDhtFunctions.
* Switched bdquery.cc to use bdNumQueryNodes().
* Extended bdStdDht class to bdModDht to allow NodesPerBucket to be
modified.
* Fixed up Connection Fail Callback for Relay Servers.
* Added Extra debugging for Proxy Connections.
* disabled turtle routing for relayed connexions

- Added Chat Lobbies: decentalized anonymous chat rooms.


* Chat lobbies are private (on invitation only) or public (friends can
join)
* Bit of GUI to show lobby list, with one tab per active chat lobby
* Most fonctionality of chat are ported to lobbies including status
messages
* Internally to libretroshare, lobbies are virtual peers to talk to.
* Deriving a RsItem from ChatLobbyBouncingObject allows the item to be
bounced
to all peers in the lobby.
* Improved message splitting by adding sub item ids to lobby messages.
Should
be ported to normal chat in the next version.
* Added parent id to RsChatLobbyMsgItem, to allow threaded chat.
* List of public lobbies at friends are requested only when needed
* Major cleaning of p3chatservice.cc

- Added new entry in config->transfers to allow reserving n slots to non cache


transfers
- Add the ip address of the DNSResolver to the top of the list of the connect
addresses.
- Little design improvements for Plugin Item
- Added manual entry for plugins
- Added relay connexions (Note: There are still some service changes required
to
reduce the traffic over relays)
* Merging Dht Relay improvements into the trunk. These changes should
finally make relays functional.
* Changed the way proxy/relay peers are selected in bdConnection. (needs
more work).
* Added LinkType to peer info in p3LinkMgr & rspeers.h interface.
* Added getConnectionType() to p3PeerMgr. This defaults to FRIEND for the
moment.
* Provide information about Bandwidth, Transport and Peer Type via
LinkType().
* Added RateCap() to limit traffic over Relay connections.
* Set Internal Rate to 75% of Relay Limit to account for transport
overhead.
* Added various #include "util/rswin.h" to fix compile errors with standard
ssl package.
* Removed Local variables (mConnectProxyAddr, etc) which were hiding Class
Variables.
* Cleaned up bits in pqissl.cc and p3linkmgr.cc
* Increased UDP Relay Packet size (max transport of 1400 bytes per UDP
packet)
* Modified checkRelay() to use Low Pass Filter to calculate Relay
Bandwidth.
* Improved udprelay debugging.
* increased (x2) Relay Lifetimes - this is so that enough useful data can
be transported (1meg).
* Added LOCALNET_TESTING code to rsinit.cc. This allows Port Restrictions
to simulate firewalls.
* more debugging and minor bugfixes.

libbitdht
* added Relay Flags to bdNode::setNodeDhtMode()
* added dropRelayServers() / pingRelayServers() functions for mode switches
* added utility function: bdFriendList::findPeersWithFlags()
* added utility function: bdSpace::clean_node_flags(uint32_t flags)
* added RelayMode to ConnectManager.
* added failedConnection callback when in Server Mode.
* added incomplete udpproxylayer code. (not compiled)

libretroshare
* added RsPQIService to allow plugins based on peer-to-peer services
* added Configuration to p3BitDht for storing Relay Settings. (bit
Hackish!)
* added RelayHandler & getRelayReceiver() - to outsource some Relay
functions.
* + RelayHandler_InstallRelayConnection() &
RelayHandler_LogFailedProxyAttempt()
* added RelayServer, Mode and RelayAllowance to external DHT interface.
* added p3PeerMgr::getGpgId() for ZeroConf usage.
* updated parts of pqiassist virtual interfaces.
* added Bandwidth storage to udprelay.
* modified the way Relay Slots are allocated to match GUI interface.
* ZeroConf now working on OSX.
* added ZeroConf to OSX compilation.
* extended rsDht interface to expose Relay configuration.

retroshare-gui
* added Relay configuration panel.
- Added the real size of all files of a collection to the link when added with
drag and drop.
- ConnectionFriendWizard: Show the messagebox "Your Cert is copied to
Clipboard" after copying the cert into the clipboard.
- Removed "release" from the win32 build in retroshare-nogui.pro.
- Added retroshare-nogui to the subdir project.

- DHT (Merging r4705 through r4717 from retroshare/branches/v0.5-dhtmods)


* Switched on Local BadPeer DHT Filter.
- This will remove any peer detected to be spoofing yourself or your
friends.
- This list is also shared with you friends. (in Test Mode).
* Added Cleanup of BadPeer Filter.
- Instead of permanent ban, peers are be banned for 6 hours.
- bdManager periodically calls this - which prints out ban list too.
* Added Checks against spoofing to UdpStunner.
- Throw away Stun Results where remote_addr = reported ext_addr.
- Added extra checks to ensure that the same Ext IP is returned, before
reporting.
- accept BadPeer List from DHT BadPeer Detection.
* Changed BanList Service Id from Test ID to Real ID.

- Added new widget for hashing files.


- Added new common class FilesDefs to handle informations of file types like
icons and names.
- Removed calls to exit() in rsinit. Replaced them by proper return false
- Adjustment of some values for file transfer: some delays can be larger, now
that chunks are shared between sources. This makes file transfer more stable:
FT_TM_DOWNLOAD_TIMEOUT: 10 -> 20 secs (RTT limit of 10 secs is too low ->
transfers in long tunnels kept switching between active and inactive)
INACTIVE_CHUNKS_CHECK_DELAY: 60 -> 240 secs (Chunks are kept longer before
beign cancelled, which is now affordable)
MAX_TIME_INACTIVE_REQUEUED: 60 -> 120 secs.(Transfers a kept longer before
being re-prioritized in queue)

- DHT:
* Reduced Default DHT Message rate from 50msg/sec to 5msg/sec
(Searches now take longer, but it should make crappy firewalls happy.)
* Added Interface to allow this rate to be dynamically changed (no GUI
yet).
* Bugfixes for p3BanList: removed internal IPs from Lists, fixed
AddBanPeer() logic bug.
* Disabled p3Dsdv, after brief test.
* Added knowledge of Friends / FoFs and Relays to DHT.
* Added bdFriendList class to store this information.
* Added Checks against known Peer:IP information to detect bad peers.
* Bad Peer Checking is in Test Mode Only for the moment,
* New Interfaces to exchange above information with libretroshare
* Cleaned up various compiler warnings.
- GUI
* Added new button "Open Collection" in TransfersDialog.
* Show main window with click on system icon when the main window is
minimized.
* Beautified RsCollectionDialog.
* Fixed german language.
* Added new column "Last Contact" to the FriendsDialog and MessengerWindow.

Moved some more basic functions to FriendsList and optimized the


exisiting code.
* Added translation for plugins and added german language to LinksCloud.
Recompile needed.
* Changed the name and the description of the plugin to utf8.
* fixed download priority handling. Proof-tested on multiple DL from the
same peer.

- libretroshare Improvements:
* corrected disabled RequestdirDetails in FileIndexStore to be able to
retrieve root directory of a user ID
* removed dependency of mRateIncrease into measured rtt -> would cause very
slow transfers through long tunnels
* Removed compiler warnings.
* Added p3BanList Service and DataTypes to exchange Bad Peer information.
* Added Plumbing to get info from network to DHT and back.
* Supply Friend List from p3LinkMgr
* Supply Friend of Friend List from p3Disc.
* Added p3Dsdv Service and DataTypes for NetworkWide Routing (Testing
Mode).
* Various BugFixes.
* Patch Manual Forward mode to preserve user selected Port.

- implemented handling and creation of collection files


- improved computation of CRC32 maps (separate thread, cache keeping, sending
of keep-alive packets)
- fixed compilation of some tests in libretroshare/src/tests/ft/
- updated german language
- started implementing a file mapper to allow linear download of data with
automatic de-fragmentation (not enabled yet)

-
updated build scripts and .pro files forubuntu oneiric
-
fixed plugin system on windows.
-
updated french translation
-
Add the private chat message to the history after removing the private chat
queue (when the user has read the message).
- Added loading text to forumsdialog and enabled percentage numbers to be
shown also
- added display of TR forwarding probability as a function of depth.
- Moved the chat history into the libretroshare.
* Now the history is saved encrypted. Please delete all files with
"chat*.xml" in your profile folder.
* Added new config p3HistoryMgr and interface p3History.
* Added new option to limit the count of the saved history items.
* Added new simple html optimizer "RsHtml::optimizeHtml" to reduce the size
of the html strings.

- Changed default random number generator to use RAND_bytes from openssl.


- Updated random testing code and fixed compilation
- Fixed compilation on FreeBSD, and improved sorting on DHT window
(Patch from Ben Laurie)
- Added next unread button to forums (patch from devnewton #3401840)
- Fixed inaccurate text in transfer page
- Removed calls to rsfiles->get{Download,Partials}Directory() in RsDiscSpace
class, since it would trigger a call to ftController
- Changed names of functions in ftTransferModules to locked_* when appropriate

(helps debugging)
- Show the availability status of peers at the level of locations instead of
GPG
keys (patch from AsamK)
- Added paste of RS links to post on channels, and additional check that the
file
is actually shared.

- Stopping hash when a shared directory containing the file was removed
- Reworked the process of the RetroShare links. Now RetroShare asks when
adding a file or a person link and shows a detailed result.
- Merging distrib split into trunk, suppressed p3distrib in services
- Send msg in plain text when the html encoding does not change anything
into the message. This drastically reduces message s size
- Added missing status frame for idle.
- Merged QoS branch into trunk.
- Set own status initially to online
- Added double click to NetworkDialog to show the peer details
- Put some pqissl warnings in log file only in debug mode, since this is quite
CPU demanding
- Added new widget to display an avatar with or without the status frame -
AvatarWidget.
Changed all existing avatars to AvatarWidget.
- Added avatar image to ConfCertDialog (defnax).
- Added new class AvatarDefs to get the avatar for a ssl id or gpg id

- changed local root directory to be "My files" instead of SSLid


- set default of the signature checkbox in ConnectFriendWizard to disabled
- set the initial option for the download directory to network wide only
- set the default of a new shared directory to network wide
- added private groups option to forums
- Added a new checbox in the settings (NotifyPage) to enable/disable the
new SecurityItem. It is enabled by default, but all existing users need to
enable it.
- Added new buttons to SecurityItem to add/remove the peer and view peer
details.
- Added new call to notifyListChange with NOTIFY_LIST_FRIENDS in
AuthGPGimpl::AllowConnection.
- Fixed german language.
- Removed "location:" before the ssl name in FriendsDialog and
MessengerWindow.

* Bug fixes
- changed hash calculation of lobby connexion challenge to make it only usable
by the receiver
- Fixed handling of utf8 characters in lobby nick name.
- Fixed small bug in certificate correction
- Added Check for successful Req creation (was crashing with NULL pointer).
- Fixed echoes in chat lobbies
* added a time stamp to lobby events (new item tag)
* controlling time stamp of lobby msg and event: drop packets if time is
older than cache duration.
* moved connexion challenge code to lobby management loop
* added new type of lobby invite to handle connexion challenges and avoid
false invitations in the GUI

New lobby event format is not backward compatible -> "peer typing" and
"peer joined/left" will need
the new version. Messages are still compatible)

- Fixed crash when closing a chat window.


- Fixed Auto-Download Button
- Fixed wrong display of the news feed notify in FriendsDialog when the tabs
were moved.
- Another fix for the discovery fiasco... Turns out that I broke the system
with my previous changes.
* Allow certificates through with no attached GPG Certs.
* Added StoreAllKeys() call after adding new GPG Certificate.

- lobby participant list now updated when peers join/leave


- Added chat lobby privacy type to lobby invite => lobby type is propagated
correctly to friends that are invited.
- Bugfix for natassist (zeroconf returns 0.0.0.0:0 when its doesn't work).
- Logged IP Addresses for Failed incoming connections.
- Hacked IP address into the NewsFeed notifications (ugly).

- Attempts at fixing disconnections :)


* Added limit of 10kB for Certificate size. If it is bigger - discard
certificate.
* Remove certificates for slow / trickle connections (for Relay
connections).
* Disabled check for gpgcert text in p3disc.
* Disabled creation of GPG Cert in AuthGPG.
* Added extra error code to pqinetwork.
* Added DataRate accounting to Relay and Dht.
* Rates are exposed through rsDht.h interface.
* Added LastIncomingTS() to pqistreamer.
* Turned HeartBeat reset() into a warning.
* Added NoPacket in 60 sec reset().
* Minor typos/errors corrected.

- Fixed message reply and forward. The new lines were removed falsely.
- Improved logging of Connection Behaviours.
- Added history for chat lobbies and disabled it until the lobbies are saved.
- Added check in cachestrapper to see if a duplicate cache has been requested.
In this case, don't cancel the old one - just keep going!

- Added the size of the collection to the link only for files (missing test)
- Show the correct name in the title of the RsCollectionDialog when the
filename contains ".".
- Fixed creating of the download path of the collection when running as
portable version.

- 2 bug fixes (by AsamK) to make rscollection files compatible with utf8
- fixed bug asking data to deleted mTransfer

- bug in CRC32 map cross-checking: only downloaded chunks would be checked.


- fixed bug in file transfer re-allocating a local variable

- removed delay in file checking that would cause excessively long file update
cycle
- implemented slice sharing between peers.
- Replaced spaces with %20 in RetroShare links.
- obfuscation of TR and SR by random rare non-increase of length 1 requests
(original idea by Costa)
- layout changes for PluginItem, fixed qrc resource load in plugins.

- corrected bug about wrong layout of friend list (patch from asamK)
- corrected bug that would allow a direct friend to DL a file that is
NETWORK_WIDE only, using direct transfer

- fixed issue of loading the correct instance of RetroShare.conf when


switching
locations (Patch from AsamK #3423256)
- fixed utf8 issues (umlauts in the Windows user name, search string with
utf8,
location names, links from browser, history manager)
- fixed update of friend status in chat window
- fixed bug with anonymous channels asking for friends to be sources
- fixed link passed issue due to usin self-closign links (Patch from Asamk
#3418941)
- fixed display of filename when an upload is a partially downloaded file
- removed early pruning of TR which was preventing any TR to go beyond the
limit
in case of heavy traffic. Pruning now applied probabilitically at end of
loop.

- fixed missing TCP connection call - when peer is found on the DHT.
* save IP address for DHT display.
* store Action in action Queue (the BUG).
- fixed sorting of transfer by priority
- fixed utf8 issues in sending cert by email (patch from asamK #3393826)
- added a lock into ftTransferModule::recvFileData() (Crash reported by Costa
of data race due to storing data in a deleted transfer module)
- Added chunk splitting in case part of the file transfer data does not come.
Added strategy to ask again for missing data. The combination of these two
cannot
result into an infinite loop (as before)

- Fixed bug fue to deleting ftFileCreator used by datamultiplex before


asking datamultiplex to remove it!
- Fixed crash in pqiSSLstore::readPkt() when rsSerialiser->deserialise()
returns NULL
- Added auto-split of long private messages, and re-combination of partial
messages on
client side. Corrects the bug causing disconnection when sending messages of
side
larger than the maximum packet size
- Patch from AsamK to fix up crash at startup due to a missing else in config
load

- fixed up color codes for qt 4.7 in NetworkGraph (bug in qt::lighter())


- corrected a few bugs in the cert cleaning method.
- corrected several utf8 issues (for peer names, in private chat and file
list, and search)
- fixed time display in security item
- removed potential mem leak with p3distrib group edit
- Added check for administrator rights to add/remove the retroshare://
protocol.

Changes for v0.5.2a

* Improvements

- Plugin system
* Added configuration saving for plugin manager and serialization methods
* added a list of accepted plugin hashes
* added plugin widget for each plugin in settings, to allow
enabling/disabling plugins
* updated LinkCloud plugin to new rsPlugin class
* put the addconfiguration for plugin manager in rsinit.cc a bit earlier to
allow to load
the list of accepted hashes early enough
* added icon for disabled plugins
* added missing Q_INIT_RESOURCE call to get the plugins icon loading
correctly

- GUI
* Fixed an error when cancel the login password dialog at startup, the
password dialog can be canceled.
* Fixed layout in GeneralPage under Windows (there are three additional
checkboxes).
* Applied patch to enable the sort of the columns star and unread in
messages (from AsamK)
* Added missing "FORWARDED_PORT" case to natstatus
* updated Dht and Nat Indicators to accurately reflect Network status.
Roughly:
- DHT. Off: gray, ERROR: red, NO RS PEERS: yellow, GOOD:
green.
- NAT. Offline: gray, BAD NET: red, NO DHT, or FIREWALLED: yellow, GOOD:
green
* added Advanced mode to the GUI
- Switched ServerPage to use netMode, rather than tryNetMode. This fixes
the Network Status.
- Added "Advanced Mode" to Settings GeneralPage.
- Store / Set Advanced Mode via rsConfig::get/setConfigurationOptions.
- removed %0D%0A from Linux / OSX emails - made it Windows Only.
- updated GetStartedDialog text.
- disable GetStartedDialog is AdvancedMode is set.
- Enabled buttons for "Invite Friends" and "Add Friend". Linked to Email
Invite, and Connect Friend Wizard.
- Switched out FAQ for links to website, and email support buttons.
* Added Basic Dht Details Window to Retroshare GUI.
- created gui/dht/DhtWindow class.
- brought across the basic structure from PeerNetQt... will be a
condensed version of that GUI.
- added to status Menu.
- enabled via #define USE_DHTWINDOW (which is defined! in MainWindow at
the moment).
- Dht Details only displays Dht Peers at the moment.
* Net, Dht and Configuration changes.
- set PortForward in NetStateBox when the Network has been setup.
- add GeneralConfig to rsConfig external interface.
- enabled ADVANCED configuration option.
* Addition of a "Getting Started Guide".
* Optimized layout of the SubFileItem.
* Optimized layout of the private chat window.
* Show the cancel button only when downloading or when used in
CreateChannelMsg.
* Fixed layout problem (vertical scrollbar) in ChannelFeed.
* Added a new image to the private chat window to set the window always on
top.
* Indent text of the channel message and set it to selectable.
* Removed the single notify systray icon (combined icon) and combined it
with the
normal RetroShare systray icon. The user can choose, which notify icon is
shown as
single icon in systray or with the normal RetroShare icon.

- Key mamagement
* added a signature add/remove button in connect wizard, only when gpgme-
1.3.1 or greater is used,
based on the availability of the GPGME_EXPORT_MODE_MINIMAL option.

- Connectivity
* Added Second Queue, to check if connections are actually valid before
installing.
* Added Check of Time for main Core Cycle.
* Fixed Bug in choosing port for Proxy UDP. Chooses a Random one between
30000-50000.
* Added Address update from p3NetMgr => p3PeerMgr, when external address
has been determined.
* Simplification of p3ConnectMgr => p3LinkMgr, p3PeerMgr & p3NetMgr.
- p3peermgr now uses RS_NET_MODE_XXXX instead of RS_NET_MODE_TRY_XXXX
- p3netmgr maintains both TRY and ACTUAL mode (not visible through old
interface -- TO FIX)
- added default to UPNP mode.
* Increased TCP WAIT time to allow external port to stabilize.
* Improvements to tcponudp library to allow multiple UdpStacks / ports,
with alternative receivers.
* Improved a lot UDP Connection Code
- Increased Timeout Periods for UDP connections - this was stopping half
of them from succeeding.
- Export UDP Addresses to DhtWindow.
- disabled DIRECT UDP connections (Not always stable, especially if you
are firewalled, and not
needed as a TCP connection can be made!)
- Added DropPeers() as NON-ACTIVE (this allows peers which aren't
VISIBLE to still try and connect)
- Resurrected the UdpStunner code, and improved it.
- Added UdpRelay code.
- Modified startup code and ssludp code to use the new tcponudp and add
a stunner.
* Added notifications of Failed Connection Attempts in both ways

- Services
* Fixed the sending of outgoing messages.
* Refactored p3chatservice move avatar declaration to p3chat header and
encapsulating config methods
* added www.myip.dk, and removed showmyip.org address from extaddrfinder

- Internationalization
* Fixed german language.
* Changed the generation of the gpg key and location to utf8.

- DHT
* Added Bloom filter to speed up finding RS peers in DHT.
* Added External DHT Interface to display Connection Information.
* extended p3bitdht to provide RsDht interface. (p3bitdht_interface.cc)
* Switched on Dht "Attach" Mode if RS is firewalled. (and not nice
firewall).
* Added interfaces to enable AttachMode switch.
* Updated bdboot file.

- Tests
* Restored and improved regression test for tcponudp
* Added another Test UdpLayer: TimedUdpLayer, This simulates the firewalled
situation, by
only accepting packets after 60 seconds.
* Added quick and dirty BitDht Packet check. test against "d1:" for the
first 3 bytes. This should
not conflict with Stun, Relay or TOU packets.

- packaging
* Added win32 build bat for libbitdht

* Bug fixes
- Fixed "double-click" chat startup bug, the gpgOnly flag was incorrectly set
false.
- Removed popup window for file copy error, and redirected the message to
std::cerr, to save users.
- Set maximum port value to 65535 instead of old arbitrary value of 50000, and
warned about
system-reserved ports in server settings gui enabled sorting and added dht
icon for the window
- Fixed bug in dnsresolver reset function
- Silly Bug, overwritten the mConnectFlag with the Bandwidth parameter.
- Added missing mutex protection that caused random SIGSEGV in p3disc
- Corrected a bug due to reading uint64_t with wrong format on some systems,
which caused the hash cache to sometime fail
- Fixed bug for 'copy error' and losing cache data conflict in unix and
windows style directory
names led to cleaning of remote and local directories in
Cachestrapper::loadlist()
- Bugfixes to serialization
* print out messages when serialisation fails.
* removed BUG in TlvGetString() which allows a zero length TLV
- Fixed startup bug (loops into FAILURE)
- Fixed buggy rs_inet_ntoa
- Fixed a bunch of apple gcc warnings. mainly for(;;); => for(;;) ;
- Stops loading of a cache in p3GroupDistrib::loadFileMsgs on shutdown of
RetroShare.
- Fixed early initialization of QIcon in LinksCloud plugin
- Fixed duplicate msgs found between cachefile being formed (caused by not
marking cache opt loaded files as local or not)
also missing own-msgs bug caused by not accounting for msgs created by users
- Added a name to the RsMutex class, allowing debugging of the waiting time
for a lock of RsMutex in
rsthreads.h with #define RSMUTEX_DEBUG 300. That means all locks waiting
longer than 300ms are logged into the stderr.
- Added missing notify when sending a message to an offline user.
- DHT code:
* fixed up buggy overloading for the udplayer (for testing).
* added processing multiple (5) remote processes per tick
* removed unused variables from query data structure.
* #defined out debugging in bdSpace, removed old functions.
* More agressive attempts to find proxies for connections.
* made "final query attempt" use exact peer address rather than midid.
* tweaked bdconnection debugging.
* increase CONNECTION_MAX_TIMEOUT from 30 => 45. wasn't enough!
* Limited bdQuery::QueryIdlePeriod to 15min (was unlimited).
* added bdQuery::PotentialPeer cleanup functions - for more robust
reporting.
* fixed bdQuery debugging printouts.
* Implemented BITDHT_QFLAGS_UPDATES flag.
- TcoOnUdp code:
* Reduce Maximum Transmission size from 1500 -> 1000. This is the cause of
Failed Connections.
It looks like UDP packets are being truncated from 1520 -> 1492 bytes,
and this is killing the

Changes for v0.5.1d

* Found the CacheTransfer Killing Bug... misplaced brackets!


* fixed a bug in pqissl and pqistreamer. The 2nd one was responsible for
disconnections and errors in GetTlvString type
* Fixed the Missing Cache File bug.
* Added Old Cache Storage... so these can be retrieved.
* Connected up the CancelCacheFile() -> FileCancel.
* Removed ipaddr = 1 bug
* added #ifdefs to remove debugging output in p3BitDht.
* corrected uninitialized value
* made "." be a plugin directory for debugging only
* corrected display of uploaded size
* made search case insentitive, by default
* made the default behavior for multiple keywords search to eb an AND between
keywords (emule style)
* Fixed html title bug in the forum message when answering to a message in
ForumMsgItem.
* Fixed enabled sate of the new message buton in ForumsDialog.
* moved Plugins page little bit to the top of the settings
* PluginManager:
* Fixed compile under Windows.
* Removed CloseHandle of GetModuleHandle.
* Added missing return when the function entry of the plugin is NULL.
* Fixed checking for the extension ".dll".
* Fixed reaction of the checkbox "web of trust". Now the list of unvalid gpg keys
is shown or hide directly after the click.
* Fixed calculation of the unread messages in MessagesDialog. The starred messages
was not counted as unread.
* Set some tree widgets to allColumnsShowFocus.
* added settings page for plugins.
* fixed LinksCloud Plugin
* fixed plugin .pri file for windows and ubuntu
* added dlopen method for windows. To be tested.
* Added basic infrastructure to plugin system in libretroshare and retroshare-gui.
* ported LinksCloud to a new plugin, and removed it from main sources
* Made the hash-cache more compliant with mounted/network drives:
* corrected bug that would wipe out the cache file every other start
* missing root directories are not discarded anymore, but kept empty, unless the
user really removes them
* Reworked settings dialog:
* The settings page loads the data with the first show. The dialog now starts
faster.
* Cleaned DirectoriesPage, removed the directory list and save the data with the
OK button.
* Automatic add the recommended friend(s) as CC in the MessageComposer.
* Fixed crash in ForumsDialog (second try).
* Added a "return" if QTreeWidgetItem = NULL, to stop crash.
* Fixed crash in ForumsDialog (hopefully)
* send plain text message instead of html, when the text contains no html
specifics.
* enabled new Spanish translation
* Fixed refill of the threads tree after receiving a new message.
* Now the new message is expanded.
* Moved the fill function of the ForumsDialog to a QThread.
* Fixed memory leak of the fill thread of the history browser.
* cleaned display of TR statistics
* Optimized the functions for the forum messages.
- used "const std::string&" for the parameters
- used "std::map" for the read status
- removed useless variables
* Added new define DEBUG_FORUMS in ForumsDialog.cpp.
* Added function to generate mass data for the forum messages.
* Fixed german language for the FriendsDialog.
* Added a placeholder text to the message list in the MessagesDialog (currently
used when Starred is selected).
* Connected the menu actions reply, reply all and forward in MessagesDialog. Now
they work again.
* Added missing Q_OBJECT to TreeStyle_RDM and fixed translation.
* MessagesDialog:
- Renamed "Favorite Tags" to "Quick View".
- Added the quick view "Starred" to the list to show all messages signed with a
star.
* Redesigned the MessagesDialog to open the message in a new tab or new window for
reading.
* The MessageComposer is now only for writing a new message or editing a message
from the draft box.
* Added a new setting to the MessagePage.
* Added a second tab for Router Statistics
* renamed Tunneling to Router Requests
* added missing info for search depths
* improved tunnel statistics gui
* moved TR filtering to beginning of TR handlign function. Makes it more consistent
w.t.r. the displayed turtle statistics
* added automatic limitation of turtle search and turtle tunnel requests as a
function of current traffic
* added additional statistics from turtle router.
* Moved the star to the first column in MessagesDialog.
* Fixed debug output in FriendsDialog.
* Show the selected tag in the tab title in MessagesDialog.
* Included patch to compile on OpenSUSE 11.4 (from AsamK)
* Added a star column for messages.
* added a display of turtle search/tunnel requests over time, to help spotting
potential spammers
* Added to sort by Age when one day, one week or one month is selected
* Fixed compile Problems on Ubuntu LTS
* Added tags to the MessageComposer.
* Added context menu to contact list in MessageComposer.
* Show the RetroShare id of the peer and the signers of the key in ConfCertDialog
as clickable links.
* Disabled the CACHE_OPT code, until the duplicate cache entries is fixed.
* re-worked printcache to analyse a large batch of cache files.
* Added "Copy RetroShare Link" of the selected peer in PeersDialog and
NetworkDialog.
* Removed the + button in channels and forums and moved the post button to the
right side.
* Added tooltip's for Messages columns
* Added word wrap to the title of the thread and the subject of the message to
avoid the stretch of the splitter.
* Changed style sheet of the tags in MessageDialog to gradient color.
* Added a new button in the forums dialog to download all links in the selected
forum message.
* Fixed style sheet of auto download button in channels.
* Removed the difference of the separator for Linux and Windows.
* Removed extra "/" of the filename (e.g. "E://") of the hashed file when sharing a
whole drive.
* fixed bug related to opening cache hist file in text mode for windows
* added cleaning of cipher context to authssl encrypt decrypt functions
* added header to trustview which caused compilation error
* Fixed drag and drop of files to a forum message with utf8 chars.
* Fixed recommend friend.
* fixed the layout of ForumMsgItem
* added to RetroShare Help page new commands entry for "-r retroshare://..."
* Fixed some more utf8 handling in the GUI.
* Optimized creation of the RetroShare links for forum and channel messages.
* added history cache optimisation to subscribed/client groups.
* added couple more ifdefines to remove cache opt code.
* fixed ForumsMsgItem to not stretch the widget
* Added new RetroShare link format to write a message
* retroshare://message?id=...[&subject=...]
* Added clickable links in ForumMsgItem for the signer of the message to start the
MessageComposer.
* Fixed creation of the RetroShare links as anchor.
* Corrected bugs in chat:
- sending large messages now works, thanks to RsChatMsgItem splitting (not 100%
backward compatible, but avoids crashing)
- removed crash due to dynamic_cast onto a deleted pointer.
* Enabled on Private Chat to display for the status string smileys, when there is
smiley codes used.
* Added new RetroShare link format to start a search retroshare://search?
keywords=...
* Enabled key "delete" to remove search results.
* Removed the GoTo buttons from the feeds and added clickable links.
* Enabled space to switch the read state in MessagesDialog and ForumsDialog.
* Added the name and location to the title of the MainWindow.
* Get the name and location for the window tile and tray tooltip only once at
start.
* Added title to the RetroShare file links shown as toolhelp "hash (size)".
* added script to gather statistics from ppa repository
* suppressed channel source ID from the file source peer list
* updated base resolution of RS icon to 48x48
* Enabled drag and drop in ShareManager to add folders to the share.
* improved strategy of cleaning unfinished cache transfers
* fixed display inconsistency in tunnel local src/dst when getPeerDetails() call
fails
* always set location for connected peer. Previous settign was causing blank
location display

Changes for v0.5.1c

* added print-cache code to the tests suite


* Added new RetroShare link formats:
- retroshare://forum?
- retroshare://channel?...
* Added "Go to" from the news feed of forums and channels.
* Added "Copy RetroShare Link" to the forum/channel tree and messagees.
* Fixed style sheet of the auto download button in ChannelFeed.
* Fixed wrong size of the transfered link from the command line in EventReceiver.
* changed policy for canceling cache files: only inactive transfers get canceled
now.
* used tr1::unordered_set instead of std::set to store pointer checking list, as it
is more efficients for lookups
* Adding a link from the browser now starts RetroShare when it is not running.
* Added handling of RetroShare protocol under Windows.
* Added new command line parameter "-r retroshare://..." for adding links to the
registered running RetroShare.
* attempt at making remoteDirModel less CPU intentive. Remove potential deadlock
source in SearchDialog.
* removed potential seg fault with decrypting cache file
* implemented a verification for tunnel results.
- When the network gets heavily loaded, some tunnel results happen to get back
twice.
- This stops the tunnel result sibblings
* fixed cache opt bug related to new msg notice being flagged up for historical
msgs
* New dialog for defining own colors for the private chat window.
* enabled file preview again for non windows users, using a direct call to the file
in partials
* added logic to deal with case where auto dl has been disabled then re-enabled
after a manual download
* for each channel msg post download request is now only called once.
* fast simplification of code in pqistreamer, and added a missing =null in
p3service that could cause a bug
* Removed automatic cleaning of the certificate in
p3Peers::loadDetailsFromStringCert.
* Added new button in ConnectFriendWizard for cleaning the certificate.
* Fixed cleaning:
- added blank line after the armor header
- moved the checksum to a new line
* auto download option:
- ability to enable and disable channels auto dl added
- added gui update to channel feed
* reduced path to only parent directory, to make cost tractable
* added random bias to search and tunnel request maximum depth
* added random (and biased) re-routing of tunnel request to improve tunnel length.
* added a column for directory in flat view of shared files
* made sign GPG key button disabled by default, and added a tooltip. As this action
cannot be undone,it must be performed knowingly.
* Fixed Q_ASSERT in SharedFilesDialog on Windows.
* Load and save the view type (flat or tree) in SharedFilesDialog.
* fix the msg download problem
* part of code the disable auto download for channels
* Fixed problem with utf characters in the %APPDATA% path on Windows.
* made FileEntry derive from SmallObject class, to improve memory cache efficiency
(50% time gained)
* added some optimization to RequestDirDetails internal functions
* improved sorting/selection in shared files flat mode
* Fixed crash on shutdown of RetroShare, when the cache loading is running.
- Now the p3distrib threads are stopped before the instance of AuthGPG is
deleted.
* fixed some stylesheets to use gradients instead of a background images, to solve
some problems
* implemented an optional flat view for shared files that allows sorting by
date/peer/name
* restored the search for flat view only (very slow for tree view)
* cleaned the code a bit: made two subclasses of RetroshareDirModel: TreeStyle_RDM
and FlatStyle_RDM
* turned some uint32_t into int, for file watch period (did not produce a bug, but
was still incorrect)
* added a missing pthread_join in file checking, that eventually caused a leak of
thread resources
* changed the order of check in tick() to allow cancelling a file that is being
checked
* removed the hash step from mutex protection
* added error message when thread creation fails
* made sign GPG key checkbox unchecked by default
* made current index be 0 for showing uploads by default
* added a checkbox in settings for tuning auto-check of shared directories
* Saved the visible state of the avatar picture in private chat for the friend.
* Added parameter to RSettingsWin::showYourself to show the options with a specific
page for news feed.
* added tooltip for systray to display nickname and location
* Show last error (GetLastError) in log when lock file cannot be accessed on
Windows.
* fixed file leak in history cache opt
* added main parts of history cache optimisation. disabled at the moment (has file
leakage)
* check-pointing work essentially, but in principle working,
* added lockfile path info to the multiple-instances warning window in rs-
* attempt to make GPG errors more verbose at cert exchange time
* implemented a backward compatible fix for bug when searching (advanced) with max
size larger than 2Gb
* implemented a better management of tunnel requests
* Added a basic description of the chat style.
* disabled the default context menus for the QToolBar's
* Share the download directory by default.
* Removed member ftController::mShareDownloadDir and calculate the value from the
shared directories.
* Combined the two methods for share and unshare of the download dir.
* Added share incoming directory to the QuickStartWizard.
* Translate QuickStartWizard, GenCertDialog and StartDialog into german.
* Fixed tab order of the upload and download settings in QuickStartWizard.
* Fixed utf8 issues when the partial or the download dir is set to a utf8 dir.
* Use the native dialog for selecting the shared folder.
* Messages with plain text (like the welcome message) are shown correctly.
* added missign destructors, causing some parasitic memory leaks

Changes for v0.5.1b

* Added missing return... which was crashing OSX during directory creation.
* fixed a toolbar icon to display with a correct size on macosx
* The working (hashing) thread FileIndexMonitor is now stopped when RetroShare is
closed.
* Removed tab focus from the toolbar and image buttons.
* Fixd german translation.
* supressed memory leak due to not deleting a RsItem
* suppressed potential SIGSEGV as exit time
* suppressed memory leak in GUI
* Added a confirm to the delete history action.
* Added the RetroShare icon to the password input window.
* fixed soem other potential SIGSEGVs
* fixed potential SIGSEGV because of not checking returned pointer

Changes for v0.5.1a

New features (DHT, Channels, Network View)


Improved stability w.r.t. previous version 0.5.0g"
Added lots of improvements, check for details svn log entrys

Changes for v0.5.0g

* corrected a bug that caused file copy error: a closeFile() was missing when the
file is complete.

Changes for v0.5.0f

* restored the retroshare-nogui executable


* bug corrections in cachestrapper
* bug corrections in RsTunnelItem and p3tunnel
* better error handling in rstunnelitem on windows
* removed deadlock in data multiplex
* improved p3disc info update

Changes for v0.5.0e

* Made a pass on the code in p3disc.

* Corrected some bugs:


- suppressed an unwanted return in packet treatment
- prevented sending info to a peer about itself
- changed askInfoToAllPeers() such as not to discard info from peers with
NODISC flag (because we especially need info for these)
- enabled receiving p3disc info even if p3discovery is disabled. Indeed,
disabeling p3disc is a measure of protection, so it should limit the
export of p3disc info, not the import.
- removed test discarding info about dummy friends, because it is useless
- don't discard info about peers that have the NODISC flag (meaning that we
especially need info for them)
- added safety check about received GPG keys. Before we relied on this test
being performed by p3ConnMgr::addFriend()
- added some debug info

* put correct (i.e. non conservative) size for RsDiscReply packets

* corrected bug in rsdiscitem that prevented RsDiscReply packets to transfer cp


serialiser/rsdiscitems.cc

* switched ip addr finder to on by default (users seem to request it, and its not
harmful)

* automatic removal of file lists from deleted peers, at restart (After double
check that this does not alter exchange of file lists in any way)

* set heartbeat values to intermediate value

* added verification for file size computation (bug correction)

* augmented the heartbeat parameters, to reduce the stress on connections. Seems to


help a lot when the traffic is high.

Changes for v0.5.0d

Package improvements:

* suppressed package dependency on gpg-agent

Improvements:

* implemented a free disk space checking method, with a warning when running low
* fixed proper sorting/updating of IP lists.
* only keep the most recent port for identical ips.
* don't start when the local address+port are already in use to avoid corrupting
file lists, config files etc
* added failure tests for fwrite
* added tests against wrong ip 1.0.0.0 on MacOS

Major bug corrections:

* added missing locks in search requests into fimonitor.cc


* Suppressed the possibility for browsable only files to be searched by hash from
turtle router.
* cleaned up some deadly code in rsdiscitems.cc, causing crashes
* improved the security of size determination for file lists, that caused a chain
reaction ending in crash at clients.
* added missign lock in ftcontroller

Minor bug corrections:


* added a check to avoid (possibly rare) data races in data multiplex
* suppressed double click action for download in Shared File lists

Changes for v0.5.0c

* Fixes two problems in the current group chat:


- the parser fails to embed two links in the same sentence
- the parser can potentially put smileys in the middle of <a> tags
Solution:
Since the message is in HTML, it is parsed into a DOM tree, then that DOM tree
is traversed and only the text nodes are parsed (see HandleRichText.cpp for
details).
Bonus fixes:
- missing std:: for endl (which was falling back to its Qt counterpart)
- commenting useless code in PeersDialog::smileyWidgetgroupchat()
- replacing int by size_t
- RetroShare.pro now queries gpgme-config for its include path
* fixed Memory leaks:
- getLocalInterfaces -> iptable = (MIB_IPADDRTABLE *) malloc(dwSize);
- main -> RshareSettings *_settings = new RshareSettings();
- ExtAddrFinder::~ExtAddrFinder - use free for pointer allocated with malloc
* fixed RetroShare stopped responding during signing a key and asking for
password.
- The QSingleShotTimer of ConfCertDialog wants to update the gui and stopped
in PeerItem::updateItem.
* fixed chat bug that was truncating some messages, due to using a uint16_t to
store a local size. Totally backward compatible.
* fixed crash with second open of HelpDialog solved
* implemented a short circuit to local cache transfers.
- This saves a large number of file descriptors, and improves reactivity of the
software

Changes for v0.5.0b

* suppressed unused files


* added a checkpoint to file hashing, to save intermediate results every 10 GB
* corrected memory leak in p3disc heart-beat system.
* correct bug with selection with human readable delegate.
* fixed the sorting of SearchDialog by age and by size, by using proper delegates
for displaying the numbers.
* Removed the SR_REALSIZE_COL column, that is no longer necessary.
* improved readability of cert generation dialog. Added tooltips, information, and
wait cursor
* corrected bug in search: files with size > 2Gb would not be added to transfers
* corrected bug about persistence of default chunk strategy
* fix a gui bug
* The settings in the settings window are only loaded once.
* Saving the settings without changing the network settings doesn't shutdown the
connections
* Forwarding a message keep the attached recommended files
- starting with ssl_id which has saved pword, and switching ids at start dialog
- secondary id may or may not have saved pword.
* added check for the result of fscanf
* fixed compatibility issue with dyndns patch
* Ported trunk commit 2780: Set the trust lvl to 3 when accepting a friend and the
trust lvl is unknown.
* Removed some potentially harmful (deadlock) code.
* Put some printf into debugging #ifdef
* Bug fix: Checkbox for automatic share of the incoming directory doesn't correctly
set with setDown, use setChecked
* ShareManager and RSettingsWin doesn't need to be created all the time
* RSettingsWin: Save the last active page for the current runtime
* ShareManager and DirectoryPage: Show changed shared directories direct after the
change

Changes for v0.5.0a

* Bug fix: Checkbox for automatic share of the incoming directory doesn't correctly
set with setDown, use setChecked
* ShareManager and RSettingsWin doesn't need to be created all the time
* RSettingsWin: Save the last active page for the current runtime
* ShareManager and DirectoryPage: Show changed shared directories direct after the
change
* corrected handling of null strings in RsTlvBase::GetTlvString()
* suppressed uninitialized memory read
* added security check against malformed packets
* added a security check to avoid core dump when a bad p3discReply packet is
received
* corrected other mismatched free/delete in avatar items
* corrected mismatched free/delete in avatar items. Might have caused random
crashes.
* removed double definition of fingerprint
* Fixed deadlock when asking for GPG passwd with gpg callback during session.
* Added a method lockAllEvents()/unlockAllEvents() to remove timer updates in
RsAutoUpdatePage
* Updated passwd message to be more user-friendly
* removed some warnings in authgpg.cc
* added commandline option '-U' to allow user to access different profile
- in the situation where autologin is enabled
- BUG found (or rather autologin induced it), if one asks to make friends to a
peer (in ConfCertDialog) 'within' a session that uses autologin it freezes
* add the internal counter mutex lock. Move the code of the rw mutec to the
rsthreads.cc file
* fix a code bug
* add a read / write lock and refactor authgpg with it
* Fix a bug when adding a cert
* Fixed new message string
* added gpg initialization for autologin
- your friends are not authenticated if not
* Added support for Auto-login
- Using rc4 to store ssl pword on file for linux, for windows already using
cryptprotect
- yes its not safe, but its the user's choice to keep pword or not
- consider using method closely hooked to linux kernel (another layer of
obfuscation)
- windows i believe is stronger (because its proprietary/ heavily obfuscated)
- added checkbox in start dialog including warning (autologin not safe)
- added check box in gen setting to disable autologin on shutdown
* block the notify callback of authgpg when the main windows is launched

Changes for v0.5.0

* corrected small bug in max search determination


* Fixed translations on StatusBar display.
* added a state message for examining files.
* suppressed bug in settings
* cleaned the code and debugged the icons
* suppressed notify callback in main thread, resulting in deadlock, and explicitely
askes for queued message passing for notifyError
* bug fixed for deleting selected messages
* change the timings and add some randomness for tcp connections
* corrected one nasty bug due to missing return
* added security to fd management, corrected bug causing bad fseeks
* suppressed some uninitialized memory reads
* made the key font Courier New to allow fixed-size display (makes the key much
more readable)
* suppressed uninitialized memory read in file transfer, also made the
TransferDialog more secure
* reset only ComboBox when close all search results
* Fixed to display Dir Count in search
* fixed to display Certificate in CryptoPage userfriendly
* restored the courier new font, to allow the user to quickly vizualize errors in
the keys (and to make the display less messy)
* fixed open file, removed file action menu (already handled by the system)
* fixed the update of message icon when there is a new message
* fixed: enabled translation for Hide/Expand Button in Messages
* cleaned some debug text, suppressed a few memory leaks
* suppressed some memory leaks due to bad use of QMenu
* fixed Folder Age with min_age
* Change the status bar network display
* add the ability to copy file details text

Changes for v0.5.0 alpha 2

* fixed a bug in download queue when ticking inactive files. Added a checkbox for
showing cache transfers. Cleaned the dialog cleaning method.
* suppresed bad lookup in _queue causing SIGV
* utf8 fix
* fixed RS link clipboard so that links can be imported/exported from both RS and
the application clipboard.
* cleaned the config->Transfers tab, made the default chunk strategy combobox
effective.
* fixed copy/paste of RS links in public and private chat
* cleaned the code for anchorClick() in private chat
* added return false for FileRequest of already have files
* suppressed sources when the file is complete, in TransfersDialog.
* added info and consistency for gpg sign and trust signification
* added proper close for file transfers. This drops down the number of FDs from 250
to ... 50 svn status
* added missing locks, that caused random crashes
* improve the recieving of bad gpg keys
* fixed RS link copy/paste from shared/search to transfers/forums/messages
* increase udp ttl
* fixed queue menu to work on multiple languages
* change ssl binary encryption to aes debug code
* change ssl binary encryption to aes
* lower connection attempt timings
* moved removal of sources off turtle mutex to avoid cross-lock. Added a
closeFile() call when moving files out of the queue
* fixed to get work again Chinese language , and load now Qt translations for
widgets
* bug correction: avoid reading deleted pointers by moving saveDone() after the
next line
* added paste multiple links
* added Timestamps for forum message feeds to know the date for each Forum Message.
* cleaned the RS link code, factorized the parsing into a single class.
* fix a bug in the double file configuration loading
* Fixed config forward compatibility problem
- note to self: C++ binary file not same as C binary file
* fixed sharemanager closing
* fixed to enable translation suppor for Trustview strings
* added for Queue actions own icons
* clean up languages and corrected few languages
* added proper dynamic suppression of sources from chunkmap, and updated the gui
* suppressed bug in dynamic removal of sources. suppressed bug in string search.
Suppressed some warnings.
* added to show bytes and formates size FileTranferInfoWidget
* suppressed debug msg
* Added proper dl queue behavior
- suppressed old DwlQueue class
- turned mDownloads into a list of pointers to allow easy cross-info update
between queue and std::map of downloads
- added queue functionality for moving files top/bottom/up/down
- added the necessary functions in rsFiles
* reengineered the network dialog insert connect method
* small design change of confcertdialog
* restrain ip list exchange in an attempt for bug solving
* small update of connct mgr and ssl connection
* added Popularity view as icons to display for each channel
* fixed to display pasted plaintext retroshare link in public chat in html format
to get click able.
* added Copy link as html format
* fixed to get click able the retroshare links in privat chat
* fixed only show a new message icon on tray when its a inbox message
* small change in ext address detection
* Added new 2-pass save method to configuration management
- essentially if any part of the file saving procedure fails, there should be
config files whose signatures/hash match up
* set a item foreground color for Inbox when get a new message, set gridsize for
listwidget to 18
* disable the extract failed certificate
* make the gpg key list reading a little more error proof
* change the pointer offset cast
* added Download Time column to Downloads
* added to DetailsDialog Download Time label
* added formating the filesize's for FileTransferInfoWidget
* suppressed bug in file transfer while removing inactive chunks.
* added initialisation of gpgmeKeySelected.
* suppressed deadlock (mutex explicitely locked before thread exit)
* Fixed to get again gui resize able , search not allowed more to set gui to a
minimum size.
* color adjustement for the network dialog
* cleaned some memory leak in search, added 2 checkboxes for F2F and friend lists,
made the "include own files" work properly
* put the max result test at a more appropriate place in the code
* fixed display of uploads tunnels
* fixed trayicon tooltip
* added change trayicon when get a new message, added change trust icons when trust
is changed
* added a spacer when counting Messages
* added to installer to install gpg4win
* change the color of peer display
* change the button at the end the the connect friend wizard dialog
* small fix on gencert dialog
* small fix xhen loading detail from a string cert
* change the gpg key list display
* add own ip addresses list to profile widget
* cleaned the code in fimonitor, modified the order of file hashing, and put a more
explicit progress message while hashing.
* connect PrintButton when not use the menu
* disable the ssl cert config persistance
* changed add friend icon
* small bug correction in display of unknown hashes
* added a spinbox to limit the number of search results (too many results may hang
the gui)
* add the tunnel config to server tab, and activate the tunnel on fresh configs
* reimplemented the tunnel handshake
* update implemention for new ssl encryption
* remove some exit(1)
* implementation of an SSL binary encryption
* enabled Run Email Program for all platforms
* moved the Buttons Make Friends,Deny Friend, Sig GPG Key to the Bottom of Trust
Tab
* improved the icons and Buttons in Trust Tab
* use for color sources friends sources + anonymous sources
* added missing NetworkWide flag to download from recommendation
* added missing NetworkWide flag to download from recommendation
* corrected bug in MessageDialog: friendly size was could not be properly converted
into a real file size. We should not use it.
* Properly close ssl connection when receiving error SYS_CALL. Bug solved
* Fixed Load and Save own status Message in MessengerWindow works now.
* suppressed unninitialisez memory reads
* added context menu action for Paste retroshare Link for Create Forum Message
* added smotth interpolation flag to image scaling
* added Paste retroshare link's from a Button in Create Forum Message, and fixed to
not allow send blank Forum Messages
* improved display of turtle router info
* changed the default Blog Header stylesheet, and use now white Text Color
* include own files check option on search
* fixed Resume/Pause context menu actions to work properly in all Translations
* redesign Create Blog Msg Publisher with html Formating features and fixed
textSize formating for Message Composer
* added to can use *.gif pictures now too for Avatars.
* added new French translation
* search result filtering
* fixed display issue in transfers (bad colors in crosses)
* improved display of tunnel info
* made gpg ids more consistent with the way gpg lists them
* added more detailed info about gpg ids in login and gen certificates dialogs
* fixed to get work properly Play and OpenFile when File Transfer is complete, Play
action is only visible when its a media file.
* added additional info into FileTransferInfoWidget
* added actions for disable/enable Emoticons in Privat Chat and for Clear Chat
History
* made complete files stay in the download list
* fixed bug in clink on link in group chat
* added action to GroupChats Button Menu for disable/enable Emoticon's
* filter after search, not before search
* fixed group chat download
* fixed the recommend system
* corrected compled completion and file progress issues
* security fix to xprogressbar display
* reengineered the transfer list display
* reduced cost of progress bar display
* fixed a bug on MessengerWindow context menu
* messenger-window thumbnail photo update on change
* set TextAlignment for sources to AlignRight
* added to show files sources count in form of friend source/ total source
* fixed stylesheets for Search LineEdit's frame
* put a safety check against sockfd==-1
* limited the search to > 3 chars
* fixed remove a bug in peersdialog
* added clear Filter Button for Messages Filter
* change the profile widget to replave spinbox by lineedit
* add some validators for gpg key gen
* fixed setFocus for search LineEdit when clearing it.
* improved turtle router display
* added put the tunnel info as a new tab in the transfer page.
* added hide reset button when search field is empty
* fixed to get work again to hide/show the Messages Filelist
* added a ending 0 to form a proper string in gpg cert export
* fixed the left side friends list for Message Composer to get resizeable
* fixed display issues: always -> all and void string -> unknown for turtle hashes
* fixed Messages items to not editable
* corrected bug in file completion
* added Messages Filter for Attachments,Subject,From,Date,
* rewrite MessagesDialog to use QTreeView with QStandardItemModel
* added change search results text color when it has more sources
* fixed stylesheets and enable OpenExternalLinks on InfoDialog
* change peericon when indicator changed
* added Save Cert Button to ConnectFriend Wizard
* added more info for Network Wide/Browsable to the Description Label in Share
Manager
* added icon for gpg key checkbox
* improved design of profile generation

Changes for v0.5.0 alpha 1

* suppressed uninitialized memory read


* corrected display bug in transfers
* suppressed bug in creation of cache directories
* suppressed uninitialized memory due to empty cache file
* corrected invalid memory read due to bad deletion method in std::map
* suppressed some uninitialised memory reads
* add error info when gpg password is wrong
* add gpg password static store when gpg password callback is called
* added for indicator change Folder icons
* solve a bug when the tmpcfg directory already exists under windows
* added security check
* suppressed possible SIGSEGV due to null information in certificate
* improved display of turtle routing info, corrected some minor compilation issues
* made the age indicator functional, by recursively changing color of
directory/files
* use CreatForumMsg when replying from News Feed
* re implement chat parsing for urls. External web browser call might not work on
some systems
* fixed to show for Folders Type Folder, and set root is decorated to not download
a dir when want expand it.
* fix a bug in quick start wizard
* added some security checks to turtle router
* add new info to infodialog
* redesign cert generation
* set private key trust to full when the validity was unknown
* solve a bug with gpg private key validity unknown
* fix a bug wich stops multiple connection against the same peer
* set a default Avatar when Friend has no Avatar for Privat Chat.
* corrected issue in display of download/upload progress
* Msg forums are now signed by ssl certs
* corrected bug about display/selection of anonymous files
* add gpg authentication everytime we got an ssl auth error
* Added to send own Shared File as link to Public Chat
* Added attaching files to Public Chat via Button/Drag and Drop
* in message composer, connected peers are colored in blue
* factorized and cleaned the common code between fistore.cc and fimonitor.cc,
- improved the stability of FileIndex,
- improved the display in RemoteDirModel
* store file certs as .rsc extension*
* changed the Date Format to dd.MM.yyyy for Messages
* update start wizard, change gui settings directory into ssl profile directory
(RestroShare.conf)
* added NETWORK_WIDE flag to remote dir model download
* added file priority strategy based on which files are requested first. This
provides:
- equal file speed for files with equal (source,priority)
- effective priority speed for file of same source but different priority
* removed state variable load/save from turtle, as it's not needed anymore
(FileRequest re-opens tunnels as needed)
* manage availability per peer instead of per file type: direct peer ids always
assume file availability, while turtle tunnels don't
* added Chunk size and Number of Chunks to DetailsDialog
* solve a bug with gpg signature summary
* add input validator for gpg key gen
* improved peer name info in cachestrapper, gence improving dir names in file lists
* added Copy and Send retroshare links for Search
* reduce the reading access to gpgme
* added regular cleaning of inactive chunks and slices, so that they can be treated
by a different peer
* fixed don't send an empty gpg key in p3disc
* Added Attach File feature for Messages
* added RS_FILE_HINTS_NETWORK_WIDE for SubFileItem
* added a icon for SSL item when connected
* add the possibility to create a gpg key for new profile
* add a check button to hide unconnected friends
* update display of the profilewidget tab in peersdialog
* don't send gpg key when all the ssl childs are on no disc or when we got no ssl
child of it
* ask disc info when adding a new friend
* removing of own gpg key as friend when not necessary
* Added a new CreateChannelMsg Dialog as replacement for GeneralMessage for
Channels.
* add key generation at startup if no gpg key found
* Added Timestamp for each Channel Message
* fixed up file attachement to forum msgs
* fixed startup password handling, so that it wont ask for passwd again, hence
preventing deadlocks when the gui is running
* added to Send RetroShare link as html format for Messages
* added to can download from Messages when clicked on link.
* added when start connection attempt then change icon on location.
* added functionnality to complain when a download is initiated over a file already
in download, or in the HD
* fixed downloading of links attached to forums
* adding a deleted ssl friends persistence in p3disc to avoid getting back a friend
we just deleted
* fix a bug when removing friends
* Added attaching files feature for Forums.
* add a ssl check that the peer isn't already connected
* change mutex lock in authgpg to avoid deadlock
* send just connected peer info to all others
* implementation of p3disc with new gpg key management
* implement the remove friend for gpg key, and improve the tranfer of ip address
from a dummy peer to a normal peer
* change the design of the connect friends wizard
* change the cert to gpg + some ssl details
* show correct location when adding an sl cert
* solve a bug in the load list af connect mgr
* add persistence of accepted gpg key to connect with
* remove the ssl cert storage. Big rewrite of ssl cert and friend management
* allow ssl connection with a new cert, ad a friend when happening
* implement the trust settings in the gui
* make peer detail gui work for the gpg and the ssl id
* make peer details work for GPG key in the network view gui
* remove the store of the pgp password
* implemented the sign, trust and validitty functionnality in authGPG. Fix a
singleton bug for authGPG and authSSL
* fix a bug in rsinit with pgp name
* added flags to file request: RS_FILE_HINTS_ASSUME_AVAILABILITY to not wait/ask
for chunk maps.
- Used for cache transfer and also whenever the turtle traffic is not involved,
such as chat file exchange,
- and RS_FILE_HINTS_NETWORK_WIDE to force using turtle routing for traffic.
* Implemented chunk-based file transfer from partial sources. This in particular
means:
- exchange of chunk availability maps from different peers
- correct handling of what is available to which source before asking the data
- correct display of chunks in the progress bars
- generalised the use of compressed chunk maps
- removed the size parameters from the hash search functions
* added Reply to Author feature for each Forum Message
* added Quick Start Wizard
* added DetailsDialog for Transfers
* added allowed Messages Information for each Forum if its a Anonymous or
Authenticated Forum
* added Smiley Support when creating new Forum Message
* fix a bug in peer display
* added when no Thread selected clear Forum Name ,Post Text and Thread Title
* added when switched Thread then clear last Post Text and Thread Title
* added a generic RsItem to the turtle router and the methods to route it. This
makes the code much more elegant.
* suppressed a cross mutex lock bug that happened rarely while digging tunnels
* changed FileDetails in ftServer so that it's now possiblt to search for hashes of
files being downloaded
* improved the search code in ftdatamultiplex
* added some comments to the turtle code
* added Popularity/Date to Forum Details
* Added Forum Details Dialog
* show Popularity as ToolTip, removed not usefull items which stretches the Forums
list
* added use for Authd forum a different forum icon
* Added setFocus feature, when creating new Thread or Reply Message change the
Focus
* suspending the auth code in p3distrib to allow forum messages to display.
* implemented a visualisation for currently handled chunks, availability maps, and
transfer info
* implemented transfer protocol for chunk availability maps between peers (not
enabled yet though)
* don't do a tunnell connect attempt when already connected through a tunnel
* use siglen -1 for both gpg2 and gpg1 verify signature
* Add heartbeat (an empty packet, wich is 100 bytes long) in p3disc every 4
seconds
* start listener not immediately after net reset to avoid connection flickering.
* stop ssl listening when already connected
* stop sending data when ssl read returns 0
* The external ip address is now set when a peer is connected if there is no upnp
or extadrfinder
* change packet version for rsdisc
* fix a bug with ip serialization when ip or port is 0
* add serializiont of own ipaddress list in rsdiscitem
* send own ip address list with p3disc
* change the way we handle our own address when recieving a disc item
* fix a bug for own disc item and address list
* fix a bug when connected through a tunnel
* add a break in case ipAddressList don't deserialize correctly
* add current local and external address to ip list
* fix a bug in the udp timeout
* DHT disabled, remove DHT from the gui
* perform a net reset when network config is changed
* change the address selection of udp connection
* Add the tunneling connection.
* Implemented load/save of chunk maps for current downloads.
* added a ChunkMap class responsible for allocating new chunks to be downloaded,
according to
- a given chunk strategy
- the availablility map of each source
- Integrated this into ftFileCreator
- added gui menu in file transfer+right click to change the chunk strategy:
streaming vs. random
* Added consistent display of chunk map
* Modified and renamed the taskGraphPainterWidget to display info about currently
selected file transfers.
* Added a parent page widget (class RsAutoUpdatePage) to handle auto-update.
* check to see a peer is connected before doing a net reset.
* remove upnp mapping before adding new ones
* fix a bug when removing 1 from a zero siglen
* simplified and improve ip list for connect attempt. Show the ip in the gui
* add port filtering if 0 for address list
* add address list to gui
* add the ip list to the connect attemps
* implemented the ipAddressList methods
* change to only one ip list instead of one local and one remote
* added the serializing of ip adress list, and the process to ad ip to the list
when a connection is made to a peer
* fix a bug when closing RS for upnp
* update of network dialog when peer address was manualy changed.
* display the best available ip for peers in the gui, instead of 0.0.0.0. This does
only affect the gui, not the way ips are trusted and propagated.
* setup reconnexion time to 5 seconds after reset
* added reset of current connexions and force-reconnect when network configuration
changes.
* added dynamic local and external ip reconfiguration. I still need to reset
connexions when changing ips.
* made the passwd dialog call Qt-independent (thanks to notifyBase)
* added gpgme and gpg error includes for win32
* added a QTDialog for the gpg key passphrase input
* fix uninitialized pointer fir libupnp
* improving safe upnp shutdown
* rewrite connection manager
* improved stun check
* improve time for initialisation of upnp
* store exaddr from upnp to stun
* improved stun failure resistance
* added network reset ehancement for stun and udp
* added reset net status when shutingdown
* added loopback network interface compatibility
* added new method for external upnp address
* change back the engine setting. Now it should work with gpg1 and gpg2
* fix the length of the encrypting ssl passphrase
* remove the pgp/password fields for start dialog
* set gpg2 engine for gpgme
* change ssl password encryption to non symmetric
* added new/old age indicator for shared files
* added functionality to edit your own Personal message on Label click
* suppressed sigsegv when deleting an unallocated object
* fixed exchange of custom strings.
* fixed the update of avatars in the various chat dialogs
* added a "peer is typing" function to the group chat.
* fixed up avatar exchange between peers
* Added and ToolTip's For Avatar Button
* added StatusMessage Dialog
* added functionality to store own status to chat.cfg and to gui settings
* added timers for update own status/avatar faster
* edited ProfileWidget to open from there the StatusMessage Dialog
* added code for storing and sending a custom status string (for e.g. saying "I'm
not here now") in p3ChatService
* added code for sending group chat status messages "peer is typing".
* Redesign MessageToaster
* bugfix with rehashing already shared files
* Added ProfileWidget as Tab to show own Profile Details
* make possible to download an entire found directory from search dialog
* Added Age column for Search Results
* added For Friends Context Menu a Title Widget
* fixed the file size issue with turtle search
* fixed keeps transfers sorted when redisplay them
* replace double with one clik when browsing channels
* few changes added to channel gui - list of groups and channels was replaced with
a tree view
* correct speed for non active downloads
* GUI mods for new Forum sorting method. (Last Post)
* added extra forum sorting method: Last Post.
* Integrated turtle download to all kind of user-requested downloads
* fixed core dump issue where AuthSSL::VerifySignBin() is called with NULL
parameters. Still, this should not happen.
* added Enable disable minimize to Tray feature when closing RetroShare
* correct wrong the setting of the friend ip address when adding a contact
* add debug info when ip address is set to an unknown peer
* restored accounting for LAN transfer rates.
* win32 fix for large file support
* added to Friends own Avatar and own nick labels
* Teaked the TrustView and NetworkView so that they only update when visible. Doing
so, the CPU overload is only present when strictly needed.
* downloading directories from search dialog
* added support for searching and display directories
* add random ssl password generation
* hide ssl password when logging in
* added encrypt and decrypt ssl password
* add links to cloud from shared files dialog
* improved turtle router console
* Integrated the turtle search and download to the gui. Now the search handles both
friend and turtle searching.
* added a console in config->server->F2F routing to be able to visualize turtle
routing statistics
* download recommended files from inside links cloud dialog
* corrected potentially harmful uninitialized memory reads
* scroll to previously selected item(s) at next redisplay
* fixed some mutex bugs and some pointer access bugs in the FileIndexStore
* ensured early creation of cache directories to avoid "Cannot copy file" bug
* added a pointer controller to findex to avoid RemoteDirModel to incidentally
request for deleted pointers.
* suppressed auto-collapse of directories when updated.
* Share Flags:
- now, only files with the NETWORK_WIDE flag are searchable by turtle hopping.
* added persistence to download queue
* Share Flags:
- 1st attempt at displaying share properties in the SharedFlagsDialog.
- added share flags in DirDetails structure in place of Rank, that is not
used anymore.
* Share Flags:
- own directory browsing is now done through FileIndexMonitor. This allows:
- to browse shared directories independently of their flags
- to update files as they get hashed
* Share Flags:
- now only the directories with flag "browsable" on are dispatched to friends
- when switching flags, directories are re-sent to friends
* added checkbox for Preferences to can disable the Quit MessageBox
* Changes to startup / login function to handle multiple accounts.
* Switched on OpenPGP version by default
* Major change to the way certificates are stored now defaults to
~/.retroshare/SSLID/
* Added to supports Multiple Accounts on same computer.
* Changend mods to use miniupnpc v1.3
* Fixed Bug to use WriteFile instead of write under windows with gpgme.
* Redesign of dwl queue - dwls will be enqueued and picked from there.
* Changed to display the dwl queue in the transfers dialog
* Added implementation for priority download queue
* Added switching colors for different uploads
* Changend Quit RetroShare MessageBox with "Yes" and not more with "OK"
* Added use real name instead hash name for partials for preview
* Fixed Bug to make pgp friend sharing work.
* Fixes to the PGP Network View.
* Fixed corrected the connexion + one-way bug
* Suppressed bug in RsTlvBinData that could return true even when the serialisation
fails
* Redesign SharedFiles, with splitted view for Remote and Local Dirs
* Added show Friends RS version on peer details panel
* Added download of whole directory from gui
* Added Add Friend and Export Cert to Menu Button
* Added Export Cert to Network Dialog Context menu
* Added a Security Page for Options to View, Copy and Export own Public Key.
* Added checkbox for group chat in Notify Options.
* Added Copy Cert to Clipboard functionality for ConnectFriendWizard.
* Added alert chat window when a new message was arrived
* Added systray notification for group chat
* Fixed proper update of shared list when list is modiffied from a different place
* Changend default name for finished downloads directory was changed from Downloads
to Incoming
* Added share of incoming directory by default
* Added storing Network Tab Position
* Added for Check files button to change text when checking files
* Change on the Timers of Network Menu that weren't wroking properlly
* Fixed the context menu position of the Netwok Log
* Fixed Bug - right click on local shared list won't abort the app
* Fixed Bug for gpg connections.
* Added open file/folder actions in local sharedfiles dialog
* Added open or preview downloading files with a suitable application
* Changend reorder transfer context menu
* Added pause, resume and open folder actions added in context menu for Downloads
* Added exchange of what version of retroshare our friends are using.
* Restored backward compatibility in p3disc.

Changes for v0.4.13c

* Changed the order of upnp/stun and extaddrFinder to limit wrong analysis of


firewalled situation
* Bug fix about not acconting identical tunnels appropriately
* Added missing continue which caused sigsegv
* Added removal of turtle handling when canceling/ending a file transfer.
* Added function for properly removing handled file hashes (turtle)
* Made turtle tunnel ids asymetric
* Cleaned up the documentation in p3turtle.h
* Update tunnel time stamp only *on the way back* to avoid unsuccessful requests to
update a timestamp.
* Implemented persistence of which hashes are to be handled.
* Fixed bug when storing incoming and partials directory
* Added suppressed file download memory leak
* Added new computing for download and upload rate. No more indiv rate settings
* Added turtle tunnel management
* Added delete autostart functionality when uninstall RetroShare on windows
* Added functionality when collapse tree change treeicon
* Added status icon in the name field of download peers
* Added view functionality to can set root decorated or not decorated for Downloads
list.
* Added integration of filetype icons on downloading files
* First commit for the turtle download. It works without perturbating RS traffic,
but still needs some (internal) smoothing
* switched pgp password to encrypted entry
* corrected NetworkDialog / NetworkView to use validLvl instead of trustLvl.
* Major bugfixes to get PGP authentication finished.
* p3disc now exchanges "Issuer" (pgp) certificates as well.
* additional types for rsdiscitems.h
* Bug Fix for NULL packet in p3service.cc
* Allow unauthed SSL certificates to be added in AuthSSL - otherwise cant add new
friends!
* Only save authed SSL certificates.
* Fixed ref/unref of PGP keys in AuthGPG
* Added Mutex protection to AuthGPG
* Added PGP reloading when key is imported, or signed.
* Fixed PGP key signing.
* Added Additional field validLvl to RsPeerDetails.
* Corrected bug in connectFriendWizard gui

Changes for v0.4.13b

* Minor changes required to get the gui working with PGP,


* Improved NetworkView to show signatures, and friends.
* Addition of openpgp support!
* Added switch trayicon if online count is 0 or bigger
* Added for FileTransfer: line is click-able, when collapsed it displays all
download peers
* Added for FileTransfer: sources column shows number of peers as online (offline)
* Added for FileTransfer: name column for root/peer shows filename/peername
* Added proper notification for network list update.
* Added a make friend with friends of my friends option in the connection wizard.
* Added Copy/Paste/Send retroshare//: file urls/links
* Restored file recommendation feature. Improved it a little.
* Corrected upload/download status in upload transfers
* Disabled auto-login for non windows systems.
* Suppressed Settings/ directory, as it_s not used at all
* Suppressed unused smplayer action from left bar
* set tooltip for OK Button
* Added smooth avatar scaling
* Setup connection so that deny friend in peers dialog updates the network view.
* Changed popup fchat focus for typingnotification
* Fixed don't send the extrafil link when SubFileItem is cancel (ERROR mode).
Improve chat url parsing.
* Fixed set the SubFileItem in error mode when cancelling from the GUI
* Added a missing return after deletion of membio in case of fail read (error
handling)
* Suppressed double item deletion that happens rarely (error handling case)
* Added More alternative colours to NetworkView.
* Added tooltip for add file button
* Fixed the history problem with SearchDialog
* Refuse directory drop for extrafile
* Added the drag'n drop file to popup chat, still a bug when adding a directory
* Enabled double click download feature for SearchDialog
* Enabled reseting keywords in SearchDialog
* Enabled translation for STATUS strings
* Fixed NetworkView lets get refresh the graph at rs start too
* Fixed startMinized now it works
* Enabled for the MessageBox'es translations support

Changes for v0.4.13a

* Merged peer detail dialogs from network and friends tab


* Enabled multiple selections via mouse,keyboard,CTRL + A ...
* Added feature to can delete files via Qt::Key_Delete
* Added messagebox when cancel files from Transfers
* Modified libretroshare to compile on Cygwin / MinGW.
* Removed exceptions from serialiser (had troubles previously on win32).
* Modified code in startup (enable CRYPTO structure) and rsdir.
* Remove the downloads item for file index cache transfer
* Set fileIndex cache transfer timeout to 300sec
* Corrected setLogInfo core dump state.
* Added add the ip adress to the cert text for friend add wizard
* Changed Bad Packet message to log in network dialog
* Added "peer is typing" functionality to private chat.
* Moved Network Status Tab from Preferences to NetworkDialog
* Fixed the total Transfer rate is lower than the individual rate.
* Added grey user icon for statusbar when no Online Friends avaible else blue
* Added NAT status to statusbar
* Added DHT status to statusbar
* Added Network Status for Log Tab too
* Enabled toolbar moveable to all toolbar areas.
* Added view button for Network Tabs

Changes for v0.4.12d

* Added partially completed authssl.cc, as we move towards openpgp authentication.


* Tweaks, and removed debug statements.
* Added missing files (extaddrfinder & p3turtle) to Makefiles.
* Turtle tunnel management. In progress.
* win32 compilation fix
* Corrected potential mutex lock problem
* Implemented turtle tunneling.
* Fixed the bug with copypasting certifcates.
* Added new icon for Notify
* Set correct icon for Deny Friend Context Menu
* Added qmovie for InDirectoryCheck
* Fixed libretroshare.pro for win32 compile
* Polished drop down menus in the network tab
* Added Feature: user can set commands fo opening shared files with some external
applications. First revision.
* Added automatic slicing of search response packets so as to cope with streaming
packet size requirements.
* Added NULL gard in dhtPublish()
* Added a checkbox to control the use of external servers for ip determination.
* put back Network on the left
* NetworkDialog: - set the info in columns about trust to be more explicit
* NetworkDialog: - changed dark green into light green to comply with colors in the
trust matrix (it's also more readable in light green)
* NetworkDialog: - corrected trust strings that appeared in the Last Contact column
* Changed "generate certificate" in connect friends wizard into "export my
certificate..." which is more appropriate
* Added missing file entry
* Corrected compilation pb + pushed news feed out of release version + put back
network in left most place.
* Added server-based ip determination as a fallback to existing methods. Forced Dht
publishing as soon as an external ip is known
* Replaced doquit with normal QMessageBox
* Fixed compilation fix for cygwin
* Corrected the 127.0.0.1 persistency bug
* Fixed file rename by using a common rsDirUtil function
* Added Wizard for adding friends

Changes for v0.4.12c

For the sake of increased stability, internal file formats have slightly
changed. As a result, prople using the new version will have to re-trust
their friends. This can be done efficiently using the drop down menu in
the network view.

* Fixed win32 compatibility


* Suppressed #ifdef TURTLE_HOPPING from libretroshare, as it s not anymore needed.
* Added a direct make friend button in the drop down list of network dialog
* Suppressed misleading ssl error.
* Secured the output of .cfg files and cache files. Now closing RS or serializing
errors while saving these files cannot corrupt them anymore.
* Added a callback to notify when clicking on make friend button
* Made own avatar persistent. Next task will be to make friends avatars persistent
too
* Fixed file moving between different file systems, which forced people to have
their Incoming directory on the same file system than the Partials directory
* Invitation text contains only certificate information;
* Buttons for saving/opening pqi-files become more noticeable.
* Removed "Email" button from invite dialog.
* Update, during the GUI for invitation changes
* Turtle search now connected to the gui. Next move: digg turtle tunnels for fast
download.
* Turtle dev. Worked on serialisation, mainly, and connexion to gui.
* Finished turtle router.Next task: turtle serializer
* Fixed bug: the MainWindow object wasn't deleted.
* Added history support in group chat; almost stable;
* Suppressed uninitialized memory read
* Fixed the ssl connexion problem
* Added another anti-lag strategy in pqissl.cc. This is to avoid connexion problems
* Started turtle hopping implementation.
* Added a rsicontrol global variable for compatibility with new notification method
* Added a workarround for the packet sending problem.
* Improved the gui to increase responsiveness (e.g. forum display, network
discovery info, friends, msg deletion and selection)
* Improved the notification model so that it uses Qt signals to avoid core dumps,
* Update Wiki Link in Help Dialog
* Fixed win32 compilation compatibility
* Suppressed some debuggign output.
* Fixed a bug with wrong packet size.
* Set Refresh Rate for down/up speed on statusbar to 1000
* Added Uptime and Since to Statistics

Changes for v0.4.12b

* Suppressed an initialized memory read


* Changed PreMods() and postMods() functions into signals in notifyqt
* Added functionality for Bandwidth Graph
* Suppressed bug when creating new certificate
* Added Reply to all Button for Messages
* Changed pointer cast from int to void
* Changed retroshare invite so that it does not contain signatures anymore.
* Small fix to upload transfer rates
* Plugin system: plugin management features added (loading and unloading)
* Fixed bugs in upload speed computation
* Added info for upload peers and rate in Transfer tab
* Enabled translations for QString's in RemoteDirModel
* Fixed Bug: incorrect creation of the plugin
* Fixed Launch Email Bug
* Fixed Save cert to File

Changes for v0.4.12a

* Implemented plugin system: first demo version


* Removed streching for Remote Directories
* Added icon Label for Messages Toaster
* Set userfriendly Column names for Remote/local Directories to Friends Directories
and My Directories
* Removed not needed path show in Rank
* Set Qt::IgnoreAspectRatio for pictures
* Added for MessengerWindow the new getAvatar and updateAvatar function
* Added protocol for Avatar exchange in private chat.
* Redesign SharedFiles dialog with Tabs
* Set Font Size for MainWindow ToolBar to 9
* Corrected two nasty bugs in file transfer which caused random core dumps (at
least on ubuntu 32 and 64 bits)
* Fixed font formating MAC OS X releated
* Set colors for Online, Friends, Network and set First Tab of Peer Details to
first
* Set for Online Toaster Peer Online Bold and set TextColor
* Fixed directory problem wirh emoticons
* Added darkBlue TextColor for Connected Friend, Set TextColor Bold
* Put emoticon images and .acs file into qrc image file
* Suppressed line with pouty.png which caused a bug by altering actual html code.
* Added a layout to hashing info widget to get it left-aligned
* Regression of ft/ftcontroler.{h,cc} to svn=932 because the 933 commit (download
queue) causes a large scope bug.
* Added to remove when deinstalling RetroShare to delete from APPDATA
cache,Partials folder, *.cfg,*.log and *.conf files
* Added a "Trusts me" text field to the peer details dialog
* Replaced toText in MessagesDialog QTextEdit with QTextBrowser to get use a
scrollbar
* Set context menu icon for Connect To Friend
* Fixed OnlineToaster's Picture Label Layout
* Set for Make Friend a Header Image and Text
* Added a display for file hashing activity using notifyQt class
* Corrected a bug in openDHT for 64 bits systems
* Added a Menu Entry for KDE/Gnome/XFCe
* Updated Changelog for .deb Packages
* Fixed time out unused uploads
* Removed march=i686 commandline options, causes problems while 64Bit compiling.
* Fixed error: �UINT_MAX� was not declared in this scope
* Added a Doxygen configuration file in order to help me sort out libretroshare...
* Redesign Login Dialog
* Redesign Online Toaster
* Switched to use autostart,it will be bether then Run with Registry
* Added for Messenger Window Share Manager Button
* Added for systray contextmenu Open Messages
* Set for MessengerWindow to use RWindow now
* Set for the Avatar Button a Background image
* Set for Avatar Pictures to use IgnoreAspectRatio
* Added QMessagesBox feature for the ShareManager's Add/Remove
* Fixed DirectoriesDialogs's Add Folder method.
* Set ToolTips for The DirectoriesDialogs's Buttons
* Added a callback in MainWindow.cpp to display info about hashed files.
* Added a callback to fimonitor to be able to keep track of file hashing
* Added svn version number in build script
* Added basic set avatar picture for MessengerWindow and Privat Chat
* Added second tab in Peer Details for Trust Settings
* Added Last Contact info to Peer Details
* Added doubleclick download feature
* Update Preferences and Settings forms
* Added context menu for Share Manager to can remove a Shared Directory
* Update RemoteDirModel's extension's
* Added tool tip and info to peer that trust you, in NetworkDialog
* small improvement in display of 3rd party trust info
* Added the infrastructure for propagating trust info through third parties
* Added to clean up completed cache files automatically
* Added to display peer names in transfers dialog
* Added two hidden columns in searchresultTableWidget to store the real size and
srcId hash
* Added for Partials Directory to Directories
* Added New Share Manager

Changes for v0.4.11d

* Bugfix for launching desktop support.


* Small fix to universal script and some extra debugging.
* switched off some debugging.
* fixed tickrate slow down (when no activity)
* added extra flags to interface.
* Added NewsFeed / Popup / Chat Configuration options.
* Gui modifications to support authenticated forums.
* Added Authenticated Forums.
* add Sign / Verify functions to authxpgp
* sign/verify messages, and control flags for p3distrib/p3forums.
* add authmgr to p3distrib etc.
* added AUTH flags to rsforums interface.
* implement function for clearCompleted on filetransfer panel
* added display for author of forum posts
* suppressed uninitialized memory read.
* remove temporary file when cancel file transfer
* Bugfixes for correct Channels display.
* Corrected search in ftserver.
* Updated avail in controller FileDetails.
* Fixed Channel: SubFileItem display and play.
* added openFile function to MainWindow. (uses QtDesktopServices)
* disabled PlayAll in ChanMsgItem (as we can't do this).
* enabled play() once files downloaded.

Changes for v0.4.11c

* suppressed uninitialized memory read.


* remove temporary file when cancel file transfer
* Bugfixes for correct Channels display.
* Corrected search in ftserver.
* Updated avail in controller FileDetails.
* Fixed Channel: SubFileItem display and play.
* added openFile function to MainWindow. (uses QtDesktopServices)
* disabled PlayAll in ChanMsgItem (as we can't do this).
* enabled play() once files downloaded.
* tested play audio/video files on MacOSX
* Fixed Add Friend and Invite Frieds Dialogs
* Set minimum size for Channels frame
* Set minimum size for Friends TreeWidget
* add code for cancen file transfer
* Tweaked tabs and order.
* Added NewsFeed.
* Added Template functions for ssl+xpgp code.
* changed trust table name into trust matrix
* Tuned the matrix to show sub-networks
* Added a function to not allow to create a Forum/Channel without a Name.
* Fixed sorting in Friends
* disabled auto scroll for Friends Widgett
* added retroshare own logo for Network icon
* Fixed layouts/margins/spacings of the Create Forum Message Dialog
* Fixed Create Forum Message Dialog
* Fixed some Displaying isues for statusbar
* Enabled save() function in SubFileItems.
* Improved Channel Menu Item: added Icon and popularity.
* Reduced most of the margins in Channel Feed.
* updated libretroshare interface files.
* Added Function to move an 'extraFile' to another location.This will be used to
retrieve channel files.
* set correct WindowsTitle for Create Channel
* Added Forward Message Button with Forward feature
* set for Reply Message/Forward Message correct WindowTitle from Message Title
* Added for Forward Message insertForwardPastedText() function to add Forwarded
Message in a <blockquote>
* suppressed double mutex lock
* added files gpgauthmgr.cc and gpgauthmgr.h this provides the new GPG
implementation
* added API to store all GPG keys in a map
* added APIs to get GPG certificate IDs
* added APIs to get Details from the Certificates
* set Text Alignments for some columns to Center
* missing file for defining sleep() etc under windows.
* fixed SharedFiles columns

Changes for v0.4.11b

* Bugfixes for 'sleep' issues under windows.


* Extra debugging for transfer module.
* Fixed channel directory creation. (extra 'break' statement)
* Fixed very slow transfers on Windows platform (uninitialised variable)
* Added Mutex protection to the core comms (pqihandler + pqipersongrp).
* Added a Mutex to the ServiceServer.
* Fixed, transfer start when subscribing to channel.
* Cleaned up p3distrib callbacks.
* Added holdQueue for transfer startup in controller.
* Fixed partial resume.
* Updated Mac script to only build library.
* Fixed compatibility bug in file transfer...
* Can now communicate between V0.4.9b and V0.4.11+
* Improvements to the file transfer algorithm.
* Increased max individual file speed to 1MB/s
* Bugfixes in CreateForumMsg
* Added auto update feature to the trust matrix
* Implemented a big trust table where people can see who trusts who, and who is
trusted by who.
* Added Configurations to new file transfer.
* Enabled config in p3file-startup.cc
* Enabled resumeTransfers
* Added new RsFileConfigItem to serialiser.
* Extended ftFiMonitor to use Configuration.
* Bug fix to add/remove Shared Dirs.
* Increased Channel/forum periods to 3/12 months.
* Create channels directory correctly.
* Added File Transfers to Config List.
* Connected statusChange() monitor callback.
* Fixed file sources in transfermodule.
* Fixed up transfer restarts / sleeps.
* Enabled opening files read only.
* More bugfixes for file transfer.
* Added File Transfer / ExtraList to channels.
* Fixed mutex deadlock.
* Added slow transfer for background tf.
* Added checks to FileRequest to accumulate peers.
* Added ExtraList callback
* Show Date in Network Tab using QT functions.
* Added multiple selection to the msgWidget QTreeView and setup context menu in
accordance
* Added Delete key function to easily delete messages
* Enabled (and implemented) response to message
* Enabled for Uploads progess xprogressbar
* Added for Files Treeview File Typ icons
* Added for Files Treeview Folder icons
* Added Help System Dialog

Changes for V0.4.10b


* Cleaned up Mac Fonts
* Improvements to ft - but still in development.
* Various GUI tweaks.

Changes for V0.4.10a


* BUGFIX for multiple reconnect attempts.
* Addition of new NewsFeed System
* Addition of Basic Calendar Interface (Unfinished)
* Addition of Forums / Channels (Demo)
* Improvements to Blog System (Unfinished)
* Partial Fixes for GCC4.4 compilation.

Changes for V0.4.09b


* Tweaked Status Bar.
* Added Icons and Sorting to Links Cloud
* Updated default chat html/css
* Fixed Chat from Messenger Window. Changes for V0.4.09a (STANDARD RELEASE)
* BUGFIX for Determining External Address.
* Fixed AutoLogin.
* Fixed Toaster.
* Added Status Bar functionality (data rates, peers online)
* Fixed Transfer Display (data rates, file name, peer name) Changes for V0.4.08a
* Addition of Chat Styles.
* Improved Link Cloud Rankings + Bugfixes.
* Moved Link Cloud to MainWindow. Changes for V0.4.07b
* Full Mutex protection for ConnectionMgr
* Context Menus for Link Cloud
* Share Anonymously in Link Cloud.
* Beginnings of qBlog and Status added. Changes for V0.4.07a
* New implementation for Link Cloud.
* dummy Forum system.
* Added NonRelease features back in Changes for V0.4.06d
* BUGFIX: mutex not being released if UPNP unavailable.

Changes for V0.4.06c


* Fixed Upnp Issues.
* Various GUI/stylesheet tweaks Changes for V0.4.06b
* Added Fonts + Bold/Italic to Group Chat.
* Fixed Color/Font issues for Chats
* Fixed Server and Peer Config windows.
* Enabled saving of data rate limits.
* Fixed Lost certificates issue(!)
* Tweaked Tick rate parameters.
* Improved Chat Delays (under a second now)

Changes for V0.4.06a


* Reduced CPU requirements by removing some debug.
* Fixed Memory Leaks (serialiser + file transfer)
* Fixed Application Quit when window is closed.
* Fixed Unread Msgs bug.
* Reinstated variable Tick rate (reduces CPU load).
* Added "Stop Retroshare" message to installer. Changes for V0.4.05a
* HTML Chat and Messages.
* emoticons, bold, italic, fonts, colors for chat
* save, print, pdf functions for messages.
* New Side Toolbar.
* Switched Link Cloud to share Friends Links.
* BUGFIX: Added Emergency Dir if existing Incoming fails.
* BUGFIX: Added notify for connection to RS V0.3.X.
* Fixed Online/Offline Message Forwarding.
* Added Check Files, and Icon to indicate Hashing State.
* Added <play> functions to Transfers + LocalSharedDirs.
* Included MPlayer in release. * reenabled skins.
* new Multi-Language Installer.

Changes for V0.4.04a


* Fixed UPnP on Windows platform.
* added TIMEOUTS for TCP connections (5 secs)
* GUI display of connection type (UDP/TCP)
* Increased default data rates (100/500 kb/s)
* Removed Default bootstrap Ids. Changes for V0.4.03c
* NEW: HTML Messaging!
* NEW: Msg Composing Window.
* NEW: Contacts docking window.

Changes for V0.4.03b


* BUGFIX: EXT PORT notification.
* BUGFIX: Save Config after Signature of Peer.
* BUGFIX: Config MetaFile + Sig saved in correct directory.
* BUGFIX: ForceExtPort initialised correctly.
* Improvements to Chat Layout
* New Log Display in Network Tab.
* Show/Hide Network View Settings.

Changes for V0.4.03a:


* Modifications to the Chat.
* new Icons for new GUi bits.
* Network View has been done with elastic forces between nodes.
* Network View have been added to Network Tab.
* New Automatic Bootstrap system.
* BUGFIX for reconnection attempts.
* BUGFIX for UDP + TCP simulateous connections.
* Added Bootstrap Monitoring tools

Changes for V0.3.52a:


* New improved search system.
* New Translations.
* Fixed Bugs in UPnP
* Can now remove Shared Directories.
* Attached the 'Recommend to' Context Menus.
* New Timestamps in Chats / Messages.
* Notification of Offline Peer in Chats.
* Example Games (not networked yet)
* Updated About Text.
Changes for V0.3.51a
* Fixed 2-3 hour crash bug.
* Fixed On-Off Reconnect behaviour

Changes for V0.3.x Development


We have available for those interested in retroshare:
(1) New Source release for Linux! V0.3.12B, The compilation script can also compile
from SVN.
(2) deb installation files for debian/etch and kubuntu/feisty
(3) Language pack for those interested in translating.

You might also like