Skip to content

Latest commit

Β 

History

History
1074 lines (659 loc) Β· 50 KB

CHANGELOG.md

File metadata and controls

1074 lines (659 loc) Β· 50 KB

πŸš€ Check out the guidelines here

Unreleased

8.21.0

Fixed

  • Fix package manifest by @0111b in #816

Added

  • Add Privacy Manifest in 'Projects Using' README table by @stelabouras in #819

Changed

  • Adopt Strict Concurrency checking by @waltflanagan in #821
  • Set minimum swift version to 5.8 by @waltflanagan in #822

8.20.0

Fixed

  • Fix deprecation warning when targeting macOS 13 by @jszumski in #814

8.19.0

Added

  • Add precompiled header extension to headersExtensions for adding .pch… by @VorkhlikArtem in #812

8.18.0

Added

  • Add showNonLocalizedStrings option to XCScheme+LaunchAction by @ladislas in #806
  • Fix issue that it is not possible to remove a remote package by @kevin-kp in #803
  • XCScheme string initializer by @mattmassicotte in #809

Changed

  • Inherit values in the default SWIFT_ACTIVE_COMPILATION_CONDITIONS value by @pepicrft in #811

8.17.0

Added

  • Fix issue that it is not possible to remove a remote package by @kevin-kp in #803

8.16.0

Added

  • Create PBXProj class from the Data reprentation of a pbxproj file by @Ibrahimhass in #798
  • Add XCLocalSwiftPackageReference Support by @art-divin in #799

Fixed

  • Fix issue that multiple products of the same package cannot be added by @kevin-kp in #801

8.15.1

Added

  • Added XCLocalSwiftPackageReference Support (#799)[#799] by @art-divin.

8.15.0

Added

  • Added preferredScreenCaptureFormat to XCScheme.TestAcion #792 by @tatagrigory.

8.14.0

Added

8.13.0

Added

8.12.0

Added

  • PBXBuildRule.dependencyFile attribute #781 by @pepicrft.
  • Update last known upgradeCheck and swiftUpgradeCheck constants #781 by @pepicrft.
  • Add the defaults xcschemeFormatVersion, lastSwiftUpgradeCheck, and lastUpgradeCheck #781 by @pepicrft.

8.11.0

Added

  • Support for Xcode runtime issue breakpoints #761 by @zenangst.
  • Platform.visionOS case and updated BuildSettingsProvider to return the default build settings for visionOS projects #765 by @Mstrodl.

Changed

  • PathKit version to 1.0.1.
  • Bump xcodeproj.podspec macOS deployment target to 10.13.

Removed

  • (Breaking) Dropped Carthage support: Since the tool is not actively maintained.
  • (Breaking) Dropped CocoaPods support: With the Apple ecosystem moving to Swift Package Manager we'd like to support the transition by dropping support for CocoaPods. The drop will simplify our release process.

Fixed

  • Ensured UUIDs are considered when sorting by filename to ensure information is not lost when filenames are equal #769 by @timothycosta.

8.10.0

Added

Fixed

Changed

  • Update XCSharedData Writable conformance to include WorkspaceSettings #743 by @dayton-bobbitt

8.9.0

Added

  • Update watchOS application default settings for Xcode 14 #711 by @kwridan
  • Implement Hashable for XCScheme.BuildableReference #712 by @cgrindel
  • Sets customWorkingDirectory for schemes #720 by @maxwellE
  • Add XCScheme.ExecutionAction.shellToInvoke #721 by @CrazyFanFan
  • Add platformFilters attribute to PBXBuildFile and PBXTargetDependency #737 by @maxwellE
  • Add suppot for XCUserData #739 by @teameh

8.8.0

Fixed

Added

Changed

8.7.1

Changed

8.7.0

Added

8.6.0

Added

  • Support for location added to test targets (TestableReference) #654 by @KrisRJack

8.5.0

Added

  • Add XCSchemeManagement struct #565 by @pepibumur.

Changed

  • Update the last-known and default constants to align with Xcode 13.

8.4.0

Added

  • Support customized DerrivedData path in WorkspaceSettings #650 by @freddi-kit.

8.3.1

Fixed

8.3.0 - Mojo

Added

  • CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED to default build setting #641 by @flowbe

Fixed

8.2.0 - Bubbles

Added

  • Support obtaining the full path of a file element by passing the source root as a string #624 by @ileitch.

Fixed

  • If RemoteRunnable doesn't contains BuildableReference XcodeProj removes xcscheme file #627 by @subdan.

Changed

8.1.0 - Barcelona

Changed

8.0.0 - Amor

Fixed

  • Adding group set incorrect parent in case of complex path #614 by @avdyushin
  • Breaking Fixed issue where some schemes could not be deserialized because a buildable reference did not contain a blueprint identifier #612 by @daltonclaybrook
  • Added the com.apple.product-type.driver-extension and com.apple.product-type.system-extension PBXProductType #618 by @vgorloff.

Changed

  • Breaking Make runPostActionsOnFailure optional #619 by @kwridan

7.23.0 - Bonsai

Added

  • Allows passing BuildableIdentifier String to BuildableReference initializer #605 by @freddi-kit

Fixed

7.22.0 - Ringui Dingui

Added

  • CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER to default build setting #608 by @fortmarek

Fixed

7.21.0 - Alfredo

Changed

7.20.0 - Sol

Added

7.19.0 - Kreuzberg

Fixed

  • JSON decoder not properly decoding defaultConfigurationIsVisible in some projects #593 by @tjwio
  • JSON decoder not properly decoding proxyType in some projects #596 by @tjwio
  • BuildPhaseTests not handling failure cases properly #597 by @tjwio
  • xcconfig parser does not support inline comments #602 by @dive

7.18.0 - Penguin

Added

  • Support for building and running on Linux. #585 by @elliottwilliams.
  • Tested for compatibility with Swift 5.3 on Ubuntu 18.04.
  • XcodeProj requires FoundationXML / libxml2, which is part of the standard Swift Linux toolchain but not necessarily available in all environments.

7.17.0 - Tempelhof

Added

  • Added the com.apple.product-type.metal-library PBXProductType #576 by @deatondg.
  • Deprecate PBXBuildPhase.type() function #571 by @marciniwanicki.
  • Added runOncePerArchitecture attribute to PBXBuildRule #570 by @sascha

7.16.0 - Cieza

Added

  • Set the right module_name in the .podspec. #578 by @dflems.

7.15.0 - Marea

Fixed

  • explicitFileType corrected for .bundle #563 by @adamkhazi

Added

  • Add support for alwaysOutOfDate flag in PBXShellScriptBuildPhase #572 by @marciniwanicki
  • Added PBXShellScriptBuildPhase.dependencyFile attribute #568 by @polac24
  • Add support for StoreKitConfigurationFileReference in LaunchAction of XCScheme #573 by @jcolicchio

7.14.0

Fixed

  • lastKnownFileType for .ttf and .sqlite files #557 by @adamkhazi

Added

  • Added selectedTests attribute to XCScheme.TestableReference #559 by @ooodin

7.13.0

Added

  • Support on-demand-install-capable application #554 by @d-date
  • Add RemotePath to RemoteRunnable #555 by @kwridan

7.12.0

Added

  • Added LaunchAction.customLLDBInitFile and TestAction.customLLDBInitFile attributes #553 by @polac24

7.11.1

Added

  • Added platformFilter to the PBXTargetDependency #546 by @tomaslinhart

7.11.0

Changed

  • Point XcodeProjCExt to version 0.1.0 #540 by @khoi

Added

  • Added useTestSelectionWhitelist attribute to XCScheme.TestableReference #516 by @basvankuijck.

Fixed

  • "Products" group has the same ID for any project #538 by @damirdavletov

7.10.0

Changed

  • Optimize bottlenecks #529 by @michaeleisel

7.9.0

Changed

  • Remove Tapestries folder for tapestry 0.0.5 version #523 by @fortmarek
  • Sped up the generation of commented strings, especially those that include an MD5 hash

Fixed

  • Code Coverage Targets and Additional Options Scheme Instability #522 by @adamkhazi
  • Fix XCWorkspace Equatable #524 by @adamkhazi

7.8.0

Added

  • Added PathRunnable to the LaunchAction to allow running any executable #521 by @vytis

Fixed

  • Make PBXProject.targetAttributes non optional again and fix equality #519 by @yonaskolb

7.7.0

Fixed

  • Ensure references to products in external projects are generated with deterministic UUIDs #518 by @evandcoleman

7.6.0

Changed

  • Breaking Make PBXProject.targetAttributes optional #517 by @pepibumur

Fixed

  • Remove "Shell" Carthage dependency from carthage xcode project as it's no longer used #507 by @imben123

Added

  • Added com.apple.product-type.xcframework to PBXProductType. #508 by @lakpa
  • Added askForAppToLaunch parameter to LaunchAction and ProfileAction. #515 by @YutoMizutani
  • Added "ENABLE_PREVIEWS" to target application build settings #511 by @fortmarek

7.5.0

Fixed

  • Provide default build settings for unit and ui test targets #501 by @kwridan
  • Remove "Shell" Carthage dependency from project manifest as it's no longer used #505 by @kwridan

7.4.0

Changed

  • Update list of recognized file extensions #500 by @dflems

7.3.0

Changed

  • Update BuildSettingsProvider to include extension settings #497 by @kwridan
  • Remove the dependency with the Swift Package Manager #499 by @elliottwilliams

7.2.2

Fixed

  • Make test plans deserialise correctly #496 by @adamkhazi

7.2.1

Fixed

Changed

  • Replaced CircleCI with GitHub actions #493 by @pepibumur
  • Replace CircleCI with GitHub actions #493 by @pepibumur
  • Replace Shell with the SPM's Process utility class #492 by @pepibumur

Added

  • Automating release process with tapestry #495 by @fortmarek

7.2.0

Added

  • Added support for Xcode 11 test plans #491 by @maniramezan

Fixed

  • Add remote Swift packages to the Frameworks build phase #487 by @kwridan
  • System library added to a group has empty path #488 by @damirdavletov
  • Fix Products group serialisation with temporary ids #489 by @damirdavletov

7.1.0

Added

  • Add onlyGenerateCoverageForSpecifiedTargets parameter to TestAction #473 by @kateinoigakukun
  • Added support for PBXTargetDependency.product #481 by @yonaskolb
  • Xcode 11 support.

7.0.1

Changed

  • Update BuildSettingProvider to return LD_RUNPATH_SEARCH_PATHS as Array<String> #463 by @marciniwanicki
  • Update Project.swift to make it compatible with tuist 0.17.0 #469 by @marciniwanicki

Added

  • Adding support for adding local Swift packages #468 by @fortmarek
  • Adding additional lastKnownFileTypes #458 by @kwridan
  • Adding possibility to create variant group for referencing localized resources #462 by @timbaev

###Β Fixed

  • Duplication of packages #470 by @fortmarek

7.0.0

Changed

  • Breaking Change the UUID generation logic to generate ids with a length of 24 #432 by @pepibumur.
  • Breaking Renamed module from xcodeproj to XcodeProj #398 by @pepibumur.
  • Add override flag to PBXGroup.addFile(at:,sourceTree:,sourceRoot:) #410 by @mrylmz
  • Rename some internal variables to have a more representative name #415 by @pepibumur.

Added

  • Breaking Add SWIFT_COMPILATION_MODE and CODE_SIGN_IDENTITY build settings, remove DEBUG flag for Release #417 @dangthaison91
  • Breaking Added throwing an error in case group path can't be resolved by @damirdavletov
  • Breaking Added remote project support to PBXContainerItemProxy by @damirdavletov
  • Breaking Add support for RemoteRunnable #400 by @pepibumur.
  • Breaking Swift 5 support #397 by @pepibumur.
  • Added com.apple.product-type.application.watchapp2-container to PBXProductType. #441 by @leogdion.
  • Add BatchUpdater to quickly add files to the group #388 by @CognitiveDisson.
  • WorkspaceSettings.autoCreateSchemes attribute #399 by @pepibumur
  • Additional Swift 5 fixes: #402 by @samisuteria
  • Make build phase name public by @llinardos.
  • Can access embed frameworks build phase for a target by @llinardos.
  • Added com.apple.product-type.framework.static to PBXProductType. #347 by @ileitch.
  • Can add a not existing file to a group #418 by @llinardos.
  • Support for Swift PM Packages #439 #444 by @pepibumur @yonaskolb.
  • LaunchAction.customLaunchCommand attribute #451 by @pepibumur.
  • XCBuildConfiguration.append method #450 by @pepibumur.

Fixed

  • Carthage integration #416 by @pepibumur.
  • Relative path is wrong when referencing file outside of project folder #423 by @damirdavletov
  • [crash] Fatal error: Duplicate values for key #426 by @toshi0383
  • Change PBXContainerItemProxy.remoteGlobalID attribute to support object references #445 by @yonaskolb
  • Dead lock in the PBXObjects.delete method #449 by @pepibumur

Removed

  • OSLogs #453 by @pepibumur.

6.7.0

Changed

  • Breaking Make PBXBuildPhase.files optional to match Xcode's behavior #391 by @pepibumur.

Added

  • Add location variable to XCWorkspaceDataElement #387 by @pepibumur.

Fixed

  • Fixed file full path performance issue #372 by @CognitiveDisson.
  • Diffing issues when writing the project #391 by @pepibumur.

6.6.0

Fixed

  • Fix adding files to PBXBuildPhase #380 @danilsmakotin.
  • Improve project encoding performance #371 by @CognitiveDisson.
  • Project decoding performance issue #365 by @CognitiveDisson.
  • Fix PBXTarget extension methods #367 by @danilsmakotin.

Added

  • Added GPUFrameCaptureMode and GPUValidationMode options to LaunchAction #368 by @schiewe.
  • Add Swiftformat #375 by @pepibumur.

Changed

  • Breaking Rename GPUFrameCaptureMode cases to start with a lowercase letter #375 by @pepibumur.
  • Fix linting issues #375 by @pepibumur.

6.5.0

Changed

  • Make Xcode.Supported.xcschemeFormatVersion public #361 by @yonaskolb.

Added

  • Fix remote target dependency #362 by @mxcl.

6.4.0

Added

  • Added projReferenceFormat to PBXOutputSettings to allow changing the output format of generated references. withPrefixAndSuffix will give the legacy behaviour xcode will generate 32 character references as XCode does. #345 by @samskiter.
  • Danger #357 by @pepibumur.
  • Support for WorkspaceSettings #359 by @pepibumur.

6.3.0

Added

  • Added parallelizable and randomExecutionOrdering attributes to XCScheme.TestableReference #340 by @alvarhansen.

Fixed

  • Fixed possible generated UUID conflicts #342 by @yonaskolb.
  • Fixed not working PBXFileElement.fullPath(sourceRoot:) method #343 by @Vyeczorny.

6.2.0

Added

  • Carthage and CocoaPods support #339 by @pepibumur.

Changed

  • Improved writing performance #336 #337 #338 by @yonaskolb.
  • Replaced Swift Package Manager dependency with PathKit #334 by @yonaskolb.

6.1.0

Added

  • Added ability to pass in a PBXObject into the PBXProject.targetAttributes dictionary, which will be encoded into its UUID. Can be used for TestTargetID #333 by @yonaskolb.

Changed

  • Changed XCScheme.BuildableReference init to make blueprint a PBXObject and added a setBlueprint(:) function #320 by @yonaskolb.
  • Bump AEXML version to 4.3.3 #310 by @pepibumur.
  • Improves performance of object references #332 by @yonaskolb.
  • Prefix reference with object type acronym. eg. PBXFileReference becomes FR_XXXXXXXXXXXXXXXXX #332 by @yonaskolb.
  • Add TEMP prefix to temporary unfixed reference values #332 by @yonaskolb.

Fixed

  • Fixed written order of scheme attributes in Swift 4.2 #325 and #331 by @yonaskolb and @drekka

6.0.1

Fixed

  • Fixes PBXProject attributes not being set properly #318 by @yonaskolb.
  • Fixed remoteGlobalID typo #315 by @yonaskolb.
  • Fixed XCBuildConfiguration.buildConfiguration type #316 by @yonaskolb.

6.0.0

Note: Migration guidelines are included in the project README.

Changed

  • Breaking Make PBXObjectReference internal #300 by @pepibumur.
  • Breaking Make PBXObjects internal #300 by @pepibumur.
  • Breaking Move PBXObjects helpers to PBXProj #300 by @pepibumur.

5.2.0

Changed

  • Some tweaks to support Xcode 10 #298 by @pepibumur.

5.1.1

Changed

  • Breaking Change PBXBuildFile.file attribute to be of type PBXFileElement #297 by @pepibumur.

Added

  • Add PBXBuildPhase.add(file:) method that takes a file element and returns a build file #297 by @pepibumur.
  • Add PBXProj.rootObject attribute #297 by @pepibumur.

Fixed

  • XCBuildConfiguration.baseConfiguration type #297 @pepibumur.

5.1.0

Added

  • setAttributes, removeAttributes and attributes to PBXProject #295 by @pepibumur

Changed

  • Breaking Change blueprintIdentifier type to PBXObjectReference #289 by @pepibumur

Fixed

  • Fix grammatical issues and add some convenient getters #291 by @pepibumur
  • Fix targets not getting the reference generated #290 by @pepibumur
  • Product references not being generated #294 by @pepibumur

Removed

  • Breaking Make PBXProject.attributes internal #295 by @pepibumur

5.0.0

Nothing new since the release rc2.

5.0.0-rc2

Changed

  • Breaking Rename filesReferences to fileReferences #271 by @pepibumur

Added

  • Xcode 10 inputFileListPaths and outputFileListPaths attributes #271 by @pepibumur
  • Split up XCScheme models and make them conform the Equatable protocol #273 by @pepibumur
  • Convenient methods to add and fetch build configurations #283 by @pepibumur
  • .inc extension to the header file extensions by @pepibumur

5.0.0-rc1

Breaking

  • Rename project to xcodeproj by @pepibumur.
  • Drop Carthage and CocoaPods support by @pepibumur.
  • Use Basic AbsolutePath, RelativePath and Process extensions by @pepibumur.
  • Use PBXObjectReference instead of String to reference objects from PBXProj.Objects by @pepibumur.
  • Remove ObjectReference by @pepibumur.
  • Update PBXNativeTarget reference attributes to be of type PBXObjectReference by @pepibumur.
  • Add convenient methods to materialize objects references #12 by @pepibumur.
  • Rename some PBXProject attributes for consistency #268 by @pepibumur.

Added

  • Add addDependency method to PBXNativeTarget by @pepibumur.
  • Danger check that reports Swiftlint results #257 by @pepibumur.
  • Xcode constants by @pepibumur.
  • Convenient API from objects by @pepibumur.
  • BuildSettingsProvider by @pepibumur.
  • Add addDependency method to PBXNativeTarget by @pepibumur.
  • Method in XCConfigurationList to get the build configurations objects @pepibumur.
  • Method to get the configuration list from any target #10 by @pepibumur.
  • Migration guidelines #264 by @pepibumur.

Removed

  • Deprecated elements by @pepibumur.
  • Tests that test the conformance of Equatable by @pepibumur.

Fixed

  • XCConfig parser strips the trailing semicolon from a configuration value #250 by @briantkelley
  • fullPath(fileElement:reference:sourceRoot:) now returns the correct path for files that exist within a variant group #255 by @ileitch

Added

  • Update Danger to warn if the PR title contains WIP #259 by @pepibumur.
  • Test coverage reports #258 by @pepibumur

4.3.0

Added

  • CI pipeline runs also on a Linux environment #249 by @pepibumur.
  • Auto-generation of Equatable conformances using Sourcery #189 @by pepibumur.

Fixed

  • Some updates to match the Xcode 9.3 project format #247 by @LinusU

4.2.0

Added

  • PBXNativeTarget.productInstallPath, PBXTargetDependency.name #241 by @briantkelley
  • PBXContainerItem super class of PBXBuildPhase and PBXTarget #243 by @briantkelley
  • PBXFileElement.wrapsLinesproperty #244 by @briantkelley
  • PBXFileReference languageSpecificationIdentifier and plistStructureDefinitionIdentifier properties #244 by @briantkelley

Changed

  • Support for XCConfig project-relative includes #238 by @briantkelley
  • Migrated PBXProject.projectRoot to PBXProject.projectRoots #242 by @briantkelley
  • Moved PBXFileElement.includeInIndex and PBXGroup's usesTabs, indentWidth, and tabWidth properties to PBXFileElement #244 by @briantkelley
  • PBXContainerItem super class of PBXFileElement #244 by @briantkelley
  • PBXVariantGroup and XCVersionGroup now inherit from PBXGroup #244 by @briantkelley

Fixed

  • PBXObject.isEqual(to:) overrides correctly call super #239 by @briantkelley
  • PBXAggregateTarget does not write buildRules #241 by @briantkelley
  • Writes showEnvVarsInLog only when false #240 by @briantkelley
  • Writes PBXProject.projectReferences to the plist #242 by @briantkelley
  • Comment generation for PBXProject, PBXTarget, and PBXVariantGroup #243 by @briantkelley
  • fullPath now returns the path for a file inside a group without a folder #246 by @ileitch
  • Quotes strings containing a triple underscore or double forward slash in .pbxproj file #245 by @briantkelley

4.1.0

Added

  • Added tvOS and watchOS Carthage support #232 by @yonaskolb
  • Added support for scheme environment variables #227 by @turekj

Fixed

  • Fixed PBXObject sublasses from checking Equatable properly #224 by @yonaskolb
  • Fix Carthage support #226 by @ileitch
  • Fix adding file reference to bundle and package files #234 by @fuzza
  • Fix adding PBXGroup without folder reference #235 by @fuzza
  • Fixed some more diffs from Xcode #233 by @yonaskolb

Changed

  • Carthage minimum Deployment Target #229 by @olbrichj

4.0.0

Added

  • Added support for scheme pre-actions and post-actions #217 by @kastiglione

Changed

  • Breaking: Changed the return type of some helper functions that create or fetch PBXObjects to be ObjectReference, which includes the reference as well as the object #218 by @yonaskolb
  • Breaking: Changed some Int properties into Bool or UInt #221 by @yonaskolb
  • Changed the writing of some properties to minimise diffs when opening projects in Xcode #220 by @yonaskolb

3.0.0

Fixed

  • Fix Xcode 9.2 warning #209 by @keith
  • macOS CLI targets now have a nil extension, instead of an empty string #208 by @keith
  • Fix unnecessary quotations in CommentedString #211 by @allu22
  • Fixed xml files format not matching Xcode format, added some missing actions attributes. #216 by @ilyapuchka

Changed

  • Breaking: XCWorkspace.Data renamed to XCWorkspaceData and removed references.
  • Improved README examples. #212 by @ilyapuchka
  • Added methods to get paths to workspace, project and breakpoints and shemes files, added public methods to write them separatery. #215 by @ilyapuchka
  • Added helper methods for adding source file to the project. #213 by @ilyapuchka

2.0.0

Added

  • Deterministic reference generation #185 by @pepibumur

Removed

  • Breaking Change Referenceable protocol #185 by @pepibumur.
  • Breaking Change Deprecated methods to access objects from the PBXProj. Developers should use the PBXProj.objects property instead. #185 by @pepibumur.

Fixed

  • Breaking: PBXSourceTree no longer has raw values and gained an associated value case to support custom locations #198 by @briantkelley

Changed

  • Breaking: The buildableProductRunnable property onXCScheme.LaunchAction and XCScheme.ProfileAction is now optional. Similarly, macroExpansion on XCScheme.TestAction is also optional. #194 by @briantkelley
  • The XCScheme initialization from an XML file has been relaxed, better matching Xcode's behavior. Default values will be used if the XML file is missing the relevant element or attribute. #194 by @briantkelley

Migrate from 1.x.x to 2.x.x

  • If you were using objects getters in PBXProj you should use the getters in PBXProj.objects instead.
  • Objects don't include a reference property anymore. Objects associated references are the keys in the dictionary that contains them.
  • When objects are added to the PBXProj.objects collection a reference needs to be passed. The reference can be calculated using the function PBXProj.objects.generateReference that generates a unique and deterministic reference based on the given object and identifier.
  • If you were using buildableProductRunnable and macroExpansion properties from XCScheme actions they are now optionals.

1.8.0

Fixed

  • Optimised performance of object lookups #191 by @kastiglione

Added

  • Add breakpoint condition parameter by @alexruperez.
  • Support Xcode Extension product type #190 by @briantkelley
  • Support for the legacy Build Carbon Resources build phase #196 by @briantkelley
  • Support for custom build rules by #197 @briantkelley

Fixed

  • Optimised escaping of CommentedString #195 by @kastiglione
  • Optimised performance of object lookups #191 by @kastiglione
  • fixed PBXLegacyTarget write order #199 by @kastiglione
  • fixed comment generation of PBXBuildFiles without a name #203 by @briantkelley
  • fixed PBXReferenceTarget encoding in pbxproj file #202 by @briantkelley

1.7.0

Added

  • Support more indentation options on PBXGroups #168 by @bkase.
  • Support PBXLegacyTarget #171 by @bkase.
  • Breakpoint support through XCBreakpointList. #172 by @alexruperez
  • Add convenience method to find targets with a given name #184 by @pepibumur.
  • Danger plugin that fails earlier if files have been added/deleted and the Carthage project hasn't been regenerated afterwards #187 by @pepibumur.

1.6.1

Fixed

  • Fix encoded line breaks in PBXFileReference #177 by @yonaskolb

1.6.0

Added

  • PBXLegacyTarget support #171 by @bkase
  • Integration tests #168 by @pepibumur
  • More examples to the README #116 by @pepibumur.
  • Add adding / editing command line arguments for Launch, Test and Profile Actions in XCScheme. #167 by @rahul-malik
  • Test the contract with XcodeGen #170 by @pepibumur
  • Add PBXProj.Objects.getFileElement #175 by @yonaskolb

Fixed

  • PBXGroup not generating the comment properly for its children #169 by @pepibumur.
  • Make PBXFileElement a superclass for PBXFileReference, PBXGroup, and PBXVariantGroup #173 by @gubikmic
  • Added path to PBXVariantGroup init #174 by @yonaskolb

1.5.0

Added

  • Add codeCoverageEnabled parameter to TestAction #166 by @kastiglione
  • Make final classes that are not extendible #164 by @pepibumur.

Fixed

  • Fix PBXProject productRefGroup comment #161 by @allu22
  • Fix deprecation warnings for PBXProj objects usage #162 by @rahul-malik

1.4.0 - Take me out

Added

  • Danger integration #158 by @pepibumur

Changed

  • Improve efficiency of looking up PBXObject's from PBXProj #136 by @rahul-malik

Deprecated

Fixed

  • Fix PBXBuildFile wrongly defaulting the settings attribute when it was nil #149 by @allu22
  • Fix PBXTarget generating the wrong comment for the productReference property #151 by @allu22.
  • Add missing usesTabs property to PBXGroup #147 by @allu22.
  • Fix generated comment for PBXHeadersBuildPhase by @allu22.
  • Fix wrong BuidlSettings.swift file name #146 by @allu22.
  • Fix projectReferences type #135 by @solgar.

Added

  • Danger checks #160 by @pepibumur
  • New product type ocUnitTestBundle #134 by @solgar.

1.3.0 - Esbarzers

Added

Fixed

1.2.0 - Two shoes

Added

  • Carthage support #125 by @pepibumur.
  • buildPhases property to PBXProj #132 by @pepibumur.

Fixed

  • Build phase buildActionMask wrong default value #131 by @pepibumur.

1.1.0 - Muerdo

Added

  • It supports now SPM-generated projects #124 by @pepibumur. Thanks @josefdolezal for the report.
  • Project and workspace initializer that takes the path as a string #123 by @pepibumur.

Fixed

  • Fix the decoding of the PBXFileReference.fileEncoding property #127 by @gubikmic.
  • Fix some wrong comments and typos #126 by @gubikmic

1.0.0 - Acho

Changed

  • Breaking: Review optionality of attributes to align it with Xcode one #107 by @pepibumur.
  • Contributing, and code of conduct point to the organization ones by @pepibumur.
  • New changelog format introduced by @pepibumur.

Fixed

  • Use the super init to decode reference in some objects #110 by @yonaskolb
  • Schemes being shared with an extension #113 by @esttorhe.
  • Contributors link in the README.md #117 by @tapanprakasht.

Security

0.4.1

  • Add back the BuildSettings typelias removed by mistake #109 by @pepibumur.
  • Fix a bug decoding the PBXProject.projectRoot property that should be decoded as an optional #108 by @pepibumur.

0.4.0

  • Remove dependency with Unbox and use the language coding/decoding features #99 by @pepibumur and @artemnovichkov.
  • Enable xcproj in Open Collective by @pepibumur.
  • Support parsing XCVersionGroup objects #96 by @pepibumur.
  • Add iOS support to the .podspec #92 by @pepibumur.
  • Fix comment for buildConfigurationList #93 by @toshi0383.
  • Update PBXProj classes property to be a dictionary #94 by @toshi0383.
  • Fix comment in the BuildPhase object #95 by @toshi0383.

0.3.0

  • Turn PBXVariantGroup children property into an array #88 by @pepibumur
  • Add PBXReferenceProxy object #85 by @pepibumur
  • Migrate project to Swift 4 #84 by @artemnovichkov
  • Fix build phase script error undoer Xcode 9 #81 by @kixswift

0.2.0

  • Add how to use section #77 by @pepibumur
  • Add contributing guidelines #76 by @pepibumur

0.1.2

  • Update shell build script phase input and output files to be array instead of set #65 by @pepibumur
  • Fix wrong comment in the shell script build phase #67 by @ppeibumur
  • Fix wron gcomment in PBXSourcesBuildPhase files property #68 by @pepibumur
  • Add XCVersionGroup project element used by Core Data models #69 by @pepibumur
  • Update XCConcigurationList build configurations to be an array #70 by @pepibumur

0.1.1

  • Change BuildSettings to [String: Any] #52 by @yonaskolb
  • Plist fixes #54 by @yonaskolb

0.1.0

  • Update struct to classes and clean up API #51 by @yonaskolb
  • Fix and cleanup strings escaping #48 by @yonaskolb
  • Add runOnlyForDeploymentPostprocessing to PBXShellScriptBuildPhase by @yonaskolb
  • Remove force unwrap for XCScheme #39 by @Shakarang

0.0.9

  • CocoaPods support #35 by @pepibumur
  • Make project models mutable #33 by @yonaskolb

0.0.7

  • Downgrade Swift Tools versions to 4.0 #27 by @yonaskolb
  • Make Scheme intializers public #28 by @yonaskolb
  • Change PBXGroup.children to be an array #26 by @yonaskolb
  • Make XcodeProj writable #20 by @yonaskolb
  • Write baseConfigurationReference #24 by @yonaskolb
  • Convert booleans to YES or NO #23 by @yonaskolb
  • Make more properties public #19 by @yonaskolb

0.0.6

0.0.5

  • Remove UUID typealias #15
  • Add UUID identifier generation from PBXProj #14

0.0.4

  • Writing support for PBXProj - #8
  • Document RELEASE process #7.
  • Add documentation #6

0.0.1

  • First version of the Swift library.
  • It supports reading and parsing the following models: - xcodeproj. - xcworkspace. - pbxproj.

    This version doesn't support writing yet