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