Changelog¶
Version 0.1.4 (2026-01-25)¶
Enhanced
--list-submission-statusto show attachment details (file count, size, type, upload time).Updated Canvas and Google Classroom sync to fetch detailed attachment info (supports Drive files, Links, Forms, YouTube videos).
Updated
--export-all-detailsto include full attachment breakdown.Refined default sort order for roster exports: Section > First Name > Last Name > Student ID.
Implemented Vietnamese-specific collation for correct alphabetical sorting (e.g., handles ‘Â’, ‘Đ’ correctly).
Version 0.1.3 (2026-01-25)¶
Improved
export_companies_to_vcfwithraw_datafallback logic to extract contact person and phone numbers.VCF exports (students and companies) now skip entries with no phone number information.
Enhanced company VCF export filename detection to use
companies_contacts.vcfby default.Improved company data import column mapping (better Vietnamese keyword support and email priority).
Fixed
UnboundLocalErrorincourse --import-internshipsby adding missing local import.Fixed
UnpicklingErrorincourse --export-vcf(and other commands) when loading SQLite databases withcompaniestable.Added company field mappings for VCF export and student loading.
VCF export now strictly uses
UNIVERSITY_NAMEfrom config (defaults to empty if not set) instead of hardcoded default.
Version 0.1.2 (2026-01-24)¶
Added
--import-registrationscommand to support student internship registration data (skills, wishlist, notes).Added
INTERNSHIP_REGISTRATION_SHEET_URLconfiguration key.Added company contact management with
--import-companiesand--export-companies, stored incompanies.db.Improved export formatting for student details (JSON unwrapping for progress reports, translated labels, hidden empty fields).
Added support for English headers in internship data and registration imports.
Updated documentation and sample data to English.
Version 0.1.1 (2025-12-27)¶
Added multi-file glob support for import/update CLI commands.
Added student detail sort methods and clearer export/report formatting.
Normalized Canvas/Google Classroom sync scores to a 10-point scale when possible.
MAT*.xlsx roster imports now ignore score columns (CC, GK, CK, totals).
MAT Excel updates can infer missing student IDs from VNU University of Science, Hanoi emails.
Added resubmission grading workflow with optional keep-old-grade default.
Canvas sync stores submission comments and rubric evaluations.
Canvas grade parsing now falls back to Unposted Final Score when Final Score is empty/zero (CC/GK/CK).
Final evaluation reports omit assignment-group scores when all component scores are 0.
Final evaluation weights are configurable (
WEIGHT_CC,WEIGHT_GK,WEIGHT_CK) and the TXT output includes the formula.Added course calendar builder (TXT/Markdown/ICS) with holiday exclusions, unofficial holidays, and make-up week logic.
Course calendar titles include course code/name and canceled sessions are tagged.
Added Canvas calendar import from iCal (.ics) files with dry-run and duplicate skipping.
Improved Canvas announcement flow with short input, AI refinement, and confirmation before posting.
Added auto-generated short aliases for long-only CLI flags.
Added
--list-cli-aliasesto display auto-generated short aliases.Added duplicate-name reporting (Name/Google Classroom/Canvas display names) with TXT/CSV/JSON exports.
Documentation and samples updated for new sync, calendar, and local AI tooling.
Version 0.1.0 (2025-12-27)¶
Packaged the original script as a Python CLI with install helpers and standardized flags.
Added course-scoped config/credential storage with cached course codes.
Rebuilt the no-args menu with sections, arrow-key navigation, and numeric quick-jump.
Added
--clear-configand--clear-credentialshelpers plus Windows/Linux compatibility fixes.Canvas/Google Classroom sync now resolves duplicates; Canvas grade sync stores final scores only.
Added override grades (flexible headers/aliases) with clearer reporting in MAT exports.
Added AI model testing/listing, rate-limit fallback, and model details in reports.
Expanded submission quality checks with configurable thresholds and richer diagnostics.
Added backup/restore commands, dry-run mode, validation reports, grade audit history, and grade diff exports.
Added import previews, anonymized exports, and per-run summaries in
run_report.txt.Added weekly automation workflow generation and non-interactive Canvas checks/reminders.
Added local weekly automation with archived reports and flagged-submission evidence.
Weekly workflow now clones the toolkit, archives reports with DB backups, and tags evidence by assignment.
Weekly automation can auto-detect closed assignments not yet in weekly reports.
Added local LLM support (Ollama-compatible) for AI refinement and message generation, with CLI overrides.
Added local model detection via
--detect-local-ai(Ollama or llama.cpp) and optional.ggufscan.Updated docs and samples; added GPL-3.0-only license.