diff --git a/docs/api/versions.md b/docs/api/versions.md index 793d2ab1..c26cb32f 100644 --- a/docs/api/versions.md +++ b/docs/api/versions.md @@ -1,6 +1,6 @@ # Versions Constants and utilities for working with EnergyPlus version numbers. -idfkit bundles schemas for every release from v8.9 through v26.1. +idfkit bundles schemas for every release from v8.9 through v26.2. ::: idfkit.versions diff --git a/docs/benchmarks.md b/docs/benchmarks.md index 2e4734a5..d0a6328a 100644 --- a/docs/benchmarks.md +++ b/docs/benchmarks.md @@ -84,7 +84,7 @@ uv run --group benchmark python benchmarks/bench_eso.py --eso path/to/eplusout.e | Tool | Versions | Schema format | |---|---|---| -| **idfkit** | 8.9 -- 26.1 | epJSON schema (bundled, gzip-compressed) | +| **idfkit** | 8.9 -- 26.2 | epJSON schema (bundled, gzip-compressed) | | **eppy** | 1.1 -- 9.2 (bundled IDD); any version with external IDD | IDD file | | **opyplus** | 8.0 -- 9.6, 22.1 -- 24.1 | IDD file (bundled) | | **idd-idf-utilities** | any version up to ~23.2 (IDD parser breaks on 24.1+) | IDD file (external) | diff --git a/docs/concepts/version-compatibility.md b/docs/concepts/version-compatibility.md index 6964008c..f50c0ee6 100644 --- a/docs/concepts/version-compatibility.md +++ b/docs/concepts/version-compatibility.md @@ -1,6 +1,6 @@ # How to work across EnergyPlus versions -idfkit supports 17 EnergyPlus releases, and their schemas disagree: object types +idfkit supports 18 EnergyPlus releases, and their schemas disagree: object types come and go, and enumerated choice values are renamed under you. A viewer, a converter, or anything else that opens files it did not write cannot hard-code `26.1.0`, and code that runs against more than one release cannot assume the @@ -365,7 +365,7 @@ for (obj_type, field), removed in diff.removed_choices.items(): - [How to migrate models between EnergyPlus versions](../simulation/migrating-versions.md) for upgrading an existing model rather than checking one -- [Supported versions](../reference/versions.md) for the 17 releases and how a +- [Supported versions](../reference/versions.md) for the 18 releases and how a file's version is matched to a schema - [Content-addressed schemas](../explanation/content-addressed-schemas.md) for why holding several versions at once is cheap diff --git a/docs/explanation/content-addressed-schemas.md b/docs/explanation/content-addressed-schemas.md index 4e082399..a40d3325 100644 --- a/docs/explanation/content-addressed-schemas.md +++ b/docs/explanation/content-addressed-schemas.md @@ -13,14 +13,14 @@ architecture, so the browser bundle stores the same information differently. ## Most of a schema is the previous schema Object-type definitions barely change between EnergyPlus releases. `Zone` has -not changed since 8.9. Across the 17 versions the bundle indexes 14,092 +not changed since 8.9. Across the 18 versions the bundle indexes 14,092 type entries and finds only 2,568 distinct definitions behind them: 82% of what -17 separate schemas would carry is a repeat of something already shipped. +18 separate schemas would carry is a repeat of something already shipped. So the bundle stores each unique definition once, keyed by a hash of its content, and gives every version a manifest mapping type name to hash. -| | All 17 versions, gzipped | +| | All 18 versions, gzipped | | ---------------------------------------- | ------------------------ | | Raw epJSON schemas, as Python ships them | 11,915 KB | | Slimmed (documentation metadata dropped) | 2,922 KB | diff --git a/docs/explanation/generated-types.md b/docs/explanation/generated-types.md index 529c8136..7071169a 100644 --- a/docs/explanation/generated-types.md +++ b/docs/explanation/generated-types.md @@ -35,7 +35,7 @@ records the capability as [complete in TypeScript and partial in Python](parity.md#generated-object-types). Two things differ. **Coverage.** The Python stub set is generated one EnergyPlus version at a time -and currently ships for 26.1.0 only, so a model loaded at 9.4 gets 26.1 field +and currently ships for 26.2.0 only, so a model loaded at 9.4 gets 26.2 field names and choice lists in the editor. The TypeScript maps are emitted per version and chosen by the caller, so an older model is typed as that older model or left untyped, never mistyped. diff --git a/docs/explanation/index.md b/docs/explanation/index.md index c405efb0..6749b49f 100644 --- a/docs/explanation/index.md +++ b/docs/explanation/index.md @@ -43,7 +43,7 @@ language you work in. field name becomes a compile error, in TypeScript. - [Why accessors and not a `Proxy`](accessors-not-proxies.md): why `zone.ceiling_height` is a real property, in TypeScript. -- [Content-addressed schemas](content-addressed-schemas.md): how 17 versions of +- [Content-addressed schemas](content-addressed-schemas.md): how 18 versions of the schema fit in about 1 MB for the browser. ## How work gets done and where it happens diff --git a/docs/getting-started/core-tutorial.ipynb b/docs/getting-started/core-tutorial.ipynb index 874e75ce..a8605264 100644 --- a/docs/getting-started/core-tutorial.ipynb +++ b/docs/getting-started/core-tutorial.ipynb @@ -1871,7 +1871,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Available schema versions: [(8, 9, 0), (9, 0, 1), (9, 1, 0), (9, 2, 0), (9, 3, 0), (9, 4, 0), (9, 5, 0), (9, 6, 0), (22, 1, 0), (22, 2, 0), (23, 1, 0), (23, 2, 0), (24, 1, 0), (24, 2, 0), (25, 1, 0), (25, 2, 0), (26, 1, 0)]\n" + "Available schema versions: [(8, 9, 0), (9, 0, 1), (9, 1, 0), (9, 2, 0), (9, 3, 0), (9, 4, 0), (9, 5, 0), (9, 6, 0), (22, 1, 0), (22, 2, 0), (23, 1, 0), (23, 2, 0), (24, 1, 0), (24, 2, 0), (25, 1, 0), (25, 2, 0), (26, 1, 0), (26, 2, 0)]\n" ] } ], diff --git a/docs/getting-started/installation.md b/docs/getting-started/installation.md index 4bb321d7..aef8df8e 100644 --- a/docs/getting-started/installation.md +++ b/docs/getting-started/installation.md @@ -41,7 +41,7 @@ That gives you, in both languages: - Loading and writing IDF and epJSON files - O(1) object lookups and reference tracking -- Schema validation for all 17 supported EnergyPlus versions +- Schema validation for all 18 supported EnergyPlus versions - Object and field introspection Beyond that the two diverge, because they run in different places. Python adds diff --git a/docs/how-to/compare-versions.md b/docs/how-to/compare-versions.md index 64dd480e..236160d0 100644 --- a/docs/how-to/compare-versions.md +++ b/docs/how-to/compare-versions.md @@ -1,6 +1,6 @@ # How to compare two EnergyPlus versions -Both libraries carry every schema from 8.9.0 to 26.1.0, so "what changed +Both libraries carry every schema from 8.9.0 to 26.2.0, so "what changed between 9.4 and 26.1" is a question you can answer locally, without downloading anything and without opening two 10 MB schema documents side by side. diff --git a/docs/how-to/parse-in-the-browser.md b/docs/how-to/parse-in-the-browser.md index 64179e6a..1aeb506b 100644 --- a/docs/how-to/parse-in-the-browser.md +++ b/docs/how-to/parse-in-the-browser.md @@ -24,7 +24,7 @@ Then point `httpSource` at it: ``` `httpSource` fetches the gzipped files and inflates them with -`DecompressionStream`, so the payload stays around 1 MB for all 17 versions. It +`DecompressionStream`, so the payload stays around 1 MB for all 18 versions. It sniffs the gzip magic bytes first, so it works whether your host leaves `Content-Encoding` unset or maps the `.gz` extension to `Content-Encoding: gzip` (as Vite's dev server and nginx's `gzip_static` do), @@ -38,7 +38,7 @@ same version into a single fetch. It is tempting to `import schemas from '@idfkit/schemas/data/index.json'` and let the bundler inline it. Do not: the manifests and blob store are megabytes -of JSON, and inlining them puts all 17 versions into the initial bundle whether +of JSON, and inlining them puts all 18 versions into the initial bundle whether or not the user opens a file. If you would rather not serve static files at all, supply your own diff --git a/docs/how-to/run-a-simulation-in-the-browser.md b/docs/how-to/run-a-simulation-in-the-browser.md index a7ac0a65..3c28f3d6 100644 --- a/docs/how-to/run-a-simulation-in-the-browser.md +++ b/docs/how-to/run-a-simulation-in-the-browser.md @@ -22,17 +22,17 @@ EnergyPlus release, so nothing that the shared name installs may depend on them (FR-070). ```bash -npm install @idfkit/engine @idfkit/engine-assets@26.1 +npm install @idfkit/engine @idfkit/engine-assets@26.2 npx idfkit-engine-assets public/energyplus # copy the WASM engine to your own origin ``` `@idfkit/core` and `@idfkit/schemas` are separate and are what edits the model; add them if you have not already. -!!! info "This engine executes EnergyPlus 26.1" +!!! info "This engine executes EnergyPlus 26.2" `@idfkit/engine-assets` is versioned by the EnergyPlus release it carries, - so `@idfkit/engine-assets@26.1` runs **EnergyPlus 26.1** and nothing else. A + so `@idfkit/engine-assets@26.2` runs **EnergyPlus 26.2** and nothing else. A model written for another release has to be migrated before it will run here. @@ -102,7 +102,7 @@ verbatim, so what you press is what you read.