Skip to content

Releases: AngelMunoz/Perla

v1.0.0

19 Nov 22:14

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.24.1...v1.0.0

v1.0.0-rc-003

15 Aug 17:26

Choose a tag to compare

Changes

  • Updated the embedded templates to start new projects
  • Remove arm64 nuget builds for the moment (playwright again...)

Full Changelog: v1.0.0-rc-001...v1.0.0-rc-003

v1.0.0-rc-002

15 Aug 03:47

Choose a tag to compare

What's Changed

  • feat: update project configuration and tools to net10 by @AngelMunoz in #143
  • Modify Perla.fsproj to target net10.0 and add runtime identifiers
  • fix(ProxyService): handle multipart/form-data requests
  • Added check for multipart/form-data in Content-Type header.
  • Implemented handling of form fields and file uploads in multipart requests.
  • Updated content assignment based on request type.
  • fix(ProxyService): improve header writing and add cancellation support
  • fix(ProxyService): enhance header writing and support for chunked transfer
  • Implemented transferChunkedPipe and transferPlainPipe for streaming responses.
  • Updated logic to check for chunked responses and handle them appropriately.
  • Improved header handling for various request types.
  • feat(Commands, Handlers, Program): Enable interactive mode
  • Renamed 'Install' command to 'Restore' for clarity.
  • Added aliases for commands to improve usability.
  • Introduced interactive mode for command execution.
  • Updated logging for command success and failure.
  • refactor(Interactive): simplify command execution logic

  • refactor(descriptions.json): update schema and improve descriptions

  • Replaced outdated keys and descriptions with updated schema versioning.
  • Enhanced clarity of configuration options for better understanding.
  • Deprecated several keys and added new ones for improved functionality.
  • feat: don't make the dotnet tool run self-contained

Full Changelog: v1.0.0-rc-001...v1.0.0-rc-002

v1.0.0-rc-001

07 Aug 17:05

Choose a tag to compare

What's Changed

For the most part just updated the built-in templates to include the new testing infra options. every template now has sample tests included just to let the user know they can indeed test their frontend code.

  • feat(offline-templates): enhance offline templates and add tests by @AngelMunoz in #142

  • fix(paths): make sure paths are given to esbuild when using it

    When using esbuild, if you're using a local path e.g.

    // perla.json
    {
     "mountedDirectories": { "/src": "./src" }, // the default you don't have to add this
     "paths": { "@components/": "./src/features/components" }
    }

    We now make sure that esbuild gets this "@ components" bare import as a tsconfig#compilerOptions#paths configuration so the resolution of those imports

for non-fable users it is recommended that they add to paths as well, so they get better resolution.

e.g.

{
  "compilerOptions": {
    "allowJs": true,
    "checkJs": true,
    "moduleResolution": "bundler",
    "module": "esnext",
    "isolatedModules": true,
    "lib": ["DOM", "ES2020"],
    "erasableSyntaxOnly": true,
    "paths": {
      "@nested/*": ["./src/nested1/nested2/*"] // <- this one
    }
  },
  "exclude": ["node_modules"],
  "include": ["src/**/*.js"]
}

The syntax for typescript is different though, "paths" in perla.json matches a bare import with its resolution path/url as they will be added as a key to the import map of the application, typescript does not have notion of this so thy need to add the * at the end of the kv pair so it matches the import map behavior

Full Changelog: v1.0.0-beta-034...v1.0.0-rc-001

v1.0.0-beta-034

04 Aug 21:16

Choose a tag to compare

What's Changed

Full Changelog: v1.0.0-beta-033...v1.0.0-beta-034

v1.0.0-beta-033

29 Jul 00:02

Choose a tag to compare

What's changed:

Dev Server

Fix proxied request's body; When proxying requests with body (POST, PUT, PATCH) the dev server was sending an invalid http request (0790fe6)

Full Changelog: v1.0.0-beta-032...v1.0.0-beta-033

v1.0.0-beta-032

27 Jul 23:26

Choose a tag to compare

What's Changed

Features

  • Proxy: Enhanced proxy service with logging and chunked response handling.
    (ed5cf40)

Documentation

  • Updated CSS and JSON documentation.
    (d40e8d2)

Fixes

  • Docs:

    • Update link formats for consistency.
      (61577d0)
    • Update root URL for Navigo router initialization.
      (b2a5910)
  • Workflows:

    • Remove unnecessary Set base href step in docs workflow.
      (6820cf4)

Chores

  • Logging: Change log level from Debug to Trace for file processing.
    (41f1702)

Full Changelog: v1.0.0-beta-031...HEAD

v1.0.0-beta-031

24 Jul 19:36

Choose a tag to compare

What's Changed

Features

  • Import Maps: Enhanced import map resolution and cleanup functionality.
    (a1fec40)
  • Build: Added getMissingLocalDependencies function to improve build reliability.
    (c5962d3)
  • Package Manager: Improved error handling for package management operations.
    (ca7606f)

Documentation

  • Major updates to migration, CLI, development, JSX/TSX, package manager, and transpilation documentation.
    (007afd8, d49c471, c9aa7ed)
  • Updated migration and plugin documentation.

Fixes

  • Docs: Corrected paths, normalized CSS handling, updated URLs, caching paths, and service worker registration.
    (69c52a5, 7d81f97, 6d5f99b, 44d97de)

Full Changelog: v1.0.0-beta-030...v1.0.0-beta-031

v1.0.0-beta-030

21 Jul 20:53

Choose a tag to compare

Changelog (since v1.0.0-beta-29)

Features

  • Import Maps: Enhanced import map resolution and cleanup functionality.
  • Handlers: Improved template handling and logging:
    • Logging messages now clarify template sources.
    • Added support for displaying both downloaded and offline templates in the output.
    • Improved handling of Fable service readiness notifications.
  • Build: Now collects and includes esbuild-generated CSS files in index.html.

Fixes

  • RunRemove: Fixed a crash when trying to remove packages.

Documentation

  • Updated markdown and Perla documentation.
  • Updated documentation across multiple files.

Full Changelog: v1.0.0-beta-029...v1.0.0-beta-030

v1.0.0-beta-029

18 Jul 21:07

Choose a tag to compare

Changes

  • Improved file change detection: now ignores temporary/editor files (e.g., ~, .tmp, JetBrains/VS temp files) to reduce noise and false positives in the virtual file system.
  • Enhanced VFS resolver: supports extension fallback for .ts, .tsx, and .jsx to .js, ensuring correct resolution for browser/server requests.
  • Fixed MIME type mapping: .jsx, .ts, and .tsx are now treated as JavaScript, not binary, enabling proper plugin processing and serving.
  • Restored correct resolution for node_modules files after resolver refactor.
  • Implemented client errors forwarding from the browser to the server. Uncaught errors are now sent to the /~perla~/log-client-error endpoint.
  • Added a new DecodedClientLogMessage type and decoder for reliable, schema-driven parsing of client logs, ensuring optional fields and the extra map are handled gracefully.
  • Server now detects module resolution errors (e.g., deep import failures) in client logs and logs actionable, user-friendly messages suggesting the use of perla add <specifier>.

Full Changelog: v1.0.0-beta-028...v1.0.0-beta-029