Comments (17)
Version 4.0 is out! Swift 3 support is now mainstream. :)
from algoliasearch-client-swift.
@hmalc We totally understand that, and we'll do what we can to support Swift 3 as soon as it's out! However, you have to understand that, until a "stable enough" version (like the GM) is out, it's difficult to build on a shifting ground (as demonstrated by the tremendous amount of change that Swift 3 has undergone in two months of time). The work that has been done so far on the swift-3
branch can merely be considered a "proof of concept", since our code base has evolved since it was forked.
So, the proposed plan is the following:
- Release a 3.{n+1} version with the pending features in our pipeline.
- Fork a
v4
branch from this release. - When the GM is out: Port the
v4
to Swift 3/iOS 10/Xcode 8/etc. - When the final version is out: fork a
v3
maintenance branch from master, mergev4
into master, and release 4.0 version.
from algoliasearch-client-swift.
FYI, I just downloaded Xcode 8.0GM. Swift 3 code that compiled just fine yesterday with Xcode 8.0b6 doesn't compile any longer. Investigating...
from algoliasearch-client-swift.
Hello @jegv91 and @TofPlay. The ETA actually depends on the final release by Apple... and you know how hard it is to get ETAs from Apple: so far, the only official date is "Fall" (as advertised during the WWDC). I haven't seen any leaves falling from the trees yet... :) Joke aside, Swift 3 will most likely be released along with Xcode 8, iOS 10 and macOS Sierrra some time in September. Then, allow us one or two weeks to wrap everything up (i.e. merge with master, test, etc.) and package a new major version, and there you go.
The reason we wait is that, until the final version is released, no guarantees are made that the API is stable. And in fact, the swift-3
branch used to compile just fine with Swift 3 and Xcode 8 beta when I created it back in late June. With Xcode 8 beta 6, it no longer does, as @TofPlay discovered. => We don't want to be playing cat and mouse with a moving target forever.
Another reason is that the API client is itself rapidly evolving: we were at version 3.3 when we started works on Swift 3; we're now at 3.6, with further improvements down the pipe. Maintaining two branches in parallel would be a lot more work, and in my opinion not really worth the trouble since Swift 3 cannot be used in production right now.
from algoliasearch-client-swift.
Hey all! Work on adopting Swift 3 has made huge progress over the past few days: there is now a v4
branch containing a tentative 4.0 version.
Warning: Consider it alpha quality, meaning: feel free to test it, but please don't use it in production, as breaking changes may still occur. The upside is that if you have concerns/suggestions, there is still room for improvement! Any feedback welcome. :)
Because this is a major version, I took the opportunity to refactor many things, including naming and Objective-C mapping. The goal is to make the library easier to use and feel more natural, from both Swift and Objective-C.
Please read the change log in the branch for a detailed overview of changes.
Note: I haven't tested remote Cocoapods integration so far, but it works with a local checkout. Carthage not tested yet... (Sorry for the fans.)
from algoliasearch-client-swift.
@MattTimmons Sorry, I'm just back from a three-week long internet-less vacation and I have yet to digest the WWDC... π I will keep you posted.
My two cents are that Swift 3 will require a major update, because it brings incompatible changes and the module is delivered in source form. Not clear yet about Swift 2.3.
from algoliasearch-client-swift.
welcome back, sounds good.
On Jun 27, 2016, at 3:58 AM, ClΓ©ment Le Provost [email protected] wrote:
@MattTimmons https://github.com/MattTimmons Sorry, I'm just back from a three-week long internet-less vacation and I have yet to digest the WWDC... π I will keep you posted.
My two cents are that Swift 3 will require a major update, because it brings incompatible changes and the module is delivered in source form. Not clear yet about Swift 2.3.
β
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub #74 (comment), or mute the thread https://github.com/notifications/unsubscribe/AFi1kSfWG1glS07uB2pnWjG7cbtn54Mmks5qP5DAgaJpZM4I3Zvc.
from algoliasearch-client-swift.
Swift 2.3 support seems straightforward: only one modification is involved (see PR #85). It is actually surprising that there is a change at all, because according to Apple, "Swift 2.3 = Swift 2.2 + new SDKs". It looks like existing APIs have been impacted as well... :/
Anyway, the change affects the tests and not the core functionality, so the current version is de facto compatible with Swift 2.3.
from algoliasearch-client-swift.
Swift 3 support implies numerous incompatible changes. It will therefore be conducted in a dedicated branch, eventually making it to master under the form of a major release after Swift 3 / Xcode 8 are officially released.
from algoliasearch-client-swift.
Branch swift-3
has been created to host Swift 3 support. This will be an ongoing effort. You are welcome to test and contribute!
from algoliasearch-client-swift.
Hey @clement-leprovost, thanks for starting the repo. I need to launch an update of my app supporting Swift 3.0 and I'm using Algolia in it. I know Swift 3.0 is not the official language yet but do you have ETA on this?
Thanks in advance.
from algoliasearch-client-swift.
Same as @jegv91
from algoliasearch-client-swift.
Hi @clement-leprovost I fork your project on TofPlay/algoliasearch-client-swift. On branch swift-3 I apply all "Fix-It" and I quickly corrected the build errors with Xcode 8 beta 6. That build but I have not tested.
Let me know if you are interested by a PR.
from algoliasearch-client-swift.
Also anxious to upgrade my app to Swift 3 and currently this framework is the only thing forcing me to use Swift 2.3. Apple generally are very predictable with their software launches. An iOS10 and Xcode 8 GM release will be finalized Wednesday for apps to be submitted by the iPhone 7 launch which will be Friday next week more than likely.
from algoliasearch-client-swift.
Sounds good @clement-leprovost! Let us know if you get stuck anywhere with the conversion. We're excited to be able to update to Swift 3 after Aloglia makes the leap π
from algoliasearch-client-swift.
Thanks for investigating @clement-leprovost π we need that too :)
from algoliasearch-client-swift.
Update on package manager support:
- Carthage is OK (only for the online flavor, but that's a known limitation).
- Cocoapods has a blocking bug preventing it to work with Swift 3 as of 1.1.0rc1. (Should be solved in 1.1.0rc2, but it's not out yet.)
- The Swift PM cannot handle our current online/offline duality (same as Carthage) and not even our current directory layout! Anyway, there is a dedicated issue to track support for this one: #91.
from algoliasearch-client-swift.
Related Issues (20)
- Algolia's use of custom operators clashes with custom operators defined in applications that consume this library HOT 3
- Error 400 when Around Precision property is assigned HOT 4
- Error 494 Header Too Large with some API Keys HOT 4
- Crash - AlgoliaSearchClient: protocol witness for Decodable.init(from:) in conformance JSON + 20 HOT 3
- Issue with query string containing & char HOT 1
- Naming clash with Swift's Task HOT 4
- Facet values with certain characters don't work HOT 2
- Client side error handling
- index.getObject() does not work with full Shopify ID
- refactor `extension URLSession: HTTPRequester`
- Reporting a vulnerability
- ThreadSanitizer: data race
- Dependency Dashboard
- Match JS library - Fetch Recommendations Using an Array of Object ID's
- Apple Privacy Manifest File HOT 5
- 8.20.0 upgrade prevents project from building HOT 4
- SearchConfiguration.logLevel has no effect
- Unknown parameter: explainModules
- Missing product package
- Async await support
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from algoliasearch-client-swift.