All notable changes to the Statisticians Workbench. Format based on Keep a Changelog, versioning follows Semantic Versioning.
convert_type support in create_virtual_table().isShared flag on all shareable resources: datasets, DB connections, AI connections, recipes, preparation rules, notebooks. datasetGroup stores owning group; correct query scoping. Frontend toggle UI with group badge and attribution. Admin group dropdown on User details and DB connection edit pages. Removed group-00 sharing restriction._apply_operation_in_memory. Cancelled execution kill support. Virtual dataset support. Preparation rules preview endpoint. Column schema fetch endpoint.pg_trgm + AI-powered answer generation with citations. Semi-structured data analysis: code system detection (SIC, HS), keyword extraction, category classification. AI-powered normalisation suggestions. PDF export with translated labels. Email PDF functionality. Graceful 503 on ECONNREFUSED. Zero-tables warning with GRANT instructions.platformMaxUploadSizeMB global upload cap with frontend file-size warnings and oversized-file blocking. set_platform_upload_max.py install script. 'Clear Default' buttons on DB and AI connection settings.isExampleUser guards on all mutation endpoints. Auto-logout on auth pages. Banner hidden on auth pages.TranslationKey objects, useTranslate() hook. Memoized t() with useCallback. Chat language context: AI responds in user's language.sentuny.com link on login page. 'Existing' sidebar on define dataset page. 'View Schema' button with SchemaViewDialog modal. Dynamic filter operators based on column type. Red "*" on all mandatory fields. About page 'Get Started' opens in new tab.quack-proxy as git submodule with structured logger. Shared memory manager with UltraDict + TTL expiration. Backend logging with timestamps. Cascade user delete + orphan cleanup. Powerlifting sample data (386K lifters, 8.5K meets). MySQL extract_mysql_schema() and connection test.pnpm build required), production commands ('status', 'deploy simple frontend fix', 'deploy simple backend fix'), stored commands ('list commands', 'new session', 'generate context transfer')./tools page deleted.datasetId at recipe level. Dataset storage: sourceType, storageType, sourceConnectionId, DuckDB fields. API proxies for chat + dataset endpoints. model column β defaultModel in UserAIConnection.extract-translations.py uses parentheses matching. 657 valid keys. Detailed import reporting. 27 extra keys translated across 8 languages.datasetGroup set correctly on creation. Shared connections viewable by all. Share toggle URL + state refresh. Models route group check for admins. Admin groups dropdown updates on selection.pd.to_datetime warning handled.datasets/define uses useDB. datasets/upload, ai/dataclean, ai/recipe respect defaults. Shared connections settable as default. String/int type mismatch. connectionId fallback lookup./api/datasets (proxies). Schema from DuckDB + external DBs. Full DuckDB storage (was 10 rows). Description generation. Missing table error handling._sanitize_for_json). MySQL schema scoping. DuckDB Quack: ATTACH, DDL detection, table_exists. connection_id=None for notebooks. statsmodels 0.14.6. psycopg2-binary in requirements. PDF bytearray handling. DB design router registration. Graceful 503. Password decryption. pg_description joins. MS SQL Server removed from dropdown. Powerlifting '+' stripping.pnpm build fixes. TypeScript errors. Missing imports. tw-animate-css. next-env.d.ts in .gitignore. ESM cron compatibility.isExampleUser guards on PATCH/password/profile. Auto-logout on auth pages. Banner hidden on auth pages. Translation memoization prevents render loops. 'More' button enabled for read-only detail.connection_id type mismatch. Frontend connection_id=0 bug. History persistence with useEffect. Execution auth header. Missing typing imports.isExampleUser guards on all mutation endpoints./chat/{id}/generate-title) returns 400.# Frontend
cd frontend && pnpm install && npx prisma migrate deploy && npx prisma generate && pnpm build
# Backend
cd backend && source venv/bin/activate && pip install -r requirements.txt && deactivate
# quack-proxy submodule
git submodule update --init
Schema changes: Recipe + RecipeExecution + DataPreparationRule + RecipePreparationRule tables. isShared flag on UserDataset, UserDatabaseConnection, UserAIConnection, Recipe, DataPreparationRule, Notebook. Group fields. DuckDB fields on UserDataset. model β defaultModel. Foreign keys + indexes.
9 languages imported with full key sets. Japanese newly added.
t() function with JWT + Accept-Language detection. 72 backend keys across 8 languages.src/routers/ and src/utils/.tabulate dependency. SQLite schema introspection. Controller service logging. Admin group assignment saving.multiprocessing.Manager./messages endpoint). Model fetching (anthropic-version header). Model fetch error display. Chat dropdown width. Backend model selection (hardcoded default removed).NEXTAUTH_SECRET)./api/auth/token).frontend/ and backend/ subdirectories.ALLOWED_ORIGINS env var.next-env.d.ts merge conflicts. tw-animate-css. Missing PyJWT.--verbose flag.