Releases
Release notes follow the keep a changelog format.
[Unreleased]
[0.16.1] - 2025-08-11
Added
@quatico/magellan-cli: Added file path support for selective compilation - allows targeting specific files for compilation- Enhanced Watchman integration with custom management scripts and configuration
- Added comprehensive Watchman management documentation and development setup scripts
Changed
@quatico/magellan-addons: Improved error handling and configuration management for addon directories@quatico/magellan-cli: Enhanced CLI argument handling for--clientand--serveroptions- Upgraded Express dependency to v5 and websmith to v0.7.12
- Separated client and server addon functions with improved unit test coverage
Fixed
@quatico/magellan-cli: Fixed CLI issues with overriddenaddonsDirand addon configuration from config files@quatico/magellan-cli: Fixed argument parsing for client and server compilation modes- Resolved test failures after Express upgrade
- Fixed flaky tests by separating test-output folders
Removed
- Removed end-to-end tests for addons that were replaced with more comprehensive unit tests
[0.16.0] - 2025-07-25
Added
@quatico/magellan-cli: Added CLI server and client tests for comprehensive coverage@quatico/magellan-cli: Introduced compile command functionality for better build control@quatico/magellan-cli: Added webpack configuration for improved bundling@quatico/magellan-test: Added comprehensive Jest-based CLI testing (cli.test.ts)
Changed
- BREAKING:
@quatico/magellan-cli: Replaced esbuild with webpack for CLI package bundling - BREAKING:
@quatico/magellan-cli: Replaced Test-CLI with direct tests for CLI - BREAKING:
@quatico/magellan-cli: Replaced generic CLI with specific client/server compilation commands - Upgraded
@quatico/websmith-*dependencies to0.7.6(through versions 0.7.3, 0.7.4) @quatico/magellan-addons: RenamedAddon.tstobase-transformer.tsto prevent bogus warnings@quatico/magellan-test: Moved mocked fs from all tests to server tests only- Improved packages.json structure and tsconfig excludes across packages
- Updated TypeScript versions alignment across packages
Removed
- BREAKING:
@quatico/magellan-cli: Removed ts-node dependency - CLI now runs without ts-node - BREAKING:
@quatico/magellan-test: Removed Cucumber and BDD scenarios from the project - BREAKING:
@quatico/magellan-test: Removed cucumber feature files and step definitions @quatico/magellan-test: RemovedServerRunner.ts(replaced withTestServerRunner.ts)
[0.14.2] - 2025-04-08
Changed
- Replaced
yarnwithpnpm - Replaced
@swc/jestwithts-jest - Upgrade to
eslintv9
[0.14.1] - 2025-04-02
Added
@quatico/magellan-shared: Now supports context management across service calls by providing event-based context updates usingClientContextChangedEvent.@quatico/magellan-client: NewClientContextHandlerfor managing client-side context. It enables storing and retrieving per-namespace context information (e.g., a request identifier or custom header which should be provided to eachremoteInvokecall). Also, if registered theClientContextHandlerlistens for context updates propagated using theClientContextChangedEvent.
[0.14.0] - 2025-03-29
Added
@quatico/magellan-shared: NewContextsystem with generic interfaces for client and server contexts@quatico/magellan-addons: Validation for service function imports to ensure bothContextandSerializationare properly imported
Changed
- BREAKING:
@quatico/magellan-shared: RemovedExecutionContexttype - BREAKING:
@quatico/magellan-clientand@quatico/magellan-server: Removed theContextinterface - BREAKING:
@quatico/magellan-addons: RemovedTransformationArgumentsinterface @quatico/magellan-addons: Updated transformer implementations to validate required imports@quatico/magellan-addons: Reformed client transformer to produce context-aware service function calls@quatico/magellan-addons: Reformed server transformer to handle context parameters
Fixed
@quatico/magellan-addons: Enforced proper imports for service functions to prevent runtime errors@quatico/magellan-addons: Fixed error handling in transformer functions@quatico/magellan-clientand@quatico/magellan-server: Fixed headers assignment in network requests to correctly use client headers
This update represents a significant overhaul of the context management system, enabling better type safety and separation of client and server concerns.
BREAKING: Service functions now require explicit imports for Context and Serialization types, and transformers validate these requirements.
[0.13.0] - 2025-02-20
Changed
- Breaking Change: All dependencies apart from
@quatico/magellan-clihave all their dependencies move from bundled to peer dependencies. - Breaking Change:
@quatico/magellan-addons:client-function-transform- now removes all code from generated/transformed client-side service function files that are not the service functions themselves. This includes all imports, exported and non-exported code. @quatico/magellan-addons:client-function-transform- changed behaviour.functionsDiris no longer required. All source files are checked for@service()decorators.@quatico/magellan-addons:serivce-function-generate- changed behaviour.functionsDiris no longer required. All source files are checked for@service()decorators.
[0.12.0] - 2025-02-14
Fixed
- Breaking Change: Removed short options from CLI commands. Fixes bug when using
-pfor both--projectand--port. Use long options--project <path>and--port <port>instead.
Changed
- Breaking Change: Only Node.js 18 or higher is supported.
- Upgraded
@quatico/websmith-*dependencies to0.6.3 - Upgraded
commanderto12.1.0 - Upgraded
minimistto1.2.8
Removed
- Removed
node-fetchas a dependency as Node.js 18 and above have it built-in. - Removed
form-dataas a dependency as Node.js 18 and above have it built-in. - Removed
morganas it was not used.
[0.11.2] - 2024-11-15
Added
- Created a new package
@quatico/magellan-startercontaining templates for different frontend frameworks. The package contains a binarycreate-magellanthat 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
[0.11.0] - 2024-11-15
Fixed
formdata-fetch: improved endpoint validation for absolute and relative urls. Invalid URLs now throw an exception.
Changed
- Breaking Change: The functions
addTransportandaddTransportIfAbsenthave been removed from the public API. Please usesetTransportinstead.setTransportwill replace the transport handler if it already exists, or add it if it does not. - Breaking Change: The functions
addNamespaceandaddNamespaceIfAbsenthave been removed from the public API. Please usesetNamespaceinstead.setNamespacewill replace the namespace mapping if it already exists, or add it if it does not. - Breaking Change: The function
applyExecutionContexthas been removed from the public API.
[0.10.0] - 2024-09-20
Fixed
- Fixes
resolveNamespacewith 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.
[0.8.0] - 2024-06-18
Added
- Support for BigInt serialization and deserialization.
[0.6.2] - 2024-03-25
Fixed
- 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.
[0.6.1]
Changed
- 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
- Removed
packages/javafocusing the project on nodejs. - Removed unused code and dependencies.
[0.3.0]
Added
- Support for
merge: truein@quatico/magellan-client/transport/config.jsto merge the configuration with the existing configuration of a previous magellan-client frontend instead of replacing it.
Changed
- Updates @quatico/magellan-client documentation to current transport configuration.
[0.2.2] - 2023-02-26
Changed
- Exposing additional server api aspects to enable custom express server usage with Magellan
- Remove maven-frontend-plugin dependency from Serialization maven package.
[0.2.1] - 2023-02-07
Added
- Serialization and deserialization errors during transport-request handling reject the promise.
Fixed
- Removes unnecessary dependency to maven-flatten-plugin in serialization package.
[0.2.1] - 2023-02-07
Added
- Support --transpileOnly command line flag for
magellan compile
Changed
- 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.
[0.2.0] - 2022-12-14
Added
- 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.
Changed
- magellan-server has tslib as production dependency to ease integration in custom servers.
[0.1.4] - 2022-11-08
SPA Routing
Added
- Wildcard paths not pointing to static files now redirect to the static root path.
[0.1.3] - 2022-08-04
Additional supported serializations
Added
- Implements date transport support for LocalDate and LocalDateTime.
Fixed
- Implements logic to handle incomplete replacement transport configurations.
[0.1.0] - 2022-07-29
Initial Release
Added
- (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