Skip to main content

Delivered (Currently Alpha Release)

26

Under consideration

Planned Features

[NEW] Added registration / login based on Auth0

pladynski
Planned Features

Automated resolution of Hypertube Dependency from Graftcode Registry for other than Nuget technologies

With this improvement whenever you pull Grafts with any Package Manager other than Nuget you will not need to explicitly pull the Hypertube dependency (currently you need to manually make i.e. npm install javonet-nodejs-sdk prior to any graft resolution)

Graftcode
Planned Features

Release of the Authorization header support

With this release we are planning to provide support for HTTP headers for edge client connections based on HTTP/2 or Websocket channels allowing for passing any header related information as well as Authorization header with either JWT, Basic, API Key etc.. and full support of injecting this state into standard HTTP context on called side allowing for Authorization headers functionality

pladynski
Planned Features

Support for TCP/IP Protocol

In addition to Websocket Secure presented in PMF demo, November release introduces full support for direct TCP/IP TLS channel.

pladynski
Planned Features

Removed all dependencies required to install Graftcode Gateway

With this release Graftcode Gateway on all platforms will be installable without the need to install any prerequisite dependencies.

pladynski
Planned Features

Add cors parameter to Graftcode gateway

Allow configuring cors for graftcode gateway so it’s sent for http/2 preflight options or validated for websocket

Graftcode
Planned Features

MCP Config in Vision Portal

Adding MCP config in vision portal installation command widget we will make it super easy copy-paste only step to get ready config to paste in your chatgpt, postman or Claude to connect with MCP server exposing your public methods from modules hosted in Graftcode Gateway.

Graftcode
Planned Features

Support for HTTP/2 as communication protocol

With this feature you will be able to use not only websocket and TCP/IP but also HTTP/2 multiplexed streams as communication channel for edge clients using Grafts.

Graftcode
Planned Features

Settings section for Account, Workspace and Project

Surprising its still not there but we are in alpha so everything can happen! With this feature you will be able to manage your account details and same for workspace and project.

Graftcode
Planned Features

Filter types support in Gateway

If you don’t want to publish all your public methods you will be able to use filter to select one or multiple types that should be exposed as grafts. Library with applied filter will have special suffix with short hash of filter and ensure same filter for same lib will always produce same module name.

Graftcode

Coming Next (Upcoming Beta Release)

11

Committed and queued

Planned Features

Enhanced logging - Full support for OpenTelemetry Monitoring and Observability with TraceID and SpanID

Now you will be able to pass custom logger to imported Graft and it will be used to report all operation on Graft, logs from sending request and retrieving results. Graftcode Gateway will support custom loggers too allowing you to continue logging on server side up to your business logic preserving Span and Trace so all logs will be fully correlated.

pladynski
Planned Features

Support for using calling technology classes wrapping value types (i.e. Date)

Now calling technology will be able to use local classes that wrap value types like Date, Color, Point and passing them to target service or runtime will automatically convert them to target technology wrappers by passing value of ticks, Hex, X,Y etc…

pladynski
Planned Features

Starting Graftcode Gateway from currently running process

With this feature graftcode will allow to expose graftcode endpoints without launching server on GG but instead adding graftcode as project dependency and starting it from the runtime of process launched on another middleware or app server.

Graftcode
Planned Features

Grafting async methods to async grafts

With this capability method with async will graft as async and will allow for invocation over sync or async channel correctly translating code to real transport

Graftcode
Planned Features

Support for Grafting stream and multi-out result

With this capability Graftcode will support grafting and keeping connected streams returned between runtimes and allow for multi out writes to client.

Graftcode
Planned Features

Grafting Methods Comments

Method comments will be passed to grafts and MCP tool definitions.

Graftcode
Planned Features

More frontend frameworks in academy

Academy will soon show samples on vue, angular, nextjs, vanillajs and webassembly, svelte, solidjs, Astro, qwik, preact

Graftcode
Planned Features

Modules and Runtimes list for Gateways

With this feature your gateways details panel in servicemap and gateways section will start presenting which runtimes are running on specific gateways and what modules are hosted there and in which version.

Graftcode
Planned Features

Activity Feed - Stay Informed

With Activity feed in portal you will be notified about each event across your projects, when new gateways are started, once new modules are hosted, new versions released or grafts pulled. Everything will get highlighted right on your dashboard.

Graftcode
Planned Features

ServiceMap in Portal - See Gateways you started and details of communication

With this feature you will be able to see every Graftcode Gateway you have started on single map visualization in portal. You will find there runtimes launched, modules hosted and details of communication between clients and this node. If you want to bypass Graftcode you can always set only your own monitoring and observability tools and stop sending data to our endpoints.

Graftcode

Mid-Term

20

Actively being built

Planned Features

Support for mTLS

With this feature Graftcode will allow you to use mutual TLS authorization.

Graftcode
Planned Features

Greedy Filter and Missing type message

With this feature Graftcode Gateway will notify on console if your filter exposes class that references other types which are not exposed yet in filter. You will have option either to add them as error will explain OR use greedy filter which pulls all references automatically.

Graftcode
Planned Features

Grafted Service Discovery Endpoint

With this feature Graftcode vision will start exposing standardized path where AI Agents and developers will be able to technically test if service is grafted and will learn structure of methods exposed and install commands for grafts per each tech.

Graftcode
Planned Features

Code Signing for Graftcode Gateway

To ensure smoother download and pass through OS gatekeepers for our Graftcode Gateway we are planning to start signing the binaries to increase filter trust.

Graftcode
Planned Features

Use Cases Dedicated Landing Pages in HomePage

With this feature Graftcode.com will show you all the details per each critical use case where you can apply graftcode.

Graftcode
Planned Features

Sample Real Production Project in Each tech pair

Our Academy will start presenting sample projects with frontend, jwt authentication, stateless backend, and queue between microservices, exposed public api and dependency injection and mixed modules in specific services so you can easily apply graftcode into your project. All of that with great OpenTelemetry support. Sample will show also signalR like bi directional connection and streaming sample.

Graftcode
Planned Features

Examples with complex objects in stateless in arguments and results as part of quick start guide

With this quick start guide will show you how to work in stateless with complex objects. It works now but good sample is worth more than promise ;)

Graftcode
Planned Features

CLI for generating grafts

tool for generating graft for local library without hosting it on graftcode gateway it will support polyglot monolith workflows to get locally command to install package via graft to allows future decomposition or to host multi tech in one process

Graftcode
Planned Features

Official docker images with Graftcode Gateway

We are planning to start publishing official forks of know containers for python, ruby, php, node, netcore, jvm with predownloaded Graftcode gateway to simplify your dockerfiles even further.

Graftcode
Planned Features

Centralized and standardized exceptions for network related events

We are planning to work on standardizing and providing centralized interception/middleware of network related events like: connection lost, timeout, target memory recycled, host not available Graftcode Network Exceptions Client-side Exceptions (thrown in the generated Graft client): GraftConnectionRefusedException – Thrown when the remote Graftcode Gateway cannot be reached or is not listening on the configured endpoint (service down, incorrect host/port, or firewall blocking). GraftConnectionTimeoutException – Connection attempt to the remote Graftcode Gateway timed out. GraftUnknownHostException – DNS resolution failed for the target hostname. GraftConnectionResetException – Connection was forcibly reset by the remote peer (common after service restart, crash, or load balancer drop). GraftReadTimeoutException – Timeout occurred while waiting for a response from the remote method. GraftWriteTimeoutException – Timeout occurred while sending the invocation request. GraftTlsHandshakeException – TLS/SSL handshake failed (applies to wss:// endpoints). GraftCertificateValidationException – Server certificate validation failed (expired, self-signed, hostname mismatch, or untrusted CA). GraftWebSocketUpgradeFailedException – Failed to upgrade the HTTP connection to WebSocket. GraftProtocolViolationException – Received malformed or invalid binary data according to the IIP/Hypertube protocol. GraftInvocationTimeoutException – Remote method execution exceeded the configured timeout on the server side. GraftDeserializationException – Failed to deserialize the response received from the remote service. Gateway-side Exceptions (thrown by Graftcode Gateway gg): GraftPortBindingException – Failed to bind to the configured port (port already in use). GraftPermissionDeniedException – Insufficient permissions to bind to a privileged port (< 1024). Base Class Recommendation All network exceptions inherit from GraftNetworkException for unified handling and easy distinction between transient and permanent errors.

Graftcode

Long-Term

13

Recently shipped

Planned Features

Support for grafting events and allowing to subscribe them remotely

With this feature graftcode will start grafting events and delegates allowing client in statefull mode to subscribe to server side and keep getting notified whenever event or delegate is triggered achieving full bi-directional SignalR like real-time communication.

Graftcode
Planned Features

REST pass-through

With this feature you will be able to add graftcode.gateway as dependency to your existing REST enabled project (ASP.NET MVC, Spring, Flask) and route selected path like POST /graft payload directly to graftcode interpreter for Graftcode related processing. In this way you can co-host stateless graftcode functionality within your existing REST interfaces endpoint.

Graftcode
Planned Features

Add support for exposing directly Databases with RLS instead of modules via GG

With this feature GG will allow you to point database connection string instead of modules and Graftcode will automatically expose CRUD operations protected with RLS to specified target database.

Graftcode
Planned Features

Adding Graftcode Gateway as project dependency

With this feature, you will be able to add graftcode gateway as project reference (in .NET, Java, node, ruby, php etc..) and initialize it from your starting class in your project similar to regular REST framework like spring, flask, asp.net mvc. GG will automatically extract and load into memory required native components preserving your launch command the same as before using graftcode.

Graftcode
Planned Features

Provide GG as managed code dependency

With this enhancement for single runtime use case you will be able to add and use Graftcode Gateway as your project dependency and keep your root process untouched. There will be possibility to set it up at startup of your app in code.

Graftcode
Planned Features

Provide global in-code point to set Grafts connection strings

Graftcode
Planned Features

Support React Native as calling technology

Graftcode
Planned Features

Support for Swift as calling technology

Graftcode
Planned Features

Support for Flutter/Dart as calling technology

Graftcode
Planned Features

Min or Must Have Min Graft Version on Gateway

With this feature Graftcode Gateway will allow you to indicate the minimal or mandatory minimal version of the grafts to interact with the service and will cause the exception in case user tries to connect using older version of graft.

Graftcode