:tada: Features
* Add preliminary support for the xcore target. (585) AdamHillier
* Add zero-padding support to the reference kernel (571) Tombana
* Add grouped binary convolution support (2/3): reference kernel. (550) AdamHillier
* Add grouped binary convolution support (1/3): the converter. (549) AdamHillier
:rocket: Performance
* Slightly optimise the loads in the 8x4x2 indirect BGEMM kernel (521) AdamHillier
* Add optimised indirect bgemm kernels for Aarch64. (518) AdamHillier
:bug: Bug Fixes
* Fix Windows release builds. (590) AdamHillier
* Run LCE optimize pass before and after TFLite optimize pass (525) lgeiger
:book: Documentation
* Update LCE python interpreter docstring with efficiency warning (582) jneeven
:construction_worker_man: Internal Improvements
* Fix release version number for non-manual releases. (595) AdamHillier
* Use a Python script for Bazel configuration, like TensorFlow does. (589) AdamHillier
* Add TF 2.4 to CI matrix (579) lgeiger
* Fix linebreaks in release script (577) lgeiger
* Use GitHub actions workflow dispatch to trigger nightly releases (576) lgeiger
* Fix windows build (575) lgeiger
* Only upload cache on master branch (574) lgeiger
* Do not pin official GitHub actions (572) lgeiger
* Do not pin official GitHub actions (570) lgeiger
* Set --linkopt=-dead_strip when building mac wheels (566) lgeiger
* Remove unused dependencies (565) lgeiger
* Fix filter tensor shapes in bconv2d 'death' tests. (561) AdamHillier
* Create a lightweight `BConv2DParams` struct in `/core`. (560) AdamHillier
* Fix manylinux release build (558) lgeiger
* Cancel workflows of outdated commits (556) lgeiger
* Speedup end2end tests (552) lgeiger
* :arrow_up: larq_zoov2 (547) lgeiger
* Auto-generate the TFLite Python schema. (546) AdamHillier
* Add __version__ property. (543) AdamHillier
* Use test sharding to parallelise the tests. (544) AdamHillier
* Update Flatbuffer schema for TF 2.4 (536) lgeiger
* Move padding conversion function to kernels/utils.h (534) lgeiger
* Add macros to help GCC with branch prediction (530) lgeiger
* Prebuild the benchmark binary with -O3 on Android (532) lgeiger
* Change qemu test scripts by using a new bazel rule (533) Tombana
* Upgrade TensorFlow to latest version (529) lgeiger
* Inline kernel utils functions that convert padding and activation enums (528) lgeiger
* Initialise batch norm stats for e2e models (524) AdamHillier
* Add support for batched inputs in the indirect BGEMM kernels (519) AdamHillier
* Add optimised 'Indirect BGEMM' binary convolution kernels. (516) AdamHillier
* Simplify the bconv2d padding functor. (515) AdamHillier
* Reorganise `/core` directory. (514) AdamHillier
:arrow_up: Dependencies
* :arrow_up: TensorFlow v2.4.1. (587) AdamHillier
* Bump package versions on CI. (586) AdamHillier
* Bump styfle/cancel-workflow-action from 0.6.0 to 0.7.0 (584) dependabot
* Bump toolmantim/release-drafter from v5.12.1 to v5.13.0 (580) dependabot
* :arrow_up: tensorflow2.4 (578) lgeiger
* Bump GoogleCloudPlatform/github-actions from 0.1.3 to v0.2.0 (569) dependabot
* Bump actions/upload-artifact from v2.2.0 to v2.2.1 (568) dependabot
* :arrow-up: TensorFlow submodule (564) lgeiger
* :arrow_up: tensorflow2.4.0rc1 (563) lgeiger
* Update bazelisk version on CI and in containers. (559) AdamHillier
* :arrow_up: tensorflowv2.4.0-rc0 (557) lgeiger
* :arrow_up: lint dependencies (555) lgeiger
* :arrow_up: tensorflowr2.4 (545) lgeiger
* Bump toolmantim/release-drafter from v5.12.0 to v5.12.1 (539) dependabot
* Bump toolmantim/release-drafter from v5.11.0 to v5.12.0 (538) dependabot
* Bump DoozyX/clang-format-lint-action from v0.10 to v0.11 (537) dependabot
* Bump actions/setup-python from v2.1.3 to v2.1.4 (531) dependabot
* Bump actions/upload-artifact from v2.1.4 to v2.2.0 (522) dependabot
* Bump actions/setup-python from v2.1.2 to v2.1.3 (520) dependabot
* ⬆️ tensorflow2.3.1 (517) lgeiger