Skip to content

Releases: nikolareljin/local-ai-lab

0.9.0

16 Jun 22:01
fe113ef

Choose a tag to compare

Added

  • Packaging - a pyproject.toml makes localrag pip-installable (pip install -e '.[dev]') with
    a localrag console entry point. The version has a single home (localrag/__init__.py, read
    dynamically), and ruff/mypy/pytest config now lives in one place.
  • OSS governance files - CONTRIBUTING.md, SECURITY.md, CODE_OF_CONDUCT.md (Contributor
    Covenant 2.1), GitHub issue templates (lesson request + bug report) and a pull-request template.
  • PRODUCTION_NOTES.md - an honest checklist of what the teaching demo keeps simple on purpose
    (prompt-injection handling → Lesson 4, web-UI auth, comprehensive tests, batch embeddings, logging)
    and what you'd harden for real-world use. Linked from the README and CONTRIBUTING.
  • CI lint + type gate - CI now runs ruff and mypy (provider HTTP calls type-checked via
    types-requests) alongside the tests, plus a few offline smoke tests for the engine retriever cache
    and the web /api/status route.

Changed

  • Docs polish - a one-line learning-outcomes summary above the README curriculum, an FAQ section
    on the documentation page, consistent lesson headers across Lessons 1-5 (PDF + interactive-slides
    links and a time/prerequisites line), fuller "from demo to production" guidance in Lessons 3 and 4,
    and a general update pass over the Markdown files.
  • Consistent site navigation - every docs page now shows the same top menu (Lessons, Documentation,
    Cheat-sheet, Troubleshooting, About, Install), the title tile links home, and PDF-download links
    carry a small download glyph.

Fixed

  • Embedding vector cache invalidates on embedder change - switching the embed provider or model no
    longer silently reuses vectors built by the previous embedder; the cache is tagged with the embedding
    signature and rebuilt on mismatch.
  • EmbeddingRetriever.search guards non-positive k - returns no hits for k <= 0, matching
    Bm25Retriever (a negative k previously sliced from the end and returned most results).

0.8.0

16 Jun 02:01
31623ed

Choose a tag to compare

Changed

  • Lesson numbering aligned across the repo. The six planned framework-tour outlines moved from the
    repo root into roadmap/ and were renumbered to their curriculum numbers — LangChain 3→7,
    LangGraph 4→8, Ollama 5→9, Semantic Kernel 6→10, Bedrock 7→11, Google ADK 8→12. Every
    written guide's navigation chain, cross-references, and "next lesson" links now follow the real order
    (1 RAG → 2 MCP → 3 Hybrid → 4 Safety → 5 Eval → 6 Repo → 7–12 framework tour), so the live Lessons
    3–5 are reachable from the guides instead of being shadowed by the old outlines.
  • PDF build (tools/build_lesson_pdfs.py): emits LESSON7–12.pdf from the roadmap/ sources under
    their curriculum numbers, while LESSON3–5.pdf are now built from the live lesson READMEs; the stale
    outline-based PDFs under the old 3–6 numbering were dropped. The builder now auto-discovers
    lessons from disk (root LESSON<n>.md, lessons/<NN>-slug/README.md, roadmap/LESSON<n>-slug.md), so
    a new lesson gets a PDF with no edits.
  • Home page lists every lesson PDF through two dropdowns (Lessons 1–5, Roadmap 7–12) instead of a
    single Lesson-1 link.

Added

  • roadmap/README.md: an index of the planned-lesson outlines that points back to where the live
    lessons live.
  • Educator positioning — a README "About the author" + "What you'll be able to do" section, a
    "Who's teaching this" section on the site home, an "About the author" section on docs/about.html,
    and a new SYLLABUS.md (clusters, per-lesson learning objectives, prerequisites matrix, and time
    estimates).
  • Printable PDFs for the live Lessons 3–5 (built from each lesson's README.md) — docs/pdf/ now
    covers Lessons 1–5 and 7–12.
  • Auto-generated README "Lessons & downloads" table via tools/sync-readme-downloads.py, listing
    every lesson's Markdown guide and PDF plus the guide PDFs; --check mode fails CI when it's stale.
  • Cookieless usage analytics (docs/assets/analytics.js): privacy-friendly GoatCounter that loads
    on the production site only, over HTTPS, scoped to the /local-ai-lab/ path, with queued early events
    and lightweight click/slide tracking. Wired into every docs/*.html page.
  • AI-for-developers cheat-sheet — a printable docs/pdf/CHEATSHEET.pdf plus a nav link in the
    generated lesson pages; the About page now links the related NikOS and leak-lock projects.

Fixed

  • Hardened the PDF asset resolver (tools/build_lesson_pdfs.py): _resolve_asset now rejects
    remote URIs and out-of-tree absolute paths, so the build can't pull in assets outside the repo.

0.7.1

15 Jun 16:45
a0cbcbb

Choose a tag to compare

Added

  • Documentation page (docs/documentation.html): a single project-wide reference covering install,
    run, test, experiment, and how everything works — with first-class Windows (PowerShell/cmd)
    coverage using plain toolchain commands. Linked from the site nav (all pages) and the landing CTA.
  • Automated releases (.github/workflows/release.yml): merging a release/X.Y.Z branch to main
    (which bumps CHANGELOG.md) creates the annotated tag and a GitHub Release with the changelog notes.

Changed

  • Concise README: trimmed from ~300 to ~110 lines. Keeps the pitch, badges, 60-second quickstart,
    and the curriculum table (lesson + PDF links); the detailed ./run reference, provider table, RAG
    internals, and repository-layout tree now live on the Documentation page.