Key Changes
- New Chart mode for eval runs and ability to compare eval runs
- Azure Storage support for workspace backend
- Introduce caching on multiple endpoints
- Make launching a task more informative
- Major improvements in interactive tasks
- Custom SBATCH flags support for SLURM providers
What's Changed
- Auto add a local provider when a new team is created by @deep1401 in #1382
- Get rid of job queue json and run over and over by @deep1401 in #1385
- Stop fetching pipeline tag when in multiuser mode by @deep1401 in #1388
- initial dockerfile in the test directory -- we can use this to finalize a test container by @aliasaria in #1372
- Delete a bunch of pages by @aliasaria in #1387
- Remove all single user mode logic from sidebar by @deep1401 in #1389
- Make MULTIUSER to be true by default by @deep1401 in #1384
- Fix failing cpu and memory constraints for local provider queue by @deep1401 in #1392
- Fix the default configs when adding a new provider by @deep1401 in #1383
- Add Playwright testing framework by @aliasaria in #1396
- Remove a lot of API routes by @aliasaria in #1391
- Fix Compute Tab for a local provider by @deep1401 in #1390
- Fix job not found errors when running with local providers by @deep1401 in #1397
- AGENTS.md conda environment instructions (for now) by @dadmobile in #1395
- Fix conditions related to os kill in local cluster status so its not marked complete/down while running by @deep1401 in #1402
- Remove components and graphs from header by @deep1401 in #1398
- fix child processes not being killed with local provider by @deep1401 in #1403
- Add/remove unused javascript files and dependencies by @aliasaria in #1401
- Move venv inside the workspace folder of the job dir by @deep1401 in #1400
- Increase number of lines for tunnel info logs by @deep1401 in #1404
- Remove remaining v1 Pages by @aliasaria in #1406
- One-liner: gitignore .claude by @dadmobile in #1408
- Add .coderabbit.yaml by @dadmobile in #1409
- Fix false condition of TFL_REMOTE_STORAGE_ENABLED by @deep1401 in #1412
- Fix deletion of secrets and also not launch tasks with missing secrets by @deep1401 in #1405
- Fix port connection issues on proxy urls by @deep1401 in #1411
- Fix Compatible chip on QueueTaskModal by @deep1401 in #1414
- Close QueueTaskModal only when provider launch request returns by @deep1401 in #1416
- Add Chart mode and Compare mode for evals by @deep1401 in #1415
- Make Interactive Tasks look better by @aliasaria in #1422
- Remove lingering workflows stuff by @deep1401 in #1420
- Don't allow adding multiple local providers by @deep1401 in #1423
- Fix Artifacts dropdown to show options conditionally by @deep1401 in #1425
- Add git workflow instructions to AGENTS.md by @aliasaria in #1429
- First playwright smokescreen test by @aliasaria in #1410
- Update experiment navigation to include experiment name in URLs by @aliasaria in #1417
- Remove RAG reindex functionality from Documents UI and backend by @aliasaria in #1428
- Live status about launch being shown by @deep1401 in #1424
- Add a new terminal state for skypilot by @deep1401 in #1426
- Fix copy_dir in storage.py to do proper remote -> remote copies by @deep1401 in #1431
- fix broken mainapp by @deep1401 in #1433
- rename tabs for consistency: update 'Task Output' to 'Lab SDK Output'… by @aliasaria in #1437
- Fix default image on runpod and vllm execution as well by @deep1401 in #1438
- Update job status to FAILED for a crash detected by tfl remote trap by @deep1401 in #1432
- POC: Try to make storage actually async by @dadmobile in #1436
- Remove coderabbit yaml by @dadmobile in #1442
- Fix ls mode on file browser by @deep1401 in #1440
- Add a base venv for local provider and collect computer information by @deep1401 in #1399
- Get rid of ~/src folder and paste file mounts directly in homedir/sky_workdir by @deep1401 in #1441
- Add background worker to update sweep status by @dadmobile in #1393
- docs: Add Architecture Deep Dives section to AGENTS.md by @aliasaria in #1444
- fix: resolve QueuePool exhaustion by consolidating duplicate SQLAlchemy engines by @aliasaria in #1452
- Fix setting up of provider twice in interactive task by @deep1401 in #1448
- Sweep status 30 seconds default frequency with env by @dadmobile in #1454
- Reduce frequency of sweep status ping by @dadmobile in #1455
- Get rid of TFL_LOCAL_PROVIDER_SETUP and have seed admin user create local provider by default by @deep1401 in #1460
- Fix tasks output and also solve the StopIteration bug by @deep1401 in #1461
- fix: rename 'Provider' to 'Compute Provider' in UI labels by @aliasaria in #1458
- Show datasets files correctly by @deep1401 in #1457
- Set Job to RUNNING when remote trap starts and introduce a lab_init live status by @deep1401 in #1459
- Add ability to leave and delete teams by @deep1401 in #1463
- Add padding in output modal by @deep1401 in #1465
- Fix sweep status inefficiencies by @dadmobile in #1462
- Add Provider to Interactive History List by @dadmobile in #1443
- feat/interactive ports definition by @aliasaria in #1456
- Add support for Azure Blob and ADLS through abfs by @deep1401 in #1450
- Feat/copy task files to job dir by @aliasaria in #1449
- Add custom sbatch flags per-user per slurm provider and edit during runs by @deep1401 in #1451
- fix: local provider job execution improvements by @aliasaria in #1445
- fix launch logic by @deep1401 in #1470
- Add NGROK as special secret and fix things on interactive modal by @deep1401 in #1472
- Remove Save button from interactive task Configure modal by @aliasaria in #1476
- Fix: Cache busting for production frontend assets by @aliasaria in #1471
- Fix refresh interval for Machine Logs by @deep1401 in #1478
- Tasks delete modal which exits upon mutate by @deep1401 in #1474
- Show errors within NewInteractiveTask modal by @deep1401 in #1477
- Add TLAB_LOG_LEVEL by @dadmobile in #1469
- Pass uncached flag to storage open by @dadmobile in #1480
- Improve InteractiveModal polling UX with countdown and better wording by @aliasaria in #1479
- Add 'Stopping' state for interactive tasks by @aliasaria in #1475
- POC: Cache Service using Cashews by @dadmobile in #1473
- Add/assign name dataset model by @mina-parham in #1468
- Add refresh countdown indicator to the Embedded Output Previewer by @aliasaria in #1482
- Add Playwright E2E test for hello world task and document Playwright conventions by @aliasaria in #1483
- Fix interactive modal showing 'waiting in queue' error for local providers by @aliasaria in #1485
- fix: improve dev.py process cleanup and add port-in-use checks by @aliasaria in #1486
- Add cache for loading job data by @deep1401 in #1484
- Fix tfl remote trap to not set interactive tasks to running by @deep1401 in #1487
- Remove get orgs base dir and request_context.py by @dadmobile in #1453
- Add Playwright E2E test for Ollama interactive task by @aliasaria in #1489
- fix: resolve flaky Playwright tests by @aliasaria in #1492
- Add a npm run dev command by @deep1401 in #1490
- Add JobStatus enum and replace hardcoded status strings by @aliasaria in #1491
- Add caching to jobs list by @deep1401 in #1488
- Fix stopping state errors from skypilot by @deep1401 in #1494
- fix: local provider logs showing empty after job starts by @aliasaria in #1495
- fix: In Interactive Job Card, show blank chip and logo for placeholder job cards instead of defaulting to VSCode by @aliasaria in #1496
- Add "disable" toggle for Compute Providers by @aliasaria in #1434
- Clean up gallery files by @aliasaria in #1500
- Remove fastchat controller subprocess and related code by @aliasaria in #1498
- Separate out single user and multi-user releases by @deep1401 in #1497
- Add embedded trackio for tasks by @deep1401 in #1493
- Move job status updating from GET check-status to background worker. by @dadmobile in #1464
- Fix job cache invalidation on job create by compute providers by @deep1401 in #1504
- Remove inference server worker endpoints and worker_process global by @aliasaria in #1506
- Task YAML Validation in GUI and CLI by @deep1401 in #1501
- remove model components to get rid of activate worker and killworker by @deep1401 in #1507
Full Changelog: v0.30.1...v0.31.0