v0.11.0

skypilot-org/skypilotv0.11.0Dec 11, 2025by Michaelvll

AI Summary

Major release introducing SkyPilot Pools for multi-cloud batch inference, Managed Jobs Consolidation Mode as GA, enterprise-readiness improvements supporting hundreds of AI engineers, and significant UX enhancements including templates, Python SDK improvements, and native Git support.

Key Highlights

  • SkyPilot Pools (Beta): Multi-cloud and Kubernetes worker pools for batch inference across infrastructure
  • Managed Jobs Consolidation Mode (GA): 6x faster job submission with persistent state on PostgreSQL
  • Enterprise-scale: Support for hundreds of AI engineers with single API server, reduced memory consumption, >10x performance improvement
  • CoreWeave and AMD GPU support for Kubernetes
  • SkyPilot Templates and Python SDK improvements with type hints and log streaming

Breaking Changes

  • Deprecated: rbac.rules → rbac.namespaceRules in Helm charts
  • Deprecated: ingress.nodePortEnabled → ingress-nginx.controller.service.type=NodePort
  • Removed: sky status --kubernetes for team SkyPilot API server
  • Removed: sky local up --ips (use sky ssh up instead)

New Features

  • SkyPilot Pools for batch inference across clouds and Kubernetes
  • Managed Jobs Consolidation Mode with PostgreSQL persistence
  • 2000+ parallel jobs on single 8-CPU controller (18x improvement)
  • Kubernetes volume support for existing PVCs and ephemeral volumes
  • CoreWeave cloud integration with Infiniband and object storage
  • AMD GPU support on Kubernetes clusters with ROCm
  • SkyPilot Templates for one-line distributed Ray cluster setup
  • Python SDK with type hints and log streaming
  • Native Git support for private repositories
  • SSO support with Microsoft Entra ID
  • Comprehensive API server metrics
  • AWS Trainium and Inferentia support
  • GCP B200 spot instances support

Full Release Notes

# SkyPilot v0.11.0: Multi-Cloud Pools, Fast Managed Jobs, Enterprise-Readiness at Large Scale, Programmability

SkyPilot v0.11.0 delivers major new features: **Pools** and **Managed Jobs Consolidation Mode**; significant improvement enterprise-readiness at large scale: supports **hundreds of AI engineers** with a single API server instance, **avoid OOM, >10x performance improvement on many requests**, additional **observability**, and more; and UX improvements: **Templates**, **Python SDK**, **CI/CD, Git Support,** and more.

Get it now with:

```bash
uv pip install "skypilot>=0.11.0"
```

Or, upgrade your team SkyPilot API server:

```bash
NAMESPACE=skypilot
RELEASE_NAME=skypilot
VERSION=0.11.0

helm repo update skypilot
helm upgrade -n $NAMESPACE $RELEASE_NAME skypilot/skypilot \
  --set apiService.image=berkeleyskypilot/skypilot:$VERSION \
  --version $VERSION --devel --reuse-values
```

## Highlights

### [Beta] SkyPilot Pools: Batch inference across clouds & k8s

SkyPilot supports spawning a **pool** that launches a set of **workers** across many clouds and Kubernetes clusters ([docs](https://docs.skypilot.co/en/latest/examples/pools.html), [#6260](https://github.com/skypilot-org/skypilot/pull/6260), [#6426](https://github.com/skypilot-org/skypilot/pull/6426), [#6459](https://github.com/skypilot-org/skypilot/pull/6459), [#6552](https://github.com/skypilot-org/skypilot/pull/6552), [#6591](https://github.com/skypilot-org/skypilot/pull/6591), [#6665](https://github.com/skypilot-org/skypilot/pull/6665), [#6675](https://github.com/skypilot-org/skypilot/pull/6675), [#7332](https://github.com/skypilot-org/skypilot/pull/7332), [#7963](https://github.com/skypilot-org/skypilot/pull/7963), [#8008](https://github.com/skypilot-org/skypilot/pull/8008), [#7876](https://github.com/skypilot-org/skypilot/pull/7876), [#8047](https://github.com/skypilot-org/skypilot/pull/8047), #7930,#8039, #7846, #7855, #7919, #7920). Jobs can be scheduled on this pool and distributed to workers as they become available.

Key benefits include:

- Fully utilize your **GPU capacity across clouds & k8s**
- **Unified queue** for jobs on all infra
- **Keep workers warm, scale elastically**
- Step aside for other higher priority jobs; **reschedule when GPUs become available**

Learn more in our [blog post](https://blog.skypilot.co/skypilot-pools-deepseek-ocr).

<p align="center">
<img width="80%" alt="batch_inference_architecture" src="https://github.com/user-attachments/assets/964a7c82-5c25-4848-a40f-30bb3ab65c45" />
</p>

### **[GA]** Managed Jobs Consolidation mode

Consolidation Mode is general available ([#7122](https://github.com/skypilot-org/skypilot/pull/7122), [#7127](https://github.com/skypilot-org/skypilot/pull/7127), [#7396](https://github.com/skypilot-org/skypilot/pull/7396), [#7459](https://github.com/skypilot-org/skypilot/pull/7459), [#7498](https://github.com/skypilot-org/skypilot/pull/7498), [#7560](https://github.com/skypilot-org/skypilot/pull/7560), [#7601](https://github.com/skypilot-org/skypilot/pull/7601), [#7619](https://github.com/skypilot-org/skypilot/pull/7619), [#7717](https://github.com/skypilot-org/skypilot/pull/7717), [#7720](https://github.com/skypilot-org/skypilot/pull/7720), [#7847](https://github.com/skypilot-org/skypilot/pull/7847), #8082, #8021, #8106). This enables:

- 6x faster job submission
- consistent credentials across the API server and jobs controller.
- Persistent managed jobs state on postgres

```yaml
# config.yaml
jobs:
  controller:
    consolidation_mode: true  # Currently defaults to False.

```
<p align="center">
<img width="80%" alt="Frame 5" src="https://github.com/user-attachments/assets/62873c90-7634-4e58-85e5-f3cf13b01d31" />
</p>

### **Efficient and Robust Managed Jobs**

We have significantly optimized the Managed Jobs controller, allowing it to handle **2000+ parallel jobs** on a single 8-CPU controller—an 18x improvement in job capacity with the same controller size ([#7051](https://github.com/skypilot-org/skypilot/pull/7051), [#7371](https://github.com/skypilot-org/skypilot/pull/7371), [#7379](https://github.com/skypilot-org/skypilot/pull/7379), [#7408](https://github.com/skypilot-org/skypilot/pull/7408), [#7432](https://github.com/skypilot-org/skypilot/pull/7432), [#7473](https://github.com/skypilot-org/skypilot/pull/7473), [#7487](https://github.com/skypilot-org/skypilot/pull/7487), [#7488](https://github.com/skypilot-org/skypilot/pull/7488), [#7494](https://github.com/skypilot-org/skypilot/pull/7494), [#7519](https://github.com/skypilot-org/skypilot/pull/7519), [#7585](https://github.com/skypilot-org/skypilot/pull/7585), [#7595](https://github.com/skypilot-org/skypilot/pull/7595), #7945, #7966, #7979,#8036, #8095).

<p align="center">
<img width="80%" alt="image 1" src="https://github.com/user-attachments/assets/50a0127c-e3d6-43dd-a898-830c58fd9610" />
</p>


### Enterprise-Ready SkyPilot at Large-scale

- Support **hundreds of AI engineers** with a single SkyPilot API server instance
- Significant reduction in memory consumption and avoid OOM for API server
    
<p align="center">
<img width="80%" alt="image_1" src="https://github.com/user-attachments/assets/56d4b8b9-c394-4b37-90f2-99e7586bb851" />
</p>
    
- CLI/SDK/Dashboard speed up with a large amount of clusters, jobs
    
<p align="center">
<img width="80%" alt="image_2" src="https://github.com/user-attachments/assets/243d63a5-98eb-44df-a5db-ef6a187c9e92" />
</p>
    
- **Comprehensive API server metrics for operation**
    
<p align="center">
<img width="80%" alt="image_3" src="https://github.com/user-attachments/assets/81fc122c-ea77-49b9-ad62-09e0da58e809" />
</p>

- SSO support with Microsoft Entra ID
    
<p align="center">
<img width="80%" alt="image_4" src="https://github.com/user-attachments/assets/f8b5c1ce-9ea9-4c36-8d3b-274987295961" />
</p>


### Kubernetes

**UX, Robustness, Performance Improvement**

- **Robust SSH** for SkyPilot cluster on Kubernetes
- Robust multi-node(pod) provisioning with retry and recovery (#7820, [#7854](https://github.com/skypilot-org/skypilot/pull/7854), #7852)
- Improve resource cleanup after termination
- Intelligent GPU name detection
- Improved volume support: label support, name validation, SDK support.

**Volume Support for Existing PVC and Ephemeral Volumes** ([#7915,](https://github.com/skypilot-org/skypilot/pull/7915) [#7971](https://github.com/skypilot-org/skypilot/pull/7971),#8179)

- **Exising PVC:** Reference pre-existing Kubernetes PersistentVolumeClaims as a SkyPilot volume ([#7915](https://github.com/skypilot-org/skypilot/pull/7915)).
    
    ```yaml
    # volume.yaml
    name: existing-pvc-name
    type: k8s-pvc
    infra: k8s/context1
    use_existing: true
    config:
      namespace: namespace
    ```
    
- **Ephemeral Volumes:** automatically create volumes when a cluster is launched and deleted when the cluster is torn down, making them ideal for temporary storage across multiple nodes, such as caches and intermediate results.
    
    ```yaml
    # task.sky.yaml
    file_mounts:
      /mnt/cache:
        size: 100Gi
    ```
    

### Cloud Support

**CoreWeave Integration Announcement**

CoreWeave now officially support SkyPilot ([#6386](https://github.com/skypilot-org/skypilot/pull/6386), [#6519](https://github.com/skypilot-org/skypilot/pull/6519), [#6895](https://github.com/skypilot-org/skypilot/pull/6895), [#7756](https://github.com/skypilot-org/skypilot/pull/7756), [#7838](https://github.com/skypilot-org/skypilot/pull/7838)). This integration provides: **Infiniband Support, Object Storage, Autoscaling.**

See the announcement on Coreweave [blog](https://www.coreweave.com/blog/coreweave-adds-skypilot-support-for-effortless-multi-cloud-ai-orchestration).
<p align="center">
<img width="80%" alt="image_5" src="https://github.com/user-attachments/assets/f6679b23-4aeb-44be-95e4-79640a17d9a8" />
</p>

**AMD GPU Support Announcement**

SkyPilot now fully supports AMD GPUs on Kubernetes clusters ([#6378](https://github.com/skypilot-org/skypilot/pull/6378), [#6944](https://github.com/skypilot-org/skypilot/pull/6944)). This includes: **GPU Detection and Scheduling, Dashboard Metrics, ROCm Support.**

See the announcement on AMD Rocm [blog](https://rocm.blogs.amd.com/ecosystems-and-partners/democratizing-multicloud-skypi/README.html).
<p align="center">
<img width="80%" alt="image_6" src="https://github.com/user-attachments/assets/b4f6c078-9d65-4a72-86b5-8a36e9e51e1a" />
</p>

**More Clouds Support**

- Together AI Instant cluster
- Seeweb support

### User Experience

**SkyPilot Templates**

SkyPilot now ships predefined YAML templates for launching clusters with popular frameworks and patterns. Templates are automatically available on all new SkyPilot clusters. ([#7935](https://github.com/skypilot-org/skypilot/pull/7935), #7965)

You can now launch a multi-node Ray cluster by adding a single line to your YAML’s run block:

```yaml
run: |
  # One-line setup for a distributed Ray cluster
  ~/.sky/templates/ray/start_cluster

  # Submit your job
  python train.py
```

**Programmability: SkyPilot Python SDK**

SkyPilot Python SDK is significantly improved with:

- Type hints
    
<p align="center">
<img width="80%" alt="image_7" src="https://github.com/user-attachments/assets/2fda4419-ddd8-437d-a576-8b3114ca5a7e" />
</p>

- Log streaming

```python
logs = sky.tail_logs(cluster_name, job_id, follow=True, preload_content=False)
for line in logs:
    if line is not None:
        if 'needle in the haystack' in line:
            print("found it!")
            break
logs.close()
```

- Admin policy: build admin policy with helper functions

```python
resource_config = user_request.task.get_resource_config()
resource_config['use_spot'] = True
user_request.task.set_resources(resource_config)
```

**Integrating with CI/CD**

With the improved SDK, we can integrate SkyPilot with GitHub Actions and other orchestrator to spin off your AI workloads automatically. (#7932)
<p align="center">
<img width="80%" alt="image_8" src="https://github.com/user-attachments/assets/5371b954-466a-4613-a726-ce8f856fb860" />
</p>

**Native Git Support**

You can now use your private git repositories directly as your SkyPilot workdir ([#6294](https://github.com/skypilot-org/skypilot/pull/6294), [#6257](https://github.com/skypilot-org/skypilot/pull/6257), [#6268](https://github.com/skypilot-org/skypilot/pull/6268)). SkyPilot handles the cloning and syncing automatically. You can also use `--git-url` and `--git-ref` options with `sky serve up` ([#8012](https://github.com/skypilot-org/skypilot/pull/8012)).

```yaml
# task.sky.yaml
workdir:
  url: <https://github.com/my-org/my-repo.git>
  ref: 1234ab # commit hash or branch name
```

You can also find the commit hash of your workdir in the Dashboard:
<p align="center">
<img width="80%" alt="image_1 1" src="https://github.com/user-attachments/assets/c9632f54-0693-464c-9956-f775668559ed" />
</p>

**Autostop/Autodown Based on SSH Sessions**

In addition to running jobs on clusters, you can now configure autostop/autodown to wait for active SSH sessions ([#6361](https://github.com/skypilot-org/skypilot/pull/6361), [#6485](https://github.com/skypilot-org/skypilot/pull/6485)).

```yaml
# task.sky.yaml
resources:
  autostop:
    wait_for: jobs_and_ssh
```

### Examples: **Distributed LLM Pretraining/Finetuning/Serving**

We released high-performance distributed training examples for large models with checkpointing support ([#6525](https://github.com/skypilot-org/skypilot/pull/6525), [#6551](https://github.com/skypilot-org/skypilot/pull/6551), [#6242](https://github.com/skypilot-org/skypilot/pull/6242), [#6273](https://github.com/skypilot-org/skypilot/pull/6273), [#6443](https://github.com/skypilot-org/skypilot/pull/6443)).

- **Kimi-K2 multi-node serving (**#7988)
- **Torchtitan** framework support
- **Llama 4 Maverick 400B:** Training on more than 16 H200 GPUs.
- **OpenAI GPT-OSS:** Model pretraining and finetuning.
- **Agentic training:** VeRL example for reinforcement learning.
    
<p align="center">
<img width="80%" alt="image_2 1" src="https://github.com/user-attachments/assets/3ace5534-d289-476a-b4b4-c6b73c6925f4" />
</p>

---

## **What's new: compared to v0.10.5**

### API Server: Robustness & Security Improvement

- **TLS support in Helm:** Added TLS (HTTPS) support to the Kubernetes ingress configuration for SkyPilot's Helm charts ([#6864](https://github.com/skypilot-org/skypilot/pull/6864), #8046).
- **Support for air-gapped environment for SkyPilot API server deployment:** use private container registries in the Helm chart ([#7955](https://github.com/skypilot-org/skypilot/pull/7955), #7973,#8076).
- **More robust SSO authentication for SSH connections:** Server-side SSO and service account tokens are now properly enforced for WebSocket connections used by the SSH proxy system ([#7863,](https://github.com/skypilot-org/skypilot/pull/7863) [#7861](https://github.com/skypilot-org/skypilot/pull/7861)).
- **Memory leak fix:** Fixed resource cleanup in status refresh daemon when errors occur ([#8100](https://github.com/skypilot-org/skypilot/pull/8100)).
- Performance improvement with PostgreSQL Database connection pooling ([#7829](https://github.com/skypilot-org/skypilot/pull/7829), [#8005](https://github.com/skypilot-org/skypilot/pull/8005)).
- Fast rolling update by avoiding PVC issue with grafana deployment (#7904)
- Better message during API server upgrade (#7921)
- API server metrics: CPU/memory (#7923), limit the Prometheus scraper to the current API server (#7922), executors (#7980)
- Avoid API server hanging due to event loop blocking (#8097, #8101)
- Fixed user info handlers (#8234)
- **Backward compatibility:** Fixed server/client version compatibility issues ([#7873](https://github.com/skypilot-org/skypilot/pull/7873)).
- Deprecation: `rbac.rules` → `rbac.namespaceRules`; `ingress.nodePortEnabled` → `ingress-ngnix.controller.service.type=NodePort` (see [details](https://docs.skypilot.co/en/latest/reference/api-server/helm-values-spec.html#ingress-nginx)) helm chart

### Kubernetes Improvements

- **Make Pod status visible during cluster launching:** Better experience with detailed pod event messages when pods are stuck pending (e.g., volume mount failures, image pull issues) ([#7959](https://github.com/skypilot-org/skypilot/pull/7959), #8062).
- **Post-provision commands support:** Execute custom shell commands on Kubernetes pods during instance initialization with `post_provision_runcmd` ([#7943](https://github.com/skypilot-org/skypilot/pull/7943)).
- **Rsync race condition fix:** Fixed intermittent "rsync not found" errors during pod setup ([#7844](https://github.com/skypilot-org/skypilot/pull/7844), [#8023](https://github.com/skypilot-org/skypilot/pull/8023)).
- GPU labeler fix for race condition on Kubernetes clusters with multiple API server and dependency ([#7779](https://github.com/skypilot-org/skypilot/pull/7779), #8126, #8111).
- Fix allowing all contexts: ****Fixed feature support detection to evaluate all contexts in `allowed_contexts` configuration ([#7878](https://github.com/skypilot-org/skypilot/pull/7878)).

### Core & Backend

- **Fixed `--retry-until-up`:** Fixed the `-retry-until-up` flag to properly retry failed launches across all cloud zones ([#8079](https://github.com/skypilot-org/skypilot/pull/8079)).
- **Fixed premature log termination for cluster provision log** `sky logs --provision` during cluster launches ([#7888](https://github.com/skypilot-org/skypilot/pull/7888)).
- Add AWS AMI metadata caching to reduce AWS API calls and avoid credential issues ([#7961,](https://github.com/skypilot-org/skypilot/pull/7961) [#7998](https://github.com/skypilot-org/skypilot/pull/7998), #8000, #8013, #7997).
- Robustify SkyPilot runtime setup (#7985, #7901)
- Speed up the storage check (#8044)
- Fixed Fluent-bit GPG key download for cloud logging setup ([#7898](https://github.com/skypilot-org/skypilot/pull/7898)).
- Fixed regression in service/pool cleanup process ([#8047](https://github.com/skypilot-org/skypilot/pull/8047)).
- Fixed backward compatibility for jobs queue API with older server versions ([#8015](https://github.com/skypilot-org/skypilot/pull/8015)).
- Faster SSH tunnel opening and cleanup fix for grpc connection: Optimized SSH tunnel opening under high concurrent load from 8+ seconds to ~3.7 seconds ([#7900](https://github.com/skypilot-org/skypilot/pull/7900), [#7887](https://github.com/skypilot-org/skypilot/pull/7887), #8105).

### Infrastructure & Cloud Integrations

- Support GCP B200 spot instances ([#8125](https://github.com/skypilot-org/skypilot/pull/8125)).
- AWS Trainium & Inferentia support improvement: dynamically detects Trainium/Inferentia instances via the AWS API, maps them correctly for `sky show-gpus`, fix the default Neuron-based AMI ([#7896](https://github.com/skypilot-org/skypilot/pull/7896), [#7958](https://github.com/skypilot-org/skypilot/pull/7958)).
- Fixed AWS g6f, gr6f instance fetching (#7949)
- AWS config file support: Added support for `AWS_CONFIG_FILE` environment variable for custom credential paths ([#8050](https://github.com/skypilot-org/skypilot/pull/8050)).
- Azure: Updated Azure provisioning to use Standard SKU public IP addresses after Azure retired Basic SKU and fix dependency, and fix credential checking ([#8007](https://github.com/skypilot-org/skypilot/pull/8007), #7909, #7996, #7924).
- Samsung Cloud Platform (SCP) Multi-node Support ([#7288](https://github.com/skypilot-org/skypilot/pull/7288)).
- Seeweb: Added Docker image support for Seeweb cloud provider ([#7493](https://github.com/skypilot-org/skypilot/pull/7493)).
- RunPod: Added CPU-only instance support, fix dependency, and default image ([#7460](https://github.com/skypilot-org/skypilot/pull/7460), [#8018](https://github.com/skypilot-org/skypilot/pull/8018), #7906).
- Nebius disk cleanup: Fixed resource leak when VM creation fails due to quota errors ([#8004](https://github.com/skypilot-org/skypilot/pull/8004)).

**SSH Node Pools**

- **Per-Context Configuration:** Define different `pod_config` and `custom_metadata` specifications for multiple SSH node pools through `context_configs` ([#7660](https://github.com/skypilot-org/skypilot/pull/7660), #7913).
- **Provision Timeout:** New `provision_timeout` field for controlling SSH node provisioning wait times ([#7660](https://github.com/skypilot-org/skypilot/pull/7660)).
- Fix provisioning deadlock when using custom images ([#7883](https://github.com/skypilot-org/skypilot/pull/7883)).
- Fixed regression where SSH node pool contexts were incorrectly hardcoded ([#8087](https://github.com/skypilot-org/skypilot/pull/8087)).

### User Experience

### Admin Control Enhancements

- **Additional information in admin policy:** user information ([#7800](https://github.com/skypilot-org/skypilot/pull/7800)), request type ([#7840](https://github.com/skypilot-org/skypilot/pull/7840). #8042).
- **New examples for adming policy:** rate limiter policy (#7902, #7903), static GPU quota (#7917)
- **Allow workspace to enable specific capacity of a cloud** (#7978)
- **Secrets as SecretStr:** Task secrets are now stored using Pydantic's `SecretStr` to prevent accidental exposure in logs ([#8040](https://github.com/skypilot-org/skypilot/pull/8040)).

### SDK Improvements

- **Resource Configuration API:** New `Task.get_resources_config()` returns resources as a dictionary matching YAML format, and `Task.set_resources()` now accepts dictionaries—making programmatic resource manipulation as intuitive as editing YAML ([#7857](https://github.com/skypilot-org/skypilot/pull/7857)).
- **GPU Count in Setup:** New `SKYPILOT_SETUP_NUM_GPUS_PER_NODE` environment variable available during setup phase for configuring software based on GPU count ([#7092](https://github.com/skypilot-org/skypilot/pull/7092)).

### Dashboard Improvements

- Infra page: keep infra page even when error occurs and more info for workspace (#8085, #7845, #7918, #8099)
- Dashboard now preserves cached data during transient server errors instead of clearing tables ([#7831](https://github.com/skypilot-org/skypilot/pull/7831)).
- Hover over resources column to view complete resource specifications ([#7880](https://github.com/skypilot-org/skypilot/pull/7880)).
- Added navigation between pool detail pages and jobs dashboard ([#7856](https://github.com/skypilot-org/skypilot/pull/7856)).
- Hide already-selected filter values from dropdown menus ([#7884](https://github.com/skypilot-org/skypilot/pull/7884)).
- GPU metrics panel: Added XID error monitoring panel to Grafana dashboard ([#8041](https://github.com/skypilot-org/skypilot/pull/8041)).
- GPU metrics fix: Fixed GPU metrics display on cluster detail page ([#8025](https://github.com/skypilot-org/skypilot/pull/8025), #8045, #8059).
- Fixed region display format for jobs to match clusters ([#7885](https://github.com/skypilot-org/skypilot/pull/7885)).
- Fixed cluster / jobs filtering by users (#7929)

### CLI Improvements

- **Fixed sky show-gpus --all:** Fixed JSON serialization error when listing all accelerators ([#7865](https://github.com/skypilot-org/skypilot/pull/7865)).
- **Fixed sky cost-report:** Fixed JSON serialization error with NumPy float values ([#7974](https://github.com/skypilot-org/skypilot/pull/7974)).
- Allow purging a cluster when CloudUserIdentityError (#7934)
- Fix duplicated log expansion for `sky serve logs` (#8002)
- More efficient log streaming (#7951)
- Include cluster name for the local log dir (#7942)
- Clearer feedback when updating pools and services ([#8010](https://github.com/skypilot-org/skypilot/pull/8010)).
- Deprecation: Removed `sky status --kubernetes` for the team SkyPilot API server (#7989), removed `sky local up --ips` in favor of `sky ssh up` (#8065)

### Documentation & Examples

- Added PyTorch multi-node distributed training documentation ([#7848](https://github.com/skypilot-org/skypilot/pull/7848)).
- Added marimo notebook example ([#8031](https://github.com/skypilot-org/skypilot/pull/8031)).
- Improved GPT-OSS fine-tuning examples with checkpointing and WandB integration ([#7696](https://github.com/skypilot-org/skypilot/pull/7696)).
- Updated SDK examples for vector database and local GPT ([#8003](https://github.com/skypilot-org/skypilot/pull/8003)).
- Reorganized Pools documentation with better discoverability ([#7897](https://github.com/skypilot-org/skypilot/pull/7897)).
- Improved admin policy documentation with quickstart guide ([#7866](https://github.com/skypilot-org/skypilot/pull/7866)).
- Added server-side debug logging documentation ([#8001](https://github.com/skypilot-org/skypilot/pull/8001)).

### Testing & CI/CD

- Added shared GKE API server with PostgreSQL testing to nightly builds ([#7830](https://github.com/skypilot-org/skypilot/pull/7830)).
- Added RunPod and Lambda cloud provider tests to nightly builds ([#8051](https://github.com/skypilot-org/skypilot/pull/8051)).
- Added SSO/Okta authentication test coverage ([#7877](https://github.com/skypilot-org/skypilot/pull/7877)).
- Improved test reliability and memory usage ([#7834](https://github.com/skypilot-org/skypilot/pull/7834), [#7841](https://github.com/skypilot-org/skypilot/pull/7841), [#7864](https://github.com/skypilot-org/skypilot/pull/7864)).
- Fixed release workflow for GitHub release notes generation ([#7079](https://github.com/skypilot-org/skypilot/pull/7079)).

## Contributors

Thank you to all contributors who made this release possible!

@adocherty, @alex000kim, @aylei, @brianstrauch, @cblmemo, @cg505, @coopslarhette, @cwhitak3r, @DanielZhangQD, @hyoxt121, @kevinmingtarja, @kyuds, @lloyd-brown, @massaindustries, @Michaelvll, @rohansonecha, @romilbhardwaj, @SalikovAlex, @seongsukwon-moreh, @SeungjinYang, @zpoint

**New Contributors:**

- @aadyotb made their first contribution in [#7898](https://github.com/skypilot-org/skypilot/pull/7898)
- @BenedTj made their first contribution in [#7884](https://github.com/skypilot-org/skypilot/pull/7884)
- @chris-clem made their first contribution in [#8125](https://github.com/skypilot-org/skypilot/pull/8125)
- @coloryourlife made their first contribution in [#8103](https://github.com/skypilot-org/skypilot/pull/8103)
- @girishramnani made their first contribution in [#8137](https://github.com/skypilot-org/skypilot/pull/8137)
- @jilongliao made their first contribution in [#6864](https://github.com/skypilot-org/skypilot/pull/6864)
- @jusstinn made their first contribution in [#8012](https://github.com/skypilot-org/skypilot/pull/8012)
- @koaning made their first contribution in [#8031](https://github.com/skypilot-org/skypilot/pull/8031)
- @MalumaDev made their first contribution in [#7715](https://github.com/skypilot-org/skypilot/pull/7715)
- @mmcclean-aws made their first contribution in [#7896](https://github.com/skypilot-org/skypilot/pull/7896)
- @NavarrePratt made their first contribution in [#8019](https://github.com/skypilot-org/skypilot/pull/8019)
- @soovittt made their first contribution in [#8086](https://github.com/skypilot-org/skypilot/pull/8086)

Special thanks to the community for bug reports, feature requests, and pull requests that helped improve SkyPilot!

## Full Changelog

For a complete list of changes, see the [commit history](https://github.com/skypilot-org/skypilot/compare/v0.10.5...releases/0.11.0).