diff --git a/www/_data/releases.yml b/www/_data/releases.yml index 940bd7f2eec..509dde5f7b6 100644 --- a/www/_data/releases.yml +++ b/www/_data/releases.yml @@ -125,16 +125,15 @@ customName: plugman - package: cordova-node-xcode - version: 3.0.1 + version: 4.0.0 downloadDir: tools tarballs: - # - type: source - # extension: tar.gz - # - type: source - # extension: zip + - type: source + extension: tar.gz + - type: source + extension: zip - type: npm extension: tgz - customName: xcode - package: cordova-app-hello-world version: 7.0.0 diff --git a/www/_posts/2026-10-20-xcode-4.0.0.md b/www/_posts/2026-10-20-xcode-4.0.0.md new file mode 100644 index 00000000000..45f3ce070e1 --- /dev/null +++ b/www/_posts/2026-10-20-xcode-4.0.0.md @@ -0,0 +1,96 @@ +--- +layout: post +author: + name: Bryan Ellis +title: "Cordova Node Xcode 4.0.0 Released!" +categories: announcements +tags: news releases tools +--- + +We are happy to announce that we have just released `Cordova Node Xcode 4.0.0`! + +This is one of the libraries used behind-the-scenes for parsing, editing, and writing xcodeproj project files. + +* [cordova-node-xcode@4.0.0](https://www.npmjs.com/package/xcode) + +## Release Highlights + +In this major release, the `uuid` dependency has been replaced with Node.js's built-in `crypto.randomUUID()` API. As a result, the minimum Node.js engine requirement has been bumped to `>=14.17.0`. + +Support for the `PBXShellScriptBuildPhase` options `alwaysOutOfDate` and `runOnlyForDeploymentPostprocessing` has been added. + +Additionally, the following fixes were applied: + +- Shallow-merging of section properties while preserving previously parsed entries that have the same section name. +- Allow adding a `PBXBuildFile` entry with the `name` property defined when `path` is not defined. +- Pathing issues on Windows. +- Ensure that the `PBXGroup` object exists before attempting to read the `path` property. + +Please report any issues you find to the [Cordova Node Xcode Issue Tracker](https://github.com/apache/cordova-node-xcode/issues)! + + +# Changes include: + +**Breaking Changes:** + +* chore!: bump minimum Node.js engine to >=14.17.0 ([#154](https://github.com/apache/cordova-node-xcode/pull/154)) [[1edf705](https://github.com/apache/cordova-node-xcode/commit/1edf705)] +* fix!: replace uuid dependency with crypto.randomUUID() ([#153](https://github.com/apache/cordova-node-xcode/pull/153)) + +**Features:** + +* feat: support for 'alwaysOutOfDate' PBX Shell Script property ([#173](https://github.com/apache/cordova-node-xcode/pull/173)) [[04fc2dd](https://github.com/apache/cordova-node-xcode/commit/04fc2dd)] +* feat: add support for runOnlyForDeploymentPostprocessing ([#172](https://github.com/apache/cordova-node-xcode/pull/172)) [[9d908c4](https://github.com/apache/cordova-node-xcode/commit/9d908c4)] +* feat: add eslint w/ lint fixes ([#151](https://github.com/apache/cordova-node-xcode/pull/151)) [[8f43d12](https://github.com/apache/cordova-node-xcode/commit/8f43d12)] +* feat(ci): replace nodeunit & nyc for node:test ([#150](https://github.com/apache/cordova-node-xcode/pull/150)) [[b27fbd4](https://github.com/apache/cordova-node-xcode/commit/b27fbd4)] + +**Fixes:** + +* fix: shallow-merging nested objects for split sections ([#167](https://github.com/apache/cordova-node-xcode/pull/167)) [[e7df64a](https://github.com/apache/cordova-node-xcode/commit/e7df64a)] +* fix(addBuildPhase): adding of PBXBuildFile entries to lookup table ([#174](https://github.com/apache/cordova-node-xcode/pull/174)) [[81ddc4a](https://github.com/apache/cordova-node-xcode/commit/81ddc4a)] +* fix(windows): Fix path issues on Windows ([#170](https://github.com/apache/cordova-node-xcode/pull/170)) [[2f89486](https://github.com/apache/cordova-node-xcode/commit/2f89486)] +* fix: Need to check for object existence ([#112](https://github.com/apache/cordova-node-xcode/pull/112)) [[e81ecab](https://github.com/apache/cordova-node-xcode/commit/e81ecab)] + +**Others:** + +* chore: Bump @babel/traverse from 7.18.9 to 7.23.2 [[505a8d4](https://github.com/apache/cordova-node-xcode/commit/505a8d4)] +* chore: Bump simple-plist from 1.1.0 to 1.3.1 ([#127](https://github.com/apache/cordova-node-xcode/pull/127)) [[335874e](https://github.com/apache/cordova-node-xcode/commit/335874e)] +* chore: update dependencies with npm update ([#191](https://github.com/apache/cordova-node-xcode/pull/191)) [[ec95ec8](https://github.com/apache/cordova-node-xcode/commit/ec95ec8)] +* chore: action workflow updates & add dependabot ([#180](https://github.com/apache/cordova-node-xcode/pull/180)) [[3cdce4b](https://github.com/apache/cordova-node-xcode/commit/3cdce4b)] +* chore: restrict writing to certain object keys ([#176](https://github.com/apache/cordova-node-xcode/pull/176)) [[4a9fd34](https://github.com/apache/cordova-node-xcode/commit/4a9fd34)] +* chore: license header improvements ([#169](https://github.com/apache/cordova-node-xcode/pull/169)) [[7e647c3](https://github.com/apache/cordova-node-xcode/commit/7e647c3)] +* chore: improve ci workflow, ensure built parser committed, cleanup ([#166](https://github.com/apache/cordova-node-xcode/pull/166)) [[ca3d1d2](https://github.com/apache/cordova-node-xcode/commit/ca3d1d2)] +* chore: update .asf.yaml ([#160](https://github.com/apache/cordova-node-xcode/pull/160)) [[7451fc6](https://github.com/apache/cordova-node-xcode/commit/7451fc6)] +* chore: bump 4.0.0-dev.0 ([#159](https://github.com/apache/cordova-node-xcode/pull/159)) [[bc87c09](https://github.com/apache/cordova-node-xcode/commit/bc87c09)] +* chore: update release audit workflow & license headers ([#146](https://github.com/apache/cordova-node-xcode/pull/146)) [[e6b981e](https://github.com/apache/cordova-node-xcode/commit/e6b981e)] +* chore: update ci workflow ([#147](https://github.com/apache/cordova-node-xcode/pull/147)) [[9664ef8](https://github.com/apache/cordova-node-xcode/commit/9664ef8)] +* chore: clean up package.json ([#115](https://github.com/apache/cordova-node-xcode/pull/115)) [[127a4df](https://github.com/apache/cordova-node-xcode/commit/127a4df)] +* chore(addBuildPhase): remove unused variable buildPhaseSection ([#175](https://github.com/apache/cordova-node-xcode/pull/175)) [[780467c](https://github.com/apache/cordova-node-xcode/commit/780467c)] +* chore(dep): update package json ([#165](https://github.com/apache/cordova-node-xcode/pull/165)) [[35da006](https://github.com/apache/cordova-node-xcode/commit/35da006)] +* chore(deps-dev): bump brace-expansion from 1.1.18 to 1.1.21 ([#190](https://github.com/apache/cordova-node-xcode/pull/190)) [[74935d6](https://github.com/apache/cordova-node-xcode/commit/74935d6)] +* chore(deps-dev): bump js-yaml from 4.3.1 to 4.3.2 ([#186](https://github.com/apache/cordova-node-xcode/pull/186)) [[6e31505](https://github.com/apache/cordova-node-xcode/commit/6e31505)] +* chore(deps-dev): bump brace-expansion from 1.1.15 to 1.1.18 ([#179](https://github.com/apache/cordova-node-xcode/pull/179)) [[c0b7624](https://github.com/apache/cordova-node-xcode/commit/c0b7624)] +* chore(deps-dev): bump js-yaml from 4.2.0 to 4.3.1 ([#178](https://github.com/apache/cordova-node-xcode/pull/178)) [[226c345](https://github.com/apache/cordova-node-xcode/commit/226c345)] +* chore(deps-dev): bump js-yaml from 3.14.1 to 3.14.2 ([#145](https://github.com/apache/cordova-node-xcode/pull/145)) [[5447827](https://github.com/apache/cordova-node-xcode/commit/5447827)] +* chore(deps): bump the gh-actions-patch-minor group with 3 updates ([#192](https://github.com/apache/cordova-node-xcode/pull/192)) [[9df6e52](https://github.com/apache/cordova-node-xcode/commit/9df6e52)] +* chore(deps): bump the gh-actions-patch-minor group with 2 updates ([#189](https://github.com/apache/cordova-node-xcode/pull/189)) [[ff0086e](https://github.com/apache/cordova-node-xcode/commit/ff0086e)] +* chore(deps): bump codecov/codecov-action ([#188](https://github.com/apache/cordova-node-xcode/pull/188)) [[0ac3c65](https://github.com/apache/cordova-node-xcode/commit/0ac3c65)] +* chore(deps): bump the gh-actions-patch-minor group with 2 updates ([#187](https://github.com/apache/cordova-node-xcode/pull/187)) [[c8e1116](https://github.com/apache/cordova-node-xcode/commit/c8e1116)] +* chore(deps): bump the gh-actions-patch-minor group across 1 directory with 2 updates ([#183](https://github.com/apache/cordova-node-xcode/pull/183)) [[3033cd8](https://github.com/apache/cordova-node-xcode/commit/3033cd8)] +* chore(deps): bump @xmldom/xmldom from 0.9.10 to 0.9.12 ([#185](https://github.com/apache/cordova-node-xcode/pull/185)) [[ca2c32a](https://github.com/apache/cordova-node-xcode/commit/ca2c32a)] +* chore(deps): bump codecov/codecov-action from 4.6.0 to 7.0.0 ([#182](https://github.com/apache/cordova-node-xcode/pull/182)) [[0920ebc](https://github.com/apache/cordova-node-xcode/commit/0920ebc)] +* chore(deps): bump the gh-actions-patch-minor group with 2 updates ([#181](https://github.com/apache/cordova-node-xcode/pull/181)) [[ba44143](https://github.com/apache/cordova-node-xcode/commit/ba44143)] +* chore(deps): bump minimatch from 3.1.2 to 3.1.5 ([#148](https://github.com/apache/cordova-node-xcode/pull/148)) [[5a20cef](https://github.com/apache/cordova-node-xcode/commit/5a20cef)] +* chore(INFRA): Set up default protection ruleset for default and release branches ([#155](https://github.com/apache/cordova-node-xcode/pull/155)) [[f9b58c4](https://github.com/apache/cordova-node-xcode/commit/f9b58c4)] +* chore(npm): rebuilt package-lock to v2 ([#133](https://github.com/apache/cordova-node-xcode/pull/133)) [[659a4e7](https://github.com/apache/cordova-node-xcode/commit/659a4e7)] +* chore(readme): update badges ([#163](https://github.com/apache/cordova-node-xcode/pull/163)) [[304a309](https://github.com/apache/cordova-node-xcode/commit/304a309)] +* chore(workflow): update upload-to-atr action ([#184](https://github.com/apache/cordova-node-xcode/pull/184)) [[31e32fc](https://github.com/apache/cordova-node-xcode/commit/31e32fc)] +* chore(workflow): update CI & use macos-26 ([#164](https://github.com/apache/cordova-node-xcode/pull/164)) [[fd7ccf1](https://github.com/apache/cordova-node-xcode/commit/fd7ccf1)] +* chore(workflow): pin sha & update actions [[cf3d318](https://github.com/apache/cordova-node-xcode/commit/cf3d318)] +* chore(workflow): pin sha & update actions [[680991e](https://github.com/apache/cordova-node-xcode/commit/680991e)] +* chore(workflow) added release draft, updated release audit, & cleanup CI ([#161](https://github.com/apache/cordova-node-xcode/pull/161)) [[0f6e63f](https://github.com/apache/cordova-node-xcode/commit/0f6e63f)] +* ci: Drop NodeJS 10, 12, 14. Added 18, 20, 22 ([#144](https://github.com/apache/cordova-node-xcode/pull/144)) [[c491d3a](https://github.com/apache/cordova-node-xcode/commit/c491d3a)] +* ci: update codecov@v4 w/ token ([#142](https://github.com/apache/cordova-node-xcode/pull/142)) [[5158ec5](https://github.com/apache/cordova-node-xcode/commit/5158ec5)] +* ci: add node-14.x to workflow ([#117](https://github.com/apache/cordova-node-xcode/pull/117)) [[8b98cab](https://github.com/apache/cordova-node-xcode/commit/8b98cab)] +* chore: Increment package version to 3.0.2-dev [[56b8ffd](https://github.com/apache/cordova-node-xcode/commit/56b8ffd)] +* Merge pull request #141 from apache/dependabot/npm_and_yarn/babel/traverse-7.23.2 [[e594cd4](https://github.com/apache/cordova-node-xcode/commit/e594cd4)] +* test: Ensure we wait for async project.parse ([#168](https://github.com/apache/cordova-node-xcode/pull/168)) [[9c89212](https://github.com/apache/cordova-node-xcode/commit/9c89212)]