πŸ‘¨β€πŸ’» niltor    πŸ“† 2026-09-10 13:35

10.0 Update Notes

10.0.1

This version mainly optimizes the internal implementation of the tool. There are no functional changes.

Changes

The tool no longer uses EFCore/Sqlite internally and now uses Perigon.minidb instead. The results are as follows:

  • Package size is reduced from 17 MB to 10 MB
  • Entity parsing no longer depends on EFCore DbContext; it continues to use Roslyn, which improves generation speed

Also fixed incorrect documentation links.

Impact

Because Sqlite is no longer used, you need to add your projects again after opening the tool. Data previously stored in Sqlite cannot continue to be used.

10.1.0

Added the pack and install commands to package and install modules, providing a basic foundation for cross-project module reuse.

Tip

The latest templates no longer include default module code such as SystemMod. If you need these modules, you can get the module files from package_modules in the template repository, and then install them through the command line.

10.1.9 - 10.1.10

  • The publish workflow now validates tests before publishing and writes the local package to the repository-level artifacts directory.
  • The generate command adds entity, dto, manager, and controller subcommands. entity prints entity-model generation rules, and controller supports the api alias.
  • Entity-generation rules now clarify module-directory creation and the standard DbSet property form in DbContext.

10.1.11

  • C# OpenAPI client generation now recognizes binary file fields in multipart/form-data and generates upload methods that accept a Stream, file name, and multipart field name.
  • Multipart generation now supports multiple file fields and ordinary string, numeric, boolean, and array form fields across C#, Angular, and Axios clients.
  • Fixed an extra-dot namespace issue in C# model generation when the project name is empty.

10.1.12

  • The generate request command adds -c/--cover-base-service; existing base.service.ts content is preserved by default and is overwritten only when requested. Studio also preserves the file by default.
  • Fixed URL composition in generated C# upload, multipart, download, and JSON requests so multi-level HttpClient.BaseAddress paths are preserved instead of resolving from the domain root.

10.1.13

  • Fixed request service name generation when an OpenAPI tag contains spaces or other invalid identifier characters; generated C# and TypeScript service names now use safe PascalCase identifiers.
  • Fixed request service filenames for OpenAPI tags containing spaces so they consistently use hyphenated names.

10.1.14

  • Fixed Linux package publishing by tracking ShareDlls.txt with the casing expected by the pack script, preventing duplicate shared assemblies from being included in the Studio archive.

10.1.15

  • Client request generation now supports OpenAPI 204, 205, 304, and HEAD no-content responses; C# generates Task, while Angular/Axios generate void return types.
  • C# multipart and file-upload methods now use the HTTP method declared by OpenAPI, including PUT; Angular/Axios request method handling is aligned as well.
  • C# clients preserve the raw error response through ResponseContent, including Content, StatusCode, and ReasonPhrase, so callers can handle different error formats outside the generated client.

10.1.16

  • C# client request paths are now generated as relative URIs without a leading / and passed directly to HttpClient for merging with BaseAddress. When configuring a C# client, BaseAddress must end with /, for example https://example.com/api/.

10.1.17

  • Added perigon update: it reliably detects Perigon.templates, updates it when installed or installs it when missing, then creates a temporary comparison project and displays added or changed files within the managed scopes.
  • Template differences are applied only after a y/n confirmation. Cancelling leaves the current project unchanged, does not delete project-only files, and excludes the specified database context files.

10.2.0

  • Template updates no longer check installed templates or call dotnet new update; each run directly executes dotnet new install Perigon.templates so comparison uses the latest template.
  • Improved the perigon update interaction: the left pane lists (+added -removed) line counts, while the right pane colorizes added, removed, context, and file-header diff lines; both panes show their visible range and scroll markers when content overflows.
  • Added arrow-key navigation that keeps the focused file visible, Space multi-selection, PgUp/PgDn scrolling for the right-hand diff, Enter to apply the selected files, and Esc to cancel. Template comparison ignores line-ending, leading/trailing whitespace, consecutive-whitespace, and blank-line differences, while a strict file snapshot check still runs before applying.
  • The update left pane now shows filenames only. Comparison excludes src/Definition/EntityFramework/Migrations/ and src/Perigon/Perigon.AspNetCore/Constants/WebConst.cs; after applying files, the CLI automatically runs dotnet build and reports the result.
  • Studio no longer includes the prompt, custom-template, generation-task, or MCP-configuration pages. Project-specific template creation and code generation now use project skills to guide AI through the CLI or Agent MCP.
  • Agent MCP no longer exposes ExecuteGenerateTaskAsync; Studio generation-task IDs are no longer an execution mechanism.

1.2.0

  • Added perigon update and an interactive two-pane selector for reviewing and confirming template differences.
  • Project-only files are preserved, non-semantic whitespace differences are ignored during comparison, and file snapshots are validated before applying changes to prevent concurrent edits from being overwritten.
  • Added Agent initialization options, stdio MCP startup, and secure archive extraction while removing obsolete Studio generation and MCP-configuration pages.
  • Added -v/--version to module pack so module packages can carry an explicit version; omitted versions use 1.0.0 and print a warning.