Skip to content

Commit

Permalink
New minor release
Browse files Browse the repository at this point in the history
Added release notes.

Signed-off-by: Mike Lischke <mike@lischke-online.de>
  • Loading branch information
mike-lischke committed May 21, 2024
1 parent 593788a commit 173c47e
Show file tree
Hide file tree
Showing 4 changed files with 67 additions and 1 deletion.
1 change: 1 addition & 0 deletions .npmignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,4 @@ jest.config.ts
coverage/
src/
tests/
lib/**/*.map
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "jree",
"version": "1.2.2",
"version": "1.3.0",
"description": "Java Runtime Environment Emulation",
"homepage": "https://soft-gems.net/",
"repository": {
Expand Down
4 changes: 4 additions & 0 deletions readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,10 @@ See the [Types List](doc/jre.md) for the currently implemented classes and read

The JREE runs in both, Node.js and a browser. Certain classes use Node.js code currently (e.g. file system or path). The System class imports dependencies dynamically and fills its properties either from the browser environment or Node.js. The File class, however, cannot be used in a browser. Solve this by using a bundler like `rollup.js` or `Webpack`. That should tree-shake this class out or you can provide a shim for the used node package for the bundling process.

## Release Notes

For release details see the [Release Notes](release-notes.md) file

## Development and Contribution

The development process used in this repo is pretty simple. There are a number NPM scripts for building, linting and testing the classes. Run `npm run build` to have typescript create the `lib` folder as it is used in the node module. Execute `npm run test-coverage` to run all unit tests and print some coverage info.
Expand Down
61 changes: 61 additions & 0 deletions release-notes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# Release Notes

## 1.3.0

- Improved documentation.
- Reworked some initialization code to avoid circular dependency errors at runtime. Started using type imports to help with that.
- Changed copyrights so they no longer include years. Instead there's a separate license file with that info.
- Bug fixes.

- Added AtomicBoolean, AtomicInteger, ClassCastException, StackoverflowError, IntBinaryOperator and IntUnaryOperator classes/interfaces.
- Enhanced Boolean, Integer and Long comparison methods to handle also primitive values.
- The Set<T> interface is now completely defined .
- Changed all functional interfaces to use a call signature, which makes it easier using closures as such an interface. No need for the creation functions anymore.
- Started adding null pointer exceptions for null parameters in certain places. More to come probably.
- Added a number of methods in some classes which are used in the tests.
- Made java.util.Comparator a real functional interface (alike).
- Added decorators for org.testng.annotation.Test and .DataProvider.
- Added more code for the TestNG functionality. That included extending the test decorators to support more parameters (description. enabled, timeout) and support of data providers.
- For better integration with Jest an own matcher was added to compare Java objects.
- Improved the TestNG decorators to accept expected exceptions and different data providers (arrays vs. iterators).
- Added java.lang.ref.Reference and java.lang.ref.WeakReference classes + documentation.
- Added java.util.function.BiFunction + documentation.
- Added java.lang.ArrayStoreException + documentation.
- Removed all java.lang.String references from java.lang.Throwable, as that created a (new) circular dependency (when some exception handling was added to the string class). Instead TS strings are used in Throwable.
- Added default methods of the java.util.Map interface + some more static methods.
- Added implementation for the @Override decorator.
- Added JDK HashMap unit tests.

## 1.2.2

A test release to troubleshoot a problem on npmjs.com.

## 1.2.1

Using type = "module" in package.json makes this node package using ESM, which in turn produces problems when importing it in other Node.js projects. Until Node and Jest fully support ESM we stay with CommonJS.

## 1.2.0

* Added new JDK classes.
* Changed all Uint8Array occurrences to Int8Array, because the byte type is signed in Java.
* More functionality in existing classes.
* Added type aliases for all primitive types, for use instead of number.
* Updated dependencies.
* All APIs that accept a java.lang.String now also accept a Typescript string, to ease usage.
* Started converting JDK tests suites to Typescript, to be used as unit tests for jree.

## 1.1.1

Transpiled examples and the test coverage are things that make no sense in the released package.

## 1.1.0

* Lots of changes in the package. Many new classes + interfaces added.
* Added some examples about how to use the package and how to debug individual parts.
* Also improved the documentation to better see what's implemented and to which degree (full/partial/skeleton).

## 1.0.0.-1.0.2

Initial Release

This is the initial release of the brand new JRE emulation layer. This was created out of the need for my java2typescript convert.

0 comments on commit 173c47e

Please sign in to comment.