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