# Peep for Windows changelog

Newest first. Each release lists what changed since the one before it. Versions before 0.9.0 were called _roost.

## 1.13.0 — 2026-10-12
- Version jump: Peep for Windows is now 1.x, alongside Peep Web 1.7; it replaces 0.13.0, which had the same features.
- Settings has tabs, like Peep Web: Mailboxes, Rules, General, Calendar, Peep server, Devices, Server and About.
  - Devices: the browsers signed in to your Peep server and the PCs linked to it, with Sign out / Unlink.
  - Server: the server check (what it runs on, what's missing, the commands to fix it, with a copy button).
- Settings is now the button at the top left of the sidebar, beside a narrower theme button (also beside Mail in Notes, Calendar and Tasks).
- The bottom row is Mail, Calendar, Address book, Tasks, Notes, Lock. Mail takes you back to your mail from anywhere.

## 0.12.0 — 2026-10-12
- Move this PC to a server: link to a Peep server that has no mailboxes yet and choose “Move this PC to the server”. This PC's mailboxes go up with their passwords, plus rules, contacts, notes, calendar, tasks and settings (theme, remote images, calendar defaults), so nothing is typed again on the web. Afterwards those mailboxes come from the server like any linked one; the mail already downloaded stays. Needs Peep Web 1.7.0.
- The sidebar's bottom row fits narrow sidebars (six buttons).

## 0.11.0 — 2026-10-12
- Tasks: a to-do list beside the calendar (the Tasks button at the bottom of the sidebar, or Shift+T): To do, Overdue, Today, Upcoming, No date and Done.
  - A task can have no date, a due day or a due time, and a reminder. Type “fri”, “tomorrow”, “2pm”; ↑ ↓ change the date or time.
  - Tasks with a date show on the calendar with a tick box; done ones are struck through. Today's and overdue tasks are listed in the calendar sidebar.
  - Type in the box at the top and press Enter to add one quickly (A or Enter jumps there; N makes a full one).
- From an email (right-click it, or More in the reader): New task, New reminder and New meeting, next to New note. A meeting invites the sender and everyone else on the email (not you), from the mailbox it came to. Each links back to the email.
- Synced with a linked Peep server (1.6.0 or later).

## 0.10.3 — 2026-10-12
- Fixed: replying to mail sent from one of your other mailboxes went back to yourself. Only mail from the replying mailbox itself, or in its Sent folder, counts as your own now.

## 0.10.2 — 2026-10-12
- Ctrl+R replies and Ctrl+Shift+R replies to all, as in Outlook (R and Shift+R still work).

## 0.10.1 — 2026-10-12
- Opening a message is instant again on a linked PC. It used to wait in line behind everything else the mailbox was doing (folder syncs, downloads), which could take minutes on a big mailbox. Opening now has its own lane: a message already on this PC shows at once, one that isn't is fetched straight from the server.
- Clicking through several messages quickly only loads the one you stop on.
- A message shows first and is marked read on the server afterwards.
- The newest 15 messages of a folder are fetched in one request instead of 15.

## 0.10.0 — 2026-10-12
- Calendar: open it with the calendar button beside Notes, or Shift+C.
  - Month, week, day and agenda views, a mini month in the sidebar and a "Coming up" list.
  - Click empty time in the week or day view (or a day in the month view) to make an event.
  - Keys in the calendar: M / W / D / A switch views, T is today, ← → (or J / K) go back and forward, C makes an event, Esc goes back to mail. In the editor, ↑ ↓ step a date by a day and a time by 15 minutes, and dates like "fri" or "tomorrow" work.
- Invitations you receive show a card above the message with Yes / Maybe / No (also in pop-out windows).
  - Your answer is emailed to the organizer: from this PC for its own mailboxes, from the server for server mailboxes.
  - Cancellations can be removed with one click. Replies to your invitations update the event when you open them.
  - Times are converted from the sender's time zone using Windows' own zone rules, or the invite's time-zone block.
- Your own meetings: add people and Peep emails them invitations, updates and cancellations.
  - Choose which mailbox sends them. Sending happens in the background, and anything that couldn't go is retried.
- Repeating events: daily, weekdays, weekly, monthly and yearly. You can change or delete just one occurrence.
- Reminders show as a Windows notification (Settings → Calendar turns them off and sets the default). While Peep is locked they don't show the event's details.
- Server mailboxes download whole messages in batches of up to 100, at most every 20 seconds, so the server (and the provider behind it, which limits logins) isn't hammered. If the server can't send them right now, the PC waits 10 minutes and the mailbox stays online.
- Settings shows the version next to its title.
- Linked to a Peep server (Web 1.5.0 or newer): the calendar syncs both ways and the most recent edit wins. Events from this PC's own mailboxes can be edited on the web, and this PC sends their emails at its next sync.

## 0.9.0 — 2026-10-12
- Renamed to Peep (peep.moe): new bird icon, "peep" wordmark, the program is now peep.exe, and the data folder is %LOCALAPPDATA%\Peep (or "data" next to peep.exe).
- This is a clean break from _roost:
  - Mailboxes, the PIN and notes from _roost aren't picked up.
  - Linked PCs have to link to the server again, and the server must be Peep Web 1.4.0 or newer.
- The server link uses Peep's own header and key format.

## 0.8.0 — 2026-10-12
- Notes: a plain-text notepad next to the mail. Open it with the Notes button beside the address book.
  - The sidebar lists your notes; the main area has a title line with the text below.
  - Notes sync with the _mail server when linked; the most recent edit wins.
  - Right-click an email → "New note from email": the subject becomes the title, and the note keeps a sender line that links back to the email.
  - Deleted notes go to Trash and can be restored for 30 days.
  - Keys: Shift+N toggles notes; in notes, ↑/↓ moves between them, Enter starts typing, Esc leaves the text, Ctrl+N makes a new one, Ctrl+F searches, and Del moves the note to Trash.
  - "Open email" finds the email through the server even after it's been moved. Notes with an email on another PC say so.
- Right-click a message in the list: open in a new window, new note, read/unread, flag, delete.

## 0.7.1 — 2026-10-12 (security)
- Attachments:
  - Names are sanitized (path characters, reserved device names, hidden direction/zero-width marks).
  - Saved and opened files are marked as coming from the internet.
  - Open works only for safe file types; anything else has to be saved first.
  - Opened copies in the temp folder are cleared after a day.
- Sending: Message-ID references are cleaned and a lone CR can't start a new header, so a crafted message can't inject headers into a reply.
- Linking to a server:
  - The address is probed first, and redirects are followed only on the same host and never from https to http.
  - The PIN is only sent to the final address.
  - A plain `http://` address needs a second press after a warning.
- `--reset-pin` also removes saved mailbox passwords and the server link (mail on the PC stays).
- The data folder is locked to your Windows user (NTFS only).
- Remote images (still on by default):
  - Never sent to this PC or the local network.
  - Each redirect is checked.
  - No cookies.
  - At most 6 at a time and 200 per message.
  - Pictures over 64 megapixels are refused.
- TLS: certificates are checked for revocation. Only one actually listed as revoked is refused.
- Hardening against hostile mail: limits on MIME depth, IMAP literal and response size, and nesting. Very deeply nested HTML shows as plain text. Bigger main-thread stack.
- CSV export of the address book can't produce Excel formulas.

## 0.7.0 — 2026-10-12
- Link to a _mail server: enter the web PIN once to get a device key that can be revoked.
- Mailbox picker: a server mailbox replaces this PC's copy of the same mailbox, which goes inactive (greyed).
- Server mailboxes:
  - Everything goes through the server: sync by change, sending and drafts.
  - Changes made offline are queued and replayed in order.
  - Rolling 90-day local copy (configurable), plus older mail opened within the window.
- Active/inactive checkbox for every mailbox; "Delete local data" per mailbox; Unlink.
- Address book shared with the server (most recent edit wins).
- Rules for server mailboxes live on the server.
- Connection refused no longer waits out the full timeout on Windows.

## 0.6.0 — 2026-10-11
- Server search, keyboard shortcuts + cheat sheet (F1 / ?), wide single-line list, portable mode (a `data` folder next to roost.exe).

## 0.5.0 — 2026-10-11
- Rules editor (per mailbox, ordered, run on the inbox now).
- Folder create/rename/delete/empty, mark all read, nested folders.
- Unread badge (title, tray tip, taskbar overlay).
- Clickable sender/recipients with a contact card.

## 0.4.1 — 2026-10-11
- Address book window (Ctrl+B): vCard/CSV import and export.
- Selectable reader text, right-click copy and links, clickable links in plain-text mail.

## 0.4.0 — 2026-10-11
- Compose: send, drafts, reply/all/forward, signatures, attachments, address suggestions, mailto.
- Messages open in their own windows.

## 0.3.0 — 2026-10-11
- HTML mail reading, inline and remote images, links, attachment open/save, fit to width.

## 0.2.x — 2026-10-11
- 0.2.0: app shell: themes, sidebar/list/reader, PIN lock, mailbox setup, push, tray, notifications.
- 0.2.1: Classic theme.
- 0.2.2: SMTP falls back to 587/STARTTLS; wrapping toasts.
- 0.2.3: Schannel client-certificate requests, TLS 1.3.

## 0.1.0 — 2026-10-11
- Engine: IMAP (IDLE), SMTP, MIME, TLS, SQLite store, sync, rules, push watcher; roostcheck tool.
