Releases: heremaps/gluecodium
Releases · heremaps/gluecodium
Release version 13.10.2 (#1647)
Bug fixes:
- Dart: introduced
GLUECODIUM_DART_DISABLE_FINALIZABLE_MARKER
variable as well as-dartdisablefinalizablemarker
CLI flag, which allows conditionally disabling the usage ofFinalizable
interface from Dart:FFI. It was needed, because the fix introduced in Gluecodium's release13.10.1
in some rare cases could cause internal compiler issue in Dart SDK (solved in Dart SDK 3.6.0+). This flag is intended to ease the transition to Dart 3.6.0+. - Dart: fixed a bug related to compilation error caused by usage of
@PositionalDefaults
and default value for a field that uses type, which does not provide const constructor. - Dart: disabled generation of
invalid_use_of_visible_for_testing_member
warning from the generated code for a hierarchy of classes. - Dart: removed generation of redundant import for constants declared with external types. The redundant import caused linter warnings.
- Dart: removed generation of redundant
default
clause in exhaustive switch-cases for enumerations. The redundantdefault
caused linter warnings. - Java: cleaned up the generated code: removed blank lines.
Release version 13.10.1 (#1635)
Bug fixes:
- Dart: fixed race condition between garbage collector (which could trigger finalizer) and native method calls in finalizable classes.
Release version 13.10.0 (#1631)
Features:
- Implemented the new way of documenting properties via
@value
and@description
annotations in structured comments. - Implemented validation, which requires the users to use at least
@value
annotation when documenting a property. - Implemented validation of comments used for accessors of properties: parameter of setter and return value of getter. When the required description is missing, then warning is generated. The user may also treat the warning as error via 'werror' flag.
- Implemented validation of comments used for lambdas. When the description of parameters or return value is missing, then warning is generated. The user may also treat the warning as error via 'werror' flag.
- Implemented validation of comments used for functions. When the description of parameters or return value is missing, then warning is generated. The user may also treat the warning as error via 'werror' flag.
Bug fixes:
- C++: fixed a bug related to invalid default value of nullable field, which uses struct type. When field was nullable and its default value was set to default-constructed structure, then the generated code was invalid, because the field was initialized to std::nullopt instead to default-constructed struct.
- Gluecodium.kt: fixed a bug related to running 'LimeFunctionsValidator' twice. It was not needed - running the validator once is sufficient.
- Dart: fixed a bug related to missing 'const' keyword usage in definition of default values in constructors that used immutable structure types when
@Immutable
or@PositionalDefaults
were specified. - Dart: fixed a bug related to missing/superflous 'const' keyword usage in definition of default values in constructors that used collections when
@Immutable
or@PositionalDefaults
were specified.
Release version 13.9.7 (#1616)
Bug fixes:
- Fixed visibilty of symbols from common code (JNI, Dart FFI) in order to resolve problems with build that uses hidden visibility preset.
- Fixed conversion of platforms for 'Internal' annotation to work correctly also when arguments are not in quotation marks.
- Dart: generate omitted documentation of properties.
Release version 13.9.6 (#1609)
Bug fixes:
- C++: Fixed generation of getters and setters for accessors attribute -- non-trivial types use references now.
- Swift: Added missing generation of conversion functions for lambdas defined in structs.
- Dart: Fixed a bug related to exporting nested types defined in a type annotated as internal.
Release version 13.9.5 (#1604)
Features:
- Stop callback queue on main isolate exit
Release version 13.9.4 (#1600)
Features:
- Adds missing includes for Android
Release version 13.9.3 (#1598)
Features:
- Preserves assigned thread name when attaching it to the JVM.
Release 13.9.2 (#1596)
Features:
- Adds possibility to synchronise access to class cache in code for JNI. It's necessary to support case when several shared
libraries contain generated code so class cache can be concurrently modified.
Release version 13.9.1 (#1592)
Features:
- Refactors generated code as described below to make compiled code smaller.
- Moves implementations of JniExceptionThrower, JniReference, CppProxyBase from headers to cpp files.
- Moves repeated functionality like throwing exception and retrieving native handle to functions.
- Moves caching mechanism in JNI and Dart ffi related generated code to cpp.
- Makes several classes
final
. - Makes many generated JNI related functions
noexcept
. - Avoids passing of useless parameter like
(SomeType*)nullptr
to converters. Now emptyTypeId
template is passing. - Removes unused headers.