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