From e0c53474165bf3671cb4c689b9816e60d5bd0956 Mon Sep 17 00:00:00 2001 From: Jeff Brateman Date: Tue, 6 Sep 2016 20:16:01 -0500 Subject: [PATCH 1/2] releasinate card.io --- .github/ISSUE_TEMPLATE.md | 7 + .gitignore | 3 + .releasinator.rb | 138 +++++ CONTRIBUTING.md | 3 +- .../CardIOPaymentViewControllerDelegate.h | 2 +- CardIO_Public_API/CardIOViewDelegate.h | 2 +- Classes/CardIOBundle.h | 2 +- Classes/CardIOCameraView.h | 2 +- Classes/CardIONumbersTextFieldDelegate.h | 2 +- Gemfile | 4 + Gemfile.lock | 92 +++ LICENSE | 23 + LICENSE.md | 22 - README.md | 3 + Rakefile | 2 + Release/.github/ISSUE_TEMPLATE.md | 7 + Release/.gitignore | 17 + Release/CHANGELOG.md | 582 ++++++++++++++++++ Release/CONTRIBUTING.md | 14 + Release/CardIO.podspec | 2 +- Release/LICENSE | 23 + Release/LICENSE.md | 22 - Release/README.md | 8 + .../AppIcon.appiconset/Contents.json | 2 +- .../SampleApp-Swift-Bridging-Header.h | 2 +- .../SampleApp/ScanExample/ViewController.h | 2 +- Release/release_notes.txt | 581 ----------------- fabfile.py | 4 +- releasinator.sh | 13 + scripts/downscale2x.sh | 2 +- scripts/string_scripts/__init__.py | 1 + 31 files changed, 950 insertions(+), 639 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE.md create mode 100644 .releasinator.rb create mode 100644 Gemfile create mode 100644 Gemfile.lock create mode 100644 LICENSE create mode 100644 Rakefile create mode 100644 Release/.github/ISSUE_TEMPLATE.md create mode 100644 Release/.gitignore create mode 100644 Release/CHANGELOG.md create mode 100644 Release/CONTRIBUTING.md create mode 100644 Release/LICENSE create mode 100755 releasinator.sh diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md new file mode 100644 index 00000000..87527ff5 --- /dev/null +++ b/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,7 @@ +### Required Information + +- card.io-iOS-SDK Version (call `[CardIOView libraryVersion]`): +- iOS version and device: + +### Issue Description +> Please include as many details (logs, steps to reproduce, screenshots) as you can to help us reproduce this issue faster. diff --git a/.gitignore b/.gitignore index 0ba06997..1b03f292 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,6 @@ icc.xcodeproj/project.xcworkspace/xcuserdata/* /Release/SampleApp/ScanExample.xcodeproj/xcuserdata/ /Release/SampleApp-Swift/SampleApp-Swift.xcodeproj/project.xcworkspace/ /Release/SampleApp-Swift/SampleApp-Swift.xcodeproj/xcuserdata/ +# releasinator +downstream_repos/ +card.io_ios_sdk_*/ diff --git a/.releasinator.rb b/.releasinator.rb new file mode 100644 index 00000000..1fa8af4b --- /dev/null +++ b/.releasinator.rb @@ -0,0 +1,138 @@ +#### releasinator config #### +configatron.product_name = "card.io iOS SDK " + +# The directory where all distributed docs are. Default is '.' +configatron.base_docs_dir = 'Release' + +configatron.release_to_github = false + +configatron.use_git_flow = true + +# List of items to confirm from the person releasing. Required, but empty list is ok. +configatron.prerelease_checklist_items = [ + "Test on a device in release mode", + "Check the header files.", + "Sanity check the develop branch.", +] + +def no_task(version="") +end + +def podspec_version() + File.open("Release/CardIO.podspec", 'r') do |f| + f.each_line do |line| + if line.match (/spec.version\s*=\s*'\d*\.\d*\.\d*'/) + return line.strip.split('\'')[1] + end + end + end + return 0 +end + +def validate_podspec_version() + if podspec_version() != @current_release.version + Printer.fail("podspec version #{podspec_version()} does not match changelog version #{@current_release.version}.") + abort() + end + Printer.success("podspec version #{podspec_version()} matches latest changelog version #{@current_release.version}.") +end + +def validate_paths() + @validator.validate_in_path("pip") + @validator.validate_in_path("virtualenv") + @validator.validate_in_path("type mkvirtualenv") +end + +# Custom validation methods. Optional. +configatron.custom_validation_methods = [ + method(:validate_paths), + method(:validate_podspec_version) +] + +# build process moved to releasinator.sh file +def build_cardio() + CommandProcessor.command("VERSION=#{@current_release.version} ./releasinator.sh", live_output=true) +end + +# The method that builds the sdk. Required. +configatron.build_method = method(:build_cardio) + +# steps to push cocoapods moved after downstreamrepo code push +def publish_to_cocoapods() + command = "cd downstream_repos/card.io-iOS-SDK;" + command += "pod trunk push CardIO.podspec" + + CommandProcessor.command(command, live_output=true) +end + +# The method that publishes the sdk to the package manager. Required. +configatron.publish_to_package_manager_method = method(:no_task) + +def wait_for_cocoapods() + CommandProcessor.wait_for("wget -U \"non-empty-user-agent\" -qO- https://github.com/CocoaPods/Specs/blob/master/Specs/CardIO/#{podspec_version()}/CardIO.podspec.json | cat") +end + +# the method that waits for published artifact +configatron.wait_for_package_manager_method = method(:no_task) + +def add_content_to_file (filepath, location, new_content) + require 'fileutils' + tempfile=File.open("file.tmp", 'w') + File.open(filepath, 'r') do |f| + f.each_line do |line| + tempfile< true, + :full_file_sync => false, + :files_to_copy => [ + CopyFile.new("card.io_ios_sdk_#{podspec_version}*/*", ".", ".") + ], + :build_methods => [ + method(:build_app) + ] + ), + DownstreamRepo.new( + name="card.io-Cordova-Plugin", + url="git@github.com:card-io/card.io-Cordova-Plugin.git", + branch="master", + :full_file_sync => false, + :release_to_github => true, + :new_branch_name => "ios-__VERSION__", + :files_to_copy => [ + CopyFile.new("card.io_ios_sdk_#{podspec_version}\*/CardIO/*", ".", "src/ios/CardIO") + ], + :post_copy_methods => [ + method(:update_cordova_plugin_release_notes) + ] + ) +] + +task :"local:push" do + publish_to_cocoapods() + wait_for_cocoapods() +end diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9233a448..ab9c638a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -7,9 +7,8 @@ General Guidelines ------------------ * **Code style.** Please follow local code style. Ask if you're unsure. Python code should conform to PEP8. -* **No warnings.** All generated code must compile without warnings. All generated code must pass the static analyzer. All python code must run without warnings. +* **No warnings.** All code must compile without warnings. All code must pass the static analyzer. All python code must run without warnings. * **iOS version support.** The library should support one major iOS version back. E.g., if iOS 8.x is the newest version of iOS, then the code should build and run correctly in an app targeting and deployed on iOS 7.x. * **Architecture support.** The library should support armv7, armv7s, arm64, i386 and x86_64. -* **ARC agnostic.** No code that depends on the presence or absence of ARC should appear in public header files. * **No logging in Release builds.** Always use the `CardIOLog()` macro rather than `NSLog()`. * **Testing.** Test both with the `icc` demo app, and with the included `ScanExample` sample app. Test both on the iOS simulator and on at least one physical device. diff --git a/CardIO_Public_API/CardIOPaymentViewControllerDelegate.h b/CardIO_Public_API/CardIOPaymentViewControllerDelegate.h index fbdbf0ab..4c1dca4e 100644 --- a/CardIO_Public_API/CardIOPaymentViewControllerDelegate.h +++ b/CardIO_Public_API/CardIOPaymentViewControllerDelegate.h @@ -26,4 +26,4 @@ /// @param paymentViewController The active CardIOPaymentViewController. - (void)userDidProvideCreditCardInfo:(CardIOCreditCardInfo *)cardInfo inPaymentViewController:(CardIOPaymentViewController *)paymentViewController; -@end \ No newline at end of file +@end diff --git a/CardIO_Public_API/CardIOViewDelegate.h b/CardIO_Public_API/CardIOViewDelegate.h index f7200c73..a925cd76 100644 --- a/CardIO_Public_API/CardIOViewDelegate.h +++ b/CardIO_Public_API/CardIOViewDelegate.h @@ -21,4 +21,4 @@ /// @note cardInfo will be nil if exiting due to a problem (e.g., no available camera). - (void)cardIOView:(CardIOView *)cardIOView didScanCard:(CardIOCreditCardInfo *)cardInfo; -@end \ No newline at end of file +@end diff --git a/Classes/CardIOBundle.h b/Classes/CardIOBundle.h index 5b52d4d2..2545c47f 100644 --- a/Classes/CardIOBundle.h +++ b/Classes/CardIOBundle.h @@ -28,4 +28,4 @@ - (BOOL)passesSelfTest:(NSError **)error; #endif -@end \ No newline at end of file +@end diff --git a/Classes/CardIOCameraView.h b/Classes/CardIOCameraView.h index 84c3ee98..0f5bef11 100644 --- a/Classes/CardIOCameraView.h +++ b/Classes/CardIOCameraView.h @@ -40,4 +40,4 @@ @end -#endif \ No newline at end of file +#endif diff --git a/Classes/CardIONumbersTextFieldDelegate.h b/Classes/CardIONumbersTextFieldDelegate.h index d313af18..277f6de0 100644 --- a/Classes/CardIONumbersTextFieldDelegate.h +++ b/Classes/CardIONumbersTextFieldDelegate.h @@ -14,4 +14,4 @@ - (BOOL)cleanupTextField:(UITextField *)textField; -@end \ No newline at end of file +@end diff --git a/Gemfile b/Gemfile new file mode 100644 index 00000000..1cf3d828 --- /dev/null +++ b/Gemfile @@ -0,0 +1,4 @@ +source 'https://rubygems.org' + +gem 'releasinator', '~> 0.6' +gem 'cocoapods' diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 00000000..12c250ef --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,92 @@ +GEM + remote: https://rubygems.org/ + specs: + activesupport (4.2.6) + i18n (~> 0.7) + json (~> 1.7, >= 1.7.7) + minitest (~> 5.1) + thread_safe (~> 0.3, >= 0.3.4) + tzinfo (~> 1.1) + addressable (2.4.0) + claide (1.0.0) + cocoapods (1.0.1) + activesupport (>= 4.0.2) + claide (>= 1.0.0, < 2.0) + cocoapods-core (= 1.0.1) + cocoapods-deintegrate (>= 1.0.0, < 2.0) + cocoapods-downloader (>= 1.0.0, < 2.0) + cocoapods-plugins (>= 1.0.0, < 2.0) + cocoapods-search (>= 1.0.0, < 2.0) + cocoapods-stats (>= 1.0.0, < 2.0) + cocoapods-trunk (>= 1.0.0, < 2.0) + cocoapods-try (>= 1.0.0, < 2.0) + colored (~> 1.2) + escape (~> 0.0.4) + fourflusher (~> 0.3.0) + molinillo (~> 0.4.5) + nap (~> 1.0) + xcodeproj (>= 1.1.0, < 2.0) + cocoapods-core (1.0.1) + activesupport (>= 4.0.2) + fuzzy_match (~> 2.0.4) + nap (~> 1.0) + cocoapods-deintegrate (1.0.0) + cocoapods-downloader (1.0.0) + cocoapods-plugins (1.0.0) + nap + cocoapods-search (1.0.0) + cocoapods-stats (1.0.0) + cocoapods-trunk (1.0.0) + nap (>= 0.8, < 2.0) + netrc (= 0.7.8) + cocoapods-try (1.0.0) + colored (1.2) + colorize (0.8.1) + configatron (4.5.0) + escape (0.0.4) + faraday (0.9.2) + multipart-post (>= 1.2, < 3) + fourflusher (0.3.1) + fuzzy_match (2.0.4) + github-markup (1.4.0) + i18n (0.7.0) + json (1.8.3) + minitest (5.8.3) + molinillo (0.4.5) + multipart-post (2.0.0) + nap (1.1.0) + netrc (0.7.8) + octokit (4.3.0) + sawyer (~> 0.7.0, >= 0.5.3) + redcarpet (3.3.4) + releasinator (0.6.0) + colorize (~> 0.7) + configatron (~> 4.5) + json (~> 1.8) + octokit (~> 4.0) + semantic (~> 1.4) + vandamme (~> 0.0.11) + sawyer (0.7.0) + addressable (>= 2.3.5, < 2.5) + faraday (~> 0.8, < 0.10) + semantic (1.4.1) + thread_safe (0.3.5) + tzinfo (1.2.2) + thread_safe (~> 0.1) + vandamme (0.0.11) + github-markup (~> 1.3) + redcarpet (~> 3.3.2) + xcodeproj (1.1.0) + activesupport (>= 3) + claide (>= 1.0.0, < 2.0) + colored (~> 1.2) + +PLATFORMS + ruby + +DEPENDENCIES + cocoapods + releasinator (~> 0.6) + +BUNDLED WITH + 1.11.2 diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..f538a99c --- /dev/null +++ b/LICENSE @@ -0,0 +1,23 @@ +All files are released under the MIT License: + + The MIT License (MIT) + + Copyright (c) 2013-2016 PayPal Holdings, Inc. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. diff --git a/LICENSE.md b/LICENSE.md index f538a99c..8b137891 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,23 +1 @@ -All files are released under the MIT License: - The MIT License (MIT) - - Copyright (c) 2013-2016 PayPal Holdings, Inc. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. diff --git a/README.md b/README.md index 97c07a9b..7e259fbe 100644 --- a/README.md +++ b/README.md @@ -102,3 +102,6 @@ Contributors Subsequent help has come from [Brent Fitzgerald](https://github.com/burnto/), [Tom Whipple](https://github.com/tomwhipple), [Dave Goldman](https://github.com/dgoldman-ebay), [Roman Punskyy](https://github.com/romk1n), [Mark Rogers](https://github.com/mgroger2), and [Martin Rybak](https://github.com/martinrybak). And from **you**! Pull requests and new issues are welcome. See [CONTRIBUTING.md](CONTRIBUTING.md) for details. + +## License +Code released under [MIT LICENSE](LICENSE) diff --git a/Rakefile b/Rakefile new file mode 100644 index 00000000..33a443c3 --- /dev/null +++ b/Rakefile @@ -0,0 +1,2 @@ +spec = Gem::Specification.find_by_name 'releasinator' +load "#{spec.gem_dir}/lib/tasks/releasinator.rake" diff --git a/Release/.github/ISSUE_TEMPLATE.md b/Release/.github/ISSUE_TEMPLATE.md new file mode 100644 index 00000000..87527ff5 --- /dev/null +++ b/Release/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,7 @@ +### Required Information + +- card.io-iOS-SDK Version (call `[CardIOView libraryVersion]`): +- iOS version and device: + +### Issue Description +> Please include as many details (logs, steps to reproduce, screenshots) as you can to help us reproduce this issue faster. diff --git a/Release/.gitignore b/Release/.gitignore new file mode 100644 index 00000000..1b03f292 --- /dev/null +++ b/Release/.gitignore @@ -0,0 +1,17 @@ +build/ +icc.xcodeproj/xcuserdata/* +icc.xcodeproj/project.xcworkspace/xcuserdata/* +.DS_Store +**/*.pbxuser +*.pyc +.baler_env +/icc.xcodeproj/project.xcworkspace/xcshareddata/ +/icc.xcodeproj/project.xcworkspace/xcshareddata/icc.xccheckout +/Classes/CardIOIccVersion.h +/Release/SampleApp/ScanExample.xcodeproj/project.xcworkspace/ +/Release/SampleApp/ScanExample.xcodeproj/xcuserdata/ +/Release/SampleApp-Swift/SampleApp-Swift.xcodeproj/project.xcworkspace/ +/Release/SampleApp-Swift/SampleApp-Swift.xcodeproj/xcuserdata/ +# releasinator +downstream_repos/ +card.io_ios_sdk_*/ diff --git a/Release/CHANGELOG.md b/Release/CHANGELOG.md new file mode 100644 index 00000000..2a32eab6 --- /dev/null +++ b/Release/CHANGELOG.md @@ -0,0 +1,582 @@ +card.io iOS SDK release notes +============================= + +5.3.2 (Mon 04/11/2016) + +* Fix memory management issues with CMSampleBufferRef causing crash + ( https://github.com/card-io/card.io-iOS-SDK/issues/194 ) + +5.3.1 (Tue 01/26/2016) + +* Prevent an issue with crashes when an invalid IplImage is used for + scanning causing an exception to be thrown later in cvGetSize(). + ( https://github.com/card-io/card.io-iOS-source/pull/57 ) + +5.3.0 (Mon 12/21/2015) + +* Add cardholder name for manual text input. Thanks to Mark Rogers and + Martin Rybak for the contribution. + ( https://github.com/card-io/card.io-iOS-source/pull/45 ) +* Add option for only numeric input for postal code. + ( https://github.com/card-io/card.io-iOS-source/pull/51 ) + +5.2.2 (Tue 11/03/2015) + +* You will need to link the `Accelerate` framework to your application. +* Fix issue where an app would hang on card-scanning screen + ( https://github.com/card-io/card.io-iOS-SDK/issues/153 ) + If an app was displaying the card-scanning screen and was sent to the + background, when the app was brought back to the foreground, the + app would possibly hang on certain hardware, mainly iPhone 5S. +* Add Carthage support + ( https://github.com/card-io/card.io-iOS-source/pull/36 + https://github.com/card-io/card.io-iOS-source/issues/32 ) + Initial support for Carthage. In a Cartfile, you can add + `github "card-io/card.io-iOS-source"` + to get Carthage to build a dynamic framework for inclusion in your + projects. +* Fix warning while running in simulator for 5.2.1 + ( https://github.com/card-io/card.io-iOS-SDK/issues/154 ) + Add the x86_64 and i386 slices to the OpenCV libraries to prevent warnings. + This was also necesary for clean builds for Carthage. + +5.2.1 (Mon 10/19/2015) + +* Split CardIO and OpenCV libraries + (https://github.com/card-io/card.io-iOS-SDK/issues/147 + https://github.com/card-io/card.io-iOS-source/issues/41) + The library is built with Xcode 7.0 with Bitcode enabled for all 3 + libraries. The libraries are now split into 3 static libraries: + `libCardIO.a`, `libopencv_core.a`, and `libopencv_imgproc.a`. + This split was done to reduce the individual file size to make it + more managable for GitHub repositories which limit individual files to + 100 MB. + + Note that when an application is "Bitcode compiled" and distributed + by the App Store, the app size should not be signficantly increased + compared to before Bitcode enablement. + + You must use Xcode 7 since previous versions of Xcode are not fully + compatible with Bitcode enabled libraries. + +-- + +5.2.0 (Wed 9/30/2015) + +* Enable Bitcode + (https://github.com/card-io/card.io-iOS-SDK/issues/119) + The library is now built with Xcode 7.0. It has Bitcode enabled which + does significantly increase the static library. However, when an app + is compiled and distributed by the App Store, the app size should not + significantly increase compared to before Bitcode enablement. You must also + use Xcode 7 since previous versions of Xcode are not fully compatible + with Bitcode enabled libraries. + +-- + +5.1.1 (Wed 8/26/2015) + +* Update CocoaPods podspec to use `vendored_libraries`. + (https://github.com/card-io/card.io-iOS-SDK/pull/126) + +-- + +5.1.0 (Sun 7/12/2015) + +* Update project and sample apps for Xcode 6.4. +* Expose `scannedImageDuration` in CardIOPaymentViewController. + (https://github.com/card-io/card.io-iOS-source/pull/29) +* Better respect UISupportedInterfaceOrientation from the app plist. + (https://github.com/card-io/card.io-iOS-SDK/issues/117) +* Fix iOS 9 crash by removing some obsolete localization code. + (https://github.com/card-io/card.io-iOS-SDK/issues/120) + +-- + +5.0.6 (Thu 5/21/2015) + +* Prevent crash when user simultaneously taps `Cancel` and `Enter Manually` buttons. + (https://github.com/card-io/card.io-iOS-SDK/issues/112) + +-- + +5.0.5 (Tue 5/19/2015) + +* Update Chinese translations for "CVV". + (https://github.com/paypal/PayPal-iOS-SDK/issues/278) +* Update project and sample apps for Xcode 6.3, but + build SDK with Xcode 6.2 this one last time to prevent + compatibility issues for clients still using Xcode 6.2. + +-- + +5.0.4 (Tue 4/14/2015) + +* Check existing video permissions before presenting camera view. + (https://github.com/card-io/card.io-iOS-SDK/issues/99) +* Restrict expiry year manual input to 2 digits in all cases. + (https://github.com/card-io/card.io-iOS-SDK/issues/104) + +-- + +5.0.3 (Tue 3/17/2015) + +* On scan cancelation, eliminate a visual stutter. + (https://github.com/card-io/card.io-iOS-SDK/issues/97) +* On scan completion, reset camera focus range to nonrestricted. + (https://github.com/card-io/card.io-iOS-source/issues/17) + +-- + +5.0.2 (Mon 2/23/2015) + +* Re-enable expiry-scanning for 32-bit devices (e.g., iPhone 4S). + +-- + +5.0.1 (Tue 2/10/2015) + +* Simplify expiry-scanning code to improve accuracy and also decrease library size a bit. +* For now, disable expiry-scanning for 32-bit devices (e.g., iPhone 4S). + - This is because of an apparent compiler bug for which we haven't yet found a workaround. + +-- + +5.0.0 (Tue 1/20/2015) + +* Add automatic expiry-scanning. + You can disable this feature via the new `scanExpiry` property of either CardIOView or CardIOPaymentViewController. + Note: Expiry scans will not infrequently fail to obtain the correct expiry date. + We are continuing to work to improve expiry-scanning accuracy. +* Remove various deprecated properties. + +-- + +4.0.2 (Tue 1/13/2015) + +* Fix an iOS 8 display issue involving right-to-left languages. (https://github.com/card-io/card.io-iOS-SDK/issues/90) +* In the manual-input screen combine Expiry and CVV into a single row, for more languages than before. + +-- + +4.0.1 (Mon 1/5/2015) + +* Fix a potential rare crash. (see https://github.com/paypal/PayPal-iOS-SDK/issues/220 for a similar case) + +-- + +4.0.0 (Mon 12/1/2014) + +* Build from the new open-source edition of card.io: https://github.com/card-io/card.io-iOS-source +* New class: CardIOUtilities + - libraryVersion (formerly a method of CardIOPaymentViewController) + - canReadCardWithCamera (formerly a method of CardIOPaymentViewController) + - preload (formerly a method of CardIOView and of CardIOPaymentViewController) + - blurredScreenImageView (new method) +* New property on CardIOCreditCardInfo: + - cardImage +* New properties on CardIOView and CardIOPaymentViewController: + - scanInstructions + - hideCardIOLogo + - scanOverlayView + - detectionMode +* New notification: + - CardIOScanningOrientationDidChangeNotification + +-- + +3.10.1 (Wed 11/5/2014) + +* Restore App Token as a deprecated property, so that existing card.io integrations will continue to build without modification. + +-- + +3.10.0 (Thu 10/2/2014) + +* Eliminate App Token. Developers no longer need to sign up on the card.io site before using card.io. +* Add Icelandic (is) to our supported localizations. (Thank you, Martin Kaplan!) + +-- + +3.9.0 (Tue 9/23/2014) + +* Add new optional method `preload` to noticeably speed up the creation of your first CardIOView or CardIOPaymentViewController. + +-- + +3.8.7 (Tue 9/16/2014) + +* Fix a crash that could occur if a user has restricted your app's camera access. + +-- + +3.8.6 (Fri 9/12/2014) + +* Solve (hopefully!) a build problem for Xcode 5 users. (see https://github.com/card-io/card.io-iOS-SDK/issues/66) + +-- + +3.8.5 (Thu 9/11/2014) + +* Add armv7s slice (work around an Xcode 6 bug). + +-- + +3.8.4 (Wed 9/10/2014) + +* Build with Xcode 6 GM seed. +* Update a few localized strings. (including: https://github.com/card-io/card.io-iOS-SDK/issues/65) + +-- + +3.8.3 (Tue 7/8/2014) + +* Fix a very rare problem involving the app caches directory getting cleared. (see https://github.com/paypal/PayPal-iOS-SDK/issues/163) + +-- + +3.8.2 (Thu 7/3/2014) + +* Fix some localization issues. (see https://github.com/paypal/PayPal-iOS-SDK/issues/164) + +-- + +3.8.1 (Thu 6/19/2014) + +* Fix an iOS 8 (beta 2) crash. + +-- + +3.8.0 (Wed 6/11/2014) + +* Accept Diners Club and China UnionPay card numbers as valid Discover card numbers. +* Allow manual entry of card numbers with unrecognized prefixes, as long as the card number passes the Luhn checksum test. +* Make zh-Hant_HK the default dialect for zh-Hant (Traditional Chinese). (zh-Hant_TW remains available, as well.) + +-- + +3.7.1 (Mon 5/19/2014) + +* Improve handling of Traditional Chinese. (github issue #47) + +-- + +3.7.0 (Wed 4/30/2014) + +* Add new maskManualEntryDigits property to CardIOPaymentViewController. +* Update PayPal logo. + +-- + +3.6.5 (Mon 4/21/2014) + +* Add Thai (th) to our supported localizations. + +-- + +3.6.4 (Tue 4/1/2014) + +* When the data-entry screen appears, automatically enter text-editing mode. (github issue #41) + +-- + +3.6.3 (Mon 3/10/2014) + +* Repair the disableManualEntryButtons property. (github issue #38) + +-- + +3.6.2 (Fri 3/7/2014) + +* Fix an orientation glitch when no camera is available. + +-- + +3.6.1 (Thu 3/6/2014) + +* Fix a compiler issue caused by a change in header file import ordering. + +-- + +3.6.0 (Thu 3/6/2014) + +* New appearance of the "Cancel" and "Enter Manually" buttons in camera view, including automatic button rotation to match device orientation. +* New property, allowFreelyRotatingCardGuide, for both CardIOPaymentViewController and CardIOView; provides the option to constrain camera-view UI rotation to follow standard iOS behavior. +* The manual entry screen now includes a landscape orientation. + +-- + +3.5.0 (Wed 2/26/2014) + +* Add suppressScannedCardImage property to CardIOPaymentViewController (github issue #33) + +-- + +3.4.4 (Tue 1/14/2014) + +* Fix two very rare bugs: + - Card-scan succeeds, but then reports a nil card number; + - Card-scan completes while the camera focus is being adjusted -> crash. + +-- + +3.4.3 (Thu 12/12/2013) + +* Restore use of CardIOView, which was accidentally broken in release 3.4.1. + +-- + +3.4.2 (Wed 12/11/2013) + +* Enable linking against iOS 6 SDK, for apps not yet targeted at iOS 7. +* Add Arabic (ar) and Malay (ms) to our supported localizations. +* Fix a memory leak when a user rapidly and repeatedly starts camera sessions. + +-- + +3.4.1 (Thu 12/05/2013) + +* Respect the setting for UIViewControllerBasedStatusBarAppearance in your app's Info.plist +* Enable copy/paste for the manual-entry fields. +* Improve the handling of right-to-left languages (e.g., Hebrew). + +-- + +3.4.0 (Tue 11/12/2013) + +* Now 64-bit compatible. + +-- + +3.3.0 (Tue 9/24/2013) + +* Introduce CardIOView for highly customizable, scan-only integration. +* Fix a few small bugs. + +-- + +3.2.4 (Mon 9/16/2013) + +* Build with Xcode 5 GM seed. +* Modify header comments to support Xcode 5 Quick Help. +* Fix a few small bugs. + +-- + +3.2.3 (Thu 8/29/2013) + +* Ready for iOS 7 (please let us know if you discover any issues!) +* Additional customizability in CardIOPaymentViewController: + - guideColor + - suppressScanConfirmation +* The former first-time/how-to alert is no more. +* Add human-readable version number to the string returned by +libraryVersion. +* Correct a Russian localization issue (github issue #13). + +-- + +3.2.2 (Thu 8/8/2013) + +* Change all uses of ZIP to postalCode. +* Fix a bug with translucent navigation bar (github issue #8). +* Fix a bug with MKMapKit (github issue #10). +* Add card.io version number to all header files (github issue #1). + +-- + +3.2.1 (Mon 7/29/2013) + +* Fix a rotation issue for apps which constrain their Supported Interface Orientations. +* Add ko, pt_BR, and es_MX to our supported localizations. + +-- + +3.2.0 (Thu 5/30/2013) + +* Update the required C++ Standard Library from libstdc++ to libc++ + - NOTE: this will probably require a corresponding change to your app's + "Other Linker Flags", from "-lstdc++" to "-lc++". + (If you still need libstdc++ for a component other than card.io, + you should be able to specify BOTH "-lstdc++" AND "-lc++".) + +--- + +3.1.1 (Wed 5/15/2013) + +* Fix torch-related crash on certain devices (particularly including some models of iPod Touch) + +--- + +3.1.0 (Tue 5/14/2013) + +* Add translations of all strings into ~20 languages, in addition to American English. + - Translation choice is controlled by a new "languageOrLocale" property of CardIOPaymentViewController. + - The translations that a few developers had previously created for their own apps will no longer be used by the SDK. + - NOTE: Default language, if not set by your app, will now be based upon the device's current language setting. +* Automatic control of the camera torch (for devices which support it). + +--- + +3.0.11 (Fri 4/5/2013) + +* Add work-around for a linker bug that affected some simulator builds. + +--- + +3.0.10 (Thu 4/4/2013) + +* Improve performance when card is lying on a flat surface. +* Blur screen when app is backgrounded, for security purposes. +* Eliminate some rare crashes caused by backgrounding the app during a scan. + +--- + +3.0.9 (Fri 3/22/2013) + +* CardIOCreditCardTypeUnknown has been deprecated and will be removed in a future release. + Use CardIOCreditCardTypeUnrecognized or CardIOCreditCardTypeAmbiguous instead. +* Improved autofocus behavior. +* Fix final iPad rotation bugs. (Really!) + +--- + +3.0.8 (Tue 3/5/2013) + +* Add +logoForCardType: to CardIOCreditCardInfo. +* Fix yet more iPad rotation bugs. (Sigh.) + +--- + +3.0.7 (Thu 2/21/2013) + +* Add useCardIOLogo property to CardIOPaymentViewController. +* Fix iPad rotation support for landscape-only iPad apps. +* Improve credit card number validation. + +--- + +3.0.6 (Mon 2/11/2013) + +* Add keepStatusBarStyle, navigationBarStyle, and navigationBarTintColor properties to CardIOPaymentViewController. +* Minor accessibility improvements. +* Fix crash when used with MapKit due to OpenGL interactions. + +--- + +3.0.5 (Tue 1/29/2013) + +* Fix simulator-only linker failure. + +--- + +3.0.4 (Tue 1/22/2013) + +* Now requires iOS 5+. +* Improve iPad rotation support. + +--- + +3.0.3 (Mon 12/3/2012) + +* Fix iOS 6 rotation bug. +* Improve UI for iPhone 5 and iPad. +* Reduce network chatter. +* Switch to PayPal logo. + +--- + +3.0.2 (Mon 9/17/2012) + +* Add armv7s support. Remove armv6 support. + +--- + +3.0.1 (Wed 8/29/2012) + +* Fix Simulator build issues. +* Minor bug fixes. + +--- + +3.0.0 (Tue 8/21/2012) + +* Card scanning can now be done without network access. +* The SDK now requires the OpenGLES framework. +* The SDK no longer requires the SystemConfiguration framework. +* Minor UI updates. +* Expiry is not scanned in this version. +* Scan availability notifications have been removed; scan availability no longer changes (a device either supports + scanning or not), so notifications are unnecessary. In particular, CardIOPaymentViewController's + +beginGeneratingScanAvailabilityNotifications, +endGeneratingScanAvailabilityNotifications, + CardIOCardScanningDidBecomeAvailable, and CardIOCardScanningDidBecomeUnavailable have been removed. + +--- + +2.3.0 (Tue 6/26/2012) + +* Add JCB support. +* Add scanned property to CardIOCreditCardInfo. +* Replace CardIOPaymentViewController's -initWithPaymentDelegate:forceManualEntry: with -initWithPaymentDelegate:scanningEnabled:. As before, this method should only be used for testing purposes. Note that the semantics for forceManualEntry: and scanningEnabled: are flipped (if you were using YES, now use NO). +* Remove support for payment processing (now scan only). +* The MessageUI framework is no longer used. + +------------- + +2.2.0 (Mon 3/26/2012) + +* Add disableManualEntryButtons and supporting methods to CardIOPaymentViewController. +* Remove calls to UIDevice's uniqueIdentifier. + +------------- + +2.1.0 (Tue 2/7/2012) + +* Drop support for 3.x. The minimum iOS version supported is now 4.0. +* The SDK now requires the Security framework. +* Minor UI and usability improvements. +* Bug fixes. +* Enhanced fraud detection and security. + +------------- + +2.0.0 (Thu 1/19/2012) + +* Added payment processing capabilities. See CardIO.h for a list of header files, and https://www.card.io/integrate/ios for integration instructions and sample code. +* Removed deprecated CardIOPaymentViewControllerDelegate methods. +* CardIOCreditCardInfo now implements NSCopying and uses copy properties. +* CardIOPaymentViewController can now be used in a form sheet on the iPad. +* UI improvements and bug fixes. + +------------- + +1.2.0 (Thu 8/24/2011) + +* Easier integration: Instead of requiring files to be Objective-C++ (.mm), you can just use the linker flag -lstdc++ (add it to "Other Linker Flags"). +* Added -redactedCardNumber to CardIOCreditCardInfo class. +* Improved card detection. +* Fixed minor memory leak. +* Minor data entry bug fixes. + +------------- + +1.1.1 (Wed 8/3/2011) + +* Bug fix: Returned card number no longer contains spaces. +* Several manual entry bug fixes. + +------------- + +1.1.0 (Wed 7/27/2011) + +* Added CardIOCreditCardInfo class. This is a data class that encapsulates the properties of a card: number, expiration, cvv, card type, etc. +* CardIOPaymentViewControllerDelegate now vends CardIOCreditCardInfo instances. +* Deprecated userDidProvideCreditCardNumber:expiryMonth:expiryYear:cvv:inPaymentViewController: in favor of userDidProvideCreditCardInfo:inPaymentViewController:. +* Added ability to optionally collect any/all of expiry, cvv, and zip code. (Previously, expiry was always collected and cvv was optional.) +* Improved capture frame rate. +* Usability improvements to manual entry. + +------------- + +1.0.0 (Tue 5/17/2011) + +* First release. diff --git a/Release/CONTRIBUTING.md b/Release/CONTRIBUTING.md new file mode 100644 index 00000000..ab9c638a --- /dev/null +++ b/Release/CONTRIBUTING.md @@ -0,0 +1,14 @@ +# Contribute to the card.io iOS SDK + +### *Pull requests are welcome!* + + +General Guidelines +------------------ + +* **Code style.** Please follow local code style. Ask if you're unsure. Python code should conform to PEP8. +* **No warnings.** All code must compile without warnings. All code must pass the static analyzer. All python code must run without warnings. +* **iOS version support.** The library should support one major iOS version back. E.g., if iOS 8.x is the newest version of iOS, then the code should build and run correctly in an app targeting and deployed on iOS 7.x. +* **Architecture support.** The library should support armv7, armv7s, arm64, i386 and x86_64. +* **No logging in Release builds.** Always use the `CardIOLog()` macro rather than `NSLog()`. +* **Testing.** Test both with the `icc` demo app, and with the included `ScanExample` sample app. Test both on the iOS simulator and on at least one physical device. diff --git a/Release/CardIO.podspec b/Release/CardIO.podspec index 71350a12..ba75c2f6 100644 --- a/Release/CardIO.podspec +++ b/Release/CardIO.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |spec| spec.name = 'CardIO' spec.version = '5.3.2' - spec.license = { type: 'MIT', file: 'LICENSE.md' } + spec.license = { type: 'MIT', file: 'LICENSE' } spec.homepage = 'https://www.card.io' spec.authors = { 'CardIO' => 'support@paypal.com' } spec.summary = 'Credit card scanning for mobile apps' diff --git a/Release/LICENSE b/Release/LICENSE new file mode 100644 index 00000000..f538a99c --- /dev/null +++ b/Release/LICENSE @@ -0,0 +1,23 @@ +All files are released under the MIT License: + + The MIT License (MIT) + + Copyright (c) 2013-2016 PayPal Holdings, Inc. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. diff --git a/Release/LICENSE.md b/Release/LICENSE.md index f538a99c..8b137891 100644 --- a/Release/LICENSE.md +++ b/Release/LICENSE.md @@ -1,23 +1 @@ -All files are released under the MIT License: - The MIT License (MIT) - - Copyright (c) 2013-2016 PayPal Holdings, Inc. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. diff --git a/Release/README.md b/Release/README.md index c7f0fe0d..d3288029 100644 --- a/Release/README.md +++ b/Release/README.md @@ -339,3 +339,11 @@ Include a method to cancel card scanning: * For your users' security, [obscure your app's cached screenshots](https://viaforensics.com/resources/reports/best-practices-ios-android-secure-mobile-development/ios-avoid-cached-application-snapshots/). **Note:** By default, a `CardIOPaymentViewController` automatically blurs its own screens when the app is backgrounded. A `CardIOView` does not do any automatic blurring. * The first time that you create either a `CardIOPaymentViewController` or a `CardIOView`, the card.io SDK must load resources, which can result in a noticeable delay. To avoid this delay you may optionally call `[CardIOUtilities preload]` in advance, so that this resource loading occurs in advance on a background thread. + +##Contributors +Pull requests and new issues are welcome. See [CONTRIBUTING.md](CONTRIBUTING.md) for details. + +## License +Code released under [MIT LICENSE](LICENSE) + + diff --git a/Release/SampleApp-Swift/SampleApp-Swift/Images.xcassets/AppIcon.appiconset/Contents.json b/Release/SampleApp-Swift/SampleApp-Swift/Images.xcassets/AppIcon.appiconset/Contents.json index 36d2c80d..c1dc209e 100644 --- a/Release/SampleApp-Swift/SampleApp-Swift/Images.xcassets/AppIcon.appiconset/Contents.json +++ b/Release/SampleApp-Swift/SampleApp-Swift/Images.xcassets/AppIcon.appiconset/Contents.json @@ -65,4 +65,4 @@ "version" : 1, "author" : "xcode" } -} \ No newline at end of file +} diff --git a/Release/SampleApp-Swift/SampleApp-Swift/SampleApp-Swift-Bridging-Header.h b/Release/SampleApp-Swift/SampleApp-Swift/SampleApp-Swift-Bridging-Header.h index 59f57b01..57fd81d9 100644 --- a/Release/SampleApp-Swift/SampleApp-Swift/SampleApp-Swift-Bridging-Header.h +++ b/Release/SampleApp-Swift/SampleApp-Swift/SampleApp-Swift-Bridging-Header.h @@ -5,4 +5,4 @@ @import AVFoundation; @import CoreMedia; @import CoreVideo; -@import MobileCoreServices; \ No newline at end of file +@import MobileCoreServices; diff --git a/Release/SampleApp/ScanExample/ViewController.h b/Release/SampleApp/ScanExample/ViewController.h index e4e09ab4..cf996835 100644 --- a/Release/SampleApp/ScanExample/ViewController.h +++ b/Release/SampleApp/ScanExample/ViewController.h @@ -10,4 +10,4 @@ @interface ViewController : UIViewController -@end \ No newline at end of file +@end diff --git a/Release/release_notes.txt b/Release/release_notes.txt index be8fc268..8b137891 100644 --- a/Release/release_notes.txt +++ b/Release/release_notes.txt @@ -1,582 +1 @@ -card.io iOS SDK release notes -============================= -5.3.2 (Mon 04/11/2016) - -* Fix memory management issues with CMSampleBufferRef causing crash - ( https://github.com/card-io/card.io-iOS-SDK/issues/194 ) - -5.3.1 (Tue 01/26/2016) - -* Prevent an issue with crashes when an invalid IplImage is used for - scanning causing an exception to be thrown later in cvGetSize(). - ( https://github.com/card-io/card.io-iOS-source/pull/57 ) - -5.3.0 (Mon 12/21/2015) - -* Add cardholder name for manual text input. Thanks to Mark Rogers and - Martin Rybak for the contribution. - ( https://github.com/card-io/card.io-iOS-source/pull/45 ) -* Add option for only numeric input for postal code. - ( https://github.com/card-io/card.io-iOS-source/pull/51 ) - -5.2.2 (Tue 11/03/2015) - -* You will need to link the `Accelerate` framework to your application. -* Fix issue where an app would hang on card-scanning screen - ( https://github.com/card-io/card.io-iOS-SDK/issues/153 ) - If an app was displaying the card-scanning screen and was sent to the - background, when the app was brought back to the foreground, the - app would possibly hang on certain hardware, mainly iPhone 5S. -* Add Carthage support - ( https://github.com/card-io/card.io-iOS-source/pull/36 - https://github.com/card-io/card.io-iOS-source/issues/32 ) - Initial support for Carthage. In a Cartfile, you can add - `github "card-io/card.io-iOS-source"` - to get Carthage to build a dynamic framework for inclusion in your - projects. -* Fix warning while running in simulator for 5.2.1 - ( https://github.com/card-io/card.io-iOS-SDK/issues/154 ) - Add the x86_64 and i386 slices to the OpenCV libraries to prevent warnings. - This was also necesary for clean builds for Carthage. - -5.2.1 (Mon 10/19/2015) - -* Split CardIO and OpenCV libraries - (https://github.com/card-io/card.io-iOS-SDK/issues/147 - https://github.com/card-io/card.io-iOS-source/issues/41) - The library is built with Xcode 7.0 with Bitcode enabled for all 3 - libraries. The libraries are now split into 3 static libraries: - `libCardIO.a`, `libopencv_core.a`, and `libopencv_imgproc.a`. - This split was done to reduce the individual file size to make it - more managable for GitHub repositories which limit individual files to - 100 MB. - - Note that when an application is "Bitcode compiled" and distributed - by the App Store, the app size should not be signficantly increased - compared to before Bitcode enablement. - - You must use Xcode 7 since previous versions of Xcode are not fully - compatible with Bitcode enabled libraries. - --- - -5.2.0 (Wed 9/30/2015) - -* Enable Bitcode - (https://github.com/card-io/card.io-iOS-SDK/issues/119) - The library is now built with Xcode 7.0. It has Bitcode enabled which - does significantly increase the static library. However, when an app - is compiled and distributed by the App Store, the app size should not - significantly increase compared to before Bitcode enablement. You must also - use Xcode 7 since previous versions of Xcode are not fully compatible - with Bitcode enabled libraries. - --- - -5.1.1 (Wed 8/26/2015) - -* Update CocoaPods podspec to use `vendored_libraries`. - (https://github.com/card-io/card.io-iOS-SDK/pull/126) - --- - -5.1.0 (Sun 7/12/2015) - -* Update project and sample apps for Xcode 6.4. -* Expose `scannedImageDuration` in CardIOPaymentViewController. - (https://github.com/card-io/card.io-iOS-source/pull/29) -* Better respect UISupportedInterfaceOrientation from the app plist. - (https://github.com/card-io/card.io-iOS-SDK/issues/117) -* Fix iOS 9 crash by removing some obsolete localization code. - (https://github.com/card-io/card.io-iOS-SDK/issues/120) - --- - -5.0.6 (Thu 5/21/2015) - -* Prevent crash when user simultaneously taps `Cancel` and `Enter Manually` buttons. - (https://github.com/card-io/card.io-iOS-SDK/issues/112) - --- - -5.0.5 (Tue 5/19/2015) - -* Update Chinese translations for "CVV". - (https://github.com/paypal/PayPal-iOS-SDK/issues/278) -* Update project and sample apps for Xcode 6.3, but - build SDK with Xcode 6.2 this one last time to prevent - compatibility issues for clients still using Xcode 6.2. - --- - -5.0.4 (Tue 4/14/2015) - -* Check existing video permissions before presenting camera view. - (https://github.com/card-io/card.io-iOS-SDK/issues/99) -* Restrict expiry year manual input to 2 digits in all cases. - (https://github.com/card-io/card.io-iOS-SDK/issues/104) - --- - -5.0.3 (Tue 3/17/2015) - -* On scan cancelation, eliminate a visual stutter. - (https://github.com/card-io/card.io-iOS-SDK/issues/97) -* On scan completion, reset camera focus range to nonrestricted. - (https://github.com/card-io/card.io-iOS-source/issues/17) - --- - -5.0.2 (Mon 2/23/2015) - -* Re-enable expiry-scanning for 32-bit devices (e.g., iPhone 4S). - --- - -5.0.1 (Tue 2/10/2015) - -* Simplify expiry-scanning code to improve accuracy and also decrease library size a bit. -* For now, disable expiry-scanning for 32-bit devices (e.g., iPhone 4S). - - This is because of an apparent compiler bug for which we haven't yet found a workaround. - --- - -5.0.0 (Tue 1/20/2015) - -* Add automatic expiry-scanning. - You can disable this feature via the new `scanExpiry` property of either CardIOView or CardIOPaymentViewController. - Note: Expiry scans will not infrequently fail to obtain the correct expiry date. - We are continuing to work to improve expiry-scanning accuracy. -* Remove various deprecated properties. - --- - -4.0.2 (Tue 1/13/2015) - -* Fix an iOS 8 display issue involving right-to-left languages. (https://github.com/card-io/card.io-iOS-SDK/issues/90) -* In the manual-input screen combine Expiry and CVV into a single row, for more languages than before. - --- - -4.0.1 (Mon 1/5/2015) - -* Fix a potential rare crash. (see https://github.com/paypal/PayPal-iOS-SDK/issues/220 for a similar case) - --- - -4.0.0 (Mon 12/1/2014) - -* Build from the new open-source edition of card.io: https://github.com/card-io/card.io-iOS-source -* New class: CardIOUtilities - - libraryVersion (formerly a method of CardIOPaymentViewController) - - canReadCardWithCamera (formerly a method of CardIOPaymentViewController) - - preload (formerly a method of CardIOView and of CardIOPaymentViewController) - - blurredScreenImageView (new method) -* New property on CardIOCreditCardInfo: - - cardImage -* New properties on CardIOView and CardIOPaymentViewController: - - scanInstructions - - hideCardIOLogo - - scanOverlayView - - detectionMode -* New notification: - - CardIOScanningOrientationDidChangeNotification - --- - -3.10.1 (Wed 11/5/2014) - -* Restore App Token as a deprecated property, so that existing card.io integrations will continue to build without modification. - --- - -3.10.0 (Thu 10/2/2014) - -* Eliminate App Token. Developers no longer need to sign up on the card.io site before using card.io. -* Add Icelandic (is) to our supported localizations. (Thank you, Martin Kaplan!) - --- - -3.9.0 (Tue 9/23/2014) - -* Add new optional method `preload` to noticeably speed up the creation of your first CardIOView or CardIOPaymentViewController. - --- - -3.8.7 (Tue 9/16/2014) - -* Fix a crash that could occur if a user has restricted your app's camera access. - --- - -3.8.6 (Fri 9/12/2014) - -* Solve (hopefully!) a build problem for Xcode 5 users. (see https://github.com/card-io/card.io-iOS-SDK/issues/66) - --- - -3.8.5 (Thu 9/11/2014) - -* Add armv7s slice (work around an Xcode 6 bug). - --- - -3.8.4 (Wed 9/10/2014) - -* Build with Xcode 6 GM seed. -* Update a few localized strings. (including: https://github.com/card-io/card.io-iOS-SDK/issues/65) - --- - -3.8.3 (Tue 7/8/2014) - -* Fix a very rare problem involving the app caches directory getting cleared. (see https://github.com/paypal/PayPal-iOS-SDK/issues/163) - --- - -3.8.2 (Thu 7/3/2014) - -* Fix some localization issues. (see https://github.com/paypal/PayPal-iOS-SDK/issues/164) - --- - -3.8.1 (Thu 6/19/2014) - -* Fix an iOS 8 (beta 2) crash. - --- - -3.8.0 (Wed 6/11/2014) - -* Accept Diners Club and China UnionPay card numbers as valid Discover card numbers. -* Allow manual entry of card numbers with unrecognized prefixes, as long as the card number passes the Luhn checksum test. -* Make zh-Hant_HK the default dialect for zh-Hant (Traditional Chinese). (zh-Hant_TW remains available, as well.) - --- - -3.7.1 (Mon 5/19/2014) - -* Improve handling of Traditional Chinese. (github issue #47) - --- - -3.7.0 (Wed 4/30/2014) - -* Add new maskManualEntryDigits property to CardIOPaymentViewController. -* Update PayPal logo. - --- - -3.6.5 (Mon 4/21/2014) - -* Add Thai (th) to our supported localizations. - --- - -3.6.4 (Tue 4/1/2014) - -* When the data-entry screen appears, automatically enter text-editing mode. (github issue #41) - --- - -3.6.3 (Mon 3/10/2014) - -* Repair the disableManualEntryButtons property. (github issue #38) - --- - -3.6.2 (Fri 3/7/2014) - -* Fix an orientation glitch when no camera is available. - --- - -3.6.1 (Thu 3/6/2014) - -* Fix a compiler issue caused by a change in header file import ordering. - --- - -3.6.0 (Thu 3/6/2014) - -* New appearance of the "Cancel" and "Enter Manually" buttons in camera view, including automatic button rotation to match device orientation. -* New property, allowFreelyRotatingCardGuide, for both CardIOPaymentViewController and CardIOView; provides the option to constrain camera-view UI rotation to follow standard iOS behavior. -* The manual entry screen now includes a landscape orientation. - --- - -3.5.0 (Wed 2/26/2014) - -* Add suppressScannedCardImage property to CardIOPaymentViewController (github issue #33) - --- - -3.4.4 (Tue 1/14/2014) - -* Fix two very rare bugs: - - Card-scan succeeds, but then reports a nil card number; - - Card-scan completes while the camera focus is being adjusted -> crash. - --- - -3.4.3 (Thu 12/12/2013) - -* Restore use of CardIOView, which was accidentally broken in release 3.4.1. - --- - -3.4.2 (Wed 12/11/2013) - -* Enable linking against iOS 6 SDK, for apps not yet targeted at iOS 7. -* Add Arabic (ar) and Malay (ms) to our supported localizations. -* Fix a memory leak when a user rapidly and repeatedly starts camera sessions. - --- - -3.4.1 (Thu 12/05/2013) - -* Respect the setting for UIViewControllerBasedStatusBarAppearance in your app's Info.plist -* Enable copy/paste for the manual-entry fields. -* Improve the handling of right-to-left languages (e.g., Hebrew). - --- - -3.4.0 (Tue 11/12/2013) - -* Now 64-bit compatible. - --- - -3.3.0 (Tue 9/24/2013) - -* Introduce CardIOView for highly customizable, scan-only integration. -* Fix a few small bugs. - --- - -3.2.4 (Mon 9/16/2013) - -* Build with Xcode 5 GM seed. -* Modify header comments to support Xcode 5 Quick Help. -* Fix a few small bugs. - --- - -3.2.3 (Thu 8/29/2013) - -* Ready for iOS 7 (please let us know if you discover any issues!) -* Additional customizability in CardIOPaymentViewController: - - guideColor - - suppressScanConfirmation -* The former first-time/how-to alert is no more. -* Add human-readable version number to the string returned by +libraryVersion. -* Correct a Russian localization issue (github issue #13). - --- - -3.2.2 (Thu 8/8/2013) - -* Change all uses of ZIP to postalCode. -* Fix a bug with translucent navigation bar (github issue #8). -* Fix a bug with MKMapKit (github issue #10). -* Add card.io version number to all header files (github issue #1). - --- - -3.2.1 (Mon 7/29/2013) - -* Fix a rotation issue for apps which constrain their Supported Interface Orientations. -* Add ko, pt_BR, and es_MX to our supported localizations. - --- - -3.2.0 (Thu 5/30/2013) - -* Update the required C++ Standard Library from libstdc++ to libc++ - - NOTE: this will probably require a corresponding change to your app's - "Other Linker Flags", from "-lstdc++" to "-lc++". - (If you still need libstdc++ for a component other than card.io, - you should be able to specify BOTH "-lstdc++" AND "-lc++".) - ---- - -3.1.1 (Wed 5/15/2013) - -* Fix torch-related crash on certain devices (particularly including some models of iPod Touch) - ---- - -3.1.0 (Tue 5/14/2013) - -* Add translations of all strings into ~20 languages, in addition to American English. - - Translation choice is controlled by a new "languageOrLocale" property of CardIOPaymentViewController. - - The translations that a few developers had previously created for their own apps will no longer be used by the SDK. - - NOTE: Default language, if not set by your app, will now be based upon the device's current language setting. -* Automatic control of the camera torch (for devices which support it). - ---- - -3.0.11 (Fri 4/5/2013) - -* Add work-around for a linker bug that affected some simulator builds. - ---- - -3.0.10 (Thu 4/4/2013) - -* Improve performance when card is lying on a flat surface. -* Blur screen when app is backgrounded, for security purposes. -* Eliminate some rare crashes caused by backgrounding the app during a scan. - ---- - -3.0.9 (Fri 3/22/2013) - -* CardIOCreditCardTypeUnknown has been deprecated and will be removed in a future release. - Use CardIOCreditCardTypeUnrecognized or CardIOCreditCardTypeAmbiguous instead. -* Improved autofocus behavior. -* Fix final iPad rotation bugs. (Really!) - ---- - -3.0.8 (Tue 3/5/2013) - -* Add +logoForCardType: to CardIOCreditCardInfo. -* Fix yet more iPad rotation bugs. (Sigh.) - ---- - -3.0.7 (Thu 2/21/2013) - -* Add useCardIOLogo property to CardIOPaymentViewController. -* Fix iPad rotation support for landscape-only iPad apps. -* Improve credit card number validation. - ---- - -3.0.6 (Mon 2/11/2013) - -* Add keepStatusBarStyle, navigationBarStyle, and navigationBarTintColor properties to CardIOPaymentViewController. -* Minor accessibility improvements. -* Fix crash when used with MapKit due to OpenGL interactions. - ---- - -3.0.5 (Tue 1/29/2013) - -* Fix simulator-only linker failure. - ---- - -3.0.4 (Tue 1/22/2013) - -* Now requires iOS 5+. -* Improve iPad rotation support. - ---- - -3.0.3 (Mon 12/3/2012) - -* Fix iOS 6 rotation bug. -* Improve UI for iPhone 5 and iPad. -* Reduce network chatter. -* Switch to PayPal logo. - ---- - -3.0.2 (Mon 9/17/2012) - -* Add armv7s support. Remove armv6 support. - ---- - -3.0.1 (Wed 8/29/2012) - -* Fix Simulator build issues. -* Minor bug fixes. - ---- - -3.0 (Tue 8/21/2012) - -* Card scanning can now be done without network access. -* The SDK now requires the OpenGLES framework. -* The SDK no longer requires the SystemConfiguration framework. -* Minor UI updates. -* Expiry is not scanned in this version. -* Scan availability notifications have been removed; scan availability no longer changes (a device either supports - scanning or not), so notifications are unnecessary. In particular, CardIOPaymentViewController's - +beginGeneratingScanAvailabilityNotifications, +endGeneratingScanAvailabilityNotifications, - CardIOCardScanningDidBecomeAvailable, and CardIOCardScanningDidBecomeUnavailable have been removed. - ---- - -2.3 (Tue 6/26/2012) - -* Add JCB support. -* Add scanned property to CardIOCreditCardInfo. -* Replace CardIOPaymentViewController's -initWithPaymentDelegate:forceManualEntry: with -initWithPaymentDelegate:scanningEnabled:. As before, this method should only be used for testing purposes. Note that the semantics for forceManualEntry: and scanningEnabled: are flipped (if you were using YES, now use NO). -* Remove support for payment processing (now scan only). -* The MessageUI framework is no longer used. - -------------- - -2.2 (Mon 3/26/2012) - -* Add disableManualEntryButtons and supporting methods to CardIOPaymentViewController. -* Remove calls to UIDevice's uniqueIdentifier. - -------------- - -2.1 (Tue 2/7/2012) - -* Drop support for 3.x. The minimum iOS version supported is now 4.0. -* The SDK now requires the Security framework. -* Minor UI and usability improvements. -* Bug fixes. -* Enhanced fraud detection and security. - -------------- - -2.0 (Thu 1/19/2012) - -* Added payment processing capabilities. See CardIO.h for a list of header files, and https://www.card.io/integrate/ios for integration instructions and sample code. -* Removed deprecated CardIOPaymentViewControllerDelegate methods. -* CardIOCreditCardInfo now implements NSCopying and uses copy properties. -* CardIOPaymentViewController can now be used in a form sheet on the iPad. -* UI improvements and bug fixes. - -------------- - -1.2 (Thu 8/24/2011) - -* Easier integration: Instead of requiring files to be Objective-C++ (.mm), you can just use the linker flag -lstdc++ (add it to "Other Linker Flags"). -* Added -redactedCardNumber to CardIOCreditCardInfo class. -* Improved card detection. -* Fixed minor memory leak. -* Minor data entry bug fixes. - -------------- - -1.1.1 (Wed 8/3/2011) - -* Bug fix: Returned card number no longer contains spaces. -* Several manual entry bug fixes. - -------------- - -1.1 (Wed 7/27/2011) - -* Added CardIOCreditCardInfo class. This is a data class that encapsulates the properties of a card: number, expiration, cvv, card type, etc. -* CardIOPaymentViewControllerDelegate now vends CardIOCreditCardInfo instances. -* Deprecated userDidProvideCreditCardNumber:expiryMonth:expiryYear:cvv:inPaymentViewController: in favor of userDidProvideCreditCardInfo:inPaymentViewController:. -* Added ability to optionally collect any/all of expiry, cvv, and zip code. (Previously, expiry was always collected and cvv was optional.) -* Improved capture frame rate. -* Usability improvements to manual entry. - -------------- - -1.0 (Tue 5/17/2011) - -* First release. diff --git a/fabfile.py b/fabfile.py index 2690c723..67e7298c 100755 --- a/fabfile.py +++ b/fabfile.py @@ -227,10 +227,10 @@ def build(outdir=None, device_sdk=None, simulator_sdk=None, **kwargs): shutil.copy2(libfile, cardio_dir) release_dir = os.path.join(icc_root, "Release") - shutil.copy2(os.path.join(release_dir, "release_notes.txt"), sdk_dir) + shutil.copy2(os.path.join(release_dir, "CHANGELOG.md"), sdk_dir) shutil.copy2(os.path.join(release_dir, "CardIO.podspec"), sdk_dir) shutil.copy2(os.path.join(release_dir, "acknowledgments.md"), sdk_dir) - shutil.copy2(os.path.join(release_dir, "LICENSE.md"), sdk_dir) + shutil.copy2(os.path.join(release_dir, "LICENSE"), sdk_dir) shutil.copy2(os.path.join(release_dir, "README.md"), sdk_dir) shutil.copytree(os.path.join(release_dir, "SampleApp"), os.path.join(sdk_dir, "SampleApp"), ignore=shutil.ignore_patterns(".DS_Store")) shutil.copytree(os.path.join(release_dir, "SampleApp-Swift"), os.path.join(sdk_dir, "SampleApp-Swift"), ignore=shutil.ignore_patterns(".DS_Store")) diff --git a/releasinator.sh b/releasinator.sh new file mode 100755 index 00000000..221aa07f --- /dev/null +++ b/releasinator.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +# to make virtualenvwrapper to work . different people are keeping this file on different placess +source /usr/local/bin/virtualenvwrapper.sh +source /opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenvwrapper.sh + +#build commands +mkvirtualenv cardio +pip install -r pip_requirements.txt +touch .baler_env +echo 'export PATH=$PATH:~/.virtualenvs/cardio/bin' > .baler_env +git tag -a iOS_$VERSION -m iOS_$VERSION +fab build:outdir=. diff --git a/scripts/downscale2x.sh b/scripts/downscale2x.sh index fc386469..246e7050 100755 --- a/scripts/downscale2x.sh +++ b/scripts/downscale2x.sh @@ -54,4 +54,4 @@ eval $cmd || echo "$cmd failed" cmd="[ $compressed_dir ] && rm -rf $compressed_dir" eval $cmd || echo "$cmd failed" -echo "done." \ No newline at end of file +echo "done." diff --git a/scripts/string_scripts/__init__.py b/scripts/string_scripts/__init__.py index e69de29b..8b137891 100644 --- a/scripts/string_scripts/__init__.py +++ b/scripts/string_scripts/__init__.py @@ -0,0 +1 @@ + From a72da791e6f30a69484778164ff1d00c370b9df6 Mon Sep 17 00:00:00 2001 From: Jeff Brateman Date: Tue, 6 Sep 2016 20:19:54 -0500 Subject: [PATCH 2/2] fix duplicate changelog in cordova bug --- .releasinator.rb | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.releasinator.rb b/.releasinator.rb index 1fa8af4b..758610c4 100644 --- a/.releasinator.rb +++ b/.releasinator.rb @@ -92,9 +92,7 @@ def add_content_to_file (filepath, location, new_content) def update_cordova_plugin_release_notes(new_version) current_changelog = @current_release.changelog.dup - add_content_to_file("CHANGELOG.md", "===================================", "TODO\n") - add_content_to_file("CHANGELOG.md", "TODO", "-----\n") - add_content_to_file("CHANGELOG.md", "-----", (current_changelog.gsub! /^\*/,'* iOS:')+"\n\n") + add_content_to_file("CHANGELOG.md", "===================================", "TODO\n-----\n" + (current_changelog.gsub! /^\*/,'* iOS:')+"\n\n") end def build_app()