Conversation
Pass --js false in npm build scripts and CI so the FusionApp/middleware layer is preserved after native addon builds. Co-authored-by: Cursor <cursoragent@cursor.com>
Ignore C# bin/obj, Rust target/, Python caches, native addons, and IDE noise; remove previously committed build outputs from the repository index. Co-authored-by: Cursor <cursoragent@cursor.com>
Serve swagger-ui-dist 5.18.3 from /swagger/assets in Python, Node, and C# instead of unpkg CDN, and disable online validatorUrl by default. Co-authored-by: Cursor <cursoragent@cursor.com>
Expose HTML rendering from fusion-core with built-in UI components, class-based handlers in Python/Node/C#, and an example page. Co-authored-by: Cursor <cursoragent@cursor.com>
Provide bash helpers to build Python, Node, and C# bindings from source with verification steps and a scripts/README.md guide. Co-authored-by: Cursor <cursoragent@cursor.com>
Template routes return rendered HTML for browsers and context() JSON when clients send Accept: application/json or ?format=json, with shared logic in fusion-core prefers_json across Python, Node, and C# bindings. Co-authored-by: Cursor <cursoragent@cursor.com>
Run lint and tests on dev only; orchestrate PyPI, npm, and NuGet publishing on main pushes and version tags via publish.yml. Co-authored-by: Cursor <cursoragent@cursor.com>
Use StandaloneLayout and topbar CSS selectors that match swagger-ui 5.18.3 so the version <select> stays visible while hiding only the Explore input. Co-authored-by: Cursor <cursoragent@cursor.com>
Feature/ci cd main dev
Fix Swagger version navbar after vendored Swagger UI 5.x.
listen(reload=True) watches project files and restarts the process; reload=False (default) never restarts. Settings key reload enables the same behavior without a code change. Co-authored-by: Cursor <cursoragent@cursor.com>
Apps no longer register framework_headers/FrameworkHeaders automatically, and fingerprint.enabled defaults to false so X-Powered-By is only set when users add middleware or enable settings. Co-authored-by: Cursor <cursoragent@cursor.com>
Feature/middleware opt in
Add optional auto-reload on source changes for all bindings.
Template pages stay mounted as HTTP handlers but no longer appear as API operations in generated docs across Python, Node, and C# bindings. Co-authored-by: Cursor <cursoragent@cursor.com>
…es-from-swagger Exclude FusionBaseTemplate routes from Swagger OpenAPI specs.
Routes accept permission callables that return bool; failures return 403 and protected operations show FusionPermissions security in OpenAPI across Python, Node, and C#. Co-authored-by: Cursor <cursoragent@cursor.com>
Introduces tests/python with shared conftest, fixtures, runner scripts, pytest.ini, and CI ruff/pytest integration so binding tests no longer ship inside fusion_framework. Co-authored-by: Cursor <cursoragent@cursor.com>
Codify parity, examples, comments, and git staging rules for agents working on the framework. Co-authored-by: Cursor <cursoragent@cursor.com>
Expose test helpers in Node/C# bindings and wire CI plus run scripts for the new suites. Co-authored-by: Cursor <cursoragent@cursor.com>
Feature/agent skills
Add Node and C# unit tests to the centralized harness.
Resolve Swagger.cs by keeping CreateTestSpec and permission security schemes, and move permission middleware tests under tests/python/. Co-authored-by: Cursor <cursoragent@cursor.com>
Replace route roles with custom permissions and Swagger lock metadata.
Serve CSS/images from a filesystem root under a URL prefix so templates can reference assets without custom routes. Co-authored-by: Cursor <cursoragent@cursor.com>
Global middleware only runs for matched routes, so unmatched asset URLs 404'd; register GET/HEAD file routes when the app mounts. Co-authored-by: Cursor <cursoragent@cursor.com>
Allow async def context() / Promise / ContextAsync so pages can load data before Tera render without overriding get(). Co-authored-by: Cursor <cursoragent@cursor.com>
Feature/static files middleware
Support async template context across Python, Node, and C#.
feat(ui): add default ui component
feat(cache): add moka cache and standard api
Expose spawn/spawn_after/cancel/status in Python, Node, and C# with examples, tests, and agent docs for fire-and-forget in-process jobs. Co-authored-by: Cursor <cursoragent@cursor.com>
Feature/background tasks
Move panel gating to top-level monitor.* settings, embed task snapshots in the HTML/JSON UI, and clarify spawn callable errors for delayed jobs. Co-authored-by: Cursor <cursoragent@cursor.com>
feat(monitor): list tasks in an independent Fusion monitor panel
Expose build/start/run/health/clean npm scripts via fusion CLI, keep native builds under build:napi, and expand keywords/author fields for npm discovery. Co-authored-by: Cursor <cursoragent@cursor.com>
feat(node): Nest-style fusion scripts and richer package metadata
Introduce Input, Text, Card, and Dropdown under fusion templates with a tokenized global.css and /ui preview entrypoint. Co-authored-by: Cursor <cursoragent@cursor.com>
feat(templates): add shared UI components gallery with theme tokens
feat(template): add spa style to template
release v2.0.0
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this PR do?
Briefly describe the change and why it's needed.
Closes # (if applicable)
Type of change
Checklist
pnpm lint/make lint)pnpm build/make build-app).envfiles, or credentials included in this PRScreenshots (if UI change)
Additional notes
Anything reviewers should know — tricky parts, follow-up work, etc.