Apache Cordova 团队很高兴地宣布新的插件发布,同时我们将核心插件迁移到 npm!
- 我们也鼓励第三方插件开发者开始将其插件发布到 npm!
- 要开始使用来自 npm 的插件,开发者需要将其 Cordova CLI 更新到 5.0.0 或更高版本。请在 发布博客文章中阅读有关 Cordova CLI 5.0.0 的信息。
随着迁移到 npm,我们决定重命名我们的核心插件,以提高可读性,并更好地适应 npm 生态系统。
- 我们所有的核心插件都已将其 ID 从
org.apache.cordova.*
更改为cordova-plugin-*
。 - 开发者现在可以使用命令
cordova plugin add cordova-plugin-device
安装插件。使用新的 ID 将直接从 npm 获取插件。
我们当前的 Cordova 插件注册表 (CPR) 将继续运行至少 6 个月(2015 年 10 月 15 日
),因为我们将帮助插件开发者过渡到 npm。 这也将允许当前的 Cordova 开发者将其 CLI
升级到 5.0.0 或更高版本。
- 我们将在
2015 年 7 月 15 日
将 CPR 切换为只读模式。
要在 npm 上查找插件,请搜索 ecosystem:cordova。我们正在与 npm 合作以提高可发现性,并将在今年晚些时候宣布更多消息。我们鼓励所有第三方插件开发者在其插件的 package.json
中添加 ecosystem:cordova
作为关键字。
插件作者:将插件迁移到 npm 的步骤
- 可选 决定是否要更改插件的
id
。 如果您决定更改它,- 更新
plugin.xml
中的id
,并使用新的id
更新您的自述文件。 - 发送拉取请求,将您的新 id 和旧 id 添加到 Cordova Registry Mapper。
- 我们将该模块集成到 Cordova CLI 中,以警告用户在将插件添加到其项目时使用新的
id
。
- 更新
- 将
package.json
添加到您的插件,- 注意:为了保持简单,请确保
plugin.xml
中的id
与package.json
中的package-name
相同。 - 使用
plugman createpackagejson [插件目录]
创建package.json
。- 这将根据
plugin.xml
中的现有值创建默认值。 - 它还会自动将关键字
ecosystem:cordova
添加到您新生成的package.json
文件中。 - 此外,一个 cordova 键将添加到您的
package.json
中,我们计划在未来的工具更新中使用它。
- 这将根据
- 查看 cordova-plugin-device 的
package.json
,了解在运行plugman createpackagejson [插件目录]
命令后,您的package.json
应有的样子示例。 - 插件仍然需要
plugin.xml
才能安装到 Cordova 项目中。
- 注意:为了保持简单,请确保
- 使用
npm publish [插件目录]
将您的插件发布到 npm。
新的白名单插件
我们最近发布了 cordova-plugin-whitelist 和 cordova-plugin-legacy-whitelist。我们已经改进了从 [email protected]
开始的白名单工作方式。通过此更改,现在支持设置内容安全策略 (CSP)。默认情况下,在没有 cordova-plugin-whitelist
的情况下会阻止网络请求,因此即使允许所有请求,甚至在您使用 CSP 时,也要安装此插件。
cordova-plugin-legacy-whitelist
允许 [email protected]
项目继续使用旧的白名单方法。我们建议使用 cordova-plugin-whitelist
而不是 cordova-plugin-legacy-whitelist
。
其他平台将在未来的版本中支持 cordova-plugin-whitelist
。要了解有关白名单的更多信息,请阅读 [email protected]
发布博客文章。
以下插件今天已更新
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
要更新您现有的插件,您需要将 Cordova CLI
的版本更新到 5.0.0。
E.g. To update your cli:
`npm install -g [email protected]`
然后删除您的旧插件并使用新的 ID 重新添加它。
E.g. To update your camera plugin:
`cordova plugin rm org.apache.cordova.camera`
`cordova plugin add cordova-plugin-camera`
插件更改包括
- CB-8538 添加了
package.json
文件 - CB-8683 将
plugin-id
更改为package-name
- 使用
TRAVIS_BUILD_DIR
,通过 npm 安装 paramedic - 添加
travis.yml
以使用 paramedic 进行 CI - 添加了 apache/travis 徽章 - 在 INFRA 更新 github 集成之前不会显示
- CB-8808 修复了在 Windows Phone 8.1 上通过测试的问题
- CB-8831 Windows 添加了对可用
API
的额外检查 - 添加 Android+FireOS 警告,告诉开发人员长时间使用会耗尽电池电量
- CB-7971 添加对 Windows Phone 8.1 的
cordova-plugin-battery-status
支持 - CB-8659 iOS 4.0.x 兼容性:删除
initWithWebView
方法的使用
- CB-8653 更新的自述文件
- CB-8780 使用主线程显示弹出窗口。 修复了弹出窗口的缓慢问题
- CB-8746 提高了文件依赖项的版本
- CB-8706 如果
saveToPhotoAlbum
为 true,则使用filePicker
- CB-8706 从
xml
中删除不必要的功能 - CB-8747 更新了依赖项,添加了对等依赖项
- CB-8782 更新了文档以讨论
allowEdit
怪癖,它不是 100% 工作,但比以前好 - CB-8782 修复了流程,以便我们保存裁剪后的图像并使用它,而不是原始未裁剪的图像。 裁剪仅支持 G+ 照片裁剪,其他裁剪可能无法工作,具体取决于 OEM
- CB-8740 删除了在三星 Galaxy S3 上失败的
FileHelper
调用,既然我们有了真实路径,我们只需要更新MediaStore
,在这种情况下不需要从中拉取 - CB-8740 部分修复了在
MobileSpec
中发现的保存图像到图库错误 - CB-8683 将
plugin-id
更改为package-name
- CB-8351 修复了
integerValueForKey
的自定义实现 - 修复
cordova-paramedic
路径更改,使用TRAVIS_BUILD_DIR
构建,使用 npm 安装 paramedic - CB-8683 BlackBerry 更新了从
org.apache.cordova.camera
到cordova-plugin-camera
的引用 - CB-8707 Windows 重构代码以提高可读性
- 文档:将 Windows 添加到受支持的平台
- CB-8659 iOS 4.0.x 兼容性:删除已弃用标头的使用
- CB-8538 添加了
package.json
文件 - CB-8683 将
plugin-id
更改为package-name
- CB-8560 集成 TravisCI
- 使用
TRAVIS_BUILD_DIR
,通过 npm 安装 paramedic - 文档:将 Windows8 重命名为 Windows
- CB-8362 将 Windows 平台部分添加到 Console 插件
- CB-8538 添加了
package.json
文件 - CB-8683 将
plugin-id
更改为package-name
- CB-8561 集成 TravisCI
- 使用
TRAVIS_BUILD_DIR
,通过 npm 安装 paramedic - CB-8659 iOS 4.0.x 兼容性:删除
initWebView
方法的使用 - CB-8659 iOS 4.0.x 兼容性:删除已弃用标头的使用
- CB-8683 更新了旧 id 到新 id 的 wp 特定引用
- CB-8604 挂起对 wp8 的不支持的测试,更新了文档
- CB-8395 将不支持的测试标记为在 wp8 上挂起
- CB-8538 添加了
package.json
文件 - CB-8683 将
plugin-id
更改为package-name
- 添加 travis 徽章
- 使用
TRAVIS_BUILD_DIR
,通过 npm 安装 paramedic - 添加跨插件 iOS paramedic 测试,以便为 TravisCI 运行
- 删除已失效的 windows8 版本
- CB-8538 添加了
package.json
文件 - CB-8683 将
plugin-id
更改为package-name
旧 id 到新 id 的特定引用 - CB-8562 集成 TravisCI
- 使用
TRAVIS_BUILD_DIR
,通过 npm 安装 paramedic - CB-8683 更新了 Windows 和 Tizen * CB-8096 如果设备上不存在加速度计,则挂起最近添加的 spec.12
- CB-8096 如果设备上不存在加速度计,则挂起自动测试
- CB-8083 添加测试以确保每次都调用成功回调
- CB-8312 在 Windows 上将加速度计值乘以 -g
- CB-8538 添加了
package.json
文件 - CB-8683 将
plugin-id
更改为package-name
- CB-8563 集成 TravisCI
- 使用
TRAVIS_BUILD_DIR
,通过 npm 安装 paramedic - CB-8653 更新的自述文件
- CB-8683 更新了旧 id 到新 id 的 Windows 和 Tizen 特定引用
- CB-8458 修复了在罗盘硬件不可用时测试的错误失败
- CB-8659 iOS 4.0.x 兼容性:删除
initWebView
方法的使用 - CB-8659 iOS 4.0.x 兼容性:删除已弃用标头的使用
- 强制异步回调
- 更新插件为 Windows 而不是 Windows8
- CB-8614 Windows 修复了
getCurrentHeading
和watchHeading
- CB-8538 添加了
package.json
文件 - CB-8683 将
plugin-id
更改为package-name
- CB-8565 集成 TravisCI
- 使用
TRAVIS_BUILD_DIR
,通过 npm 安装 paramedic - CB-8683 更新了旧 id 到新 id 的 wp 和 bb 特定引用
- CB-8659 iOS 4.0.x 兼容性:删除已弃用标头的使用
- CB-8367 Windows 添加提示支持
- CB-8538 添加了
package.json
文件 - CB-8683 将
plugin-id
更改为package-name
- CB-8567 集成 TravisCI
- 使用
TRAVIS_BUILD_DIR
,通过 npm 安装 paramedic - CB-8689 修复了
makeEntryForNativeUri
中的NPE
(影响文件传输) - 添加缓存以加速
AssetFilesystem
目录列表 - 不要记录正常异常的堆栈跟踪(例如,找不到文件)
- 调整测试,使其在
deleteEntry
失败时失败(而不是超时) - CB-8032 添加
nativeURL
外部方法支持CDVFileSystem->makeEntryForPath:isDirectory:
- CB-8423 更正了异步测试中
done()
的用法 - CB-8459 修复了由于不正确的相对路径处理导致的 spec 111 失败
- 向
FileEntry
添加了nativeURL
属性,实现了readAsArrayBuffer
和readAsBinaryString
- CB-8675 还原 “CB-8351 iOS:使用
base64EncodedStringWithOptions
而不是CordovaLib 的
类扩展” - CB-6428 修复了复制为零长度文件的未压缩资产
- CB-8695 iOS 修复了
asset-library
URL 的blob.slice()
- CB-8659 iOS 4.0.x 兼容性:删除
initWebView
方法的使用 - Android 调整
build-extras.gradle
,使其仅读取/写入主assets/
,而不是build/
- CB-8683 Android 修复插件重命名导致的单元测试失败
- CB-6428 Android 修复 assets
FileEntry
大小为 -1 的问题 - Android 将
URLforFullPath
移动到基类 (并重命名为localUrlforFullPath
) - CB-6428 Android 在 README 中提及
build-extras.gradle
- CB-7109 Android 在主线程之外解析参数
- CB-8663 Android 不要通知
MediaScanner
私有文件 - Android 读取整个文件时不要使用 LimitedInputStream (优化)
- CB-6428 Android 添加从 assets -> 文件系统复制目录的支持
- Android 添加
listChildren()
:Java 可使用的readEntriesAtLocalURL()
版本 - CB-6428 Android 添加对
file:///android_asset
URL 的支持 - CB-8642 Android 修复内容 URI 无法使用 resolve / copy 的问题
- Android 确保
LocalFilesystemURL
只能使用cdvfile
URL 创建 - Android 将
CordovaResourceApi
移动到 Filesystem 基类 - Android 在
ContentFilesystem
中使用CordovaResourceApi.mapUriToFile()
,而不是自定义逻辑 - Android 在 resolveLocalFileSystemURI 中使用 Uri.parse,而不是手动解析
- Android 删除无效的
JavaDoc
(lint 错误) - Android 使用
CordovaResourceAp
i,而不是FileHelper
- CB-7956 Browser 添加支持
- CB-8849 WP8 修复
ReadAsArrayBuffer
返回ArrayBuffer
而不是 Array 的问题 - CB-8819 wp8 修复 FileReader 的
readAsBinaryString
- 文档:将 Windows 添加到受支持的平台
- CB-8538 添加了
package.json
文件 - CB-8683 将
plugin-id
更改为package-name
- CB-8566 集成 TravisCI
- 使用
TRAVIS_BUILD_DIR
,通过 npm 安装 paramedic - CB-8746 提高了文件依赖项的版本
- CB-8583 强制下载覆盖现有目标文件
- CB-8589 修复服务器响应不包含任何数据时上传失败的问题
- CB-8747 更新了依赖项,添加了对等依赖项
- CB-8407 使用 File 代理为下载成功回调构造有效的 FileEntry
- CB-8407 删除下载方法中多余的本机路径转换
- CB-8429 为 0.5.0 版本更新版本和
RELEASENOTES.md
- CB-8095 修复 JSHint 和格式化问题
- CB-8095 更新测试和文档
- CB-8095 重写上传方法以正确支持进度事件
- Android 修复
sourceUri
上未知uri
类型的错误报告,而不是targetUri
- CB-7957 Browser 添加支持
- CB-8641 修复测试以在 Windows 和 wp8 上通过
- CB-8654 在文档中记录 WP8 下载请求缓存
- CB-8590 Windows 修复
download.onprogress.lengthComputable
- CB-8495 修复 wp8 和 wp8.1 测试失败
- CB-8538 添加了
package.json
文件 - CB-8683 将
plugin-id
更改为package-name
- CB-8568 集成 TravisCI
- 使用
TRAVIS_BUILD_DIR
,通过 npm 安装 paramedic - CB-8681 修复偶尔的测试失败
- CB-8659 iOS 4.0.x 兼容性:删除
initWebView
方法的使用 - CB-8659 iOS 4.0.x 兼容性:删除已弃用标头的使用
- Firefox OS 插件中的错误参数
- CB-8443 由于多次调用 done,地理定位测试在 Windows 上失败
- 文档:将 Windows 添加到受支持的平台
- CB-8538 添加了
package.json
文件 - CB-8683 将
plugin-id
更改为package-name
- CB-8569 集成 TravisCI
- 使用
TRAVIS_BUILD_DIR
,通过 npm 安装 paramedic - CB-8683 更新 tizen 和 Browser 中特定于旧 ID 的引用为新 ID
- CB-7960 Browser 添加支持
- CB-8659 iOS 4.0.x 兼容性:删除
initWebView
方法的使用 - CB-8394 暂停 Windows 和 wp8 的不支持的测试
- 在
plugin.xml
和文档中为 Windows8 平台单独设置章节
- CB-8538 添加了
package.json
文件 - CB-8683 将
plugin-id
更改为package-name
- CB-8570 集成 TravisCI
- 使用
TRAVIS_BUILD_DIR
,通过 npm 安装 paramedic - CB-4930 (前缀) InAppBrowser 应考虑状态栏
- 添加禁用/启用缩放控件的选项
- 更新文档,将
hardwareback
默认设置为 true - 添加一个
hardwareback
选项,允许硬件后退按钮返回 - CB-8444 为
cordova.InAppBrowser.open
添加一个 clobber - CB-8444 不要 clobber
window.open
- 添加新的符号/clobber 以访问 open 函数 (cordova.InAppBrowser.open
) 更改现有测试以使用新符号 (即,不要依赖插件 clobberwindow.open
) - 添加测试以通过手动替换为新符号来使用window.open
- 更新文档以弃用插件 clobberwindow.open
- CB-8659 更新
InAppBrowser
以支持 cordova-ios 4.0.x 和 3.x - 更新 Android
zoom=no
选项的文档 - 将外部 Android 页面保留在单个标签页中
- CB-7961 Browser 添加支持
- CB-8432 修正 Browser 包装器的样式,以便在某些页面上正确显示
- CB-7689 为 Windows 平台添加
insertCSS
支持 - CB-8635 改进 Windows 平台上的用户体验
- CB-8661 返回 Windows 上执行的脚本结果
- CB-8683 更新 WP 和 Browser 中特定于旧 ID 的引用为新 ID
- CB-8538 添加了
package.json
文件 - CB-8683 将
plugin-id
更改为package-name
- CB-8572 集成 TravisCI
- 使用
TRAVIS_BUILD_DIR
,通过 npm 安装 paramedic - CB-8746 提高了文件依赖项的版本
- CB-8747 更新了依赖项,添加了对等依赖项
- CB-8686 删除
musicLibrary
功能 - CB-8428 修复在未配置音频的设备上媒体插件测试中多次调用
done()
的问题 - CB-8425 媒体插件
.ctr
:按照规范将 src 参数设为必需 - CB-7962 添加 Browser 平台支持
- CB-8659 iOS 4.0.x 兼容性:删除已弃用标头的使用
- CB-8793 修复测试以在 wp8 和 Windows 上通过
- CB-8779 修复 wp8 上的媒体状态报告
- CB-8541 添加有关 Windows 上可用录制格式的信息
- CB-8428 如果没有可用的音频播放硬件,则修复 Windows 上的测试
- CB-8426 向媒体插件添加 Windows 平台部分
- CB-8683 将
plugin-id
更改为package-name
- 使用
TRAVIS_BUILD_DIR
,通过 npm 安装 paramedic - CB-8746 提高了文件依赖项的版本
- CB-8747 更新了依赖项,添加了对等依赖项
- CB-8687 合并清单目标
- CB-7963 Browser 添加支持
- CB-8659 iOS 4.0.x 兼容性:删除
initWebView
方法的使用 - CB-8571 集成 TravisCI
- CB-8538 添加了
package.json
文件
- CB-8683 将
plugin-id
更改为package-name
- CB-8185 修复
cordova.platformId
中的拼写错误 - 使用
TRAVIS_BUILD_DIR
,通过 npm 安装 paramedic - CB-8185 在 Browser 平台上使用
navigator.onLine
作为连接信息源 - CB-8659 iOS 4.0.x 兼容性:删除
initWebView
方法的使用 - CB-8573 集成 TravisCI
- CB-8538 添加了
package.json
文件
- CB-8538 添加了
package.json
文件 - CB-8683 将
plugin-id
更改为package-name
- CB-8574 集成 TravisCI
- CB-8345 将启动画面资源的默认值设为
screen
(这也是模板和 CLI 假设的值) - 使用
TRAVIS_BUILD_DIR
,通过 npm 安装 paramedic - CB-8836 在动画化
splashscreen
后崩溃 - CB-8797 iOS 添加启动画面偏好设置
FadeSplashScreenDuration
和FadeSplashScreen
- CB-8753 Android 修复先前提交中缺少导入的问题
- CB-8753 Android 添加
SplashMaintainAspectRatio
偏好设置 - 文档:将 Windows 添加到受支持的平台
- CB-7964 browser 添加支持
- WP8 遵守配置文件中的
SplashScreen
和SplashScreenDelay
偏好设置 - CB-8397 Windows 支持显示 Windows Phone 启动画面
- CB-8538 添加了
package.json
文件 - CB-8683 将
plugin-id
更改为package-name
- CB-8575 集成 TravisCI
- 使用
TRAVIS_BUILD_DIR
,通过 npm 安装 paramedic - 使用
StatusBarBackgroundColor
而不是AndroidStatusBarBackgroundColor
,并在自述文件中添加了一个怪癖 - Android 5+ 添加对
StatusBar.backgroundColorByHexString
(和StatusBar.backgroundColorByName
) 的支持 - Android 允许设置
statusbar backgroundcolor