Swiftpack.co - Swift Packages by pinterest

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.

Packages published by pinterest

pinterest/PINRemoteImage releases/p12.17
A thread safe, performant, feature rich image fetcher
⭐️ 3,997
🕓 5 days ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
3.0.3
3 years ago
# Changelog ## [3.0.3](https://github.com/Pinterest/PINRemoteImage/tree/3.0.3) (2020-10-23) [Full Changelog](https://github.com/Pinterest/PINRemoteImage/compare/3.0.2...3.0.3) - Fixes macOS build on newer versions of Xcode [\#581](https://github.com/pinterest/PINRemoteImage/pull/581) ([garrettmoon](https://github.com/garrettmoon))
3.0.2
3 years ago
# Changelog ## [3.0.2](https://github.com/Pinterest/PINRemoteImage/tree/3.0.2) (2020-10-22) [Full Changelog](https://github.com/Pinterest/PINRemoteImage/compare/3.0.1...3.0.2) - Add support for automated releases [\#580](https://github.com/pinterest/PINRemoteImage/pull/580) ([garrettmoon](https://github.com/garrettmoon)) - Fix imports for non-SPM [\#579](https://github.com/pinterest/PINRemoteImage/pull/579) ([garrettmoon](https://github.com/garrettmoon)) - Moves to an .xcworkspace so we don't imbed subprojects [\#575](https://github.com/pinterest/PINRemoteImage/pull/575) ([garrettmoon](https://github.com/garrettmoon)) - SPM define [\#574](https://github.com/pinterest/PINRemoteImage/pull/574) ([3a4oT](https://github.com/3a4oT)) - SPM - Objective-C++ consumers fix [\#573](https://github.com/pinterest/PINRemoteImage/pull/573) ([3a4oT](https://github.com/3a4oT)) - Use proper units when setting preferredFramesPerSecond [\#572](https://github.com/pinterest/PINRemoteImage/pull/572) ([bdolman](https://github.com/bdolman)) - SPM support [\#571](https://github.com/pinterest/PINRemoteImage/pull/571) ([3a4oT](https://github.com/3a4oT)) - fix: build error when using multiproject config [\#569](https://github.com/pinterest/PINRemoteImage/pull/569) ([hendych](https://github.com/hendych)) - Integrated UIGraphicsImageRenderer for iOS/tvOS 10.0 and above [\#549](https://github.com/pinterest/PINRemoteImage/pull/549) ([IHEARTCOOKIES](https://github.com/IHEARTCOOKIES))
3.0.1 Xcode 12
3 years ago
## [3.0.1](https://github.com/Pinterest/PINRemoteImage/tree/3.0.1) (2020-09-08) [Full Changelog](https://github.com/Pinterest/PINRemoteImage/compare/3.0.0...3.0.1) **Merged pull requests:** - Update PINCache in podspec [\#564](https://github.com/pinterest/PINRemoteImage/pull/564) ([garrettmoon](https://github.com/garrettmoon)) - Update PINCache and PINOperation [\#562](https://github.com/pinterest/PINRemoteImage/pull/562) ([garrettmoon](https://github.com/garrettmoon)) - Let's use the same commands we use locally. [\#561](https://github.com/pinterest/PINRemoteImage/pull/561) ([garrettmoon](https://github.com/garrettmoon)) - Ensure the example defines the macros before referencing them. [\#557](https://github.com/pinterest/PINRemoteImage/pull/557) ([bolsinga](https://github.com/bolsinga)) - Remove the PCH file and ensure macros are defined before using [\#556](https://github.com/pinterest/PINRemoteImage/pull/556) ([bolsinga](https://github.com/bolsinga)) - Seems that having the framework and example have the same name confuses cocoapods [\#555](https://github.com/pinterest/PINRemoteImage/pull/555) ([garrettmoon](https://github.com/garrettmoon)) - Upgrade WebP to 1.1.0 [\#554](https://github.com/pinterest/PINRemoteImage/pull/554) ([garrettmoon](https://github.com/garrettmoon)) - Conditionally call CADisplayLink method based upon iOS10 availability to remove deprecation warning [\#552](https://github.com/pinterest/PINRemoteImage/pull/552) ([bolsinga](https://github.com/bolsinga)) - Fix typos [\#548](https://github.com/pinterest/PINRemoteImage/pull/548) ([pgrimaud](https://github.com/pgrimaud)) - Remove unused CI directory [\#547](https://github.com/pinterest/PINRemoteImage/pull/547) ([jparise](https://github.com/jparise)) - PINCachedAnimatedImage: Fix retain cycles [\#546](https://github.com/pinterest/PINRemoteImage/pull/546) ([bolsinga](https://github.com/bolsinga)) - Fix up analyze for new github CI [\#545](https://github.com/pinterest/PINRemoteImage/pull/545) ([garrettmoon](https://github.com/garrettmoon)) - Switch to GitHub Actions for CI [\#544](https://github.com/pinterest/PINRemoteImage/pull/544) ([jparise](https://github.com/jparise)) - \#trivial Fix performance issue caused by saving encoded image data to memory cache [\#539](https://github.com/pinterest/PINRemoteImage/pull/539) ([Naituw](https://github.com/Naituw)) - Update 3.0.0 change log and podspec [\#537](https://github.com/pinterest/PINRemoteImage/pull/537) ([ernestmama](https://github.com/ernestmama)) - Fix memory cache content in README [\#530](https://github.com/pinterest/PINRemoteImage/pull/530) ([OhKanghoon](https://github.com/OhKanghoon)) - Refactor remote manager task for uuid method [\#526](https://github.com/pinterest/PINRemoteImage/pull/526) ([zhongwuzw](https://github.com/zhongwuzw)) - Burst Animated Image speed of frame index search [\#523](https://github.com/pinterest/PINRemoteImage/pull/523) ([zhongwuzw](https://github.com/zhongwuzw)) - Set HTTPMaximumConnectionsPerHost to PINRemoteImageHTTPMaximumConnectionsPerHost only if user don't provide sessionConfiguration [\#516](https://github.com/pinterest/PINRemoteImage/pull/516) ([zhongwuzw](https://github.com/zhongwuzw)) - Fixes re-downloading data corrupt for the same url [\#514](https://github.com/pinterest/PINRemoteImage/pull/514) ([zhongwuzw](https://github.com/zhongwuzw))
3.0.0 Finally!
4 years ago
- [new] Add PINRemoteImageManagerConfiguration configuration object. [#492](https://github.com/pinterest/PINRemoteImage/pull/492) [rqueue](https://github.com/rqueue) - [fixed] Fixes blending in animated WebP images. [#507](https://github.com/pinterest/PINRemoteImage/pull/507) [garrettmoon](https://github.com/garrettmoon) - [fixed] Fixes support in PINAnimatedImageView for WebP animated images. [#507](https://github.com/pinterest/PINRemoteImage/pull/507) [garrettmoon](https://github.com/garrettmoon) - [new] Exposure didCompleteTask:withError: delegate method of protocol PINURLSessionManagerDelegate. [#519](https://github.com/pinterest/PINRemoteImage/pull/519) [zhongwuzw](https://github.com/zhongwuzw) - [fixed] Fixes AnimatedImageView designated initializer not work. [#512](https://github.com/pinterest/PINRemoteImage/pull/512) [zhongwuzw](https://github.com/zhongwuzw) - [fixed] Set bpp(bits per pixel) to 32 bit for GIF. [#511](https://github.com/pinterest/PINRemoteImage/pull/511) [zhongwuzw](https://github.com/zhongwuzw) - [new] Add cancel method for PINRemoteImageManager. [#509](https://github.com/pinterest/PINRemoteImage/pull/509) [zhongwuzw](https://github.com/zhongwuzw) - [fixed] Fixes build error when using Xcode 10.2.1. [#524](https://github.com/pinterest/PINRemoteImage/pull/524) [ANNotunzdY](https://github.com/ANNotunzdY)
Fixes galore!
5 years ago
- [new] Allow use of NSURLCache via a custom NSURLSession [#477](https://github.com/pinterest/PINRemoteImage/pull/477) [wiseoldduck](https://github.com/wiseoldduck) - [new] Respect Cache-Control and Expires headers if the cache supports TTL. [#462](https://github.com/pinterest/PINRemoteImage/pull/462) [wiseoldduck](https://github.com/wiseoldduck) - [new] Updated to latest PINCache beta 7. [#461](https://github.com/pinterest/PINRemoteImage/pull/461) [wiseoldduck](https://github.com/wiseoldduck) - [iOS11] Fix warnings [#428](https://github.com/pinterest/PINRemoteImage/pull/428) [Eke](https://github.com/Eke) - [new / beta] Native Support for GIFs and animated WebP [#453](https://github.com/pinterest/PINRemoteImage/pull/453) [garrettmoon](https://github.com/garrettmoon) - [new] Add support for getting NSURLSessionMetrics back. [#456](https://github.com/pinterest/PINRemoteImage/pull/456) [garrettmoon](https://github.com/garrettmoon) - [removed] Removed support for FLAnimatedImage [#453](https://github.com/pinterest/PINRemoteImage/pull/453) [garrettmoon](https://github.com/garrettmoon) - [new] Add support for higher frame rate devices to animated images. [#417](https://github.com/pinterest/PINRemoteImage/pull/417) [garrettmoon](https://github.com/garrettmoon) - [fixed] Fixes non-animated GIFs being delivered as an animated image. [#434](https://github.com/pinterest/PINRemoteImage/pull/434) [garrettmoon](https://github.com/garrettmoon) - [fixed] Fixes a bug where using PINRemoteImageBasicCache would cause images to be decoded on the main thread. [#457](https://github.com/pinterest/PINRemoteImage/pull/457) [kgaidis](https://github.com/kgaidis) - [cleanup] Remove unused code that supported iOS < 7. [#435](https://github.com/pinterest/PINRemoteImage/pull/435) [Adlai-Holler](https://github.com/Adlai-Holler) - [cleanup] Use NS_ERROR_ENUM to improve Swift import. [#440](https://github.com/pinterest/PINRemoteImage/pull/440) [Adlai-Holler](https://github.com/Adlai-Holler) - [fixed] Fixes nil session manager configuration. [#460](https://github.com/pinterest/PINRemoteImage/pull/460) [garrettmoon](https://github.com/garrettmoon) - [fixed] Fixes deprecated -defaultImageCache not being called if overridden. [479](https://github.com/pinterest/PINRemoteImage/pull/479) [nguyenhuy](https://github.com/nguyenhuy) - [new] Add a new API that allows a priority to be set when a new download task is scheduled. [#490](https://github.com/pinterest/PINRemoteImage/pull/490) [nguyenhuy](https://github.com/nguyenhuy)
3.0 beta 13: Animated WebP support / better GIF handling
6 years ago
- [new] Support for webp and improved support for GIFs. [#411](https://github.com/pinterest/PINRemoteImage/pull/411) [garrettmoon](https://github.com/garrettmoon) - [new] Added back tvOS support through a new target [#408](https://github.com/pinterest/PINRemoteImage/pull/408) [jverdi](https://github.com/jverdi) - [refactor] Refactor out KVO on NSURLSessionTask to avoid Apple crashes. [#410](https://github.com/pinterest/PINRemoteImage/pull/410) [garrettmoon](https://github.com/garrettmoon)
3.0 beta 12
6 years ago
- [**new**] Added a way to specify custom retry logic when network error happens [#386](https://github.com/pinterest/PINRemoteImage/pull/386) - [**new**] Improve disk cache migration performance [#391](https://github.com/pinterest/PINRemoteImage/pull/391) [chuganzy](https://github.com/chuganzy), [#394](https://github.com/pinterest/PINRemoteImage/pull/394) [nguyenhuy](https://github.com/nguyenhuy) - [**new**] Adds support for using cell vs. wifi in leau of speed for determing which URL to download if speed is unavailable. [garrettmoon](https://github.com/garrettmoon) - [**new**] Uses BPS minus time to first byte for deciding which of a set of URLs to download. [garrettmoon](https://github.com/garrettmoon) - [**fixed**] Fixes an edge case when image returned with 404 response, we now treat it as image instead of error [#399](https://github.com/pinterest/PINRemoteImage/pull/396) [maxwang](https://github.com/wsdwsd0829)
3.0 Beta 11
6 years ago
Beta 11 has a bunch of bug fixes as well some new features: - [**new**] PINRemoteImageManager now respects the request timeout value of session configuration. [garrettmoon](https://github.com/garrettmoon) - [**new**] Added support for getting NSURLResponse from a PINRemoteImageManagerResult object. [garrettmoon](https://github.com/garrettmoon) - [**new**] Updated to latest PINCache beta 5. [garrettmoon](https://github.com/garrettmoon) - [**fixed**] Fixes a deadlock with canceling processor tasks [#374](https://github.com/pinterest/PINRemoteImage/pull/374) [zachwaugh](https://github.com/zachwaugh) - [**fixed**] Fixes a deadlock in the retry system. [garrettmoon](https://github.com/garrettmoon) - [**fixed**] Fixes a threadsafety issue in accessing callbacks. [garrettmoon](https://github.com/garrettmoon) - [**fixed**] Fixes a crash with resumed downloads when a key is long. [garrettmoon](https://github.com/garrettmoon)
3.0 Beta 10
6 years ago
Beta 10 is mostly a bug fix release with one new feature: - [new] Added support (in iOS 10) for skipping cancelation if the estimated amount of time to complete the download is less than the average time to first byte for a host. [#364](https://github.com/pinterest/PINRemoteImage/pull/364) [garrettmoon](http://github.com/garrettmoon) - [fixed] Fixes an issue where PINResume would assert because the server didn't return an expected content length. - [fixed] Fixed bytes per second on download tasks (which could affect if an image is progressively rendered) [#360](https://github.com/pinterest/PINRemoteImage/pull/360) [garrettmoon](https://github.com/garrettmoon) - [new] Added request configuration handler to allow customizing HTTP headers per request [#355](https://github.com/pinterest/PINRemoteImage/pull/355) [zachwaugh](https://github.com/zachwaugh) - [fixed] Moved storage of resume data to disk from memory. [garrettmoon](https://github.com/garrettmoon) - [fixed] Hopefully fixes crashes occuring in PINURLSessionManager on iOS 9. [garrettmoon](https://github.com/garrettmoon)
Beta 9: Support for resuming downloads, faster operation queue
7 years ago
Included in Beta 9 is one big feature and one big performance improvement: - **New** support for resuming canceled downloads. If you call `cancelTaskWithUUID:storeResumeData:` you can specify that any data already downloaded be stored in the memory cache. If you later attempt to download the image at the URL again, it will resume where it left off. (#331) Caveats: - Resume data is only stored in the memory cache, not the disk cache - Your server must support resuming downloads by responding to requests with the Accept-Range header == bytes and providing either an ETag header or a Last-Modified header. - **Performance** switch to PINOperationQueue from NSOperationQueue which turned out to take a lot of the time PINRemoteImage used on the main thread. (#338, #326, #329)
iOS macOS tvOS
pinterest/PINCache releases/p12.17
Fast, non-deadlocking parallel object cache for iOS, tvOS and OS X
⭐️ 2,641
🕓 5 days ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
3.0.3
3 years ago
# Changelog ## [3.0.3](https://github.com/Pinterest/PINCache/tree/3.0.3) (2020-10-22) [Full Changelog](https://github.com/Pinterest/PINCache/compare/3.0.2...3.0.3) - Update PINOperation to fix imports [\#293](https://github.com/pinterest/PINCache/pull/293) ([garrettmoon](https://github.com/garrettmoon)) - Add support for automated releases [\#292](https://github.com/pinterest/PINCache/pull/292) ([garrettmoon](https://github.com/garrettmoon)) - Fix up imports [\#290](https://github.com/pinterest/PINCache/pull/290) ([garrettmoon](https://github.com/garrettmoon)) - Fix build issues by removing nested PINOperation.xcodeproj [\#282](https://github.com/pinterest/PINCache/pull/282) ([elliottwilliams](https://github.com/elliottwilliams))
Swift Package Manager Support
3 years ago
## [3.0.2](https://github.com/Pinterest/PINCache/tree/3.0.2) (2020-10-06) [Full Changelog](https://github.com/Pinterest/PINCache/compare/3.0.1...3.0.2) **Merged pull requests:** - Update checkout action [\#287](https://github.com/pinterest/PINCache/pull/287) ([garrettmoon](https://github.com/garrettmoon)) - Use make commands on the CI so it actually fails [\#286](https://github.com/pinterest/PINCache/pull/286) ([garrettmoon](https://github.com/garrettmoon)) - Added SPM support [\#283](https://github.com/pinterest/PINCache/pull/283) ([3a4oT](https://github.com/3a4oT)) - Fix PINCaching compiling in Xcode 12.0b6 \(\#275\) [\#281](https://github.com/pinterest/PINCache/pull/281) ([sagesse-cn](https://github.com/sagesse-cn))
3.0! (technically 3.0.1)
3 years ago
This release contains breaking changes! 3.0 (actually 3.0.1) contains numerous enhancements and changes, most prominent: - Fixes building with Xcode 12. - Adds support for TTL (time to live caches). - Numerous performance enhancements. - Custom object serializer/deserializer. - PINCaching protocol. - Did we mention performance enhancements? ## [3.0.1](https://github.com/Pinterest/PINCache/tree/3.0.1) (2020-08-20) [Full Changelog](https://github.com/Pinterest/PINCache/compare/3.0.1-beta.8...3.0.1) **Implemented enhancements:** - Support Catalyst [\#272](https://github.com/pinterest/PINCache/pull/272) ([cgmaier](https://github.com/cgmaier)) **Merged pull requests:** - Update PINOperation [\#277](https://github.com/pinterest/PINCache/pull/277) ([garrettmoon](https://github.com/garrettmoon)) - Fix PINCacheTests compiling in Xcode 12.0b4 [\#276](https://github.com/pinterest/PINCache/pull/276) ([arangato](https://github.com/arangato)) - Remove BUCK files [\#274](https://github.com/pinterest/PINCache/pull/274) ([adlerj](https://github.com/adlerj)) - Fix compiling in Xcode 12.0b4 [\#273](https://github.com/pinterest/PINCache/pull/273) ([zacwest](https://github.com/zacwest)) - Fix the grammar in an assertion failure message [\#270](https://github.com/pinterest/PINCache/pull/270) ([jparise](https://github.com/jparise)) - Add Carthage for watchOS, fix macOS min deployment target version [\#269](https://github.com/pinterest/PINCache/pull/269) ([dreampiggy](https://github.com/dreampiggy)) - Remove the unused CI directory [\#265](https://github.com/pinterest/PINCache/pull/265) ([jparise](https://github.com/jparise)) - Fix up analyze for github CI [\#264](https://github.com/pinterest/PINCache/pull/264) ([garrettmoon](https://github.com/garrettmoon)) - Use correct class name in NSAssert\(\) messages [\#263](https://github.com/pinterest/PINCache/pull/263) ([jparise](https://github.com/jparise)) - Check fileURL outside of the locked scope [\#262](https://github.com/pinterest/PINCache/pull/262) ([jparise](https://github.com/jparise)) - Remove Danger from the project [\#261](https://github.com/pinterest/PINCache/pull/261) ([jparise](https://github.com/jparise)) - Switch to GitHub Actions for CI [\#259](https://github.com/pinterest/PINCache/pull/259) ([jparise](https://github.com/jparise)) - Test that the "remove object" blocks are called [\#258](https://github.com/pinterest/PINCache/pull/258) ([jparise](https://github.com/jparise)) - Discrepancy between Header Comment and Implementation \#trivial [\#257](https://github.com/pinterest/PINCache/pull/257) ([jlaws](https://github.com/jlaws)) - Optimization `PINMemoryCache` trim to date [\#252](https://github.com/pinterest/PINCache/pull/252) ([kinarobin](https://github.com/kinarobin)) - Optimize `PINMemoryCache` remove objects when receive memory warning notification [\#251](https://github.com/pinterest/PINCache/pull/251) ([kinarobin](https://github.com/kinarobin)) ## 3.0.1 -- Beta 8 - [fix] Initing PINCache with TTL enabled should enable TTL on PINMemoryCache. [#246](https://github.com/pinterest/PINCache/pull/246) - [performance] Return TTL cache objects without waiting for all metadata to be read. [#228](https://github.com/pinterest/PINCache/pull/228) - [performance] Memory cache now performs some tasks such as trimming and removing experied objects with low priority. [#234](https://github.com/pinterest/PINCache/pull/234) ## 3.0.1 -- Beta 7 - [fix] Fix up warnings and upgrade to PINOperation 1.1.1: [#213](https://github.com/pinterest/PINCache/pull/213) - [performance] Reduce locking churn in cleanup methods. [#212](https://github.com/pinterest/PINCache/pull/212) - [fix] Don't set file protection unless requested. [#220](https://github.com/pinterest/PINCache/pull/220) - [new] Add ability to set an object level TTL: [#209](https://github.com/pinterest/PINCache/pull/209) - [performance] Improve performance of age limit trimming: [#224](https://github.com/pinterest/PINCache/pull/224) ## 3.0.1 -- Beta 6 - [fix] Add some sane limits to the disk cache: [#201]https://github.com/pinterest/PINCache/pull/201 - [new] Update enumeration methods to allow a stop flag to be flipped by caller: [#204](https://github.com/pinterest/PINCache/pull/204) - [performance] Improves cache miss performance by ~2 orders of magnitude on device: [#202](https://github.com/pinterest/PINCache/pull/202) - [performance] Significantly improve startup performance: [#203](https://github.com/pinterest/PINCache/pull/203) ## 3.0.1 -- Beta 5 - [fix] Respect small byteLimit settings by checking object size in setObject: [#198](https://github.com/pinterest/PINCache/pull/198) - [new] Added an ability to set custom encoder/decoder for file names: [#192](https://github.com/pinterest/PINCache/pull/192) ## [3.0.1-beta.4](https://github.com/Pinterest/PINCache/tree/3.0.1-beta.4) (2017-02-16) [Full Changelog](https://github.com/Pinterest/PINCache/compare/3.0.1-beta.3...3.0.1-beta.4) **Merged pull requests:** - Sigh [\#174](https://github.com/pinterest/PINCache/pull/174) ([garrettmoon](https://github.com/garrettmoon)) - Hopefully fixes building Carthage with --no-skip-binaries in PINRemot… [\#171](https://github.com/pinterest/PINCache/pull/171) ([garrettmoon](https://github.com/garrettmoon)) - Add an analyze option in the makefile [\#170](https://github.com/pinterest/PINCache/pull/170) ([garrettmoon](https://github.com/garrettmoon)) ## [3.0.1-beta.3](https://github.com/Pinterest/PINCache/tree/3.0.1-beta.3) (2017-02-10) [Full Changelog](https://github.com/Pinterest/PINCache/compare/3.0.1-beta.2...3.0.1-beta.3) **Merged pull requests:** - In which I painstakingly apply a patch Adlai created. [\#169](https://github.com/pinterest/PINCache/pull/169) ([garrettmoon](https://github.com/garrettmoon)) - This is a temporary fix. Currently Carthage is required to build PINC… [\#168](https://github.com/pinterest/PINCache/pull/168) ([garrettmoon](https://github.com/garrettmoon)) - Introduce PINCaching protocol [\#167](https://github.com/pinterest/PINCache/pull/167) ([maicki](https://github.com/maicki)) - Fix warnings due to changes of the designated initalizer [\#166](https://github.com/pinterest/PINCache/pull/166) ([maicki](https://github.com/maicki)) - Expose cache URL class method and allow specification of name prefix [\#163](https://github.com/pinterest/PINCache/pull/163) ([garrettmoon](https://github.com/garrettmoon)) - Migrate to External PINOperation [\#160](https://github.com/pinterest/PINCache/pull/160) ([Adlai-Holler](https://github.com/Adlai-Holler)) - Change the badge to build kite [\#159](https://github.com/pinterest/PINCache/pull/159) ([garrettmoon](https://github.com/garrettmoon)) - Upgrade to 10.2 [\#158](https://github.com/pinterest/PINCache/pull/158) ([garrettmoon](https://github.com/garrettmoon)) - Add support for buildkite. [\#157](https://github.com/pinterest/PINCache/pull/157) ([garrettmoon](https://github.com/garrettmoon)) - Buck improvements [\#156](https://github.com/pinterest/PINCache/pull/156) ([nguyenhuy](https://github.com/nguyenhuy)) - Add a build script [\#154](https://github.com/pinterest/PINCache/pull/154) ([garrettmoon](https://github.com/garrettmoon)) - Add the ability to set the maximum number of operations. [\#153](https://github.com/pinterest/PINCache/pull/153) ([garrettmoon](https://github.com/garrettmoon)) - Support Buck build [\#152](https://github.com/pinterest/PINCache/pull/152) ([nguyenhuy](https://github.com/nguyenhuy)) - Support PINMemoryCache cost methods in PINCache [\#149](https://github.com/pinterest/PINCache/pull/149) ([msqr](https://github.com/msqr)) - Test that blocks are not retained after run on operation queue [\#147](https://github.com/pinterest/PINCache/pull/147) ([nguyenhuy](https://github.com/nguyenhuy)) - Address comments and improve PINCacheTests [\#146](https://github.com/pinterest/PINCache/pull/146) ([nguyenhuy](https://github.com/nguyenhuy)) - Support operation coallescing [\#141](https://github.com/pinterest/PINCache/pull/141) ([nguyenhuy](https://github.com/nguyenhuy)) ## [3.0.1-beta.2](https://github.com/Pinterest/PINCache/tree/3.0.1-beta.2) (2016-11-07) [Full Changelog](https://github.com/Pinterest/PINCache/compare/3.0.1-beta...3.0.1-beta.2) **Merged pull requests:** - Increase max operation count to 10 [\#140](https://github.com/pinterest/PINCache/pull/140) ([garrettmoon](https://github.com/garrettmoon)) - Have sharedOperationQueue have at least 2 max operations. [\#139](https://github.com/pinterest/PINCache/pull/139) ([garrettmoon](https://github.com/garrettmoon)) - Revert "Revert beta 2 in podspec until we're ready to publish." [\#138](https://github.com/pinterest/PINCache/pull/138) ([garrettmoon](https://github.com/garrettmoon)) - Don't call the block if it's nil, duh. [\#132](https://github.com/pinterest/PINCache/pull/132) ([garrettmoon](https://github.com/garrettmoon)) - Disable TTL commits until race conditions can be addressed. [\#131](https://github.com/pinterest/PINCache/pull/131) ([garrettmoon](https://github.com/garrettmoon)) - Have Travis cache bundler and cocoapods deps [\#129](https://github.com/pinterest/PINCache/pull/129) ([jparise](https://github.com/jparise)) - Subspecs need to be valid on their own :/ [\#128](https://github.com/pinterest/PINCache/pull/128) ([garrettmoon](https://github.com/garrettmoon)) - Adopt pin operation queue [\#127](https://github.com/pinterest/PINCache/pull/127) ([garrettmoon](https://github.com/garrettmoon)) - Adds operation groups [\#125](https://github.com/pinterest/PINCache/pull/125) ([garrettmoon](https://github.com/garrettmoon)) - Thread safety in tests [\#124](https://github.com/pinterest/PINCache/pull/124) ([garrettmoon](https://github.com/garrettmoon)) - Add cancelAllOperations to PINOperationQueue [\#122](https://github.com/pinterest/PINCache/pull/122) ([maicki](https://github.com/maicki)) - Add waitUntilAllOperationsAreFinished to PINOperationQueue [\#121](https://github.com/pinterest/PINCache/pull/121) ([maicki](https://github.com/maicki)) - Add Nullability and Generics annotations [\#120](https://github.com/pinterest/PINCache/pull/120) ([maicki](https://github.com/maicki)) - Add ability to set operation priority [\#119](https://github.com/pinterest/PINCache/pull/119) ([garrettmoon](https://github.com/garrettmoon)) - There's no need to set the file modification date on item set, it's u… [\#118](https://github.com/pinterest/PINCache/pull/118) ([garrettmoon](https://github.com/garrettmoon)) - Add performance tests for disk cache. [\#117](https://github.com/pinterest/PINCache/pull/117) ([garrettmoon](https://github.com/garrettmoon)) - Significantly improves PINDiskCache performance. ~20% improvement in … [\#116](https://github.com/pinterest/PINCache/pull/116) ([garrettmoon](https://github.com/garrettmoon)) - Safe exceptions under ARC [\#115](https://github.com/pinterest/PINCache/pull/115) ([garrettmoon](https://github.com/garrettmoon)) - Fix nullability specifier [\#114](https://github.com/pinterest/PINCache/pull/114) ([garrettmoon](https://github.com/garrettmoon)) - Expose key for custom serializer and deserializer [\#111](https://github.com/pinterest/PINCache/pull/111) ([sainttail](https://github.com/sainttail)) - Adds PINOperationQueue [\#108](https://github.com/pinterest/PINCache/pull/108) ([garrettmoon](https://github.com/garrettmoon)) - Set Project to Use Spaces for Indentation [\#107](https://github.com/pinterest/PINCache/pull/107) ([Adlai-Holler](https://github.com/Adlai-Holler)) - \[PINMemoryCache\] Replace Semaphore with pthread\_mutex [\#106](https://github.com/pinterest/PINCache/pull/106) ([Adlai-Holler](https://github.com/Adlai-Holler)) ## [3.0.1-beta](https://github.com/Pinterest/PINCache/tree/3.0.1-beta) (2016-08-09) [Full Changelog](https://github.com/Pinterest/PINCache/compare/3.0.0-beta...3.0.1-beta) **Merged pull requests:** - Avoid holding lock while serializing / deserializing [\#104](https://github.com/pinterest/PINCache/pull/104) ([garrettmoon](https://github.com/garrettmoon)) - Add support for a custom file extension [\#102](https://github.com/pinterest/PINCache/pull/102) ([alexanderedge](https://github.com/alexanderedge)) - Added support for custom object serializer/deserializer [\#100](https://github.com/pinterest/PINCache/pull/100) ([skeeet](https://github.com/skeeet)) ## [3.0.0-beta](https://github.com/Pinterest/PINCache/tree/3.0.0-beta) (2016-07-22) [Full Changelog](https://github.com/Pinterest/PINCache/compare/2.3...3.0.0-beta) **Merged pull requests:** - Remove background tasks [\#99](https://github.com/pinterest/PINCache/pull/99) ([garrettmoon](https://github.com/garrettmoon)) - Remove locking on callback [\#97](https://github.com/pinterest/PINCache/pull/97) ([garrettmoon](https://github.com/garrettmoon))
Modernization
4 years ago
- [fix] Initing PINCache with TTL enabled should enable TTL on PINMemoryCache. [#246](https://github.com/pinterest/PINCache/pull/246) - [performance] Return TTL cache objects without waiting for all metadata to be read. [#228](https://github.com/pinterest/PINCache/pull/228) - [performance] Memory cache now performs some tasks such as trimming and removing experied objects with low priority. [#234](https://github.com/pinterest/PINCache/pull/234)
Per object TTL and performance fixes
5 years ago
- [fix] Fix up warnings and upgrade to PINOperation 1.1.1: [#213](https://github.com/pinterest/PINCache/pull/213) - [performance] Reduce locking churn in cleanup methods. [#212](https://github.com/pinterest/PINCache/pull/212) - [fix] Don't set file protection unless requested. [#220](https://github.com/pinterest/PINCache/pull/220) - [new] Add ability to set an object level TTL: [#209](https://github.com/pinterest/PINCache/pull/209) - [performance] Improve performance of age limit trimming: [#224](https://github.com/pinterest/PINCache/pull/224)
3.0.1-beta.6
6 years ago
This release contains big performance gains to the disk cache! - [fix] Add some sane limits to the disk cache: [#201]https://github.com/pinterest/PINCache/pull/201 - [new] Update enumeration methods to allow a stop flag to be flipped by caller: [#204](https://github.com/pinterest/PINCache/pull/204) - [performance] Improves cache miss performance by ~2 orders of magnitude on device: [#202](https://github.com/pinterest/PINCache/pull/202) - [performance] Significantly improve startup performance: [#203](https://github.com/pinterest/PINCache/pull/203)
3.0.1 Beta 5
6 years ago
Note this beta makes a slight API change, dropping support for a file extension in favor of a custom encoder / decoder for file names. - [new] Added an ability to set custom encoder/decoder for file names: [#192](https://github.com/pinterest/PINCache/pull/192)
3.0.1 Beta 4
7 years ago
- This beta includes a complete refactor of the project and the way the framework is built with Carthage.
3.0.1 Beta 3
7 years ago
This is beta 3 of 3.0.1 (a major release despite the minor version number) - Includes a bunch of bug fixes! - Improved Swift support - Includes a rethinking of the API to explicitly call out asynchronous methods. Full list of changes since last beta: https://github.com/pinterest/PINCache/compare/3.0.1-beta.2...3.0.1-beta.3
3.0.1 Beta 2
7 years ago
This is beta 2 of 3.0.1 (a major release despite the minor version number) - Includes a bunch of bug fixes! - Includes significant performance optimizations, especially of the disk cache! - Includes thread limiting of PINCache to reduce the number of outstanding threads spun up which end up just waiting on a lock.
iOS macOS watchOS tvOS
pinterest/plank v100
A tool for generating immutable model objects
⭐️ 469
🕓 7 weeks ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
Test
3 years ago
v1.6 - Schema updates, improved Java support, Objective-C optimizations and dependency graph analysis
4 years ago
# Updates ## General ### Nested object definitions. Previously it was required to create a new file for each schema. Now we support declaring types within types which can be useful for ones that only make sense in a certain scope or are fairly minimal. Example schema declaration: ```json { "some_property" : { "type": "object", "title": "nested", "properties": { "id": { "type": "integer" }, "name": { "type": "string" } } } } ``` ### JSON dependency graph output The behavior of the `--print_deps` output has changed to be JSON by default. This allows for tooling to be built to visualize or analyze dependency graph of your schemas. Given this command using our example schemas: ```bash plank --print_deps Examples/PDK/pin.json ``` You'll get an output with it's dependencies and any inherited types (via `extends` keyword) ```json { "pin" : [ "image", "board", "user" ] } ``` ### CI We've migrated our CI entirely to Github Actions which will make it easier for contributors to analyze logs and build failures. ## Objective-C - Optimizations around memory footprint of properties - Test updates for equality methods ## Java - Removed AutoValue as a dependency - Support for tracking properties which are set - ADT, equality and nullability support - TypeAdapters derived from Schema definitions ## Changes 8ee84c2 Mention nested object types in the documentation (#258) 2346a29 Support nested object type definitions (#256) 85e802f Mark generated files using 'linguist-generated' (#257) e4e5e72 Remove trailing space after integer-based enums (#255) 9e5c65f Missing @SerializedName annotation on integer-based enums (#253) fbcd34f Convert deps command output to produce JSON (#252) c232819 Java model potentially missing import for types contained in maps and lists (#251) 921c98f Upgrade swiftformat and swiftlint (#250) 979e358 Java ADT partial implementation (#249) 41c25a8 Migrate CI to Github CI/CD (#239) eeb4918 Support configurable URI types for Java (#245) 618acaa Optionally log unknown properties in TypeAdapter.read (#243) 9d367a5 Java equals() should evaluate primitives first (#244) a27b144 Check _bits directly in internal calls (#242) f650f01 Order modifiers according to the Java spec (#241) 42a168b Make generated TypeAdapter classes private (#240) 690a266 Only allocate _bits when necessary (#238) 55b0a25 Use transitiveProperties to gather Java imports (#237) fa2e15e Only import the necessary set of types (#235) 920dcee Stop importing java.lang.annotation.Retention{Policy} (#234) 01cf3e9 Stop importing com.google.gson.JsonElement (#233) 6253078 Add the Plank project URL to the file comment header (#232) 4c794b2 Java model property annotations should be sorted deterministically (#231) bf771de Java model TypeAdapter write method should not use delegateAdapter. (#227) 730f8e1 Add more nullability annotations to Java models (#228) f683102 Java model TypeAdapter should not not instantiate its inner TypeAdapters until needed (#226) 102d645 Java models should not include null fields when serialized into Json (#225) faadfa9 Java Model Builder.build method should be annotated with NonNull (#223) 7b054be Java model - _bits field should be deserialized if it's present in the JSON (#221) bc8c8fd Java Model Decorators (beta) (#217) 738fb3e Builder property variables should not have @SerializedName annotation (#220) d4a714d Emit BOOL properties as bitfields (#208) 47fb542 Add equality tests for ObjC (#219) c7fe044 Missing call to set tracking isSet-bit in Java model merging (#218) d3c6322 Use smaller enum types to reduce object sizes. (#207) ef88906 Use a boolean[] array for tracking set-bits so we can accommodate models with more than 32 fields (fixes integer overflow) (#216) 32f2fe5 Add option to generate Java private setters (#212) 8d23c9b Fix invalid call to Builder-setter from Java TypeAdapter (#211) 427edd4 Add support for androidx Nullability annotations (#204) f368cd1 Add a static TYPE variable to java models (#201) bdd00b0 Toolchain updates (#196) a8e91d3 Remove local shadow variable `self.properties` should be used for clarity. (#202) a2d1022 Fix archive command to work also with Swift 5 (#200) d467436 Avoid use of reflection-based deserialization in Java model (#194) 02d18ba Add linter for making sure linux main is kept up to date (#192) 5e5ed22 Don't use ObjectiveC-based handling of reserved keywords for Java (#187) 2dd9ed8 Add missing check for null json token (#188) 06925b8 Use standard Java enum types for enum properties (#184) e63f15c For Boolean, Double and Integer properties, getters should be NonNull (#178) efe3c84 Build Java sources during integration tests (#176) 47ad603 Add custom TypeAdapter for Java models that will allow for setting _bits field (#177) f38aa84 Fix missing comma in Java model constructor (#175) 3cb4722 Update docs to reflect that plank is for more than Objective-C (#173) 7d17623 Remove AutoValue from Java generated models (#159) 4372837 Update variable name substitution logic (#157) fd4dea5 Remove unused CI directory 1d44870 Add swiftlint / swiftformat in Package.swift, fix issues (#168)
Updates to Objective-C, Bazel support, and Java support in alpha
5 years ago
This release contains a lot of internal cleanup as well as new functionality. ## Updates ### Objective-C Added `isSet` methods for each property which will allow callers to differentiate if a property has been set: This is useful for differentiating: - Default values for primitive types (i.e. `int` properties will still be `0` if not set) - `nil` values for reference types (i.e. pointers to objects are `nil` if not set) ### Bazel Initial support for building plank and integrating it within your local bazel project. First add plank to your `WORKSPACE` file ```py git_repository( name = "plank", remote = "https://github.com/pinterest/plank.git", tag = "1.5" ) ``` Then you can run plank using: `bazel run @plank//:plank -- [YOUR ARGS HERE]` ### Java (alpha) - Initial support is available and depends on AutoValue and GSON. AutoValue is likely to be removed soon as a requirement. - Java support is in active development and breaking changes are likely - Audience is focused on Android development which could influence some of the design decisions / dependencies ## Changes eaaccea [Objective-C] Option for adding abilities to tell if a method is set. fa1a00d [Objective-C] Fix issues that cause unstable output (#160) bec7ec9 Update WORKSPACE to latest rules_swift dependencies (#163) e041f8e Enable Swiftlint for PRs (#154) 27f2219 Update README.md ce0dbea Migrate Plank to Travis CI (#152) 71a3a5c Fix typo (#146) c387215 Update bazel build to use rules_swift 7328fa0 Refactor version number to use a struct (#145) 8053ab1 Add version to CLI (#144) 87197a3 Add flag to avoid runtime files from getting generated (#137) 9439de7 Fix nil-checking issue in dictionary representation (#135) 0c2bf4e Update to Swift 4.1, fix inheritance issue with equality (#133) 42838c3 Update Java enum rendering to avoid collisions when multiple enums are (#130) db6c647 Use fancy string enums and remove unused runtime function (#128) 6eb769b Fix linux build (#127) 153ebe7 Use `@NonNull` for nonnull Java properties. Add nullability to documentation 1b4641c Add initial Java documentation 7a0b6aa Separate CLI reference into its own page 56097d2 Add flow documenation overview a86117d Initial support for Java (#106)
Patch Release: Bug fixes in dictionaryObjectRepresentation
6 years ago
## Overview This release contains additional fixes to the generation of dictionaryObjectRepresentation for cases where you have model schema with nested collections (lists within lists, maps within maps, lists within maps, ...). ## Changes a5e132e Fix issues with nested collections in dictionaryObjectRepresentation (#126)
Objective-C Updates & Bug fixes. Improve overall test coverage
6 years ago
## Additions - Objective-C models can now render themselves to Dictionaries This was previously supported but had a number of edge cases where issues were present. We have now addressed those issues and we are ready to support this capability. - A foundation for writing more integration tests between Objective-C and Flow bridging. This can be helpful if you share schemas between them. - Generated ObjC models test coverage has improved for testing initialization and dictionary representation. We will continue this trend for other capabilities. ## Changes aa069d2 Add basic Objective-C and JS bridging test (#124) f09ae27 Fix Docker builds (#125) fe78418 Restore dictionaryObjectRepresentation for Objective-C (#122)
Update to Enum generation & Bug fixes
6 years ago
## Whats in this release? ### Breaking changes For Objective-C, an enum type will no longer have "Type" added to it's name. This introduced issues (https://github.com/pinterest/plank/issues/119) and was inconsistent with the logic we use for Flow. Previous behavior: A enum property `some_prop` on a type `Foo` would generate a enum named `FooSomePropType` New behavior: A enum property `some_prop` on a type `Foo` will generate a enum named `FooSomeProp` If you are currently using Enums you'll likely need to update references to these types in your code base but the functionality remains the same. In the future we'll strive to keep these naming strategies consistent between languages. ### Notable bug fixes - Improve the nullability support for Objective-C - Fix the ordering of properties during generation to ensure we don't have variance in our generation. ## Changes 991a465 Align naming logic between Flow and ObjC for enums. Fix naming collis… (#120) f8f7c17 Correct extends field example (#117) a8d8676 Fixed missing "" (#118) 0e2668c Update README.md (#114) 47fdfdd Builder setter should consider copy memoryAssignmentType (#113) bcc7bef Enumeration of schema properties should occur in a specific order to ensure a (#110) df1e444 Update homebrew installation instructions
Minor fixes & updates
6 years ago
## Summary - Added `make install` to `Makefile`. Use `PREFIX` to specify a different installation path than `/usr/local` Basic Usage: ```bash make install ``` Usage with custom installation path: ```bash make install PREFIX=/usr/local/Cellar/plank/1.2.1 ``` - Address issues identified by SwiftLint - Add documentation for `Set` type ## Commits 56012d6 Add `make install` target to Makefile (#109) 4c3f228 Add autocorrect step to Swiftlint (#107) 3bdc34f Add `Set` to docs on property fields (#105)
Support for Sets, Minor bug fixes and updates in documentation and build scripts
6 years ago
In this release: - Support `NSSet` for Objective-C, Flow - Updates to nullability, equality and memory assignment for ObjC - Fix archiving to disable sandboxing and homebrew installation - Update documentation Commits - 801d97e Use copy for NSURL and NSDate 4bdf16d Build archives with sandboxing disabled to allow homebrew installations (#102) 386c378 Update the .PHONY target list (#98) 5612063 Address lint warnings under swiftlint 0.24.0 (#99) 6bd7921 Don't generate dictionary representation until we can verify it compiles (#96) b870223 Correct integer example (#95) 91d26a0 Rename dictionaryRepresentation method so it doesn't conflict with Foundation's one (#94) 56a6d99 Removes usage of deprecated `characters` from String (#93) d480449 Added support for NSSet properties (#91) 4de2627 Update ObjC builder extension to be aware of nullability of properties (#88) 8d84d74 Remove default case that will never be executed (#87) ad1aed3 Fix issue with generating the dictionaryRepresentation method for schemas that (#85) c5ed50a Expand list of reserved objc keywords to cover most conflicting case (#79) 3fc1bea Fix make clean command(#65) 6399daf ObjectiveCDictionaryExtension to correctly handle maps of root objects (#81) 9bc92b3 Compare NSArrays using -isEqualToArray: (#83) c855031 Update indentation settings in plank.xcodeproj (#82) f8378f6 Objective-C init extension to better handle null model dictionary in prod builds (#80) 92c9a3f Bazel build support for Plank (#75)
Bug fixes, Nullability, and Flow Support
6 years ago
# Version 1.1 ## New CLI options ``` --print_deps - Just print the path to the dependent schemas necessary to generate the schemas provided and exit. --no_recursive - Don't generate files recursively. Only generate the one file I ask for. --only_runtime - Only generate runtime files and exit. --lang - Comma separated list of target language(s) for generating code. Default: "objc" --help - Show this text and exit. ``` ## Flow Support This release contains an early experimental implementation of [Flow](https://flow.org/) type generation. Now your schema files can be used to generate multiple languages by using the `--lang` command line option. ### How do I use it? - Try it out by specifying `--lang flow` - Generate both ObjC and Flow `--lang flow,objc` More documentation on Flow is coming soon but you can see the current output in the [Examples](https://github.com/pinterest/plank/tree/master/Examples/JS/flow). ## Objective-C Generation - Nullability: Specifying a field as `required` will now influence if it is `nonnull` or `nullable`. Previously all methods were `nullable`. - New Method: `"- (NSDictionary *)dictionaryRepresentation"` allows your models to output a dictionary representation of themselves. This is intended to be the inverse of `initWithModelDictionary`. - Bug fixes: Small number of fixes to the generated code have been made. ## Notable commits in this release: 864abac Nullability support in Plank: (#64) 6808341 Add dictionary representation to Objc models (#67) fc967d5 Add tests for generated models to the integration tests pipeline (#69) 116b818 Copy the value to an ivar backed by a copy property (#72) 0d50564 Add custom indentation support (#61) 37a6bc3 Don't camel case the description for EnumValue by default (#60) 12db0da Add Flow Type Support (#57) 6d226ec Fix lint warnings (#58) 332af42 Use relative schema urls internally (#59) 46d340f Fix critical bug where deep equality comparison contained a pointer equality (#50) 658c73f Add initial support for integration testing. (#48) aba7ecc Remove FilePrinter protocol (#46) 86873d0 Update to newest CI (#44) 69e6d20 Add lang attribute to provide future flexibility for additional languages in (#42) d69c8e6 Simplify initWithModelDictionary and improve performance (#40) e8d35e3 Update Plank to Swift 3.1 (#39) 38f6da3 Makes the code more readable via early returns / fatal errors in guards (#35) 9fefe3a Support for no_recursive and only_runtime flags. Fix print_deps output (#32) 120e4d2 Add cli option for printing the dependencies of a schema (#30)
Initial Release
7 years ago
This is the initial public release of plank.
pinterest/XcodeGen 2.33.0
A Swift command line tool for generating your Xcode project
⭐️ 0
🕓 1 year ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
2.33.0
1 year ago
* Undo fixes from 2.31.1 because: * 2.32.0 fixes duplicate error issue. * 2.33.0 fixes performance regression caused by 2.32.0's fix.
2.31.1
1 year ago
Fix Xcodegen from adding duplicate dependencies
macOS

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics