Repository navigation
Releases
Releases · rahulgurujala/coursegrab
v2.2.5
2.2.5 (2026-09-29)
Refactoring
- phase 1: toolchain skeleton for the foundation rewrite (ef171ac)
- phase 2: name the real domain model in src/shared/types.ts (c941207)
- phase 3: extract every Udemy HTTP call into src/api/udemy.ts (b2cd937)
- phase 4: extract courseStore and manifest into src/store/*.ts (4f3fd42)
- phase 5a: port rangeDownloader to TypeScript, add real tests (4aa862f)
- phase 5b: extract naming, fs cleanup, and plan comparison into src/download/*.ts (872859e)
- phase 5c: extract the download orchestrator, the real surgery (88b87f4)
- phase 6a: extract the course row into src/view/courseRow.ts (ddf765d)
- phase 6b: extract the course details view and devlog into typed modules (a15be0c)
- phase 6c: extract the app shell into src/view/shell.ts (74a77db)
- phase 6d: convert app.js to src/app.ts, the last renderer file (850cb7a)
- phase 7-9: split the main process into src/main/*, delete superseded files (6f5ab5b)
- TypeScript foundation rewrite (b42537f)
v2.2.4
v2.2.3
2.2.3 (2026-09-29)
Bug Fixes
- attachment downloads failing with ENAMETOOLONG, content still capped too narrow (#35) (a585400)
- guessExtension() now splits on either "?" or "&" and only trusts a short, alphanumeric result as a real extension, falling back to the asset's own name or a generic extension otherwise. Verified directly against the exact broken URL from the bug report (produces "1.1 Section 1 - Intro.pdf" instead of a 300-character name) and against normal well-formed URLs (unaffected). Also added a hard length cap (capName()) on every generated file and folder segment as a backstop, so this class of bug can never produce an unopenable path again regardless of what a URL looks like. (a585400)
v2.2.2
v2.2.1
v2.2.0
v2.1.1
v2.1.0
2.1.0 (2026-09-28)
Features
- new CourseGrab logo (#14) (d92c5c9)
- skip protected lectures, resume interrupted downloads, download only new or changed content and a course details view (#19) (c4a37ab)
Bug Fixes
- sign in by watching the Udemy access_token cookie and verify tokens before accepting them (#11) (2d3a64f)
Refactoring
Documentation
v2.0.0
2.0.0 (2026-09-28)
⚠ BREAKING CHANGES
- the app and package are now called CourseGrab. Existing settings and login are kept.
Features
- migrate package manager from npm to bun (3f74b3a)
- rebrand Udeler to CourseGrab (e5ee518)
- redesign the UI with light and dark themes (9e63971)
- upgrade Electron 8 to 44 and electron-builder to 26 (d4a850c)
Bug Fixes
- restore dot-path settings keys and apply the Business subdomain to API calls (97e51d4)