Full changelog:
- [misc] Fix python wheel versioning. (3450) (by **Ailing**)
- [misc] Version bump: v0.8.4->v0.8.5. (3447) (by **Ailing**)
- [IR] Add type inference for loop variables (3437) (by **Yi Xu**)
- [LLVM] Fix link (3443) (by **Tianshu Xu**)
- [IR] Add type_check for RangeAssumption/LoopUnique/ExternalTensorShapeAlongAxisExpression (3436) (by **Yi Xu**)
- [llvm] Support atomic operations of f16 (3428) (by **Tianshu Xu**)
- [Doc] Put back content from old docs/lang/api/atomic.md (3440) (by **Yi Xu**)
- [refactor] Add Assert, BoolOp, NamedExpr and dict to the new AST builder (3398) (by **lin-hitonami**)
- [Bug] Revert 3428 (3438) (by **Tianshu Xu**)
- [gui] GGUI Tests (3430) (by **Dunfan Lu**)
- [gui] Fix canvas.lines on macOS (3432) (by **Dunfan Lu**)
- [ci] Fix aws machine not removing container (3435) (by **Jiasheng Zhang**)
- [gui] Show f16 image as f32. (3433) (by **Ailing**)
- [ci] Move required cpu check to AWS machine (3427) (by **Jiasheng Zhang**)
- [Refactor] Simplify runtime function definition (3429) (by **Tianshu Xu**)
- [lang] [refactor] Use preallocated memory via device allocation for Ndarray (3395) (by **Bo Qiao**)
- [refactor] Add ListComp and DictComp to the new AST builder (3400) (by **lin-hitonami**)
- [ci] Add build script for win (3410) (by **Frost Ming**)
- [OpenGL] Add mem_offset_in_parent to serialized file in AOT. (3418) (by **Ailing**)
- Update gui.md: comprehend widgets example (3424) (by **FantasyVR**)
- [refactor] Add for and while to the new frontend AST builder (3353) (by **lin-hitonami**)
- [CI] Recheck the title format when user updates the title (3403) (by **Manjusaka**)
- [Refactor] Use wrapped create_call (3421) (by **Tianshu Xu**)
- [Doc] Update dev install about m1 prebuilt llvm. (3419) (by **Ailing**)
- [opengl] Save opengl aot data in json format. (3417) (by **Ailing**)
- [IR] Add type_check for expressions related to fields and matrices (3377) (by **Yi Xu**)
- [misc] Update "get_largest_pot" in scalar.h + Bug Fix (3405) (by **Niclas Schwalbe**)
- [refactor] Remove Matrix.new (3408) (by **Yi Xu**)
- [refactor] Remove handling for real types in set_arg_int. (3388) (by **Ailing**)
- [CI] skip the full test when the PR just get Docs change (3399) (by **Manjusaka**)
- [LLVM] Fix logging formats (3404) (by **Tianshu Xu**)
- Update GLFW (3406) (by **Bob Cao**)
- [IR] Fix continue statement in struct for and add a related test (3282) (by **bx2k**)
- Fix non 4 byte element external array in SPIR-V codegen & enable f16 test for Vulkan (3396) (by **Bob Cao**)
- [misc] Add new issues templates (3390) (by **Tianshu Xu**)
- [refactor] Add SparseMatrixBuilder and any_array support in kernel argument in the new AST builder (3352) (by **lin-hitonami**)
- [Doc] Put back content from old docs/lang/api/arithmetics.md (3394) (by **Yi Xu**)
- [Refactor] Move the cuda codegen part of atan2/pow to codegen_cuda.cpp (3392) (by **Jian Zeng**)
- [Doc] Fix an API typo in GGUI doc (3397) (by **Chang Yu**)
- [example] Create inital_value_problem.py (3383) (by **Niclas Schwalbe**)
- [gui] Allowing recreating GGUI windows after ti.reset() (3389) (by **Dunfan Lu**)
- [ci] Add clang-tidy in CI (3354) (by **Tianshu Xu**)
- [metal] Add mem_offset_in_parent to AOT module (3245) (by **Ye Kuang**)
- [vulkan] FP16 support, fix a few bugs & warnings (3387) (by **Bob Cao**)
- [Lang] fp16 interacts with pytorch. (by **Ailing Zhang**)
- [llvm] Basic f16 support (by **Ailing Zhang**)
- [cuda] Perf: Use the min between saturation grid dim and const range-for dim (3314) (by **Bob Cao**)
- [IR] Add type_check for TernaryOpExpression (3381) (by **Yuheng Zou**)
- [lang] [refactor] Use DeviceAllocation for Ndarray (3366) (by **Bo Qiao**)
- [Test] Fix uninitialized tests for ndarray (3365) (by **Bo Qiao**)
- repush (3376) (by **Ye Kuang**)
- feat: define __str__ method for DataType (3370) (by **Jian Zeng**)
- [opengl] Do not use macros in GLSL codegen (3369) (by **Ye Kuang**)
- [Lang] Call external function with llvm bitcode (2873) (by **squarefk**)
- [opengl] Off-screen context using EGL & Support GLES (3358) (by **Bob Cao**)
- [misc] Move configured headers out of the binary directory (3363) (by **Tianshu Xu**)
- [misc] Use configured headers to track version and commit hash (3349) (by **Tianshu Xu**)
- [IR] Add type_check for UnaryOpExpression (3355) (by **Yi Xu**)
- [gui] Fix IMGUI when GGUI is running in headless mode (3357) (by **Dunfan Lu**)
- [doc] Ggui image IO and headless docs (3359) (by **Dunfan Lu**)
- [ir] Add missing constructors for TypedConstant (3351) (by **Yi Xu**)
- [Lang] Better type error messages (3345) (by **Yi Xu**)
- [gui] Headless GGUI (3348) (by **Dunfan Lu**)
- [refactor] Add IfExp, static assign and AugAssign to the new frontend AST builder (3299) (by **lin-hitonami**)
- [Refactor] Python frontend refactor: build_call part, support format print and fstring (3342) (by **Jiasheng Zhang**)
- [refactor] Add compare to the new python frontend ast builder (3344) (by **lin-hitonami**)
- [gui] Fix bug where VBO/IBO cannot exceed 128 MB(3347) (by **Dunfan Lu**)
- [ci] Set GITHUB_CONTEXT for performance monitoring (3343) (by **rocket**)
- [opengl] Only run preprocess_kernels when glslc is available. (3341) (by **Ailing**)
- [CI] Linux CD containerization (3339) (by **Jiasheng Zhang**)
- [opengl] Expose allow_nv_shader_extension in compileconfig. (3340) (by **Ailing**)
- [ci] Update windows postsubmit job timeout to 90mins. (3336) (by **Ailing**)
- [ci] Update postsubmit job performance_monitoring (3296) (by **rocket**)
- [benchmark] Store the benchmark results as json files (3294) (by **rocket**)
- [docs] Only preview english doc. (3338) (by **Ailing**)
- [IR] Support frontend type inference in simple cases (3302) (by **Yi Xu**)
- [gui] GGUI Image IO (well, it's actually just O...) (3333) (by **Dunfan Lu**)
- [opengl] Provide an option to disable NV extensions during codegen (3331) (by **Ye Kuang**)
- [OpenGl] Support preprocessing glsl code in aot. (by **Ailing Zhang**)
- [OpenGl] Set result_buffer for opengl aot. (by **Ailing Zhang**)
- [vulkan] Fix GGUI (3330) (by **Dunfan Lu**)
- [misc] Port taichi to FreeBSD (3325) (by **Inoki**)
- [Refactor] Fix compiler warnings (3322) (by **Tianshu Xu**)
- Fix GL Device (3315) (by **Bob Cao**)
- [Doc] Update dev install about m1. (3321) (by **Ailing**)
- [Lang] Support f-string (by **Jian Zeng**)
- [OpenGl] Merge Retr SSBO into Args. (3313) (by **Ailing**)
- [CI] Containerize CI (3291) (by **Jiasheng Zhang**)
- [vulkan] Release vulkan on macOS (3305) (by **Dunfan Lu**)
- [GUI] Fix re-use buffer bug in ggui (3311) (by **YuZhang**)
- [ci] Add Dockerfile to support minimum CPU (3277) (by **Bo Qiao**)
- [Lang] Add suppress_warning argument to ti.matrix initialization (3310) (by **Zhehao Li**)
- Remove Vulkan SDK dependency (3307) (by **Bob Cao**)
- [Bug] Add missing integral datatype support for ti.min/ti.max (3248) (by **FantasyVR**)
- [opengl] Remove extra semicolon in glsl generated code. (3309) (by **Ailing**)
- Merge GLBufId::Extr into Args. (3306) (by **Ailing**)
- [opengl] Fix typo in printing glsl kernel. (3308) (by **Ailing**)
- [Doc] update the security email address (3297) (by **Manjusaka**)
- [opengl] Recover GLSL printing (3300) (by **Ye Kuang**)