Prepare v0.4 release and open source docs

This commit is contained in:
Akshay Kolli
2026-06-29 23:42:39 -07:00
parent 085d7a16dc
commit 504bd2d39a
58 changed files with 5076 additions and 923 deletions

1
.github/CODEOWNERS vendored Normal file
View File

@@ -0,0 +1 @@
* @akkolli

36
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@@ -0,0 +1,36 @@
---
name: Bug report
about: Report a reproducible problem in I Hate PDFs
title: ""
labels: bug
assignees: ""
---
## Summary
What happened?
## Expected Behavior
What did you expect to happen?
## Steps To Reproduce
1.
2.
3.
## Environment
- I Hate PDFs version/build:
- macOS version:
- Install source: GitHub release or Mac App Store
- Mac architecture: Apple Silicon or Intel
## Screenshots Or Recordings
Attach screenshots or recordings for UI problems. Each file must be under 1 MB.
## Additional Context
Add any relevant PDF workflow details. Do not attach private PDFs publicly.

View File

@@ -0,0 +1,27 @@
---
name: Feature request
about: Suggest an improvement for I Hate PDFs
title: ""
labels: enhancement
assignees: ""
---
## Problem
What workflow problem should this solve?
## Proposed Solution
What should I Hate PDFs do?
## Alternatives Considered
What workaround or other app behavior have you tried?
## UI Impact
Will this change visible UI? If yes, describe the screen, toolbar, menu, sidebar, popover, or dialog affected.
## Size And Privacy Impact
Does this require new assets, dependencies, network behavior, bundled PDFs, or release-size increases?

28
.github/pull_request_template.md vendored Normal file
View File

@@ -0,0 +1,28 @@
## Summary
Describe what changed and why.
## Screenshots Or Recordings
Required for UI changes. Include before and after screenshots for changed UI, or at least one screenshot/recording for new UI.
Each screenshot, recording, and committed media file included with this pull request must be under 1 MB.
## Checks
List the checks you ran:
- [ ] `swift test`
- [ ] `swift build -c release`
- [ ] `scripts/verify-release-artifacts.sh`
- [ ] Manual UI check
- [ ] Not run, because:
## Checklist
- [ ] I read `CONTRIBUTING.md`.
- [ ] This pull request is focused on one behavior, fix, or documentation change.
- [ ] I updated `CHANGELOG.md` for user-visible changes, or this change is not user-visible.
- [ ] UI changes include screenshots or recordings, or this pull request does not change UI.
- [ ] Every screenshot, recording, and committed media file in this pull request is under 1 MB.
- [ ] I explained any app-size impact from new assets, dependencies, or release packaging changes.

53
.github/workflows/media-size.yml vendored Normal file
View File

@@ -0,0 +1,53 @@
name: Media Size
on:
pull_request:
paths:
- "**/*.gif"
- "**/*.jpeg"
- "**/*.jpg"
- "**/*.mov"
- "**/*.mp4"
- "**/*.png"
- "**/*.webp"
jobs:
media-size:
name: Media files under 1 MB
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Check changed media size
shell: bash
run: |
set -euo pipefail
limit_bytes=1048576
failed=0
mapfile -t media_files < <(
git diff --name-only --diff-filter=ACMRT \
"${{ github.event.pull_request.base.sha }}" \
"${{ github.event.pull_request.head.sha }}" \
-- \
'*.gif' '*.jpeg' '*.jpg' '*.mov' '*.mp4' '*.png' '*.webp'
)
for file in "${media_files[@]}"; do
if [[ ! -f "$file" ]]; then
continue
fi
size_bytes=$(wc -c < "$file" | tr -d ' ')
if (( size_bytes >= limit_bytes )); then
echo "::error file=${file}::Media file is ${size_bytes} bytes. Keep each screenshot, recording, and committed media file under 1 MB."
failed=1
fi
done
exit "$failed"