Skip to content

Releases: masesgroup/JNet

V2.6.9: general review updating to JCOBridge 2.6.9

15 Jun 20:51
286450a

Choose a tag to compare

This release updates:

  • JNet:
    • Updates to JCOBridge 2.6.9
    • Extends Java.Lang.String developed class with new zero-copy functions that operate directly on JVM data without copying memory to the CLR
    • Adds caching and disposal for JCOBridgeDirectBuffer in NIO buffer wrappers (ByteBuffer, CharBuffer, DoubleBuffer, FloatBuffer, IntBuffer, LongBuffer, ShortBuffer), avoiding extra object churn when creating direct buffers
    • Adds immediate disposal of JVM objects returned from listener function callbacks, avoiding waiting for .NET GC
    • Introduces JNetEventData as proxy for simplified access to properties and functions in listener templates
    • Updates developed classes Dispose chain for HPA pooling compatibility
    • Uses JVMBridgeBase.New<TType> for objects that can be immediately disposed, improving HPA pooling support
    • Adds DisposeIfDisposable helper replacing explicit using blocks
    • Multiple code quality fixes
    • Generated classes are fully regenerated using JNetReflector at current version
  • JNet Templates: no changes
  • JNetCLI: no changes
  • JNetCLICore: no changes
  • JNetPS: no changes
  • JNetPSCore: no changes
  • JNetReflector:
    • Replaces constructor chaining via params object[] with typed per-signature constructors forwarded via InvokeInitializer, eliminating intermediate object[] allocation
    • Removes initialization of fields in constructors invoked from JCOBridge
    • Adds SingleConstructorInitializer template introducing CreatePoolableInstance static factory method backed by JVMBridgeBase.New<TClass>
    • Generates a multi-level first-gate evaluation chain for listener classes, with the second-gate override flag cached at construction via JNetEventResult.GetMethodIsOverridden to avoid per-event reflection cost. The chain evaluates in order: ListenerShallManageEventIndex delegate (index-based, zero string conversion overhead), ListenerShallManageEventName delegate (name-based), registered event handlers via ListenerShallManageEventHandlers, second-gate override flag, ListenerShallManageEventIndexWithData delegate, and ListenerShallManageEventNameWithData delegate — returning false immediately when none of these is active, avoiding CLR object construction on the JVM side
    • Updates to use JNetEventData as proxy for simplified access to properties and functions in listener templates
    • Adds listener dispose handlers
    • Replaces field.IsFinal() check with hardcoded false in field preparation (InternalMethods.cs) to remain compliant with HPA pooling behavior
  • Docker: no changes
  • Documentation: aligns to latest code changes
  • Tests: adds dedicated performance test workflow with result collection and hardware info reporting

Official Docker images

Official NuGet packages (*)

(*) packages are also available on GitHub packages.

Official PowerShell packages

What's Changed

Read more

V2.6.9-rc996: temporary release

09 Jun 11:22
5c75cd8

Choose a tag to compare

Pre-release

What's Changed

  • Bump MASES.JCOBridge from 2.6.9-rc.36 to 2.6.9-rc.37 by @dependabot[bot] in #1115
  • Update version from 2.6.9-rc995 to 2.6.9-rc996 by @github-actions[bot] in #1116

Full Changelog: V2.6.9.0-rc995...V2.6.9.0-rc996

V2.6.9-rc995: temporary release

07 Jun 19:04
a814534

Choose a tag to compare

Pre-release

What's Changed

  • Bump MASES.JCOBridge from 2.6.9-rc.35 to 2.6.9-rc.36 by @dependabot[bot] in #1113
  • Update version from 2.6.9-rc994 to 2.6.9-rc995 by @github-actions[bot] in #1114

Full Changelog: V2.6.9.0-rc994...V2.6.9.0-rc995

V2.6.9-rc994: temporary release

05 Jun 03:46
8a657b8

Choose a tag to compare

Pre-release

What's Changed

  • Add DisposeIfDisposable and replace using by @masesdevelopers in #1099
  • Revert "Use AssemblyInformationalVersion instead of simple version" by @masesdevelopers in #1103
  • Update generated classes after commit aa946d2 by @github-actions[bot] in #1104
  • Add constructor initializer template and usage by @masesdevelopers in #1101
  • Update generated classes after commit aa4f56d by @github-actions[bot] in #1107
  • Replace New with Create to avoid confusion with New method of JVMBridgeBase by @masesdevelopers in #1108
  • Use explicit method name to avoid confusion and declares better the scope by @masesdevelopers in #1110
  • Update generated classes after commit 0ea9239 by @github-actions[bot] in #1111
  • Update version from 2.6.9-rc993 to 2.6.9-rc994 by @github-actions[bot] in #1112

Full Changelog: V2.6.9.0-rc993...V2.6.9.0-rc994

V2.6.9-rc993: temporary release

03 Jun 14:04
c09e251

Choose a tag to compare

Pre-release

What's Changed

  • Bump org.apache.maven.plugins:maven-dependency-plugin from 3.10.0 to 3.11.0 in /src/jvm/jnet by @dependabot[bot] in #1090
  • Bump MASES.JCOBridge from 2.6.9-rc.33 to 2.6.9-rc.35 by @dependabot[bot] in #1094
  • Bump bojieyang/indexnow-action from 2 to 3 by @dependabot[bot] in #1089
  • Internally introduce JVMBridgeBase.New updating code returning objects can be immediately disposed by @masesdevelopers in #1096
  • Update version from 2.6.9-rc992 to 2.6.9-rc993 by @github-actions[bot] in #1097

Full Changelog: 2.6.9.0-rc992...V2.6.9.0-rc993

2.6.9-rc992: temporary release

29 May 03:51
09dfd2f

Choose a tag to compare

Pre-release

What's Changed

  • Update generated classes after commit e1e9945 by @github-actions[bot] in #1080
  • Bump MASES.JCOBridge from 2.6.9-rc.31 to 2.6.9-rc.33 by @dependabot[bot] in #1082
  • Update developed classes to be compliant with HPA pooling by @masesdevelopers in #1085
  • Disable field.IsFinal usage for HPA pooling by @masesdevelopers in #1086
  • Update generated classes after commit b0ae57e by @github-actions[bot] in #1087
  • Update version from 2.6.9-rc991 to 2.6.9-rc992 by @github-actions[bot] in #1088

Full Changelog: V2.6.9.0-rc991...2.6.9.0-rc992

V2.6.9-rc991: temporary release

25 May 21:44
e1e9945

Choose a tag to compare

Pre-release

What's Changed

  • Bump MASES.JCOBridge from 2.6.9-rc.30 to 2.6.9-rc.31 by @dependabot[bot] in #1077
  • Update generated classes after commit b5164d5 by @github-actions[bot] in #1078
  • Update version from 2.6.9-rc99 to 2.6.9-rc991 by @github-actions[bot] in #1079

Full Changelog: V2.6.9.0-rc99...V2.6.9.0-rc991

V2.6.9-rc99: temporary release

22 May 20:11
f339d26

Choose a tag to compare

Pre-release

What's Changed

  • Bump MASES.JCOBridge from 2.6.9-rc.28 to 2.6.9-rc.30 by @dependabot[bot] in #1074
  • Updates templates and removes constructor chaining to support parameter forwarding without intermediate object[] allocation by @masesdevelopers in #1068
  • Update generated classes after commit a4a5d46 by @github-actions[bot] in #1071
  • Update version from 2.6.9-rc98 to 2.6.9-rc99 by @github-actions[bot] in #1075
  • Update generated classes after commit b1ced20 by @github-actions[bot] in #1076

Full Changelog: V2.6.9.0-rc98...V2.6.9.0-rc99

V2.6.9-rc98: temporary release

21 May 17:01
94c0147

Choose a tag to compare

Pre-release

What's Changed

  • Bump MASES.JCOBridge from 2.6.9-rc.25 to 2.6.9-rc.27 by @dependabot[bot] in #1067
  • Bump MASES.JCOBridge from 2.6.9-rc.27 to 2.6.9-rc.28 by @dependabot[bot] in #1070
  • Update version from 2.6.9-rc97 to 2.6.9-rc98 by @github-actions[bot] in #1072

Full Changelog: V2.6.9.0-rc97...V2.6.9.0-rc98

V2.6.9-rc97: temporary release

19 May 13:45
155f457

Choose a tag to compare

Pre-release

What's Changed

  • Bump MASES.JCOBridge from 2.6.9-rc.24 to 2.6.9-rc.25 by @dependabot[bot] in #1059
  • Update version from 2.6.9-rc96 to 2.6.9-rc97 by @github-actions[bot] in #1061

Full Changelog: V2.6.9.0-rc96...V2.6.9.0-rc97