Releases: google/jni-bind
Release-1.1.2-beta
What's Changed
- Adding an empty WORKSPACE.bzlmod file at the project's root. by @copybara-service in #312
- README.md is now generated so I stop forgetting to update the version #. by @copybara-service in #317
- ID no longer has default arguments for its selector indices. by @copybara-service in #318
- Add a link to slide deck. by @copybara-service in #321
- Removing superflous includes. by @copybara-service in #322
- Removing superflous includes for metaprogramming directory. by @copybara-service in #323
- Removing superflous includes for
jni_helper
directory. by @copybara-service in #324 - Removing superflous includes for
javatests
directory. by @copybara-service in #325 - Adding IWYU (include what you use) pragmas. by @copybara-service in #326
JniT
now provides accessor for its depth as a child. by @copybara-service in #328- Parent definitions in
JniT
use the derivedClass
information. by @copybara-service in #329 - Replace RefBase with RefBaseTag. by @copybara-service in #330
- Fix bad member initialisation order in
jni::Class
. by @copybara-service in #331 - GitHub testing now treats warnings as errors. by @copybara-service in #332
- Add initial (incomplete) definition for
java/lang/Exception
andjava/lang/Throwable
. by @copybara-service in #334 - Add implementation/test for
GlobalString
destruction. by @copybara-service in #337 - Rev JNI Bind release header to v 1.1.1. by @copybara-service in #338
- Load the builtin Bazel java rules from @rules_java by @copybara-service in #341
- Fixing ambiguous equality operators for C++20 migration. by @copybara-service in #347
- Update workflows to new C++17 and C++20 split targets. by @copybara-service in #345
- Experimenting with string literals for non-type template parameters. by @copybara-service in #344
- Open source pure native binary. by @copybara-service in #343
- Mac workflows now run the entire suite of tests, not just metaprogramming. by @copybara-service in #348
- No public description by @copybara-service in #349
- Rev JNI Bind release header to v 1.1.2. by @copybara-service in #350
Full Changelog: Release-1.1.0-beta...Release-1.1.2-beta
Release-1.1.0-beta
What's Changed
- Migrate calls to androidx.test.services.storage.TestStorage to its equivalent by @copybara-service in #264
- Adding
Self
documentation required for builder patterns. by @copybara-service in #266 - Allow
std::nullptr_t
for all Scopable types (this was an oversight in the API). by @copybara-service in #275 Params
no longer need to be provided if there are none. by @copybara-service in #278- Rev JNI Bind release header to v 1.0.1. by @copybara-service in #280
- Add configurable options for class ID and method IDs being released. by @copybara-service in #286
- Add
getSystemClassLoader
toClassLoader
. by @copybara-service in #290 - Remove unused headers in metaprogramming. by @copybara-service in #294
- Add
ArrayList
to stock jni definitions. by @copybara-service in #296 - Add test that creates an object on a secondary thread before any other usage. by @copybara-service in #302
- jni::Class now permits a new
Extends
arg to eventually support inheritance. by @copybara-service in #313 - Id can now also indicate a parent (or grandparent) with an
ancestor_idx
. by @copybara-service in #314 - Fixes field
Static
s that were broken when usingSelf
. by @copybara-service in #315 - Rev JNI Bind release header to v 1.1.0. by @copybara-service in #316
Full Changelog: Release-1.0.0-beta...Release-1.1.0-beta
Release-1.0.0-beta
JNI Bind has been in production code at Google for a couple years now, and its API is largely settled. This seems a reasonable point to finally make a "beta" cut where devs can rely on a stable API.
In the future, JNI Bind will support C++20, enabling non-clang compilers. This will require a new syntax, but I aim to maintain cross compatability and backwards compatability. After this, I am going to repurpose the type system as a DSL generator, and will re-apply it to protobuffers.
Finally, this project began right before COVID, and much of it was written during lockdown. Thank you to the countless people who helped me bring this to the open source community, it has been a deeply challenging project, but ultimately I am very excited with the final product and use it daily. I hope you find it valuable, and would greatly appreciate any support you can offer with a GitHub ⭐️.
Good luck in your JNI Binding!
What's Changed
- Move Corpus metafunction to metaprogramming. by @copybara-service in #244
- Switching from
System.loadLibrary
toSystem.load
. by @copybara-service in #248 - Setting
--test_output=errors
for workflows. by @copybara-service in #259 - Adding colourizing utilities for making pretty output text. by @copybara-service in #257
- Adding GodBolt sample header. by @copybara-service in #254
- Moving
fake_test_constants.h
intojni_helper
and promoting to be usable in production code. by @copybara-service in #260 - Adding
DRY_RUN
define to enable GodBolt sample. by @copybara-service in #261 - Add functional trailer and interstitial for Godbolt. by @copybara-service in #262
- Revving JNI Bind to Version 1.0.0, switching from "alpha" to "beta". by @copybara-service in #258
Full Changelog: Release-0.9.9-alpha...Release-1.0.0-beta
Release-0.9.9-alpha
What's Changed
- Add multi-dimensional field tests,
ArrayView
lifetime issue. by @copybara-service in #222 - Add Rank 1 helpers into static methods and convert rank 1 method tests. by @copybara-service in #224
- Add Rank 1 helpers into static methods and convert rank 1 field tests. by @copybara-service in #225
- No public description by @copybara-service in #229
- No public description by @copybara-service in #228
- Add rank 2 E2E tests for fields. by @copybara-service in #226
- Fix compiler warnings. by @copybara-service in #232
- Release header public target is restored. by @copybara-service in #231
- Adding per function scope trace. by @copybara-service in #235
- Shatter
JvmRefBase
andThreadGuard
into separate files. by @copybara-service in #236 - Rev JNI Bind release header to v 0.9.9. by @copybara-service in #242
Full Changelog: Release-0.9.8-alpha...Release-0.9.9-alpha
Release-0.9.8-alpha
**Warning: This is potentially breaking change if you use null values with LocalObject
without AdoptLocal
or you use JNI Bind on another thread without first taking a ThreadGuard
(the previous behaviour would silently work if you did not use any objects).
See #207 for additional details.
What's Changed
- GlobalObject now can contruct from a LocalObject&& enabling simpler copy construction from method outputs. by @copybara-service in #192
- Fix issue where template parameter pack cannot be deduced causing compilation failures on Windows only. by @copybara-service in #203
Full Changelog: Release-0.9.7-alpha...Release-0.9.8
Release-0.9.7-alpha
What's Changed
- Add additional context tests. by @copybara-service in #157
- Add setters for higher dimensional arrays. by @copybara-service in #169
- ArrayRef was improperly giving its own rank as opposed to the rank of the contained object. by @copybara-service in #170
- Add Get function for multidimensional arrays. by @copybara-service in #171
- Start adding E2E coverage of multi-dimensional arrays. by @copybara-service in #178
Full Changelog: Release-0.9.6-alpha...Release-0.9.7-alpha
Release-0.9.6-alpha
Minor bug fixes and feature expansion for arrays. Internal changes on promotion mechanics.
What's Changed
- Internal change by @copybara-service in #141
- Remove unused ArrayRefPrimitiveBaseTag. by @copybara-service in #143
- Add E2E test of String test using globals. by @copybara-service in #82
Full Changelog: Release-0.9.5-alpha...Release-0.9.6-alpha
Release-0.9.5-alpha
ThreadGuards now do their teardown on thread collapse (fixing issues with moving Global objects into std::thread which should wokr).
There were some minor issues with the release header and tag on Release-0.9.4 so I'm comparing this agains Release-0.9.3-alpha.
What's Changed
- Fix minor typo in README. by @copybara-service in #86
- Internal change by @copybara-service in #109
- PromoteLocalToGlobalClass now releases the temporary local created during FindClass lookup. by @copybara-service in #108
- Enforce disallowing "." in class names. by @copybara-service in #117
Full Changelog: Release-0.9.3-alpha...Release-0.9.5-alpha
Release-0.9.4
Compatibility improvements for class loaders on Java (not Android).
What's Changed
- Fix minor typo in README. by @copybara-service in #86
- Internal change by @copybara-service in #109
- PromoteLocalToGlobalClass now releases the temporary local created during FindClass lookup. by @copybara-service in #108
- Enforce disallowing "." in class names. by @copybara-service in #117
Full Changelog: Release-0.9.3-alpha...Release-0.9.4-alpha
Release-0.9.3
Rank 1 fields are fixed, and more extensive array unit testing.
What's Changed
- Rank 0 strings are now properly handled by by FieldHelper. by @copybara-service in #37
- Local|Global strings support vanilla Local|Global objects. by @copybara-service in #47
- (Cleanup) Add using declaration for class_loader_test.cc. by @copybara-service in #57
- Update jni_helper to use new fake_test_constants.h. by @copybara-service in #64
- Update class_loader_ref_test.cc to use new fake_test_constants.h. by @copybara-service in #66
- Update static_ref_test.cc to use new fake_test_constants.h. by @copybara-service in #68
Full Changelog: Release-0.9.1-alpha...Release-0.9.3-alpha