Changelog
All notable changes to AI Proposal Writer for Upwork. Version numbers refer to the Chrome extension; backend changes that don't require an extension update are listed under the version they shipped alongside.
1.0.5 — May 2026
Bug fixes
- Fixed job detection on Upwork's slide-out details modal (URLs with
_modalInfo,navType=slider). The parser was reading content from search-card listings above the modal instead of the job currently being viewed. Now scopes all queries to the modal element. - Handled Upwork's modal-layout duplicated
data-test="Description Description"attribute that exact-match selectors were skipping.
Other
- Listing title expanded for clearer feature discovery on the Chrome Web Store: now
AI Proposal Writer for Upwork with Fit Score, Templates & History.
1.0.4 — May 2026
Bug fixes
- Fixed post-Google-sign-in flow on Upwork tabs. Fresh logins were incorrectly landing on the "Open Upwork" placeholder because the active-tab tracker captured a stale URL during the OAuth popup. Re-queries the active tab whenever auth flips into a signed-in state, and filters out non-web URLs (
chrome://,chrome-extension://) from tab tracking so OAuth handlers can't pollute state.
Backend (live for all users)
- AI prompt: bold allowed for one phrase in the hook only (highlights the sharpest insight); hard ban on emojis; direct CTA appended after the insight question; closing-line shortened from sentences to salutations so the CTA stays the last thing the client reads.
- Refund reconciliation in
/api/billing/details: when anorder.refundedwebhook fails to deliver, the next time anyone opens Plans & Billing the system detects the refunded order and automatically downgrades — self-heals without admin intervention.
1.0.3 — April 2026
New features
- Bio field in Settings (5000 character cap to match Upwork's profile description). Free-form professional summary that the AI uses for angle and proof-point selection. Strongest output quality boost when paired with a saved writing sample.
- Pre-refund eligibility check — admin endpoint and in-app indicator showing usage against the 10-proposal threshold for the current billing period.
- Refund handling — admin-issued full refunds on Polar trigger immediate downgrade to Free, log a
Refund processedentry in the subscription history timeline, and send a confirmation email with the refund amount. - Subscription history timeline in Plans & Billing → Overview, showing chronological events (signup, upgrade, cancellation scheduled, refund, downgrade).
- Tabs in Plans & Billing — Overview / Plans, with a context-aware default tab (Pro users land on Overview, Free users on Plans).
- Cancel-at-period-end — cancellation now defers to the end of the current billing period instead of revoking access immediately. Reactivate any time before the end date.
- AI prompt hardening — anti-prompt-injection (ignores embedded "type the word X" client traps in job descriptions) and anti-AI-detection rules (no em dashes, forbidden vocabulary list, forbidden sentence shapes).
Bug fixes
- Stale-plan token handling: when a webhook downgrades a user,
/api/billing/detailsissues a fresh access token so plan limits and the badge update without a sign-out / sign-in. - Back button from Plans & Billing returns to Settings when opened from there, instead of dropping to the job page.
- Permissive Upwork URL check: detects all
*.upwork.comsubdomains, not onlywww.upwork.com. - Inline Cancel subscription button in Settings replaces the previous "Manage subscription" portal redirect.
1.0.2 — April 2026
Other
- Fixed Chrome Web Store rejection caused by the
keyfield in the production manifest. Build flow now strips the field after Plasmo writes the manifest. Same code as 1.0.1; this version exists only for resubmission.
1.0.1 — April 2026
New features
- Polar.sh billing — $15/month Pro plan, 150 proposals per month. Polar acts as Merchant of Record, handling tax for all jurisdictions.
- Customer portal — manage subscription, payment method, and view past invoices.
- Plan upgrade UI — auto-polls
/api/billing/check-planafter checkout starts so the UI flips to Pro within seconds of the webhook landing. - Cancellation email — confirmation when subscription downgrades to Free.
Other
- Plan badge (Pro / Free) shown in every screen header.
- Switched from SMTP to Mailtrap HTTPS Send API (Railway blocks outbound TCP to SMTP servers on every port).
1.0.0 — April 2026
Initial Chrome Web Store release.
Core features
- AI proposal generation via Claude Opus 4.7 with adaptive thinking, streamed character-by-character into the textarea.
- 3 tones (Casual, Formal, Technical) and 3 lengths (Short, Medium, Detailed).
- Insert-as-typed mode — streams the proposal directly into Upwork's apply form.
- Job detection on
upwork.compages — reads title, description, budget, skills, experience level, client info, and activity stats. - Fit Score (0–100) — automated job-match analysis with reasons and risk flags.
- Profile onboarding — 3-step wizard (identity, past projects, writing tone + sample).
- Templates — create, edit, delete, tag, import, export.
- History — last 20 generated proposals, viewable and re-saveable as templates.
- Free plan — 10 proposals per month, full feature access.
- Email/password and Google OAuth sign-in.
- Light / System / Dark theme.
- Public privacy policy at
/privacy.