# JavaCall.jl v0.8.0 Released

**URL:** <https://discourse.julialang.org/t/javacall-jl-v0-8-0-released/103183>\
**Category:** Package Announcements\
**Tags:** package, announcement\
**Created:** [August 25, 2023, 9:39am UTC](https://discourse.julialang.org/t/javacall-jl-v0-8-0-released/103183 "2023-08-25T09:39:07Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![mkitti](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mkitti/32/12459_2.png) [@mkitti](https://discourse.julialang.org/u/mkitti)\
**Post date:** [August 25, 2023, 9:39am UTC](https://discourse.julialang.org/t/javacall-jl-v0-8-0-released/103183/1 "2023-08-25T09:39:07Z")

</div>

JavaCall.jl version 0.8.0 was released last week.

> **[Release v0.8.0 · JuliaInterop/JavaCall.jl](https://github.com/JuliaInterop/JavaCall.jl/releases/tag/v0.8.0)**
>
> JavaCall v0.8.0
> Diff since v0.7.8
> Closed issues:
> 
> handling of Enum types (#159)
> 
> Merged pull requests:
> 
> Raw JNI arrays (#144) (@ahnlabb)
> Consolidate jcall to enable extension of JVM types (#149) (@...

This is a breaking change due to a significantly revised Java references system. This provides better control over memory at the interface, preventing memory leaks.

An important user interface change is the `@jcall` macro, similar to `@ccall`.

Due to the Julia stack implementation and lack of signal chaning capability initiated from the Julia side, `JULIA_COPY_STACKS=1` is still required on macOS and Linux.

```julia
$ JULIA_COPY_STACKS=1 julia

```

Here is a demonstration of the `@jcall` macro.

```julia
julia> using JavaCall

julia> JavaCall.init()

julia> const System = @jimport java.lang.System
JavaObject{Symbol("java.lang.System")}

julia> @jcall System.out.println("Hello world"::JString)::Nothing
Hello world

```

This release has been 1.5 years in the making. My near term objectives are to improve the documentation.
