diff --git a/docs/index.html b/docs/index.html
index 0be1817a1..7a2271a5c 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -1,58 +1,60 @@
-
-
-
-
-
-
-
-
-
-
Download
- UniVRM-0.88.0
-
-
-
-
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
Download
+ UniVRM-0.89.0
+
+
+
+
+
+
diff --git a/docs/release/079/v0.89.0.md b/docs/release/079/v0.89.0.md
new file mode 100644
index 000000000..1b052c8c1
--- /dev/null
+++ b/docs/release/079/v0.89.0.md
@@ -0,0 +1,31 @@
+# v0.89.0: 1.0準備
+
+## exporter
+一部のモデルでエクスポート時に blend shape の法線が乱れる問題を修正しました。
+
+* [[\#1363](https://github.com/vrm-c/UniVRM/pull/1363)] meshを正規化するときに、法線を正規化する
+
+### 発生条件
+
+* 正規化する
+* 正規化する前のモデルに回転が含まれている(blender由来 の Z-UP Meshなど)
+* 法線が正規化されていない({100, 0, 0} などの値)
+ * scale の影響かもしれない
+
+が組み合わさったときに blend shape の bake 結果が破綻する場合があるようです。
+
+## importer
+
+`v0.88.0` で `GLTF` のロードが低速化した問題を修正しました。
+
+* [[\#1362](https://github.com/vrm-c/UniVRM/pull/1362)] glTF 形式の uri アクセスをキャッシュ(たぶん、0.87以前の動作)
+
+## 1.0
+* [[\#1365](https://github.com/vrm-c/UniVRM/pull/1365)] [1.0] meta の Editor 仕様に追随
+* [[\#1356](https://github.com/vrm-c/UniVRM/pull/1356)] [1.0] Fix10/firstperson import fallback
+
+## other
+* [[\#1366](https://github.com/vrm-c/UniVRM/pull/1366)] UniVRM-0.89
+* [[\#1364](https://github.com/vrm-c/UniVRM/pull/1364)] menu that contains "//" is not visible in Unity-2021.2
+* [[\#1358](https://github.com/vrm-c/UniVRM/pull/1358)] download button
+* [[\#1355](https://github.com/vrm-c/UniVRM/pull/1355)] Doc/fix v0 88 0
diff --git a/docs/release_gen.py b/docs/release_gen.py
index 7aac6d4d2..4fb94b84a 100644
--- a/docs/release_gen.py
+++ b/docs/release_gen.py
@@ -1,17 +1,26 @@
#
-# github Release の markdown を作るスクリプト
+# Release 時のドキュメントを作成するスクリプト
+#
+# 1. github release page の markdown => clipboard
+# 2. changelog => docs/release/079/v0.XX.Y.md
+# 3. download button => docs/index.html
#
import pathlib
import re
import subprocess
+import git.repo
+import re
+import pathlib
+import io
HERE = pathlib.Path(__file__).absolute().parent
UNIVRM_VERSION = HERE.parent / 'Assets/VRM/Runtime/Format/VRMVersion.cs'
+MERGE_PATTERN = re.compile(r'Merge pull request #(\d+)')
def gen(version: str, hash: str):
version_hash = f'{version}_{hash[0:4]}'
- print(f'''
+ return f'''
# Download
* for `Unity-2019.4.LTS` or later
@@ -62,7 +71,7 @@ ReleaseNote
}}
```
-''')
+'''
def get_version() -> str:
@@ -78,7 +87,107 @@ def get_hash() -> str:
return res.decode('utf-8')
+def copy_release_md(version: str, hash: str):
+ text = gen(version, hash)
+ import pyperclip
+ pyperclip.copy(text)
+ print('copy to clipboard')
+
+
+#
+#
+#
+def change_log(repo: git.repo.Repo, version: str):
+ major, minor, patch = [int(x) for x in version.split('.')]
+ rev = f'v{major}.{minor-1}.0..v{major}.{minor}.0'
+
+ w = io.StringIO()
+ w.write(f'# v{version}: 1.0準備\n')
+ w.write('\n')
+ for item in repo.iter_commits(rev=rev):
+ m = MERGE_PATTERN.match(item.message)
+ if m:
+ # merge commit
+ pr = m[1]
+ lines = item.message.splitlines()
+
+ w.write(
+ f'* [[\\#{pr}](https://github.com/vrm-c/UniVRM/pull/{pr})] {lines[2]}\n'
+ )
+ return w.getvalue()
+
+
if __name__ == '__main__':
version = get_version()
hash = get_hash()
- gen(version, hash)
+ repo = git.repo.Repo(str(HERE.parent))
+ # 1.
+ copy_release_md(version, hash)
+ # 2.
+ release = HERE / f'release/079/v{version}.md'
+ if not release.exists():
+ text = change_log(repo, version)
+ release.write_text(text, encoding='utf-8')
+ # 3.
+ (HERE / 'index.html').write_text(f'''
+
+
+
+
+
+
+
+
+
+
Download
+ UniVRM-{version}
+
+
+
+
+
+
+''',
+ encoding='utf-8')