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