This is an automated email from the ASF dual-hosted git repository.

erisu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cordova-docs.git


The following commit(s) were added to refs/heads/master by this push:
     new 6177f9a50e blog: xcode 4.0.0 release (#1540)
6177f9a50e is described below

commit 6177f9a50ebbd149214565ee373cb52b789dd6fc
Author: エリス <[email protected]>
AuthorDate: Wed Oct 21 11:31:43 2026 +0900

    blog: xcode 4.0.0 release (#1540)
---
 www/_data/releases.yml               | 11 ++---
 www/_posts/2026-10-20-xcode-4.0.0.md | 96 ++++++++++++++++++++++++++++++++++++
 2 files changed, 101 insertions(+), 6 deletions(-)

diff --git a/www/_data/releases.yml b/www/_data/releases.yml
index 940bd7f2ee..509dde5f7b 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 0000000000..45f3ce070e
--- /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.
+
+* [[email protected]](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)!
+
+<!--more-->
+# 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)]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to