EPIC Enhanced Programmable IRC-II Client

EPIC news archive

This page covers EPIC6 development news and historical EPIC4/EPIC5 announcements. The dated EPIC6 entries summarize UPDATES and upstream commit history; links to individual references explain current behavior and requirements.

EPIC6

2026-10-30: Authentication checks and scripting fixes

Upstream commit 70a655b6 (internal commit ID 3106) includes static-analysis fixes and these interface changes:

2026-08-30: Scripting additions and retired interfaces

These announcements cover changes made between December 17, 2025 and August 30, 2026.

2025-12-17: Installation types

The --with-installtype=prod configure option installs the executable under its configured name without the commit-number suffix and symlink used by the default installation type. See installing EPIC6.

2025-08-18: Comma-separated level sets

Level sets use comma-separated names rather than space-separated names, allowing a set to be passed as a single word to interfaces such as window notify_level.

2025-06-05: Compiled regular-expression encoding

regcomp() and related compiled-regex functions use Base85 for their encoded state.

2025-06-01: Base85 transformations

xform() gained the B85 transformation for ASCII85 encoding and decoding, using the <~...~> wrapper.

2025-05-27: SASL mechanism names

SASL rules use the server’s exact mechanism spelling and case, such as EXTERNAL, ECDSA-NIST256P-CHALLENGE, SCRAM-SHA-512, and PLAIN. The supplied sasl script selects its best matching rule rather than trying multiple rules for a server.

2025-05-26: SCRAM authentication and output contexts

2025-05-16: SASL, capability negotiation, and server properties

2025-05-12: ECDSA and vhost handling

ecdsatool() adds key generation, public-key extraction, and challenge signing. Vhost handling caches resolved addresses; numeric addresses avoid hostname lookup, while a hostname can require a blocking lookup on first use.

2025-04-30: Socket and key-binding changes

Unix-domain-socket server connections were retired. Control-S is no longer bound to toggle_stop_screen by default.

2025-04-10: Compact JSON and connection policy

json_implode() defaults to compact output. The policy server state, between reconnect and dns, provides a point to adjust a server description before connection work begins.

2025-03-08: EPIC6 direction

EPIC6’s development emphasizes simpler interfaces and retiring obsolete facilities. The announced retirements include C90-only environments, shebang startup, redirect and flush, CPU saver, incoming flood control, embedded Perl and Ruby, legacy encryption types, the old math parser, Shift-JIS handling, and termcap-only environments. Mail checking and nickname monitoring moved from built-ins to scripts. Unlimited input lines and mouse interaction are among the additions.

2025-02-17: Mouse support

set mouse enables click-to-focus and scrollwheel handling on compatible terminals. Scrollwheel events affect the current input window. Mouse reporting can change the terminal’s text-selection behavior.

2024-12-12: Destructive token extraction

token() returns the text before a literal delimiter and replaces the named variable with the text after it. When the delimiter is absent, it returns the whole value and clears the variable; spaces are ordinary characters.

2024-08-26: EPIC6 fork

EPIC6 forked from EPIC5.

2016-02-13: EPIC5 2.0 announcement

EPIC5 2.0 was announced on February 13, 2016. Its epic5-2.0 tagged source records February 12, 2016, with internal_version 20160212.

2014-04-13: EPIC5 1.1.10

EPIC5 1.1.10's source release date is April 13, 2014. Its release commit, 8390b7ef, records internal commit ID 1781.

EPIC5 1.1.9 had been withdrawn because of a serious bug. The 1.1.10 release highlights were:

These were release highlights rather than guarantees that every string operation counted display columns or handled every Unicode text operation identically.

2014-04-04: EPIC5 1.1.8

EPIC5 1.1.8, internal commit ID 1775, was released on April 4, 2014. The announcement highlighted:

Available encodings and usable conversions depend on the system and EPIC’s conversion rules.

2014-03-31: EPIC4 2.10.5

EPIC4 2.10.5, internal commit ID 779, was released March 31, 2014, adding full Maildir support contributed by Jari Turkia.

2014-02-11: EPIC4 2.10.4

EPIC4 2.10.4, internal commit ID 778, was released February 11, 2014. Its changes included a new unicode script from |Rain| and a fix for $(IP) support taken from EPIC5 for FreeBSD porters.

Source references