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