This is mostly a bugfix release but it also contains a new useful feature: QR code support to exchange IDs.
You can save it as an image (for example to display on a phone) or simply print it. To import it, go to Add Peer… / Scan a QR code and just hold it in front of your webcam (yes, Xeres supports webcams now).
Other notable bug fixes are:
fix GXS syncing so that updates are pushed and received in all cases (for example missing avatar image)
This release contains quite some important features:
Support for Tor and I2p.
Which means you can connect to Tor and I2P peers.
And support for the DHT.
Which means you can connect to other Xeres/Retroshare peers even if you don’t know their IPs.
There’s a lot of cool new UI features, especially the settings part where you can configure all the above and also control UPNP and Broadcast Discovery.
There’s also the (in)famous LEDs in the status bar 🙂
Here’s the list of changes:
Protocol
add Tor support
add I2P support
add DHT support
improve UPNP compatibility with Askey devices
add hostname support in discovery
upgrade the broadcast discovery protocol to the latest ongoing version
UI
add Settings UI
show a notification for detected clients on the LAN
add status bar
add leds for NAT and DHT status
improve Home UI and menus
improve tray icon (menu and tooltip)
Chat UI
bases the nickname color on the GxsId to make spoofing harder
Connection
prefer direct connection for clients on the same LAN
detect if the IP changed and reconfigures the services accordingly
This release was focusing on fixing many bugs regarding the GxS syncing, many parts have been rewritten and it’s now faster and more reliable.
The chat UI has been refined too. Xeres can be used as a daily chat system.
I also upgraded to the latest H2, which is unfortunately not backward compatible. This means you have to delete your user data and recreate a profile. Sorry! From now on I’ll be more careful when upgrading and provide an automated path.
List of changes:
Chat UI
improve chat room info display
add tooltip over the user list
improve nickname completion: the tab key handles multiple nicknames and works anywhere
display received broadcasts
Identities
add support for identity avatar image, including setting it
Protocol
faster and more consistent GxS syncing
Database
upgrade to latest H2 (this means the user data needs to be deleted before upgrading, sorry!)
Connection
allow to manually select a peer IP to connect to
connect immediately to peers when adding them
allow to manually set trust levels
Misc
add a log file in the user directory (useful for troubleshooting)
display profile and location name in the main window
Contains many performance improvements as well as private chat rooms support.
There’s also a JAR version which is supposed to run on Linux ARM64 and OSX ARM64 too. Since I don’t have the hardware to test, your feedback is welcome.
Update: the JAR doesn’t seems to work. Missing JavaFX native libraries for some reasons. Use the installer instead.
List of changes:
Chat UI improvements
chat rooms with unread messages are highlighted
scrollback buffer fixes
unseen chat rooms are removed after a while
General UI improvements
visible error messages when there’s a startup problem
peer window only shows connected locations instead of all of them
improved ‘add certificate’ window
Protocol improvements
add user timeout support in chat rooms
faster syncing for distributed chat
improved identity transfers reliability
add private chats rooms with invitation support
faster connection to a peer by using the best connection first
Distribution
smaller packaging by only bundling needed native libraries
added JAR version: needs a local JDK 17 and runs on all supported architectures + Linux ARM64 and OSX ARM64
I do donations for projects I use within Xeres! This year, the winners are as follows:
Bouncy Castle: providing invaluable crypto support (PGP, X.509 certificates and more)
H2 database: although it’s often used as an in-memory database to run integration tests, it’s also a solid embedded database with many features
Hopefully my donations will keep their motivation going. Remember that open source projects don’t have any revenue most of the time so if you have some spare cash, don’t hesitate to support the projects you like.
identities transferts is fully supported and validations is performed, which means you can properly chat with RS users (no more missing usernames and so on)
the chat UI has been improved a lot
support for sending and receiving images in the distributed chat
typing notifications in distributed chat
many many bug fixes
This release is not compatible with the previous one. If you upgrade, please delete your previous user data and recreate a profile (there were too many changes to make it seamless).
Xeres should be usable for distributed chat now, also with Retroshare users. More services are comming.
The first public release of Xeres is available. Please note that it’s considered as a beta release (i.e. many features are still lacking) and you shouldn’t use it for mission critical stuff yet. But feel free to play around with it and give feedback as there’s still a lot of ongoing development.
What is supported
Xeres is compatible with Retroshare 0.6.6 or higher and can connect with such instances. Right now the supported services are as follows:
service info
discovery
heartbeat
rtt
chat (partial)
status (partial)
gxsid (partial)
Xeres can mostly be used for chatting. Either private messages (one friend to another) or group chats, also known as chat rooms.
Known bugs
creating a chat room is a bit spotty (the other side will see it but the local side requires a reconnect sometimes)
Retroshare seems to not like the outgoing GxsIds and refuses them, resulting of an “Unknown” identity in the chat rooms