Skip to content

v1.39.0

Latest

Choose a tag to compare

@github-actions github-actions released this 11 Nov 00:36

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

Full Changelog: v1.38.1...v1.39.0