Releases
Release notes follow the keep a changelog format.
[Unreleased]
[0.18.3] - 2025-11-21
Automatic index generation for client proxy functions.
Added
@quatico/magellan-addons: AddedClientIndexGeneratorResultProcessor that automatically generatesindex.jsandindex.d.tsfiles with re-exports of all transformed client proxy functions@quatico/magellan-addons: Enhanced barrel file detection with support for nested barrel files, circular dependency protection, and index file resolution (./foo→./foo/index.ts)
Changed
@quatico/magellan-addons: Barrel files with service re-exports are now explicitly marked as addon-processed usingmarkFileAsAddonProcessed()for proper emission inaddonEmitOnlymode- Upgraded
@quatico/websmith-*dependencies from 0.8.4 to 0.8.5 - Upgraded TypeScript from 5.1.6 to 5.7.3
[0.18.2] - 2025-11-20
Barrel file handling support for service function re-exports.
Changed
@quatico/magellan-addons: Enhancedclient-function-transformtransformer to detect and process barrel files that re-export service functions, ensuring proper client-side code generation for re-exported service functions
[0.18.1] - 2025-11-20
Changed
@quatico/magellan-cli: Upgraded@quatico/websmith-*dependencies from 0.8.3 to 0.8.4
Fixed
@quatico/magellan-cli: Fixed issue withaddonsDirpath resolution - user-provided paths via CLI are now correctly treated as file system paths instead of module paths, ensuring proper handling of relative and absolute paths
[0.18.0] - 2025-11-19
Added
@quatico/magellan-cli: Added--addonEmitOnlyflag support for optimized compilation output - only emits files that were transformed by addons- Architecture analysis scripts (
analyze-architecture.mjsandgenerate-architecture-diagram.mjs) for exploring and documenting codebase architecture
Changed
@quatico/magellan-cli:--clientand--serverflags now automatically enable--addonEmitOnlyand--transpileOnlyfor optimal development workflow with websmith 0.8.3@quatico/magellan-cli: Upgraded@quatico/websmith-*dependencies from 0.7.x to 0.8.3@quatico/magellan-addons: Refactored base transformer to return original content when profileConfig is missing or undefined
Fixed
- Fixed code compliance with new websmith 0.8.x API changes
- Enhanced documentation and tests for service function hooks with comprehensive examples
[0.17.0] - 2025-10-14
Added
@quatico/magellan-react: Added two react hooks for service functions,useQueryServiceanduseMutationService@quatico/magellan-react: Added comprehensive state flags for better state management (isPending,isLoadingError,isRefetchError,isIdle,status)@quatico/magellan-react:useQueryServiceanduseMutationServiceuse options objects for improved type inference and API consistency:useQueryService(serviceFn, { serviceFnArgs: args, queryKey: 'custom-key', queryOptions: { enabled: true } })@quatico/magellan-react: Added customQueryClientsupport inuseQueryServicehook for better integration with existing TanStack Query setups
Changed
@quatico/magellan-react: AligneduseQueryServiceanduseMutationServicereturn types with TanStack Query's discriminated union pattern for improved type narrowing
[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