)]}'
{
  "log": [
    {
      "commit": "4a9fd3421e5bc00033461c025835a238a15e5c2d",
      "tree": "dea2ed7353085c1341851ba19365c0d15185610c",
      "parents": [
        "780467c6065c524abc06c0a94184fbf1d5a4861e"
      ],
      "author": {
        "name": "エリス",
        "email": "erisu@users.noreply.github.com",
        "time": "Tue Jun 30 14:00:52 2026 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 30 14:00:52 2026 +0900"
      },
      "message": "chore: restrict writing to certain object keys (#176)\n\n- Block \u0027prototype\u0027, \u0027__proto__\u0027\u0026 \u0027constructor\u0027\n- Updated \u0027addBuildPhase\u0027 to ensure buildPhaseType does not accept restricted key.\n- Updated \u0027addTargetAttribute\u0027 to ensure target.uuid does not accept restricted key.\n- Updated \u0027pbxCreateGroupWithType\u0027 to ensure groupType does not accept restricted key.\n- Updated tests for \u0027addBuildPhase\u0027 \u0026 \u0027addTargetAttribute\u0027\n- Added test case for \u0027pbxCreateGroupWithType\u0027\n- Small test update to correct spelling of build phase type \u0027PBXFrameworksBuildPhase\u0027"
    },
    {
      "commit": "780467c6065c524abc06c0a94184fbf1d5a4861e",
      "tree": "3d464d45412451d7dd9d57ca299f8dabf960ed38",
      "parents": [
        "81ddc4aa3e4d69b6e803b239052b9b6f3669e5e9"
      ],
      "author": {
        "name": "エリス",
        "email": "erisu@users.noreply.github.com",
        "time": "Fri Jun 26 13:45:13 2026 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 26 13:45:13 2026 +0900"
      },
      "message": "chore(addBuildPhase): remove unused variable buildPhaseSection (#175)"
    },
    {
      "commit": "81ddc4aa3e4d69b6e803b239052b9b6f3669e5e9",
      "tree": "331273fd25bc11940edd5f323bca1e58dff315e3",
      "parents": [
        "04fc2ddac090a695b5ff2a3352236df25a70bc0a"
      ],
      "author": {
        "name": "エリス",
        "email": "erisu@users.noreply.github.com",
        "time": "Thu Jun 25 14:21:50 2026 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 25 14:21:50 2026 +0900"
      },
      "message": "fix(addBuildPhase): adding of PBXBuildFile entries to lookup table (#174)\n\n* fix(addBuildPhase): adding of PBXBuildFile entries to lookup table\n\n- Add PBXBuildFile entry to filePathToBuildFile lookup table when a valid identifier is present.\n- Valid identifier is determined when the fileReference has either a path or name property value.\n- The path property takes priority when both path and name are defined.\n- When the path and name properties are not defined the entry is not added to the lookup table.\n\n* doc(addBuildPhase): add notes \u0026 supporting typedef"
    },
    {
      "commit": "04fc2ddac090a695b5ff2a3352236df25a70bc0a",
      "tree": "c4372c8bd615e4a125ee75ade4f37568b3283e1f",
      "parents": [
        "9d908c441c2df9864688753f8f1726ada050de66"
      ],
      "author": {
        "name": "エリス",
        "email": "erisu@users.noreply.github.com",
        "time": "Thu Jun 18 19:08:22 2026 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 18 19:08:22 2026 +0900"
      },
      "message": "feat: support for \u0027alwaysOutOfDate\u0027 PBX Shell Script property (#173)\n\n* Added support for \u0027alwaysOutOfDate\u0027 PBX Shell Script property\n* feat(alwaysOutOfDate): any truthy value to hard set to 1\n\n---------\n\nCo-authored-by: Marco Saia \u003cmarco.saia@datadoghq.com\u003e"
    },
    {
      "commit": "9d908c441c2df9864688753f8f1726ada050de66",
      "tree": "f58b88e25b0d775ab305f2952e5c39fdb47c97e1",
      "parents": [
        "2f8948618f714aa799411c5e2c7bddf3b5774755"
      ],
      "author": {
        "name": "エリス",
        "email": "erisu@users.noreply.github.com",
        "time": "Thu Jun 18 02:31:49 2026 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 18 02:31:49 2026 +0900"
      },
      "message": "feat: add support for runOnlyForDeploymentPostprocessing (#172)\n\n* Add support for runOnlyForDeploymentPostprocessing\n* Add Test for runOnlyForDeploymentPostprocessing\n* fix(runOnlyForDeploymentPostprocessing): only allow 0 or 1, defaulting invalid values to 0\n* fix(runOnlyForDeploymentPostprocessing): any truthy value, it will be set to 1, including any non-empty strings\n\n---------\n\nCo-authored-by: Vijay Sharma \u003cvijay.sharm@gmail.com\u003e"
    },
    {
      "commit": "2f8948618f714aa799411c5e2c7bddf3b5774755",
      "tree": "daff2c6205c66006b6a802f81c9c9ec656da7e18",
      "parents": [
        "7e647c37ac85eba26f082118f81ab4e7528fbcf7"
      ],
      "author": {
        "name": "Darryl Pogue",
        "email": "darryl@dpogue.ca",
        "time": "Mon Jun 15 23:01:24 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 15 23:01:24 2026 -0700"
      },
      "message": "fix(windows): Fix path issues on Windows (#170)\n\n* ci(windows): Runs tests on Windows too\n\n* fix(windows): Fix path issues on Windows"
    },
    {
      "commit": "7e647c37ac85eba26f082118f81ab4e7528fbcf7",
      "tree": "0b767a610ead33a04de25ff428e9a3bd4dfca2a5",
      "parents": [
        "ca3d1d2bb294a00ef23b9c742dda8e62c3e34796"
      ],
      "author": {
        "name": "エリス",
        "email": "erisu@users.noreply.github.com",
        "time": "Tue Jun 16 14:39:28 2026 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 16 14:39:28 2026 +0900"
      },
      "message": "chore: license header improvements (#169)\n\n* chore: use block comment for license header\n* chore: added/updated license header in pbxproj, model, and .xccurrentversion\n* chore: cleanup .rat-excludes\n* chore: revert adding license header to pbxproj \u0026 just ignore them\n* chore: re-add comment block to comments.pbxproj\n* chore: added newline to end of file"
    },
    {
      "commit": "ca3d1d2bb294a00ef23b9c742dda8e62c3e34796",
      "tree": "add0330c898c9f91c234cc46931a0b1084595dbf",
      "parents": [
        "9c8921232df4e3735fbe45fe1787060f7ecf9562"
      ],
      "author": {
        "name": "エリス",
        "email": "erisu@users.noreply.github.com",
        "time": "Tue Jun 16 14:22:31 2026 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 16 14:22:31 2026 +0900"
      },
      "message": "chore: improve ci workflow, ensure built parser committed, cleanup (#166)\n\n* chore: create npm build run-script\n* chore: update npm test to include linting\n* chore: add DEVELOPMENT.md\n* chore: update README.md\n* chore(workflow): check for uncommited changes\n* chore: commit build diff (license header \u0026 new-lines)\n* fix(workflow): setup-node\u0027s node-version arg"
    },
    {
      "commit": "9c8921232df4e3735fbe45fe1787060f7ecf9562",
      "tree": "b6be17d04dfdb2605f90bcee6ad9ae715fc8f0b6",
      "parents": [
        "e7df64aed8f998a2dd224683fcdbbf97c7c5e1fd"
      ],
      "author": {
        "name": "Darryl Pogue",
        "email": "darryl@dpogue.ca",
        "time": "Mon Jun 15 21:55:57 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 16 13:55:57 2026 +0900"
      },
      "message": "test: Ensure we wait for async project.parse (#168)"
    },
    {
      "commit": "e7df64aed8f998a2dd224683fcdbbf97c7c5e1fd",
      "tree": "0cb270049127a64b0d7c5b5618b3739649abf04f",
      "parents": [
        "35da006e8c4edde8e0c9b4a52af8c3ed10f88543"
      ],
      "author": {
        "name": "エリス",
        "email": "erisu@users.noreply.github.com",
        "time": "Tue Jun 16 12:15:39 2026 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 16 12:15:39 2026 +0900"
      },
      "message": "fix: shallow-merging nested objects for split sections (#167)"
    },
    {
      "commit": "35da006e8c4edde8e0c9b4a52af8c3ed10f88543",
      "tree": "00192906643c178563ebf2e12f81972a7e6de8d5",
      "parents": [
        "304a30969c5bd52760d3c1045ab8181da05e5f62"
      ],
      "author": {
        "name": "エリス",
        "email": "erisu@users.noreply.github.com",
        "time": "Sun Jun 07 12:48:37 2026 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 07 12:48:37 2026 +0900"
      },
      "message": "chore(dep): update package json (#165)\n\n* chore(dep): update simple-plist pinning to ^1.3.1\n* chore(dep): update package-lock.json"
    },
    {
      "commit": "304a30969c5bd52760d3c1045ab8181da05e5f62",
      "tree": "8ec8e7081ca79a97adc418a825d9af93c7c80d7c",
      "parents": [
        "fd7ccf1c26bb29aa72f5f3d1e700c5a97b49c013"
      ],
      "author": {
        "name": "Manuel Beck",
        "email": "manuelbeck87@outlook.de",
        "time": "Fri Jun 05 09:36:00 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 05 16:36:00 2026 +0900"
      },
      "message": "chore(readme): update badges (#163)\n\n- Update badges like for cordova-android\n- Use `shields.io` instead of `nodei.co`\n- Show dev version\n- Show workflow status for ci.yml and release-audit.yml\n- Show code coverage"
    },
    {
      "commit": "fd7ccf1c26bb29aa72f5f3d1e700c5a97b49c013",
      "tree": "9d5629f9105d260b955951e054b83bd57a5376a2",
      "parents": [
        "1edf7059d347beb0e339d1cb4741581352b43138"
      ],
      "author": {
        "name": "エリス",
        "email": "erisu@users.noreply.github.com",
        "time": "Fri Jun 05 16:30:05 2026 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 05 16:30:05 2026 +0900"
      },
      "message": "chore(workflow): update CI \u0026 use macos-26 (#164)"
    },
    {
      "commit": "1edf7059d347beb0e339d1cb4741581352b43138",
      "tree": "3930cb105ce7f40887f5b41dc0bd80a4e2633c1a",
      "parents": [
        "7451fc646a8b81bed9f0fd6a5bbf5e334071c29d"
      ],
      "author": {
        "name": "Érik Escobedo",
        "email": "erik@escobedo.dev",
        "time": "Tue Jun 02 08:32:05 2026 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 02 16:32:05 2026 +0200"
      },
      "message": "fix!: replace uuid dependency with crypto.randomUUID() (#153)\n\n* fix!: replace uuid dependency with crypto.randomUUID()\n\nuuid \u003c14.0.0 is flagged by GHSA-w5hq-g745-h8pq (missing buffer bounds\ncheck in v3/v5/v6 when buf is provided). The only upstream fix is uuid\nv14, but v14 dropped CommonJS support, which would break this package.\n\nSince only uuid.v4() is used here (in generateUuid()), replace it with\nNode\u0027s built-in crypto.randomUUID() — available since Node 14.17.0,\nproduces the same RFC 4122 v4 UUID format, and requires no external\ndependency. The uuid package is removed from dependencies entirely.\n\nBREAKING CHANGE: Node \u003e\u003d14.17.0 is now required at runtime (crypto.randomUUID\nwas introduced in that release). The engines field remains \u003e\u003d10.0.0; a\nseparate PR will bump it to reflect the new minimum.\n\nAll 426 existing tests pass.\n\n* chore(npm): update package-lock.json\n\n---------\n\nCo-authored-by: Manuel Beck \u003cmanuelbeck87@outlook.de\u003e"
    },
    {
      "commit": "7451fc646a8b81bed9f0fd6a5bbf5e334071c29d",
      "tree": "7ad7ccd516131dda7632521b872877dbb3bb120d",
      "parents": [
        "0f6e63f68098f627c44eebfa85027a03d3946367"
      ],
      "author": {
        "name": "エリス",
        "email": "erisu@users.noreply.github.com",
        "time": "Thu May 28 15:18:25 2026 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 28 15:18:25 2026 +0900"
      },
      "message": "chore: update .asf.yaml (#160)\n\n* Updated `.asf.yaml`\n  * Added `description`, `homepage`, and `labels`\n  * Added `features` to clearly show that `issues` \u0026 `projects` is enabled while `wiki` is disabled\n  * Added `enabled_merge_buttons` rules to accept `squash` merge\n  * Sorted to match other repos"
    },
    {
      "commit": "0f6e63f68098f627c44eebfa85027a03d3946367",
      "tree": "b94d7aa0d349cad2b027102dc643d61b03cb783d",
      "parents": [
        "bc87c097beb17bc2f11315d126772785af2b4ac2"
      ],
      "author": {
        "name": "エリス",
        "email": "erisu@users.noreply.github.com",
        "time": "Thu May 28 15:12:13 2026 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 28 15:12:13 2026 +0900"
      },
      "message": "chore(workflow) added release draft, updated release audit, \u0026 cleanup CI (#161)"
    },
    {
      "commit": "bc87c097beb17bc2f11315d126772785af2b4ac2",
      "tree": "b3b2b825007d8983f500e908546be9617ddf5860",
      "parents": [
        "cf3d3181b8eb27bac61f74b19256881c624a46b0"
      ],
      "author": {
        "name": "エリス",
        "email": "erisu@users.noreply.github.com",
        "time": "Thu May 28 15:11:42 2026 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 28 15:11:42 2026 +0900"
      },
      "message": "chore: bump 4.0.0-dev.0 (#159)"
    },
    {
      "commit": "cf3d3181b8eb27bac61f74b19256881c624a46b0",
      "tree": "679e989a8cf566510f1488f8a330d822e5a83642",
      "parents": [
        "d8751370cb7ced7dc496d8e772bec9a1502533b8",
        "680991e2ae3e9f0ec533eadb94b8cc4b0b51c59b"
      ],
      "author": {
        "name": "Manuel Beck",
        "email": "manuelbeck87@outlook.de",
        "time": "Wed May 27 22:51:24 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 27 22:51:24 2026 +0200"
      },
      "message": "chore(workflow): pin sha \u0026 update actions"
    },
    {
      "commit": "d8751370cb7ced7dc496d8e772bec9a1502533b8",
      "tree": "e155358d792b757dae34eb9db6f68bbdfb23e4c9",
      "parents": [
        "8f43d12b55f982b78332e2bfb3c4aca4850a7efa",
        "5d7065aa5e6cae7b4edd40852e12e3719b33ee71"
      ],
      "author": {
        "name": "Manuel Beck",
        "email": "manuelbeck87@outlook.de",
        "time": "Wed May 27 22:50:34 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 27 22:50:34 2026 +0200"
      },
      "message": "chore!: bump minimum Node.js engine to \u003e\u003d14.17.0"
    },
    {
      "commit": "680991e2ae3e9f0ec533eadb94b8cc4b0b51c59b",
      "tree": "b10ccaa3071efcba2cf4a3bb48c157c26a6159b3",
      "parents": [
        "8f43d12b55f982b78332e2bfb3c4aca4850a7efa"
      ],
      "author": {
        "name": "Erisu",
        "email": "erisu@apache.org",
        "time": "Wed May 20 01:54:36 2026 +0900"
      },
      "committer": {
        "name": "Erisu",
        "email": "erisu@apache.org",
        "time": "Wed May 20 01:55:48 2026 +0900"
      },
      "message": "chore(workflow): pin sha \u0026 update actions\n"
    },
    {
      "commit": "8f43d12b55f982b78332e2bfb3c4aca4850a7efa",
      "tree": "f60e79e488ba813a7a011e137a837d8874abd339",
      "parents": [
        "f9b58c49576cd98b8c3766131fc091f49e3adeae"
      ],
      "author": {
        "name": "エリス",
        "email": "erisu@users.noreply.github.com",
        "time": "Tue May 19 19:49:14 2026 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 19 19:49:14 2026 +0900"
      },
      "message": "feat: add eslint w/ lint fixes (#151)\n\n* chore(dev-dep): added @cordova/eslint-config at 6.0.1\n* chore(lint): apply lint auto-corrections\n* test(lint): PBXFile constructor name to start with uppercase\n* test(lint): PBXProject constructor name to start with uppercase\n* test(lint): update more constructor name to start with uppercase\n* chore(lint): variable cleanup in test dir\n  * remove unused variables\n  * remove unnecessary variable declarations\n  * removed variable redeclarations\n  * use const or let where appropriate\n  * remove unnecessary require statements\n  * split delimited variables into separate lines\n* chore(lint): remove unused methods in test dir\n* chore(lint): use path.join instead of string concatenation\n* chore(lint): inline disable no-template-curly-in-string\n* chore(lint): remove unnecessary read for buildPhase after addBuildPhase\n* chore(lint): remove unnecessary variable\n* chore(lint): resolve no-prototype-builtins\n* chore(lint): resolve eqeqeq \u0026 spacing\n* chore(lint): resolve eqeqeq \u0026 unused variables in lib/pbxWriter\n* chore(lint): resolve lint errors in lib/pbxFile\n* chore(lint): uppercase PBXProject in lib/pbxProject.js\n* chore(lint): uppercase PBXFile \u0026 PBXWriter in lib/pbxProject.js\n* chore(lint): resolve eqeqeq in lib/pbxProject.js\n* chore(lint): cleanup loops in lib/pbxProject.js\n* chore(lint): resolve no-unused-vars in lib/pbxProject.js\n* chore(lint): resolve no-var in lib/pbxProject.js\n* chore(lint): resolve no-undef in lib/pbxProject.js\n* chore(lint): resolve no-new-object in lib/pbxProject.js\n* chore(lint): use path.join instead of string concatenation in lib/pbxProject.js\n* chore(lint): resolve no-mixed-operators in lib/pbxProject.js\n* chore(lint): declare variable on own line"
    },
    {
      "commit": "f9b58c49576cd98b8c3766131fc091f49e3adeae",
      "tree": "517e9b0bd94e1f2d951f6a309e9ff48f1427f1df",
      "parents": [
        "b27fbd422c133d8bb70cb2e49aa79a4178855d1d"
      ],
      "author": {
        "name": "The Apache Software Foundation",
        "email": "root-asf-gitbox-commits@apache.org",
        "time": "Mon May 18 22:38:47 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 19 12:38:47 2026 +0900"
      },
      "message": "chore(INFRA): Set up default protection ruleset for default and release branches (#155)"
    },
    {
      "commit": "5d7065aa5e6cae7b4edd40852e12e3719b33ee71",
      "tree": "7125421b0bed33371cd6d551076662504119ea37",
      "parents": [
        "b27fbd422c133d8bb70cb2e49aa79a4178855d1d"
      ],
      "author": {
        "name": "Érik Escobedo",
        "email": "erik@escobedo.dev",
        "time": "Mon May 04 16:48:54 2026 -0600"
      },
      "committer": {
        "name": "Érik Escobedo",
        "email": "erik@escobedo.dev",
        "time": "Thu May 07 02:18:18 2026 -0600"
      },
      "message": "chore!: bump minimum Node.js engine to \u003e\u003d14.17.0\n\nReflects the runtime requirement introduced by apache/cordova-node-xcode#153\n(crypto.randomUUID, available since Node 14.17.0). Node 10 and 12 have\nbeen EOL since 2021 and 2022 respectively.\n\nBREAKING CHANGE: Node \u003c14.17.0 is no longer supported.\n"
    },
    {
      "commit": "b27fbd422c133d8bb70cb2e49aa79a4178855d1d",
      "tree": "d2104e569238b589e0c3e51940d233ac03904b1e",
      "parents": [
        "5a20cef9262f6071bd0f44b71cae8f37b43ce6fc"
      ],
      "author": {
        "name": "エリス",
        "email": "erisu@users.noreply.github.com",
        "time": "Wed Apr 08 03:33:48 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 08 12:33:48 2026 +0900"
      },
      "message": "feat(ci): replace nodeunit \u0026 nyc for node:test (#150)\n\n* chore(dev-dep): drop nodeunit for node:test\n* chore(ci): update workflow set node options\n* test: cleanup unused variables \u0026 formatting\n* chore(lint): add missing semicolon"
    },
    {
      "commit": "5a20cef9262f6071bd0f44b71cae8f37b43ce6fc",
      "tree": "6ad079c64f81b05eb63f63e0e540b35b48e451ba",
      "parents": [
        "e6b981ecc0f36528fcbe828ee59dcb6470db7e72"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Sun Mar 01 18:37:38 2026 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Mar 01 18:37:38 2026 +0900"
      },
      "message": "chore(deps): bump minimatch from 3.1.2 to 3.1.5 (#148)\n\nBumps [minimatch](https://github.com/isaacs/minimatch) from 3.1.2 to 3.1.5.\n- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)\n- [Commits](https://github.com/isaacs/minimatch/compare/v3.1.2...v3.1.5)\n\n---\nupdated-dependencies:\n- dependency-name: minimatch\n  dependency-version: 3.1.5\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "e6b981ecc0f36528fcbe828ee59dcb6470db7e72",
      "tree": "43bb89cd88515fe4252bd2eaf07eb9b747a7e658",
      "parents": [
        "9664ef879c6516df86e2328afe2a9a36924b32bf"
      ],
      "author": {
        "name": "エリス",
        "email": "erisu@users.noreply.github.com",
        "time": "Sun Nov 23 13:12:59 2025 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Nov 22 20:12:59 2025 -0800"
      },
      "message": "chore: update release audit workflow \u0026 license headers (#146)\n\n"
    },
    {
      "commit": "9664ef879c6516df86e2328afe2a9a36924b32bf",
      "tree": "c8137714ab14d1a204f5ef50e4b5ef980f7c5c2e",
      "parents": [
        "5447827c80fb3e68e3c0d3035c4a121aae73390a"
      ],
      "author": {
        "name": "エリス",
        "email": "erisu@users.noreply.github.com",
        "time": "Sun Nov 23 12:43:59 2025 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Nov 22 19:43:59 2025 -0800"
      },
      "message": "chore: update ci workflow (#147)\n\n"
    },
    {
      "commit": "5447827c80fb3e68e3c0d3035c4a121aae73390a",
      "tree": "3be688cba09cb0f99f2091727ff60c0b495781d5",
      "parents": [
        "c491d3a26f11ae63c566ae50fbd44e844f448724"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Sat Nov 22 13:33:44 2025 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Nov 22 13:33:44 2025 +0900"
      },
      "message": "chore(deps-dev): bump js-yaml from 3.14.1 to 3.14.2 (#145)\n\nBumps [js-yaml](https://github.com/nodeca/js-yaml) from 3.14.1 to 3.14.2.\n- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/nodeca/js-yaml/compare/3.14.1...3.14.2)\n\n---\nupdated-dependencies:\n- dependency-name: js-yaml\n  dependency-version: 3.14.2\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "c491d3a26f11ae63c566ae50fbd44e844f448724",
      "tree": "01eb4d110301e3ebceef0422b227c12668301468",
      "parents": [
        "5158ec512d7ebd57c6fd62dbbcc4ce18c79a8ef6"
      ],
      "author": {
        "name": "Norman Breau",
        "email": "norman@breautek.com",
        "time": "Tue Jul 02 09:35:44 2024 -0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 02 09:35:44 2024 -0300"
      },
      "message": "ci: Drop NodeJS 10, 12, 14. Added 18, 20, 22 (#144)\n\n"
    },
    {
      "commit": "5158ec512d7ebd57c6fd62dbbcc4ce18c79a8ef6",
      "tree": "7de1a9e40d61196e1087a987f4a76d6f514de206",
      "parents": [
        "e594cd453e8f26d8916e4be7bdfb309b8e820e2f"
      ],
      "author": {
        "name": "エリス",
        "email": "erisu@users.noreply.github.com",
        "time": "Sat Apr 13 23:53:00 2024 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Apr 13 23:53:00 2024 +0900"
      },
      "message": "ci: update codecov@v4 w/ token (#142)\n\n"
    },
    {
      "commit": "e594cd453e8f26d8916e4be7bdfb309b8e820e2f",
      "tree": "9585037b59a7f6295820cfba791e113ff597033a",
      "parents": [
        "659a4e7cfe945a13b3968c0d8c5439683f6d0932",
        "505a8d46bf2b4c09b2b51ce7198d1255fbac768b"
      ],
      "author": {
        "name": "Norman Breau",
        "email": "norman@breautek.com",
        "time": "Fri Oct 20 17:35:43 2023 -0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 20 17:35:43 2023 -0300"
      },
      "message": "Merge pull request #141 from apache/dependabot/npm_and_yarn/babel/traverse-7.23.2\n\nBump @babel/traverse from 7.18.9 to 7.23.2"
    },
    {
      "commit": "505a8d46bf2b4c09b2b51ce7198d1255fbac768b",
      "tree": "9585037b59a7f6295820cfba791e113ff597033a",
      "parents": [
        "659a4e7cfe945a13b3968c0d8c5439683f6d0932"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Oct 18 06:24:16 2023 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 18 06:24:16 2023 +0000"
      },
      "message": "Bump @babel/traverse from 7.18.9 to 7.23.2\n\nBumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.18.9 to 7.23.2.\n- [Release notes](https://github.com/babel/babel/releases)\n- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse)\n\n---\nupdated-dependencies:\n- dependency-name: \"@babel/traverse\"\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "659a4e7cfe945a13b3968c0d8c5439683f6d0932",
      "tree": "d9c157360d75ecf9c73e6ed836fdfd683c8410eb",
      "parents": [
        "335874ebd7959830121b767b49c29be92f3a2cd2"
      ],
      "author": {
        "name": "エリス",
        "email": "erisu@users.noreply.github.com",
        "time": "Tue Jul 19 15:57:44 2022 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 19 15:57:44 2022 +0900"
      },
      "message": "chore(npm): rebuilt package-lock to v2 (#133)\n\n"
    },
    {
      "commit": "335874ebd7959830121b767b49c29be92f3a2cd2",
      "tree": "c2dac59cb0b3eccf86250800c99ff8de612e476e",
      "parents": [
        "8b98cabc5978359db88dc9ff2d4c015cba40f150"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Thu Jun 02 14:13:30 2022 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 02 14:13:30 2022 +0900"
      },
      "message": "Bump simple-plist from 1.1.0 to 1.3.1 (#127)\n\nBumps [simple-plist](https://github.com/wollardj/simple-plist) from 1.1.0 to 1.3.1.\r\n- [Release notes](https://github.com/wollardj/simple-plist/releases)\r\n- [Commits](https://github.com/wollardj/simple-plist/compare/1.1.0...v1.3.1)\r\n\r\n---\r\nupdated-dependencies:\r\n- dependency-name: simple-plist\r\n  dependency-type: direct:production\r\n...\r\n\r\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\r\n\r\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "8b98cabc5978359db88dc9ff2d4c015cba40f150",
      "tree": "711e09860e15517792ca30268b8858bc213da0ad",
      "parents": [
        "127a4dfe3422d36d69c54215bde6ceeef5d892ff"
      ],
      "author": {
        "name": "エリス",
        "email": "erisu@users.noreply.github.com",
        "time": "Sat Nov 28 17:10:37 2020 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Nov 28 17:10:37 2020 +0900"
      },
      "message": "ci: add node-14.x to workflow (#117)\n\n"
    },
    {
      "commit": "127a4dfe3422d36d69c54215bde6ceeef5d892ff",
      "tree": "e38631420146b5cacfa0e6047ef34eaaa4005b25",
      "parents": [
        "e81ecabc18b0e43a1ae5457f16ebcbb8b0b62460"
      ],
      "author": {
        "name": "Raphael von der Grün",
        "email": "raphinesse@gmail.com",
        "time": "Fri Oct 02 21:43:07 2020 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 02 21:43:07 2020 +0200"
      },
      "message": "chore: clean up package.json (#115)\n\n"
    },
    {
      "commit": "e81ecabc18b0e43a1ae5457f16ebcbb8b0b62460",
      "tree": "d2fac537ec2f2476d308e98c881d51de3f030b60",
      "parents": [
        "56b8ffd68f5f71f4686340d9ad32ce5fd617cb8a"
      ],
      "author": {
        "name": "DamienBitrise",
        "email": "60897705+DamienBitrise@users.noreply.github.com",
        "time": "Fri Jun 12 01:22:35 2020 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 12 08:22:35 2020 +0000"
      },
      "message": "Need to check for object existence (#112)\n\nWhen this code runs and a folder called \"Resources\" is not in the XCode project this call fails.\r\n\r\nNeed to check for object existence before accessing path.\r\n\r\nThere should be no impact from this change only preventing a run time error when a folder is not present"
    },
    {
      "commit": "56b8ffd68f5f71f4686340d9ad32ce5fd617cb8a",
      "tree": "3c19fc0aa718fe3ddece864d06325193264e1c13",
      "parents": [
        "ecdbf56a1d4fc4bea3c0f25e4679efab47ff32eb"
      ],
      "author": {
        "name": "Erisu",
        "email": "ellis.bryan@gmail.com",
        "time": "Tue May 19 09:23:43 2020 +0900"
      },
      "committer": {
        "name": "Erisu",
        "email": "ellis.bryan@gmail.com",
        "time": "Tue May 19 09:23:43 2020 +0900"
      },
      "message": "Increment package version to 3.0.2-dev\n"
    },
    {
      "commit": "ecdbf56a1d4fc4bea3c0f25e4679efab47ff32eb",
      "tree": "8e232cb3efc1d68fdad64c5f2d7017f526074493",
      "parents": [
        "cd6f86f9ab0d53bf07e1ad405226bd1e2d8772ca"
      ],
      "author": {
        "name": "Erisu",
        "email": "ellis.bryan@gmail.com",
        "time": "Fri May 15 14:05:51 2020 +0900"
      },
      "committer": {
        "name": "Erisu",
        "email": "ellis.bryan@gmail.com",
        "time": "Fri May 15 14:06:57 2020 +0900"
      },
      "message": "Updated RELEASENOTES.md \u0026 version for release 3.0.1 (node-xcode-3.0.1)\n"
    },
    {
      "commit": "cd6f86f9ab0d53bf07e1ad405226bd1e2d8772ca",
      "tree": "b0e26aca7592a8ad57504a3abb77ec0318ecd807",
      "parents": [
        "6c019dd293113537ffb195b3c1b42fdbaf52ab54"
      ],
      "author": {
        "name": "Niklas Merz",
        "email": "niklasmerz@apache.org",
        "time": "Thu May 14 08:37:08 2020 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 14 15:37:08 2020 +0900"
      },
      "message": "Add targetName to paramter to getBuildProperty (#109)\n\n* Add targetName to parameter to getBuildProperty\r\n* Update lib/pbxProject.js\r\n\r\nCo-authored-by: Tim Brust \u003cgithub@timbrust.de\u003e"
    },
    {
      "commit": "6c019dd293113537ffb195b3c1b42fdbaf52ab54",
      "tree": "929dae920641e6b5a34a3e98c1e880840760f431",
      "parents": [
        "4052f08ddb365bac91982427460acba417d1d721"
      ],
      "author": {
        "name": "Erisu",
        "email": "ellis.bryan@gmail.com",
        "time": "Wed Apr 22 13:37:06 2020 +0900"
      },
      "committer": {
        "name": "Erisu",
        "email": "ellis.bryan@gmail.com",
        "time": "Wed Apr 22 13:37:06 2020 +0900"
      },
      "message": "chore(asf): update git notification settings\n"
    },
    {
      "commit": "4052f08ddb365bac91982427460acba417d1d721",
      "tree": "e0421c257ff66eceef18df4dd2521f4c6e3915e3",
      "parents": [
        "a8b228dbab1a99c25db63e21a9b648ec663c090e"
      ],
      "author": {
        "name": "Niklas Merz",
        "email": "niklasmerz@apache.org",
        "time": "Mon Apr 13 14:50:57 2020 +0200"
      },
      "committer": {
        "name": "Niklas Merz",
        "email": "niklasmerz@apache.org",
        "time": "Mon Apr 13 14:50:57 2020 +0200"
      },
      "message": "Update CONTRIBUTING.md\n"
    },
    {
      "commit": "a8b228dbab1a99c25db63e21a9b648ec663c090e",
      "tree": "bc2e7d592d42bee0ec8715f5cea2ce5c15ef079d",
      "parents": [
        "7b8d8439dfe4529e6d57e1677d7d45f0cc641363"
      ],
      "author": {
        "name": "Erisu",
        "email": "ellis.bryan@gmail.com",
        "time": "Mon Apr 13 10:50:53 2020 +0900"
      },
      "committer": {
        "name": "Erisu",
        "email": "ellis.bryan@gmail.com",
        "time": "Mon Apr 13 10:50:53 2020 +0900"
      },
      "message": "Increment package version to 3.0.1-dev\n"
    },
    {
      "commit": "7b8d8439dfe4529e6d57e1677d7d45f0cc641363",
      "tree": "d30510cafc6863e0b13d536109ccb4c68698e115",
      "parents": [
        "557782c5d4441e768f4c20615e88fe7bb9f2d4df"
      ],
      "author": {
        "name": "Erisu",
        "email": "ellis.bryan@gmail.com",
        "time": "Thu Apr 09 17:20:49 2020 +0900"
      },
      "committer": {
        "name": "Erisu",
        "email": "ellis.bryan@gmail.com",
        "time": "Thu Apr 09 17:20:49 2020 +0900"
      },
      "message": "node-xcode-3.0.0 Updated version and RELEASENOTES.md for release 3.0.0\n"
    },
    {
      "commit": "557782c5d4441e768f4c20615e88fe7bb9f2d4df",
      "tree": "a1552cd1251563b9b86d55c747a57af6e4877b65",
      "parents": [
        "057a9e23467d9603567fa90346e2fe5a4aa2166c"
      ],
      "author": {
        "name": "Erisu",
        "email": "ellis.bryan@gmail.com",
        "time": "Thu Apr 09 17:11:12 2020 +0900"
      },
      "committer": {
        "name": "Erisu",
        "email": "ellis.bryan@gmail.com",
        "time": "Thu Apr 09 17:11:12 2020 +0900"
      },
      "message": "node-xcode-3.0.0 Added NOTICE for release\n"
    },
    {
      "commit": "057a9e23467d9603567fa90346e2fe5a4aa2166c",
      "tree": "093b0b345b1c75153d02a4b531b2d6c0d026aabc",
      "parents": [
        "511a06fbc965ea4ee1a2d91b22b0d35ed7f754d4"
      ],
      "author": {
        "name": "エリス",
        "email": "erisu@users.noreply.github.com",
        "time": "Thu Apr 09 16:50:35 2020 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 09 16:50:35 2020 +0900"
      },
      "message": "doc(README): fix CI badge url (#107)\n\n"
    },
    {
      "commit": "511a06fbc965ea4ee1a2d91b22b0d35ed7f754d4",
      "tree": "60d447286aa91dd8b7712b8fecf3e88247820fde",
      "parents": [
        "022c69ef1615f934f7ac0e6560e47633b2a4c6cb"
      ],
      "author": {
        "name": "Niklas Merz",
        "email": "niklasmerz@apache.org",
        "time": "Thu Apr 09 09:43:58 2020 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 09 16:43:58 2020 +0900"
      },
      "message": "Update build property by targetname (#106)\n\n* feature: update build property by target name\r\n* fix update build property by target name\r\n* Add tests for \u0027updateBuildProperty\u0027 with multiple targets\r\n\r\nCo-authored-by: Erisu \u003cellis.bryan@gmail.com\u003e"
    },
    {
      "commit": "022c69ef1615f934f7ac0e6560e47633b2a4c6cb",
      "tree": "aaa5949253941ee903a508cdc669591995b559d2",
      "parents": [
        "9fb83bb92cbcab8d81458cb80ffcf25b6f5c0843"
      ],
      "author": {
        "name": "Niklas Merz",
        "email": "niklasmerz@apache.org",
        "time": "Thu Apr 09 09:42:12 2020 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 09 16:42:12 2020 +0900"
      },
      "message": "[MAJOR] Add new optional paramter to pbxProject.addTarget (#79)\n\nAllows plugins to set bundle ids for extensions."
    },
    {
      "commit": "9fb83bb92cbcab8d81458cb80ffcf25b6f5c0843",
      "tree": "09c4ecbd5754d8b7b205cd4aaaf822176c60a5cc",
      "parents": [
        "dc678cc2a73524ac10387b7eae65571c769241f9"
      ],
      "author": {
        "name": "エリス",
        "email": "erisu@users.noreply.github.com",
        "time": "Thu Apr 09 16:38:15 2020 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 09 16:38:15 2020 +0900"
      },
      "message": "ci: switch travis ci for github actions (#96)\n\n* ci(npm): add package-lock for npm cit command\r\n* ci(npm): add nyc coverage dependecy\r\n* ci(travis): drop service\r\n* ci(github-actions): add workflow"
    },
    {
      "commit": "dc678cc2a73524ac10387b7eae65571c769241f9",
      "tree": "affd7df1820c1aa9cebbf328dd3e5d0f09834846",
      "parents": [
        "80c8c960b50f05f091759f8bda80067ad0dbaa28"
      ],
      "author": {
        "name": "エリス",
        "email": "erisu@users.noreply.github.com",
        "time": "Thu Apr 02 20:02:58 2020 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 02 20:02:58 2020 +0900"
      },
      "message": "breaking(npm): bump dependencies (#94)\n\n* simple-plist@^1.1.0\r\n* uuid@^7.0.3"
    },
    {
      "commit": "80c8c960b50f05f091759f8bda80067ad0dbaa28",
      "tree": "451a73d88540ff96547e57b955d04e5279bcd173",
      "parents": [
        "2d043a2cfd30602dd7e78737aaeeef16656b6f82"
      ],
      "author": {
        "name": "エリス",
        "email": "erisu@users.noreply.github.com",
        "time": "Thu Apr 02 17:24:52 2020 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 02 17:24:52 2020 +0900"
      },
      "message": "chore(npm): use short notation for repo \u0026 bugs (#93)\n\n"
    },
    {
      "commit": "2d043a2cfd30602dd7e78737aaeeef16656b6f82",
      "tree": "e2e90760c94b1fac462e2a055e3b979dcbfe168e",
      "parents": [
        "2937386be0e941ee3ab7c59f3b40d079cedf9945"
      ],
      "author": {
        "name": "Tim Brust",
        "email": "github@timbrust.de",
        "time": "Mon Mar 30 10:43:09 2020 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 30 10:43:09 2020 +0000"
      },
      "message": "ci(travis): removes Node.js v6 and v8 from testing (#90)\n\n"
    },
    {
      "commit": "2937386be0e941ee3ab7c59f3b40d079cedf9945",
      "tree": "a427d7d7001d562c7097187204aa695f59b393d0",
      "parents": [
        "5de9d6a041aba89d9c6ce3b4e91b1bd7dd0b04bd"
      ],
      "author": {
        "name": "Tim Brust",
        "email": "github@timbrust.de",
        "time": "Mon Mar 30 10:42:43 2020 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 30 10:42:43 2020 +0000"
      },
      "message": "chore: bump node requirement (\u003e\u003d10) (#92)\n\n"
    },
    {
      "commit": "5de9d6a041aba89d9c6ce3b4e91b1bd7dd0b04bd",
      "tree": "c06c8d09786ef9081c18d898ff581a76d36b8a22",
      "parents": [
        "821b76ed738d2ed2444de13be2b0b30e402f5f71"
      ],
      "author": {
        "name": "Tim Brust",
        "email": "github@timbrust.de",
        "time": "Mon Mar 30 08:28:57 2020 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 30 08:28:57 2020 +0000"
      },
      "message": "chore: bump version to 3.0.0-dev (#91)\n\n"
    },
    {
      "commit": "821b76ed738d2ed2444de13be2b0b30e402f5f71",
      "tree": "4d8da580047c7d57d89901e9bba7e346c3b95e83",
      "parents": [
        "68d3a3771bd5492eb814d0649aa17e5f638777c5"
      ],
      "author": {
        "name": "Tim Brust",
        "email": "github@timbrust.de",
        "time": "Sat Mar 28 15:31:30 2020 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Mar 28 15:31:30 2020 +0000"
      },
      "message": "chore(npm): improve ignore list (#89)\n\n"
    },
    {
      "commit": "68d3a3771bd5492eb814d0649aa17e5f638777c5",
      "tree": "d82d356d972e6a3a1d04afb98fb40db95de12d8e",
      "parents": [
        "0dad487dcc67d7d713fc14fa378b6d68f1e5b2ed"
      ],
      "author": {
        "name": "Christopher J. Brody",
        "email": "chris@brody.consulting",
        "time": "Thu Dec 12 19:27:35 2019 -0500"
      },
      "committer": {
        "name": "Christopher J. Brody",
        "email": "chris@brody.consulting",
        "time": "Thu Dec 12 19:27:35 2019 -0500"
      },
      "message": "Increment package version to -dev (2.1.1-dev)\n"
    },
    {
      "commit": "0dad487dcc67d7d713fc14fa378b6d68f1e5b2ed",
      "tree": "f61809639e2809b6aeec7085d9a81a0bf7f666f4",
      "parents": [
        "83075188e984e09ca11ca2484c54494ac9348ed5"
      ],
      "author": {
        "name": "Christopher J. Brody",
        "email": "chris@brody.consulting",
        "time": "Thu Dec 12 19:24:20 2019 -0500"
      },
      "committer": {
        "name": "Christopher J. Brody",
        "email": "chris@brody.consulting",
        "time": "Thu Dec 12 19:24:20 2019 -0500"
      },
      "message": "Update version \u0026 RELEASENOTES.md for release 2.1.0\n"
    },
    {
      "commit": "83075188e984e09ca11ca2484c54494ac9348ed5",
      "tree": "02fd72683c901a9c48a7d134786a6abd2945108a",
      "parents": [
        "0d1373569f0e9ae45012aba2d5cad2c6ae616048"
      ],
      "author": {
        "name": "l3ender",
        "email": "l3ender@users.noreply.github.com",
        "time": "Tue Nov 12 10:40:31 2019 -0600"
      },
      "committer": {
        "name": "Chris Brody",
        "email": "chris@brody.consulting",
        "time": "Tue Nov 12 11:40:31 2019 -0500"
      },
      "message": "Add target test coverage (#82)\n\n* addTarget coverage - target name\r\n\r\n* addTarget coverage - validate target type\r\n\r\n* addTarget coverage - build configuration validation\r\n\r\n* addTarget coverage - target name\r\n\r\n* addTarget coverage - target type/name error validation\r\n\r\n* addTarget coverage - strict match for build config comment\r\n\r\n* addTarget coverage - debug/release build config"
    },
    {
      "commit": "0d1373569f0e9ae45012aba2d5cad2c6ae616048",
      "tree": "37ea259dc0aa49726860d205761c39db31902ea0",
      "parents": [
        "0e0386ad7ddd90acfafd6b8d391f3943dc687ede"
      ],
      "author": {
        "name": "l3ender",
        "email": "l3ender@users.noreply.github.com",
        "time": "Mon Nov 11 16:58:45 2019 -0600"
      },
      "committer": {
        "name": "Chris Brody",
        "email": "chris@brody.consulting",
        "time": "Mon Nov 11 17:58:45 2019 -0500"
      },
      "message": "ensure coverage for addTargetDependency with invalid input (#81)\n\n* ensure coverage for addTargetDependency with invalid input\r\n\r\n* ensure coverage for addTargetDependency with correct PBX validation\r\n\r\n* coverage for dependency target comments in addTargetDependency\r\n\r\n* addTargetDependency coverage for proxy container items\r\n\r\n* addTargetDependency proxy item container portal comment validation"
    },
    {
      "commit": "0e0386ad7ddd90acfafd6b8d391f3943dc687ede",
      "tree": "ba456ec7916791af2d36b85efe01a849d1cce364",
      "parents": [
        "a80e27b539635e5eae916d778662dfd14fd74660"
      ],
      "author": {
        "name": "l3ender",
        "email": "l3ender@users.noreply.github.com",
        "time": "Mon Oct 21 12:43:56 2019 -0500"
      },
      "committer": {
        "name": "Chris Brody",
        "email": "chris@brody.consulting",
        "time": "Mon Oct 21 13:43:56 2019 -0400"
      },
      "message": "Support watch2 apps/extensions (#56)\n\n* adds watch2 target/product types\r\n\r\n* support adding watch2 app/extension targets\r\n\r\n* add watch app/extension test coverage\r\n\r\n* project formatting consistency\r\n\r\n* coverage for correct watch app extension path name\r\n\r\n* coverage for target type\r\n\r\n* ensure non-watch2 extensions additions don\u0027t modify watch2 app\r\n\r\n* add test coverage for watch2 product types\r\n\r\n* watch2 file/product type test coverage\r\n\r\n* watch2 coverage for target name/extension\r\n\r\n* clarify watch2 test descriptions\r\n\r\n* update comment to keep consistent w/ project"
    },
    {
      "commit": "a80e27b539635e5eae916d778662dfd14fd74660",
      "tree": "223a6e46f94b832a389bf638c6fb486d06ea6800",
      "parents": [
        "bd85d9a360f4cc096ce2c486e1bc6687ddc322af"
      ],
      "author": {
        "name": "l3ender",
        "email": "l3ender@users.noreply.github.com",
        "time": "Mon Oct 21 12:14:58 2019 -0500"
      },
      "committer": {
        "name": "Chris Brody",
        "email": "chris@brody.consulting",
        "time": "Mon Oct 21 13:14:58 2019 -0400"
      },
      "message": "Test coverage: `addTarget` add to main project as dependency (#76)\n\n* add coverage for main project target dependency\r\n\r\n* handle old env w/o support for object.entries"
    },
    {
      "commit": "bd85d9a360f4cc096ce2c486e1bc6687ddc322af",
      "tree": "8d8b29e7e18682ed41c8434d117b31218240ec57",
      "parents": [
        "4c5c6306f986fc6ae25703e93bff675fd5b589a0"
      ],
      "author": {
        "name": "Chris Brody",
        "email": "chris@brody.consulting",
        "time": "Fri Oct 18 09:26:20 2019 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 18 09:26:20 2019 -0400"
      },
      "message": "remove internal propReplace function not needed (#69)\n\n"
    },
    {
      "commit": "4c5c6306f986fc6ae25703e93bff675fd5b589a0",
      "tree": "7eb09aebf4c69bae575cdb616935675a9d8484ec",
      "parents": [
        "3588e16cb4f90fc43aba97ad48c533173601ea7b"
      ],
      "author": {
        "name": "l3ender",
        "email": "l3ender@users.noreply.github.com",
        "time": "Fri Oct 18 08:23:53 2019 -0500"
      },
      "committer": {
        "name": "Chris Brody",
        "email": "chris@brody.consulting",
        "time": "Fri Oct 18 09:23:53 2019 -0400"
      },
      "message": "Add proper `filetypeForProducttype` test coverage (#72)\n\n* ensure filetypeForProducttype coverage\r\n\r\n* cleaner test target descriptions\r\n"
    },
    {
      "commit": "3588e16cb4f90fc43aba97ad48c533173601ea7b",
      "tree": "275cb23d22abbd8a68b5a233bacadc0c2e53b94c",
      "parents": [
        "2c9d0e8f9ae554278d3aaa538003319a4e6c5b47"
      ],
      "author": {
        "name": "Chris Brody",
        "email": "chris@brody.consulting",
        "time": "Fri Oct 18 09:06:37 2019 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 18 09:06:37 2019 -0400"
      },
      "message": "Test existing WatchKit support (#71)\n\n* add watch app/extension test coverage\r\n\r\n* updated to test existing WatchKit support\r\n\r\n* refactor to check watchapp product type in the beginning (and remove some extra test code)\r\n\r\nCo-authored-by: Ross Bender \u003crbender@rbfcu.org\u003e\r\nCo-Authored-By: Chris Brody \u003cchris@brody.consulting\u003e"
    },
    {
      "commit": "2c9d0e8f9ae554278d3aaa538003319a4e6c5b47",
      "tree": "b021dcb4f5c286c28fb20ac8763d3abfda7ec769",
      "parents": [
        "0d3304c4a04ba0b5fa900932ac11a85f4e261143"
      ],
      "author": {
        "name": "Chris Brody",
        "email": "chris@brody.consulting",
        "time": "Thu Oct 17 11:19:19 2019 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 17 11:19:19 2019 -0400"
      },
      "message": "fix a comment in lib/pbxProject.js (#68)\n\nCo-authored-by: Ross Bender \u003crbender@rbfcu.org\u003e\r\nCo-authored-by: Christopher J. Brody \u003cchris@brody.consulting\u003e"
    },
    {
      "commit": "0d3304c4a04ba0b5fa900932ac11a85f4e261143",
      "tree": "da3fabacecc04cfcbd4a230b74d572fd6dc3825e",
      "parents": [
        "122994dd1a0acfd3ccc2330d98a34b119d3fa229"
      ],
      "author": {
        "name": "l3ender",
        "email": "l3ender@users.noreply.github.com",
        "time": "Wed Oct 16 22:20:13 2019 -0500"
      },
      "committer": {
        "name": "Chris Brody",
        "email": "chris@brody.consulting",
        "time": "Wed Oct 16 23:20:13 2019 -0400"
      },
      "message": "Test coverage for `app_extension` target types (#66)\n\n* tests for app_extension build phase additions\r\n\r\n* coverage for pbxCopyFilesBuildPhaseObj func\r\n\r\nCo-authored-by: Ross Bender \u003crbender@rbfcu.org\u003e\r\nCo-Authored-By: Chris Brody \u003cchris@brody.consulting\u003e"
    },
    {
      "commit": "122994dd1a0acfd3ccc2330d98a34b119d3fa229",
      "tree": "bf38e117be3391f86d9f662eb57ac1105037c6b9",
      "parents": [
        "d06078f9e727c2006372e2d06b08d228ece8c9cd"
      ],
      "author": {
        "name": "l3ender",
        "email": "l3ender@users.noreply.github.com",
        "time": "Wed Oct 16 22:14:52 2019 -0500"
      },
      "committer": {
        "name": "Chris Brody",
        "email": "chris@brody.consulting",
        "time": "Wed Oct 16 23:14:52 2019 -0400"
      },
      "message": "add dependencies for per-file testing (#67)\n\n"
    },
    {
      "commit": "d06078f9e727c2006372e2d06b08d228ece8c9cd",
      "tree": "d0eda0af2cb365edc9018788a22f0565cf95478d",
      "parents": [
        "b81970519188e4bac022f04c86a44f2437c4981e"
      ],
      "author": {
        "name": "Christopher J. Brody",
        "email": "chris@brody.consulting",
        "time": "Thu Sep 26 11:01:05 2019 -0400"
      },
      "committer": {
        "name": "Christopher J. Brody",
        "email": "chris@brody.consulting",
        "time": "Thu Sep 26 11:01:05 2019 -0400"
      },
      "message": "Travis CI now on Linux \u0026 macOS (\"osx\")\n"
    },
    {
      "commit": "b81970519188e4bac022f04c86a44f2437c4981e",
      "tree": "f6eb90679ab4afd74de3266f925194ac23a22074",
      "parents": [
        "a65e1943ed8c71d93e4c673d0a7aabf4ebca7623"
      ],
      "author": {
        "name": "エリス",
        "email": "erisu@users.noreply.github.com",
        "time": "Tue Jun 18 20:09:53 2019 +0900"
      },
      "committer": {
        "name": "Chris Brody",
        "email": "chris.brody@gmail.com",
        "time": "Tue Jun 18 07:09:53 2019 -0400"
      },
      "message": "Add Node.js 12 to CI Services (#51)\n\n"
    },
    {
      "commit": "a65e1943ed8c71d93e4c673d0a7aabf4ebca7623",
      "tree": "58d2b698c53af153883e23117e5dfabfe37649dd",
      "parents": [
        "415924977a8c6da5dda2cd2cfe40d67b365b1ea3"
      ],
      "author": {
        "name": "Frederic Barthelemy",
        "email": "git@fbartho.com",
        "time": "Sun Mar 10 13:55:37 2019 -0700"
      },
      "committer": {
        "name": "Chris Brody",
        "email": "chris@brody.consulting",
        "time": "Sun Mar 10 16:55:37 2019 -0400"
      },
      "message": "Update writeObjectsSections to match current Xcode format (#46)\n\nTested on Xcode Version 10.1 (10B61)\r\n\r\nMINOR fix"
    },
    {
      "commit": "415924977a8c6da5dda2cd2cfe40d67b365b1ea3",
      "tree": "4b89461b9d0619dd98332b26a3ed92d3ca760b3b",
      "parents": [
        "1a2222cf05c7e03650c637779ace783ef52293c3"
      ],
      "author": {
        "name": "エリス",
        "email": "ellis.bryan@gmail.com",
        "time": "Tue Jan 15 14:18:25 2019 +0900"
      },
      "committer": {
        "name": "エリス",
        "email": "ellis.bryan@gmail.com",
        "time": "Tue Jan 15 14:18:25 2019 +0900"
      },
      "message": "GH-10 Incremented package version to -dev\n"
    },
    {
      "commit": "1a2222cf05c7e03650c637779ace783ef52293c3",
      "tree": "1312354346267c67a2603d0bdfe21a846c3357c7",
      "parents": [
        "b1ff4cc775379e7dc64490c95262444027710a52"
      ],
      "author": {
        "name": "エリス",
        "email": "ellis.bryan@gmail.com",
        "time": "Tue Jan 15 13:43:17 2019 +0900"
      },
      "committer": {
        "name": "エリス",
        "email": "ellis.bryan@gmail.com",
        "time": "Tue Jan 15 13:43:17 2019 +0900"
      },
      "message": "GH-10 Updated version and RELEASENOTES.md for release 2.0.0\n"
    },
    {
      "commit": "b1ff4cc775379e7dc64490c95262444027710a52",
      "tree": "261aa1853240789d92a13a8337ba0a45977b98d1",
      "parents": [
        "a83c407c89e44176b3a34e357f96f43d7aaa3bad"
      ],
      "author": {
        "name": "Mark Atkinson",
        "email": "markatkinson0@gmail.com",
        "time": "Wed Dec 19 19:48:59 2018 +0000"
      },
      "committer": {
        "name": "Chris Brody",
        "email": "chris.brody@gmail.com",
        "time": "Wed Dec 19 14:48:59 2018 -0500"
      },
      "message": "Updated to use ECMAScript 2015 Object.assign. (#14)\n\nUpdated pbxproj.js to use ECMAScript 2015 Object.assign to avoid\r\nMaximum call stack size exceeded error when running\r\nreact-native link."
    },
    {
      "commit": "a83c407c89e44176b3a34e357f96f43d7aaa3bad",
      "tree": "aa4f61887ed30a1e93fb2238f40e994ad78ab1e0",
      "parents": [
        "b396eb09f769773ed444a819b50186ebc928aa7e"
      ],
      "author": {
        "name": "Laurin Quast",
        "email": "laurinquast@googlemail.com",
        "time": "Wed Dec 19 20:36:03 2018 +0100"
      },
      "committer": {
        "name": "Chris Brody",
        "email": "chris.brody@gmail.com",
        "time": "Wed Dec 19 14:36:03 2018 -0500"
      },
      "message": "fix: simple-plist@1 update in dependencies (#30)\n\nCo-authored-by: Laurin Quast \u003claurinquast@googlemail.com\u003e\r\nCo-authored-by: Christopher J. Brody \u003cchris.brody@gmail.com\u003e"
    },
    {
      "commit": "b396eb09f769773ed444a819b50186ebc928aa7e",
      "tree": "7c7cbefbdd1aff97628abcec28a8a7cc5226a640",
      "parents": [
        "d7ab1f15876ccf55acd1e932ff44533d38381414"
      ],
      "author": {
        "name": "Laurin Quast",
        "email": "laurinquast@googlemail.com",
        "time": "Wed Dec 19 20:28:24 2018 +0100"
      },
      "committer": {
        "name": "Chris Brody",
        "email": "chris.brody@gmail.com",
        "time": "Wed Dec 19 14:28:24 2018 -0500"
      },
      "message": "drop support for Node.js pre-6.0 (#29)\n\n* chore: remove node versions prior to 6 from travis build\r\n\r\n* chore: bump node engine to lowest LTS version\r\n\r\n* chore: remove redundant console output\r\n\r\nresolves #17"
    },
    {
      "commit": "d7ab1f15876ccf55acd1e932ff44533d38381414",
      "tree": "54bd091456b7476b8c00e3a8102a018ef31a589d",
      "parents": [
        "018cec426c50b253ab438812c3f52fb034ec37b9"
      ],
      "author": {
        "name": "Christopher J. Brody",
        "email": "chris.brody@gmail.com",
        "time": "Wed Dec 19 11:53:34 2018 -0500"
      },
      "committer": {
        "name": "Christopher J. Brody",
        "email": "chris.brody@gmail.com",
        "time": "Wed Dec 19 11:53:34 2018 -0500"
      },
      "message": "Increment package version to 2.0.0-dev\n"
    },
    {
      "commit": "018cec426c50b253ab438812c3f52fb034ec37b9",
      "tree": "20e610367b7058bd767a6af7cc66bac66ab49ccb",
      "parents": [
        "071550e407ffe1a40c76a143b9dd77701ef08da0"
      ],
      "author": {
        "name": "Christopher J. Brody",
        "email": "chris.brody@gmail.com",
        "time": "Wed Dec 19 11:40:14 2018 -0500"
      },
      "committer": {
        "name": "Christopher J. Brody",
        "email": "chris.brody@gmail.com",
        "time": "Wed Dec 19 11:40:14 2018 -0500"
      },
      "message": "Update version \u0026 RELEASENOTES.md for release 1.1.0\n"
    },
    {
      "commit": "071550e407ffe1a40c76a143b9dd77701ef08da0",
      "tree": "0f33579e400198732ab108963f16f7e7cc2ef4af",
      "parents": [
        "c51e81e1d12055aa4ecdc3da9a41f31b7877165c"
      ],
      "author": {
        "name": "Chris Brody",
        "email": "chris.brody@gmail.com",
        "time": "Wed Dec 19 10:25:14 2018 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Dec 19 10:25:14 2018 -0500"
      },
      "message": "uuid@3 update (#40)\n\nCo-authored-by: Christopher J. Brody \u003cchris.brody@gmail.com\u003e\r\nCo-authored-by: Laurin Quast \u003claurinquast@googlemail.com\u003e"
    },
    {
      "commit": "c51e81e1d12055aa4ecdc3da9a41f31b7877165c",
      "tree": "7f78ffe1eb098d659d23a90bb133b6e5e12a6ed7",
      "parents": [
        "db422427dd41d8f695befb33234809c8cf8305de"
      ],
      "author": {
        "name": "Chris Brody",
        "email": "chris.brody@gmail.com",
        "time": "Tue Dec 11 19:30:17 2018 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Dec 11 19:30:17 2018 -0500"
      },
      "message": "Remove trailing whitespace from lib/pbxWriter.js (#35)\n\n"
    },
    {
      "commit": "db422427dd41d8f695befb33234809c8cf8305de",
      "tree": "9045cc5016ca6a70612781a508033a19db0e23d1",
      "parents": [
        "95b529c81fac82acea7d9223feea6f53852a53c8"
      ],
      "author": {
        "name": "Chris Brody",
        "email": "chris.brody@gmail.com",
        "time": "Tue Dec 11 19:09:47 2018 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Dec 11 19:09:47 2018 -0500"
      },
      "message": "Remove trailing whitespace from test/*.js (#34)\n\n"
    },
    {
      "commit": "95b529c81fac82acea7d9223feea6f53852a53c8",
      "tree": "97724493bac370d29250922aa6d8df679d1ac178",
      "parents": [
        "09db825074a76f4783d29f16d9a5dec9f477296d"
      ],
      "author": {
        "name": "Chris Brody",
        "email": "chris.brody@gmail.com",
        "time": "Tue Dec 11 19:05:26 2018 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Dec 11 19:05:26 2018 -0500"
      },
      "message": "Remove trailing space from test pbxproj (#33)\n\ntest/parser/projects/comments.pbxproj"
    },
    {
      "commit": "09db825074a76f4783d29f16d9a5dec9f477296d",
      "tree": "94d9a779ca8087574386286fd6411618dc4e156a",
      "parents": [
        "b732ae53130d1049ba1d1cb1b8ce11498e8d8232"
      ],
      "author": {
        "name": "Chris Brody",
        "email": "chris.brody@gmail.com",
        "time": "Tue Dec 11 16:38:35 2018 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Dec 11 16:38:35 2018 -0500"
      },
      "message": "git ignore package-lock.json (#32)\n\n"
    },
    {
      "commit": "b732ae53130d1049ba1d1cb1b8ce11498e8d8232",
      "tree": "06d1d88cf1ad82d31b84dd20a7552f61d51ae91b",
      "parents": [
        "72daa2dcbb5f302d8d8cafd0a6537e7f11d7ab15"
      ],
      "author": {
        "name": "Chris Brody",
        "email": "chris.brody@gmail.com",
        "time": "Tue Dec 11 16:13:50 2018 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Dec 11 16:13:50 2018 -0500"
      },
      "message": "Resolve issue with pbxFile extension (#31)\n\nwhere pbxFile extension was being set to \u0027undefined\u0027\r\n\r\nand add new test case to verify the bug fix\r\n\r\nwith a quick test fix by @brodybits (Christopher J. Brody)\r\nfor the sake of consistency with the other test cases\r\n\r\nNOTE: These changes were originally part of\r\napache/cordova-node-xcode#12 (cordova-node-xcode PR #12),\r\nextracted here by @brodybits.\r\n\r\nCo-authored-by: Kyle Spearrin \u003ckspearrin@users.noreply.github.com\u003e\r\nCo-authored-by: Christopher J. Brody \u003cbrodybits@litehelpers.net\u003e"
    },
    {
      "commit": "72daa2dcbb5f302d8d8cafd0a6537e7f11d7ab15",
      "tree": "476623b58d6d537b914f66574c7c9850fb63a25d",
      "parents": [
        "3440e481fa7612f45c04e3431c9d6be8308f6983"
      ],
      "author": {
        "name": "Laurin Quast",
        "email": "laurinquast@googlemail.com",
        "time": "Sun Dec 09 21:48:47 2018 +0100"
      },
      "committer": {
        "name": "Chris Brody",
        "email": "chris.brody@gmail.com",
        "time": "Sun Dec 09 15:48:47 2018 -0500"
      },
      "message": "feat: omit objects with empty values (#24)\n\nand add tests"
    },
    {
      "commit": "3440e481fa7612f45c04e3431c9d6be8308f6983",
      "tree": "207eb651f6dcc9cce399e89f7e4388b76f19b282",
      "parents": [
        "67feda8bc70bb616fcba268af754a803d1b67f99"
      ],
      "author": {
        "name": "Chris Brody",
        "email": "chris.brody@gmail.com",
        "time": "Sun Dec 09 13:06:41 2018 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Dec 09 13:06:41 2018 -0500"
      },
      "message": "Add npm badge; fix title \u0026 description (#26)\n\nwith some fixes as suggested by @janpio\r\n\r\nCo-authored-by: Christopher Brody \u003cchris.brody@gmail.com\u003e\r\nCo-authored-by: Jan P \u003cjanpio@users.noreply.github.com\u003e"
    },
    {
      "commit": "67feda8bc70bb616fcba268af754a803d1b67f99",
      "tree": "dbfa0a94da1f6f7d33a405525ac1863240e76db5",
      "parents": [
        "d043fdbf81d9cc3e9410f36d229e9c370a5f017d"
      ],
      "author": {
        "name": "Laurin Quast",
        "email": "laurinquast@googlemail.com",
        "time": "Fri Dec 07 16:13:28 2018 +0100"
      },
      "committer": {
        "name": "Jan Piotrowski",
        "email": "piotrowski+github@gmail.com",
        "time": "Fri Dec 07 16:13:28 2018 +0100"
      },
      "message": "docs(readme): highlight code example (#25)\n\n"
    },
    {
      "commit": "d043fdbf81d9cc3e9410f36d229e9c370a5f017d",
      "tree": "bc3dc1bb3e6397cbbda730089c519e114951fd01",
      "parents": [
        "bd09508d80e5f66bdad1b598ec50a911f48d9e5c"
      ],
      "author": {
        "name": "Chris Brody",
        "email": "chris.brody@gmail.com",
        "time": "Thu Dec 06 11:15:23 2018 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Dec 06 11:15:23 2018 -0500"
      },
      "message": "Add Travis CI badge (#22)\n\n"
    },
    {
      "commit": "bd09508d80e5f66bdad1b598ec50a911f48d9e5c",
      "tree": "b7cc05d16cd3234ede6b316ac6d9905c7e7ca868",
      "parents": [
        "dc4438adf653a855f8548228c686d7fc5768a4c8"
      ],
      "author": {
        "name": "Chris Brody",
        "email": "chris.brody@gmail.com",
        "time": "Thu Dec 06 11:06:07 2018 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Dec 06 11:06:07 2018 -0500"
      },
      "message": ".travis.yml remove comment (#21)\n\nthat is not 100% correct\r\n\r\nand extra blank line"
    },
    {
      "commit": "dc4438adf653a855f8548228c686d7fc5768a4c8",
      "tree": "72ae517dc12162777d79bd214c55148412b63ad8",
      "parents": [
        "91476c31a39a40a5c0f86f67d810115163413463"
      ],
      "author": {
        "name": "Chris Brody",
        "email": "chris.brody@gmail.com",
        "time": "Wed Dec 05 12:41:21 2018 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Dec 05 12:41:21 2018 -0500"
      },
      "message": "Introduce .travis.yml (#19)\n\nfrom cordova-common, with some changes\r\n\r\nTesting of this package on old Node.js versions is included,\r\nsince some non-Cordova users may still expect this to work.\r\n\r\nnvm install --latest-npm is used for Node.js 0.8, as long as needed;\r\nthanks for guidance:\r\n* https://stackoverflow.com/questions/9755841/how-can-i-change-the-version-of-npm-using-nvm/47519162#47519162\r\n* https://github.com/browserify/browserify/blob/master/.travis.yml\r\n\r\nCo-authored-by: Christopher J. Brody \u003cchris.brody@gmail.com\u003e\r\nCo-authored-by: Darryl Pogue \u003cdarryl@dpogue.ca\u003e\r\nCo-authored-by: Audrey So \u003caudreyso@apache.org\u003e\r\nCo-authored-by: filmaj \u003cmaj.fil@gmail.com\u003e\r\nCo-authored-by: Steve Gill \u003cstevengill97@gmail.com\u003e"
    },
    {
      "commit": "91476c31a39a40a5c0f86f67d810115163413463",
      "tree": "9fe26bc30503f091db8b94d16b60973403e7e4f7",
      "parents": [
        "e7646f0680d509b590b839e567c217590451505b"
      ],
      "author": {
        "name": "Chris Brody",
        "email": "chris.brody@gmail.com",
        "time": "Wed Dec 05 11:29:58 2018 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Dec 05 11:29:58 2018 -0500"
      },
      "message": "test/knownRegions.js let -\u003e var (quick fix) (#18)\n\nneeded to pass on older Node.js versions"
    },
    {
      "commit": "e7646f0680d509b590b839e567c217590451505b",
      "tree": "4d25a9c7edb9988843dc1985a705f3116a8d80aa",
      "parents": [
        "80e3a5130d70c5ad88850468389e89e2ed275c63"
      ],
      "author": {
        "name": "Christopher J. Brody",
        "email": "chris.brody@gmail.com",
        "time": "Mon Jul 09 12:16:17 2018 -0400"
      },
      "committer": {
        "name": "Christopher J. Brody",
        "email": "chris.brody@gmail.com",
        "time": "Mon Jul 09 20:30:45 2018 -0400"
      },
      "message": "pegjs updates\n\npackage.json\n- move pegjs to devDependencies in package.json\n- add pegjs script to package.json\n- update README.md with easier pegjs instructions \u0026 reminder notice\n"
    },
    {
      "commit": "80e3a5130d70c5ad88850468389e89e2ed275c63",
      "tree": "1f8db60b37484c12370561e651f08ed89cec138e",
      "parents": [
        "2dbcd314f9a1b215c2f17e5792a46604784d76cc"
      ],
      "author": {
        "name": "Christopher J. Brody",
        "email": "chris.brody@gmail.com",
        "time": "Mon Jul 09 12:04:33 2018 -0400"
      },
      "committer": {
        "name": "Christopher J. Brody",
        "email": "chris.brody@gmail.com",
        "time": "Mon Jul 09 20:30:45 2018 -0400"
      },
      "message": "CB-14145 explicit nodeunit@^0.11.3 update\n"
    },
    {
      "commit": "2dbcd314f9a1b215c2f17e5792a46604784d76cc",
      "tree": "4b2376577af3c136eb0db7af4537123a20b96421",
      "parents": [
        "d1ff114a9495743dc3ca1a965d590e2f186e40a7"
      ],
      "author": {
        "name": "Christopher J. Brody",
        "email": "chris.brody@gmail.com",
        "time": "Mon Jul 09 11:58:19 2018 -0400"
      },
      "committer": {
        "name": "Christopher J. Brody",
        "email": "chris.brody@gmail.com",
        "time": "Mon Jul 09 20:30:45 2018 -0400"
      },
      "message": "package.json remove extra blank lines\n"
    },
    {
      "commit": "d1ff114a9495743dc3ca1a965d590e2f186e40a7",
      "tree": "c717c6881bb2f282c7c391f6e6d0992fb8de5bc0",
      "parents": [
        "fadff4476da1979e3a40902a4a160d7024012d0d"
      ],
      "author": {
        "name": "kelvinhokk",
        "email": "kelvinhokk@users.noreply.github.com",
        "time": "Tue May 22 14:35:52 2018 +0800"
      },
      "committer": {
        "name": "Shazron Abdullah",
        "email": "shazron@gmail.com",
        "time": "Tue May 22 14:35:52 2018 +0800"
      },
      "message": "Fixed bug where comment is not removed on removing embedded frameworks. (#5)\n\n"
    },
    {
      "commit": "fadff4476da1979e3a40902a4a160d7024012d0d",
      "tree": "6f002d8e9fce4d7f62dc3ce29463d8723dfdd55f",
      "parents": [
        "ba195a85438c810eac41905adc4930428ba90a24",
        "747d7ba94c6621ef0accf6832cb457f7a746bc7f"
      ],
      "author": {
        "name": "Shazron Abdullah",
        "email": "shazron@gmail.com",
        "time": "Mon Feb 12 00:12:08 2018 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Feb 12 00:12:08 2018 +0800"
      },
      "message": "Merge pull request #8 from ikhattab/patch-1\n\nupdate invalid link of PEGjs on README"
    },
    {
      "commit": "747d7ba94c6621ef0accf6832cb457f7a746bc7f",
      "tree": "6f002d8e9fce4d7f62dc3ce29463d8723dfdd55f",
      "parents": [
        "ba195a85438c810eac41905adc4930428ba90a24"
      ],
      "author": {
        "name": "Ihab Khattab",
        "email": "ikhattab@users.noreply.github.com",
        "time": "Sat Feb 10 14:40:59 2018 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Feb 10 14:40:59 2018 +0200"
      },
      "message": "update invalid link of PEGjs on README"
    },
    {
      "commit": "ba195a85438c810eac41905adc4930428ba90a24",
      "tree": "5b44c8fb95e86663c90e1211428742e79c3f9e18",
      "parents": [
        "9345e5ed03e2118b3f5baccd96c570446406d2a2"
      ],
      "author": {
        "name": "Steve Gill",
        "email": "stevengill97@gmail.com",
        "time": "Fri Oct 06 15:28:29 2017 -0700"
      },
      "committer": {
        "name": "Steve Gill",
        "email": "stevengill97@gmail.com",
        "time": "Fri Oct 06 15:28:29 2017 -0700"
      },
      "message": "CB-13380 Incremented package version to -dev\n"
    },
    {
      "commit": "9345e5ed03e2118b3f5baccd96c570446406d2a2",
      "tree": "3f58dc77fb1e86c413ac676556ac8a36bf4d5dd1",
      "parents": [
        "53dda04aae950ab733bac3faedb25ae9d94ed3da"
      ],
      "author": {
        "name": "Steve Gill",
        "email": "stevengill97@gmail.com",
        "time": "Thu Oct 05 17:34:46 2017 -0700"
      },
      "committer": {
        "name": "Steve Gill",
        "email": "stevengill97@gmail.com",
        "time": "Thu Oct 05 17:34:46 2017 -0700"
      },
      "message": "CB-13380 added missing license headers\n"
    },
    {
      "commit": "53dda04aae950ab733bac3faedb25ae9d94ed3da",
      "tree": "0cdb02f5724f611fb368b5b02538c08d7aa3b1f0",
      "parents": [
        "0d0519729fc5641e6e85cfa7176bb93b8e0e5f9e"
      ],
      "author": {
        "name": "Steve Gill",
        "email": "stevengill97@gmail.com",
        "time": "Thu Oct 05 12:18:30 2017 -0700"
      },
      "committer": {
        "name": "Steve Gill",
        "email": "stevengill97@gmail.com",
        "time": "Thu Oct 05 17:34:06 2017 -0700"
      },
      "message": "CB-13380 Updated version and RELEASENOTES.md for release 1.0.0\n"
    },
    {
      "commit": "0d0519729fc5641e6e85cfa7176bb93b8e0e5f9e",
      "tree": "707b9fbcd55124b54e179bebe004e55f71f77f4a",
      "parents": [
        "ed7b53995d52e61579e8d9fc96ed0a02f4c84dba"
      ],
      "author": {
        "name": "ZauberNerd",
        "email": "zaubernerd@zaubernerd.de",
        "time": "Thu Jun 01 14:21:50 2017 +0200"
      },
      "committer": {
        "name": "Steve Gill",
        "email": "stevengill97@gmail.com",
        "time": "Wed Oct 04 16:01:45 2017 -0700"
      },
      "message": "Fix null-access errors in \"addTo/removeFrom*PbxGroup\" methods\n\nThe project exposes a few methods to add/remove children from PbxGroups\n* `addToPluginsPbxGroup` / `removeFromPluginsPbxGroup`\n* `addToResourcesPbxGroup` / `removeFromResourcesPbxGroup`\n* `addToFrameworksPbxGroup` / `removeFromFrameworksPbxGroup`\n* `addToProductsPbxGroup` / `removeFromProductsPbxGroup`\nwhich are used internally in:\n* `addPluginFile` / `removePluginFile`\n* `addResourceFile` / `removeResourceFile`\n* `addProductFile` / `removeProductFile`\n* `addFramework` / `removeFramework`\n\nBut neither of these methods do a check whether the `PbxGroup` actually\nexists before trying to modify it - this can result in a possible\nnull-access error.\nI ran into this problem when trying to add a framework to a project\nwhich didn\u0027t have a `Frameworks` `PbxGroup`.\n\nThis commit adds checks to these methods to test for existence of the\n`PbxGroup`s and creates them if they don\u0027t exist or does an early exit\nin the case of removal.\n\n This closes #3\n"
    }
  ],
  "next": "ed7b53995d52e61579e8d9fc96ed0a02f4c84dba"
}
