| Metadata |
Value |
| Status |
Active |
| Version |
1.8.0 |
| Last Updated |
2026-09-20 |
| Author |
Sangeetha Grantha Team |
| Document Type |
Current guide |
Current Technology Versions
Documentation reference for repository-pinned and lockfile-resolved dependency versions. Source manifests and lockfiles are authoritative; this is not a claim about the latest upstream releases.
All documentation should reference this file instead of hardcoding version numbers.
When updating dependencies, update the source file first, then sync this document.
Source: .mise.toml
| Tool |
Version |
Notes |
| Java |
temurin-25 |
Temurin distribution, JVM toolchain |
| Bun |
1.4.2 |
Frontend package manager & runtime |
| Python |
3.14 (mise); >=3.14 (worker) |
Extraction/enrichment and indexing; migrations run through Flyway |
| Docker Compose |
latest |
Container orchestration |
Backend Stack (Kotlin/JVM)
Source: gradle/libs.versions.toml
Core Framework
| Library |
Version |
Purpose |
| Kotlin |
2.4.20 |
Language version |
| Ktor |
3.6.0 |
HTTP server & client framework |
| Exposed |
1.5.0 |
SQL ORM (DSL-based) |
| Koin |
4.2.2 |
Dependency injection |
Kotlinx Libraries
| Library |
Version |
Purpose |
| Coroutines |
1.11.0 |
Async programming |
| DateTime |
0.8.0 |
Cross-platform date/time (TRACK-142; Instant already on kotlin.time) |
| Serialization JSON |
1.11.0 |
JSON serialization |
Database & Infrastructure
| Library |
Version |
Purpose |
| PostgreSQL Driver |
42.7.13 |
JDBC driver (CVE-2026-54291 fix) |
| HikariCP |
7.1.0 |
Connection pooling |
| Logback |
1.6.3 |
Logging framework |
| Logstash Encoder |
9.0 |
JSON log formatting |
| Commons CSV |
1.14.1 |
CSV parsing |
| dotenv-kotlin |
6.5.1 |
Environment variable loading |
Security & Auth
| Library |
Version |
Purpose |
| JWT (Auth0) |
4.6.1 |
JWT token handling |
| Google Auth |
1.52.0 |
OAuth2 (future SSO) |
| password4j |
1.8.4 |
argon2id password hashing (TRACK-114) |
Build & Packaging
| Library |
Version |
Purpose |
| Shadow Plugin |
9.6.1 |
Fat JAR packaging |
| Micrometer |
1.17.1 |
Metrics & monitoring |
Testing
| Library |
Version |
Purpose |
| MockK |
1.14.11 |
Kotlin mocking framework |
| AndroidX Test (core/runner) |
1.7.0 |
Rasika Android instrumentation (TRACK-140 N01) |
| AndroidX Test JUnit |
1.3.0 |
androidx.test.ext:junit for RasikaJourneyTest |
Frontend Stack (React/TypeScript)
Source: modules/frontend/sangita-admin-web/package.json
Core Framework
| Library |
Version |
Purpose |
| React |
19.3.0 |
UI framework |
| TypeScript |
6.0.x |
Type-safe JavaScript (TypeScript 7 deferred — no programmatic API until 7.1) |
| Vite |
8.3.0 |
Build tool & dev server (Rolldown bundler) |
Styling & UI
| Library |
Version |
Purpose |
| Tailwind CSS |
4.3.3 |
Utility-first CSS |
Routing & State
| Library |
Version |
Purpose |
| React Router |
7.18.4 |
Client-side routing |
| TanStack Query |
5.103.1 |
Data fetching & caching |
Development & Testing
| Library |
Version |
Purpose |
| ESLint |
10.11.0 |
Code linting (via bun run; needs Bun runtime). eslint-plugin-react-hooks pinned 7.0.1 — 7.1.1’s react-hooks/immutability still errors on BulkImport/CuratorReview (TRACK-135 loading-loop). |
| Vitest |
5.0.1 |
Unit testing |
| Playwright |
1.63.0 |
E2E testing |
Source: tools/krithi-extract-enrich-worker/pyproject.toml · Lock: uv.lock
Core Libraries
| Library |
Version |
Purpose |
| PyMuPDF |
1.28.2 |
Primary PDF text extraction |
| pdfplumber |
0.11.10 |
Tabular PDF extraction fallback |
| pytesseract |
0.3.13 |
Tesseract OCR wrapper |
| indic-transliteration |
2.3.82 |
Script conversion (Devanagari ↔ Tamil/Telugu/etc.) |
| Pydantic |
2.13.5 |
Schema validation |
| Pydantic Settings |
2.15.0 |
Environment-based config validation |
| psycopg |
3.3.6 |
PostgreSQL driver (async-capable) |
| google-genai |
>=2.0.0 (resolved 2.24.0) |
Unified Gemini SDK; 2.0 breaking changes are Interactions-API-only — the worker’s generate_content/batches surface is unaffected (TRACK-124) |
| RapidFuzz |
3.14.6 |
Fast fuzzy matching |
| HTTPX |
0.28.1 |
Async HTTP client |
| BeautifulSoup4 |
4.15.0 |
HTML parsing |
| structlog |
26.1.0 |
Structured JSON logging |
| Click |
8.5.0 |
CLI framework |
Development & Testing
| Library |
Version |
Purpose |
| pytest |
9.1.1 |
Test framework |
| Ruff |
0.16.8 |
Linter & formatter |
| mypy |
2.3.1 |
Static type checker |
| Component |
Version |
Notes |
| Flyway Community |
13.7.0 |
Single migration engine (ADR-013). Make/dev/CI via flyway/flyway:13.7.0-alpine; Kotlin Testcontainers via the Flyway JVM API. Pinned in gradle/libs.versions.toml (flyway) and compose.yaml. |
Migrations are standardized on Flyway Community (ADR-013). The previous Python tool (tools/db-migrate, psycopg >=3.1) is superseded and archived (archive/tools/db-migrate/, TRACK-110).
Test & CI Substrate
| Component |
Version |
Notes |
| Testcontainers |
2.0.5 |
org.testcontainers:testcontainers-postgresql (artifact renamed in 2.x; PostgreSQLContainer now in org.testcontainers.postgresql, no self-type generic). Integration tests self-provision pgvector/pgvector:pg18 (TRACK-108). Pinned in gradle/libs.versions.toml (testcontainers). TRACK-123. |
| GitHub Actions CI |
— |
.github/workflows/ci.yml (TRACK-111): backend unit/integration, Flyway migrate+validate, frontend typecheck+build, worker pytest. Blocking, PR-triggered (D7/D8). |
Shared integration-test infrastructure (IntegrationTestBase, SangitaPostgres, TestDatabase, TestFixtures) lives in the :modules:backend:test-support module (TRACK-111, D11), consumed by both the api and dal test classpaths.
Source: gradle/libs.versions.toml
| Library |
Version |
Purpose |
| Kotlin |
2.4.20 |
Shared with backend |
| Compose Multiplatform |
1.12.0 |
Cross-platform UI (material3 1.9.0 own train; icons-extended frozen 1.7.3; iosX64 dropped by CMP 1.11+; compileSdk 37 required by AndroidX Compose 1.12) |
| JetBrains Lifecycle (KMP) |
2.11.0 |
lifecycle-runtime-compose / lifecycle-viewmodel-compose companion to CMP 1.12 (TRACK-138) |
| JetBrains Navigation Event (KMP) |
1.1.0 |
navigationevent-compose companion to CMP 1.12; NavigationEventHandler replaces deprecated Compose BackHandler (TRACK-142) |
| Android Gradle Plugin |
9.4.1 |
Android build (Gradle wrapper 9.7.1) |
| Ktor Client |
3.6.0 |
HTTP client |
Cloud & External Services
Source: gradle/libs.versions.toml
| Library |
Version |
Purpose |
| AWS SDK |
2.55.1 |
S3 storage (future) |
| Google Auth |
1.52.0 |
SSO integration (future) |
Database
| Component |
Version |
Notes |
| PostgreSQL |
18 (pgvector image) |
Docker image: pgvector/pgvector:pg18 (compose.yaml, Testcontainers, CI Flyway job). Ships PostgreSQL 18 plus the vector extension required by V58. |
Version History
| Date |
Change |
| 2026-09-20 |
TRACK-142 Batch 4: AGP 9.4.0→9.4.1, Ktor 3.5.2→3.6.0 (receiveNullable → receive<T?>()), AWS SDK 2.54.15→2.55.1, Flyway 13.5.0→13.7.0 (catalog + Compose/CI/worker image), Vite 8.2.2→8.3.0, Vitest 5.0.0→5.0.1, React Router 7.18.4, TanStack Query 5.103.1, ESLint 10.11.0, plus frontend patch/minor and worker psycopg 3.3.6 / google-genai 2.24.0 / Ruff 0.16.8. jsdom stays 30.0.1 — 30.1.0 fails Vitest 5.0.1 worker startup (addEventListener EventTarget brand check). TypeScript 7 / CMP 1.13-alpha / serialization 1.12-RC / Gradle 9.8-rc / eslint-plugin-react-hooks 7.1.1 still deferred. |
| 2026-09-09 |
TRACK-140: recorded AndroidX Test core/runner 1.7.0 and ext-junit 1.3.0 for Rasika instrumentation. |
| 2026-09-05 |
TRACK-138: recorded JetBrains Lifecycle KMP 2.11.0 (CMP 1.12 companion) for Rasika mobile. |
| 2026-08-29 |
Bun 1.3.7→1.4.0 (mise pin, CI oven-sh/setup-bun + fallback installer, monorepo-orchestration skill). Frontend bun install + typecheck + build green on 1.4.0. |
| 2026-07-10 |
TRACK-122 (Batch 3a): Kotlin 2.3.0→2.4.0, Compose Multiplatform 1.10.0→1.11.1. CMP 1.11 fallout: compose.* plugin accessors deprecated → explicit catalog deps (material3 on its own 1.9.0 train, icons-extended frozen 1.7.3); iosX64 no longer published by CMP → target dropped from :shared:presentation; -Xexplicit-backing-fields now in-language (flag removed); Kotlin/Native sourceInfoType=none→noop. Backend + KMP builds and full test suites green. |
| 2026-07-10 |
TRACK-124 (Batch 3c): google-genai floor >=1.0.0→>=2.0.0 (resolved 1.34.0→2.9.0); 2.0 breaking changes confined to the Interactions API, worker call sites untouched; 144 worker tests green incl. HTTP-stubbed SDK round-trips. |
| 2026-07-10 |
TRACK-123 (Batch 3b): Testcontainers 1.21.4→2.0.5 — artifact renamed to org.testcontainers:testcontainers-postgresql, PostgreSQLContainer moved to org.testcontainers.postgresql and lost its self-type generic; full backend + DAL integration suites green. |
| 2026-07-08 |
TRACK-121 (frontend major toolchain): TypeScript 5.9→6.0, ESLint 9.39.2→10.6.0 (+ typescript-eslint 8.63.0, @eslint/js 10.0.1, eslint-plugin-react-refresh 0.5.3), Vite 7.3.1→8.1.3 (Rolldown), @vitejs/plugin-react 5→6.0.3, Vitest 4.1.9→4.1.10. Vitest 5 deferred (beta). Added bunfig.toml ([run] bun = true) — ESLint 10 / Vite 8 need util.styleText, absent in the box’s EOL Node 21, so bun run scripts execute under Bun; direct calls use bunx --bun. |
| 2026-06-24 |
TRACK-120 (Batch 1 safe upgrades): PostgreSQL JDBC 42.7.10→42.7.11 (CVE-2026-42198), Ktor 3.4.0→3.5.0, Koin 4.1.1→4.2.1, Logback 1.5.32→1.5.34, Flyway 12.8.1→12.9.0, React 19.2.4→19.2.7, TanStack Query 5.90.21→5.101.1, Tailwind 4.2.1→4.3.1, React Router 7.13.1→7.18.0, Vitest 4.0.18→4.1.9, Playwright 1.40.0→1.61.1, pydantic 2.12.5→2.13.4, psycopg 3.3.2→3.3.4, PyMuPDF 1.27.1→1.27.2.3 |
| 2026-06-06 |
TRACK-106 re-sync: Bun 1.3.6→1.3.7, Python version pin corrected to 3.11+ (mise.toml), Last Updated synced |
| 2026-03-10 |
Added Python tools section (extraction worker + db-migrate) with resolved versions from uv.lock |
| 2026-03-10 |
Dependency updates: PostgreSQL 42.7.10, Logback 1.5.32, Jsoup 1.22.1, Caffeine 3.2.3, Tailwind 4.2.1, React Router 7.13.1, TanStack Query 5.90.21 |
| 2026-03-10 |
Synced all versions from source files (gradle/libs.versions.toml, package.json, compose.yaml) |
| 2026-01-30 |
Initial auto-generated from source files |
How to Use This File
In Documentation
Instead of hardcoding versions, reference this file:
For current versions, see [Current Versions](/Sangeetha-Grantha/application_documentation/00-meta/current-versions.html).
Updating Versions
- Update the source file (
gradle/libs.versions.toml, package.json, or .mise.toml)
- Update this file to match
- Commit both the source file and the updated
current-versions.md
Section index · Documentation home · Feature status