Version 0.5.3 released

This is mostly a bugfix release but it also contains a new useful feature: QR code support to exchange IDs.

Xeres ID in credit card format

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)
  • make UPNP fail when the external IP is not public

Download here.

Version 0.5.2 released

UI

  • count connections in the notification bar properly
  • fix most smileys on Linux
  • add internationalization support, with french as a first translation
  • format bytes depending on their size (KB, MB, GB, etc…)
  • display flags when adding IPV4 connections (uses GeoIP)
  • display I2P, Tor and LAN icons for the rest

Chat UI

  • fix nickname coloring using always the same color and also tweak the coloring
  • add avatars for direct chat
  • show ping timeout for users who recently participated in a chat

Misc

  • add auto start support on Windows

Protocol

  • better DNS checks when adding RSIDs

And many bug fixes and other improvements.

Download from GitHub.

Version 0.5.1 released

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

Misc

  • add idle detection to change the status
  • add argument to start iconified

And many bug fixes and other improvements.

Head over to Github to download it.

Version 0.4.0 released

Finally a new release!

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
  • improve error messages

And many bug fixes and other improvements.

Head over to Github to download it.

Version 0.3.2 released

New release!

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

Head over to Github to download it.

Version 0.3.1 released

Finally a new release!

I now switched to Github Actions, which means it’s easier to build and as a bonus there’s now a MacOS version (but see here).

Here’s the list of changes:

Chat UI improvements

  • add time stamps prefix for each line
  • improve text formatting
  • add support for URLs
  • add support for emojis
  • add image support for node to node messaging
  • add support for inline certificate links
  • add support for actions (/me is happy)
  • add nicknames coloring

General UI improvements

  • add ability to delete profiles
  • sort profiles and identities

Protocol improvements

  • forward chat messages between multiple peers
  • handle SSL handshake failures properly
  • better recovery from a suspend/resume cycle (for example on a laptop)
  • chat rooms can be created even when no peer is connected
  • certificate support is back
  • add support for DNS names in certificates

And many bug fixes and other improvements.

Head over to Github to download it.

Donations!

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.

Version 0.2.0 released

This version contains many improvements:

  • 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.

Available on the release page.

First version released

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