1e41f4b71Sopenharmony_ci# Upload and Download Subsystem Changelog
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ciCompared with OpenHarmony 4.1.2.3, OpenHarmony 4.0 has the following API changes in the request subsystem.
4e41f4b71Sopenharmony_ci
5e41f4b71Sopenharmony_ci## cl.request.1 Removal of Error Code 21900005 task mode error
6e41f4b71Sopenharmony_ci
7e41f4b71Sopenharmony_ciIn earlier versions, the **on('progress')**, **on('complete')**, **on('failed')**, **off('progress')**, **off('complete')**, **off('failed')**, **pause**, and **resume** APIs take effect only for foreground tasks. In this version, they work for both foreground and background tasks. This means that, calling these APIs will no longer return the error code **21900005 task mode error**.
8e41f4b71Sopenharmony_ci
9e41f4b71Sopenharmony_ci**Change Impact**
10e41f4b71Sopenharmony_ci
11e41f4b71Sopenharmony_ciApplications developed based on earlier versions may need to be adapted to the changed error codes. Otherwise, the service logic may be affected.
12e41f4b71Sopenharmony_ci
13e41f4b71Sopenharmony_ci**Key API/Component Changes**
14e41f4b71Sopenharmony_ci
15e41f4b71Sopenharmony_ci| Module         | Class          | Method/Attribute/Enum/Constant                                                                                                          | Change Type     |
16e41f4b71Sopenharmony_ci|--------------|--------------|--------------------------------------------------------------------------------------------------|--------------|
17e41f4b71Sopenharmony_ci| ohos.request | Task      | on(event: 'progress', callback: (progress: Progress) => void): void;                                         | Changed|
18e41f4b71Sopenharmony_ci| ohos.request | Task      | off(event: 'progress', callback?: (progress: Progress) => void): void;                                       | Changed|
19e41f4b71Sopenharmony_ci| ohos.request | Task      | on(event: 'completed', callback: (progress: Progress) => void): void;                                      | Changed|
20e41f4b71Sopenharmony_ci| ohos.request | Task      | off(event: 'completed', callback?: (progress: Progress) => void): void;                                    | Changed|
21e41f4b71Sopenharmony_ci| ohos.request | Task      | on(event: 'failed', callback: (progress: Progress) => void): void;                                              | Changed|
22e41f4b71Sopenharmony_ci| ohos.request | Task      | off(event: 'failed', callback?: (progress: Progress) => void): void;                                            | Changed|
23e41f4b71Sopenharmony_ci| ohos.request | Task      | pause(callback: AsyncCallback<void>): void;                                                                         | Changed|
24e41f4b71Sopenharmony_ci| ohos.request | Task      | pause(): Promise<void>;                                                                                                       | Changed|
25e41f4b71Sopenharmony_ci| ohos.request | Task      | resume(callback: AsyncCallback<void>): void;                                                                       | Changed|
26e41f4b71Sopenharmony_ci| ohos.request | Task      | resume(): Promise<void>;                                                                                                     | Changed|
27e41f4b71Sopenharmony_ci
28e41f4b71Sopenharmony_ci**Adaptation Guide**
29e41f4b71Sopenharmony_ci
30e41f4b71Sopenharmony_ciAdapt the code based on the error code changes.
31