Release notes follow the keep a changelog format.
- Created a new package
@quatico/magellan-starter
containing templates for different frontend frameworks. The package contains a binarycreate-magellan
that guides the user through the process of scaffolding the template in a directory of choice. Currently, the following templates are available:react-typescript-webpack
: a simple React application using Typescript and Webpack
formdata-fetch
: improved endpoint validation for absolute and relative urls. Invalid URLs now throw an exception.
- Breaking Change: The functions
addTransport
andaddTransportIfAbsent
have been removed from the public API. Please usesetTransport
instead.setTransport
will replace the transport handler if it already exists, or add it if it does not. - Breaking Change: The functions
addNamespace
andaddNamespaceIfAbsent
have been removed from the public API. Please usesetNamespace
instead.setNamespace
will replace the namespace mapping if it already exists, or add it if it does not. - Breaking Change: The function
applyExecutionContext
has been removed from the public API.
- Fixes
resolveNamespace
with custom namespace input returning default namespace and transport if custom namespace could not be resolved. The function now throws an error that the configuration for the custom namespace could not be found.
- Support for BigInt serialization and deserialization.
- Rejects promise if transport failed (response not ok) in formdata-fetch (server and client). Previously, we attempted to retrieve the response as text even if the response was not ok.
- Upgraded TypeScript dependency to
5.0.x
- Upgraded
@quatico/websmith-*
dependencies to0.4.0
- Made the client transformation code more strict. Throws an error during the code generation if the client function accepts a destructured object or a function as parameter.
- Removed
packages/java
focusing the project on nodejs. - Removed unused code and dependencies.
- Support for
merge: true
in@quatico/magellan-client/transport/config.js
to merge the configuration with the existing configuration of a previous magellan-client frontend instead of replacing it.
- Updates @quatico/magellan-client documentation to current transport configuration.
- Exposing additional server api aspects to enable custom express server usage with Magellan
- Remove maven-frontend-plugin dependency from Serialization maven package.
- Serialization and deserialization errors during transport-request handling reject the promise.
- Removes unnecessary dependency to maven-flatten-plugin in serialization package.
- Support --transpileOnly command line flag for
magellan compile
- Update to websmith v0.3.5 addressing the undesirable error output.
- Separate lint and lint:fix: pre-commit hooks now fix linting; CI only validates that the linting rules are followed.
- service functions throwing errors now yield a rejection of the client promise with the error message.
- service functions throwing errors now yield a console.error with the error stack on the client if the server is not in production mode.
- magellan-server has tslib as production dependency to ease integration in custom servers.
SPA Routing
- Wildcard paths not pointing to static files now redirect to the static root path.
Additional supported serializations
- Implements date transport support for LocalDate and LocalDateTime.
- Implements logic to handle incomplete replacement transport configurations.
Initial Release
- (Almost) invisible transport layer between browser and JVM
- Effortless configuration of service endpoints
- Automatic serialization of input/output values
- Transparent error messages and exception handling