Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions docs/release-notes/v1.1.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Quill v1.1.0

**Share a clean copy, and a hardened 1.0.**

The headline is **Export to PDF** — hand someone the finished document without handing over Quill. Underneath it, this release puts real weight behind the security posture promised at 1.0: file access is confined, deep links and URLs are validated, and saved review data is checked before it's trusted. Plus local diagnostics for when something does go wrong.

## Highlights

- **Export to PDF (Cmd+P)** — **File → Export to PDF…** produces a **clean copy** of the document: pending suggestions render as accepted, and comment highlights and track-changes marks are left out — the reader sees the finished text, not the review. Pick **Save as PDF** in the print dialog that opens. Built for sharing with someone who doesn't have Quill; a review-copy export (with the marks intact) is a deliberate non-goal for now.
- **Local diagnostics** — Quill now keeps a rolling log file, and the **Help** menu offers **Copy Diagnostics** (app version, OS, and the log path, ready to paste into an issue) and **Show Logs** (opens the log folder). Rust panics are captured to the log too, so a crash leaves a trail.
- **Security hardening** — a focused pass before wider release:
- File-read/-write commands are confined to expected locations, and `quill://open` deep-link targets are validated before they're acted on.
- Link and update-banner URLs are restricted to safe schemes (no `javascript:` / `file:` surprises from document content).
- Comments and suggestions loaded from a `.comments.json` sidecar are validated before they're trusted — a malformed or hostile sidecar can't smuggle bad data into the editor.
- The `@claude` CLI is resolved through a hardened lookup path.
- A new [SECURITY.md](https://github.com/sam-powers/quill/blob/main/SECURITY.md) documents the threat model, the hardening, and the judgment calls — with a disclosure contact for reporting issues.

Documents and sidecars remain fully compatible with every previous release in both directions.

## Install

| Platform | Asset |
| --------------------- | --------------- |
| macOS (Apple Silicon) | `…_aarch64.dmg` |
| macOS (Intel) | `…_x64.dmg` |

Builds are **unsigned**: right-click **Quill.app** → **Open** → **Open** on first launch.

The `@claude` features require the [Claude Code](https://claude.com/claude-code) CLI on the same machine. See the [User Guide](https://github.com/sam-powers/quill/blob/main/docs/USER_GUIDE.md) for a walkthrough.

## Known limitations

- macOS only for now. The `@claude` integration finds the Claude CLI via Unix paths; rather than ship a partial experience, Windows and Linux installers are deferred (both platforms can [build from source](https://github.com/sam-powers/quill#building-from-source)).
- No code signing yet (Gatekeeper warning above).
- Single document per window; no multi-user collaboration or cloud sync.
- **Export to PDF** goes through the system print dialog (Save as PDF) and produces a clean copy only — there's no marks-intact "review copy" export.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "quill",
"private": true,
"version": "1.0.0",
"version": "1.1.0",
"description": "The document editor that can hold a conversation — tracked changes, inline comments, and Claude replies for plain Markdown files.",
"author": "Sam Powers <samueldarinpowers@gmail.com>",
"license": "Apache-2.0",
Expand Down
2 changes: 1 addition & 1 deletion src-tauri/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion src-tauri/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "quill"
version = "1.0.0"
version = "1.1.0"
description = "The document editor that can hold a conversation — tracked changes, inline comments, and Claude replies for plain Markdown files."
authors = ["Sam Powers <samueldarinpowers@gmail.com>"]
edition = "2021"
Expand Down
2 changes: 1 addition & 1 deletion src-tauri/tauri.conf.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"$schema": "https://schema.tauri.app/config/2",
"productName": "Quill",
"version": "1.0.0",
"version": "1.1.0",
"identifier": "io.github.sam-powers.quill",
"build": {
"beforeDevCommand": "npm run dev",
Expand Down
Loading