cocoapods-square-stable 0.19.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +1296 -0
  3. data/LICENSE +20 -0
  4. data/README.md +94 -0
  5. data/bin/pod +16 -0
  6. data/bin/sandbox-pod +120 -0
  7. data/lib/cocoapods.rb +77 -0
  8. data/lib/cocoapods/command.rb +116 -0
  9. data/lib/cocoapods/command/help.rb +23 -0
  10. data/lib/cocoapods/command/inter_process_communication.rb +178 -0
  11. data/lib/cocoapods/command/list.rb +77 -0
  12. data/lib/cocoapods/command/outdated.rb +56 -0
  13. data/lib/cocoapods/command/podfile_info.rb +91 -0
  14. data/lib/cocoapods/command/project.rb +88 -0
  15. data/lib/cocoapods/command/push.rb +172 -0
  16. data/lib/cocoapods/command/repo.rb +145 -0
  17. data/lib/cocoapods/command/search.rb +61 -0
  18. data/lib/cocoapods/command/setup.rb +134 -0
  19. data/lib/cocoapods/command/spec.rb +590 -0
  20. data/lib/cocoapods/config.rb +231 -0
  21. data/lib/cocoapods/downloader.rb +59 -0
  22. data/lib/cocoapods/executable.rb +118 -0
  23. data/lib/cocoapods/external_sources.rb +363 -0
  24. data/lib/cocoapods/file_list.rb +36 -0
  25. data/lib/cocoapods/gem_version.rb +7 -0
  26. data/lib/cocoapods/generator/acknowledgements.rb +107 -0
  27. data/lib/cocoapods/generator/acknowledgements/markdown.rb +40 -0
  28. data/lib/cocoapods/generator/acknowledgements/plist.rb +64 -0
  29. data/lib/cocoapods/generator/bridge_support.rb +22 -0
  30. data/lib/cocoapods/generator/copy_resources_script.rb +54 -0
  31. data/lib/cocoapods/generator/dummy_source.rb +22 -0
  32. data/lib/cocoapods/generator/prefix_header.rb +82 -0
  33. data/lib/cocoapods/generator/target_environment_header.rb +86 -0
  34. data/lib/cocoapods/generator/xcconfig.rb +185 -0
  35. data/lib/cocoapods/hooks/installer_representation.rb +134 -0
  36. data/lib/cocoapods/hooks/library_representation.rb +94 -0
  37. data/lib/cocoapods/hooks/pod_representation.rb +74 -0
  38. data/lib/cocoapods/installer.rb +571 -0
  39. data/lib/cocoapods/installer/analyzer.rb +559 -0
  40. data/lib/cocoapods/installer/analyzer/sandbox_analyzer.rb +253 -0
  41. data/lib/cocoapods/installer/file_references_installer.rb +179 -0
  42. data/lib/cocoapods/installer/pod_source_installer.rb +248 -0
  43. data/lib/cocoapods/installer/target_installer.rb +379 -0
  44. data/lib/cocoapods/installer/user_project_integrator.rb +180 -0
  45. data/lib/cocoapods/installer/user_project_integrator/target_integrator.rb +224 -0
  46. data/lib/cocoapods/library.rb +202 -0
  47. data/lib/cocoapods/open_uri.rb +24 -0
  48. data/lib/cocoapods/project.rb +209 -0
  49. data/lib/cocoapods/resolver.rb +212 -0
  50. data/lib/cocoapods/sandbox.rb +343 -0
  51. data/lib/cocoapods/sandbox/file_accessor.rb +217 -0
  52. data/lib/cocoapods/sandbox/headers_store.rb +96 -0
  53. data/lib/cocoapods/sandbox/path_list.rb +208 -0
  54. data/lib/cocoapods/sources_manager.rb +276 -0
  55. data/lib/cocoapods/user_interface.rb +304 -0
  56. data/lib/cocoapods/user_interface/error_report.rb +101 -0
  57. data/lib/cocoapods/validator.rb +350 -0
  58. metadata +238 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA512:
3
+ data.tar.gz: d410d2a439c2dfcd18a6b95c3abf749ac70a501249485ce08a3b01cf63bc5a8d035e474dc1329e0a519efee6e47e187e9e957462c3775e8954fdf2ada6ee8644
4
+ metadata.gz: 1911b57c4155f533d59ae921617907b376e54bf3129932922a8454a0a2fcbf3bcafd77f4fe46cbb3a0e53861fd26e7f6a219d629dcff5854a08b1b02fbd76a33
5
+ SHA1:
6
+ data.tar.gz: b6c008942deed942e17423eaa67ace2350d28925
7
+ metadata.gz: e5146b6f32801fcd45c252f097810f25aa62373a
@@ -0,0 +1,1296 @@
1
+ ## Installation & Update
2
+
3
+ To install or update CocoaPods see this [guide](http://docs.cocoapods.org/guides/installing_cocoapods.html).
4
+
5
+ ## Master
6
+
7
+ ###### Enhancements
8
+
9
+ * Documentation generation has been removed from CocoaPods as it graduated
10
+ to CocoaDocs. This decision was taken because CocoaDocs is a much better
11
+ solution which doesn't clutter Xcode's docsets while still allowing
12
+ access to the docsets with Xcode and with Dash. Removing this feature
13
+ keeps the installer leaner and easier to develop and paves the way for the
14
+ upcoming sandbox. Private pods can use pre install hook to generate the
15
+ documentation. If there will be enough demand this feature might be
16
+ reintegrated as plugin (see
17
+ [#1037](https://github.com/CocoaPods/CocoaPods/issues/1037)).
18
+
19
+ ###### Bug fixes
20
+
21
+ * Inheriting `inhibit_warnings` per pod is now working
22
+ [#1032](https://github.com/CocoaPods/CocoaPods/issues/1032)
23
+ * Fix copy resources script for iOS < 6 and OS X < 10.8 by removing the `--reference-external-strings-file`
24
+ flag. [#1030](https://github.com/CocoaPods/CocoaPods/pull/1030)
25
+
26
+ ## 0.19.1
27
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.19.0...0.19.1)
28
+ • [cocoapods-core](https://github.com/CocoaPods/Core/compare/0.19.0...0.19.1)
29
+
30
+ ###### Bug fixes
31
+
32
+ * Project-level preprocessor macros are not overwritten anymore.
33
+ [#903](https://github.com/CocoaPods/CocoaPods/issues/903)
34
+ * A Unique hash instances for the build settings of the Pods target is now
35
+ created resolving interferences in the hooks.
36
+ [#1014](https://github.com/CocoaPods/CocoaPods/issues/1014)
37
+
38
+ ## 0.19.0
39
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.18.1...0.19.0)
40
+ • [cocoapods-core](https://github.com/CocoaPods/Core/compare/0.18.1...0.19.0)
41
+
42
+ ###### Enhancements
43
+
44
+ * Compile time introspection. Macro definitions which allow to inspect the
45
+ installed Pods and their version have been introduced in the build
46
+ environment of the Pod libraries
47
+ ([example](https://gist.github.com/irrationalfab/5348551)).
48
+ * CocoaPods now defines the `COCOAPODS=1` macro in the Pod and the Client
49
+ targets. This is useful for libraries which conditionally expose interfaces.
50
+ [#903](https://github.com/CocoaPods/CocoaPods/issues/903)
51
+ * Added support for the `private_header_files` attribute of the Specification
52
+ DSL.
53
+ [#998](https://github.com/CocoaPods/CocoaPods/issues/998)
54
+ * CocoaPods now defines the deployment target of the Pods project computed as
55
+ the minimum deployment target of the Pods libraries.
56
+ [#556](https://github.com/CocoaPods/CocoaPods/issues/556)
57
+ * Added `pod podfile-info` command. Shows list of used Pods and their info
58
+ in a project or supplied Podfile.
59
+ Options: `--all` - with dependencies. `--md` - in Markdown.
60
+ [#855](https://github.com/CocoaPods/CocoaPods/issues/855)
61
+ * Added `pod help` command. You can still use the old format
62
+ with --help flag.
63
+ [#957](https://github.com/CocoaPods/CocoaPods/pull/957)
64
+ * Restored support for Podfiles named `CocoaPods.podfile`. Moreover, the
65
+ experimental YAML format of the Podfile now is associated with files named
66
+ `CocoaPods.podfile.yaml`.
67
+ [#1004](https://github.com/CocoaPods/CocoaPods/pull/1004)
68
+
69
+ ###### Deprecations
70
+
71
+ * The `:local` flag in Podfile has been renamed to `:path` and has been
72
+ deprecated.
73
+ [#971](https://github.com/CocoaPods/CocoaPods/issues/971)
74
+
75
+ ###### Bug fixes
76
+
77
+ * Fixed issue related to `pod outdated` and external sources.
78
+ [#954](https://github.com/CocoaPods/CocoaPods/issues/954)
79
+ * Fixed issue with .svn folders in copy resources script.
80
+ [#972](https://github.com/CocoaPods/CocoaPods/issues/972)
81
+
82
+ ## 0.18.1
83
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.18.0...0.18.1)
84
+ • [cocoapods-core](https://github.com/CocoaPods/Core/compare/0.18.0...0.18.)
85
+
86
+ ###### Bug fixes
87
+
88
+ * Fixed a bug introduced in 0.18 which cause compilation issue due to the
89
+ quoting of the inherited value in the xcconfigs.
90
+ [#956](https://github.com/CocoaPods/CocoaPods/issues/956)
91
+ * Robustness against user targets including build files with missing file
92
+ references.
93
+ [#938](https://github.com/CocoaPods/CocoaPods/issues/938)
94
+ * Partially fixed slow performance from the command line
95
+ [#919](https://github.com/CocoaPods/CocoaPods/issues/919)
96
+
97
+
98
+ ## 0.18.0
99
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.17.2...0.18.0)
100
+ • [cocoapods-core](https://github.com/CocoaPods/Core/compare/0.17.2...0.18.0)
101
+ • [Xcodeproj](https://github.com/CocoaPods/Xcodeproj/compare/0.5.2...0.5.5)
102
+
103
+ ###### Enhancements
104
+
105
+ * Added the ability to inhibit warnings per pod.
106
+ Just pass `:inhibit_warnings => true` inline.
107
+ This feature has been implemented by Marin Usalj (@mneorr).
108
+ [#10](https://github.com/CocoaPods/Core/pull/10)
109
+ [#934](https://github.com/CocoaPods/CocoaPods/pull/934)
110
+ * Inhibiting warnings will also suppress the warnings of the static analyzer.
111
+ * A new build phase has been added to check that your
112
+ installation is in sync with the `Podfile.lock` and fail the build otherwise.
113
+ The new build phase will not be added automatically to targets already
114
+ integrated with CocoaPods, for integrating targets manually see [this
115
+ comment](https://github.com/CocoaPods/CocoaPods/pull/946#issuecomment-16042419).
116
+ This feature has been implemented by Ullrich Schäfer (@stigi).
117
+ [#946](https://github.com/CocoaPods/CocoaPods/pull/946)
118
+ * The `pod search` commands now accepts the `--ios` and the `--osx` arguments
119
+ to filter the results by platform.
120
+ [#625](https://github.com/CocoaPods/CocoaPods/issues/625)
121
+ * The developer frameworks are automatically added if `SenTestingKit` is
122
+ detected. There is no need to specify them in specifications anymore.
123
+ [#771](https://github.com/CocoaPods/CocoaPods/issues/771)
124
+ * The `--no-update` argument of the `install`, `update`, `outdated` subcommands
125
+ has been renamed to `--no-repo-update`.
126
+ [#913](https://github.com/CocoaPods/CocoaPods/issues/913)
127
+
128
+ ###### Bug fixes
129
+
130
+ * Improved handling for Xcode projects containing non ASCII characters.
131
+ Special thanks to Cédric Luthi (@0xced), Vincent Isambart (@vincentisambart),
132
+ and Manfred Stienstra (@Manfred) for helping to develop the workaround.
133
+ [#926](https://github.com/CocoaPods/CocoaPods/issues/926)
134
+ * Corrected improper configuration of the PODS_ROOT xcconfig variable in
135
+ non-integrating installations.
136
+ [#918](https://github.com/CocoaPods/CocoaPods/issues/918)
137
+ * Improved support for pre-release versions using dashes.
138
+ [#935](https://github.com/CocoaPods/CocoaPods/issues/935)
139
+ * Documentation sets are now namespaced by pod solving improper attribution.
140
+ [#659](https://github.com/CocoaPods/CocoaPods/issues/659)
141
+
142
+
143
+ ## 0.17.2
144
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.17.1...0.17.2)
145
+ • [cocoapods-core](https://github.com/CocoaPods/Core/compare/0.17.1...0.17.2)
146
+
147
+ ###### Bug fixes
148
+
149
+ * Fix crash related to the specification of the workspace as a relative path.
150
+ [#920](https://github.com/CocoaPods/CocoaPods/issues/920)
151
+ * Fix an issue related to the `podspec` dsl directive of the Podfile for
152
+ specifications with internal dependencies.
153
+ [#928](https://github.com/CocoaPods/CocoaPods/issues/928)
154
+ * Fix crash related to search from the command line.
155
+ [#929](https://github.com/CocoaPods/CocoaPods/issues/929)
156
+
157
+ ###### Ancillary enhancements
158
+
159
+ * Enabled the FileList deprecation warning in the Linter.
160
+ * CocoaPods will raise if versions requirements are specified for dependencies
161
+ with external sources.
162
+ * The exclude patterns now handle folders automatically.
163
+
164
+
165
+ ## 0.17.1
166
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.17.0...0.17.1)
167
+ • [cocoapods-core](https://github.com/CocoaPods/Core/compare/0.17.0...0.17.1)
168
+
169
+ ###### Bug fixes
170
+
171
+ * Always create the CACHE_ROOT directory when performing a search.
172
+ [#917](https://github.com/CocoaPods/CocoaPods/issues/917)
173
+
174
+ ## 0.17.0
175
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.17.0.rc7...0.17.0)
176
+ • [cocoapods-core](https://github.com/CocoaPods/Core/compare/0.17.0.rc7...0.17.0)
177
+
178
+ #### GM
179
+
180
+ ###### Bug fixes
181
+
182
+ * Don’t break when specifying doc options, but not appledoc ones.
183
+ [#906](https://github.com/CocoaPods/CocoaPods/issues/906)
184
+ * Sort resolved specifications.
185
+ [#907](https://github.com/CocoaPods/CocoaPods/issues/907)
186
+ * Subspecs do not need to include HEAD information.
187
+ [#905](https://github.com/CocoaPods/CocoaPods/issues/905)
188
+
189
+ ###### Ancillary enhancements
190
+
191
+ * Allow the analyzer to do its work without updating sources.
192
+ [motion-cocoapods#50](https://github.com/HipByte/motion-cocoapods/pull/50)
193
+
194
+ #### rc7
195
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.17.0.rc6...0.17.0.rc7)
196
+ • [cocoapods-core](https://github.com/CocoaPods/Core/compare/0.17.0.rc6...0.17.0.rc7)
197
+
198
+ ###### Bug fixes
199
+
200
+ - Fixed an issue which lead to the missing declaration of the plural directives
201
+ of the Specification DSL.
202
+ [#816](https://github.com/CocoaPods/CocoaPods/issues/816)
203
+ - The resolver now respects the order of specification of the target
204
+ definitions.
205
+ - Restore usage of cache file to store a cache for expensive stats.
206
+ - Moved declaration of `Pod::FileList` to CocoaPods-core.
207
+
208
+ ###### Ancillary enhancements
209
+
210
+ - Fine tuned the Specification linter and the health reporter of repositories.
211
+ - Search results are sorted.
212
+
213
+ #### rc6
214
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.17.0.rc5...0.17.0.rc6)
215
+ • [cocoapods-core](https://github.com/CocoaPods/Core/compare/0.17.0.rc5...0.17.0.rc6)
216
+
217
+ ###### Bug fixes
218
+
219
+ - CocoaPods updates the repositories by default.
220
+ [#872](https://github.com/CocoaPods/CocoaPods/issues/872)
221
+ - Fixed a crash which was present when the Podfile specifies a workspace.
222
+ [#871](https://github.com/CocoaPods/CocoaPods/issues/871)
223
+ - Fix for a bug which lead to a broken installation in paths containing
224
+ brackets and other glob metacharacters.
225
+ [#862](https://github.com/CocoaPods/CocoaPods/issues/862)
226
+ - Fix for a bug related to the case of the paths which lead to clean all files
227
+ in the directories of the Pods.
228
+
229
+
230
+ ###### Ancillary enhancements
231
+
232
+ - CocoaPods now maintains a search index which is updated incrementally instead
233
+ of analyzing all the specs every time. The search index can be updated
234
+ manually with the `pod ipc update-search-index` command.
235
+ - Enhancements to the `pod repo lint` command.
236
+ - CocoaPods will not create anymore the pre commit hook in the master repo
237
+ during setup. If already created it is possible remove it deleting the
238
+ `~/.cocoapods/master/.git/hooks/pre-commit` path.
239
+ - Improved support for linting and validating specs repo.
240
+
241
+ #### rc5
242
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.17.0.rc4...0.17.0.rc5)
243
+ • [cocoapods-core](https://github.com/CocoaPods/Core/compare/0.17.0.rc4...0.17.0.rc5)
244
+
245
+ ###### Bug fixes
246
+
247
+ - The `--no-clean` argument is not ignored anymore by the installer.
248
+ - Proper handling of file patterns ending with a slash.
249
+ - More user errors are raised as an informative.
250
+
251
+ #### rc4
252
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.17.0.rc3...0.17.0.rc4)
253
+
254
+ ###### Bug fixes
255
+
256
+ - Restored compatibility with `Podfile::TargetDefinition#copy_resources_script_name`
257
+ in the Podfile hooks.
258
+ - Updated copy resources script so that it will use base internationalization
259
+ [#846](https://github.com/CocoaPods/CocoaPods/issues/846)
260
+ - Robustness against an empty configuration file.
261
+ - Fixed a crash with `pod push`
262
+ [#848](https://github.com/CocoaPods/CocoaPods/issues/848)
263
+ - Fixed an issue which lead to the creation of a Pods project which would
264
+ crash Xcode.
265
+ [#854](https://github.com/CocoaPods/CocoaPods/issues/854)
266
+ - Fixed a crash related to a `PBXVariantGroup` present in the frameworks build
267
+ phase of client targets.
268
+ [#859](https://github.com/CocoaPods/CocoaPods/issues/859)
269
+
270
+
271
+ ###### Ancillary enhancements
272
+
273
+ - The `podspec` option of the `pod` directive of the Podfile DSL now accepts
274
+ folders.
275
+
276
+ #### rc3
277
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.17.0.rc2...0.17.0.rc3
278
+ • [Xcodeproj](https://github.com/CocoaPods/Xcodeproj/compare/0.5.0...0.5.1))
279
+
280
+ ###### Bug fixes
281
+
282
+ - CocoaPods will not crash anymore if the license file indicated on the spec
283
+ doesn't exits.
284
+ - Pre install hooks are called before the Pods are cleaned.
285
+ - Fixed and issue which prevent the inclusion of OTHER_CFLAGS and
286
+ OTHER_CPLUSPLUSFLAGS in the release builds of the Pods project.
287
+ - Fixed `pod lint --local`
288
+ - Fixed the `--allow-warnings` of `pod push`
289
+ [#835](https://github.com/CocoaPods/CocoaPods/issues/835)
290
+ - Added `copy_resources_script_name` to the library representation used in the
291
+ hooks.
292
+ [#837](https://github.com/CocoaPods/CocoaPods/issues/837)
293
+
294
+ ###### Ancillary enhancements
295
+
296
+ - General improvements to `pod ipc`.
297
+ - Added `pod ipc repl` subcommand.
298
+
299
+ #### rc2
300
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.17.0.rc1...0.17.0.rc2)
301
+ • [cocoapods-core](https://github.com/CocoaPods/Core/compare/0.17.0.rc1...0.17.0.rc2)
302
+
303
+ ###### Bug fixes
304
+
305
+ - Restored output coloring.
306
+ - Fixed a crash related to subspecs
307
+ [#819](https://github.com/CocoaPods/CocoaPods/issues/819)
308
+ - Git repos were not cached for dependencies with external sources.
309
+ [#820](https://github.com/CocoaPods/CocoaPods/issues/820)
310
+ - Restored support for directories for the preserve_patterns specification
311
+ attribute.
312
+ [#823](https://github.com/CocoaPods/CocoaPods/issues/823)
313
+
314
+ #### rc1
315
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.16.4...0.17.0.rc1)
316
+ • [Xcodeproj](https://github.com/CocoaPods/Xcodeproj/compare/0.4.3...0.5.0)
317
+ • [cocoapods-core](https://github.com/CocoaPods/Core)
318
+ • [cocoapods-downloader](https://github.com/CocoaPods/cocoapods-downloader)
319
+
320
+ ###### __Notice__
321
+
322
+ At some point in future the master repo will be switched to the YAML format of
323
+ specifications. This means that specifications with hooks (or any other kind of
324
+ dynamic logic) will not be accepted. Please let us know if there is need for
325
+ other DSL attributes or any other kind of support.
326
+
327
+ Currently the following specifications fail to load as they depended on the
328
+ CocoaPods internals and need to be updated:
329
+
330
+ - LibComponentLogging-pods/0.0.1/LibComponentLogging-pods.podspec
331
+ - RestKit/0.9.3/RestKit.podspec
332
+ - Three20/1.0.11/Three20.podspec
333
+ - ARAnalytics/1.1/ARAnalytics.podspec
334
+
335
+ Other specifications, might present compatibility issues for the reasons
336
+ presented below.
337
+
338
+ ###### __Breaking__
339
+
340
+ - Subspecs do **not** inherit the files patterns from the parent spec anymore.
341
+ This feature made the implementation more complicated and was not easy to
342
+ explain to podspecs maintainers. Compatibility can be easily fixed by adding
343
+ a 'Core' subspec.
344
+ - Support for inline podspecs has been removed.
345
+ - The support for Rake::FileList is being deprecated, in favor of a more
346
+ consistent DSL. Rake::FileList also presented issues because it would access
347
+ the file system as soon as it was converted to an array.
348
+ - The hooks architecture has been re-factored and might present
349
+ incompatibilities (please open an issue if appropriate).
350
+ - The `requires_arc` attribute default value is transitioning from `false` to
351
+ `true`. In the meanwhile a value is needed to pass the lint.
352
+ - Deprecated `copy_header_mapping` hook.
353
+ - Deprecated `exclude_header_search_paths` attribute.
354
+ - External sources are not supported in the dependencies of specifications
355
+ anymore. Actually they never have been supported, they just happened to work.
356
+
357
+ ###### DSL
358
+
359
+ - Podfile:
360
+ - It is not needed to specify the platform anymore (unless not integrating)
361
+ as CocoaPods now can infer the platform from the integrated targets.
362
+ - Specification:
363
+ - `preferred_dependency` has been renamed to `default_subspec`.
364
+ - Added `exclude_files` attribute.
365
+ - Added `screenshots` attribute.
366
+ - Added default values for attributes like `source_files`.
367
+
368
+ ###### Enhancements
369
+
370
+ - Released preview [documentation](http://docs.cocoapods.org).
371
+ - CocoaPods now has support for working in teams and not committing the Pods
372
+ folder, as it will keep track of the status of the Pods folder.
373
+ [#552](https://github.com/CocoaPods/CocoaPods/issues/552)
374
+ - Simplified installation: no specific version of ruby gems is required anymore.
375
+ - The workspace is written only if needed greatly reducing the occasions in
376
+ which Xcode asks to revert.
377
+ - The Lockfile is sorted reducing the SCM noise.
378
+ [#591](https://github.com/CocoaPods/CocoaPods/issues/591)
379
+ - Added Podfile, Frameworks, and Resources to the Pods project.
380
+ [#647](https://github.com/CocoaPods/CocoaPods/issues/647)
381
+ [#588](https://github.com/CocoaPods/CocoaPods/issues/588)
382
+ - Adds new subcommand `pod spec cat NAME` to print a spec file to standard output.
383
+ - Specification hooks are only called when the specification is installed.
384
+ - The `--no-clean` option of the `pod spec lint` command now displays the Pods
385
+ project for inspection.
386
+ - It is now possible to specify default values for the configuration in
387
+ `~/.cocoapods/config.yaml` ([default values](https://github.com/CocoaPods/CocoaPods/blob/master/lib/cocoapods/config.rb#L17)).
388
+ - CocoaPods now checks the checksums of the installed specifications and
389
+ reinstalls them if needed.
390
+ - Support for YAML formats of the Podfile and the Specification.
391
+ - Added new command `pod ipc` to provide support for inter process
392
+ communication through YAML formats.
393
+ - CocoaPods now detects if the folder of a Pod is empty and reinstalls it.
394
+ [#534](https://github.com/CocoaPods/CocoaPods/issues/534)
395
+ - Install hooks and the `prefix_header_contents` attribute are supported in subspecs.
396
+ [#617](https://github.com/CocoaPods/CocoaPods/issues/617)
397
+ - Dashes are now supported in the versions of the Pods.
398
+ [#293](https://github.com/CocoaPods/CocoaPods/issues/293)
399
+
400
+ ###### Bug fixes
401
+
402
+ - CocoaPods is not confused anymore by target definitions with different activated subspec.
403
+ [#535](https://github.com/CocoaPods/CocoaPods/issues/535)
404
+ - CocoaPods is not confused anymore by to dependencies from external sources.
405
+ [#548](https://github.com/CocoaPods/CocoaPods/issues/548)
406
+ - The git cache will always update against the remote if a tag is requested,
407
+ resolving issues where library maintainers where updating the tag after a
408
+ lint and would be confused by CocoaPods using the cached commit for the tag.
409
+ [#407](https://github.com/CocoaPods/CocoaPods/issues/407)
410
+ [#596](https://github.com/CocoaPods/CocoaPods/issues/596)
411
+
412
+ ###### Codebase
413
+
414
+ - Major clean up and refactor of the whole code base.
415
+ - Extracted the core classes into
416
+ [cocoapods-core](https://github.com/CocoaPods/Core) gem.
417
+ - Extracted downloader into
418
+ [cocoapods-downloader](https://github.com/CocoaPods/cocoapods-downloader).
419
+ - Extracted command-line command & option handling into
420
+ [CLAide](https://github.com/CocoaPods/CLAide).
421
+
422
+ ## 0.16.4
423
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.16.3...0.16.4)
424
+
425
+ ###### Enhancements
426
+
427
+ - Add explicit flattening option to `Downloader:Http`: `:flatten => true`.
428
+ [#814](https://github.com/CocoaPods/CocoaPods/pull/814)
429
+ [#812](https://github.com/CocoaPods/CocoaPods/issues/812)
430
+ [#1314](https://github.com/CocoaPods/Specs/pull/1314)
431
+
432
+ ###### Bug fixes
433
+
434
+ - Explicitely require `date` in the gemspec for Ruby 2.0.0.
435
+ [34da3f7](https://github.com/CocoaPods/CocoaPods/commit/34da3f792b2a36fafacd4122e29025c9cf2ff38d)
436
+
437
+ ## 0.16.3
438
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.16.2...0.16.3) • [Xcodeproj](https://github.com/CocoaPods/Xcodeproj/compare/0.4.3...0.5.0)
439
+
440
+ ###### Bug fixes
441
+
442
+ - Only flatten tarballs, **not** zipballs, from HTTP sources. A zipball can
443
+ contain single directories in the root that should be preserved, for instance
444
+ a framework bundle. This reverts part of the change in 0.16.1.
445
+ **NOTE** This will break some podspecs that were changed after 0.16.1.
446
+ [#783](https://github.com/CocoaPods/CocoaPods/pull/783)
447
+ [#727](https://github.com/CocoaPods/CocoaPods/issues/727)
448
+ - Never consider aggregate targets in the user’s project for integration.
449
+ [#729](https://github.com/CocoaPods/CocoaPods/issues/729)
450
+ [#784](https://github.com/CocoaPods/CocoaPods/issues/784)
451
+ - Support comments on all build phases, groups and targets in Xcode projects.
452
+ [#51](https://github.com/CocoaPods/Xcodeproj/pull/51)
453
+ - Ensure default Xcode project values are copied before being used.
454
+ [b43087c](https://github.com/CocoaPods/Xcodeproj/commit/b43087cb342d8d44b491e702faddf54a222b23c3)
455
+ - Block assertions in Release builds.
456
+ [#53](https://github.com/CocoaPods/Xcodeproj/pull/53)
457
+ [#803](https://github.com/CocoaPods/CocoaPods/pull/803)
458
+ [#802](https://github.com/CocoaPods/CocoaPods/issues/802)
459
+
460
+
461
+ ###### Enhancements
462
+
463
+ - Compile Core Data model files.
464
+ [#795](https://github.com/CocoaPods/CocoaPods/pull/795)
465
+ - Add `Xcodeproj::Differ`, which shows differences between Xcode projects.
466
+ [308941e](https://github.com/CocoaPods/Xcodeproj/commit/308941eeaa3bca817742c774fd584cc5ab1c8f84)
467
+
468
+
469
+ ## 0.16.2
470
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.16.1...0.16.2) • [Xcodeproj](https://github.com/CocoaPods/Xcodeproj/compare/0.4.1...0.4.3)
471
+
472
+ ###### Bug fixes
473
+
474
+ - Quote storyboard and xib paths in ‘copy resource’ script.
475
+ [#740](https://github.com/CocoaPods/CocoaPods/pull/740)
476
+ - Fix use of `podspec` directive in Podfile with no options specified.
477
+ [#768](https://github.com/CocoaPods/CocoaPods/pull/768)
478
+ - Generate Mac OS X Pods target with the specified deployment target.
479
+ [#757](https://github.com/CocoaPods/CocoaPods/issues/757)
480
+ - Disable libSystem objects for ARC libs that target older platforms.
481
+ This applies when the deployment target is set to < iOS 6.0 or OS X 10.8,
482
+ or not specified at all.
483
+ [#352](https://github.com/CocoaPods/Specs/issues/352)
484
+ [#1161](https://github.com/CocoaPods/Specs/pull/1161)
485
+ - Mark header source files as ‘Project’ not ‘Public’.
486
+ [#747](https://github.com/CocoaPods/CocoaPods/issues/747)
487
+ - Add `PBXGroup` as acceptable `PBXFileReference` value.
488
+ [#49](https://github.com/CocoaPods/Xcodeproj/pull/49)
489
+ - Make `xcodeproj show` without further arguments actually work.
490
+ [#45](https://github.com/CocoaPods/Xcodeproj/issues/45)
491
+
492
+ ###### Enhancements
493
+
494
+ - Added support for pre-download over Mercurial.
495
+ [#750](https://github.com/CocoaPods/CocoaPods/pull/750)
496
+
497
+ ## 0.16.1
498
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.16.0...0.16.1) • [Xcodeproj](https://github.com/CocoaPods/Xcodeproj/compare/0.4.0...0.4.1)
499
+
500
+ ###### Bug fixes
501
+
502
+ - After unpacking source from a HTTP location, move the source into the parent
503
+ dir if the archive contained only one child. This is done to make it
504
+ consistent with how source from other types of locations are described in a
505
+ podspec.
506
+ **NOTE** This might break some podspecs that assumed the incorrect layout.
507
+ [#727](https://github.com/CocoaPods/CocoaPods/issues/727)
508
+ [#728](https://github.com/CocoaPods/CocoaPods/pull/728)
509
+ - Remove duplicate option in `pod update` command.
510
+ [#725](https://github.com/CocoaPods/CocoaPods/issues/725)
511
+ - Memory fixes in Xcodeproj.
512
+ [#43](https://github.com/CocoaPods/Xcodeproj/pull/43)
513
+
514
+ ###### Xcodeproj Enhancements
515
+
516
+ - Sort contents of xcconfig files by setting name.
517
+ [#591](https://github.com/CocoaPods/CocoaPods/issues/591)
518
+ - Add helpers to get platform name, deployment target, and frameworks build phases
519
+ - Take SDKROOT into account when adding frameworks.
520
+
521
+ ## 0.16.0
522
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.16.0.rc5...master)
523
+
524
+ ###### Enhancements
525
+
526
+ - Use Rake 0.9.4
527
+ [#657](https://github.com/CocoaPods/CocoaPods/issues/657)
528
+
529
+ ## 0.16.0.rc5
530
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.16.0.rc4...0.16.0.rc5)
531
+
532
+ ###### Deprecated
533
+
534
+ - The usage of specifications defined in a Podfile is deprecated. Use the
535
+ `:podspec` option with a file path instead. Complete removal will most
536
+ probably happen in 0.17.0.
537
+ [#549](https://github.com/CocoaPods/CocoaPods/issues/549)
538
+ [#616](https://github.com/CocoaPods/CocoaPods/issues/616)
539
+ [#525](https://github.com/CocoaPods/CocoaPods/issues/525)
540
+
541
+ ###### Bug fixes
542
+
543
+ - Always consider inline podspecs as needing installation.
544
+ - Fix detection when the lib has already been integrated with the user’s target.
545
+ [#643](https://github.com/CocoaPods/CocoaPods/issues/643)
546
+ [#614](https://github.com/CocoaPods/CocoaPods/issues/614)
547
+ [#613](https://github.com/CocoaPods/CocoaPods/issues/613)
548
+
549
+ ## 0.16.0.rc4
550
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.16.0.rc3...0.16.0.rc4)
551
+
552
+ ###### Bug fixes
553
+
554
+ - Fix for Rake 0.9.3
555
+ [#657](https://github.com/CocoaPods/CocoaPods/issues/657)
556
+
557
+ ## 0.16.0.rc3
558
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.16.0.rc2...0.16.0.rc3) • [Xcodeproj](https://github.com/CocoaPods/Xcodeproj/compare/0.4.0.rc1...0.4.0.rc6)
559
+
560
+ ###### Enhancements
561
+
562
+ - Added support for copying frameworks to the app bundle.
563
+ [#597](https://github.com/CocoaPods/CocoaPods/pull/597)
564
+
565
+ ###### Bug fixes
566
+
567
+ - Ignore PBXReferenceProxy while integrating into user project.
568
+ [#626](https://github.com/CocoaPods/CocoaPods/issues/626)
569
+ - Added support for PBXAggregateTarget and PBXLegacyTarget.
570
+ [#615](https://github.com/CocoaPods/CocoaPods/issues/615)
571
+ - Added support for PBXReferenceProxy.
572
+ [#612](https://github.com/CocoaPods/CocoaPods/issues/612)
573
+
574
+ ## 0.16.0.rc2
575
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.16.0.rc1...0.16.0.rc2)
576
+
577
+ ###### Bug fixes
578
+
579
+ - Fix for uninitialized constant Xcodeproj::Constants error.
580
+
581
+ ## 0.16.0.rc1
582
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.15.2...0.16.0.rc1) • [Xcodeproj](https://github.com/CocoaPods/Xcodeproj/compare/0.3.5...0.4.0.rc1)
583
+
584
+ ###### Enhancements
585
+
586
+ - Xcodeproj partial rewrite.
587
+ [#565](https://github.com/CocoaPods/CocoaPods/issues/565)
588
+ [#561](https://github.com/CocoaPods/CocoaPods/pull/561)
589
+ - Performance improvements in the `Generating support files` phase.
590
+ - Better support for editing existing projects and sorting groups.
591
+
592
+ ## 0.15.2
593
+
594
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.15.1...0.15.2)
595
+
596
+ ###### Enhancements
597
+
598
+ - Added support for `.hh` headers.
599
+ [#576](https://github.com/CocoaPods/CocoaPods/pull/576)
600
+
601
+ ###### Bug fixes
602
+
603
+ - Restored support for running CocoaPods without a terminal.
604
+ [#575](https://github.com/CocoaPods/CocoaPods/issues/575)
605
+ [#577](https://github.com/CocoaPods/CocoaPods/issues/577)
606
+ - The git cache now always uses a barebones repo preventing a number of related issues.
607
+ [#581](https://github.com/CocoaPods/CocoaPods/issues/581)
608
+ [#569](https://github.com/CocoaPods/CocoaPods/issues/569)
609
+ - Improved fix for the issue that lead to empty directories for Pods.
610
+ [#572](https://github.com/CocoaPods/CocoaPods/issues/572)
611
+ [#602](https://github.com/CocoaPods/CocoaPods/issues/602)
612
+ - Xcodeproj robustness against invalid values, such as malformed UTF8.
613
+ [#592](https://github.com/CocoaPods/CocoaPods/issues/592)
614
+
615
+ ## 0.15.1
616
+
617
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.15.0...0.15.1)
618
+
619
+ ###### Enhancements
620
+
621
+ - Show error if syntax error in Podfile or Podfile.lock.
622
+
623
+ ###### Bug fixes
624
+
625
+ - Fixed an issue that lead to empty directories for Pods.
626
+ [#519](https://github.com/CocoaPods/CocoaPods/issues/519)
627
+ [#568](https://github.com/CocoaPods/CocoaPods/issues/568)
628
+ - Fixed a crash related to the RubyGems version informative.
629
+ [#570](https://github.com/CocoaPods/CocoaPods/issues/570)
630
+ - Fixed a crash for `pod outdated`.
631
+ [#567](https://github.com/CocoaPods/CocoaPods/issues/567)
632
+ - Fixed an issue that lead to excessively slow sets computation.
633
+
634
+ ## 0.15.0
635
+
636
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.14.0...0.15.0) • [Xcodeproj](https://github.com/CocoaPods/Xcodeproj/compare/0.3.3...0.3.4)
637
+
638
+ ###### Enhancements
639
+
640
+ - Pod `install` will update the specs repo only if needed.
641
+ [#533](https://github.com/CocoaPods/CocoaPods/issues/533)
642
+ - CocoaPods now searches for the highest version of a Pod on all the repos.
643
+ [#85](https://github.com/CocoaPods/CocoaPods/issues/85)
644
+ - Added a pre install hook to the Podfile and to root specifications.
645
+ [#486](https://github.com/CocoaPods/CocoaPods/issues/486)
646
+ - Support for `header_mappings_dir` attribute in subspecs.
647
+ - Added support for linting a Podspec using the files from its folder `pod spec
648
+ lint --local`
649
+ - Refactored UI.
650
+ - Added support for Podfiles named `CocoaPods.podfile` which allows to
651
+ associate an editor application in Mac OS X.
652
+ [#528](https://github.com/CocoaPods/CocoaPods/issues/528)
653
+ - Added config option to disable the new version available message.
654
+ [#448](https://github.com/CocoaPods/CocoaPods/issues/448)
655
+ - Added support for extracting `.tar.bz2` files
656
+ [#522](https://github.com/CocoaPods/CocoaPods/issues/522)
657
+ - Improved feedback for errors of repo subcommands.
658
+ [#505](https://github.com/CocoaPods/CocoaPods/issues/505)
659
+
660
+
661
+ ###### Bug fixes
662
+
663
+ - Subspecs namespacing has been restored.
664
+ [#541](https://github.com/CocoaPods/CocoaPods/issues/541)
665
+ - Improvements to the git cache that should be more robust.
666
+ [#517](https://github.com/CocoaPods/CocoaPods/issues/517)
667
+ - In certain conditions pod setup would execute twice.
668
+ - The git cache now is updated if a branch is not found
669
+ [#514](https://github.com/CocoaPods/CocoaPods/issues/514)
670
+ - Forcing UTF-8 encoding on licenses generation in Ruby 1.9.
671
+ [#530](https://github.com/CocoaPods/CocoaPods/issues/530)
672
+ - Added support for `.hpp` headers.
673
+ [#244](https://github.com/CocoaPods/CocoaPods/issues/244)
674
+
675
+ ## 0.14.0
676
+
677
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.14.0.rc2...0.14.0) • [Xcodeproj](https://github.com/CocoaPods/Xcodeproj/compare/0.3.2...0.3.3)
678
+
679
+ ###### Bug fixes
680
+
681
+ - In certain conditions the spec of an external would have been overridden
682
+ by the spec in the root of a Pod.
683
+ [#489](https://github.com/CocoaPods/CocoaPods/issues/489)
684
+ - CocoaPods now uses a recent version of Octokit.
685
+ [#490](https://github.com/CocoaPods/CocoaPods/issues/490)
686
+ - Fixed a bug that caused Pods with preferred dependencies to be always
687
+ installed.
688
+ [Specs#464](https://github.com/CocoaPods/CocoaPods/issues/464)
689
+ - Fixed Xcode 4.4+ artwork warning.
690
+ [Specs#508](https://github.com/CocoaPods/CocoaPods/issues/508)
691
+
692
+ ## 0.14.0.rc2
693
+
694
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.14.0.rc1...0.14.0.rc2)
695
+
696
+ ###### Bug fixes
697
+
698
+ - Fix incorrect name for Pods from external sources with preferred subspecs.
699
+ [#485](https://github.com/CocoaPods/CocoaPods/issues/485)
700
+ - Prevent duplication of Pod with a local source and mutliple activated specs.
701
+ [#485](https://github.com/CocoaPods/CocoaPods/issues/485)
702
+ - Fixed the `uninitialized constant Pod::Lockfile::Digest` error.
703
+ [#484](https://github.com/CocoaPods/CocoaPods/issues/484)
704
+
705
+ ## 0.14.0.rc1
706
+
707
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.13.0...0.14.0.rc1) • [Xcodeproj](https://github.com/CocoaPods/Xcodeproj/compare/0.3.1...0.3.2)
708
+
709
+ ###### Enhancements
710
+
711
+ - Improve installation process by preserving the installed versions of Pods
712
+ across installations and machines. A Pod is reinstalled if:
713
+ - the version required in the Podfile changes and becomes incompatible with
714
+ the installed one.
715
+ [#191](https://github.com/CocoaPods/CocoaPods/issues/191)
716
+ - the external source changes.
717
+ - the head status changes (from disabled to enabled or vice-versa).
718
+ - Introduce `pod update` command that installs the dependencies of the Podfile
719
+ **ignoring** the lockfile `Podfile.lock`.
720
+ [#131](https://github.com/CocoaPods/CocoaPods/issues/131)
721
+ - Introduce `pod outdated` command that shows the pods with known updates.
722
+ - Add `:local` option for dependencies which will use the source files directly
723
+ from a local directory. This is usually used for libraries that are being
724
+ developed in parallel to the end product (application/library).
725
+ [#458](https://github.com/CocoaPods/CocoaPods/issues/458),
726
+ [#415](https://github.com/CocoaPods/CocoaPods/issues/415),
727
+ [#156](https://github.com/CocoaPods/CocoaPods/issues/156).
728
+ - Folders of Pods which are no longer required are removed during installation.
729
+ [#298](https://github.com/CocoaPods/CocoaPods/issues/298)
730
+ - Add meaningful error messages
731
+ - ia podspec can’t be found in the root of an external source.
732
+ [#385](https://github.com/CocoaPods/CocoaPods/issues/385),
733
+ [#338](https://github.com/CocoaPods/CocoaPods/issues/338),
734
+ [#337](https://github.com/CocoaPods/CocoaPods/issues/337).
735
+ - a subspec name is misspelled.
736
+ [#327](https://github.com/CocoaPods/CocoaPods/issues/327)
737
+ - an unrecognized command and/or argument is provided.
738
+ - The subversion downloader now does an export instead of a checkout, which
739
+ makes it play nicer with SCMs that store metadata in each directory.
740
+ [#245](https://github.com/CocoaPods/CocoaPods/issues/245)
741
+ - Now the Podfile is added to the Pods project for convenient editing.
742
+
743
+ ###### Bug fixes
744
+
745
+ - The git cache now fetches the tags from the remote if it can’t find the
746
+ reference.
747
+ - Xcodeproj now builds on 10.6.8 and Travis CI without symlinking headers.
748
+ - Only try to install, add source files to the project, and clean a Pod once.
749
+ [#376](https://github.com/CocoaPods/CocoaPods/issues/376)
750
+
751
+ ###### Notes
752
+
753
+ - External Pods might be reinstalled due to the migration to the new
754
+ `Podfile.lock`.
755
+ - The SCM reference of head Pods is not preserved across machines.
756
+ - Pods whose inline specification changed are not detected as modified. As a
757
+ workaround, remove their folder stored in `Pods`.
758
+ - Pods whose specification changed are not detected as modified. As a
759
+ workaround, remove their folder stored in `Pods`.
760
+
761
+
762
+ ## 0.13.0
763
+
764
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.12.0...0.13.0)
765
+
766
+ ###### Enhancements
767
+
768
+ - Add Podfile `podspec` which allows to use the dependencies of a podspec file.
769
+ [#162](https://github.com/CocoaPods/CocoaPods/issues/162)
770
+ - Check if any of the build settings defined in the xcconfig files is
771
+ overridden. [#92](https://github.com/CocoaPods/CocoaPods/issues/92)
772
+ - The Linter now checks that there are no compiler flags that disable warnings.
773
+
774
+ ###### Bug fixes
775
+
776
+ - The final project isn’t affected anymore by the `inhibit_all_warnings!`
777
+ option.
778
+ - Support for redirects while using podspec from an url.
779
+ [#462](https://github.com/CocoaPods/CocoaPods/issues/462)
780
+
781
+
782
+ ## 0.12.0
783
+
784
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.11.1...0.12.0)
785
+
786
+ ###### Enhancements
787
+
788
+ - The documentation is generated using the public headers if they are
789
+ specified.
790
+ - In case of a download failure the installation is aborted and the error
791
+ message is shown.
792
+ - Git submodules are initialized only if requested.
793
+ - Don’t impose a certain structure of the user’s project by raising if no
794
+ ‘Frameworks’ group exists.
795
+ [#431](https://github.com/CocoaPods/CocoaPods/pull/431)
796
+ - Support for GitHub Gists in the linter.
797
+ - Allow specifying ARC settings in subspecs.
798
+ - Add Podfile `inhibit_all_warnings!` which will inhibit all warnings from the
799
+ Pods library. [#209](https://github.com/CocoaPods/CocoaPods/issues/209)
800
+ - Make the Pods Xcode project prettier by namespacing subspecs in nested
801
+ groups. [#466](https://github.com/CocoaPods/CocoaPods/pull/466)
802
+
803
+
804
+ ## 0.11.1
805
+
806
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.11.0...0.11.1)
807
+
808
+ ###### Bug fixes
809
+
810
+ - Fixed a crash related to subspecs without header files. [#449]
811
+ - Git submodules are loaded after the appropriate referenced is checked out and
812
+ will be not loaded anymore in the cache. [#451]
813
+ - Fixed SVN support for the head version. [#432]
814
+
815
+
816
+ ## 0.11.0
817
+
818
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.10.0...0.11.0)
819
+
820
+ ###### Enhancements
821
+
822
+ - Added support for public headers. [#440]
823
+ - Added `pod repo lint`. [#423]
824
+ - Improved support for `:head` option and SVN repositories.
825
+ - When integrating Pods with a project without "Frameworks" group in root of
826
+ the project, raise an informative message.
827
+ [#431](https://github.com/CocoaPods/CocoaPods/pull/431)
828
+ - Dropped support for legacy `config.ios?` and `config.osx?`
829
+
830
+ ###### Bug fixes
831
+
832
+ - Version message now correctly terminates with a 0 exit status.
833
+ - Resolved an issue that lead to git error messages in the error report.
834
+
835
+
836
+ ## 0.10.0
837
+
838
+ [CocoaPods](http://git.io/4i75YA)
839
+
840
+ ###### Enhancements
841
+
842
+ - Added a `--local-only` option to `pod push` so that developers can push
843
+ locally and test before pushing to a remote. [#405](http://git.io/0ILJEw)
844
+ - Added line number information for errors generated in the Podfile.
845
+ [#408](http://git.io/fWQvMg)
846
+ - Pods stored in git repositories now initialize submodules.
847
+ [#406](http://git.io/L9ssSw)
848
+
849
+ ###### Bug fixes
850
+
851
+ - Removed note about the post install hook form the linter.
852
+ - Improved xcodebuild error detection in the linter.
853
+ - Ensure the git cache exists, before updating it, when trying to install the
854
+ ‘bleeding edge’ of a pod. [#426](http://git.io/d4eqRA)
855
+ - Clean downloaded external pods **after** resolving and activating (sub)specs.
856
+ [#414](http://git.io/i77q_w)
857
+ - Support `tar.gz` as filename in a HTTP source. [#428](http://git.io/qhwKkA)
858
+
859
+
860
+ ## 0.9.2
861
+
862
+ [CocoaPods](http://git.io/AVlRKg) • [Xcodeproj](http://git.io/xHbc0w)
863
+
864
+ ###### Bug fixes
865
+
866
+ - When generating the PodsDummy class, make that class unique to each target. [#402](http://git.io/NntYiQ)
867
+ - Raise an informative error message when the platform in the `Podfile` is omitted or incorrect. [#403](http://git.io/k5EcUQ)
868
+
869
+
870
+ ## 0.9.1
871
+
872
+ [CocoaPods](http://git.io/_kqAbw)
873
+
874
+ ###### Bug fixes
875
+
876
+ - CocoaPods 0.9.x needs Xcodeproj 0.3.0.
877
+
878
+
879
+ ## 0.9.0
880
+
881
+ [CocoaPods](http://git.io/kucJQw) • [Xcodeproj](http://git.io/5eLL8g)
882
+
883
+ ###### Enhancements
884
+
885
+ - Force downloading the ‘bleeding edge’ version of a pod with the `:head` flag. [#392](http://git.io/t_NVRQ)
886
+ - Support for weak frameworks. [#263](http://git.io/XZDuog)
887
+ - Use double quotes when shelling out. This makes a url like `$HOME/local/lib` work. [#396](http://git.io/DnBzhA)
888
+
889
+ ###### Bug fixes
890
+
891
+ - Relaxed linter to accepts pod that only specify paths to preserve (like TuneupJS).
892
+ - Gender neutralization of podfile documentation. [#384](http://git.io/MAsHXg)
893
+ - Exit early when using an old RubyGems version (< 1.4.0). These versions contain subtle bugs
894
+ related to prerelease version comparisons. Unfortunately, OS X >= 10.7 ships with 1.3.6. [#398](http://git.io/Lr7DoA)
895
+
896
+
897
+ ## 0.8.0
898
+
899
+ [CocoaPods](http://git.io/RgMF3w) • [Xcodeproj](http://git.io/KBKE_Q)
900
+
901
+ ###### Breaking change
902
+
903
+ Syntax change in Podfile: `dependency` has been replaced by `pod`.
904
+
905
+ ``ruby
906
+ platform :ios
907
+ pod 'JSONKit', '~> 1.4'
908
+ pod 'Reachability', '~> 2.0.4'
909
+ ``
910
+
911
+ ###### Bug fixes
912
+
913
+ - Properly quote all paths given to Git.
914
+
915
+
916
+ ## 0.7.0
917
+
918
+ [CocoaPods](http://git.io/Agia6A) • [Xcodeproj](http://git.io/mlqquw)
919
+
920
+ ###### Features
921
+
922
+ - Added support for branches in git repos.
923
+ - Added support for linting remote files, i.e. `pod spec lint http://raw/file.podspec`.
924
+ - Improved `Spec create template`.
925
+ - The indentation is automatically stripped for podspecs strings.
926
+
927
+ ###### Bug fixes
928
+
929
+ - The default warnings of Xcode are not overriden anymore.
930
+ - Improvements to the detection of the license files.
931
+ - Improvements to `pod spec lint`.
932
+ - CocoaPods is now case insensitive.
933
+
934
+
935
+ ## 0.6.1
936
+
937
+ [CocoaPods](http://git.io/45wFjw) • [Xcodeproj](http://git.io/rRA4XQ)
938
+
939
+ ###### Bug fixes
940
+
941
+ - Switched to master branch for specs repo.
942
+ - Fixed a crash with `pod spec lint` related to `preserve_paths`.
943
+ - Fixed a bug that caused subspecs to not inherit the compiler flags of the top level specification.
944
+ - Fixed a bug that caused duplication of system framworks.
945
+
946
+
947
+ ## 0.6.0
948
+
949
+ A full list of all the changes since 0.5.1 can be found [here][6].
950
+
951
+
952
+ ### Link with specific targets
953
+
954
+ CocoaPods can now integrate all the targets specified in your `Podfile`.
955
+
956
+ To specify which target, in your Xcode project, a Pods target should be linked
957
+ with, use the `link_with` method like so:
958
+
959
+ ``ruby
960
+ platform :ios
961
+
962
+ workspace 'MyWorkspace'
963
+
964
+ link_with ['MyAppTarget', 'MyOtherAppTarget']
965
+ dependency 'JSONKit'
966
+
967
+ target :test, :exclusive => true do
968
+ xcodeproj 'TestProject', 'Test' => :debug
969
+ link_with 'TestRunnerTarget'
970
+ dependency 'Kiwi'
971
+ end
972
+ ``
973
+
974
+ _NOTE: As you can see it can take either one target name, or an array of names._
975
+
976
+ * If no explicit Xcode workspace is specified and only **one** project exists in
977
+ the same directory as the Podfile, then the name of that project is used as the
978
+ workspace’s name.
979
+
980
+ * If no explicit Xcode project is specified for a target, it will use the Xcode
981
+ project of the parent target. If no target specifies an expicit Xcode project
982
+ and there is only **one** project in the same directory as the Podfile then that
983
+ project will be used.
984
+
985
+ * If no explicit target is specified, then the Pods target will be linked with
986
+ the first target in your project. So if you only have one target you do not
987
+ need to specify the target to link with.
988
+
989
+ See [#76](https://github.com/CocoaPods/CocoaPods/issues/76) for more info.
990
+
991
+ Finally, CocoaPods will add build configurations to the Pods project for all
992
+ configurations in the other projects in the workspace. By default the
993
+ configurations are based on the `Release` configuration, to base them on the
994
+ `Debug` configuration you will have to explicitely specify them as can be seen
995
+ above in the following line:
996
+
997
+ ```ruby
998
+ xcodeproj 'TestProject', 'Test' => :debug
999
+ ```
1000
+
1001
+
1002
+ ### Documentation
1003
+
1004
+ CocoaPods will now generate documentation for every library with the
1005
+ [`appledoc`][5] tool and install it into Xcode’s documentation viewer.
1006
+
1007
+ You can customize the settings used like so:
1008
+
1009
+ ```ruby
1010
+ s.documentation = { :appledoc => ['--product-name', 'My awesome project!'] }
1011
+ ```
1012
+
1013
+ Alternatively, you can specify a URL where an HTML version of the documentation
1014
+ can be found:
1015
+
1016
+ ```ruby
1017
+ s.documentation = { :html => 'http://example.com/docs/index.html' }
1018
+ ```
1019
+
1020
+ See [#149](https://github.com/CocoaPods/CocoaPods/issues/149) and
1021
+ [#151](https://github.com/CocoaPods/CocoaPods/issues/151) for more info.
1022
+
1023
+
1024
+ ### Licenses & Documentation
1025
+
1026
+ CocoaPods will now generate two 'Acknowledgements' files for each target specified
1027
+ in your Podfile which contain the License details for each Pod used in that target
1028
+ (assuming details have been specified in the Pod spec).
1029
+
1030
+ There is a markdown file, for general consumption, as well as a property list file
1031
+ that can be added to a settings bundle for an iOS application.
1032
+
1033
+ You don't need to do anything for this to happen, it should just work.
1034
+
1035
+ If you're not happy with the default boilerplate text generated for the title, header
1036
+ and footnotes in the files, it's possible to customise these by overriding the methods
1037
+ that generate the text in your `Podfile` like this:
1038
+
1039
+ ```ruby
1040
+ class ::Pod::Generator::Acknowledgements
1041
+ def header_text
1042
+ "My custom header text"
1043
+ end
1044
+ end
1045
+ ```
1046
+
1047
+ You can even go one step further and customise the text on a per target basis by
1048
+ checking against the target name, like this:
1049
+
1050
+ ```ruby
1051
+ class ::Pod::Generator::Acknowledgements
1052
+ def header_text
1053
+ if @target_definition.label.end_with?("MyTargetName")
1054
+ "Custom header text for MyTargetName"
1055
+ else
1056
+ "Custom header text for other targets"
1057
+ end
1058
+ end
1059
+ end
1060
+ ```
1061
+
1062
+ Finally, here's a list of the methods that are available to override:
1063
+
1064
+ ```ruby
1065
+ header_title
1066
+ header_text
1067
+ footnote_title
1068
+ footnote_text
1069
+ ```
1070
+
1071
+
1072
+ ### Introduced two new classes: LocalPod and Sandbox.
1073
+
1074
+ The Sandbox represents the entire contents of the `POD_ROOT` (normally
1075
+ `SOURCE_ROOT/Pods`). A LocalPod represents a pod that has been installed within
1076
+ the Sandbox.
1077
+
1078
+ These two classes can be used as better homes for various pieces of logic
1079
+ currently spread throughout the installation process and provide a better API
1080
+ for working with the contents of this directory.
1081
+
1082
+
1083
+ ### Xcodeproj API
1084
+
1085
+ All Xcodeproj APIs are now in `snake_case`, instead of `camelCase`. If you are
1086
+ manipulating the project from your Podfile's `post_install` hook, or from a
1087
+ podspec, then update these method calls.
1088
+
1089
+
1090
+ ### Enhancements
1091
+
1092
+ * [#188](https://github.com/CocoaPods/CocoaPods/pull/188): `list` command now
1093
+ displays the specifications introduced in the master repo if it is given as an
1094
+ option the number of days to take into account.
1095
+
1096
+ * [#188](https://github.com/CocoaPods/CocoaPods/pull/188): Transferred search
1097
+ layout improvements and options to `list` command.
1098
+
1099
+ * [#166](https://github.com/CocoaPods/CocoaPods/issues/166): Added printing
1100
+ of homepage and source to search results.
1101
+
1102
+ * [#177](https://github.com/CocoaPods/CocoaPods/issues/177): Added `--stat`
1103
+ option to display watchers and forks for pods hosted on GitHub.
1104
+
1105
+ * [#177](https://github.com/CocoaPods/CocoaPods/issues/177): Introduced colors
1106
+ and tuned layout of search.
1107
+
1108
+ * [#112](https://github.com/CocoaPods/CocoaPods/issues/112): Introduced `--push`
1109
+ option to `$ pod setup`. It configures the master spec repository to use the private
1110
+ push URL. The change is preserved in future calls to `$ pod setup`.
1111
+
1112
+ * [#153](https://github.com/CocoaPods/CocoaPods/issues/153): It is no longer
1113
+ required to call `$ pod setup`.
1114
+
1115
+ * [#163](https://github.com/CocoaPods/CocoaPods/issues/163): Print a template
1116
+ for a new ticket when an error occurs.
1117
+
1118
+ * Added a new Github-specific downloader that can download repositories as a
1119
+ gzipped tarball.
1120
+
1121
+ * No more global state is kept during resolving of dependencies.
1122
+
1123
+ * Updated Xcodeproj to have a friendlier API.
1124
+
1125
+
1126
+ ### Fixes
1127
+
1128
+ * [#142](https://github.com/CocoaPods/CocoaPods/issues/142): Xcode 4.3.2 no longer
1129
+ supports passing the -fobj-arc flag to the linker and will fail to build. The
1130
+ addition of this flag was a workaround for a compiler bug in previous versions.
1131
+ This flag is no longer included by default - to keep using this flag, you need to
1132
+ add `set_arc_compatibility_flag!` to your Podfile.
1133
+
1134
+ * [#183](https://github.com/CocoaPods/CocoaPods/issues/183): Fix for
1135
+ `.DS_Store` file in `~/.cocoapods` prevents `$ pod install` from running.
1136
+
1137
+ * [#134](https://github.com/CocoaPods/CocoaPods/issues/134): Match
1138
+ `IPHONEOS_DEPLOYMENT_TARGET` build setting with `deployment_target` option in
1139
+ generated Pods project file.
1140
+
1141
+ * [#142](https://github.com/CocoaPods/CocoaPods/issues/): Add `-fobjc-arc` to
1142
+ `OTHER_LD_FLAGS` if _any_ pods require ARC.
1143
+
1144
+ * [#148](https://github.com/CocoaPods/CocoaPods/issues/148): External encoding
1145
+ set to UTF-8 on Ruby 1.9 to fix crash caused by non-ascii characters in pod
1146
+ description.
1147
+
1148
+ * Ensure all header search paths are quoted in the xcconfig file.
1149
+
1150
+ * Added weak quoting to `ibtool` input paths.
1151
+
1152
+
1153
+ ## 0.5.0
1154
+
1155
+ No longer requires MacRuby. Runs on MRI 1.8.7 (OS X system version) and 1.9.3.
1156
+
1157
+ A full list of all the changes since 0.3.0 can be found [here][7].
1158
+
1159
+
1160
+ ## 0.4.0
1161
+
1162
+ Oops, accidentally skipped this version.
1163
+
1164
+
1165
+ ## 0.3.0
1166
+
1167
+ ### Multiple targets
1168
+
1169
+ Add support for multiple static library targets in the Pods Xcode project with
1170
+ different sets of depedencies. This means that you can create a separate
1171
+ library which contains all dependencies, including extra ones that you only use
1172
+ in, for instance, a debug or test build. [[docs][1]]
1173
+
1174
+ ```ruby
1175
+ # This Podfile will build three static libraries:
1176
+ # * libPods.a
1177
+ # * libPods-debug.a
1178
+ # * libPods-test.a
1179
+
1180
+ # This dependency is included in the `default` target, which generates the
1181
+ # `libPods.a` library, and all non-exclusive targets.
1182
+ dependency 'SSCatalog'
1183
+
1184
+ target :debug do
1185
+ # This dependency is only included in the `debug` target, which generates
1186
+ # the `libPods-debug.a` library.
1187
+ dependency 'CocoaLumberjack'
1188
+ end
1189
+
1190
+ target :test, :exclusive => true do
1191
+ # This dependency is *only* included in the `test` target, which generates
1192
+ # the `libPods-test.a` library.
1193
+ dependency 'Kiwi'
1194
+ end
1195
+ ```
1196
+
1197
+ ### Install libraries from anywhere
1198
+
1199
+ A dependency can take a git url if the repo contains a podspec file in its
1200
+ root, or a podspec can be loaded from a file or HTTP location. If no podspec is
1201
+ available, a specification can be defined inline in the Podfile. [[docs][2]]
1202
+
1203
+ ```ruby
1204
+ # From a spec repo.
1205
+ dependency 'SSToolkit'
1206
+
1207
+ # Directly from the Pod’s repo (if it contains a podspec).
1208
+ dependency 'SSToolkit', :git => 'https://github.com/samsoffes/sstoolkit.git'
1209
+
1210
+ # Directly from the Pod’s repo (if it contains a podspec) with a specific commit (or tag).
1211
+ dependency 'SSToolkit', :git => 'https://github.com/samsoffes/sstoolkit.git',
1212
+ :commit => '2adcd0f81740d6b0cd4589af98790eee3bd1ae7b'
1213
+
1214
+ # From a podspec that's outside a spec repo _and_ the library’s repo. This can be a file or http url.
1215
+ dependency 'SSToolkit', :podspec => 'https://raw.github.com/gist/1353347/ef1800da9c5f5d267a642b8d3950b41174f2a6d7/SSToolkit-0.1.1.podspec'
1216
+
1217
+ # If no podspec is available anywhere, you can define one right in your Podfile.
1218
+ dependency do |s|
1219
+ s.name = 'SSToolkit'
1220
+ s.version = '0.1.3'
1221
+ s.platform = :ios
1222
+ s.source = { :git => 'https://github.com/samsoffes/sstoolkit.git', :commit => '2adcd0f81740d6b0cd4589af98790eee3bd1ae7b' }
1223
+ s.resources = 'Resources'
1224
+ s.source_files = 'SSToolkit/**/*.{h,m}'
1225
+ s.frameworks = 'QuartzCore', 'CoreGraphics'
1226
+
1227
+ def s.post_install(target)
1228
+ prefix_header = config.project_pods_root + target.prefix_header_filename
1229
+ prefix_header.open('a') do |file|
1230
+ file.puts(%{#ifdef __OBJC__\n#import "SSToolkitDefines.h"\n#endif})
1231
+ end
1232
+ end
1233
+ end
1234
+ ```
1235
+
1236
+ ### Add a `post_install` hook to the Podfile class
1237
+
1238
+ This allows the user to customize, for instance, the generated Xcode project
1239
+ _before_ it’s written to disk. [[docs][3]]
1240
+
1241
+ ```ruby
1242
+ # Enable garbage collection support for MacRuby applications.
1243
+ post_install do |installer|
1244
+ installer.project.targets.each do |target|
1245
+ target.build_configurations.each do |config|
1246
+ config.build_settings['GCC_ENABLE_OBJC_GC'] = 'supported'
1247
+ end
1248
+ end
1249
+ end
1250
+ ```
1251
+
1252
+ ### Manifest
1253
+
1254
+ Generate a Podfile.lock file next to the Podfile, which contains a manifest of
1255
+ your application’s dependencies and their dependencies.
1256
+
1257
+ ```
1258
+ PODS:
1259
+ - JSONKit (1.4)
1260
+ - LibComponentLogging-Core (1.1.4)
1261
+ - LibComponentLogging-NSLog (1.0.2):
1262
+ - LibComponentLogging-Core (>= 1.1.4)
1263
+ - RestKit-JSON-JSONKit (0.9.3):
1264
+ - JSONKit
1265
+ - RestKit (= 0.9.3)
1266
+ - RestKit-Network (0.9.3):
1267
+ - LibComponentLogging-NSLog
1268
+ - RestKit (= 0.9.3)
1269
+ - RestKit-ObjectMapping (0.9.3):
1270
+ - RestKit (= 0.9.3)
1271
+ - RestKit-Network (= 0.9.3)
1272
+
1273
+ DOWNLOAD_ONLY:
1274
+ - RestKit (0.9.3)
1275
+
1276
+ DEPENDENCIES:
1277
+ - RestKit-JSON-JSONKit
1278
+ - RestKit-ObjectMapping
1279
+ ```
1280
+
1281
+ ### Generate Xcode projects from scratch
1282
+
1283
+ We no longer ship template projects with the gem, but instead generate them
1284
+ programmatically. This code has moved out into its own [Xcodeproj gem][4],
1285
+ allowing you to automate Xcode related tasks.
1286
+
1287
+
1288
+
1289
+
1290
+ [1]: https://github.com/CocoaPods/CocoaPods/blob/master/lib/cocoapods/podfile.rb#L151
1291
+ [2]: https://github.com/CocoaPods/CocoaPods/blob/master/lib/cocoapods/podfile.rb#L82
1292
+ [3]: https://github.com/CocoaPods/CocoaPods/blob/master/lib/cocoapods/podfile.rb#L185
1293
+ [4]: https://github.com/CocoaPods/Xcodeproj
1294
+ [5]: https://github.com/tomaz/appledoc
1295
+ [6]: https://github.com/CocoaPods/CocoaPods/compare/0.5.1...0.6.0
1296
+ [7]: https://github.com/CocoaPods/CocoaPods/compare/0.3.10...0.5.0