Releases: sir-ad/knight
Releases · sir-ad/knight
v0.3.1 — Bug fixes & stability
What's fixed
Resume parsing
- Skill extraction crash —
skill_toolandskill_languageentries were mapped to wrong profile keys ("tool"/"language"instead of"tools"/"languages"), raising aKeyErrorthat silently aborted parsing on any resume with tools or programming languages listed. Fixed with an explicit bucket map. - DOCX parsing on Windows —
NamedTemporaryFile(delete=True)held a file lock that preventeddocx2txtfrom opening the same path. Switched todelete=Falsewith afinallycleanup so the handle is fully closed before the file is read.
LLM providers
- Response crash on empty arrays — All four providers (
OpenAI,Anthropic,Google,Ollama) accessed response array indices without bounds or null checks. Any emptychoices,candidates, orcontentarray surfaced as a bareTypeError. Now throws a descriptive error withfinish_reason/stop_reason. - Request timeouts — Provider
fetch()calls had no timeout. A hung or unreachable API would freeze the extension UI indefinitely. Added a 30-secondAbortControllertimeout to all provider requests. - Invalid Anthropic model IDs —
claude-opus-4-6,claude-sonnet-4-6, andclaude-haiku-4-5-20251001were not valid model identifiers. Corrected toclaude-opus-4-5,claude-sonnet-4-5, andclaude-haiku-3-5.
Extension runtime
- Gmail sync aborting mid-batch — A single malformed or rate-limited message aborted the entire sync loop. Each message is now isolated in its own try/catch; failures are logged and the loop continues.
- Redundant storage migration —
getProfile,getSettings,getApplications, andgetProfileDrafteach triggered a fullmigrateLegacyData()scan on every call. Added a module-level flag so migration runs once per service-worker lifetime. - ATS badge missing on fresh install — The
ATS_DETECTEDnotification was only sent after a stored profile was confirmed. On a fresh install the badge never appeared. Moved the notification before the profile check so the badge always fires when a portal is detected.
Docs
- README restructured with architecture diagram, portal support table, LLM provider table, quick-start guide, and CI/CD pipeline summary.
- Added Chrome MV3, Node 20+, Python 3.11+, and release version badges.
Installation
- Download
knight-v0.3.1-chrome.zipand unzip it. - Open
chrome://extensions, enable Developer Mode, click Load unpacked, and select the unzipped folder. - Start the resume parser sidecar — see README for setup.
Full Changelog: v0.2.1...v0.3.1
v0.2.1
v0.2.0
Full Changelog: v0.1.2...v0.2.0
v0.1.2
Full Changelog: v0.1.1...v0.1.2