Repository navigation
v1.39.0 (minor)
Changes since v1.38.0:
- Give up a string that parses to a non-finite number when migrating it to a number [patch] (#367) (matt-edmondson)
- Bound a value migrated into a semantic type by that type's ranges [patch] (#368) (matt-edmondson)
- Write a map as std::map in C++, keyed as the C# Dictionary is (#369) (matt-edmondson)
- Accept float.MaxValue as SetFloat writes it, 3.4028235E+38 [patch] (#372) (matt-edmondson)
- Bound a vector component of a semantic type by that type's ranges [patch] (#373) (matt-edmondson)
- Hold data to member and semantic-type ranges (#359) (matt-edmondson)
- Refuse Float and Double data values that overflow to infinity (#360) (matt-edmondson)
- Add a SessionStart hook for Claude Code cloud sessions (#325) (matt-edmondson)
- Refuse a second schema file and a value on --no-data (#358) (matt-edmondson)
- Move the file-system and generator-registry checks out of Schema to fix CA1506 [patch] (#353) (matt-edmondson)
- Refuse NaN and infinities in the data-record number setters [patch] (#352) (matt-edmondson)
- Give each escape test row its own generator language (Claude)
- Make generator registration safe to call from several threads (Claude)
- Move the semantic type panel into its own class (Claude)
- Run the generator registry tests one at a time (Claude)
- Test integrality with double.IsInteger (Claude)
- Accept --no-data on validate again (Claude)
- Accept --no-data on validate again (Claude)
- Accept --no-data on validate again (Claude)
- Accept --no-data on validate again (Claude)
- Accept --no-data on validate again (Claude)
- Keep the whole-number conversion exact and in range (Claude)
- Accept --no-data on validate again (Claude)
- Merge the fix for main's failing data-file test (#330) (Claude)
- Merge the fix for main's failing data-file test (#330) (Claude)
- [minor] Record rename history, diff schema versions and migrate bound data (Claude)
- Let validate accept --no-data again (Claude)
- Merge the #222 branch, now up to date with main, into the #284 branch (Claude)
- Merge main into the #222 branch (Claude)
- Merge main into the #288 branch (Claude)
- Merge main into the #258 branch (Claude)
- Merge main into the #294 branch (Claude)
- Merge main into the #250 branch (Claude)
- Spell generated type references from global:: and refuse members named after their type (Claude)
- Let validate read its own --no-data option (Claude)
- Keep symbolic links and permissions when the editor saves [patch] (Claude)
- Emit a data file path with forward slashes on every host (Claude)
- Filter the record array explicitly in SchemaDataEditor.Records (Claude)
- Generate data editors for code generators bound to a data source (Claude)
- Cover the semantic type tree, the diagnostics jump and the rename guards (Claude)
- Fix grammar in the winget roadmap note (Claude)
- Use Path.Join when resolving manifest paths (Claude)
- Use Path.Join for test paths built from relative segments (Claude)
- Ask double.IsInteger rather than comparing a default to its floor (Claude)
- Compare rebased paths in the path type's own spelling (#283) (Claude)
- Propose a design for references between schema files (Claude)
- Say why the editor has no winget manifest yet (Claude)
- Refuse paths rooted on any system, not only the host's (#299) (Claude)
- Check semantic, quantity, optional and vector values in data sources (Claude)
- Offer C++ generation in the editor (Claude)
- Check numeric defaults against the type each component holds (Claude)
- Refuse schema names that collide once spelled in C++ (Claude)
- Refuse names that collide as generated file names (Claude)
- Check data source files in kschema validate (Claude)
- Refuse non-identifier names and generated paths outside the output directory (Claude)
- Generate from a schema whose only errors are about its data sources (Claude)
- Report a failed write from GenerateToDisk instead of throwing (Claude)
- Edit semantic types in the editor, and rename them and interfaces with their references (Claude)
- Account for the property a member matched, not the member's name (Claude)
- Refuse a name shared by a class, enum, interface or semantic type (Claude)
- Cascade class and enum renames through wrappers and function signatures (Claude)
- Repoint the error type and enum-value defaults on rename (Claude)
- Remove stale generated files when an element is renamed or deleted (Claude)
- Report a save the user may not write instead of crashing (Claude)
- Release the close latch when a save from the guard is abandoned (Claude)
- Restore a deleted enum value at its old position on undo (Claude)
- Make chosen and pasted paths relative to the schema instead of throwing (Claude)
- Rewrite relative paths when Save As moves the schema (Claude)
- Give a map its own key type (Claude)
- Refuse CLR types that would share a schema name (Claude)
- Refuse enums with more than 256 values (Claude)
- Refuse Long defaults a double cannot hold exactly (Claude)
- Report an absolute path in a schema as an invalid file instead of crashing (Claude)
- Merge remote-tracking branch 'origin/main' into claude/project-thread-80kn55 (Claude)
- Write integer defaults as integers in generated C++ (Claude)
- Import only real members and every inherited function from CLR types (Claude)
- Refuse unknown command line options and take --cpp-options=<file> (Claude)
- Write each line of a description as its own comment line (Claude)
- Start a generated C# quantity member at its declared default (Claude)
- Accept comments and trailing commas in schema files (Claude)
- Show user text in tooltips without printf formatting (Claude)
- Write negative Int and Long defaults with the invariant minus sign (Claude)
- Refuse a class that holds itself by value (Claude)
- Read a null property as omitted, and refuse a null list element by its path (Claude)
- Read a type whose discriminator is not first, and refuse one with none (Claude)
- Refuse a null in the C++ options file instead of throwing (Claude)
- Refuse schema documents with root properties the model does not read (Claude)
- Save schemas through a temporary file so a failed write keeps the last save (Claude)
- Move the editor onto ktsu.UndoRedo 3 so the ImGui 3.75 packages build (Claude)
- Regenerate API compatibility suppressions so packing succeeds again (Claude)
- Merge remote-tracking branch 'origin/main' into dependabot/nuget/Polyfill-11.4.5 (matt-edmondson)
What's Changed
- Bump the ktsu group with 7 updates by @dependabot[bot] in #296
- Move the editor onto ktsu.UndoRedo 3, stop saves and loads from silently losing a schema, and refuse unreadable or unsizable input by @matt-edmondson in #297
- Bump the ktsu group with 7 updates by @dependabot[bot] in #303
- Show user text in editor tooltips without printf formatting by @matt-edmondson in #304
- Start a generated C# quantity member at its declared default by @matt-edmondson in #305
- Generate from a schema whose only errors are about its data sources by @matt-edmondson in #317
- Refuse Long defaults a double cannot hold exactly by @matt-edmondson in #309
- Generate data editors for code generators bound to a data source by @matt-edmondson in #323
- Check semantic, quantity, optional and vector values in data sources by @matt-edmondson in #320
- Fix seventeen schema, generator and editor bugs by @matt-edmondson in #306
- Make chosen and pasted paths relative to the schema instead of throwing by @matt-edmondson in #312
- Refuse unknown command line options and take --cpp-options= by @matt-edmondson in #307
- Refuse enums with more than 256 values by @matt-edmondson in #310
- Let validate read its own --no-data option by @matt-edmondson in #330
- Keep symbolic links and permissions when the editor saves by @matt-edmondson in #329
- Check numeric defaults against the type each component holds by @matt-edmondson in #319
- Refuse names that collide as generated file names by @matt-edmondson in #318
- Record rename history, diff schema versions and migrate bound data (#127) by @matt-edmondson in #332
- Remove stale generated files when an element is renamed or deleted by @matt-edmondson in #314
- Keep the close button working after an abandoned save from the close prompt by @matt-edmondson in #313
- Spell generated references from global:: and refuse members named after their type by @matt-edmondson in #331
- Cascade class and enum renames through wrappers and function signatures by @matt-edmondson in #315
- Edit semantic types in the editor, and rename them and interfaces with their references by @matt-edmondson in #316
- Give a map its own key type by @matt-edmondson in #311
- Propose a design for references between schema files by @matt-edmondson in #322
- Say why the editor has no winget manifest yet by @matt-edmondson in #321
- Write integer defaults as integers in generated C++ by @matt-edmondson in #308
- Refuse NaN and infinities in the data-record number setters [patch] by @matt-edmondson in #352
- Move the file-system and generator-registry checks out of Schema to fix CA1506 [patch] by @matt-edmondson in #353
- Refuse a second schema file and a value on --no-data [patch] by @matt-edmondson in #358
- Bump System.Text.Json from 10.0.13 to 10.0.14 by @dependabot[bot] in #344
- Bump Microsoft.SourceLink.AzureRepos.Git and Microsoft.SourceLink.GitHub by @dependabot[bot] in #343
- Bump ktsu.ForceDirectedLayout and 3 others by @dependabot[bot] in #345
- Bump ktsu.ForceDirectedLayout and 3 others by @dependabot[bot] in #346
- Add a SessionStart hook for Claude Code cloud sessions by @matt-edmondson in #325
- Refuse Float and Double data values that overflow to infinity [patch] by @matt-edmondson in #360
- Hold data to member and semantic-type ranges [patch] by @matt-edmondson in #359
- Bound a vector component of a semantic type by that type's ranges [patch] by @matt-edmondson in #373
- Accept float.MaxValue as SetFloat writes it, 3.4028235E+38 [patch] by @matt-edmondson in #372
- Write a map as std::map in C++, keyed as the C# Dictionary is [patch] by @matt-edmondson in #369
- Bound a value migrated into a semantic type by that type's ranges [patch] by @matt-edmondson in #368
- Give up a string that parses to a non-finite number when migrating it to a number [patch] by @matt-edmondson in #367
Full Changelog: v1.38.1...v1.39.0