# Changelog What changed in each release of pisg, newest first. This file is the short version; the complete history back to 2001 is in [`docs/Changelog`](docs/Changelog), and the long release notes for 1.0a are in [`docs/RELEASE-NOTES-1.0.md`](docs/RELEASE-NOTES-1.0.md). Website: · Help: `#pisg` on Undernet (`irc.undernet.org`) · Bugs: --- ## 1.0a — 2026-09-21 The "Modern Look" release. The `a` is for alpha: everything below works, but it has not had a long run in the wild yet. Nothing you have set up has to change: the same parsers, the same statistics, the same `pisg.cfg`. The default colour scheme is still `default`. The new sections are on by default — see *Upgrading* below if you want the old page exactly. ### Added - **Guided setup**: `perl setup.pl` finds logs already on the computer (eggdrop, ZNC, irssi, WeeChat, HexChat, mIRC, AdiIRC), asks a few questions, writes `pisg.cfg`, makes the first page, offers to run pisg on a schedule and lists free places to host the pages. It never overwrites an existing `pisg.cfg`. `--dry-run` shows what it would do. - **Four modern colour schemes** — `modern`, `midnight`, `amoled`, `terminal` — generated from one stylesheet by `layout/build-themes.py`. `modern` follows the reader's light/dark setting. The eight classic schemes are unchanged. - **Seven new sections**, all on by default: | Section | Option | | --- | --- | | Channel overview | `ShowOverview` | | Who talks to whom (interactive map) | `ShowRelations`, `RelationNicks`, `RelationMinWeight` | | Closest pairs | `ShowRelations` | | Social roles | `ShowRelations` | | Time personalities | `ShowTimePersonalities` | | Who carries the channel | `ShowConcentration` | | Signature words | `ShowSignatureWords` | - **Section navigation** (`ShowNavBar`): a menu down the left on wide screens, a slim bar on phones. Works without JavaScript. - **Landing page**: `site/index.html`, one static file, reads the `channels.json` pisg writes next to its pages (`ChannelIndex`) and compares every channel. `HomeLink` adds an "All channels" button to each stats page. - **`BadUrls`**: keep URLs out of the URL statistics, with `*` and `?` wildcards. - **Several channels in one run**: a channel that cannot be read is skipped with `Skipped channel #name: reason` and the others are still made. - **`pisg.cfg.example`** lists every option with what it does; `docs/pisg-doc.html` is the whole manual as one page. `docs/gen-example-config.py` and `docs/xml2html.py` rebuild them. - **Optional tools** in `scripts/`: - `eggdrop-pisg.tcl` — people set their own sex, picture and link and merge their nicks from IRC (`!pisginfo`, `!pisgmerge`, `!pisgshow`, `!pisgdel` …). Identified by services account; never overwrites a `` line you wrote. Tests: `eggdrop-pisg-test.tcl`. - `pisg-autoalias.py` — merges nicks seen with the same authenticated host (`*.users.undernet.org`). Your own `` lines always win. - `adiirc2eggdrop.py` — converts AdiIRC client logs to eggdrop or ZNC format so old history can join the stats. Never overwrites a file. - `znc-setup.sh` — lets pisg read a ZNC account's log folders; prints its plan first. - English and French texts for everything new; other languages fall back to English. ### Changed - **The project's home is `#pisg` on Undernet** (`irc.undernet.org`), no longer freenode. Bugs and patches go to GitHub issues; the SourceForge list and tracker are read-only. - Pages are responsive from 360 px phones to wide screens and use full UTF-8 with ``. - `eggdrop-pisg.tcl`: `!pisgstats` is open to everyone and no longer runs pisg inside the bot (`!pisghelp pisgstats` says so); the old timer is off by default. - The version string is `1.0a` (pages say *Stats generated by pisg v1.0a*). - `docs/Makefile` builds the manual with `docs/xml2html.py`; `make release` packs `setup.pl`, `CHANGELOG.md`, the release notes and the new scripts, and no longer the removed `gfx/` images. ### Removed - The `canada` colour scheme, which existed only during development, is not distributed. ### Fixed - A page is written to a temporary file and moved into place only when complete — an error can no longer leave a half-written page. - pisg exits with status 1 on failure (it used to exit 0). - A section that fails is skipped with a warning instead of stopping pisg. - An error in one channel no longer leaks its nick aliases into the next. - Long quotes are cut on a character boundary, so UTF-8 is no longer split in half. - "Most used words" no longer lists punctuation or ASCII art. - *Social roles*: the lone wolf is someone with fewer close contacts than most regulars, and never the connector (it used to name the busiest nick, who is usually connected to everyone). - Tables share one left edge; column titles and "3 days ago" stay on one line. ### Upgrading 1. Replace the program files. Your `pisg.cfg` keeps working. 2. For the old page exactly, set `ShowOverview`, `ShowRelations`, `ShowTimePersonalities`, `ShowConcentration`, `ShowSignatureWords` and `ShowNavBar` to `0`. 3. For the new look: `` (or `midnight`, `amoled`, `terminal`). 4. If a script or cron job treated any exit status as success, check it: failures now exit 1. 5. For the landing page, copy `site/index.html` next to your pages, run pisg once so `channels.json` exists, and add ``. Requirements for pisg itself are unchanged (Perl). The optional tools need Python 3, Tcl 8.6 with an eggdrop, and `JSON::PP` (core Perl) for `ChannelIndex`. ### Website was rebuilt for this release: the manual at `/docs/`, these notes at `/changelog/`, a full example stats page and landing page at `/demo/`, and a theme creator at `/themes/` that builds a stylesheet from a palette — including the eight classic schemes converted to 1.0a palettes — and previews it on a complete page. --- ## 0.80-preview2 — 2016-02-21 - Removed the need for separate `.png` files: the bar graphics are embedded in the page. - Replaced SourceForge links with GitHub Pages. - Greatly improved cache performance. ## 0.80-preview — 2016-02 - Simple checksums now used for validating the cache. - Rounded corners and flatter graphics. ## 0.73 — 2012-01-18 Last release of the SourceForge era. Earlier releases, back to 2001: [`docs/Changelog`](docs/Changelog). --- pisg was started in 2001 by Morten "mbrix" Brix Pedersen () and is free software under the GNU GPL, version 2 or later.