All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Bumped Graal to 23.0.2
- Bumped vertx to 4.5.1
- Bumped Graal to 23.0.1
- Bumped vertx to 4.4.3
- Bumped Graal to 22.3.2 LTS
- Bumped Graal to 22.3.1 LTS
- Bumped vertx to 4.3.8
- Bumped Graal to 22.3.0 LTS
- Bumped vertx to 4.3.4
- Fixed bug where spaces were not allowed on CWD
- Update CI as latest graal will not include
js
by default - Update docs for latest graal
- Added new module
@vertx/uri-template
- Force commonjs loader to be synchronized
- Bumped graal to 22.1.0
- Bumped vertx to 4.2.7
- Given that graaljs no longer supports java8, we bump the minor
- Bump graaljs to 22.0.0.2
- codegen: fix imports on options
- structured clone: fix handling of graal proxy objects
- polyfill: same type coercion for globals as defined in MDN
- commonjs: loader will also work for
.json
files onnode_modules
- graaljs: 1 instance per verticle to avoid cross thread access
- Bump vert.x to 4.2.5
- Bump vert.x to 4.2.4
- Bump graaljs to 22.0.0
- bare specifiers are now resolved using es4x rules, not relative to working dir
- verticle start run on event loop to avoid threading issues
- Debug manual updated to reflect current state of debugging on vscode
- Manual now includes section on hot-reload
- Bump vert.x to 4.2.3
- CI runs and passes on Windows, MacOS and Linux
- Updated started docs
- Fixed debugger properties
- Bump vert.x to 4.2.2
- Pretty print polyglot exceptions so IDEs can track back
- Allow multiple maven repositories (comma separated)
- Bump vert.x to 4.2.1
- Fixed codegen for data objects to properly handle collection types
- ES start module can now run from sub directories
- Define
global
andself
objects to better work with libraries likeRx
- Start script file is adapted to a absolute or relative path to avoid ambiguity with bare modules.
- Ensure that
config
is available on any script asconfig
global.
- Bump graaljs to 20.3.0
- Bump vert.x to 4.2.0
- Added new vert.x modules
- Bumped dependencies (dependabot)
- Removed nag about no compiler, as graal does it for us
- PM can now run without NPM
- ES fixes for generated code
- Re-enabling manual generation
- Added a CoC
- FileSystemResolver will use import maps when available
- Started implementing support for import-map
- Dockerfile will not use jlink to avoid build problems
- Bumped vert.x to 4.1.0
- Add support for bash completions
- Fixed some potential leaks on PM
- Upgrade to Graal 21.1.0
- Install command respects the --dest parameter
- Deployment of verticles happens inside an execute blocking so downloads/read of scripts won't block the event loop
- Bumped vert.x to 4.0.3
- Bumped graalvm to 20.3.1.2 (LTS)
- Fix HttpMethod missing constants
- Bumped vert.x to 4.0.2
- Bumped vert.x to 4.0.1
- Avoided deprecated API
- Bumped graalvm to 20.3.1 (LTS)
- Several TSC fixes for missing (non annotated API)
- Error messages updated to be easier to follow
- Silent install should not take other commands arguments
- Fix wrong guard on install command
- Started paving the way for the
install
command to allow other target thannode_modules
- Implemented the official
import-map
spec to map url based modules - Improvements on REPL
- Added more interop tests
- Improvements on
typeMappings
(calls from JS -> Java) - Update codegen for the upstream changes in
vertx-core
- Ensure that wrapped calls are correctly translated (Future related)
- Adapt codegen to transform
Future
toPromiseLike
- Re-enabled support for shebang
- Reduce PM package size by 600Kb
- Bump ASM to 9.0
- Sync modules with upstream
- Bump vert.x to 4.0.0.CR1
- Fix jlink to work with multi-release-jars
- Upgrade to vert.x 3.9.4
- Fix detecting GraalVM version on GraalVM JDK8
- Lax the requirement of running
es4x install
, if missing will be called before run
- Upgraded vert.x to 3.9.3
- PM will warn about misalign Graal version
- New docs explaining the details of ES4X
es4x-pm
npm renamed to@vertx/create
- Upgraded vert.x to 3.9.2
- shutdown hook can be async now
- Initial support for web modules
- Allow custom logging from
logging.properties
- Upgraded vert.x to 3.9.1
- Upgraded graalvm to 20.1.0
- PM can generate
security.policy
files to sandbox an application - Allow
.d.ts
generation from plain java classes - Added interop for
byte
type - Docgen fixed
enum
to use proper enums, not string values - Added interop with
Set
- Fixed overrides on
pg-sqlclient
- Added support for graphql vert.x module
- Replaced complex console code (which didn't work properly) with a logger
- All logging is now happening with loggers, so they can be enabled or disabled
- Upgraded vert.x to 3.9.0
- Added
typedef
to generated js files to better hint IDE support - Correctly identify graal 20 so
jvmci
hiperf compile is activated - Implemented vert.x
docgen
to allow generate manuals for modules - Created simple React SSR example
- Bumped graalvm to 20.0.0
- Graal FS Resolver will allow other files than just js (require for graal 20)
- Fixed interop with
Buffer
(Java <=> JS) - exposed java
Throwable
as a type toJS
alias for non instantiableError
- fix resolver with credentials to process data as UTF8
- VM version added to the
versions
command - New utility for proxies ASM
- generated code moved to
target
- Update graal to 19.3
- Removed promise polyfill (not needed anymore)
- Update vert.x to 3.8.5
- Upgraded Graal to 19.3.0
- Upgraded Vert.x to 3.8.4
- Many fixes on module generation reported by
tsc
- Some modules still fail with
tsc
(but fixes have been pushed upstream) es4x
script will also takeJAVA_OPTS
into consideration when running- Build now confirmed to work on
aarch64
- Moved
runtime.d.ts
toes4x.d.ts
and integrated the missing internal modules too. - The internal modules can now also be used from
.mjs
- Bump
vertx
to 3.8.3 - Fixed jlink split package warning failing the build (ignored for now)
- Added row override for sql-client (will fix TS errors on next vert.x release)
- Fix npm package license (SPDX format)
- Upgrade build plugin versions
- Added a stack package to allow usage from maven/gradle
- Bumped GSON
- Fix Multi Thread regression on 0.9.2
- Reduced PM size from 11MB to 4MB
- PM package doesn't depend on GraalVM to run
- Reduced code
- Bumped Vertx to 3.8.2
- Bumped Graal to 19.2.0.1
- Fix script issues with PM
- Fix TypeScript definitions that overlapped due to same class name
- Fix issue with
pm
launcher that doesn't add itself to the classpath - Fix issue with
pm
lancher that picks the wrong java ifGRAALVM_HOME
was defined - Moved
esm
,polyglot
, etc... run flags to jvm flags in order to be usable from any command - Updated codegen to support more temporal types as they are supported by graal itself
- Added a few more tests to ES4X
- Instrumented
JsonObject
to be a GraalProxyObject
(this allows using it as a native object) - Instrumented
JsonArray
to be a GraalProxyArray
(this is a preparation for hanlding it as a native array)
- Upgrade to Graal 19.2.0
- Upgrade to Vert.x 3.8.1
- New website that allow multi language
- es4x command can now merge the classpath of the project allowing sharing commands during development
- ES4X commands are now properly registered using the service loader
- A new flag
--polyglot
enables GraalPolyglot
access - A new flag
--prefix
allows usage from outside theCWD
- Generator fixes to allow easier builds
- Fix broken redeploy/start command.
- Fixed missing pom from maven central
- Fixed start scripts for Windows
- Fixed es4x npm installer for Windows
- Added support for vendor jars
- Started removing abstraction code needed during nashorn time
- Added support for vert.x Future/Promise as JS Thenable
- Simple ESM module app boots
- VSCode command generates a working debug config
- Debugger is working again
- Ugrade to Vert.x 3.7.1
- Avoid calling graaljs APIs from the EventBus codec
- Global log formatter used across graal and vert.x
- Fixed EventBus codec for Graal objects
- Removed Nashorn
- Update to Graal 19.0.0
- Verticle events are now triggered from the
process.on
event emitter. - Updated to Graal rc16
- Removed
es4x-cli
as it has been replaced withes4x-pm
- ESM resolver can resolve npm modules that declare a
module
property.
- Fixes bash script for debian like systems
- Added a
version
command to list all versions - Added a
jlink
command to create slim packages - Updated dependencies
- Added
vscode
command to generate launcher scripts - Update to graal rc14
- Added support for TypeScript
- Fixed pm to work with symbolic links
- new PM sub project to replace
es4x-cli
- upgrade vertx to 3.6.2
- Fixed issue loading JMVCI when missing compiler jar
- fixed typpo locating the process id
- add a package flag to build a docker image
- new website and docs
- Upgraded to Vert.x 3.6.0
- Code gen extracted to own module
- Added a package command to package either fat jar or a JVMCI fat jar.
- Fix issue preventing GraalJS running on OpenJ9
- Allow specifying absolute path as start module
- implemented module aliases
- fixed node inspector paths for debugging
- fixed runtime definitions
es4x-cli
has less dependencies and can be used bynpx
vertx-scripts
has been replaced byes4x-cli
- Decoupled Codec from the engine (avoids calls on the wrong context)
- Several clean ups
- Small fixes in order to get demos running
- Bump
pg-reactive-client
to 0.10.3 - Fix
parsePaths
to properly convert slashes on windows. - Unit tests are now fully async and do not lead file descriptors.
- Added a shortcut (
engine
) to theprocess
object with the engine name. - Fix
util.promisify
on Graal when dealing with Java Objects. AsyncError
helper to stitch asynchronous exception stacktraces.
- Added docs about Worker and Graal
- Code clean ups
vertx-scripts
will installmvnw
by default (for Graal users, this means there are no extra dependencies needed to run or develop ES4X)Worker
API following the Ecma Interface will off load to worker verticles.- Bump Vert.x dependencies to 3.5.3
- Bump
pg-reactive-client
to 0.9.0 - Fix build to always target
JDK8
making it possible to use onJDK>=8
andGraalVM 1.0.0
vertx-scripts
can generate basic native images- Added
[email protected]
- Bump Vert.x dependencies to 3.5.2
- REPL support for both Nashorn and Graal
- Added
Dynalink
to anyDataObject
- Type definition for
process
- Loader updated to switch from
Nashorn
/GraalVM
depending on the runtime - Fix Console
format
to not crash when handling unsupported types - Added a Changelog
- Implemented
util/promisify
similar to node - Added
process.nextTick
wrapper - Added support to mix manual content to the typedoc/npm main page
- Codecov support to the build system
- Initial Release