Releases: AngelMunoz/Perla
v1.0.0
What's Changed
- VNext by @AngelMunoz in #89
- Scaffolding Overhaul by @AngelMunoz in #107
- formating by @AngelMunoz in #109
- switch flurl by @AngelMunoz in #111
- add cli middleware by @AngelMunoz in #116
- Extra Middleware by @AngelMunoz in #117
- Use OptionMaybe to parse optional extra parameters. Add tests to cover these cases by @kaeedo in #121
- cli middleware tests by @AngelMunoz in #122
- custom paths by @AngelMunoz in #123
- Feature/show different tempalte options by @kaeedo in #125
- fix #126 by @AngelMunoz in #127
- Update tools to net8 by @AngelMunoz in #130
- Refactor plugin registry and fsi session management by @AngelMunoz in #131
- Refactor package management and enhance project structure by @AngelMunoz in #132
- feat(tests): add FileSystem.Tests by @AngelMunoz in #133
- feat(tests): enhance PluginManager tests by @AngelMunoz in #134
- feat(SuaveService): integrate Suave framework and add new service files by @AngelMunoz in #135
- Fixed
helpActionAsync(requires Input.context) by @JordanMarr in #136 - Refactored using FS.SCL beta5.8 by @JordanMarr in #138
- feat(docs) by @AngelMunoz in #139
- Test-support by @AngelMunoz in #140
- feat(offline-templates): enhance offline templates and add tests by @AngelMunoz in #142
- feat: update project configuration and tools to net10 by @AngelMunoz in #143
New Contributors
- @JordanMarr made their first contribution in #136
Full Changelog: v0.24.1...v1.0.0
v1.0.0-rc-003
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
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
transferChunkedPipeandtransferPlainPipefor 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
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#pathsconfiguration 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
What's Changed
- Test-support by @AngelMunoz in #140
Full Changelog: v1.0.0-beta-033...v1.0.0-beta-034
v1.0.0-beta-033
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
What's Changed
Features
- Proxy: Enhanced proxy service with logging and chunked response handling.
(ed5cf40)
Documentation
- Updated CSS and JSON documentation.
(d40e8d2)
Fixes
-
Docs:
-
Workflows:
- Remove unnecessary
Set base hrefstep in docs workflow.
(6820cf4)
- Remove unnecessary
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
What's Changed
Features
- Import Maps: Enhanced import map resolution and cleanup functionality.
(a1fec40) - Build: Added
getMissingLocalDependenciesfunction 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
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
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.jsxto.js, ensuring correct resolution for browser/server requests. - Fixed MIME type mapping:
.jsx,.ts, and.tsxare now treated as JavaScript, not binary, enabling proper plugin processing and serving. - Restored correct resolution for
node_modulesfiles after resolver refactor. - Implemented client errors forwarding from the browser to the server. Uncaught errors are now sent to the
/~perla~/log-client-errorendpoint. - Added a new
DecodedClientLogMessagetype and decoder for reliable, schema-driven parsing of client logs, ensuring optional fields and theextramap 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