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