:warning: Breaking Changes :warning:
* Split BSign into Quantize/Dequantize and separate from BConv (457) lgeiger, AdamHillier Tombana
* Change custom option enums to match flatbuffer schema (464) lgeiger
* Set padding and fused activations as enums (386) lgeiger
* Rename BConv attributes to follow TFLite more closely (373) lgeiger
:tada: Features
* Support full int8 QAT models in converter (449) lgeiger
* Add ARM32 kernel implementation (432) honglh
* Allow to set fake default ranges to enable latency test of int8 models (357) lgeiger
* Publish prebuilt benchmark binaries with each new release (398) lgeiger
* Publish dev docker images for releases (397) lgeiger
* Use thresholds for bitpacked output (387) Tombana
* Support dilated convolutions in converter (385) lgeiger
:rocket: Performance
* Improve performance with optimised Ruy matrix packing. (462) AdamHillier
* Improve Aarch64 performance by removing NEON pipeline stalls. (394) AdamHillier
:bug: Bug Fixes
* Simplify make build (480) Tombana
* Fix int8 outputtransform (422) Tombana
* Fix trailing quantization op with experimental_bitpacking fusion (402) lgeiger
* Fix BMaxPool IR definition (404) lgeiger
* Fix sequential model in end2end test: add missing quantisers. (390) AdamHillier
:book: Documentation
* Update URLs in readme to adapt to the build docs changes (481) lgeiger
* Update benchmark table in Readme (470) lgeiger
* Fix broken links (413) koenhelwegen
:construction_worker_man: Internal Improvements
* Remove zero_point argument from im2col (478) lgeiger
* Remove lce_benchmark_all binary (477) lgeiger
* Add profiler scopes for bitpacking functions and quantization/maxpool ops. (471) AdamHillier
* Remove Windows builds from release workflow (476) lgeiger
* Remove input/output dimensions from BConvParams (475) lgeiger
* Directly pass packed filer shape to bconv kernel (474) lgeiger
* Remove output shape argument from bitpack_tensor (473) lgeiger
* Simplify shape handling in kernel prepare method (472) lgeiger
* Fix unittest linkopts for macos (465) lgeiger
* Rename `packbits` to `bitpack` for consistency. (463) AdamHillier
* Automatically upload benchmark binaries to new releases (456) lgeiger
* Standardise on 32-bit bitpacking. Closes 446. (461) AdamHillier
* add extra braces around padding_buffer (455) andrewstanfordjason
* Prebuild AArch32 benchmark binary for new releases (453) lgeiger
* Add optimised canonical bitpacking for Aarch64. Closes 435. (443) AdamHillier
* Add Android AAR build to release workflow (451) lgeiger
* Add `make_unsigned` to `unpack_matrix` type (442) Tombana
* Use a 32-column C++ kernel layout when writing bitpacked output. (441) AdamHillier
* Test against Python 3.8 by default on CI (438) lgeiger
* Remove unused packbits_arm32 (437) lgeiger
* Test converter against TF 2.3 (436) lgeiger
* Update the unittest error threshold (430) Tombana
* Refactor OutputTransform with template types (426) Tombana
* Replace context->ReportError calls with TF_LITE_KERNEL_LOG (403) lgeiger
* Improve error message when passing wrong converter arg (414) lgeiger
* Use custom larq MLIR dialect for our ops (384) lgeiger
* Add misc updates for Micro (401) Tombana
* Upgrade TensorFlow to eaacee173897b77cdb6afd22d5e78154177a10f3 (363) lgeiger
* Slightly optimize docker image size (399) lgeiger
* Add new performance label to release notes (395) lgeiger
* Move weight bitpacking into its own converter pass. (393) AdamHillier
* Add custom dev docker file (392) lgeiger
* Remove RUY_ASM_FLAG_HAS_BIAS (389) lgeiger
* Remove filter_format attribute from IR and bconv kernel (382) lgeiger
* Add pattern to ensure post_activation_multipliers are always positiv (375) lgeiger
* Upgrade github/actions (381) lgeiger
* Add testing script for faster model conversions debugging (380) lgeiger
:arrow_up: Dependencies
* Update lint dependencies (479) lgeiger
* Bump actions/setup-python from v2.1.1 to v2.1.2 (460) dependabot
* Update actions/upload-artifact requirement to v2.1.4 (419, 425, 440, 448, 454, 459) dependabot
* Bump GoogleCloudPlatform/github-actions from 0.1.2 to 0.1.3 (444) dependabot
* Upgrade tensorflow to 2.3 stable (439) lgeiger
* Update lce_register.cc (434) lgeiger
* Bump DoozyX/clang-format-lint-action from v0.6 to v0.8 (427, 433) dependabot
* Bump actions/setup-python from v2 to v2.1.1 (429) dependabot
* Upgrade TensorFlow to 2.3.0rc0 (415) lgeiger
* Bump actions/download-artifact from v1 to v2 (418) dependabot
* Bump toolmantim/release-drafter from v5.8.0 to v5.11.0 (417) dependabot
* Create Dependabot config file (416) dependabot-preview
* Upgrade TensorFlow to tensorflow9a70ab8 (405) lgeiger