Skip to content

Commit 6aea565

Browse files
committed
1.1.0: DeepInfra, Together AI, Fireworks AI and Parasail; the Google Cloud pass (the project from Google's own places, Vertex API keys, each failure names its fix); changelog, README and roadmap
Signed-off-by: Maxime Rivest <mrive052@gmail.com>
1 parent add8ede commit 6aea565

4 files changed

Lines changed: 39 additions & 10 deletions

File tree

‎CHANGELOG.md‎

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,33 @@
11
# Changelog
22

3-
## Unreleased
3+
## 1.1.0 — 2026-09-26
4+
5+
New providers and a Google Cloud pass, both live-verified in Python,
6+
TypeScript, Rust and Go (contract `fe5cdf9`; 1,788 of 1,788 checks in each).
7+
8+
Google Cloud (lm15-contract `changes/2026-09-26-vertex-live.md`, ratified
9+
2026-09-26):
10+
11+
- The Vertex project is found where Google's own tools find it, first found
12+
wins: `settings={"vertex": {"project": ...}}`, `GOOGLE_CLOUD_PROJECT` then
13+
`GCLOUD_PROJECT`, the `GOOGLE_APPLICATION_CREDENTIALS` file's
14+
`project_id`, gcloud's active configuration (`CLOUDSDK_CORE_PROJECT`, the
15+
saved `gcloud config set project`, named configurations), the ADC file's
16+
`quota_project_id`, then the metadata server on Google Cloud
17+
(`NO_GCE_CHECK=1` skips it). Before, a project set only in gcloud or only
18+
on the VM was not found.
19+
- A Vertex API key works on the `vertex` door: a plain string goes in
20+
`x-goog-api-key`; token-shaped strings (`ya29.`, a JWT) and a
21+
`BearerToken` still go as `Authorization: Bearer`.
22+
- `lm15 doctor` / `explain_auth` names where each setting came from
23+
(`setting project: my-project (from gcloud's active configuration)`).
24+
- Each Google failure names its fix: a stale ADC login, impersonation or
25+
federation that is not set up, an IAM 403, a 401 on a non-token string,
26+
nothing configured. No secret appears in any of them (AUTH-5, AUTH-21).
27+
- Live, through lm15's own chain: 13 setups (gcloud login, service-account
28+
key, impersonation, workload identity federation, a plain token, API keys
29+
on `vertex` and `vertex-express`, a VM with only its attached account), all
30+
200. docs/cloud-hosts.md § Google Cloud, start to finish.
431

532
Four new providers, each live-tested (lm15-contract
633
`changes/2026-09-26-inference-hosts-live.md`): `deepinfra`, `together`,

‎README.md‎

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ Measured by [`benchmarks/suite/run.py`](benchmarks/suite/run.py) on Python 3.13.
3939

4040
## Install
4141

42-
**1.0.1** is the current release, the first stable one. Python 3.10 or newer,
42+
**1.1.0** is the current release (1.0.1 was the first stable one). Python 3.10 or newer,
4343
on Linux, macOS and Windows.
4444

4545
```bash
@@ -531,7 +531,7 @@ windows) from installed catalog packages; it never changes what is sent
531531

532532
This package passes every check of
533533
[lm15-contract](https://github.com/lm15-dev/lm15-contract) at the commit in
534-
`CONTRACT_PIN` (1,786 of 1,786 on 2026-09-26); TypeScript, Rust and Go pass
534+
`CONTRACT_PIN` (1,788 of 1,788 on 2026-09-26); TypeScript, Rust and Go pass
535535
every check at theirs. The checks compare the exact
536536
requests lm15 builds and the responses it reads against recorded provider
537537
traffic. The contract is the specification; this package is the reference
@@ -547,10 +547,10 @@ were captured from live runs; model text and token counts vary.
547547

548548
| | Version | Repository |
549549
|---|---|---|
550-
| Python | 1.0.1 | this repository |
551-
| TypeScript | 1.0.0-rc.1 | [lm15-ts](https://github.com/lm15-dev/lm15-ts) |
552-
| Rust | 1.0.0-rc.1 | [lm15-rs](https://github.com/lm15-dev/lm15-rs) |
553-
| Go | v1.1.0-rc.1 | [lm15-go](https://github.com/lm15-dev/lm15-go) |
550+
| Python | 1.1.0 | this repository |
551+
| TypeScript | 1.0.0-rc.2 | [lm15-ts](https://github.com/lm15-dev/lm15-ts) |
552+
| Rust | 1.0.0-rc.2 | [lm15-rs](https://github.com/lm15-dev/lm15-rs) |
553+
| Go | v1.1.0-rc.2 | [lm15-go](https://github.com/lm15-dev/lm15-go) |
554554
| The contract | — | [lm15-contract](https://github.com/lm15-dev/lm15-contract) |
555555

556556
## Contributing and reporting

‎docs/roadmap.md‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,10 @@ same discipline as the code — see
77

88
## Where we are (September 2026)
99

10-
- **1.0.1** is the current release (2026-09-25), the first stable one (1.0.0
11-
was used by a June upload that was removed; PyPI never reuses a number). The chat
10+
- **1.1.0** is the current release (2026-09-26): four open-model hosts and a
11+
Google Cloud pass on top of **1.0.1** (2026-09-25), the first stable one
12+
(1.0.0 was used by a June upload that was removed; PyPI never reuses a
13+
number). The chat
1214
core — canonical types, serde, errors, request building, response parsing,
1315
streaming — is checked against the pinned language-neutral contract, and
1416
frozen for 1.x.

‎lm15/_version.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
"""The version of this source package, also used when building distributions."""
22

3-
__version__ = "1.0.1"
3+
__version__ = "1.1.0"

0 commit comments

Comments
 (0)