1# OP-TEE - version 3.20.0 (2023-01-20)
2
3- Links to the release pages, commits and pull requests merged into this release for:
4  - OP-TEE/optee_os: [release page][OP_TEE_optee_os_release_3_20], [commits][OP_TEE_optee_os_commits_3_20] and [pull requests][OP_TEE_optee_os_pr_3_20]
5  - OP-TEE/optee_client: [release page][OP_TEE_optee_client_release_3_20], [commits][OP_TEE_optee_client_commits_3_20] and [pull requests][OP_TEE_optee_client_pr_3_20]
6  - OP-TEE/optee_test: [release page][OP_TEE_optee_test_release_3_20], [commits][OP_TEE_optee_test_commits_3_20] and [pull requests][OP_TEE_optee_test_pr_3_20]
7  - OP-TEE/build: [release page][OP_TEE_build_release_3_20], [commits][OP_TEE_build_commits_3_20] and [pull requests][OP_TEE_build_pr_3_20]
8  - linaro-swg/optee_examples: [release page][linaro_swg_optee_examples_release_3_20], [commits][linaro_swg_optee_examples_commits_3_20] and [pull requests][linaro_swg_optee_examples_pr_3_20]
9
10
11[OP_TEE_optee_os_release_3_20]: https://github.com/OP-TEE/optee_os/releases/tag/3.20.0
12[OP_TEE_optee_os_commits_3_20]: https://github.com/OP-TEE/optee_os/compare/3.19.0...3.20.0
13[OP_TEE_optee_os_pr_3_20]: https://github.com/OP-TEE/optee_os/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2022-10-14..2023-01-20
14
15[OP_TEE_optee_client_release_3_20]: https://github.com/OP-TEE/optee_client/releases/tag/3.20.0
16[OP_TEE_optee_client_commits_3_20]: https://github.com/OP-TEE/optee_client/compare/3.19.0...3.20.0
17[OP_TEE_optee_client_pr_3_20]: https://github.com/OP-TEE/optee_client/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2022-10-14..2023-01-20
18
19[OP_TEE_optee_test_release_3_20]: https://github.com/OP-TEE/optee_test/releases/tag/3.20.0
20[OP_TEE_optee_test_commits_3_20]: https://github.com/OP-TEE/optee_test/compare/3.19.0...3.20.0
21[OP_TEE_optee_test_pr_3_20]: https://github.com/OP-TEE/optee_test/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2022-10-14..2023-01-20
22
23[OP_TEE_build_release_3_20]: https://github.com/OP-TEE/build/releases/tag/3.20.0
24[OP_TEE_build_commits_3_20]: https://github.com/OP-TEE/build/compare/3.19.0...3.20.0
25[OP_TEE_build_pr_3_20]: https://github.com/OP-TEE/build/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2022-10-14..2023-01-20
26
27[linaro_swg_optee_examples_release_3_20]: https://github.com/linaro-swg/optee_examples/releases/tag/3.20.0
28[linaro_swg_optee_examples_commits_3_20]: https://github.com/linaro-swg/optee_examples/compare/3.19.0...3.20.0
29[linaro_swg_optee_examples_pr_3_20]: https://github.com/linaro-swg/optee_examples/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2022-10-14..2023-01-20
30
31# OP-TEE - version 3.19.0 (2022-10-14)
32
33- Links to the release pages, commits and pull requests merged into this release for:
34  - OP-TEE/optee_os: [release page][OP_TEE_optee_os_release_3_19], [commits][OP_TEE_optee_os_commits_3_19] and [
35pull requests][OP_TEE_optee_os_pr_3_19]
36  - OP-TEE/optee_client: [release page][OP_TEE_optee_client_release_3_19], [commits][OP_TEE_optee_client_commits_3_19] and [pull requests][OP_TEE_optee_client_pr_3_19]
37  - OP-TEE/optee_test: [release page][OP_TEE_optee_test_release_3_19], [commits][OP_TEE_optee_test_commits_3_19] and [pull requests][OP_TEE_optee_test_pr_3_19]
38  - OP-TEE/build: [release page][OP_TEE_build_release_3_19], [commits][OP_TEE_build_commits_3_19] and [pull requests][OP_TEE_build_pr_3_19]
39  - linaro-swg/optee_examples: [release page][linaro_swg_optee_examples_release_3_19], [commits][linaro_swg_optee_examples_commits_3_19] and [pull requests][linaro_swg_optee_examples_pr_3_19]
40
41
42[OP_TEE_optee_os_release_3_19]: https://github.com/OP-TEE/optee_os/releases/tag/3.19.0
43[OP_TEE_optee_os_commits_3_19]: https://github.com/OP-TEE/optee_os/compare/3.18.0...3.19.0
44[OP_TEE_optee_os_pr_3_19]: https://github.com/OP-TEE/optee_os/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2022-07-15..2022-10-14
45
46[OP_TEE_optee_client_release_3_19]: https://github.com/OP-TEE/optee_client/releases/tag/3.19.0
47[OP_TEE_optee_client_commits_3_19]: https://github.com/OP-TEE/optee_client/compare/3.18.0...3.19.0
48[OP_TEE_optee_client_pr_3_19]: https://github.com/OP-TEE/optee_client/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2022-07-15..2022-10-14
49
50[OP_TEE_optee_test_release_3_19]: https://github.com/OP-TEE/optee_test/releases/tag/3.19.0
51[OP_TEE_optee_test_commits_3_19]: https://github.com/OP-TEE/optee_test/compare/3.18.0...3.19.0
52[OP_TEE_optee_test_pr_3_19]: https://github.com/OP-TEE/optee_test/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2022-07-15..2022-10-14
53
54[OP_TEE_build_release_3_19]: https://github.com/OP-TEE/build/releases/tag/3.19.0
55[OP_TEE_build_commits_3_19]: https://github.com/OP-TEE/build/compare/3.18.0...3.19.0
56[OP_TEE_build_pr_3_19]: https://github.com/OP-TEE/build/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2022-07-15..2022-10-14
57
58[linaro_swg_optee_examples_release_3_19]: https://github.com/linaro-swg/optee_examples/releases/tag/3.19.0
59[linaro_swg_optee_examples_commits_3_19]: https://github.com/linaro-swg/optee_examples/compare/3.18.0...3.19.0
60[linaro_swg_optee_examples_pr_3_19]: https://github.com/linaro-swg/optee_examples/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2022-07-15..2022-10-14
61
62# OP-TEE - version 3.18.0 (2022-07-15)
63
64- Links to the release pages, commits and pull requests merged into this release for:
65  - OP-TEE/optee_os: [release page][OP_TEE_optee_os_release_3_18_0], [commits][OP_TEE_optee_os_commits_3_18_0] and [pull requests][OP_TEE_optee_os_pr_3_18_0]
66  - OP-TEE/optee_client: [release page][OP_TEE_optee_client_release_3_18_0], [commits][OP_TEE_optee_client_commits_3_18_0] and [pull requests][OP_TEE_optee_client_pr_3_18_0]
67  - OP-TEE/optee_test: [release page][OP_TEE_optee_test_release_3_18_0], [commits][OP_TEE_optee_test_commits_3_18_0] and [pull requests][OP_TEE_optee_test_pr_3_18_0]
68  - OP-TEE/build: [release page][OP_TEE_build_release_3_18_0], [commits][OP_TEE_build_commits_3_18_0] and [pull requests][OP_TEE_build_pr_3_18_0]
69  - linaro-swg/optee_examples: [release page][linaro_swg_optee_examples_release_3_18_0], [commits][linaro_swg_optee_examples_commits_3_18_0] and [pull requests][linaro_swg_optee_examples_pr_3_18_0]
70
71
72[OP_TEE_optee_os_release_3_18_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.18.0
73[OP_TEE_optee_os_commits_3_18_0]: https://github.com/OP-TEE/optee_os/compare/3.17.0...3.18.0
74[OP_TEE_optee_os_pr_3_18_0]: https://github.com/OP-TEE/optee_os/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2022-04-15..2022-07-15
75
76[OP_TEE_optee_client_release_3_18_0]: https://github.com/OP-TEE/optee_client/releases/tag/3.18.0
77[OP_TEE_optee_client_commits_3_18_0]: https://github.com/OP-TEE/optee_client/compare/3.17.0...3.18.0
78[OP_TEE_optee_client_pr_3_18_0]: https://github.com/OP-TEE/optee_client/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2022-04-15..2022-07-15
79
80[OP_TEE_optee_test_release_3_18_0]: https://github.com/OP-TEE/optee_test/releases/tag/3.18.0
81[OP_TEE_optee_test_commits_3_18_0]: https://github.com/OP-TEE/optee_test/compare/3.17.0...3.18.0
82[OP_TEE_optee_test_pr_3_18_0]: https://github.com/OP-TEE/optee_test/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2022-04-15..2022-07-15
83
84[OP_TEE_build_release_3_18_0]: https://github.com/OP-TEE/build/releases/tag/3.18.0
85[OP_TEE_build_commits_3_18_0]: https://github.com/OP-TEE/build/compare/3.17.0...3.18.0
86[OP_TEE_build_pr_3_18_0]: https://github.com/OP-TEE/build/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2022-04-15..2022-07-15
87
88[linaro_swg_optee_examples_release_3_18_0]: https://github.com/linaro-swg/optee_examples/releases/tag/3.18.0
89[linaro_swg_optee_examples_commits_3_18_0]: https://github.com/linaro-swg/optee_examples/compare/3.17.0...3.18.0
90[linaro_swg_optee_examples_pr_3_18_0]: https://github.com/linaro-swg/optee_examples/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2022-04-15..2022-07-15
91
92# OP-TEE - version 3.17.0 (2022-04-15)
93
94- Links to the release pages, commits and pull requests merged into this release for:
95  - OP-TEE/optee_os: [release page][OP_TEE_optee_os_release_3_17_0], [commits][OP_TEE_optee_os_commits_3_17_0] and [pull requests][OP_TEE_optee_os_pr_3_17_0]
96  - OP-TEE/optee_client: [release page][OP_TEE_optee_client_release_3_17_0], [commits][OP_TEE_optee_client_commits_3_17_0] and [pull requests][OP_TEE_optee_client_pr_3_17_0]
97  - OP-TEE/optee_test: [release page][OP_TEE_optee_test_release_3_17_0], [commits][OP_TEE_optee_test_commits_3_17_0] and [pull requests][OP_TEE_optee_test_pr_3_17_0]
98  - OP-TEE/build: [release page][OP_TEE_build_release_3_17_0], [commits][OP_TEE_build_commits_3_17_0] and [pull requests][OP_TEE_build_pr_3_17_0]
99  - linaro-swg/optee_examples: [release page][linaro_swg_optee_examples_release_3_17_0], [commits][linaro_swg_optee_examples_commits_3_17_0] and [pull requests][linaro_swg_optee_examples_pr_3_17_0]
100
101
102[OP_TEE_optee_os_release_3_17_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.17.0
103[OP_TEE_optee_os_commits_3_17_0]: https://github.com/OP-TEE/optee_os/compare/3.16.0...3.17.0
104[OP_TEE_optee_os_pr_3_17_0]: https://github.com/OP-TEE/optee_os/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2021-01-28..2022-04-15
105
106[OP_TEE_optee_client_release_3_17_0]: https://github.com/OP-TEE/optee_client/releases/tag/3.17.0
107[OP_TEE_optee_client_commits_3_17_0]: https://github.com/OP-TEE/optee_client/compare/3.16.0...3.17.0
108[OP_TEE_optee_client_pr_3_17_0]: https://github.com/OP-TEE/optee_client/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2022-01-28..2022-04-15
109
110[OP_TEE_optee_test_release_3_17_0]: https://github.com/OP-TEE/optee_test/releases/tag/3.17.0
111[OP_TEE_optee_test_commits_3_17_0]: https://github.com/OP-TEE/optee_test/compare/3.16.0...3.17.0
112[OP_TEE_optee_test_pr_3_17_0]: https://github.com/OP-TEE/optee_test/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2022-01-28..2022-04-15
113
114[OP_TEE_build_release_3_17_0]: https://github.com/OP-TEE/build/releases/tag/3.17.0
115[OP_TEE_build_commits_3_17_0]: https://github.com/OP-TEE/build/compare/3.16.0...3.17.0
116[OP_TEE_build_pr_3_17_0]: https://github.com/OP-TEE/build/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2021-01-28..2022-04-15
117
118[linaro_swg_optee_examples_release_3_17_0]: https://github.com/linaro-swg/optee_examples/releases/tag/3.17.0
119[linaro_swg_optee_examples_commits_3_17_0]: https://github.com/linaro-swg/optee_examples/compare/3.16.0...3.17.0
120[linaro_swg_optee_examples_pr_3_17_0]: https://github.com/linaro-swg/optee_examples/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2022-01-28..2022-04-15
121
122# OP-TEE - version 3.16.0 (2022-01-28)
123
124- Links to the release pages, commits and pull requests merged into this release for:
125  - OP-TEE/optee_os: [release page][OP_TEE_optee_os_release_3_16_0], [commits][OP_TEE_optee_os_commits_3_16_0] and [pull requests][OP_TEE_optee_os_pr_3_16_0]
126  - OP-TEE/optee_client: [release page][OP_TEE_optee_client_release_3_16_0], [commits][OP_TEE_optee_client_commits_3_16_0] and [pull requests][OP_TEE_optee_client_pr_3_16_0]
127  - OP-TEE/optee_test: [release page][OP_TEE_optee_test_release_3_16_0], [commits][OP_TEE_optee_test_commits_3_16_0] and [pull requests][OP_TEE_optee_test_pr_3_16_0]
128  - OP-TEE/build: [release page][OP_TEE_build_release_3_16_0], [commits][OP_TEE_build_commits_3_16_0] and [pull requests][OP_TEE_build_pr_3_16_0]
129  - linaro-swg/optee_examples: [release page][linaro_swg_optee_examples_release_3_16_0], [commits][linaro_swg_optee_examples_commits_3_16_0] and [pull requests][linaro_swg_optee_examples_pr_3_16_0]
130
131
132[OP_TEE_optee_os_release_3_16_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.16.0
133[OP_TEE_optee_os_commits_3_16_0]: https://github.com/OP-TEE/optee_os/compare/3.15.0...3.16.0
134[OP_TEE_optee_os_pr_3_16_0]: https://github.com/OP-TEE/optee_os/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2021-10-18..2022-01-28
135
136[OP_TEE_optee_client_release_3_16_0]: https://github.com/OP-TEE/optee_client/releases/tag/3.16.0
137[OP_TEE_optee_client_commits_3_16_0]: https://github.com/OP-TEE/optee_client/compare/3.15.0...3.16.0
138[OP_TEE_optee_client_pr_3_16_0]: https://github.com/OP-TEE/optee_client/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2021-10-18..2022-01-28
139
140[OP_TEE_optee_test_release_3_16_0]: https://github.com/OP-TEE/optee_test/releases/tag/3.16.0
141[OP_TEE_optee_test_commits_3_16_0]: https://github.com/OP-TEE/optee_test/compare/3.15.0...3.16.0
142[OP_TEE_optee_test_pr_3_16_0]: https://github.com/OP-TEE/optee_test/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2021-10-18..2022-01-28
143
144[OP_TEE_build_release_3_16_0]: https://github.com/OP-TEE/build/releases/tag/3.16.0
145[OP_TEE_build_commits_3_16_0]: https://github.com/OP-TEE/build/compare/3.15.0...3.16.0
146[OP_TEE_build_pr_3_16_0]: https://github.com/OP-TEE/build/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2021-10-18..2022-01-28
147
148[linaro_swg_optee_examples_release_3_16_0]: https://github.com/linaro-swg/optee_examples/releases/tag/3.16.0
149[linaro_swg_optee_examples_commits_3_16_0]: https://github.com/linaro-swg/optee_examples/compare/3.15.0...3.16.0
150[linaro_swg_optee_examples_pr_3_16_0]: https://github.com/linaro-swg/optee_examples/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2021-10-18..2022-01-28
151
152# OP-TEE - version 3.15.0 (2021-10-18)
153
154- Links to the release pages, commits and pull requests merged into this release for:
155  - OP-TEE/optee_os: [release page][OP_TEE_optee_os_release_3_15_0], [commits][OP_TEE_optee_os_commits_3_15_0] and [pull requests][OP_TEE_optee_os_pr_3_15_0]
156  - OP-TEE/optee_client: [release page][OP_TEE_optee_client_release_3_15_0], [commits][OP_TEE_optee_client_commits_3_15_0] and [pull requests][OP_TEE_optee_client_pr_3_15_0]
157  - OP-TEE/optee_test: [release page][OP_TEE_optee_test_release_3_15_0], [commits][OP_TEE_optee_test_commits_3_15_0] and [pull requests][OP_TEE_optee_test_pr_3_15_0]
158  - OP-TEE/build: [release page][OP_TEE_build_release_3_15_0], [commits][OP_TEE_build_commits_3_15_0] and [pull requests][OP_TEE_build_pr_3_15_0]
159  - linaro-swg/optee_examples: [release page][linaro_swg_optee_examples_release_3_15_0], [commits][linaro_swg_optee_examples_commits_3_15_0] and [pull requests][linaro_swg_optee_examples_pr_3_15_0]
160
161
162[OP_TEE_optee_os_release_3_15_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.15.0
163[OP_TEE_optee_os_commits_3_15_0]: https://github.com/OP-TEE/optee_os/compare/3.14.0...3.15.0
164[OP_TEE_optee_os_pr_3_15_0]: https://github.com/OP-TEE/optee_os/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2021-07-16..2021-10-18
165
166[OP_TEE_optee_client_release_3_15_0]: https://github.com/OP-TEE/optee_client/releases/tag/3.15.0
167[OP_TEE_optee_client_commits_3_15_0]: https://github.com/OP-TEE/optee_client/compare/3.14.0...3.15.0
168[OP_TEE_optee_client_pr_3_15_0]: https://github.com/OP-TEE/optee_client/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2021-07-16..2021-10-18
169
170[OP_TEE_optee_test_release_3_15_0]: https://github.com/OP-TEE/optee_test/releases/tag/3.15.0
171[OP_TEE_optee_test_commits_3_15_0]: https://github.com/OP-TEE/optee_test/compare/3.14.0...3.15.0
172[OP_TEE_optee_test_pr_3_15_0]: https://github.com/OP-TEE/optee_test/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2021-07-16..2021-10-18
173
174[OP_TEE_build_release_3_15_0]: https://github.com/OP-TEE/build/releases/tag/3.15.0
175[OP_TEE_build_commits_3_15_0]: https://github.com/OP-TEE/build/compare/3.14.0...3.15.0
176[OP_TEE_build_pr_3_15_0]: https://github.com/OP-TEE/build/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2021-07-16..2021-10-18
177
178[linaro_swg_optee_examples_release_3_15_0]: https://github.com/linaro-swg/optee_examples/releases/tag/3.15.0
179[linaro_swg_optee_examples_commits_3_15_0]: https://github.com/linaro-swg/optee_examples/compare/3.14.0...3.15.0
180[linaro_swg_optee_examples_pr_3_15_0]: https://github.com/linaro-swg/optee_examples/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2021-07-16..2021-10-18
181
182# OP-TEE - version 3.14.0 (target date: 2021-07-16)
183
184- Links to the release pages, commits and pull requests merged into this release for:
185  - OP-TEE/optee_os: [release page][OP_TEE_optee_os_release_3_14_0], [commits][OP_TEE_optee_os_commits_3_14_0] and [pull requests][OP_TEE_optee_os_pr_3_14_0]
186  - OP-TEE/optee_client: [release page][OP_TEE_optee_client_release_3_14_0], [commits][OP_TEE_optee_client_commits_3_14_0] and [pull requests][OP_TEE_optee_client_pr_3_14_0]
187  - OP-TEE/optee_test: [release page][OP_TEE_optee_test_release_3_14_0], [commits][OP_TEE_optee_test_commits_3_14_0] and [pull requests][OP_TEE_optee_test_pr_3_14_0]
188  - OP-TEE/build: [release page][OP_TEE_build_release_3_14_0], [commits][OP_TEE_build_commits_3_14_0] and [pull requests][OP_TEE_build_pr_3_14_0]
189  - linaro-swg/optee_examples: [release page][linaro_swg_optee_examples_release_3_14_0], [commits][linaro_swg_optee_examples_commits_3_14_0] and [pull requests][linaro_swg_optee_examples_pr_3_14_0]
190
191
192[OP_TEE_optee_os_release_3_14_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.14.0
193[OP_TEE_optee_os_commits_3_14_0]: https://github.com/OP-TEE/optee_os/compare/3.13.0...3.14.0
194[OP_TEE_optee_os_pr_3_14_0]: https://github.com/OP-TEE/optee_os/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2021-05-01..2021-07-16
195
196[OP_TEE_optee_client_release_3_14_0]: https://github.com/OP-TEE/optee_client/releases/tag/3.14.0
197[OP_TEE_optee_client_commits_3_14_0]: https://github.com/OP-TEE/optee_client/compare/3.13.0...3.14.0
198[OP_TEE_optee_client_pr_3_14_0]: https://github.com/OP-TEE/optee_client/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2021-05-01-..2021-07-16
199
200[OP_TEE_optee_test_release_3_14_0]: https://github.com/OP-TEE/optee_test/releases/tag/3.14.0
201[OP_TEE_optee_test_commits_3_14_0]: https://github.com/OP-TEE/optee_test/compare/3.13.0...3.14.0
202[OP_TEE_optee_test_pr_3_14_0]: https://github.com/OP-TEE/optee_test/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2021-05-01..2021-07-16
203
204[OP_TEE_build_release_3_14_0]: https://github.com/OP-TEE/build/releases/tag/3.14.0
205[OP_TEE_build_commits_3_14_0]: https://github.com/OP-TEE/build/compare/3.13.0...3.14.0
206[OP_TEE_build_pr_3_14_0]: https://github.com/OP-TEE/build/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2021-05-01..2021-07-16
207
208[linaro_swg_optee_examples_release_3_14_0]: https://github.com/linaro-swg/optee_examples/releases/tag/3.14.0
209[linaro_swg_optee_examples_commits_3_14_0]: https://github.com/linaro-swg/optee_examples/compare/3.13.0...3.14.0
210[linaro_swg_optee_examples_pr_3_14_0]: https://github.com/linaro-swg/optee_examples/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2021-05-01..2021-07-16
211
212# OP-TEE - version 3.13.0 (2021-04-30)
213
214- Links to the release pages, commits and pull requests merged into this release for:
215  - OP-TEE/optee_os: [release page][OP_TEE_optee_os_release_3_13_0], [commits][OP_TEE_optee_os_commits_3_13_0] and [pull requests][OP_TEE_optee_os_pr_3_13_0]
216  - OP-TEE/optee_client: [release page][OP_TEE_optee_client_release_3_13_0], [commits][OP_TEE_optee_client_commits_3_13_0] and [pull requests][OP_TEE_optee_client_pr_3_13_0]
217  - OP-TEE/optee_test: [release page][OP_TEE_optee_test_release_3_13_0], [commits][OP_TEE_optee_test_commits_3_13_0] and [pull requests][OP_TEE_optee_test_pr_3_13_0]
218  - OP-TEE/build: [release page][OP_TEE_build_release_3_13_0], [commits][OP_TEE_build_commits_3_13_0] and [pull requests][OP_TEE_build_pr_3_13_0]
219  - linaro-swg/optee_examples: [release page][linaro_swg_optee_examples_release_3_13_0], [commits][linaro_swg_optee_examples_commits_3_13_0] and [pull requests][linaro_swg_optee_examples_pr_3_13_0]
220
221
222[OP_TEE_optee_os_release_3_13_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.13.0
223[OP_TEE_optee_os_commits_3_13_0]: https://github.com/OP-TEE/optee_os/compare/3.12.0...3.13.0
224[OP_TEE_optee_os_pr_3_13_0]: https://github.com/OP-TEE/optee_os/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2021-01-20..2021-04-30
225
226[OP_TEE_optee_client_release_3_13_0]: https://github.com/OP-TEE/optee_client/releases/tag/3.13.0
227[OP_TEE_optee_client_commits_3_13_0]: https://github.com/OP-TEE/optee_client/compare/3.12.0...3.13.0
228[OP_TEE_optee_client_pr_3_13_0]: https://github.com/OP-TEE/optee_client/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2021-01-20..2021-04-30
229
230[OP_TEE_optee_test_release_3_13_0]: https://github.com/OP-TEE/optee_test/releases/tag/3.13.0
231[OP_TEE_optee_test_commits_3_13_0]: https://github.com/OP-TEE/optee_test/compare/3.12.0...3.13.0
232[OP_TEE_optee_test_pr_3_13_0]: https://github.com/OP-TEE/optee_test/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2021-01-20..2021-04-30
233
234[OP_TEE_build_release_3_13_0]: https://github.com/OP-TEE/build/releases/tag/3.13.0
235[OP_TEE_build_commits_3_13_0]: https://github.com/OP-TEE/build/compare/3.12.0...3.13.0
236[OP_TEE_build_pr_3_13_0]: https://github.com/OP-TEE/build/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2021-01-20..2021-04-30
237
238[linaro_swg_optee_examples_release_3_13_0]: https://github.com/linaro-swg/optee_examples/releases/tag/3.13.0
239[linaro_swg_optee_examples_commits_3_13_0]: https://github.com/linaro-swg/optee_examples/compare/3.12.0...3.13.0
240[linaro_swg_optee_examples_pr_3_13_0]: https://github.com/linaro-swg/optee_examples/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2021-01-20..2021-04-30
241
242# OP-TEE - version 3.12.0 (2021-01-20)
243
244- Links to the release pages, commits and pull requests merged into this release for:
245  - OP-TEE/optee_os: [release page][OP_TEE_optee_os_release_3_12_0], [commits][OP_TEE_optee_os_commits_3_12_0] and [pull requests][OP_TEE_optee_os_pr_3_12_0]
246  - OP-TEE/optee_client: [release page][OP_TEE_optee_client_release_3_12_0], [commits][OP_TEE_optee_client_commits_3_12_0] and [pull requests][OP_TEE_optee_client_pr_3_12_0]
247  - OP-TEE/optee_test: [release page][OP_TEE_optee_test_release_3_12_0], [commits][OP_TEE_optee_test_commits_3_12_0] and [pull requests][OP_TEE_optee_test_pr_3_12_0]
248  - OP-TEE/build: [release page][OP_TEE_build_release_3_12_0], [commits][OP_TEE_build_commits_3_12_0] and [pull requests][OP_TEE_build_pr_3_12_0]
249  - linaro-swg/optee_examples: [release page][linaro_swg_optee_examples_release_3_12_0], [commits][linaro_swg_optee_examples_commits_3_12_0] and [pull requests][linaro_swg_optee_examples_pr_3_12_0]
250
251
252[OP_TEE_optee_os_release_3_12_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.12.0
253[OP_TEE_optee_os_commits_3_12_0]: https://github.com/OP-TEE/optee_os/compare/3.11.0...3.12.0
254[OP_TEE_optee_os_pr_3_12_0]: https://github.com/OP-TEE/optee_os/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2020-10-16..2021-01-20
255
256[OP_TEE_optee_client_release_3_12_0]: https://github.com/OP-TEE/optee_client/releases/tag/3.12.0
257[OP_TEE_optee_client_commits_3_12_0]: https://github.com/OP-TEE/optee_client/compare/3.11.0...3.12.0
258[OP_TEE_optee_client_pr_3_12_0]: https://github.com/OP-TEE/optee_client/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2020-10-16..2021-01-20
259
260[OP_TEE_optee_test_release_3_12_0]: https://github.com/OP-TEE/optee_test/releases/tag/3.12.0
261[OP_TEE_optee_test_commits_3_12_0]: https://github.com/OP-TEE/optee_test/compare/3.11.0...3.12.0
262[OP_TEE_optee_test_pr_3_12_0]: https://github.com/OP-TEE/optee_test/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2020-10-16..2021-01-20
263
264[OP_TEE_build_release_3_12_0]: https://github.com/OP-TEE/build/releases/tag/3.12.0
265[OP_TEE_build_commits_3_12_0]: https://github.com/OP-TEE/build/compare/3.11.0...3.12.0
266[OP_TEE_build_pr_3_12_0]: https://github.com/OP-TEE/build/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2020-10-16..2021-01-20
267
268[linaro_swg_optee_examples_release_3_12_0]: https://github.com/linaro-swg/optee_examples/releases/tag/3.12.0
269[linaro_swg_optee_examples_commits_3_12_0]: https://github.com/linaro-swg/optee_examples/compare/3.11.0...3.12.0
270[linaro_swg_optee_examples_pr_3_12_0]: https://github.com/linaro-swg/optee_examples/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2020-10-16..2021-01-20
271
272# OP-TEE - version 3.11.0 (2020-10-16)
273
274- Links to the release pages, commits and pull requests merged into this release for:
275  - OP-TEE/optee_os: [release page][OP_TEE_optee_os_release_3_11_0], [commits][OP_TEE_optee_os_commits_3_11_0] and [pull requests][OP_TEE_optee_os_pr_3_11_0]
276  - OP-TEE/optee_client: [release page][OP_TEE_optee_client_release_3_11_0], [commits][OP_TEE_optee_client_commits_3_11_0] and [pull requests][OP_TEE_optee_client_pr_3_11_0]
277  - OP-TEE/optee_test: [release page][OP_TEE_optee_test_release_3_11_0], [commits][OP_TEE_optee_test_commits_3_11_0] and [pull requests][OP_TEE_optee_test_pr_3_11_0]
278  - OP-TEE/build: [release page][OP_TEE_build_release_3_11_0], [commits][OP_TEE_build_commits_3_11_0] and [pull requests][OP_TEE_build_pr_3_11_0]
279  - linaro-swg/optee_examples: [release page][linaro_swg_optee_examples_release_3_11_0], [commits][linaro_swg_optee_examples_commits_3_11_0] and [pull requests][linaro_swg_optee_examples_pr_3_11_0]
280
281
282[OP_TEE_optee_os_release_3_11_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.11.0
283[OP_TEE_optee_os_commits_3_11_0]: https://github.com/OP-TEE/optee_os/compare/3.10.0...3.11.0
284[OP_TEE_optee_os_pr_3_11_0]: https://github.com/OP-TEE/optee_os/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2020-08-21..2020-10-16
285
286[OP_TEE_optee_client_release_3_11_0]: https://github.com/OP-TEE/optee_client/releases/tag/3.11.0
287[OP_TEE_optee_client_commits_3_11_0]: https://github.com/OP-TEE/optee_client/compare/3.10.0...3.11.0
288[OP_TEE_optee_client_pr_3_11_0]: https://github.com/OP-TEE/optee_client/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2020-08-21..2020-10-16
289
290[OP_TEE_optee_test_release_3_11_0]: https://github.com/OP-TEE/optee_test/releases/tag/3.11.0
291[OP_TEE_optee_test_commits_3_11_0]: https://github.com/OP-TEE/optee_test/compare/3.10.0...3.11.0
292[OP_TEE_optee_test_pr_3_11_0]: https://github.com/OP-TEE/optee_test/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2020-08-21..2020-10-16
293
294[OP_TEE_build_release_3_11_0]: https://github.com/OP-TEE/build/releases/tag/3.11.0
295[OP_TEE_build_commits_3_11_0]: https://github.com/OP-TEE/build/compare/3.10.0...3.11.0
296[OP_TEE_build_pr_3_11_0]: https://github.com/OP-TEE/build/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2020-08-21..2020-10-16
297
298[linaro_swg_optee_examples_release_3_11_0]: https://github.com/linaro-swg/optee_examples/releases/tag/3.11.0
299[linaro_swg_optee_examples_commits_3_11_0]: https://github.com/linaro-swg/optee_examples/compare/3.10.0...3.11.0
300[linaro_swg_optee_examples_pr_3_11_0]: https://github.com/linaro-swg/optee_examples/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2020-08-21..2020-10-16
301
302# OP-TEE - version 3.10.0 (2020-08-21)
303
304- Links to the release pages, commits and pull requests merged into this release for:
305  - OP-TEE/optee_os: [release page][OP_TEE_optee_os_release_3_10_0], [commits][OP_TEE_optee_os_commits_3_10_0] and [pull requests][OP_TEE_optee_os_pr_3_10_0]
306  - OP-TEE/optee_client: [release page][OP_TEE_optee_client_release_3_10_0], [commits][OP_TEE_optee_client_commits_3_10_0] and [pull requests][OP_TEE_optee_client_pr_3_10_0]
307  - OP-TEE/optee_test: [release page][OP_TEE_optee_test_release_3_10_0], [commits][OP_TEE_optee_test_commits_3_10_0] and [pull requests][OP_TEE_optee_test_pr_3_10_0]
308  - OP-TEE/build: [release page][OP_TEE_build_release_3_10_0], [commits][OP_TEE_build_commits_3_10_0] and [pull requests][OP_TEE_build_pr_3_10_0]
309  - linaro-swg/optee_examples: [release page][linaro_swg_optee_examples_release_3_10_0], [commits][linaro_swg_optee_examples_commits_3_10_0] and [pull requests][linaro_swg_optee_examples_pr_3_10_0]
310
311
312[OP_TEE_optee_os_release_3_10_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.10.0
313[OP_TEE_optee_os_commits_3_10_0]: https://github.com/OP-TEE/optee_os/compare/3.9.0...3.10.0
314[OP_TEE_optee_os_pr_3_10_0]: https://github.com/OP-TEE/optee_os/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2020-04-22..2020-08-21
315
316[OP_TEE_optee_client_release_3_10_0]: https://github.com/OP-TEE/optee_client/releases/tag/3.10.0
317[OP_TEE_optee_client_commits_3_10_0]: https://github.com/OP-TEE/optee_client/compare/3.9.0...3.10.0
318[OP_TEE_optee_client_pr_3_10_0]: https://github.com/OP-TEE/optee_client/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2020-04-22..2020-08-21
319
320[OP_TEE_optee_test_release_3_10_0]: https://github.com/OP-TEE/optee_test/releases/tag/3.10.0
321[OP_TEE_optee_test_commits_3_10_0]: https://github.com/OP-TEE/optee_test/compare/3.9.0...3.10.0
322[OP_TEE_optee_test_pr_3_10_0]: https://github.com/OP-TEE/optee_test/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2020-04-22..2020-08-21
323
324[OP_TEE_build_release_3_10_0]: https://github.com/OP-TEE/build/releases/tag/3.10.0
325[OP_TEE_build_commits_3_10_0]: https://github.com/OP-TEE/build/compare/3.9.0...3.10.0
326[OP_TEE_build_pr_3_10_0]: https://github.com/OP-TEE/build/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2020-04-22..2020-08-21
327
328[linaro_swg_optee_examples_release_3_10_0]: https://github.com/linaro-swg/optee_examples/releases/tag/3.10.0
329[linaro_swg_optee_examples_commits_3_10_0]: https://github.com/linaro-swg/optee_examples/compare/3.9.0...3.10.0
330[linaro_swg_optee_examples_pr_3_10_0]: https://github.com/linaro-swg/optee_examples/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2020-04-22..2020-08-21
331
332# OP-TEE - version 3.9.0 (2020-04-22)
333
334- Links to the release pages, commits and pull requests merged into this release for:
335  - OP-TEE/optee_os: [release page][OP_TEE_optee_os_release_3_9_0], [commits][OP_TEE_optee_os_commits_3_9_0] and [pull requests][OP_TEE_optee_os_pr_3_9_0]
336  - OP-TEE/optee_client: [release page][OP_TEE_optee_client_release_3_9_0], [commits][OP_TEE_optee_client_commits_3_9_0] and [pull requests][OP_TEE_optee_client_pr_3_9_0]
337  - OP-TEE/optee_test: [release page][OP_TEE_optee_test_release_3_9_0], [commits][OP_TEE_optee_test_commits_3_9_0] and [pull requests][OP_TEE_optee_test_pr_3_9_0]
338  - OP-TEE/build: [release page][OP_TEE_build_release_3_9_0], [commits][OP_TEE_build_commits_3_9_0] and [pull requests][OP_TEE_build_pr_3_9_0]
339  - linaro-swg/optee_examples: [release page][linaro_swg_optee_examples_release_3_9_0], [commits][linaro_swg_optee_examples_commits_3_9_0] and [pull requests][linaro_swg_optee_examples_pr_3_9_0]
340
341
342[OP_TEE_optee_os_release_3_9_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.9.0
343[OP_TEE_optee_os_commits_3_9_0]: https://github.com/OP-TEE/optee_os/compare/3.8.0...3.9.0
344[OP_TEE_optee_os_pr_3_9_0]: https://github.com/OP-TEE/optee_os/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2020-01-24..2020-05-22
345
346[OP_TEE_optee_client_release_3_9_0]: https://github.com/OP-TEE/optee_client/releases/tag/3.9.0
347[OP_TEE_optee_client_commits_3_9_0]: https://github.com/OP-TEE/optee_client/compare/3.8.0...3.9.0
348[OP_TEE_optee_client_pr_3_9_0]: https://github.com/OP-TEE/optee_client/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2020-01-24..2020-05-22
349
350[OP_TEE_optee_test_release_3_9_0]: https://github.com/OP-TEE/optee_test/releases/tag/3.9.0
351[OP_TEE_optee_test_commits_3_9_0]: https://github.com/OP-TEE/optee_test/compare/3.8.0...3.9.0
352[OP_TEE_optee_test_pr_3_9_0]: https://github.com/OP-TEE/optee_test/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2020-01-24..2020-05-22
353
354[OP_TEE_build_release_3_9_0]: https://github.com/OP-TEE/build/releases/tag/3.9.0
355[OP_TEE_build_commits_3_9_0]: https://github.com/OP-TEE/build/compare/3.8.0...3.9.0
356[OP_TEE_build_pr_3_9_0]: https://github.com/OP-TEE/build/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2020-01-24..2020-05-22
357
358[linaro_swg_optee_examples_release_3_9_0]: https://github.com/linaro-swg/optee_examples/releases/tag/3.9.0
359[linaro_swg_optee_examples_commits_3_9_0]: https://github.com/linaro-swg/optee_examples/compare/3.8.0...3.9.0
360[linaro_swg_optee_examples_pr_3_9_0]: https://github.com/linaro-swg/optee_examples/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2020-01-24..2020-05-22
361
362# OP-TEE - version 3.8.0 (2020-01-24)
363
364- Links to the release pages, commits and pull requests merged into this release for:
365  - OP-TEE/optee_os: [release page][OP_TEE_optee_os_release_3_8_0], [commits][OP_TEE_optee_os_commits_3_8_0] and [pull requests][OP_TEE_optee_os_pr_3_8_0]
366  - OP-TEE/optee_client: [release page][OP_TEE_optee_client_release_3_8_0], [commits][OP_TEE_optee_client_commits_3_8_0] and [pull requests][OP_TEE_optee_client_pr_3_8_0]
367  - OP-TEE/optee_test: [release page][OP_TEE_optee_test_release_3_8_0], [commits][OP_TEE_optee_test_commits_3_8_0] and [pull requests][OP_TEE_optee_test_pr_3_8_0]
368  - OP-TEE/build: [release page][OP_TEE_build_release_3_8_0], [commits][OP_TEE_build_commits_3_8_0] and [pull requests][OP_TEE_build_pr_3_8_0]
369  - linaro-swg/optee_examples: [release page][linaro_swg_optee_examples_release_3_8_0], [commits][linaro_swg_optee_examples_commits_3_8_0] and [pull requests][linaro_swg_optee_examples_pr_3_8_0]
370
371
372[OP_TEE_optee_os_release_3_8_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.8.0
373[OP_TEE_optee_os_commits_3_8_0]: https://github.com/OP-TEE/optee_os/compare/3.7.0...3.8.0
374[OP_TEE_optee_os_pr_3_8_0]: https://github.com/OP-TEE/optee_os/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2020-01-24..2020-01-24
375
376[OP_TEE_optee_client_release_3_8_0]: https://github.com/OP-TEE/optee_client/releases/tag/3.8.0
377[OP_TEE_optee_client_commits_3_8_0]: https://github.com/OP-TEE/optee_client/compare/3.7.0...3.8.0
378[OP_TEE_optee_client_pr_3_8_0]: https://github.com/OP-TEE/optee_client/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2019-07-05..2020-01-24
379
380[OP_TEE_optee_test_release_3_8_0]: https://github.com/OP-TEE/optee_test/releases/tag/3.8.0
381[OP_TEE_optee_test_commits_3_8_0]: https://github.com/OP-TEE/optee_test/compare/3.7.0...3.8.0
382[OP_TEE_optee_test_pr_3_8_0]: https://github.com/OP-TEE/optee_test/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2019-07-05..2020-01-24
383
384[OP_TEE_build_release_3_8_0]: https://github.com/OP-TEE/build/releases/tag/3.8.0
385[OP_TEE_build_commits_3_8_0]: https://github.com/OP-TEE/build/compare/3.7.0...3.8.0
386[OP_TEE_build_pr_3_8_0]: https://github.com/OP-TEE/build/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2019-07-05..2020-01-24
387
388[linaro_swg_optee_examples_release_3_8_0]: https://github.com/linaro-swg/optee_examples/releases/tag/3.8.0
389[linaro_swg_optee_examples_commits_3_8_0]: https://github.com/linaro-swg/optee_examples/compare/3.7.0...3.8.0
390[linaro_swg_optee_examples_pr_3_8_0]: https://github.com/linaro-swg/optee_examples/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2019-07-05..2020-01-24
391
392# OP-TEE - version 3.7.0 (2019-10-18)
393
394- Links to the release pages, commits and pull requests merged into this release for:
395  - OP-TEE/optee_os: [release page][OP_TEE_optee_os_release_3_7_0], [commits][OP_TEE_optee_os_commits_3_7_0] and [pull requests][OP_TEE_optee_os_pr_3_7_0]
396  - OP-TEE/optee_client: [release page][OP_TEE_optee_client_release_3_7_0], [commits][OP_TEE_optee_client_commits_3_7_0] and [pull requests][OP_TEE_optee_client_pr_3_7_0]
397  - OP-TEE/optee_test: [release page][OP_TEE_optee_test_release_3_7_0], [commits][OP_TEE_optee_test_commits_3_7_0] and [pull requests][OP_TEE_optee_test_pr_3_7_0]
398  - OP-TEE/build: [release page][OP_TEE_build_release_3_7_0], [commits][OP_TEE_build_commits_3_7_0] and [pull requests][OP_TEE_build_pr_3_7_0]
399  - linaro-swg/optee_examples: [release page][linaro_swg_optee_examples_release_3_7_0], [commits][linaro_swg_optee_examples_commits_3_7_0] and [pull requests][linaro_swg_optee_examples_pr_3_7_0]
400
401
402[OP_TEE_optee_os_release_3_7_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.7.0
403[OP_TEE_optee_os_commits_3_7_0]: https://github.com/OP-TEE/optee_os/compare/3.6.0...3.7.0
404[OP_TEE_optee_os_pr_3_7_0]: https://github.com/OP-TEE/optee_os/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2019-07-05..2019-10-18
405
406[OP_TEE_optee_client_release_3_7_0]: https://github.com/OP-TEE/optee_client/releases/tag/3.7.0
407[OP_TEE_optee_client_commits_3_7_0]: https://github.com/OP-TEE/optee_client/compare/3.6.0...3.7.0
408[OP_TEE_optee_client_pr_3_7_0]: https://github.com/OP-TEE/optee_client/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2019-07-05..2019-10-18
409
410[OP_TEE_optee_test_release_3_7_0]: https://github.com/OP-TEE/optee_test/releases/tag/3.7.0
411[OP_TEE_optee_test_commits_3_7_0]: https://github.com/OP-TEE/optee_test/compare/3.6.0...3.7.0
412[OP_TEE_optee_test_pr_3_7_0]: https://github.com/OP-TEE/optee_test/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2019-07-05..2019-10-18
413
414[OP_TEE_build_release_3_7_0]: https://github.com/OP-TEE/build/releases/tag/3.7.0
415[OP_TEE_build_commits_3_7_0]: https://github.com/OP-TEE/build/compare/3.6.0...3.7.0
416[OP_TEE_build_pr_3_7_0]: https://github.com/OP-TEE/build/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2019-07-05..2019-10-18
417
418[linaro_swg_optee_examples_release_3_7_0]: https://github.com/linaro-swg/optee_examples/releases/tag/3.7.0
419[linaro_swg_optee_examples_commits_3_7_0]: https://github.com/linaro-swg/optee_examples/compare/3.6.0...3.7.0
420[linaro_swg_optee_examples_pr_3_7_0]: https://github.com/linaro-swg/optee_examples/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2019-07-05..2019-10-18
421
422# OP-TEE - version 3.6.0 (2019-07-05)
423
424- Link to the GitHub [release page][github_release_3_6_0].
425- Links to the [commits][github_commits_3_6_0] and
426[pull requests][github_pr_3_6_0] merged into this release.
427
428[github_release_3_6_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.6.0
429[github_commits_3_6_0]: https://github.com/OP-TEE/optee_os/compare/3.5.0...3.6.0
430[github_pr_3_6_0]: https://github.com/OP-TEE/optee_os/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2019-04-26..2019-07-05
431
432# OP-TEE - version 3.5.0 (2019-04-26)
433
434- Link to the GitHub [release page][github_release_3_5_0].
435- Links to the [commits][github_commits_3_5_0] and
436[pull requests][github_pr_3_5_0] merged into this release.
437
438[github_release_3_5_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.5.0
439[github_commits_3_5_0]: https://github.com/OP-TEE/optee_os/compare/3.4.0...3.5.0
440[github_pr_3_5_0]: https://github.com/OP-TEE/optee_os/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2019-01-26..2019-04-26
441
442# OP-TEE - version 3.4.0 (2019-01-25)
443
444- Link to the GitHub [release page][github_release_3_4_0].
445- Links to the [commits][github_commits_3_4_0] and
446[pull requests][github_pr_3_4_0] merged into this release.
447
448[github_release_3_4_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.4.0
449[github_commits_3_4_0]: https://github.com/OP-TEE/optee_os/compare/3.3.0...3.4.0
450[github_pr_3_4_0]: https://github.com/OP-TEE/optee_os/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2018-10-12..2019-01-25
451
452# OP-TEE - version 3.3.0 (2018-10-12)
453
454- Link to the GitHub [release page][github_release_3_3_0].
455- Links to the [commits][github_commits_3_3_0] and
456[pull requests][github_pr_3_3_0] merged into this release.
457
458[github_release_3_3_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.3.0
459[github_commits_3_3_0]: https://github.com/OP-TEE/optee_os/compare/3.2.0...3.3.0
460[github_pr_3_3_0]: https://github.com/OP-TEE/optee_os/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2018-07-04..2018-10-12
461
462# OP-TEE - version 3.2.0 (2018-07-04)
463
464- Link to the GitHub [release page][github_release_3_2_0].
465- Links to the [commits][github_commits_3_2_0] and
466[pull requests][github_pr_3_2_0] merged into this release.
467
468## Known issues
469
470* HiKey960: assertion in bget create_free_block() \[memalign() self-test\] ([#2414])
471* D02: assertion '!have_spinlock()' ([#2437])
472
473[github_commits_3_2_0]: https://github.com/OP-TEE/optee_os/compare/3.1.0...3.2.0
474[github_pr_3_2_0]: https://github.com/OP-TEE/optee_os/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2018-04-13..2018-07-04
475[github_release_3_2_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.2.0
476[#2414]: https://github.com/OP-TEE/optee_os/issues/2414
477[#2437]: https://github.com/OP-TEE/optee_os/issues/2437
478
479# OP-TEE - version 3.1.0 (2018-04-13)
480
481- Link to the GitHub [release page][github_release_3_1_0].
482- Links to the [commits][github_commits_3_1_0] and
483[pull requests][github_pr_3_1_0] merged into this release.
484
485[github_commits_3_1_0]: https://github.com/OP-TEE/optee_os/compare/3.0.0...3.1.0
486[github_pr_3_1_0]: https://github.com/OP-TEE/optee_os/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2018-01-26..2018-04-13
487[github_release_3_1_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.1.0
488
489# OP-TEE - version 3.0.0 (2018-01-26)
490
491[Link][github_commits_3_0_0] to a list of all commits between this release and
492the previous one (2.6.0).
493
494About backwards compatibility: Trusted Applications built with OP-TEE 2.5.0 or
495earlier will not run properly with a *debug* build of this release due
496to commit [0e1c6e8e][commit_0e1c6e8e] ("Dump call stack on TA panic").
497Non-debug builds are not affected.
498
499## New features
500
501* New supported platforms: Armada 3700 ([#1946]), Poplar ([#1999]), 64-bit
502  support for FSL ls1012ardb ([#1941]), i.MX6SX Sabreauto ([#1974]).
503* arm32: sm: init CNTVOFF ([#2052])
504* Debug/info/error traces: make output more compact ([#2011])
505* tzc380: implement new functions ([#1994])
506* Secure Data Path: add pseudo-TA to convert VA to PA (#1993])
507* Pager: use NEON AES GCM implementation ([#1959])
508* Crypto: add optimized AES GCM implementation using NEON ([#1949])
509* Add support for using secure storage for TA anti-rollback ([#1928])
510* Crypto: replace struct crypto_ops with function interface ([#1923],
511  [#1931])
512* aosp_optee.mk: define OPTEE_BIN ([#1922])
513* Add build option to allow concurrent execution of single-instance TAs
514  ([#1915])
515* Pager: support for address sanitizer ([#1856])
516* Pager: make memory between CFG_TEE_RAM_START and TEE load address usable by
517  pager ([#1826])
518
519## Bug fixes
520
521* Fix crash in tee_mmu_final() on TA loading error ([#2092])
522* LibTomCrypt: fix issue causing invalid output when using AES CTR with
523hardware acceleration (CFG_CRYPTO_WITH_CE) ([#2086])
524* pl310: fix cache sync ([#2035])
525* tzc380: do not write reserved bits ([#1994])
526* Fix potential double free in ta_open() ([#1970])
527* libfdt: fix undefined behaviour in fdt_offset_ptr() ([#1969])
528* imx_wdog: fix register access ([#1966])
529* Secure storage: fix potential memory leak after early return ([#1961])
530* LibTomCrypt: fix double free in dsa_import() ([#1963])
531* RPMB: fix TA independance issue in secure storage ([#1921])
532* RPMB: return TEE_ERROR_ACCESS_CONFLICT instead of panicking when a TA
533  attempts to create an existing persistent object without the overwrite flag
534  ([#1919])
535* PSCI: pass non-secure context to psci_system_suspend() ([#1916])
536* Fix "Argument list too long" during "make clean" ([#1897])
537
538## Security fixes
539
540* Mitigations and hardening against the Spectre and Meltdown vulnerabilities
541  (CVE-2017-5753, CVE-2017-5715, CVE-2017-5754).
542
543## Known issues
544
545* Secure storage (REE FS): storage size not updated after
546TEE_TruncateObjectData() ([#2094])
547* Possible deadlock with CFG_WITH_PAGER=y when loading a TA and not enough
548page tables are available in pgt_cache ([#2080])
549
550## Tested on
551
552The release was tested successfully on the platforms listed below.
553
554<!-- ${PLATFORM}-${PLATFORM_FLAVOR}, ordered alphabetically -->
555* d02
556* hikey
557* hikey-hikey960
558* imx-mx6ulevk
559* imx-mx7dsabresd
560* marvell-armada7k8k
561* marvell-armada3700
562* mediatek-mt8173
563* rcar-salvator_m3
564* rockchip-rk322x
565* rpi3
566* sam
567* ti
568* vexpress-juno
569* vexpress-qemu_armv8a
570* vexpress-qemu_virt
571
572[commit_0e1c6e8e]: https://github.com/OP-TEE/optee_os/commit/0e1c6e8e
573[github_commits_3_0_0]: https://github.com/OP-TEE/optee_os/compare/2.6.0...3.0.0
574[#2092]: https://github.com/OP-TEE/optee_os/pull/2092
575[#2086]: https://github.com/OP-TEE/optee_os/pull/2086
576[#2094]: https://github.com/OP-TEE/optee_os/issues/2094
577[#2080]: https://github.com/OP-TEE/optee_os/issues/2080
578[#2052]: https://github.com/OP-TEE/optee_os/pull/2052
579[#2035]: https://github.com/OP-TEE/optee_os/pull/2035
580[#2011]: https://github.com/OP-TEE/optee_os/pull/2011
581[#1999]: https://github.com/OP-TEE/optee_os/pull/1999
582[#1994]: https://github.com/OP-TEE/optee_os/pull/1994
583[#1993]: https://github.com/OP-TEE/optee_os/pull/1993
584[#1974]: https://github.com/OP-TEE/optee_os/pull/1974
585[#1970]: https://github.com/OP-TEE/optee_os/pull/1970
586[#1969]: https://github.com/OP-TEE/optee_os/pull/1969
587[#1966]: https://github.com/OP-TEE/optee_os/pull/1966
588[#1963]: https://github.com/OP-TEE/optee_os/pull/1963
589[#1961]: https://github.com/OP-TEE/optee_os/pull/1961
590[#1959]: https://github.com/OP-TEE/optee_os/pull/1959
591[#1949]: https://github.com/OP-TEE/optee_os/pull/1949
592[#1946]: https://github.com/OP-TEE/optee_os/pull/1946
593[#1941]: https://github.com/OP-TEE/optee_os/pull/1941
594[#1931]: https://github.com/OP-TEE/optee_os/pull/1931
595[#1928]: https://github.com/OP-TEE/optee_os/pull/1928
596[#1923]: https://github.com/OP-TEE/optee_os/pull/1923
597[#1922]: https://github.com/OP-TEE/optee_os/pull/1922
598[#1921]: https://github.com/OP-TEE/optee_os/pull/1921
599[#1919]: https://github.com/OP-TEE/optee_os/pull/1919
600[#1916]: https://github.com/OP-TEE/optee_os/pull/1916
601[#1915]: https://github.com/OP-TEE/optee_os/pull/1915
602[#1897]: https://github.com/OP-TEE/optee_os/pull/1897
603[#1856]: https://github.com/OP-TEE/optee_os/pull/1856
604[#1826]: https://github.com/OP-TEE/optee_os/pull/1826
605
606# OP-TEE - version 2.6.0
607
608[Link][github_commits_2_6_0] to a list of all commits between this release and
609the previous one (2.5.0).
610
611## New features
612
613* New supported platforms: Atmel SAMA5 ([#1714]), HiSilicon HiKey960 ([#1684]),
614  Rockchip RK322X ([#1666]), NXP LS1043A-RDB/LS1046A-RDB ([#1787]), Marvell
615  Armada 70x0/80x0 ([#1807]).
616* Dynamic shared memory (non-contiguous, non-secure memory can be mapped into
617  Trusted Applications VA space) ([#1631])
618* Dump TA call stack on panic ([#1858])
619* i.MX: PSCI reset ([#1849])
620* plat-ti: AM43xx: suspend/resume support ([#1822])
621* QEMU SMP support ([#1820])
622* plat-ti: AM43xx: disable TRNG ([#1816])
623* plat-ti: enable Secure Data Path by default ([#1815])
624* Improve symbolize.py ([#1778], [#1767], [#1766])
625* Early TAs (TAs linked in tee.bin) ([#1733])
626* Suspend/resume framework for arm32 and imx7d support ([#1729])
627* RK322X PSCI version, features and suspend support ([#1720])
628* arm32: handle aborts in system mode ([#1703])
629* i.MX: add SNVS SRTC support ([#1700])
630* GCC7 support ([#1693])
631* Improve detection of programming errors in locking code ([#1671], [#1670])
632* Support TEE RAM size larger than page directory size ([#1669])
633
634## Removed features
635
636* Remove TUI code ([#1842])
637
638## Bug fixes
639
640* Add missing synchronization barrier in core_mmu_map_pages() ([#1827])
641* Secure storage: REE FS: fix bug in error path ([#1801])
642* ASAN bug fixes ([#1799])
643* Fix race in core_mmu_user_mapping_is_active() ([#1785])
644* libutee: printf() and puts() fixes, add putchar() ([#1759], [#1754])
645* arm32: GICv3: fix FIQ masking in IRQ/ABT/SVC/UND handlers ([#1748])
646* arm32: preserve r12 in native_intr_handler() ([#1682])
647* arm64: fix print_kernel_stack() ([#1664])
648* benchmark: fix core data-abort ([#1658])
649
650## Security fixes or enhancements
651
652* crypto: fix software PRNG weaknesses
653  ([OP-TEE-2017-0001][OP-TEE-2017-0001]) ([#1843])
654
655## Tested on
656
657The release was tested successfully on the platforms listed below.
658If a platform is not listed, it means the release was not tested on this
659platform.
660
661<!-- ${PLATFORM}-${PLATFORM_FLAVOR}, ordered alphabetically -->
662* d02
663* hikey
664* hikey-hikey960
665* imx-mx6ulevk
666* imx-mx7dsabresd
667* ls-ls1021a??? (single core)
668* ls-ls1043ardb
669* ls-ls1046ardb
670* mediatek-mt8173
671* rcar
672* rockchip-rk322x
673* rpi3
674* sam
675* stm-b2260
676* stm-cannes
677* ti-???
678* vexpress-fvp
679* vexpress-juno
680* vexpress-qemu_armv8a
681* vexpress-qemu_virt
682
683[github_commits_2_6_0]: https://github.com/OP-TEE/optee_os/compare/2.5.0...2.6.0
684[#1858]: https://github.com/OP-TEE/optee_os/issues/1858
685[#1849]: https://github.com/OP-TEE/optee_os/issues/1849
686[#1843]: https://github.com/OP-TEE/optee_os/issues/1843
687[#1842]: https://github.com/OP-TEE/optee_os/issues/1842
688[#1827]: https://github.com/OP-TEE/optee_os/issues/1827
689[#1822]: https://github.com/OP-TEE/optee_os/issues/1822
690[#1820]: https://github.com/OP-TEE/optee_os/issues/1820
691[#1816]: https://github.com/OP-TEE/optee_os/issues/1816
692[#1815]: https://github.com/OP-TEE/optee_os/issues/1815
693[#1807]: https://github.com/OP-TEE/optee_os/issues/1807
694[#1801]: https://github.com/OP-TEE/optee_os/issues/1801
695[#1799]: https://github.com/OP-TEE/optee_os/issues/1799
696[#1787]: https://github.com/OP-TEE/optee_os/issues/1787
697[#1785]: https://github.com/OP-TEE/optee_os/issues/1785
698[#1778]: https://github.com/OP-TEE/optee_os/issues/1778
699[#1767]: https://github.com/OP-TEE/optee_os/issues/1767
700[#1766]: https://github.com/OP-TEE/optee_os/issues/1766
701[#1759]: https://github.com/OP-TEE/optee_os/issues/1759
702[#1754]: https://github.com/OP-TEE/optee_os/issues/1754
703[#1748]: https://github.com/OP-TEE/optee_os/issues/1748
704[#1733]: https://github.com/OP-TEE/optee_os/issues/1733
705[#1729]: https://github.com/OP-TEE/optee_os/issues/1729
706[#1720]: https://github.com/OP-TEE/optee_os/issues/1720
707[#1714]: https://github.com/OP-TEE/optee_os/issues/1714
708[#1703]: https://github.com/OP-TEE/optee_os/issues/1703
709[#1700]: https://github.com/OP-TEE/optee_os/issues/1700
710[#1693]: https://github.com/OP-TEE/optee_os/issues/1693
711[#1684]: https://github.com/OP-TEE/optee_os/issues/1684
712[#1682]: https://github.com/OP-TEE/optee_os/issues/1682
713[#1671]: https://github.com/OP-TEE/optee_os/issues/1671
714[#1670]: https://github.com/OP-TEE/optee_os/issues/1670
715[#1669]: https://github.com/OP-TEE/optee_os/issues/1669
716[#1666]: https://github.com/OP-TEE/optee_os/issues/1666
717[#1664]: https://github.com/OP-TEE/optee_os/issues/1664
718[#1658]: https://github.com/OP-TEE/optee_os/issues/1658
719[#1631]: https://github.com/OP-TEE/optee_os/issues/1631
720[OP-TEE-2017-0001]: https://www.op-tee.org/security-advisories/
721
722# OP-TEE - version 2.5.0
723
724[Link][github_commits_2_5_0] to a list of all commits between this release and
725the previous one (2.4.0).
726
727## New features
728
729* New supported platform: i.MX7D ([#1639])
730* Secure storage: anti-rollback protection for REE FS using RPMB FS ([#1630])
731* Assign non-secure DDR configuration from DT if CFG_DT=y ([#1623])
732* Add new image format: split image into three separate binaries suitable for
733  upcoming ARM Trusted Firmware ([#1589]).
734* Make alignment check configurable ([#1586])
735* drivers: add TZC380 driver ([#1578])
736* plat-imx: PSCI CPU off ([#1577])
737* 64-bit paging on QEMU v8 and HiKey ([#1575], [#1592])
738* Benchmark framework ([#1365])
739* Dump call stack of user TAs on abort ([#1552])
740* plat-hikey: enable Secure Data Path ([#1440])
741* Add interface to load and decrypt/authenticate user TAs ([#1513])
742* plat-ti: add secure paging support ([#1493])
743* plat-ti: add OTP hardware key support ([#1492])
744* Support ARM GICv3 ([#1465])
745
746## Removed features
747
748* stm-orly2 is not supported anymore ([#1650])
749* Remove secure storage based on SQL FS (`CFG_SQL_FS=y`) ([#1490])
750* Remove support for mapping user TAs with 1 MiB or 2 MiB granularity
751  (`CFG_SMALL_PAGE_USER_TA=n`) ([#1559]). TAs are always mapped using small
752  pages.
753
754## Bug fixes
755
756* Reduce size of non-pageable code ([#1621])
757* Ignore `TA_FLAG_MULTI_SESSION` and `TA_FLAG_INSTANCE_KEEP_ALIVE` when
758  `TA_FLAG_SINGLE_INSTANCE` is not set ([#1574])
759* libutee: remove buffering for AES GCM (PR#1573) and AES CTR ([#1580])
760* Fix ROUNDUP()/ROUNDDOWN() macros ([#1519])
761* Do not touch other bits in GICD_CTLR ([#1508])
762* Fix build issue with `DEBUG=y` and `CFG_TEE_CORE_LOG_LEVEL=0` ([#1502])
763* crypto: do not restrict hash size when algorithm is ECDSA ([#1497])
764
765## Security fixes or enhancements
766
767- crypto: fix RSA key leakage after fault injection attack
768  ([OP-TEE-2016-0003][OP-TEE-2016-0003])  ([#1610])
769* crypto: fix RSA key leakage after side channel attack
770  ([OP-TEE-2016-0002][OP-TEE-2016-0002]) ([#1610])
771* Make pager aliased pages not always writable ([#1551])
772* Support for no-exec RO and RW data ([#1459], [#1550])
773
774## New issues
775
776* armv7: some platform-specific code (`plat_cpu_reset_early()`) overwrites
777SCTLR bits configured by generic code. This affects alignment checks (`SCTLR.A`)
778and write-implies-no-exec (`SCTLR.WXN`, `SCTLR.UWXN`), which can therefore not
779be configured via the compile-time `CFG_` variables.
780* armv7: plat-imx: Cortex-A9 cores should enable branch prediction (`SCLTR.Z`)
781for improved performance.
782* [#1656] qemu_armv8a: init hangs when secure data path and pager are both
783  enabled.
784
785## Tested on
786
787In the list below, _standard_ means that the `xtest` program passed with
788its default configuration, while _extended_ means it was run successfully
789with the additional GlobalPlatform™ TEE Initial Configuration Test Suite
790v1.1.0.4.
791
792If a platform is not listed, it means the release was not tested on this
793platform.
794
795<!-- ${PLATFORM}-${PLATFORM_FLAVOR}, ordered alphabetically -->
796* d02: extended
797* hikey: extended
798* imx-mx6ulevk: standard
799* imx-mx6ullevk: standard
800* imx-mx7dsabresd: standard
801* ls-ls1021atwr: standard
802* mediatek-mt8173: standard
803* rcar-h3: standard
804* rpi3: standard
805* stm-b2260: extended
806* stm-cannes: extended
807* ti-am43xx: standard
808* ti-am57xx: standard
809* ti-dra7xx: standard
810* vexpress-fvp: standard
811* vexpress-juno: standard
812* vexpress-qemu_armv8a: standard
813* vexpress-qemu_virt: standard
814
815[github_commits_2_5_0]: https://github.com/OP-TEE/optee_os/compare/2.4.0...2.5.0-rc1
816[#1656]: https://github.com/OP-TEE/optee_os/issues/1656
817[#1650]: https://github.com/OP-TEE/optee_os/pull/1650
818[#1639]: https://github.com/OP-TEE/optee_os/pull/1639
819[#1630]: https://github.com/OP-TEE/optee_os/pull/1630
820[#1623]: https://github.com/OP-TEE/optee_os/pull/1623
821[#1621]: https://github.com/OP-TEE/optee_os/pull/1621
822[#1610]: https://github.com/OP-TEE/optee_os/pull/1610
823[#1592]: https://github.com/OP-TEE/optee_os/pull/1592
824[#1589]: https://github.com/OP-TEE/optee_os/pull/1589
825[#1586]: https://github.com/OP-TEE/optee_os/pull/1586
826[#1580]: https://github.com/OP-TEE/optee_os/pull/1580
827[#1578]: https://github.com/OP-TEE/optee_os/pull/1578
828[#1577]: https://github.com/OP-TEE/optee_os/pull/1577
829[#1574]: https://github.com/OP-TEE/optee_os/pull/1574
830[#1559]: https://github.com/OP-TEE/optee_os/pull/1559
831[#1551]: https://github.com/OP-TEE/optee_os/pull/1551
832[#1550]: https://github.com/OP-TEE/optee_os/pull/1550
833[#1519]: https://github.com/OP-TEE/optee_os/pull/1519
834[#1502]: https://github.com/OP-TEE/optee_os/pull/1502
835[#1365]: https://github.com/OP-TEE/optee_os/pull/1365
836[#1552]: https://github.com/OP-TEE/optee_os/pull/1552
837[#1513]: https://github.com/OP-TEE/optee_os/pull/1513
838[#1508]: https://github.com/OP-TEE/optee_os/pull/1508
839[#1493]: https://github.com/OP-TEE/optee_os/pull/1493
840[#1497]: https://github.com/OP-TEE/optee_os/pull/1497
841[#1492]: https://github.com/OP-TEE/optee_os/pull/1492
842[#1490]: https://github.com/OP-TEE/optee_os/pull/1490
843[#1465]: https://github.com/OP-TEE/optee_os/pull/1465
844[#1459]: https://github.com/OP-TEE/optee_os/pull/1459
845[#1440]: https://github.com/OP-TEE/optee_os/pull/1440
846[OP-TEE-2016-0003]: https://www.op-tee.org/security-advisories/
847[OP-TEE-2016-0002]: https://www.op-tee.org/security-advisories/
848
849# OP-TEE - version 2.4.0
850
851[Link][github_commits_2_4_0] to a list of all commits between this release and
852the previous one (2.3.0).
853
854Please note: this release is API-compatible with the previous one, but the
855Secure Storage internal format for the REE and SQL FS is not compatible due to
856commits [a238b74][commit_a238b74] ("core: REE FS: use the new hash tree
857interface") and [44e900e][commit_44e900e] ("core: SQL FS: use the new hash tree
858interface").
859
860## New features
861
862* Add porting guidelines
863
864* Add support for Secure Data Path which allows Client and Trusted Applications
865  to share references to secure memory
866
867* New supported platform: Texas Instruments AM57xx (`PLATFORM=ti-am57xx`)
868
869* ARMv7-A: add support for platform services in secure monitor and add these
870  services for the DRA7xx platform
871
872* SPI framework and PL022 driver cleanup and improvements
873
874* Use CNTPCT (when available) to add entropy to the software PRNG
875
876* Add GlobalPlatform Socket API for UDP and TCP (IPv4 and IPv6)
877
878* DRA7: add TRNG driver, enable GICv2 driver
879
880* Support load address larger than 4G
881
882* libutee: preserve error code when calling TEE_Panic() for easier
883  troubleshooting
884
885* Support TA profiling with gprof (-pg compiler switch)
886
887* Optimize the ELF loader for TAs when pager is enabled
888
889* Update documentation
890
891* Add paged secure shared memory that can be transferred between TAs as
892  needed
893
894* Introduce MOBJ abstraction
895
896* i.MX6: add PSCI "on" function
897
898* arm32: introduce PSCI framework
899
900## Bug fixes
901
902* Secure storage: improve integrity checking of the REE and SQL filesystems by
903  adding a hash tree on the internal data structures. Any external modification
904  is detected, except full rollback. Fixes [#1188][issue1188].
905
906* The linux driver will set the 'privileged' flag (TEE_GEN_CAP_PRIVILEGED) on
907  the device intended for use by tee-supplicant. Fixes [#1199][issue1199].
908
909* RPMB: don't try to program the RPMB key by default
910
911* Fix "make clean" error cases
912
913* Fix issue when resetting persistent storage enumerator [#1332][issue1332]
914
915* Fix TA panic when doing AES CTS with specific buffer sizes
916  [#1203][issue1203].
917
918## Known issues
919
920* On RPi3 xtest sometimes stall (rcu_sched self-detected stall on CPU) [#1353][issue1353]
921* For multi-core PSCI support is to be added for ls1021atwr in OP-TEE.
922* USB keyboard cannot be used to stop the u-boot timeout ([build issue131]).
923* Travis service (build.git) seems unstable from time to time.
924
925## Tested on
926
927In the list below, _standard_ means that the `xtest` program passed with
928its default configuration, while _extended_ means it was run successfully
929with the additional GlobalPlatform™ TEE Initial Configuration Test Suite
930v1.1.0.4.
931
932If a platform is not listed, it means the release was not tested on this
933platform.
934
935<!-- ${PLATFORM}-${PLATFORM_FLAVOR}, ordered alphabetically -->
936* d02: extended
937* hikey: extended
938* imx-mx6ulevk: standard
939* ls-ls1021atwr: standard (single core)
940* mediatek-mt8173: standard
941* rcar-h3: standard
942* rpi3: standard
943* stm-b2260: extended
944* ti-dra7xx: standard
945* vexpress-fvp: standard
946* vexpress-juno: standard
947* vexpress-qemu_armv8a: standard
948* vexpress-qemu_virt: standard
949* zynqmp-zc1751_dc1: standard
950* zynqmp-zc1751_dc2: standard
951* zynqmp-zcu102: standard
952
953[github_commits_2_4_0]: https://github.com/OP-TEE/optee_os/compare/2.3.0...2.4.0
954[issue1332]: https://github.com/OP-TEE/optee_os/issues/1332
955[issue1353]: https://github.com/OP-TEE/optee_os/issues/1353
956[build issue131]: https://github.com/OP-TEE/build/issues/131
957[commit_a238b74]: https://github.com/OP-TEE/optee_os/commit/a238b744b1b3
958[commit_44e900e]: https://github.com/OP-TEE/optee_os/commit/44e900eabfc1
959
960# OP-TEE - version 2.3.0
961
962[Link][github_commits_2_3_0] to a list of all commits between this release and
963the previous one (2.2.0).
964
965Please note: this release is API-compatible with the previous one, but the
966Secure Storage internal format for the REE FS is not compatible due to commit
967[361fb3e][commit_361fb3e] ("core: REE FS: use a single file per object").
968
969[commit_361fb3e]: https://github.com/OP-TEE/optee_os/commit/361fb3e
970
971## New features
972
973* New supported platform: Xilinx Zynq 7000 ZC702 (`PLATFORM=zynq7k-zc702`)
974
975* Add debug assertions to spinlocks and mutexes
976
977* Add more CP15 register access macros for Cortex-A9
978
979* ARMv7-A: redesign secure monitor to make it easier to register services
980
981* ARMv7-A: cleanup boot arguments
982
983* libutee: extend `TEE_CheckMemoryAccessRights()` with
984  `TEE_MEMORY_ACCESS_SECURE` and `TEE_MEMORY_ACCESS_NONSECURE`
985
986* plat-hikey: enable SPI by default and add sample test code
987
988* Consider `CFLAGS_ta_arm64` and `CFLAGS_ta_arm32` when building TAs
989
990* Secure storage refactoring
991  - Simplify interface with tee-supplicant. Minimize round trips with normal
992    world, especially by adding a cache for FS RPC payload data.
993  - REE FS: use a single file per object, remove block cache.
994
995* Print call stack in panic()
996
997## Bug fixes
998
999* Fix UUID encoding when communicating with normal world (use big endian
1000  mode instead of native endianness). Related to this, the string format
1001  for UUIDs has changed in tee-supplicant, so that TA file names now follow
1002  the format defined in RFC4122 (a missing hyphen was added). The old format
1003  is still supported, but deprecated, and will likely be removed with the
1004  next major release.
1005
1006* Drop write permission to non-writable ELF segments after TA loading is
1007  complete.
1008
1009* mm: fix confusing memory mapping debug traces
1010
1011* plat-ti: fix issues with MMU mapping
1012
1013* crypto: fix clearing of big numbers
1014
1015* build: allow spaces and double quotes in CFG_ variables
1016
1017* mm: use paddr_t to support both 32- and 64-bit architectures properly.
1018  Resolves 32-bit truncation error when pool is at top of 32 bit address
1019  space on 64-bit architecture.
1020
1021* plat-stm: support pager. Fix pager on ARMv7-A SMP boards.
1022
1023* Fix debug output of Trusted Applications (remove "ERROR: TEE-CORE:" prefix)
1024
1025* Do not consider TA memref parameters as TA private memory
1026
1027* crypto: fix `cipher_final()` which would not call `cbc_done()` for CBC_MAC
1028  algorithms
1029
1030* fix for 16-way PL310
1031
1032* arm32: fix call stack unwinding (`print_stack()`)
1033
1034* arm32: fix spinlock assembly code
1035
1036* plat-stm, plat-imx: fix SCR initalization
1037
1038* Fix user L1 MMU entries calculation (non-LPAE), allowing TTBCR.N values
1039  other than 7.
1040
1041* mtk-mt8173: fix panic caused by incorrect size of SHMEM
1042
1043* plat-stm: fix RNG driver (non-flat mapping)
1044
1045## Known issues
1046
1047* New issues open on GitHub
1048  * [#1203][issue1203] AES-CTS mode will fail when inlen=0x100, in_incr=0x80
1049  * [#1199][issue1199] Both tee and teepriv reported GlobalPlatform compliant
1050  * [#1188][issue1188] Secure storage (SQL FS and REE FS): blocks not tied to
1051    current meta header
1052  * [#1172][issue1172] paddr_t should be larger than 32 bits when
1053    CFG_WITH_LPAE is enabled
1054
1055## Tested on
1056
1057In the list below, _standard_ means that the `xtest` program passed with
1058its default configuration, while _extended_ means it was run successfully
1059with the additional GlobalPlatform™ TEE Initial Configuration Test Suite
1060v1.1.0.4.
1061
1062If a platform is not listed, it means the release was not tested on this
1063platform.
1064
1065<!-- ${PLATFORM}-${PLATFORM_FLAVOR}, ordered alphabetically -->
1066* d02: extended
1067* hikey: extended
1068* imx-mx6ulevk: standard
1069* ls-ls1021atwr: standard
1070* mediatek-mt8173: standard
1071* rcar-h3: standard
1072* rpi3: standard
1073* stm-b2260: extended
1074* stm-cannes: extended
1075* ti-dra7xx: standard
1076* vexpress-fvp: standard
1077* vexpress-juno: standard
1078* vexpress-qemu_armv8a: standard
1079* vexpress-qemu_virt: extended
1080* zynqmp-zcu102: standard
1081
1082[github_commits_2_3_0]: https://github.com/OP-TEE/optee_os/compare/2.2.0...2.3.0
1083[issue1172]: https://github.com/OP-TEE/optee_os/issues/1172
1084[issue1188]: https://github.com/OP-TEE/optee_os/issues/1188
1085[issue1199]: https://github.com/OP-TEE/optee_os/issues/1199
1086[issue1203]: https://github.com/OP-TEE/optee_os/issues/1203
1087
1088# OP-TEE - version 2.2.0
1089
1090[Link][github_commits_2_2_0] to a list of all commits between this release and
1091the previous one (2.1.0).
1092
1093Please note: this release is API-compatible with the previous one, but the
1094Secure Storage internal format is not compatible due to commit
1095[fde4a75][commit_fde4a75] ("storage: encrypt the FEK with a TA-specific key").
1096
1097[commit_fde4a75]: https://github.com/OP-TEE/optee_os/commit/fde4a75
1098
1099## New features
1100
1101* New supported platforms:
1102	* Freescale i.MX6 Quad SABRE Lite & SD
1103	* HiSilicon D02
1104	* Raspberry Pi3
1105	* Renesas RCAR H3
1106	* STMicroelectronics b2260 - h410
1107
1108* Pager: Support paging of read/write pages by encrypting them with AES-GCM.
1109  Support paging of user TAs. Add global setting for TZSRAM size
1110  (CFG_CORE_TZSRAM_EMUL_SIZE), defaults to 300K.
1111
1112* Support for more than 8 CPU cores
1113
1114* Added SPI framework and PL022 driver
1115
1116* GPIO: framework supports multiple instances, PL061 driver now has get/set
1117  interrupt and mode control functions
1118
1119* Secure storage: Encrypt the File Encryption Key with a TA-specific key for
1120  better TA isolation. Add build-time and run-time support for multiple storage
1121  backends. Add SQLite backend.
1122
1123* Trusted User Interface: some code is introduced to support the implementation
1124  of TUI. This includes: a generic framebuffer driver, display and serial
1125  abstractions, and drivers for PL111 (LCD) / PL050 (KMI) / TZC400 and PS2
1126  mouse.
1127
1128* AES acceleration using ARMv8-A Cryptographic Extensions instructions is
1129  now supported in AArch32 mode
1130
1131* Add support for GCC flags: -fsanitize=undefined and -fsanitize=kernel-address
1132
1133* Use a global setting for core heap size (CFG_CORE_HEAP_SIZE), 64K by default.
1134
1135* Add macros to unwind and print the call stack of TEE core
1136
1137* Libtomcrypt: sync with the latest `develop` branch.
1138
1139* The Trusted Application SDK (ta_dev_kit.mk) can produce libraries (.a)
1140
1141* Rework assertions and TEE core panics and properly honor NDEBUG
1142
1143## Bug fixes
1144
1145* Fix incorrect algorithm passed to cipher.final()
1146
1147* scripts: support Python 2.x and 3.x
1148
1149* Secure storage: Add proper locking to support concurrent access. Fix sign
1150  extension bug with offset parameter of syscall storage_obj_seek which could
1151  cause errors in Aarch32 mode. Fix reading beyond end of file.
1152
1153* Aarch64: mask all maskable exceptions before doing a normal return from call.
1154
1155* Device Tree: add no-map property to OP-TEE node in reserved-memory.
1156
1157* LibTomcrypt: fix CVE-2016-6129
1158
1159## Known issues
1160
1161* New issues open on GitHub
1162  * [#1093][issue1093] rcar-h3: xtest 6010 hangs
1163  * [#1092][issue1092] rcar-h3: xtest 4010 fails
1164  * [#1081][issue1081] Bad mapping of TA secure memref parameters
1165  * [#1071][issue1071] __data_end may not correctly represent text start position when using CFG_WITH_PAGER
1166  * [#1069][issue1069] armv7/Aarch32: crash in stack unwind (DPRINT_STACK())
1167
1168## Tested on
1169
1170In the list below, _standard_ means that the `xtest` program passed with
1171its default configuration, while _extended_ means it was run successfully
1172with the additional GlobalPlatform™ TEE Initial Configuration Test Suite
1173v1.1.0.4.
1174
1175If a platform is not listed, it means the release was not tested on this
1176platform.
1177
1178<!-- ${PLATFORM}-${PLATFORM_FLAVOR}, ordered alphabetically -->
1179* d02: extended
1180* hikey: extended
1181* imx-mx6qsabrelite: standard
1182* imx-mx6qsabresd: standard
1183* rcar-h3: standard, pass except issues [#1092][issue1092] and [#1093][issue1093]
1184* rpi3: standard
1185* stm-b2260: standard
1186* stm-cannes: standard
1187* ti-dra7xx: standard
1188* vexpress-fvp: standard
1189* vexpress-juno: standard
1190* vexpress-qemu_armv8a: standard
1191* vexpress-qemu_virt: extended
1192* zynqmp-zcu102: standard
1193
1194[github_commits_2_2_0]: https://github.com/OP-TEE/optee_os/compare/2.1.0...2.2.0
1195[issue1081]: https://github.com/OP-TEE/optee_os/issues/1081
1196[issue1071]: https://github.com/OP-TEE/optee_os/issues/1071
1197[issue1069]: https://github.com/OP-TEE/optee_os/issues/1069
1198[issue1092]: https://github.com/OP-TEE/optee_os/issues/1092
1199[issue1093]: https://github.com/OP-TEE/optee_os/issues/1093
1200
1201# OP-TEE - version 2.1.0
1202
1203## New features
1204
1205* New supported platforms:
1206	* Xilinx Zynq UltraScale+ MPSOC
1207	* Spreadtrum SC9860
1208
1209* GCC5 support
1210
1211* Non Linear Mapping support: In OP-TEE kernel mode, the physical to virtual
1212  addresses was linear until this release, meaning the virtual addresses
1213  were equal to the physical addresses. This is no more the case in this
1214  release.
1215
1216* Font rendering routines have been introduced in order to ease an
1217  implementation of Trusted UI.
1218
1219* File Storage: Possibility to use the normal world filesystem and the RPMB
1220  implementations simultaneously.
1221
1222* AOSP: There is a [local manifest][aosp_local_manifest] to build OP-TEE into an AOSP build, running on HiKey.
1223  Please refer to the README in that repo for instructions.
1224
1225* OpenEmbedded: In addition to the makefile-based build described in the optee_os README, there is an
1226  [OpenEmbedded-based build][oe_build] that supports Qemu (32-bit), FVP (64-bit), and HiKey (64-bit).
1227  Please refer to the README in that repo for instructions.
1228
1229* [Link][github_commits_2_1_0] to a list of all commits between this and
1230  previous release.
1231
1232
1233## Tested on
1234Definitions:
1235
1236| Type | Meaning |
1237| ---- | ------- |
1238| Standard tests | The [optee_test][optee_test] project. |
1239| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. |
1240
1241*	ARM Juno Board (vexpress-juno), standard.
1242*	Foundation Models (vexpress-fvp), standard tests + extended tests,
1243	using FVP ARM V8 Foundation Platformr0p0 (platform build 10.0.37)
1244*	FSL i.MX6 UltraLite EVK (imx), standard.
1245*	FSL ls1021a (ls-ls1021atwr), standard tests.
1246*	HiKey (hikey), standard + extended tests.
1247*	QEMU (vexpress-qemu), standard + extended tests.
1248*	Xilinx Zynq UltraScale+ MPSOC, standard tests
1249
1250Note that the following platform has not been tested:
1251*	MTK8173-EVB (mediatek-mt8173)
1252
1253
1254## Known issues
1255* Issue(s) open on GitHub
1256  * [#868][pr868]: python-wand font generation sometimes times out
1257  * [#863][pr863]: "double free or corruption" error when building optee_os
1258  * [#858][pr858]: UUIDs in binary format have wrong endinanness
1259  * [#857][pr857]: Formatting of UUIDs is incorrect
1260  * [#847][pr847]: optee_os panic(TEE-CORE: Assertion)
1261  * [#838][pr838]: TUI font rendering is _very_ slow
1262  * [#814][pr814]: Persistent objects : save informations after close
1263  * [#665][pr665]: xtest 1013 stalled on HiKey when log levels are 4 and optee_os is on its own UART
1264  * [#506][pr506]: tee-supplicant panic & ta panic
1265
1266[github_commits_2_1_0]: https://github.com/OP-TEE/optee_os/compare/2.0.0...2.1.0
1267[pr868]: https://github.com/OP-TEE/optee_os/issues/868
1268[pr863]: https://github.com/OP-TEE/optee_os/issues/863
1269[pr858]: https://github.com/OP-TEE/optee_os/issues/858
1270[pr857]: https://github.com/OP-TEE/optee_os/issues/857
1271[pr847]: https://github.com/OP-TEE/optee_os/issues/847
1272[pr838]: https://github.com/OP-TEE/optee_os/issues/838
1273[pr814]: https://github.com/OP-TEE/optee_os/issues/814
1274[pr665]: https://github.com/OP-TEE/optee_os/issues/665
1275[aosp_local_manifest]: https://github.com/linaro-swg/optee_android_manifest
1276[oe_build]: https://github.com/linaro-swg/oe-optee
1277
1278# OP-TEE - version 2.0.0
1279
1280## New features
1281
1282* Generic driver: A new generic TEE driver is in the process of being
1283  [upstreamed][gendrv_v9].
1284  In this release, [OP-TEE/optee_linuxdriver][optee_linuxdriver] is no more used.
1285  Instead, linux v4.5 is being patched using the proposed Generic TEE Driver,
1286  as it can be found in [https://github.com/linaro-swg/linux/tree/optee][linux_optee]
1287
1288* RPMB support: Secure Storage can now use Replay Protected Memory Block (RPMB) partition
1289  of an eMMC device. Check the [full documentation][rpmb_doc]
1290
1291* Hard-float ABI is now available.
1292
1293* [Link][github_commits_2_0_0] to a list of all commits between this and
1294  previous release.
1295
1296
1297## Tested on
1298Definitions:
1299
1300| Type | Meaning |
1301| ---- | ------- |
1302| Standard tests | The [optee_test][optee_test] project. |
1303| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. |
1304
1305*	ARM Juno Board (vexpress-juno), standard.
1306*	Foundation Models (vexpress-fvp), standard tests + extended tests,
1307	using FVP ARM V8 Foundation Platformr0p0 (platform build 9.5.40)
1308*	FSL ls1021a (ls-ls1021atwr), standard.
1309*	HiKey (hikey), standard.
1310*	MTK8173-EVB (mediatek-mt8173), standard.
1311*	QEMU (vexpress-qemu), standard + extended tests.
1312*	STM Cannes (stm-cannes), standard + extended tests.
1313
1314## Known issues
1315* Issue(s) open on GitHub
1316  * [#40][prld40] BUG_ON() when re-using RPC buffer to tee-supplicant
1317  * [#506][pr506]: tee-supplicant panic & ta panic
1318
1319[github_commits_2_0_0]: https://github.com/OP-TEE/optee_os/compare/1.1.0...2.0.0
1320[rpmb_doc]: https://github.com/OP-TEE/optee_os/blob/master/documentation/secure_storage_rpmb.md
1321[optee_linuxdriver]: https://github.com/OP-TEE/optee_linuxdriver
1322[gendrv_v9]: https://lkml.org/lkml/2016/4/1/205
1323[linux_optee]: https://github.com/linaro-swg/linux/tree/optee
1324
1325
1326# OP-TEE - version 1.1.0
1327
1328
1329## New features
1330
1331* Softfloat library: floating point support is now available in 32bits TA.
1332
1333* Support running 64-bits TA: on ARMv8-A platform, TA can be compiled in
1334  AArch32 and/or in AArch64 in case the core is compiled in AArch64.
1335  An example can be found in HiKey configuration file. Using the following
1336  excerpt code, the user TA libraries are compiled in both AArch32 and
1337  AArch64, and can be found in `out/arm-plat-hikey/export-ta_arm32` and
1338  `out/arm-plat-hikey/export-ta_arm64`
1339
1340```
1341    ta-targets = ta_arm32
1342    ta-targets += ta_arm64
1343```
1344
1345* Concurrent TA support: multiple TA can run in parallel on
1346  several cores.
1347
1348* New tests added in xtest test suite: concurrent TA (xtest 1013),
1349  floating point tests (xtest 1006 and os_test TA) and corruption
1350  file storage (xtest 20000)
1351
1352* [Link][github_commits_1_1_0] to a list of all commits between this and
1353  previous release.
1354
1355
1356## Tested on
1357Definitions:
1358
1359| Type | Meaning |
1360| ---- | ------- |
1361| Standard tests | The [optee_test][optee_test] project. |
1362| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. |
1363| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. |
1364
1365*	Foundation Models (vexpress-fvp), standard tests + extended tests,
1366	using FVP ARM V8 Foundation Platformr0p0 (platform build 9.5.40)
1367*	HiKey (hikey), standard + extended tests.
1368*	MT8173 (mediatek), standard tests.
1369*	QEMU (vexpress-qemu), standard + extended tests.
1370*	STM Cannes (stm-cannes), standard + extended tests.
1371
1372## Known issues
1373* Secure Storage is implemented, but note that anti-rollback protection
1374  is not implemented yet.
1375
1376* Issue(s) open on GitHub
1377  * [#40][prld40] BUG_ON() when re-using RPC buffer to tee-supplicant
1378  * [#296][pr296]: Connecting RPMB to the storage APIs.
1379  * [#493][pr493]: setup_juno_optee: unable to find pre-built binaries
1380  * [#506][pr506]: tee-supplicant panic & ta panic
1381
1382[prld40]: https://github.com/OP-TEE/optee_linuxdriver/issues/40
1383[pr506]: https://github.com/OP-TEE/optee_os/issues/506
1384[github_commits_1_1_0]: https://github.com/OP-TEE/optee_os/compare/1.0.1...1.1.0
1385
1386
1387
1388# OP-TEE - version 1.0.0
1389
1390OP-TEE is now maintained by Linaro. Contributors do not need to
1391sign a CLA anymore, but must follow the rules of the [DCO][DCO]
1392(Developer Certificate of Origin) instead.
1393
1394
1395## New features
1396
1397* Add hardware support for Texas Instruments DRA7xx, ARMv7 (plat-ti)
1398
1399* GlobalPlatform™ TEE Internal Core API Specification v1.1,
1400  including ECC algorithms.
1401
1402* Secure Storage: Files stored by the REE are now encrypted. Operations
1403  are made atomic in order to prevent inconsistencies in case of errors
1404  during the storage operations. [Slides][LCStorage] describing the
1405  Secure Storage have been presented at the Linaro Connect SFO15.
1406
1407* Change of format of the Trusted Applications: they follow a
1408  [signed ELF format][elf]
1409
1410* Rework thread [synchronization][synchro] in optee_os.
1411
1412* Use of ARMv8 native cryptographic support.
1413
1414* [OP-TEE/optee_test][optee_test] test suite is released.
1415
1416* Introduce [OP-TEE/manifest][manifest] and [OP-TEE/build][build]
1417  to setup and build QEMU, FVP, HiKey and Mediatek platforms. Setup scripts
1418  that used to be in optee_os have been removed, except for Juno board.
1419
1420* [Link][github_commits_1_0_0] to a list of all commits between this and
1421  previous release.
1422
1423
1424## Tested on
1425Definitions:
1426
1427| Type | Meaning |
1428| ---- | ------- |
1429| Standard tests | The [optee_test][optee_test] project. |
1430| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. |
1431| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. |
1432
1433*	ARM Juno Board (vexpress-juno), standard + extended tests.
1434*	Foundation Models (vexpress-fvp), standard tests.
1435*	HiKey (hikey), standard + extended tests.
1436*	MT8173 (mediatek), standard tests.
1437*	QEMU (vexpress-qemu), standard + extended tests.
1438*	STM Cannes (stm-cannes), standard + extended tests.
1439
1440## Known issues
1441* Secure Storage is implemented, but note that anti-rollback protection
1442  is not implemented yet.
1443
1444* Issue(s) open on GitHub
1445  * [#210][pr210]: libteec.so 32-bit does not communicate well
1446    with 64-bit kernel module
1447  * [#296][pr296]: Connecting RPMB to the storage APIs.
1448  * [#493][pr493]: setup_juno_optee: unable to find pre-built binaries
1449  * [#494][pr494]: HiKey: xtest 7671 fails (1.0.0-rc2)
1450
1451[pr210]: https://github.com/OP-TEE/optee_os/issues/210
1452[pr296]: https://github.com/OP-TEE/optee_os/issues/296
1453[pr493]: https://github.com/OP-TEE/optee_os/issues/493
1454[pr494]: https://github.com/OP-TEE/optee_os/issues/494
1455[github_commits_1_0_0]: https://github.com/OP-TEE/optee_os/compare/0.3.0...1.0.0
1456[DCO]: https://github.com/OP-TEE/optee_os/blob/master/Notice.md#contributions
1457[LCStorage]: http://www.slideshare.net/linaroorg/sfo15503-secure-storage-in-optee
1458[synchro]: https://github.com/OP-TEE/optee_os/blob/master/documentation/optee_design.md#4-thread-handling
1459[elf]: https://github.com/OP-TEE/optee_os/blob/master/documentation/optee_design.md#format
1460[optee_test]: https://github.com/OP-TEE/optee_test
1461[manifest]: https://github.com/OP-TEE/manifest
1462[build]: https://github.com/OP-TEE/build
1463
1464
1465
1466# OP-TEE - version 0.3.0
1467
1468## New features
1469
1470*   Add hardware support for
1471	*   Mediatek MT8173 Board, ARMv8-A (plat-mediatek)
1472	*   Hisilicon HiKey Board, ARMv8-A (plat-hikey)
1473*   AArch64 build of optee_os is now possible through the configuration `CFG_ARM64_core=y`
1474*	Secure Storage: Data can be encrypted prior to their storage in the non-secure.
1475	Build is configured using `CFG_ENC_FS=y`
1476*	A generic boot scheme can be used. Boot configuration is commonalized. This helps
1477	new board support. It is applied on plat-hikey, plat-vexpress, plat-mediatek, plat-stm
1478    and plat-vexpress.
1479
1480## Tested on
1481Definitions:
1482
1483| Type | Meaning |
1484| ---- | ------- |
1485| Standard tests | The optee_test project. |
1486| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. |
1487| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. |
1488
1489*	ARM Juno Board (vexpress-juno), standard tests.
1490*	Foundation Models (vexpress-fvp), standard tests.
1491*	HiKey (hikey), standard tests.
1492*	MT8173 (mediatek), standard tests.
1493*	QEMU (vexpress-qemu), standard + extended tests.
1494*	STM Cannes (stm-cannes), standard + extended tests.
1495
1496-------------------------------------------
1497
1498# OP-TEE - version 0.2.0
1499
1500## New features
1501
1502### Linux Driver Refactoring
1503
1504Linux Driver has been refactored. It is now split in two parts:
1505*	optee.ko, the generic Linux driver. It contains all functionality
1506	common to all backends.
1507*	optee_armtz.ko, a specific backend dedicated to the TrustZone optee.
1508	It depends on optee.ko.
1509
1510Loading the TrustZone optee linux driver module is now performed using
1511
1512    modprobe optee_armtz
1513
1514Thanks to the dependency between the generic and the backend modules, optee.ko is then automatically loaded.
1515
1516### Misc new features
1517* support PL310 lock down at TEE boot
1518* add 64bits support (division / print)
1519
1520## Tested on
1521Definitions:
1522
1523| Type | Meaning |
1524| ---- | ------- |
1525| Standard tests | The optee_test project. |
1526| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. |
1527| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. |
1528
1529*   ARM Juno Board (vexpress-juno), standard tests + extended tests.
1530
1531*   Foundation Models (vexpress-fvp), standard + extended tests.
1532
1533*   QEMU (vexpress-qemu), standard + extended tests.
1534
1535*   STM Cannes (stm-cannes), standard + extended tests.
1536
1537
1538## Issues resolved since last release
1539*	Fix user TA trace issue, in order each TA is able to select its own trace level
1540
1541
1542-------------------------------------------
1543# OP-TEE - version 0.1.0
1544
1545## New features
1546Below is a summary of the most important features added, but at the end you will
1547find a link that present you all commits between the current and previous
1548release tag.
1549
1550*   GlobalPlatform Client API v1.0 support.
1551
1552*   GlobalPlatform Internal API v1.0 support.
1553
1554*   GlobalPlatform Secure Elements v1.0 support.
1555
1556*   Add hardware support for
1557
1558    *   Allwinner A80, ARMv7-A.
1559
1560    *   ARM Juno Board, ARMv8-A.
1561
1562    *   Foundation Models, ARMv8-A.
1563
1564    *   Fast Models, ARMv8-A.
1565
1566    *   QEMU, ARMv7-A.
1567
1568    *   STM Cannes, ARMv7-A.
1569
1570    *   STM Orly2, ARMv7-A.
1571
1572*   Add LibTomCrypt as the default software cryptographic library.
1573
1574*   Add cryptographic abstraction layer in on secure side to ease the use of
1575    other cryptographic software libraries or adding support for hardware
1576    acceleration.
1577
1578*   Extended cryptographic API with support for HKDF, Concat KDF and PBKDF2.
1579
1580*   SHA-1 and SHA-256 ARMv8-A crypto extension implementation.
1581
1582*   Enabled paging support in OP-TEE OS.
1583
1584*   Add support for xtest (both standard and extended) in QEMU and FVP setup
1585    scripts.
1586
1587*   Add documentation for the OS design, cryptographic abstraction layer, secure
1588    elements design, the build system, GitHub usage, key derivation extensions,
1589    ARM-Trusted Firmware usage within OP-TEE and GlobalPlatform usage within
1590    OP-TEE.
1591
1592*   Integrate support for Travis CI.
1593
1594*   [Link][github_commits_0_1_0] to a list of all commits between this and
1595    previous release.
1596
1597
1598## Tested on
1599Definitions:
1600
1601| Type | Meaning |
1602| ---- | ------- |
1603| Standard tests | The optee_test project. |
1604| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.0.0. |
1605| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. |
1606
1607*   Allwinner A80 (plat-sunxi), hello world test.
1608
1609*   ARM Juno Board (vexpress-juno), standard tests.
1610
1611*   Foundation Models (plat-vexpress-fvp), standard + extended tests
1612
1613*   QEMU (plat-vexpress-qemu), standard + extended tests (and Secure Elements
1614    tested separately).
1615
1616*   STM Cannes (plat-stm-cannes), standard + extended tests.
1617
1618
1619## Issues resolved since last release
1620N/A since this is the first release tag on OP-TEE.
1621
1622
1623## Known issues
1624*   Storage is implemented, but not "Secure storage", meaning that a client
1625    needs to do encrypt files on their own before storing the files.
1626
1627*   Issue(s) open on GitHub
1628    *   [#95][pr95]: An error about building the test code of libtomcrypt.
1629
1630    *   [#149][pr149]: when testing optee os with arm trusted firmware (I
1631	utilized optee os tee.bin as bl32 image) on juno platform, I got an
1632        error.
1633
1634    *   [#161][pr161]: tee_svc_cryp.c lacks accessibility checks on
1635        user-supplied TEE_Attributes.
1636
1637[hello_world]: https://github.com/jenswi-linaro/lcu14_optee_hello_world
1638[github_commits_0_1_0]: https://github.com/OP-TEE/optee_os/compare/b01047730e77127c23a36591643eeb8bb0487d68...999e4a6c0f64d3177fd3d0db234107b6fb860884
1639[pr95]: https://github.com/OP-TEE/optee_os/issues/95
1640[pr149]: https://github.com/OP-TEE/optee_os/issues/149
1641[pr161]: https://github.com/OP-TEE/optee_os/issues/161
1642
1643*   Global Platform Device Internal Core API v1.1
1644    *   [#230][pr230]: Persistent object corruption support (TEE_ERROR_CORRUPT_OBJECT/_2)
1645    *   [#230][pr230]: Persistent object access support (TEE_ERROR_STORAGE_NOT_AVAILABLE/_2)
1646