<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <id>https://www.fusio-project.org/blog</id>
  <title>Blog | Fusio</title>
  <updated>2026-02-01T10:28:00Z</updated>
  <link rel="self" href="https://www.fusio-project.org/feed" type="application/atom+xml"/>
  <link rel="alternate" href="https://www.fusio-project.org/blog" type="text/html"/>
  <entry>
    <id>https://www.fusio-project.org/blog/fusio-6.3-released</id>
    <title>Fusio 6.3 released</title>
    <updated>2026-02-01T10:28:00Z</updated>
    <link rel="alternate" href="https://www.fusio-project.org/blog/fusio-6.3-released" type="text/html"/>
    <author>
      <name>chriskapp</name>
      <uri>https://chrisk.app/</uri>
    </author>
    <summary>This post announces the release of the next version 6.3</summary>
    <category term="fusio"/>
    <category term="announcement"/>
    <content type="html">&lt;p&gt;We are happy to announce the release of Fusio 6.3. This version introduces a new AI adapter and agent connection,
which allows you to connect to remote agents. These agents can help answer general questions about your Fusio instance
and assist in building custom endpoint logic and schemas.&lt;/p&gt;

&lt;p&gt;The adapter and AI features are based on the new &lt;a href="https://ai.symfony.com/"&gt;Symfony AI&lt;/a&gt; components. All AI
features are optional and still experimental, but we wanted to make them available early to gather feedback from our
users. You can find more information about these features on our dedicated &lt;a href="https://www.fusio-project.org/ai"&gt;AI
features page&lt;/a&gt;.

&lt;p&gt;The following list covers the most important changes in this release:&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;
        &lt;b&gt;Add AI adapter and agent connection &lt;a href="https://github.com/apioo/fusio/issues/657"&gt;#657&lt;/a&gt;&lt;/b&gt;
        &lt;p&gt;We have implemented a new &lt;a href="https://github.com/apioo/fusio-adapter-ai"&gt;AI-Adapter&lt;/a&gt; based on the
        Symfony AI components, which exposes an agent connection. This agent connection can be used in the Agent Designer,
        but you can also use it directly in your custom endpoints. A powerful feature is that all Fusio operations are
        available as tools that can be used by an agent. This allows the AI to interact directly with your Fusio
        instance in a controlled way.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Add agent designer which allows to build actions using an agent connection&lt;/b&gt;
        &lt;p&gt;The new Agent Designer allows you to build custom action logic through a simple conversational prompt. To get
        a first impression, take a look at the following screenshot:&lt;/p&gt;
        &lt;div class="mt-4 mb-4 text-center"&gt;
            &lt;img src="/img/blog/fusio-6.3-released/agent_designer.png" alt="Agent Designer" class="img-fluid"&gt;
        &lt;/div&gt;
        &lt;p&gt;On the left, you see a chat-style prompt similar to what you know from other LLM providers. When the LLM
        returns a response, Fusio parses the generated code and loads it directly into the editor on the right.&lt;/p&gt;
        &lt;p&gt;You can load code from previous prompts using the blue “Generated code” button. Once the code is inside the
        editor, you can execute it using the “Execute” button, which shows the response of the action. This allows you
        to quickly test whether the AI-generated code works as expected.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Migrate from logiscape/mcp-sdk-php to mcp/sdk &lt;a href="https://github.com/apioo/fusio/issues/651"&gt;#651&lt;/a&gt;&lt;/b&gt;
        &lt;p&gt;We have switched our internal MCP library to the official MCP &lt;a href="https://github.com/modelcontextprotocol/php-sdk"&gt;PHP SDK&lt;/a&gt;.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Action execution wrapped in transaction&lt;/b&gt;
        &lt;p&gt;In the backend, it is possible to test an action by executing it through the Action Designer. This same logic
        is used in the Agent Designer when executing an action. To avoid side effects during testing, action execution
        is now wrapped in a transaction that is always rolled back. This means it is no longer possible, for example, to
        accidentally insert database entries while testing an action.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Add response factory "proxy" method which returns a PSR response&lt;/b&gt;
        &lt;p&gt;We have added a new proxy method to the response factory, which simplifies proxy scenarios where you only
        want to forward the response of an HTTP request.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Improve HTTP adapter proxy performance&lt;/b&gt;
        &lt;p&gt;Internally, Fusio now also uses the new proxy method, which improves performance.&lt;/p&gt;
    &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you want to provide some feedback take a look at our GitHub &lt;a href="https://github.com/apioo/fusio/discussions"&gt;discussions&lt;/a&gt; or
&lt;a href="https://github.com/apioo/fusio/issues"&gt;issues&lt;/a&gt; page.&lt;/p&gt;

&lt;p&gt;Best regards&lt;br&gt;
Christoph&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>https://www.fusio-project.org/blog/fusio-6.2-released</id>
    <title>Fusio 6.2 released</title>
    <updated>2026-01-01T16:29:00Z</updated>
    <link rel="alternate" href="https://www.fusio-project.org/blog/fusio-6.2-released" type="text/html"/>
    <author>
      <name>chriskapp</name>
      <uri>https://chrisk.app/</uri>
    </author>
    <summary>This post announces the release of the next version 6.2</summary>
    <category term="fusio"/>
    <category term="announcement"/>
    <content type="html">&lt;p&gt;We like to announce the next version 6.2 of Fusio. The largest change of this release is the backend migration from
&lt;a href="https://angular.dev/"&gt;Angular&lt;/a&gt; 18 to 20. This affects the Angular SDK, TypeSchema editor and backend app, in
the process we have also updated many dependencies like the &lt;a href="https://microsoft.github.io/monaco-editor/"&gt;Monaco&lt;/a&gt;
editor and &lt;a href="https://apexcharts.com/"&gt;Apexcharts&lt;/a&gt;. All components of the backend app are now standalone, and
we use the new &lt;code&gt;@for&lt;/code&gt; &lt;code&gt;@if&lt;/code&gt; syntax and signals for input and output. This makes the backend app
fit for future Angular releases, and we also benefit from all changes in the ecosystem. Since this is a larger rewrite
of the backend feel free to &lt;a href="https://github.com/apioo/fusio/issues"&gt;open an issue&lt;/a&gt; in case you have found a
problem. The following list covers all important features of this release:&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;
        &lt;b&gt;Migrate backend app from Angular 18 to 20&lt;/b&gt;
        &lt;p&gt;The backend app was migrated from Angular 18 to 20 using new language features and updating all dependencies.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Added backend code editor view and improved code completion&lt;/b&gt;
        &lt;p&gt;We have implemented a new code editor view to develop actions.&lt;/p&gt;
        &lt;div class="mt-4 mb-4 text-center"&gt;
            &lt;img src="/img/blog/fusio-6.2-released/action_designer_editor.png" alt="Action Designer Editor" class="img-fluid"&gt;
        &lt;/div&gt;
        &lt;p&gt;This view is dedicated to the Worker actions and improves the development experience for users who like to
        use the backend. The editor has now more space and on the right side panel you can select a connection to get
        additional information about this connection. While developing an action you often need to use an existing
        connection i.e. select data from a table or access a remote API. This side panel provides more information like
        available methods, and we also show details if available, i.e. for a database connection we list available tables
        on the connection. Besides this we have also improved the code completion of the editor.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Backend use schema editor&lt;/b&gt;
        &lt;p&gt;To create and update a schema we now use everywhere the schema editor. Previously there was a JSON editor
        where a user could provide a raw &lt;a href="https://typeschema.org/"&gt;TypeSchema&lt;/a&gt; specification but this is now
        replaced with the editor since it is much easier for new users to create a schema.&lt;/p&gt;
        &lt;div class="mt-4 mb-4 text-center"&gt;
            &lt;img src="/img/blog/fusio-6.2-released/schema_editor.png" alt="Schema Editor" class="img-fluid"&gt;
        &lt;/div&gt;
        &lt;p&gt;We use this editor already in many projects and it helps to improve the user experience. The editor has also
        an import option so if the user likes to provide a raw TypeSchema specification this is still possible.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Add marketplace bundle&lt;/b&gt;
        &lt;p&gt;At the marketplace we have introduced a new bundle concept. A bundle is basically a set of Fusio entities
        like i.e. an action or schema. You can create a bundle to share such entities with our community. With this
        new option you can now create a bundle at your local Fusio installation and submit these entities to the
        marketplace.&lt;/p&gt;
        &lt;div class="mt-4 mb-4 text-center"&gt;
            &lt;img src="/img/blog/fusio-6.2-released/bundle_details.png" alt="Bundle Details" class="img-fluid"&gt;
        &lt;/div&gt;
        &lt;p&gt;Basically a bundle contains a reference to your local entities and if you submit the bundle to the
        marketplace Fusio will convert those references into a fitting object. A third user can then install this bundle
        from the marketplace. You need to &lt;a href="https://www.fusio-project.org/marketplace"&gt;register&lt;/a&gt;
        at the marketplace, and then you can provide your credentials at your local Fusio installation under
        System / Config (&lt;code&gt;marketplace_client_id&lt;/code&gt; / &lt;code&gt;marketplace_client_secret&lt;/code&gt;).&lt;/p&gt;
        &lt;p&gt;This is only a soft launch of this new concept, but in the future users could use this marketplace to create
        a vibrant community to share such entities. This would work similar to platforms like
        &lt;a href="https://zapier.com/"&gt;Zapier&lt;/a&gt; where users can share existing actions to solve or automate a specific
        task but in the open-source and self-hosted spirit.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;HTTP-Raw Action GET Error - Template "body" is not defined in HTTP &lt;a href="https://github.com/apioo/fusio/issues/659"&gt;#659&lt;/a&gt;&lt;/b&gt;
        &lt;p&gt;The body parameter is no longer required.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Remove FQDN from OAuth2 username &lt;a href="https://github.com/apioo/fusio/issues/655"&gt;#655&lt;/a&gt;&lt;/b&gt;
        &lt;p&gt;When normalizing OAuth2 usernames we automatically remove the @ part.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Added new requests per ip, operation and user statistic&lt;/b&gt;
        &lt;p&gt;We have added some new statistics to see the request count by ip, operations and user.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Migrate from psalm to phpstan&lt;/b&gt;
        &lt;p&gt;Internally we have migrated the Fusio backend implementation and many libraries from &lt;a href="https://psalm.dev/"&gt;Psalm&lt;/a&gt;
        to &lt;a href="https://phpstan.org/"&gt;PHPStan&lt;/a&gt;.&lt;/p&gt;
    &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you want to provide some feedback take a look at our GitHub &lt;a href="https://github.com/apioo/fusio/discussions"&gt;discussions&lt;/a&gt; or
&lt;a href="https://github.com/apioo/fusio/issues"&gt;issues&lt;/a&gt; page.&lt;/p&gt;

&lt;p&gt;Best regards&lt;br&gt;
Christoph&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>https://www.fusio-project.org/blog/introducing-the-new-trigger-system</id>
    <title>Introducing the new trigger system</title>
    <updated>2025-10-11T10:00:00Z</updated>
    <link rel="alternate" href="https://www.fusio-project.org/blog/introducing-the-new-trigger-system" type="text/html"/>
    <author>
      <name>chriskapp</name>
      <uri>https://chrisk.app/</uri>
    </author>
    <summary>This post provides a short introduction to our new trigger system</summary>
    <category term="fusio"/>
    <category term="announcement"/>
    <content type="html">&lt;p&gt;With the latest 6.1 version we have introduced a new trigger system. The trigger system basically provides a way
to execute a specific action in case an event was dispatched. We have now three ways to execute an action, first through
an operation (HTTP request), then through a cronjob (periodically) and now through a custom event. If we take a look
at the Fusio &lt;a href="https://docs.fusio-project.org/docs/bootstrap#architecture-overview"&gt;architecture&lt;/a&gt;
the system is now build on the following entities.&lt;/p&gt;

&lt;div class="mt-4 mb-4 text-center"&gt;
    &lt;img src="https://docs.fusio-project.org/assets/images/architecture_small-eddffeb37f5e15ae4e04abfa3e9b4668.png" width="500" alt="Fusio Architecture" class="img-fluid"&gt;
&lt;/div&gt;

&lt;p&gt;The trigger allows us to build actions which only execute a simple task and then dispatch an event.
Through the cronjob we can build actions which are periodically invoked which can be used i.e. to observe
a specific endpoint and only fire an event if specific conditions are met. Through this we can build &lt;a href="https://zapier.com/"&gt;Zapier&lt;/a&gt;
like workflows where we have a trigger and an action.&lt;/p&gt;

&lt;p&gt;To create a trigger at the backend you only need to select the event and action which should be executed.&lt;/p&gt;

&lt;div class="mt-4 mb-4 text-center"&gt;
    &lt;img src="/img/blog/introducing-the-new-trigger-system/trigger-create.png" alt="Trigger create" class="img-fluid"&gt;
&lt;/div&gt;

&lt;p&gt;To dispatch an event you can use the dispatcher which is available at every action. For example, you could use the
WorkerPHP action to run the following action which dispatches an event.&lt;/p&gt;

&lt;div class="mt-4 mb-4 text-center"&gt;
    &lt;img src="/img/blog/introducing-the-new-trigger-system/trigger-action.png" alt="Action trigger event" class="img-fluid"&gt;
&lt;/div&gt;

&lt;p&gt;The trigger system is a powerful tool to build more decoupled actions which only solve a specific task and which together
compose more complex systems. We are also planing to improve our marketplace so that it is easier to share these kinds
of triggers and actions. So feel free to test this new feature and if you want to provide some feedback take a look at our
GitHub &lt;a href="https://github.com/apioo/fusio/discussions"&gt;discussions&lt;/a&gt; or &lt;a href="https://github.com/apioo/fusio/issues"&gt;issues&lt;/a&gt; page.&lt;/p&gt;

&lt;p&gt;Best regards&lt;br&gt;
Christoph&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>https://www.fusio-project.org/blog/fusio-6.1-released</id>
    <title>Fusio 6.1 released</title>
    <updated>2025-10-10T12:30:00Z</updated>
    <link rel="alternate" href="https://www.fusio-project.org/blog/fusio-6.1-released" type="text/html"/>
    <author>
      <name>chriskapp</name>
      <uri>https://chrisk.app/</uri>
    </author>
    <summary>This post announces the release of the next version 6.1</summary>
    <category term="fusio"/>
    <category term="announcement"/>
    <content type="html">&lt;p&gt;We like to announce the next version 6.1 of Fusio. This release introduces a new trigger concept and
we have implemented the JsonRPC and GraphQL protocol which help to use Fusio in different environments.
The great thing about these new protocols is that our users get this JsonRPC or GraphQL support for free,
there is no need to change anything, since we expose only the existing operations. We now experience the
advantages of our operation based approach from our past decisions.
The following list covers all important features of this release:&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;
        &lt;b&gt;Added new trigger concept to invoke an action through an event &lt;a href="https://github.com/apioo/fusio/issues/359"&gt;#359&lt;/a&gt;&lt;/b&gt;
        &lt;p&gt;It is now possible to define a trigger, a trigger invokes an action in case an event occurs.
        This allows to decouple logic in your actions, for example you could create an action &lt;code&gt;fetch-latest-news&lt;/code&gt; which triggers an event
        and an action &lt;code&gt;send-news-per-mail&lt;/code&gt; which sends the actual news per mail and through a trigger you could invoke this action.
        Decoupling this is a really powerful way to build more complex systems.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Added JsonRPC server &lt;a href="https://github.com/apioo/fusio/issues/650"&gt;#650&lt;/a&gt;&lt;/b&gt;
        &lt;p&gt;We have implemented a &lt;a href="https://www.jsonrpc.org/"&gt;JsonRPC&lt;/a&gt; server which can be used to invoke every operation through JsonRPC.
        JsonRPC is a great simple protocol which is widely used i.e. at BitCoin (and crypto in general), &lt;a href="https://microsoft.github.io/language-server-protocol/"&gt;LSP&lt;/a&gt;
        or &lt;a href="https://modelcontextprotocol.io/"&gt;MCP&lt;/a&gt;. For most cases we recommend to use REST API endpoints but in some circumstances
        it could be beneficial to use JsonRPC. At your API the endpoint is available at &lt;code&gt;/jsonrpc&lt;/code&gt;. To use this endpoint you need to enable
        the JsonRPC server at the configuration.php file s. &lt;code&gt;fusio_jsonrpc&lt;/code&gt; by default this is disabled.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Added GraphQL server &lt;a href="https://github.com/apioo/fusio/issues/649"&gt;#649&lt;/a&gt;&lt;/b&gt;
        &lt;p&gt;We have implemented a &lt;a href="https://graphql.org/"&gt;GraphQL&lt;/a&gt; server which provides a way to invoke an operation through GraphQL.
        Our GraphQL implementation is readonly this means you can use it only to query data, mutations are not supported. We expose every
        GET operation as query which can be used at a frontend to create custom views. If your action gets invoked through GraphQL the action
        receives a GraphQL context which contains also all fields from the query so you could also adjust the actual query. At your API the endpoint
        is available at &lt;code&gt;/graphql&lt;/code&gt;. To use this endpoint you need to enable the GraphQL server at the configuration.php
        file s. &lt;code&gt;fusio_graphql&lt;/code&gt; by default this is disabled.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Added OIDC discovery &lt;a href="https://github.com/apioo/fusio/issues/648"&gt;#648&lt;/a&gt;&lt;/b&gt;
        &lt;p&gt;We have added the &lt;code&gt;/.well-known/openid-configuration&lt;/code&gt; endpoint which helps to automatically discover the OpenID configuration.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Implemented OpenRPC specification &lt;a href="https://github.com/apioo/fusio/issues/306"&gt;#306&lt;/a&gt;&lt;/b&gt;
        &lt;p&gt;Since we have now JsonRPC support we have also implemented the &lt;a href="https://open-rpc.org/"&gt;OpenRPC&lt;/a&gt; specification which basically
        describes all available operations and types.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Updated handling of public operations with invalid access token&lt;/b&gt;
        &lt;p&gt;Previously if you have provided an invalid access token for a public endpoint you would get an error message, now we still allow the access to public endpoints
        even if the access token is invalid, since the request would work without access token.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Possibility to configure SDKgen credentials at settings&lt;/b&gt;
        &lt;p&gt;At the system setting it is now possible to configure the &lt;a href="https://sdkgen.app/"&gt;SDKgen&lt;/a&gt; credentials.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Add option to resend the user activation code &lt;a href="https://github.com/apioo/fusio/issues/642"&gt;#642&lt;/a&gt;&lt;/b&gt;
        &lt;p&gt;At the user details there is now a new button to resend the activation code.&lt;/p&gt;
    &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you want to provide some feedback take a look at our GitHub &lt;a href="https://github.com/apioo/fusio/discussions"&gt;discussions&lt;/a&gt; or
&lt;a href="https://github.com/apioo/fusio/issues"&gt;issues&lt;/a&gt; page.&lt;/p&gt;

&lt;p&gt;Best regards&lt;br&gt;
Christoph&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>https://www.fusio-project.org/blog/fusio-6.0-released</id>
    <title>Fusio 6.0 released</title>
    <updated>2025-09-06T14:30:00Z</updated>
    <link rel="alternate" href="https://www.fusio-project.org/blog/fusio-6.0-released" type="text/html"/>
    <author>
      <name>chriskapp</name>
      <uri>https://chrisk.app/</uri>
    </author>
    <summary>This post announces the release of the next major version 6.0</summary>
    <category term="fusio"/>
    <category term="announcement"/>
    <content type="html">&lt;p&gt;We are really proud to announce the next major version 6.0 of Fusio. This release is a great milestone for Fusio,
with the new connection panels you can build now complete APIs within Fusio without the need to use an external tool.
Through the &lt;abbr title="Model Context Protocol"&gt;MCP&lt;/abbr&gt; support there are now also many exciting possibilities
how you can interact with Fusio. Our goal is to develop a platform which helps everybody to build great APIs.
As usual the following list covers all important features of this release:&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;
        &lt;b&gt;Added MCP server &lt;a href="https://github.com/apioo/fusio/issues/626"&gt;#626&lt;/a&gt;&lt;/b&gt;
        &lt;p&gt;We have added an MCP server, it is possible to use the MCP server directly through stdio transport by using the &lt;code&gt;php bin/fusio mcp&lt;/code&gt; command.
        There is also an experimental HTTP transport which you need to activate through the configuration.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Improved API documentation&lt;/b&gt;
        &lt;p&gt;To help LLMs understand our API we have added many descriptions to each operation and schema, which in the end now also help developers.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Added OAuth2 authorization server &lt;a href="https://github.com/apioo/fusio/issues/245"&gt;#245&lt;/a&gt;&lt;/b&gt;
        &lt;p&gt;Fusio includes now a small OAuth2 authorization server which can be used to obtain an access token. This OAuth2 server can also be used by
        external apps i.e. if you use Fusio as backend for your single page application.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Added Fusio identity provider to use the internal authorization server&lt;/b&gt;
        &lt;p&gt;All internal apps now also automatically register the authorization server as identity provider so you can use it to login.
        In the future we may move completely to this authorization server.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Added well-known oauth protected resource endpoint &lt;a href="https://datatracker.ietf.org/doc/html/rfc9728"&gt;RFC9728&lt;/a&gt;&lt;/b&gt;
        &lt;p&gt;To handle authentication with MCP we have implemented the oauth protected resource endpoint RFC.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Add backend filesystem, http and sdk API and panel &lt;a href="https://github.com/apioo/fusio/issues/609"&gt;#609&lt;/a&gt;&lt;/b&gt;
        &lt;p&gt;We have added new designer panels for different connection types, i.e. the HTTP panel allows to execute HTTP requests and the filesystem panel allows to manage files.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Moved backend database endpoint under connection (breaking change)&lt;/b&gt;
        &lt;p&gt;We have moved the complete database endpoint under the connection which now works similar to the other connection designer panels. Note this is a breaking API change,
        so you need to adjust your URLs in case you use this endpoint. Basically you only need to change the base path from &lt;code&gt;/backend/database/:connection_id&lt;/code&gt; to
        &lt;code&gt;/backend/connection/:connection_id/database&lt;/code&gt;.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Add option to configure different captcha provider&lt;/b&gt;
        &lt;p&gt;It is now possible to configure different captcha provider so that you can use an alternative to ReCaptcha. The captcha is used to protect your user registration.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Add config option to disable user registration&lt;/b&gt;
        &lt;p&gt;In case you want to build an internal app you can deactivate the user registration.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Improve responsive design of the backend app&lt;/b&gt;
        &lt;p&gt;We have improved the backend CSS layout so that it is more responsive for other devices like a tablet or smartphone.&lt;/p&gt;
    &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you want to provide some feedback take a look at our GitHub &lt;a href="https://github.com/apioo/fusio/discussions"&gt;discussions&lt;/a&gt; or
&lt;a href="https://github.com/apioo/fusio/issues"&gt;issues&lt;/a&gt; page. For more details and background information about the release you can also
take a look at &lt;a href="https://chrisk.app/blog/fusio-6.0-released"&gt;my personal blog&lt;/a&gt;, where I have published a post about the new 6.0 release.&lt;/p&gt;

&lt;p&gt;Best regards&lt;br&gt;
Christoph&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>https://www.fusio-project.org/blog/fusio-plant-introduction</id>
    <title>Fusio Plant introduction</title>
    <updated>2025-06-28T13:42:00Z</updated>
    <link rel="alternate" href="https://www.fusio-project.org/blog/fusio-plant-introduction" type="text/html"/>
    <author>
      <name>chriskapp</name>
      <uri>https://chrisk.app/</uri>
    </author>
    <summary>This post introduces Plant, a server management tool to easily self-host Fusio and other apps on your server</summary>
    <category term="fusio"/>
    <category term="announcement"/>
    <content type="html">&lt;p&gt;With this post we like to introduce our new project &lt;a href="https://github.com/apioo/fusio-plant"&gt;Plant&lt;/a&gt;, a server management tool
to easily self-host Fusio and other apps on your server.&lt;/p&gt;

&lt;p&gt;The goal of Plant is to provide builders an easy way to self-host multiple apps on a server. It can be seen as a modern lightweight
alternative to cPanel or Plesk with a simple, performant and clean tech-stack. Since Plant is also based on Fusio it provides a complete
REST API. We have just released a first version, so feel free to check out the &lt;a href="https://github.com/apioo/fusio-plant"&gt;GitHub repository&lt;/a&gt;
in case you are interested in an easy and cost effective way to self-host apps. Plant is, of course, perfectly designed to run Fusio, but it is also
possible to run any other web-app that provides a docker image.&lt;/p&gt;

&lt;p&gt;If you want to provide some feedback, you can jump on our &lt;a href="https://discord.gg/eMrMgwsc6e"&gt;Discord&lt;/a&gt; or you can also create an issue
at the &lt;a href="https://github.com/apioo/fusio-plant/issues"&gt;Plant repository&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Best regards&lt;br&gt;
Christoph&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>https://www.fusio-project.org/blog/fusio-5.2.5-released</id>
    <title>Fusio 5.2.5 released</title>
    <updated>2025-06-21T21:33:00Z</updated>
    <link rel="alternate" href="https://www.fusio-project.org/blog/fusio-5.2.5-released" type="text/html"/>
    <author>
      <name>chriskapp</name>
      <uri>https://chrisk.app/</uri>
    </author>
    <summary>This post announces the release of the next version 5.2.5</summary>
    <category term="fusio"/>
    <category term="announcement"/>
    <content type="html">&lt;p&gt;We like to announce the next version 5.2.5 of Fusio. The following list covers all important features of this
release:&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;
        &lt;b&gt;Upgrade command use resources path&lt;/b&gt;
        &lt;p&gt;The upgrade command to migrate YAML operations to PHP is now using the resource path from the config.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;App detect url via javascript for localhost&lt;/b&gt;
        &lt;p&gt;For a long time we had the problem, that once you have installed an app and changed the url later on, your apps would no longer work
        since we could not update the url from the already installed app. To solve this problem we use now the JavaScript &lt;code&gt;location.hostname&lt;/code&gt;
        to dynamically get the host in case no url is configured. This means for new installations the &lt;code&gt;APP_URL&lt;/code&gt; and &lt;code&gt;APP_APPS_URL&lt;/code&gt;
        environment variables are optional.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Implement API Catalog &lt;a href="https://www.rfc-editor.org/rfc/rfc9727.html"&gt;RFC9727&lt;/a&gt;&lt;/b&gt;
        &lt;p&gt;We have implemented the new API Catalog RFC which helps to make your APIs more discoverable.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Add humans.txt and robots.txt&lt;/b&gt;
        &lt;p&gt;The &lt;code&gt;/humans.txt&lt;/code&gt; and &lt;code&gt;/robots.txt&lt;/code&gt; endpoint are now implemented and served directly from Fusio.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Added the following .well-known/ uris: api-catalog, oauth-authorization-server and security.txt&lt;/b&gt;
        &lt;p&gt;We implemented various useful &lt;code&gt;.well-known/&lt;/code&gt; endpoints.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Fix redoc app handle dynamic urls&lt;/b&gt;
        &lt;p&gt;For the redoc app the dynamic url handling has not worked since the url was not executed in a JavaScript context which is now fixed.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Fix WorkerPHPLocal action cache path&lt;/b&gt;
        &lt;p&gt;The local PHP worker now uses the correct cache path and therefore writes the action code into the &lt;code&gt;cache/&lt;/code&gt; folder.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Removed introspection from database connections&lt;/b&gt;
        &lt;p&gt;The introspection feature is replaced by the database panel which allows a user to access the db. Because of this, we have removed the
        implementation and marked the interface as deprecated. Please do no longer use this interface inside your custom action.&lt;/p&gt;
    &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For the next 5.3 release, we are thinking about implementing a custom &lt;a href="https://github.com/apioo/fusio/issues/626"&gt;MCP server&lt;/a&gt; inside
Fusio. This means all your operations could be used as tool from an LLM. Please let us know whether you are also interested in such a use-case.&lt;/p&gt;

&lt;p&gt;If you want to provide some feedback take a look at our GitHub &lt;a href="https://github.com/apioo/fusio/discussions"&gt;discussions&lt;/a&gt; or
&lt;a href="https://github.com/apioo/fusio/issues"&gt;issues&lt;/a&gt; page.&lt;/p&gt;

&lt;p&gt;Best regards&lt;br&gt;
Christoph&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>https://www.fusio-project.org/blog/fusio-5.2.4-released</id>
    <title>Fusio 5.2.4 released</title>
    <updated>2025-06-12T09:28:00Z</updated>
    <link rel="alternate" href="https://www.fusio-project.org/blog/fusio-5.2.4-released" type="text/html"/>
    <author>
      <name>chriskapp</name>
      <uri>https://chrisk.app/</uri>
    </author>
    <summary>This post announces the release of the next version 5.2.4</summary>
    <category term="fusio"/>
    <category term="announcement"/>
    <content type="html">&lt;p&gt;We like to announce the next version 5.2.4 of Fusio. The following list covers all important features of this
release:&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;
        &lt;b&gt;Update apps list&lt;/b&gt;
        &lt;p&gt;We have updated the design of the app list script in the apps/ folder.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Improve base url detection without defining a url&lt;/b&gt;
        &lt;p&gt;Fusio now tries to auto-detect the url of your server by using the Host header in case no url was configured. Previously it was required to provide the url.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Exclude firewall and rate-limit on deploy and testing&lt;/b&gt;
        &lt;p&gt;The firewall was excluded from internal deployment and testing so that you don't get a ban in case of errors.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Add schema nullable handling&lt;/b&gt;
        &lt;p&gt;It is now possible to use the &lt;code&gt;nullable&lt;/code&gt; attribute at your schema which allows making properties mandatory in case they are &lt;code&gt;nullable: false&lt;/code&gt;, by default every property is nullable.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Remove trailing slash from OpenAPI specification&lt;/b&gt;
        &lt;p&gt;On OpenAPI generation we have removed the trailing slash of the base url.&lt;/p&gt;
    &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With this release, we have also updated our website and readme to help new users start with Fusio.&lt;/p&gt;

&lt;p&gt;If you want to provide some feedback take a look at our GitHub &lt;a href="https://github.com/apioo/fusio/discussions"&gt;discussions&lt;/a&gt; or
&lt;a href="https://github.com/apioo/fusio/issues"&gt;issues&lt;/a&gt; page.&lt;/p&gt;

&lt;p&gt;Best regards&lt;br&gt;
Christoph&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>https://www.fusio-project.org/blog/fusio-5.2.3-released</id>
    <title>Fusio 5.2.3 released</title>
    <updated>2025-05-05T18:22:00Z</updated>
    <link rel="alternate" href="https://www.fusio-project.org/blog/fusio-5.2.3-released" type="text/html"/>
    <author>
      <name>chriskapp</name>
      <uri>https://chrisk.app/</uri>
    </author>
    <summary>This post announces the release of the next version 5.2.3</summary>
    <category term="fusio"/>
    <category term="announcement"/>
    <content type="html">&lt;p&gt;We like to announce the next version 5.2.3 of Fusio. The following list covers all important features of this
release:&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;
        &lt;b&gt;Add option to set user points via API &lt;a href="https://github.com/apioo/fusio/issues/586"&gt;#586&lt;/a&gt;&lt;/b&gt;
        &lt;p&gt;It is now possible to set user points through the API which allows you to configure the user points through an external billing system.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Added firewall feature &lt;a href="https://github.com/apioo/fusio/issues/508"&gt;#508&lt;/a&gt; &lt;a href="https://github.com/apioo/fusio/issues/154"&gt;#154&lt;/a&gt;&lt;/b&gt;
        &lt;p&gt;A new firewall feature was added, through this it is possible to block specific IPs from accessing your API. It includes also an automatic
        fail2ban logic to automatically ban specific IPs in case they have produced to many error responses.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Add verbose mode to marketplace env/install/upgrade command for debugging &lt;a href="https://github.com/apioo/fusio/issues/625"&gt;#625&lt;/a&gt;&lt;/b&gt;
        &lt;p&gt;It is now possible to use the &lt;code&gt;-v&lt;/code&gt; flag at the env/install/upgrade command to get more detailed error responses.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Add CLI option to ready payload from stdin&lt;/b&gt;
        &lt;p&gt;Besides providing data as argument or via a file it is now possible to read data from stdin by using "-" as argument.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Updated marketplace env command, add an option to replace all available apps&lt;/b&gt;
        &lt;p&gt;The env command has now an option replace env variables for all available apps at the &lt;code&gt;apps/&lt;/code&gt; folder, this is now also used at the docker
        image so that it is possible to add additional apps to the docker image.&lt;/p&gt;
    &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you want to provide some feedback take a look at our GitHub &lt;a href="https://github.com/apioo/fusio/discussions"&gt;discussions&lt;/a&gt; or
&lt;a href="https://github.com/apioo/fusio/issues"&gt;issues&lt;/a&gt; page.&lt;/p&gt;

&lt;p&gt;Best regards&lt;br&gt;
Christoph&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>https://www.fusio-project.org/blog/fusio-5.2.2-released</id>
    <title>Fusio 5.2.2 released</title>
    <updated>2025-04-12T19:07:00Z</updated>
    <link rel="alternate" href="https://www.fusio-project.org/blog/fusio-5.2.2-released" type="text/html"/>
    <author>
      <name>chriskapp</name>
      <uri>https://chrisk.app/</uri>
    </author>
    <summary>This post announces the release of the next version 5.2.2</summary>
    <category term="fusio"/>
    <category term="announcement"/>
    <content type="html">&lt;p&gt;We like to announce the next version 5.2.2 of Fusio. The following list covers all important features of this
release:&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;
        &lt;b&gt;Add form feature to build Forms for your API endpoints&lt;/b&gt;
        &lt;p&gt;We have added a new "Form" panel at the backend. The form panel should help users to build a simple
        UI for an API endpoint. I.e. if you have created a "Product" API and you need a simple way to create a form for
        this endpoint so that users can create product entries. At the core to create a new form you need to select an operation and
        specific an UI schema.&lt;/p&gt;
        &lt;div class="mt-4 mb-4 text-center"&gt;
            &lt;img src="/img/blog/fusio-5.2.2-released/form-panel.png" alt="Form panel" class="img-fluid"&gt;
        &lt;/div&gt;
        &lt;p&gt;The UI schema is basically an arbitrary JSON to describe the form, this format depends on the used frontend form library
        i.e. we could use &lt;a href="https://github.com/eclipsesource/jsonforms"&gt;JSON Forms&lt;/a&gt;. We can then request the
        &lt;code&gt;/consumer/form/~my-test-form&lt;/code&gt; endpoint to get our form including the UI and JSON Schema of the operation, the JSON
        Schema is automatically generated from the incoming schema of the selected operation. In this first step we have added the form
        panel to the backend, but we also plan to create a dedicated "form" app where users can login to directly work with those forms.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Add option to configure trusted IP header for proxy&lt;/b&gt;
        &lt;p&gt;It is now possible to configure a trusted IP header proxy. This is needed in case you Fusio instance runs behind a proxy
        so that our rate limiting service gets the actual IP of the user, otherwise all request come from the same IP and you quickly
        get 429 responses. It is important to set an actual trusted header otherwise a user would be able to provide a random IP through
        the header.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Add command to migrate YAML definitions to PHP&lt;/b&gt;
        &lt;p&gt;We have adjusted the &lt;code&gt;system:upgrade&lt;/code&gt; command to migrate a YAML definition to PHP. This is completely optional
        but it can be useful for better type-safety of your operation configuration.&lt;/p&gt;
        &lt;pre&gt;&lt;code&gt;php bin/fusio system:upgrade&lt;/code&gt;&lt;/pre&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Add OpenAI SDK integration&lt;/b&gt;
        &lt;p&gt;We have added a new OpenAI SDK which can be used to talk to the OpenAI API.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Improved docker handling in case the marketplace is down&lt;/b&gt;
        &lt;p&gt;In the last week we had some performance problems with our marketplace server, also due to some DDOS requests which we have
        received. This should be now mitigated but we have also improved the code so that the docker build should always start even
        in case the marketplace server is down.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Fixed scope list empty #620&lt;/b&gt;
        &lt;p&gt;We have updated the backend, developer and account app to the latest version so that the new token scope selection form
        works as expected.&lt;/p&gt;
    &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Internally we are working also on a new project called Fusio Plant which is basically an API driven server panel to easily self-host
apps on your server, similar to server panels like cPanel, Plesk or Webmin. It is dedicated to easily run multiple Fusio instances on your
server, but it can be also used to run other apps.&lt;/p&gt;

&lt;p&gt;If you want to provide some feedback take a look at our GitHub &lt;a href="https://github.com/apioo/fusio/discussions"&gt;discussions&lt;/a&gt; or
&lt;a href="https://github.com/apioo/fusio/issues"&gt;issues&lt;/a&gt; page.&lt;/p&gt;

&lt;p&gt;Best regards&lt;br&gt;
Christoph&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>https://www.fusio-project.org/blog/fusio-5.2.1-released</id>
    <title>Fusio 5.2.1 released</title>
    <updated>2025-03-22T17:27:00Z</updated>
    <link rel="alternate" href="https://www.fusio-project.org/blog/fusio-5.2.1-released" type="text/html"/>
    <author>
      <name>chriskapp</name>
      <uri>https://chrisk.app/</uri>
    </author>
    <summary>This post announces the release of the next version 5.2.1</summary>
    <category term="fusio"/>
    <category term="announcement"/>
    <content type="html">&lt;p&gt;We like to announce the next version 5.2.1 of Fusio. The following list covers all important features of this
release:&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;
        &lt;b&gt;Add Content-Type handling&lt;/b&gt;
        &lt;p&gt;It is now possible to configure different Content-Types as request/response schema at an operation. This can be used in case you
        action consumes or produces content which is not JSON. A content type basically only describes the content of the body but it is not
        possible to specify specific fields. In general we recommend to use JSON payloads which can be described in detail but this can be
        used for cases where this is not possible. The content type is also reflected at the generated client SDK.&lt;/p&gt;
        &lt;div class="mt-4 mb-4 text-center"&gt;
            &lt;img src="/img/blog/fusio-5.2.1-released/operation_content_type.png" alt="Operation edit" class="img-fluid"&gt;
        &lt;/div&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Update all adapter dependencies&lt;/b&gt;
        &lt;p&gt;We have updated all adapter dependencies and added PHP 8.4 tests.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Improved marketplace list view&lt;/b&gt;
        &lt;p&gt;The marketplace list view was improved and the SDK was updated. The &lt;a href="https://marketplace.fusio-project.org/login"&gt;marketplace&lt;/a&gt; itself
        was also updated so feel free to register in case you want to distribute actions or apps to the Fusio ecosystem.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Fix user role select &lt;a href="https://github.com/apioo/fusio/issues/615"&gt;#615&lt;/a&gt;&lt;/b&gt;
        &lt;p&gt;A critical bug was fixed which prevented to select a role when creating a new user.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Add option to specify operations as PHP config files instead of YAML&lt;/b&gt;
        &lt;p&gt;Besides YAML files it is now possible to specify the operation config as PHP file. This can improve type-safety since it
        is possible to reference PHP classes with the &lt;code&gt;::class&lt;/code&gt; notation.&lt;/p&gt;
    &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you want to provide some feedback take a look at our GitHub &lt;a href="https://github.com/apioo/fusio/discussions"&gt;discussions&lt;/a&gt; or
&lt;a href="https://github.com/apioo/fusio/issues"&gt;issues&lt;/a&gt; page.&lt;/p&gt;

&lt;p&gt;Best regards&lt;br&gt;
Christoph&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>https://www.fusio-project.org/blog/fusio-5.2.0-released</id>
    <title>Fusio 5.2.0 released</title>
    <updated>2025-03-09T11:23:00Z</updated>
    <link rel="alternate" href="https://www.fusio-project.org/blog/fusio-5.2.0-released" type="text/html"/>
    <author>
      <name>chriskapp</name>
      <uri>https://chrisk.app/</uri>
    </author>
    <summary>This post announces the release of the next version 5.2.0</summary>
    <category term="fusio"/>
    <category term="announcement"/>
    <content type="html">&lt;p&gt;We are happy to release the next version 5.2.0 of Fusio. This release took a little bit longer then expected
but it is packed with great new features and improvements. The following list covers all important features of this
release:&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;
        &lt;b&gt;Update Angular SDK&lt;/b&gt;
        &lt;p&gt;We have redesigned our Angular SDK which is used at the backend and also at the &lt;a href="https://www.apigen.app/"&gt;APIgen&lt;/a&gt; project
        to automatically generate Angular backend apps. In this new version we moved away from the modal to a dedicated url where the form is shown,
        this makes our code cleaner and you can also now send and share links to a form. The list and detail component are now also dedicated components
        with a route, previously the list and detail component where combined in one view, this again makes also the code cleaner and you can share
        links to those components. Another improvement is the auto-complete, previously we had many drop-down where we had displayed every entry, we
        now have an auto-complete for every entity.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Update backend app using the new Angular SDK&lt;/b&gt;
        &lt;p&gt;We have migrated the complete backend app to the new Angular SDK, during this migration we have added 6.236 and deleted 7.512 lines of code,
        so it was a big undertaking. If you notice any problems with the new backend app do not hesitate to open an issue at our
        &lt;a href="https://github.com/apioo/fusio"&gt;repository&lt;/a&gt;.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Update chart response schema and data&lt;/b&gt;
        &lt;p&gt;We have updated the response schema of the chart endpoints to match with the latest version of the ApexCharts which we have also updated.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;SQL-Query-All and SQL-Query-Row action add support for {user_id} and {user_name} placeholder which contains the user id and name of the current user&lt;/b&gt;
        &lt;p&gt;It is now possible to use the &lt;code&gt;{user_id}&lt;/code&gt; and &lt;code&gt;{user_name}&lt;/code&gt; placeholder at the SQL-Query-All and SQL-Query-Row action.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Use SQL generated column enum&lt;/b&gt;
        &lt;p&gt;We have update to the &lt;a href="https://github.com/apioo/psx-sql"&gt;psx/sql&lt;/a&gt; dependency to the latest version, through this we get an enum class
        for each table which contains all columns. These enums are now used in case we accept a column name via query parameters so that we can get sure
        that we only receive valid column names.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Update PHP-Sandbox&lt;/b&gt;
        &lt;p&gt;The &lt;a href="https://github.com/apioo/psx-sandbox"&gt;psx/sandbox&lt;/a&gt; dependency was update to the latest version. The PHP-Sandbox action was intended
        for prototyping and quick testing, in general we recommend to use a worker action or a dedicated PHP class for production code.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Update PHP dependencies and full PHP 8.4 support&lt;/b&gt;
        &lt;p&gt;With this release we have made our code and all dependencies compatible with PHP 8.4.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;PHP 8.3 as minimum requirement&lt;/b&gt;
        &lt;p&gt;We have now set PHP 8.3 as minimum requirement.&lt;/p&gt;
    &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you want to provide some feedback take a look at our GitHub &lt;a href="https://github.com/apioo/fusio/discussions"&gt;discussions&lt;/a&gt; or
&lt;a href="https://github.com/apioo/fusio/issues"&gt;issues&lt;/a&gt; page.&lt;/p&gt;

&lt;p&gt;Best regards&lt;br&gt;
Christoph&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>https://www.fusio-project.org/blog/fusio-5.1.6-released</id>
    <title>Fusio 5.1.6 released</title>
    <updated>2024-11-09T21:53:00Z</updated>
    <link rel="alternate" href="https://www.fusio-project.org/blog/fusio-5.1.6-released" type="text/html"/>
    <author>
      <name>chriskapp</name>
      <uri>https://chrisk.app/</uri>
    </author>
    <summary>This post announces the release of the next version 5.1.6</summary>
    <category term="fusio"/>
    <category term="announcement"/>
    <content type="html">&lt;p&gt;We are happy to release the next version 5.1.6 of Fusio.&lt;/p&gt;
&lt;p&gt;The following list covers all important features of this release:&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;
        &lt;b&gt;Updated to latest TypeSchema version&lt;/b&gt;
        &lt;p&gt;With this release Fusio supports the latest version of &lt;a href="https://typeschema.org/"&gt;TypeSchema&lt;/a&gt;.
        The latest version uses several new keywords but every old schema should still work through a BC layer.
        The only breaking change is the removal of the "oneOf" keyword which is no longer supported, instead it is
        recommended to use the new discriminator keyword.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Backend and Developer app update to Angular 18&lt;/b&gt;
        &lt;p&gt;We have updated all our Angular backend apps to the latest version 18. Through this we could also update
        several other dependencies like the moncao code editor.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Backend update TypeSchema editor&lt;/b&gt;
        &lt;p&gt;The backend uses now also the latest version of the TypeSchema editor, you can see the latest version
        in action at the &lt;a href="https://sandbox.typeschema.org/"&gt;sandbox&lt;/a&gt;.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Update Fusio SDK to SDKgen 2.0&lt;/b&gt;
        &lt;p&gt;We have updated the Fusio SDK to the latest SDKgen version. The Javascript SDK contains a BC break since we
        have changed the package format. Previously our package exposed every file, now the SDK exposes a single
        file so that you can include every class through the package s.&lt;/p&gt;
        &lt;p&gt;&lt;b&gt;Before:&lt;/b&gt;&lt;/p&gt;
        &lt;pre&gt;&lt;code&gt;import {BackendOperation} from "fusio-sdk/dist/BackendOperation";&lt;/code&gt;&lt;/pre&gt;
        &lt;p&gt;&lt;b&gt;After:&lt;/b&gt;&lt;/p&gt;
        &lt;pre&gt;&lt;code&gt;import {BackendOperation} from "fusio-sdk";&lt;/code&gt;&lt;/pre&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;It is no longer possible to invoke an inactive operation, in this case the user receives a 410 status code &lt;a href="https://github.com/apioo/fusio/issues/582"&gt;#582&lt;/a&gt;&lt;/b&gt;
        &lt;p&gt;A bug fix so that it is no longer possible to invoke an inactive operation.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Deleted scopes are no longer visible&lt;/b&gt;
        &lt;p&gt;A bug fix which now hides deleted scopes from the specification.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Update deps which fixes a security issue in twig/twig&lt;/b&gt;
        &lt;p&gt;We have updated twig to the latest version which resolves a security issue.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Fixed a CORS header problem for Firefox&lt;/b&gt;
        &lt;p&gt;A CORS header issue was fixed which caused a problem under Firefox.&lt;/p&gt;
    &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you want to provide some feedback take a look at our GitHub &lt;a href="https://github.com/apioo/fusio/discussions"&gt;discussions&lt;/a&gt; or
&lt;a href="https://github.com/apioo/fusio/issues"&gt;issues&lt;/a&gt; page.&lt;/p&gt;

&lt;p&gt;Best regards&lt;br&gt;
Christoph&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>https://www.fusio-project.org/blog/fusio-5.1.4-released</id>
    <title>Fusio 5.1.4 released</title>
    <updated>2024-08-25T12:44:00Z</updated>
    <link rel="alternate" href="https://www.fusio-project.org/blog/fusio-5.1.4-released" type="text/html"/>
    <author>
      <name>chriskapp</name>
      <uri>https://chrisk.app/</uri>
    </author>
    <summary>This post announces the release of the next version 5.1.4</summary>
    <category term="fusio"/>
    <category term="announcement"/>
    <content type="html">&lt;p&gt;We are happy to release the next version 5.1.4 of Fusio.&lt;/p&gt;
&lt;p&gt;The following list covers all important features of this release:&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;
        &lt;b&gt;Added new index to fusio_log &lt;a href="https://github.com/apioo/fusio/issues/575"&gt;#575&lt;/a&gt;&lt;/b&gt;
        &lt;p&gt;A new index was added to the fusio_log table to increase the performance.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Add Util-Template action&lt;/b&gt;
        &lt;p&gt;A new action &lt;code&gt;Util-Template&lt;/code&gt; was added which allows to build a custom responses using a template engine, this can be useful to build i.e. HTML or XML responses.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Add option to disable the database panel&lt;/b&gt;
        &lt;p&gt;A new config &lt;code&gt;fusio_database&lt;/code&gt; was added to disable the database panel.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;SQL entity generator use plain table name if available and add index only if needed&lt;/b&gt;
        &lt;p&gt;The SQL entity generator now uses the plain table name and adds only an index if the table already exists. Since it is now possible to delete an table through the database panel it is no longer needed to always use the index.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Fix marketplace action installation&lt;/b&gt;
        &lt;p&gt;A problem was fixed which caused some issues on action installation.&lt;/p&gt;
    &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you want to provide some feedback take a look at our GitHub &lt;a href="https://github.com/apioo/fusio/discussions"&gt;discussions&lt;/a&gt; or
&lt;a href="https://github.com/apioo/fusio/issues"&gt;issues&lt;/a&gt; page.&lt;/p&gt;

&lt;p&gt;Best regards&lt;br&gt;
Christoph&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>https://www.fusio-project.org/blog/fusio-5.1.3-released</id>
    <title>Fusio 5.1.3 released</title>
    <updated>2024-08-05T20:58:00Z</updated>
    <link rel="alternate" href="https://www.fusio-project.org/blog/fusio-5.1.3-released" type="text/html"/>
    <author>
      <name>chriskapp</name>
      <uri>https://chrisk.app/</uri>
    </author>
    <summary>This post announces the release of the next version 5.1.3</summary>
    <category term="fusio"/>
    <category term="announcement"/>
    <content type="html">&lt;p&gt;We are happy to release the next version 5.1.3 of Fusio.&lt;/p&gt;
&lt;p&gt;The following list covers all important features of this release:&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;
        &lt;b&gt;Add category id to connection&lt;/b&gt;
        &lt;p&gt;The connection contains now a category id, this means users assigned to a specific category also only see the
        connections assigned to this category.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Add option to disable a specific test case&lt;/b&gt;
        &lt;p&gt;It is now possible to disable specific tests in case it is not possible to test them.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Streamline worker response return&lt;/b&gt;
        &lt;p&gt;The Java/Javascript and Python worker were adjusted to require a return of the response, previously this was not required.
        In most cases you probably have this already in your action but if not you need to return the &lt;code&gt;response.build(...)&lt;/code&gt; response.
        Also the Java worker has changed that you now need to implement a &lt;code&gt;def handle(...)&lt;/code&gt; method,
        the documentation contains also an &lt;a href="https://docs.fusio-project.org/docs/backend/api/action/worker-java"&gt;example&lt;/a&gt;.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Test use transaction around main connection&lt;/b&gt;
        &lt;p&gt;The main connection starts now also a transaction so that running tests creates no log entries etc.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Fix set HTTP code on existing operation&lt;/b&gt;
        &lt;p&gt;Previously it was not possible to change the HTTP code of an existing operation which is now fixed.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;SQL action handle UUID as primary key&lt;/b&gt;
        &lt;p&gt;The SQL actions work now also with UUID as primary key instead of auto increments.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Add GraphQL-Query action&lt;/b&gt;
        &lt;p&gt;A new GraphQL-Query action was added which executes a defined GraphQL query and returns the response. This
        has the advantage that your endpoint only returns a specific response which you can describe with a schema.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Improve marketplace env handling to replace only string values&lt;/b&gt;
        &lt;p&gt;We have made the env replace logic more robust by only handling scalar values.&lt;/p&gt;
    &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you want to provide some feedback take a look at our GitHub &lt;a href="https://github.com/apioo/fusio/discussions"&gt;discussions&lt;/a&gt; or
&lt;a href="https://github.com/apioo/fusio/issues"&gt;issues&lt;/a&gt; page.&lt;/p&gt;

&lt;p&gt;Best regards&lt;br&gt;
Christoph&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>https://www.fusio-project.org/blog/fusio-5.1.2-released</id>
    <title>Fusio 5.1.2 released</title>
    <updated>2024-07-28T20:52:00Z</updated>
    <link rel="alternate" href="https://www.fusio-project.org/blog/fusio-5.1.2-released" type="text/html"/>
    <author>
      <name>chriskapp</name>
      <uri>https://chrisk.app/</uri>
    </author>
    <summary>This post announces the release of the next version 5.1.2</summary>
    <category term="fusio"/>
    <category term="announcement"/>
    <content type="html">&lt;p&gt;We are happy to release the next version 5.1.2 of Fusio. This release adds a new test panel which helps to
improve the quality of your API, also we have added new statistics and improved the dashboard.&lt;/p&gt;
&lt;p&gt;In the following list we cover all important features of this new release:&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;
        &lt;b&gt;Add test panel to test the quality of your API&lt;/b&gt;
        &lt;p&gt;We have added a new test panel at the development section which helps to test your API endpoints. If you run
        the tests Fusio will invoke every API endpoint and check whether the response code matches and also that a schema
        is defined and the returned response fits to the schema. You can also set parameters to invoke your operation.
        All tests are executed under a transaction so that they have no direct side effect on your actual database.&lt;/p&gt;
        &lt;div class="mt-4 mb-4 text-center"&gt;
            &lt;img src="/img/blog/63/test_panel.png" alt="Test panel" class="img-fluid"&gt;
        &lt;/div&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Add JSON detail view to backend&lt;/b&gt;
        &lt;p&gt;We have added a JSON button which allows you to view the raw JSON value of the underlying resource.&lt;/p&gt;
        &lt;div class="mt-4 mb-4 text-center"&gt;
            &lt;img src="/img/blog/63/json_view.png" alt="JSON view" class="img-fluid"&gt;
        &lt;/div&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Add new statistic activities per user, most used activities, user registrations and update dashboard&lt;/b&gt;
        &lt;p&gt;We have added new statistics and updated the dashboard, it now includes the Test coverage, Most used activities,
        Activities per user and User registrations. Please note that you also need to use the new backend app version if
        you update Fusio.&lt;/p&gt;
        &lt;div class="mt-4 mb-4 text-center"&gt;
            &lt;img src="/img/blog/63/new_dashboard.png" alt="New Dashboard" class="img-fluid"&gt;
        &lt;/div&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Convert id response property from int to string and removed affected property&lt;/b&gt;
        &lt;p&gt;The id property of a success message at the SQL actions has changed from int to string so that it fits the schema.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Fix install backend app&lt;/b&gt;
        &lt;p&gt;There was an error at the install.php script regarding the Fusio app installation which is now fixed&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Fix app env command to include scopes&lt;/b&gt;
        &lt;p&gt;The env command includes now also all scopes&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Fix installation sync to automatically add new scopes on migration&lt;/b&gt;
        &lt;p&gt;We fixed an error regarding the scope migration so that new scopes are now correctly added.&lt;/p&gt;
    &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you want to provide some feedback take a look at our GitHub &lt;a href="https://github.com/apioo/fusio/discussions"&gt;discussions&lt;/a&gt; or
&lt;a href="https://github.com/apioo/fusio/issues"&gt;issues&lt;/a&gt; page.&lt;/p&gt;

&lt;p&gt;Best regards&lt;br&gt;
Christoph&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>https://www.fusio-project.org/blog/fusio-5.1.0-released</id>
    <title>Fusio 5.1.0 released</title>
    <updated>2024-07-14T11:05:00Z</updated>
    <link rel="alternate" href="https://www.fusio-project.org/blog/fusio-5.1.0-released" type="text/html"/>
    <author>
      <name>chriskapp</name>
      <uri>https://chrisk.app/</uri>
    </author>
    <summary>This post announces the release of the next version 5.1.0</summary>
    <category term="fusio"/>
    <category term="announcement"/>
    <content type="html">&lt;p&gt;We are happy to release the next minor version 5.1.0 of Fusio.&lt;/p&gt;
&lt;p&gt;In the following list we cover all important features of this new release:&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;
        &lt;b&gt;Add backend database panel&lt;/b&gt;
        &lt;p&gt;A new database panel was added which allows you to view and edit the database schema of every SQL connection.
        This new database panel replaces the phpMyAdmin and Adminer app which are no longer needed to modify your
        database schema. This improves also the developer experience since you can now build your complete API inside the backend.&lt;/p&gt;
        &lt;div class="mt-4 mb-4 text-center"&gt;
            &lt;img src="/img/blog/62/database_panel.png" alt="Database panel" class="img-fluid"&gt;
        &lt;/div&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Integrate the new marketplace&lt;/b&gt;
        &lt;p&gt;We have introduced a new &lt;a href="https://marketplace.fusio-project.org/"&gt;marketplace&lt;/a&gt; where every user can
        register and provide actions and apps which can then be installed through the marketplace panel. Previously the
        marketplace contained only apps, the new marketplace also contains actions.&lt;/p&gt;
        &lt;div class="mt-4 mb-4 text-center"&gt;
            &lt;img src="/img/blog/62/marketplace_panel.png" alt="Marketplace panel" class="img-fluid"&gt;
        &lt;/div&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Add development section to the backend app&lt;/b&gt;
        &lt;p&gt;To keep the menu clearer we have introduced a new "development" section which now contains the new Database panel
        and we have also moved the SDK, Generator and Marketplace to this section.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Add SDK Fabric adapter&lt;/b&gt;
        &lt;p&gt;The SDK Fabric adapter is based on our new &lt;a href="https://sdk-fabric.org/"&gt;SDK-Fabric&lt;/a&gt; project which is our
        attempt to integrate external APIs into Fusio. Initially we have added some services like Airtable/Notion and
        we plan to extend this on demand, so please let us know if you like to see support for a specific service. Every
        SDK connection can then be used in an action to work with the service.&lt;/p&gt;
        &lt;div class="mt-4 mb-4 text-center"&gt;
            &lt;img src="/img/blog/62/connection_sdk.png" alt="Connection SDK" class="img-fluid"&gt;
        &lt;/div&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Add PHP local worker&lt;/b&gt;
        &lt;p&gt;A new PHP local worker was added which works exactly like the normal PHP worker, the only difference is that
        the code gets executed on the server where Fusio runs and not at a dedicated worker service, this means you can
        use this worker directly out of the box without configuring a worker.&lt;/p&gt;
        &lt;div class="mt-4 mb-4 text-center"&gt;
            &lt;img src="/img/blog/62/php_local_worker.png" alt="PHP Local Worker" class="img-fluid"&gt;
        &lt;/div&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Improve PHP worker use engine interface&lt;/b&gt;
        &lt;p&gt;The PHP worker services now also implement the interfaces of the &lt;code&gt;fusio/engine&lt;/code&gt; package which are
        used on internal actions. This makes it easier to move action code into different environments.&lt;/p&gt;
    &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With this release we greatly improve the developer experience by providing a database panel, and we have started to
integrate external service SDKs. In the future we plan to extend those services so that Fusio can be used to easily
integrate and build new services based on those SDKs. Have fun with this release, if you want to provide some feedback
take a look at our GitHub &lt;a href="https://github.com/apioo/fusio/discussions"&gt;discussions&lt;/a&gt; or
&lt;a href="https://github.com/apioo/fusio/issues"&gt;issues&lt;/a&gt; page.&lt;/p&gt;

&lt;p&gt;Best regards&lt;br&gt;
Christoph&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>https://www.fusio-project.org/blog/fusio-5.0-released</id>
    <title>Fusio 5.0 released</title>
    <updated>2024-06-01T12:55:00Z</updated>
    <link rel="alternate" href="https://www.fusio-project.org/blog/fusio-5.0-released" type="text/html"/>
    <author>
      <name>chriskapp</name>
      <uri>https://chrisk.app/</uri>
    </author>
    <summary>This post announces the release of the next major version 5.0</summary>
    <category term="fusio"/>
    <category term="announcement"/>
    <content type="html">&lt;p&gt;We are really excited to finally release the next major version 5.0 of Fusio.&lt;/p&gt;
&lt;p&gt;This release provides some great new features, and we continue our mission to build one of the best tools to build
innovative API solutions. Like always we will cover all important features of this new release in the following list.&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;
        &lt;b&gt;Multi tenancy&lt;/b&gt;
        &lt;p&gt;Fusio now supports multi tenancy on the database level. This helps to efficiently run multiple Fusio
        instances on a single large server or cluster. To configure a tenant you only need to set the
        &lt;code&gt;APP_TENANT_ID&lt;/code&gt; environment variable and all database calls will only select rows with the fitting
        tenant id. There are also API endpoints to setup or remove a tenant.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Worker redesign&lt;/b&gt;
        &lt;p&gt;We have redesigned the worker system. In general the worker system allows to write backend logic in different
        programming languages. Previously we have used the Thrift RPC system to manage the communication between
        Fusio and the worker. We have moved away from this to a simple &lt;a href="https://app.typehub.cloud/d/fusio/worker"&gt;REST API&lt;/a&gt;
        which gives us the benefit to run such a worker in different environments like on a serverless platform which
        is a natural fit for a worker.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Personal access token&lt;/b&gt;
        &lt;p&gt;It is now possible at the user panel to create a personal access token. Through this a user can easily obtain
        an access token to access private endpoints. It is possible to select specific scopes for the token and how long
        the token is valid.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Config add option to exclude specific actions and connections&lt;/b&gt;
        &lt;p&gt;The config file contains two new options &lt;code&gt;fusio_action_exclude&lt;/code&gt; and &lt;code&gt;fusio_connection_exclude&lt;/code&gt;
        which can be used to exclude specific connections or actions at your instance. I.e. by default Fusio offers some
        "unsafe" actions like the CLI or PHP-Sandbox action which can be a security issue. Through the new config it is
        possible to exclude such actions.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Add account app&lt;/b&gt;
        &lt;p&gt;We have added a new dedicated account app which can be integrated into an existing web app to manage all
        developer account details. This app is also included at the developer and backend app.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Access metadata in action&lt;/b&gt;
        &lt;p&gt;Inside your action it is now possible to access the metadata of the action. You can set this metadata
        if you create an action through our backend API.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Backup import/export&lt;/b&gt;
        &lt;p&gt;At the backend we have a new panel under System / Backend which can be used to import/export the complete
        configuration. This makes it also easier to move configurations from test to production environments. Note this
        only exports the database configuration, custom classes at the src folder are not exported and must be synced
        separately.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Every create, update and delete operation now returns the affected id&lt;/b&gt;
        &lt;p&gt;The backend API now returns the affected primary key for every create, update and delete operation. This
        can be useful if you want to directly further work with an entity which you have created.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Added and improved actions&lt;/b&gt;
        &lt;p&gt;We have added the following two new actions, besides this we have also improved several other actions.&lt;/p&gt;
        &lt;ul&gt;
            &lt;li&gt;
                &lt;p&gt;&lt;code&gt;Fusio\Adapter\Http\Action\HttpRaw&lt;/code&gt;&lt;/p&gt;
                &lt;p&gt;A new action to send complete customized HTTP requests. This allows i.e. to send XML payloads to
                invoke legacy web services.&lt;/p&gt;
            &lt;/li&gt;
            &lt;li&gt;
                &lt;p&gt;&lt;code&gt;Fusio\Adapter\Util\Action\UtilCondition&lt;/code&gt;&lt;/p&gt;
                &lt;p&gt;A new action to invoke different actions depending on a logic expression. Through this it is possible
                to invoke different actions depending on a condition.&lt;/p&gt;
            &lt;/li&gt;
        &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Improved OAuth2 connection handling&lt;/b&gt;
        &lt;p&gt;We have improved the OAuth2 connection handling so that it is now easier to add connections which needs
        OAuth2 authorization. In the future we will add new connections to external services so that our users can
        easily integrate those external services into Fusio.&lt;/p&gt;
    &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At the end I like to give you a short insight into our future plans. We are working for some time in the background
on a new project called &lt;a href="https://sdk-fabric.org/"&gt;SDK-Fabric&lt;/a&gt;, this project basically tries to build a global
SDK infrastructure for different provides. We plan to integrate those SDKs into Fusio so that you can easily work with
those services in your actions. You can think of it like Zapier where you can configure your connections and then create
actions to execute specific tasks. The SDK-Fabric project contains currently only some provides but we hope to extend
this in the future also with the help of our community. Despite this we plan to reboot our Fusio cloud platform using
our new tenant and worker system. We try to build a platform where every user can easily get a new Fusio instance in the
cloud.&lt;/p&gt;

&lt;p&gt;Finally I like to thank every user who supports our project. In the last year we have seen many activities and I had
also lots of great conversations which also influenced this release. To support our project feel free to give it a
star on &lt;a href="https://github.com/apioo/fusio"&gt;GitHub&lt;/a&gt; and you can also financially support the project through a
&lt;a href="https://github.com/sponsors/chriskapp"&gt;donation&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Best regards&lt;br&gt;
Christoph&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>https://www.fusio-project.org/blog/website-update-and-preparing-the-5.0-release</id>
    <title>Website update and preparing the 5.0 release</title>
    <updated>2024-04-27T19:27:00Z</updated>
    <link rel="alternate" href="https://www.fusio-project.org/blog/website-update-and-preparing-the-5.0-release" type="text/html"/>
    <author>
      <name>chriskapp</name>
      <uri>https://chrisk.app/</uri>
    </author>
    <summary>This post explains the latest website updates and our plans for the next 5.0 release.</summary>
    <category term="fusio"/>
    <category term="announcement"/>
    <content type="html">&lt;p&gt;We are currently preparing the launch of the next Fusio major release version 5.0. As first step
we are rolling out our website and documentation update.&lt;/p&gt;

&lt;p&gt;We have identified and described 5 use cases of Fusio, we have gathered these use cases over the
years working with our users and we think this should help new users to see how Fusio can be used.
These use cases are now listed in the &lt;a href="https://docs.fusio-project.org/docs/use_cases/"&gt;documentation&lt;/a&gt;
and also at the &lt;a href="https://www.fusio-project.org/use-cases"&gt;website&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Besides this we have updated our &lt;a href="https://www.fusio-project.org/sdk"&gt;SDK page&lt;/a&gt; which now lists
our additional C# and Python SDK and also provides direct links to examples. At the documentation we have also rewritten
many pages for the latest 5.0 release and added more screenshots and explanations how to configure specific actions.&lt;/p&gt;

&lt;p&gt;Regarding the next 5.0 release, we are currently in the last steps to test and polish the 5.0 release. We have
implemented all planed features from our roadmap: Multi-Tenancy, Worker redesign, Personal Access Tokens, C# and Python SDK.
Especially the Multi-Tenancy feature is a big change so if you like to help with testing feel free to check out the latest
Fusio version from &lt;a href="https://github.com/apioo/fusio"&gt;GitHub&lt;/a&gt; which already contains all 5.0 dependencies.&lt;/p&gt;

&lt;p&gt;With this update we enter a feature freeze where we and our users can test and evaluate the latest release. We are
planing to release the next Fusio version by the end of may. If you have any testing feedback please feel
free to directly create an issue at &lt;a href="https://github.com/apioo/fusio"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Best regards&lt;br&gt;
Christoph&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>https://www.fusio-project.org/blog/fusio-4.0.5-released</id>
    <title>Fusio 4.0.5 released</title>
    <updated>2024-03-17T20:24:00Z</updated>
    <link rel="alternate" href="https://www.fusio-project.org/blog/fusio-4.0.5-released" type="text/html"/>
    <author>
      <name>chriskapp</name>
      <uri>https://chrisk.app/</uri>
    </author>
    <summary>This post announces the release of Fusio version 4.0.5</summary>
    <category term="fusio"/>
    <category term="announcement"/>
    <content type="html">&lt;p&gt;We are happy to announce version 4.0.5 of Fusio, this release contains mainly bug fixes from the daily work with
Fusio. In the following list we cover all important changes:&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;
        &lt;b&gt;Fix developer portal password reset captcha&lt;/b&gt;
        &lt;p&gt;If you had configured a recaptcha for the developer portal it was not correctly shown at the password reset
        dialog, this is now fixed.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Truncate long User-Agent headers&lt;/b&gt;
        &lt;p&gt;If you run a Fusion instance on the internet you notice some errors in case some bots with really long user
        agents visit your API. With this release we truncate really long user agent headers.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;HTTP processor ignore hop by hop headers&lt;/b&gt;
        &lt;p&gt;The HTTP Processor action ignores specific hop by hop headers, most importantly Transfer-Encoding so that it
        is possible to redirect "chunked" responses.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;HTTP processor add input to configure fix query parameters&lt;/b&gt;
        &lt;p&gt;It is now possible to hard-code specific query parameters which are always passed to the remote endpoint.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;HTTP processor and connection set user agent&lt;/b&gt;
        &lt;p&gt;The HTTP Processor and Connection now sets a fitting User-Agent header.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;HTTP connection add option to set an Authorization header&lt;/b&gt;
        &lt;p&gt;It is now also possible to set a fix Authorization header to authenticate against the remote endpoint.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Fix record serialization so that it is possible to put a record into the queue&lt;/b&gt;
        &lt;p&gt;It is now possible to put a record instance directly into the queue, i.e. if you simply want to pass the request
        body into the queue.&lt;/p&gt;
    &lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;As a heads up, we are currently working in the background at the next major Fusio 5.0 release, the release will
include the following big features:&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;
        &lt;b&gt;Multi-Tenancy&lt;/b&gt;
        &lt;p&gt;This will allow us to setup a single big Fusio instance where you can run multiple clients. This feature
        is also the basis for our future fusio.cloud redesign where developers can simply register to get a Fusio
        instance in the cloud.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Worker redesign&lt;/b&gt;
        &lt;p&gt;Currently the worker system uses the Apache Thrift protocol, we plan to redesign this into a simple REST API
        so that it is also possible to run a worker on a serverless platform like AWS Lambda. We will also make the worker
        stateless so that it is no longer needed to persist the credentials at the worker.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Personal Access Tokens&lt;/b&gt;
        &lt;p&gt;Similar to a personal access token at GitHub it is possible for every user to create a complete customized
        access token using the scopes which are assigned to the user. We will also extend the developer portal with
        a new tab where a user can configure such a token.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Add C# and Python SDK support&lt;/b&gt;
        &lt;p&gt;We will extend our code generator so that it is possible to generate client SDKs in C# and Python, through
        this we can also support C# and Python at our Fusio SDK.&lt;/p&gt;
    &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The Multi-Tenancy and Personal Access Tokens feature is almost completed, we are currently working mainly on the Worker
redesign, you can also follow our progress at the &lt;a href="https://github.com/apioo/fusio-impl"&gt;fusio-impl&lt;/a&gt; repository.
Besides those features we also plan to improve our website and documentation for the new release. Feel free to participate
at our &lt;a href="https://github.com/apioo/fusio/discussions"&gt;GitHub discussions&lt;/a&gt; or &lt;a href="https://discord.gg/eMrMgwsc6e"&gt;Discord&lt;/a&gt; server.&lt;/p&gt;

&lt;p&gt;As a last note, I like to thank every supporter of Fusio, in 2024 we have seen a huge spike in visitors and engagement.
We think that Fusio is a unique tool on the API marketplace which bridges the gap between API management and general
backend as a service provider. So we are excited for the future and we will continue to follow our mission to create
innovative API solutions.&lt;/p&gt;

&lt;p&gt;Best regards&lt;br&gt;
Christoph&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>https://www.fusio-project.org/blog/fusio-4.0.4-released</id>
    <title>Fusio 4.0.4 released</title>
    <updated>2024-01-14T20:42:00Z</updated>
    <link rel="alternate" href="https://www.fusio-project.org/blog/fusio-4.0.4-released" type="text/html"/>
    <author>
      <name>chriskapp</name>
      <uri>https://chrisk.app/</uri>
    </author>
    <summary>This post announces the release of Fusio version 4.0.4</summary>
    <category term="fusio"/>
    <category term="announcement"/>
    <content type="html">&lt;p&gt;We are happy to announce version 4.0.4 of Fusio, with this release we start 2024 pushing API development to the next
level. In the following list we cover all important changes:&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;
        &lt;b&gt;Improve backend dashboard response to prevent null values&lt;/b&gt;
        &lt;p&gt;The backend dashboard response does not include null values instead we use 0 for better backend charts.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;SQL Adapter improve table generator schema name&lt;/b&gt;
        &lt;p&gt;The SQL adapter now uses better schema name in case you generate an API based on a table.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Add oracle and mssql docker image flavor&lt;/b&gt;
        &lt;p&gt;We have added an oracle and mssql docker image flavor in case you want to connect to a oracle or mssql database.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Backend app improve change detection of action and schema links&lt;/b&gt;
        &lt;p&gt;In some cases the action and schema detail view was not updated, this is now fixed and the component now renders correctly on change.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Backend app schema editor add raw JSON/YAML import&lt;/b&gt;
        &lt;p&gt;At the schema editor it is now possible to import raw JSON/YAML data.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Fixed CLI login expires in&lt;/b&gt;
        &lt;p&gt;A problem regarding the CLI login was fixed.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Fixed Google social login&lt;/b&gt;
        &lt;p&gt;A problem regarding the Google social login was fixed.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;TypeAPI generate base url and security&lt;/b&gt;
        &lt;p&gt;The generated TypeAPI specification now contains the base ur and security settings of your Fusio instance.&lt;/p&gt;
    &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Best regards&lt;br&gt;
Christoph&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>https://www.fusio-project.org/blog/fusio-4.0.3-released</id>
    <title>Fusio 4.0.3 released</title>
    <updated>2023-10-28T17:03:00Z</updated>
    <link rel="alternate" href="https://www.fusio-project.org/blog/fusio-4.0.3-released" type="text/html"/>
    <author>
      <name>chriskapp</name>
      <uri>https://chrisk.app/</uri>
    </author>
    <summary>This post announces the release of Fusio version 4.0.3</summary>
    <category term="fusio"/>
    <category term="announcement"/>
    <content type="html">&lt;p&gt;We are happy to announce version 4.0.3 of Fusio. In the following we will cover the most important changes of the
4.0.3 release and also the last two minor updates which we have not yet covered:&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;&lt;b&gt;4.0.3&lt;/b&gt;&lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Fix backend sdk download button&lt;/b&gt;
        &lt;p&gt;The SDK download button was not show correctly at the backend app, the SDK was generated in background but
        the button to download the SDK was not available, this is now fixed.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;OAuth2 endpoint use seconds for "expires_in" instead of unix timestamp&lt;/b&gt;
        &lt;p&gt;The "expires_in" property of the OAuth2 token response contained previously a unix timestamp. This behaviour
        was wrong according to the &lt;a href="https://datatracker.ietf.org/doc/html/rfc6749#section-4.4.3"&gt;OAuth2 specification&lt;/a&gt;,
        we have adjusted the response so that the "expires_in" property only contains the lifetime in seconds of the
        access token. Note if you use this property please adjust the behaviour accordingly.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Add sdkgen integration&lt;/b&gt;
        &lt;p&gt;We have recently launched &lt;a href="https://sdkgen.app/"&gt;SDKgen&lt;/a&gt;, a new project which we have developed
        to help everybody generate production ready SDKs for their API. Fusio contains now an SDKgen integration, this
        means that you can enter your SDKgen credentials at the &lt;code&gt;.env&lt;/code&gt; file and you can then automatically
        use our advanced code generator which we provide through SDKgen, this means you can also generate i.e. Java or
        CSharp client SDKs for your API.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;&lt;b&gt;4.0.2&lt;/b&gt;&lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Implemented symfony/messenger to support async work queues&lt;/b&gt;
        &lt;p&gt;We now use internally the &lt;a href="https://symfony.com/doc/current/messenger.html"&gt;Symfony Messenger&lt;/a&gt;
        component to handle background tasks. This means that you can now also easily configure an actual message queue
        like RabbitMQ. Fusio uses by default a database based message queue which works out of the box.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Improved client SDK grouping&lt;/b&gt;
        &lt;p&gt;We have improved the internal client SDK generator to group your operations based on the operation name. If
        the operation name contains a dot all operations are grouped under this name. I.e. you operation name could be
        &lt;code&gt;product.execute&lt;/code&gt; and the execute operation will be placed in a separate product class.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Added composite app filter&lt;/b&gt;
        &lt;p&gt;By default we use now the app filter which contains your app and authorization routes which are mostly
        required to work with your API.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Change migration execution order to always execute the internal Fusio migration and then the App migrations&lt;/b&gt;
        &lt;p&gt;Fusio now executes always at first the internal Fusio migrations and after this your app migrations.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;&lt;b&gt;4.0.1&lt;/b&gt;&lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Improved Passthru handing for file uploads&lt;/b&gt;
        &lt;p&gt;File upload handling was improved using the Passthru schema.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Add new model SDK generator&lt;/b&gt;
        &lt;p&gt;We have now included all model generators which can be also used directly at the backend.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Add default robots.txt&lt;/b&gt;
        &lt;p&gt;A default robots.txt was added to prevent all crawler indexing your API and apps. Our developer portal and
        documentation apps are not SEO optimized so this might have a negative impact on your website serving those
        pages directly. Because of this we have added a robots.txt to disallow crawling by default, if this is intended
        we recommend to create a dedicated subdomain where you can also use a fitting robots.txt.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Updated TypeSchema editor&lt;/b&gt;
        &lt;p&gt;The TypeSchema editor was improved, including better import and export possibilies.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Updated backend and developer app dependencies&lt;/b&gt;
        &lt;p&gt;All backend and developer app dependencies are updated to the latest version.&lt;/p&gt;
    &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Best regards&lt;br&gt;
Christoph&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>https://www.fusio-project.org/blog/fusio-4.0-released</id>
    <title>Fusio 4.0 released</title>
    <updated>2023-07-30T17:02:00Z</updated>
    <link rel="alternate" href="https://www.fusio-project.org/blog/fusio-4.0-released" type="text/html"/>
    <author>
      <name>chriskapp</name>
      <uri>https://chrisk.app/</uri>
    </author>
    <summary>This post announces the release of the Fusio major version 4.0</summary>
    <category term="fusio"/>
    <category term="announcement"/>
    <content type="html">&lt;p&gt;I'am happy to announce the next major version 4.0 of Fusio. We have worked the last 9 month at this new release and
it contains many innovative features to challenge the current API tooling landscape. In the following we will cover the
most important changes:&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;
        &lt;b&gt;Transition from routes to operations&lt;/b&gt;
        &lt;p&gt;The new Fusio version is tightly integrated with &lt;a href="https://typeapi.org/"&gt;TypeAPI&lt;/a&gt; a new specification
        which we have developed to describe REST APIs and which is optimized for code generation. At TypeAPI the basic
        building block is an operation, an operation executes your business logic and is assigned to a specific HTTP
        method and path. This is then also reflected at Fusio where you can now create an operation at the backend instead
        of a route. Through this we are able to generate developer friendly and ready to use client SDKs for your API.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Use the Symfony DI container to manage all dependencies&lt;/b&gt;
        &lt;p&gt;We use now for all dependencies the &lt;a href="https://symfony.com/doc/current/components/dependency_injection.html"&gt;Symfony DI&lt;/a&gt;
        component. This is a great improvement for our internal code quality and it also helps you if you want to build
        new actions or adapters. We can now simply load specific paths and the DIC auto-wires all services. It brings us
        also a great performance benefit since the container gets compiled into highly optimized code.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Updated the underlying PSX framework to version 7.0&lt;/b&gt;
        &lt;p&gt;We have updated the underlying &lt;a href="https://phpsx.org/"&gt;PSX&lt;/a&gt; framework to the latest version. This
        improves our schema an API generation tooling since we now use the latest version of those components.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Changed license from AGPLv3 to Apache 2.0&lt;/b&gt;
        &lt;p&gt;With this version we have changed our license from AGPL to Apache 2.0, this gives our users much more freedom
        to use Fusio also in a commercial context without the need to make all code public. We like to thank every user
        in the past who has purchased an enterprise plan, this is no longer needed. If you still want to support the
        Fusio project please take a look at the donation options.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Upgrade backend apps to latest Angular 16&lt;/b&gt;
        &lt;p&gt;We have updated the Backend and Developer app to Angular 16. With this we have also updated our javascript SDK
        to the latest version which now works with the Fusio 4.0 API. For simplicity we have removed the documentation
        app and use now the ReDoc app as default API documentation app.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Option to support multiple action types&lt;/b&gt;
        &lt;p&gt;The new version allows you to specify different action types. Previously it was required to create an action
        for every case, now it is possible to directly reference a class or HTTP URL without the need to create an action
        at an operation.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Identity and OpenID Connect improvements&lt;/b&gt;
        &lt;p&gt;It is now possible to configure an Identity Provider at the backend, this allows a user to register i.e. at
        the developer portal or backend without the need to register an account. We have also added a general OpenID
        Connect provider which helps to integrate other identity provider.&lt;/p&gt;
    &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We are really happy with this release and think that it is a great milestone for Fusio to make API development easier
and more accessible for many users. Especially our internal SDK code generator, to generate high quality and ready to
use client SDKs, is a great unique feature of Fusio. In the background we have already a great list of cool new features
which we like to add within the next 4.x releases.&lt;/p&gt;

&lt;p&gt;If you like to support our project you can give us a star on &lt;a href="https://github.com/apioo/fusio"&gt;GitHub&lt;/a&gt;, there
you can also find available donation options. If you have questions or problems regarding Fusio you can also join our
&lt;a href="https://discord.gg/eMrMgwsc6e"&gt;discord server&lt;/a&gt; or create an issue at Github.&lt;/p&gt;

&lt;p&gt;Please take a look at our &lt;a href="https://github.com/apioo/fusio/blob/master/UPGRADE.md"&gt;upgrade document&lt;/a&gt; if you
want to upgrade an older Fusio 3.x version to 4.x.&lt;/p&gt;

&lt;p&gt;Best regards&lt;br&gt;
Christoph&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>https://www.fusio-project.org/blog/status-and-development-of-fusio-4.0</id>
    <title>Status and development of Fusio 4.0</title>
    <updated>2023-06-08T09:48:00Z</updated>
    <link rel="alternate" href="https://www.fusio-project.org/blog/status-and-development-of-fusio-4.0" type="text/html"/>
    <author>
      <name>chriskapp</name>
      <uri>https://chrisk.app/</uri>
    </author>
    <summary>This post talks about the status and development of the next Fusio major version 4.0</summary>
    <category term="fusio"/>
    <category term="announcement"/>
    <content type="html">&lt;p&gt;In this post I like to talk about the current status and development process for the next Fusio major version 4.0.&lt;/p&gt;

&lt;p&gt;In the last three months since our last blog post we have completed our two big milestones. We have released a first
version of &lt;a href="https://typeapi.org/"&gt;TypeAPI&lt;/a&gt; a new specification to describe REST APIs and we have released a
new major version of the underlying &lt;a href="https://phpsx.org/"&gt;PSX&lt;/a&gt; framework.&lt;/p&gt;

&lt;p&gt;While building the new TypeAPI specification we have also improved our TypeSchema code generator with new languages
and complete integration tests. There is now also a &lt;a href="https://github.com/apioo/typeschema-generator"&gt;docker image&lt;/a&gt;
and &lt;a href="https://github.com/apioo/typeschema-generator-action"&gt;GitHub action&lt;/a&gt; which can help you to integrate
our code generator. All these improvements are then automatically integrated into the next Fusio version.&lt;/p&gt;

&lt;p&gt;The next Fusio version will also include a better &lt;a href="https://typehub.cloud/"&gt;TypeHub&lt;/a&gt; integration. TypeHub
is a platform to design open data specifications, it is like GitHub for data modelling. It is currently in an alpha
stage but we are planing to greatly improve the platform. This means that you can simply use any schema at TypeHub in
your Fusio instance and it is also possible to upload your schemas to TypeHub.&lt;/p&gt;

&lt;p&gt;We are currently in the process to upgrade Fusio to the new PSX version, if you like you can follow the process at the
&lt;a href="https://github.com/apioo/fusio-impl/tree/feat/update-psx"&gt;development branch&lt;/a&gt;. The process is already very
advanced and I think we will complete this within the next month.&lt;/p&gt;

&lt;p&gt;There is another big change for the next Fusio version which I like to introduce. Currently at Fusio there is a
"Routes" panel and each route has assigned HTTP request methods where you can invoke an action. With the new Fusio
version we are planing to remove the "Routes" panel and add a new "Operation" Panel. An operation is basically a function
which can be invoked through an REST API call. So we are moving from an HTTP resource centric design to a more RPC like
design. This is then also reflected in the new TypeAPI spec where we also model operations instead of HTTP resources.
This design has especially great benefits for automatic code generation. We are still in the process with this
development but this is just a short teaser so that our community knows the direction where we are heading.&lt;/p&gt;

&lt;p&gt;This was a short post to cover the current status of the next Fusio major version 4.0. I hope you are also as
excited as we are for the next version which tries to step-up the API development process even further. Also please
let me know in case you have any thoughts or ideas regarding the next Fusio version.&lt;/p&gt;

&lt;p&gt;Best regards&lt;br&gt;
Christoph&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>https://www.fusio-project.org/blog/development-and-future-plans-for-the-next-fusio-release</id>
    <title>Development and future plans for the next Fusio release</title>
    <updated>2023-03-25T12:33:00Z</updated>
    <link rel="alternate" href="https://www.fusio-project.org/blog/development-and-future-plans-for-the-next-fusio-release" type="text/html"/>
    <author>
      <name>chriskapp</name>
      <uri>https://chrisk.app/</uri>
    </author>
    <summary>This post talks about out future plans for Fusio and the upcoming Fusio release.</summary>
    <category term="fusio"/>
    <category term="announcement"/>
    <content type="html">&lt;p&gt;In this post I like to talk about the current status of development for the next Fusio release and our future plan
for this release.&lt;/p&gt;

&lt;p&gt;In the background we are currently working on a heavy rewrite of our code generation system. In its first version the
code generation system was already fine but the generated code was not very easy to use since it contained many HTTP
concepts like a resource endpoint etc. and also the method names were generated by the path name which not always
resulted in an easy-to-use method name. Our next code generator is based on a complete new specification called
TypeAPI, it is similar to OpenAPI but optimized for code generation to generate high quality client SDKs. I will let you
know once we have a first version to the TypeAPI specification released.&lt;/p&gt;

&lt;p&gt;In this process we have also released a new version of our internal framework &lt;a href="https://github.com/apioo/psx-framework"&gt;PSX&lt;/a&gt;
which Fusio uses. The biggest change is that we now use the Symfony DI container to resolve all our dependencies, that
means in the future you don`t need to register any dependencies instead they get automatically autowired. It brings also
a great performance improvement since the container gets compiled into an optimized format and it is a tool which many
developers already know. This means that we also need to update our existing Fusio code base to this new framework
version.&lt;/p&gt;

&lt;p&gt;So these are currently our two big milestones which we need to complete in order to release the next version of
Fusio. We think that this is a great next step for Fusio. Regarding the timeline, out plan is to release a first
version of the TypeAPI specification at the beginning of the second quarter. The framework update of Fusio will probably
take a bit longer since we need to redesign some parts of the existing system, but I think we will complete this also
by the end of the second quarter. So please stay tuned and let me know in case you have any questions or ideas regarding
this new release.&lt;/p&gt;

&lt;p&gt;Best regards&lt;br&gt;
Christoph&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>https://www.fusio-project.org/blog/introducing-apigen-an-api-code-generator</id>
    <title>Introducing APIgen an API code generator</title>
    <updated>2022-12-25T12:45:00Z</updated>
    <link rel="alternate" href="https://www.fusio-project.org/blog/introducing-apigen-an-api-code-generator" type="text/html"/>
    <author>
      <name>chriskapp</name>
      <uri>https://chrisk.app/</uri>
    </author>
    <summary>This post introduces our new service APIgen, which helps to generate complete APIs.</summary>
    <category term="fusio"/>
    <category term="announcement"/>
    <content type="html">&lt;p&gt;I am happy to introduce you to our new service &lt;a href="https://apigen.app/"&gt;APIgen&lt;/a&gt;. APIgen helps you to generate
complete APIs based on a model definition. The generated API is based on Fusio and it helps to quickly bootstrap an API
project. You can design the model definition at the APIgen backend through a simple web editor s.&lt;/p&gt;

&lt;div class="mt-4 mb-4 text-center"&gt;
  &lt;img src="/img/apigen_backend.png" alt="APIgen backend" class="img-fluid"&gt;
&lt;/div&gt;

&lt;p&gt;After modelling your entities and the relations you can generate the Fusio code through the "Generate" Button.
The generated code is ready to use and is basically a complete customized API tailored to your use case.
We have also wrote a small &lt;a href="https://medium.com/@chriskapp/generative-backend-an-alternative-to-backend-as-a-service-providers-like-firebase-or-supabase-ecb3e1cb13f"&gt;blog post&lt;/a&gt;
about the motivation to build APIgen.&lt;/p&gt;

&lt;p&gt;So this is just a first introduction to our new service and we are really excited about the future and what is
possible to build with APIgen. If you are interested in the service please feel free to register, the service is free
and ready to use. If you have any problems or want to provide feedback please create directly an issue at our
&lt;a href="https://github.com/apioo/fusio"&gt;repository&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Best regards&lt;br&gt;
Christoph&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>https://www.fusio-project.org/blog/fusio-3.3.1-released</id>
    <title>Fusio 3.3.1 released</title>
    <updated>2022-11-12T19:32:00Z</updated>
    <link rel="alternate" href="https://www.fusio-project.org/blog/fusio-3.3.1-released" type="text/html"/>
    <author>
      <name>chriskapp</name>
      <uri>https://chrisk.app/</uri>
    </author>
    <summary>This post announces the release of Fusio version 3.3.1</summary>
    <category term="fusio"/>
    <category term="announcement"/>
    <content type="html">&lt;p&gt;We like to announce version 3.3.1 of Fusio. This patch release improves many small parts of Fusio, the following list
covers all important changes of this release:&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;
        &lt;b&gt;Improve generator always set prefix to route, action and schema&lt;/b&gt;
        &lt;p&gt;Fusio provides several generator to i.e. create endpoints based on an existing database or to import an OpenAPI
        specification, all actions and schemas which are created by such a generator are now prefixed by the base path.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Improve SQL adapter&lt;/b&gt;
        &lt;p&gt;We have fixed several problems with SQL adapter and also added a new SqlDatabase generator which allow you
        to create endpoints for an existing database&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Update model package and use model classes according to naming convention&lt;/b&gt;
        &lt;p&gt;We now use the latest version of the model package and updated all schemas accordingly&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Add local log folder instead of using the system log&lt;/b&gt;
        &lt;p&gt;All logs files are now stored at the &lt;code&gt;log/app.log&lt;/code&gt; file and not the syslog&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Handle CORS headers on OpenAPI export&lt;/b&gt;
        &lt;p&gt;The OpenAPI export endpoint handles now also the CORS headers correctly&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Add currency to system about&lt;/b&gt;
        &lt;p&gt;The system about API response contains also the configured currency&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Increase Psalm level&lt;/b&gt;
        &lt;p&gt;We have increased the psalm level from 4 to 3 on our complete &lt;code&gt;fusio/impl&lt;/code&gt; code base&lt;/p&gt;
    &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Have fun with this release and please feel free to provide any feedback either on &lt;a href="https://github.com/apioo/fusio"&gt;Github&lt;/a&gt;
or at our &lt;a href="https://groups.google.com/g/fusio"&gt;Forum&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Best regards&lt;br&gt;
Christoph&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>https://www.fusio-project.org/blog/fusio-3.3-released</id>
    <title>Fusio 3.3 released</title>
    <updated>2022-10-13T13:18:00Z</updated>
    <link rel="alternate" href="https://www.fusio-project.org/blog/fusio-3.3-released" type="text/html"/>
    <author>
      <name>chriskapp</name>
      <uri>https://chrisk.app/</uri>
    </author>
    <summary>This post announces the release of Fusio version 3.3</summary>
    <category term="fusio"/>
    <category term="announcement"/>
    <content type="html">&lt;p&gt;We like to announce version 3.3 of Fusio. This release contains some great changes regarding code generation and our
SDKs. The following post covers all important changes of this release:&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;
        &lt;b&gt;Updated developer app to latest sdk version&lt;/b&gt;
        &lt;p&gt;The developer app now uses the latest version of our &lt;a href="https://www.npmjs.com/package/ngx-fusio-sdk"&gt;Angular SDK&lt;/a&gt;
        which you can also use to build an Angular App based on Fusio. It provides already many services and components to
        handle user registration and app management. Please take a look at the &lt;a href="https://github.com/apioo/fusio-apps-developer"&gt;developer app&lt;/a&gt;
        to see how you can integrate the SDK&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Fix link of the default developer portal content &lt;a href="https://github.com/apioo/fusio/issues/474"&gt;#474&lt;/a&gt;&lt;/b&gt;
        &lt;p&gt;We have fixed the links of the default content from the developer app&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Add metadata property to important models and remove fusio_user_attributes config &lt;a href="https://github.com/apioo/fusio/issues/470"&gt;#470&lt;/a&gt;&lt;/b&gt;
        &lt;p&gt;We have removed the &lt;code&gt;fusio_user_attributes&lt;/code&gt; config and added a general "metadata" concept to important
        models of Fusio. This means i.e. if you create a user, app or route via API you can attach additional metadata to this entity,
        like a reference id from the remote system which has issued the request. This should help to better integrate Fusio
        programmatically into your system&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Record period start/end date of subscriptions to get a list of active plans for a user&lt;/b&gt;
        &lt;p&gt;Our transaction table now also logs the start and end date of a subscription period. Through this we can now
        also return all active subscriptions for a user&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Add option to configure a return url for the payment portal&lt;/b&gt;
        &lt;p&gt;It is now possible to configure a return url for the payment portal in case it is not possible to globally
        configure such an url&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Include plan scopes in user account response&lt;/b&gt;
        &lt;p&gt;It is possible to assign scopes at a plan, a user then receives those scopes if the plan is assigned to the
        user. The account response now also contains those scopes obtained through a plan&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Add generate SDK command&lt;/b&gt;
        &lt;p&gt;We have added a new command which helps to automatically generate the sdk by simply using the command &lt;code&gt;php bin/fusio generate:sdk&lt;/code&gt;.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Add generate model command&lt;/b&gt;
        &lt;p&gt;We have added a new command which generates models based on a &lt;a href="https://typeschema.org/"&gt;TypeSchema&lt;/a&gt; specification.
        The file must be located at &lt;code&gt;resources/typeschema.json&lt;/code&gt; and all models are automatically generated at &lt;code&gt;src/Model&lt;/code&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Add generate table command&lt;/b&gt;
        &lt;p&gt;The generate table command generates all table classes for the tables which you have defined in your migration file.
        All tables classes are generated at &lt;code&gt;src/Table&lt;/code&gt;&lt;/p&gt;
    &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Have fun with this release and please feel free to provide any feedback either on &lt;a href="https://github.com/apioo/fusio"&gt;Github&lt;/a&gt;
or at our &lt;a href="https://groups.google.com/g/fusio"&gt;Forum&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Best regards&lt;br&gt;
Christoph&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>https://www.fusio-project.org/blog/fusio-3.2-released</id>
    <title>Fusio 3.2 released</title>
    <updated>2022-08-07T20:40:00Z</updated>
    <link rel="alternate" href="https://www.fusio-project.org/blog/fusio-3.2-released" type="text/html"/>
    <author>
      <name>chriskapp</name>
      <uri>https://chrisk.app/</uri>
    </author>
    <summary>This post announces the release of Fusio version 3.2</summary>
    <category term="fusio"/>
    <category term="announcement"/>
    <content type="html">&lt;p&gt;We like to announce version 3.2 of Fusio. The biggest change of this release is the rewrite of our backend from
AngularJS to Angular 13. The following post covers all important changes of this release:&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;
        &lt;b&gt;Update backend app to Angular&lt;/b&gt;
        &lt;p&gt;We have made a complete rewrite of our old AngularJS application to Angular 13, with this we now also use
        our automatically generated &lt;a href="https://github.com/apioo/fusio-sdk-javascript"&gt;SDK&lt;/a&gt;. This has greatly
        increased the code quality of our app and should provide a stable base for the future&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Add connection inspection&lt;/b&gt;
        &lt;p&gt;It is now possible to inspect a connection. This means for database connections it is now possible to see
        all tables and the structure. In the future it is also possible to add such a connection to other connection
        types&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Add SqlEntity generator provider&lt;/b&gt;
        &lt;p&gt;We have added a new generator which allows you to create a complete API based on a simple entity definition.
        This generator also generates the actual tables and creates all routes, actions and schemas. This should greatly
        help you in case you need to build a simple database CRUD API&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Improved sql adapter actions&lt;/b&gt;
        &lt;p&gt;Since our SqlEntity generator uses our standard SQL Actions we have also improved them so that they now also
        can handle relations and custom mappings&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Marketplace install handle Angular apps&lt;/b&gt;
        &lt;p&gt;Our marketplace now also handles attachments on a release. I.e. for our Angular app we only want to publish
        the generated build as app. This is now possible by simply adding such a zip file to your release&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Move routes provider to generator namespace&lt;/b&gt;
        &lt;p&gt;We have moved the routes provider endpoints to the generator namespace and also adjusted all routes and
        namespaces accordingly. We have also added a separate "Generator" panel to the backend where you can now
        configure and execute such a Generator&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Many small endpoint schema fixes&lt;/b&gt;
        &lt;p&gt;Since we now use our automatically generated SDK at the backend we have greatly improved our backend schema
        definitions&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Add CORS handling to OAuth2 endpoint&lt;/b&gt;
        &lt;p&gt;Our OAuth2 endpoint now handels CORS headers correctly&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Add util event dispatch action&lt;/b&gt;
        &lt;p&gt;We have added a new action which simply dispatches an event on our event system. This can be useful if you
        want to trigger such an event from a third party system&lt;/p&gt;
    &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We are really happy with this release and please feel free to provide any feedback either on &lt;a href="https://github.com/apioo/fusio"&gt;Github&lt;/a&gt;
or at our &lt;a href="https://groups.google.com/g/fusio"&gt;Forum&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Best regards&lt;br&gt;
Christoph&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>https://www.fusio-project.org/blog/fusio-backend-2.0-release-candidate-available</id>
    <title>Fusio Backend 2.0 Release Candidate available</title>
    <updated>2022-07-10T22:12:00Z</updated>
    <link rel="alternate" href="https://www.fusio-project.org/blog/fusio-backend-2.0-release-candidate-available" type="text/html"/>
    <author>
      <name>chriskapp</name>
      <uri>https://chrisk.app/</uri>
    </author>
    <summary>This post announces the first 2.0 release candidate of the new backend app</summary>
    <category term="fusio"/>
    <category term="announcement"/>
    <content type="html">&lt;p&gt;We like to announce the first 2.0 release candidate of our new backend app. We have completely rewrote our existing
AngularJS based backend to Angular 13. We release this version early so that our users can already start to test and
experiment with the new backend. If you have found any bugs or would like to request a new feature please create an
issue at our &lt;a href="https://github.com/apioo/fusio"&gt;repository&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Note: This release is currently not included in our marketplace since it is a pre-release. To install the app go
to the &lt;a href="https://github.com/apioo/fusio-apps-backend/tags"&gt;repository&lt;/a&gt; and download the latest
&lt;code&gt;2.0.0-RC*&lt;/code&gt; version. You then need to copy the content of the &lt;code&gt;dist/fusio&lt;/code&gt; folder to your
&lt;code&gt;public/apps/fusio&lt;/code&gt; folder. Then you also need to run &lt;code&gt;php bin/fusio marketplace:env fusio&lt;/code&gt; to
replace the env variables at the &lt;code&gt;index.html&lt;/code&gt; file.&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;The backend uses now our automatically generated &lt;a href="https://www.npmjs.com/package/fusio-sdk"&gt;Javascript SDK&lt;/a&gt;.
Through this we have a complete type-safe architecture from our backend to the frontend. In Fusio we have a single
&lt;a href="https://github.com/apioo/fusio-model/blob/main/spec/backend.json"&gt;model repository&lt;/a&gt; where we have a
&lt;a href="https://typeschema.org/"&gt;TypeSchema&lt;/a&gt; definition of all models. Based on this specification we automatically
generate all PHP model classes which we use at the backend. Then we use Fusio to automatically generate the client SDK
code, please take a look at our &lt;a href="https://github.com/apioo/fusio-sdk-javascript"&gt;Javascript SDK repository&lt;/a&gt;
for more information. In our Angular 13 backend app we then include the Javascript SDK which then also contains all
models. We are currently really happy with Angular as choice for the new backend app and we are looking forward to the
final release.&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>https://www.fusio-project.org/blog/fusio-3.1-released</id>
    <title>Fusio 3.1 released</title>
    <updated>2022-06-05T19:33:00Z</updated>
    <link rel="alternate" href="https://www.fusio-project.org/blog/fusio-3.1-released" type="text/html"/>
    <author>
      <name>chriskapp</name>
      <uri>https://chrisk.app/</uri>
    </author>
    <summary>This post announces the release of Fusio version 3.1</summary>
    <category term="fusio"/>
    <category term="announcement"/>
    <content type="html">&lt;p&gt;We are really happy to announce the release of version 3.1 of Fusio. This release contains mostly improvements to our
existing payment system. In the last months we have gathered many experiences and feedback regarding our payment system
from many users and integrations which we have supported. Based on this feedback we have revamped our existing payment
system which allows our users to create more complex payment models and make Fusio more usable for different use cases.
The following list covers the most important changes of this release:&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;
        &lt;b&gt;Reworked payment system&lt;/b&gt;
        &lt;p&gt;As mentioned we have reworked our payment system. We have learned that payment systems are a really complicated
        topic and many users have complete different use cases. Initially Fusio included a simple payment system which handled
        recurring payments. To support all those different use cases we would have to extend and rebuild our existing system.
        Since Fusio is an API management system and not a payment system we came to the conclusion that the best solution is
        to outsource those tasks to a dedicated payment provider. With &lt;a href="https://stripe.com/"&gt;Stripe&lt;/a&gt; we have
        found a really great default payment provider which provides many features. In the end all payment provider actions
        are abstracted through an adapter so if you like you can also implement support for a different provider. Please
        take a look at our &lt;a href="https://github.com/apioo/fusio-adapter-stripe"&gt;stripe-adapter&lt;/a&gt; to get more information
        how a payment provider works&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Added deeper Stripe integration handle now complex pricing models through Stripe&lt;/b&gt;
        &lt;p&gt;If you create a plan it is now possible to reference an external id. For Stripe this is a &lt;a href="https://stripe.com/docs/api/prices/object"&gt;price id&lt;/a&gt;.
        If a user purchases such a plan we use the provided price id. The external id can contain all the different modalities
        which are supported by the payment provider&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Removed contract and invoice handling inside Fusio and outsource those to the payment provider&lt;/b&gt;
        &lt;p&gt;The contract and invoice endpoints are removed from the backend API&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Use the Stripe billing portal where a user can manage all subscriptions&lt;/b&gt;
        &lt;p&gt;We have removed the contract and invoice panel from the developer portal and it is now possible to use the
        Stripe billing portal to manage all subscriptions&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Remove contract and invoice panel from the backend app&lt;/b&gt;
        &lt;p&gt;We have also removed the contract and invoice panel from the backend app&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Added payment provider webhook support where Fusio receives events from the payment provider&lt;/b&gt;
        &lt;p&gt;Fusio is now able to receive webhook events from the payment provider. The payment adapter needs to process
        the webhook and tell Fusio whether an invoice was payed or canceled&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Added a trash panel to the backend app where user can restore a deleted record&lt;/b&gt;
        &lt;p&gt;We have now a new panel at the backend which allows you to restore a deleted record. Previously this was only
        possible through the CLI&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Add autoload to src/ folder&lt;/b&gt;
        &lt;p&gt;Since many users add new custom actions and connections at the src/ folder we have now added the "autoload"
        config by default&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Handle gracefully in case the apps dir does not exist&lt;/b&gt;
        &lt;p&gt;In case the apps folder does not exist we dont throw any exception&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Added SqlBuilder action&lt;/b&gt;
        &lt;p&gt;We have added by default the &lt;a href="https://docs.fusio-project.org/docs/backend/api/action/sql-builder/"&gt;SqlBuilder&lt;/a&gt;
        action which allows you to write complex SQL queries using a JSON notation&lt;/p&gt;
    &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We are really happy with this release and please let us know if you have any ideas regarding Fusio.&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>https://www.fusio-project.org/blog/fusio-3.0-released</id>
    <title>Fusio 3.0 released</title>
    <updated>2022-04-02T20:00:00Z</updated>
    <link rel="alternate" href="https://www.fusio-project.org/blog/fusio-3.0-released" type="text/html"/>
    <author>
      <name>chriskapp</name>
      <uri>https://chrisk.app/</uri>
    </author>
    <summary>This post announces the release of Fusio version 3.0</summary>
    <category term="fusio"/>
    <category term="announcement"/>
    <content type="html">&lt;p&gt;We are really happy to announce the release of version 3.0 of Fusio. This release contains may fixes and improvements
to Fusio. We like to thank all our users and customers who have greatly shaped Fusio to one of the best and simplest
tools to create an API product. The following list covers the most important changes of this release:&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;
        &lt;b&gt;PHP 8.0 as minimum requirement&lt;/b&gt;
        &lt;p&gt;The minimum PHP requirement of Fusio is now PHP 8.0&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Updated code base and underling dependencies to PHP 8.0&lt;/b&gt;
        &lt;p&gt;We have improved our complete code base by making use of new PHP 8.0 features and also updated all dependencies
        to support PHP 8&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Improved handling of social login credentials&lt;/b&gt;
        &lt;p&gt;The social login credentials are now placed at the settings panel. Through this you can configure a social
        login provider even if you have no access to the filesystem&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Improved cron system&lt;/b&gt;
        &lt;p&gt;We have improved our cron system so that you now only need to invoke a single command which internally
        triggers all cronjobs&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Removed internal scopes from OpenAPI spec &lt;a href="https://github.com/apioo/fusio/issues/443"&gt;#443&lt;/a&gt;&lt;/b&gt;
        &lt;p&gt;The OpenAPI spec no longer shows all Fusio internal scopes and only the scope which are related to your app&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Reset password link in email incorrect &lt;a href="https://github.com/apioo/fusio/issues/436"&gt;#436&lt;/a&gt;&lt;/b&gt;
        &lt;p&gt;We have adjusted the password reset link to the correct url&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Notification in case a user runs out of points &lt;a href="https://github.com/apioo/fusio/issues/427"&gt;#427&lt;/a&gt;&lt;/b&gt;
        &lt;p&gt;We now send a mail in case a user runs out of points, you can also configure the threshold at the settings
        panel&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;"Entry successful deleted" incorrectly reported &lt;a href="https://github.com/apioo/fusio/issues/429"&gt;#429&lt;/a&gt;&lt;/b&gt;
        &lt;p&gt;The SQLDelete action now returns a proper 404 response in case the entry which you try to delete does not
        exist&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Added an option to deactivate the marketplace&lt;/b&gt;
        &lt;p&gt;We have added config flag to activate or deactivate the marketplace&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Updated docker image which now contains all apps and adapter&lt;/b&gt;
        &lt;p&gt;We have improved our docker image which now contains by default all apps. Previously we have installed the
        apps dynamically on start up but this makes it more difficult to run a container in a restricted environment.
        Now the image contains all apps and the marketplace is deactivated. If you need other apps you need to include
        them in the image&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Include Swagger-UI in developer portal&lt;/b&gt;
        &lt;p&gt;We have included the Swagger-UI app into the developer portal which makes it more easier for users to
        explore your API&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Updated help in backend app using now our docs.fusio-project.org website&lt;/b&gt;
        &lt;p&gt;We have migrated all of our documentation to the new &lt;a href="https://docs.fusio-project.org/"&gt;docs.fusio-project.org&lt;/a&gt;
        website which is now also embedded into the backend app&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Improved file upload handling&lt;/b&gt;
        &lt;p&gt;We have improved the way how to handle file uploads at an action&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;b&gt;Add files directory routes provider and actions&lt;/b&gt;
        &lt;p&gt;It is now possible to create a REST API based on a folder. This can be helpful in case you want to expose a
        directory of i.e. CSV files&lt;/p&gt;
    &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So we hope that you like this release and we are really happy and excited about the future of Fusio.&lt;/p&gt;

&lt;p&gt;Besides all those technical changes we have also greatly improved the content of our &lt;a href="https://www.youtube.com/c/FusioAPI"&gt;YouTube channel&lt;/a&gt;
and &lt;a href="https://docs.fusio-project.org/"&gt;documentation website&lt;/a&gt; which should help all users to work with Fusio.
All our websites are complete open so please feel free to make any changes in case you have found an error or you want
to improve the documentation.&lt;/p&gt;</content>
  </entry>
</feed>
