Srain 1.3.1 released 18 Dec 2021

Bug fixes:

  • Fix build of macOS (#339), by @SilverRainZ
  • Make channel messages with origin out of channels can be shown (#336), by @progval
  • Rejoin channels after NICKSERV authentication finishes (#274), by @SilverRainZ

Srain 1.3.0 released 21 Sep 2021

  • Features:
    • Implement ISUPPORT parsing + the UTF8ONLY IRCv3 specification #331, thanks to @progval
    • Add support for RPL_UMODEIS #331, thanks to @progval
    • Make nick completion case-insensitive #333), thanks to @progval
    • Add button for inserting emoji (#279) by @SilverRainZ
  • Bug fixes:
    • Fix configuration syntax errors caused by trailing commas #330), thanks to @progval

Srain 1.2.4 released 18 Jul 2021

Bug fixes:

  • Fix bug casued by #316 (#319)
  • Fix crach when URL preview async task failed (#322)

Srain 1.2.3 released 26 Jun 2021

Bug fixes:

  • Eliminate GDK warning (#316)

Srain 1.2.2 released 30 May 2021

  • Changed:
    • Add IRC network (#311)
    • Updated Dutch translation (b6830e9)
  • Bug fixes:
    • Fix windows build (#300, #303)

Srain 1.2.1 released 10 Apr 2021

  • Features:

    • Add Ukrainian translations (#292), thanks to @andmizyk
  • Bug fixes:

    • Minor fixes (#290)

Srain 1.2.0 released 28 Feb 2021


  • Switch build system from Make to Meson (#266)
  • Add FreeBSD implementations for srn_get_executable_{path,dir}, thanks to @wahjava
  • Add /quote command for sending special IRC commands, thanks to @hno (#283)
  • Add support for hiding server buffer (#287)

Bug fixes:

  • Fix an use-after-free BUG (#267)
  • Fix implicit declaration error on some systems, thanks to @lgbaldoni (#270)

Srain 1.1.2 released 10 Aug 2020

Note: This release contains only improvement for MS Windows, user of other platform can ignore it.

  • Features:
    • Binary for MS Windows now can automatically built via Github Actions, thanks to @lifeibiren (#259), please refer to Windows for more details
  • Changes:
    • For ease of running on windows, Srain’s executable path is added to the search paths of {configuration,data} file. Thanks to @lifeibiren (#259)

Srain 1.1.1 released 27 Jun 2020

  • Changes:
    • Improve auto-scroll policy of message list (#255)
  • Bug fixes:
    • Fix TLS certificate verification error on glib-networking 2.64.3 (#251)
    • Fix crash when connecting to an invalid host (#234)

Srain 1.1.0 released 24 May 2020

  • Features:
    • Support multiple selection of message (#138)
    • Support jump to mentioned message (#243)
    • Nickname will be highlighted when mentioned (#243)
    • Auto build deb package (#238)
  • Changes:
    • Improve fcous control of UI
    • Replace appdata with metainfo (#240)
    • Validate metainfo with appstream-util (#242)
  • Bug fixes:
    • Some implicit declarations fixes (#236)
    • Some typo fixes (#239)

Srain 1.0.2 released 11 Apr 2020

  • Features:
    • Add MAN documentation (deaf723)
    • Add more predefined IRC networks: DALnet, EFnet, IRCnet, Undernet and QuakeNet (#228)
  • Changes:
    • Build: Allow setting CC variable via environment (#224)
    • Add channel related messages to corresponding buffer as possible (#149)
    • Improve widget focus control (#229)
    • Drop unused icons (6239fe5)
    • Provide clearer error message when connecting (#233)
    • Update gentoo installation documentation Gentoo (ceb5ca3)
  • Bug fixes:
    • Truncate long message before sendisg (#227)
    • Deal with invalid UTF-8 string (50e7757)
    • Fix incorrect user number of channel user list (#230)
    • Fix incorrect icon install path (9f07380)

Srain 1.0.1 released 14 Mar 2020

  • Features:
    • Auto rename to original nick when ghost quit (#198)
    • Add hackint IRC network (#201), thanks to @kpcyrd
    • Add Dutch translation (#215), thanks to @Vistaus
    • Add two FAQs to documentation (#217)
    • Add debian pack script (SrainApp/srain-contrib#1), thanks to @tomac4t. Please refer to Debian to build a deb package
  • Changes:
    • Move continuous integration from travis CI to github actions (#203, #204), thanks to @tomac4t
    • Make header bar buttons repect default belief (#205, #218)
  • Bug fixes:
    • Fix case sensitivity issue for IRC messages (#202), thanks to @hhirtz
    • Fix invalid changelog section of appdata file (#214)
    • Fix missing dependences in documentation (#216), thanks to @avoidr

Hi all, I am excited to introduce you to Srain: A modern IRC client written in GTK.

Srain 1.0.0 released 24 Feb 2020

  • Changes:
  • Bug fixes:
    • Allow Srain runs without dbus secrets service (#195)
    • Fix nick generation logical (39ced08)

Original changelog

Srain 0.06.4 released 01 Mar 2018

Original changelog

  • Changed:
    • Change default application ID to im.srain.Srain
  • Added:
    • CTCP support, including request & response CLIENTINFO, FINGER, PING, SOURCE, TIME, VERSION, USERINFO messages. DCC message is not yet supported. Use command /ctcp for sending a CTCP request
    • Login method support, you can specify it by configuration file option server.login_method:
      • sasl_plain: SASL PLAIN authentication support, will use server.user.username as identity, and use server.user.passwd as password
    • Added documentation Support Tables used to show Srain’s features, inspried by IRCv3 Client Support
    • Added a semantic version parser, not yet used
    • Added appdata file which requier by application store, thanks to @cpba
    • openSUSE package is available, please refer to openSUSE for details, thanks to @alois
    • Flatpak package is available, please refer to Flatpak for details, thanks to @cpba
  • Improved:
    • Fixed a logical error in IRC message parser: all parameters are equal whether matched by <middle> or <trailing>, thanks to @DanielOaks
    • Improved connection state control, you can smoothly disconnect/quit from server even it is unresponsive
    • Fixed truncated message output by /server list subcommand
    • Fixed crash at g_type_check_instance() under GLib 2.54.3+
    • Fixed: Do not free a SrianServerBuffer which has non-empty buffer
    • Ensure the QUIT message can be sent before application shutdown
    • Removed entry from desktop file, thanks to @TingPing
    • Fixed grammer of join message, thanks to @raindev
    • Re-enable CI for Srain: ci-status

Srain 0.06.3 released 22 Dec 2017

Original changelog

  • Changed:

    • Configurable file option tls_not_verify in irc block in server block is renamed to tls_noverify, old option name is still supported
    • Command option tls-not-verify for /server and /connect is renamed to tls-noverify, old option name is still supported
  • Added:

    • Connect popover supports connect to predefined server
    • Join popover supports channel search
  • Improved:

    • Modified margin and padding of some widgets
    • Improved the style of unread message counter
    • Fixed markup parse error of decorator
    • Fixed crashing while connecting from connect popover
    • Fixed use after free while removing user
    • Improved the performance and extensibility of user list
    • Improved compatibility with older versions of GTK(> 3.16)
    • Refactor the code of chat panel, helpful for the next development

Srain 0.06.2 released 12 Sep 2017

Original changelog

  • Added:

    • mIRC color support, can be configured via render_mirc_color option
  • Improved:

    • Better error reporting while operating the UI
    • IRC URL can be opened directly within the application
    • Text in input entry, connection panel and join panel will not be cleared while operation is not successful
    • Fixed: in some cases, nickname registration will case infinity loop
    • Decorator and filter now can process xml message
    • Imporved the handling of channel topic

test latest.

Srain 0.06.1 released 18 Aug 2017

Original changelog

  • Added:

    • Added GPL copyright statements
    • RPL_CHANNEL_URL (328) message support
    • Command line options support, type srain -h for help message
    • Support for Creating server and joining channel from IRC URL
    • New dependency libsoup
    • Add reconnect timer: if connection fails, Srain will wait for 5 seconds then try to connect again. If it still fails, waiting time will increase by 5 second
  • Improved:

    • Fixed the crash when QUIT
    • Fixed: avoid sending empty password
    • More empty parameters checks
    • Imporve server connection status control

Srain 0.06 released 29 Jul 2017

Original changelog

  • Changed:

    • The third time of refactor ;-)
    • New command parser, for the syntax, refer to commands-syntax.
    • Changed the format of Chat log
    • The /relay command doesn’t support custom delimiter, this function will be implemented as python plugin in the future
    • Use reStructuredText for document instead of Markdown
  • Added:

    • Message filter: mechanism for filtering message
    • Message Decorator: mechanism for changing message
    • Install script for Gentoo, thanks to @rtlanceroad !
    • New command /rignore for ignore message using regular expression, thanks to @zwindl !
    • Config file support
    • Configurable log module, more convenient for developing and reporting issue
    • New Return value type, for more friendly error reporting
    • New command commands-server for IRC servers management
    • Srain home page is available at:
    • Srain help documentation is available at:
  • Removed:

    • Remove libircclient dependence
  • Improved:

    • Improve reconnection stuff: auto reconnect when ping time out
    • More accurate message mention
    • Display preview image in correct size
    • Any number of image links in message can be previewed
    • HTTP(and some other protocols) link, domain name, email address and IRC channel name in topic and messages can be rendered as hyper link
    • The sent message can be merged to last sent message
    • Fixed some bugs

Srain 0.05 released 30 Aug 2016

  • Changed
    • Port to libircclient
      • SSL connection support
      • Server password support
      • Channel password support
  • Added:
    • Convenience GtkPopover for connecting and joining
    • Nick popmenu
    • Translations: zh_CN
    • Forward message
    • Chat log
    • Colorful user list icon
    • Mentioned highlight
    • Desktop notification
  • Improved:
    • More friendly User interface
    • Stronger {upload,avatar} plugin
    • Fixed a lot of bugs

0.05 is the first stable release of Srain, enjoy~

Srain 0.03 released 30 Apr 2016

  • new interface between UI and IRC module
  • multi-server support
  • channel name is not case sensitive now
  • /quit command will close all SrainChan of a server
  • fix GTK-Warning when close a SrainCHan

NB: 0.03 is a pre-release, some functions are no completed yet. it also has some undetected bugs.

Srain 0.02 released 17 Apr 2016

  • Port to GTK+-3.20
  • Few bugs fixed

NB: 0.02 is a pre-release, some functions are no completed yet. it also has some undetected bugs.

Srain 0.01 released 07 Apr 2016

  • Implement basic functions of a IRC client
  • Themes: Silver Rain (light)
  • Simple python plugin support:
    • Auto upload image to pastebin (
    • Get github avatar according nickname
    • NB: plugin will separated from this repo in the future
  • Image preview from URL
  • Relay bot message transfrom
  • Nick auto completion
  • Combine message from same person

NB: 0.01 is a pre-release, some functions are no completed yet. it also has some undetected bugs.