Highlights:
- Bug fixes
- Use sys.getfilesystemencoding() to prevent possible locale errors (#1775) (by 彭于斌)
- C source backend
- Support AdStack on C backend (#1752) (by 彭于斌)
- Documentation
- Examples
- Fix stable_fluid.py boundary broken: int -> ti.floor, and make mpm3d.py 3x faster on CUDA (#1784) (by 彭于斌)
- Language and syntax
- Support formatted string with args in assert (#1806) (by Ye Kuang)
- Support printing lists and tuples in Taichi-scope (#1796) (by 彭于斌)
- Add ti.get_rel_eps() for maximal relative error tolerance on current backend (#1798) (by Ye Kuang)
- Support querying external array shape by 'x.shape' (#1787) (by thinking-tower)
- IR optimization passes
- Make irpass::replace_all_usages_with bottom-up (#1789) (by xumingkuan)
Full changelog:
- [misc] Remove unused code/comments in transforms/simpilfy.cpp (#1812) (by Yuanming Hu)
- [ir] Fix irpass::analysis::clone on TLS/BLS prologue/epilogue (#1811) (by Yuanming Hu)
- [error] "Better error message when vector used as if's condition variable (#1804)" (#1810) (by 彭于斌)
- [Lang] Support formatted string with args in assert (#1806) (by Ye Kuang)
- [refactor] Replace std::map with switch case statements in lang_util.cpp (#1755) (by Aryan Soman)
- [misc] Revert "Better error message when vector used as if's condition variable (#1804)" (#1808) (by Yuanming Hu)
- [error] Better error message when vector used as if's condition variable (#1804) (by 彭于斌)
- [Opt] Make irpass::replace_all_usages_with bottom-up (#1789) (by xumingkuan)
- [Doc] Add how to set environment variables for fish users (#1800) (by Luyu Cheng)
- [CC] [autodiff] Support AdStack on C backend (#1752) (by 彭于斌)
- [Lang] Support printing lists and tuples in Taichi-scope (#1796) (by 彭于斌)
- [workflow] import missing package sys in code_format.py (#1802) (by Luyu Cheng)
- [cli] Add path to Python executable to 'ti diagnose' (#1801) (by Luyu Cheng)
- [refactor] Remove the singleton Program::context (#1799) (by Ye Kuang)
- [ir] Restore verification for OffloadedStmt (#1790) (by xumingkuan)
- [Lang] [test] Add ti.get_rel_eps() for maximal relative error tolerance on current backend (#1798) (by Ye Kuang)
- [Lang] [ir] Support querying external array shape by 'x.shape' (#1787) (by thinking-tower)
- [workflow] Travis CI only test Python 3.6 unless release tag is used (#1793) (by 彭于斌)
- [refactor] Move Context to taichi/program (#1788) (by Ye Kuang)
- [doc] Better clarify the difference between two profilers (#1759) (by 彭于斌)
- [ir] [autodiff] Initialize ADStack with a zero (#1791) (by Yuanming Hu)
- [ir] [opt] Unify ifloordiv implementation over backends in demote_operations (#1771) (by 彭于斌)
- [Bug] [misc] Use sys.getfilesystemencoding() to prevent possible locale errors (#1775) (by 彭于斌)
- [Example] Fix stable_fluid.py boundary broken: int -> ti.floor, and make mpm3d.py 3x faster on CUDA (#1784) (by 彭于斌)
- [test] Expand the tolerance for testing on metal backend (#1779) (by Xudong Feng)
- [opt] Simplify identical load elimination (#1782) (by xumingkuan)
- [error] [opengl] Better error message when int64 or sparse SNode not supported for OpenGL (#1783) (by 彭于斌)
- [Doc] Separate arithmetics.rst from syntax.rst and fill it with more details (#1761) (by 彭于斌)
- [ipython] Separate {Expr,Matrix}.{str,repr} to prevent unexpected materialization when repr (#1766) (by 彭于斌)
- [async] Support constant folding in async mode (#1778) (by Ye Kuang)
- [workflow] [cli] Improve coverage of 'ti format' and 'ti format_all' (#1768) (by 彭于斌)
- [misc] Add "make_block_local" option to "CompileConfig" (#1727) (by Yuanming Hu)