# feat: password-protected sections, notebook recycle bin, unread changes, and Direct3D 11 on Windows 7 · clo/snowbound

[View on GitCafe](https://git.cafe/clo/snowbound/commit/f68c9103fa67fd96322bb45c6ae66086d53bc18d)

Repository: [clo/snowbound](https://git.cafe/clo/snowbound)

Visibility: public

Requested revision: f68c9103fa67fd96322bb45c6ae66086d53bc18d

Requested commit: f68c9103fa67fd96322bb45c6ae66086d53bc18d

Commit: f68c9103fa67fd96322bb45c6ae66086d53bc18d

Tree: a2a1a47eb03e541c67f1ae798b82d3e6e13800c0

Author: clover caruso

Committer: clover caruso

## Message

```
feat: password-protected sections, notebook recycle bin, unread changes, and Direct3D 11 on Windows 7

- Password-protected sections: unlock, protect, change and remove passwords, lock all, auto-lock
- Notebook Recycle Bin view with restore and empty
- Unread changes in bold with Mark as Read and Next Unread
- Save As for pages, sections and notebooks, and .onepkg pack and unpack
- Direct3D 11 renderer for Windows 7 and machines without Direct3D 12
- Windows 7 Aero toolbar styles (bar, pills, frost, tint, tint-tiles)
- Section colour, notebook properties and default font colour
- Right-to-left pages open where OneNote puts them
- Update summaries listing what each update brings
- Sync status popup with Work Offline in its header
- iOS soft axis lock while scrolling and a zoom detent at 100%
- Single-instance handoff on Windows and Linux
- iOS no longer seeds a sample notebook on first launch
- Search finds text from templates, restored versions and copied pages
- PDF export follows OneNote order and skips date-only untitled pages
- A whole-page paste followed by a sync refresh no longer crashes
- Another device drops its plaintext copy once a section is protected
- Setting a password never overwrites a concurrent revision
- Local CI gate (tools/ci.py) used by releases

Assisted-by: claude-opus-5.5

```

## Parents

- [932ef789ec44c35ed71fda1ec07adcd7365eb416](https://git.cafe/clo/snowbound/commit/932ef789ec44c35ed71fda1ec07adcd7365eb416?format=markdown)

[Source at this commit](https://git.cafe/clo/snowbound/tree/f68c9103fa67fd96322bb45c6ae66086d53bc18d?format=markdown)
