Skip to content

Commit

Permalink
Merge pull request #113 from bustoutsolutions/1.0-rc.0
Browse files Browse the repository at this point in the history
1.0-rc.0
  • Loading branch information
pcantrell authored Sep 17, 2016
2 parents cadd42d + 61aeff3 commit 2ea77dc
Show file tree
Hide file tree
Showing 7 changed files with 33 additions and 46 deletions.
1 change: 1 addition & 0 deletions .swift-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3.0
6 changes: 3 additions & 3 deletions Cartfile.resolved
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
github "Alamofire/Alamofire" "4.0.0"
github "Quick/Nimble" "fcc28b23f57b30382e5f182c238674694d7174cb"
github "Quick/Nimble" "db706fc1d7130f6ac96c56aaf0e635fa3217fe57"
github "pcantrell/Nocilla" "bd7ec7caa0576f08c00bbbf993a9204f93be16e3"
github "pcantrell/Quick" "b3019752ffaa8505e655615bdb987acb07154ba2"
github "antitypical/Result" "3.0.0"
github "ReactiveCocoa/ReactiveSwift" "f4e3bdc31456a23cf79f70fe3e2ff78bd0ecbfeb"
github "ReactiveCocoa/ReactiveCocoa" "26997cf6f0eda7d64b76ba82013525e6ab900e8e"
github "ReactiveCocoa/ReactiveSwift" "2cdbc4159dede57a47df0e2eeccd8c0ba8436470"
github "ReactiveCocoa/ReactiveCocoa" "9cb9fb7f54e34024fe5b1deaade2f2d6527e56ee"
43 changes: 16 additions & 27 deletions Docs/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,45 +2,34 @@

## Roadmap

#### Why is it “beta?” Why isn’t it 1.0?
#### Why is it a “release candidate?” Why isn’t it 1.0 already?
{:#roadmap-1-0}

Siesta is already in use in apps released on the App Store. In that sense, it’s production-ready software.

However, since this began as one team’s internal tool, the API was thus initially validated against only that one team’s practices. When Siesta went public, we wanted other teams to have a chance to exercise it and see how it fit into _their_ approach to app-writing before we finalized the API. This yielded many valuable insights.

Once we declare a 1.0 release, we will endeavor to follow semantic versioning — and API tweaking will become much harder at that point.

#### If it’s in beta, should I use it in my apps?
However, since this began as one team’s internal tool, the API was thus initially validated against only that one team’s practices. When Siesta went public, other teams had the chance to exercise it and see how it fit into _their_ approach to app-writing before we finalized the API. This yielded many valuable insights.

Yes! We believe the code is high quality and ready for real-world use.

However, you should be ready for breaking changes to the API until we declare an official 1.0 release. That’s what the “beta” label is warning you about.

#### What’s the plan for 1.0? How will you manage the big Swift 2 → 3 migration?
{:#roadmap-1-0}
We also wanted to hold off the official API freeze until Swift 3 — and its many API changes — were out in the wild.

The tentative plan is this:
All of that is now done, but still fresh out of the oven. We will go through a period of cooling off and proving in the wild before declaring the official 1.0.

- `1.0-beta.8`: new [transformer pipeline API](pipeline.md), the last major pre-1.0 API change
- `1.0-beta.9`: `EntityCache` improvements
- `1.0-beta.10`:
- Request decorating, chaining, repeating
- Any other final API refinements
- split UI helpers into separate subproject
- reorganize directory structure to anticipate SwiftPM
#### What if I’m still on Swift 2?

After these releases, when we are confident that 1.0 functionality is set, we will cut final Swift 2 releases:
Use the `swift-2.2` or `swift-2.3` branch.

- `1.0.x-swift.2.2`
- `1.0.x-swift.2.3` (maaaaybe, if there’s demand for it)
CocoaPods:

These will be the last releases to support Swift 2, except for any critical bug fixes. If you aren’t ready to move to Swift 3, you can stick with these releases.
```
pod 'Siesta', git: 'https://github.com/bustoutsolutions/siesta.git', branch: 'swift-2.2'
```

The `master` branch will then move to Swift 3. The goal is to do this before Swift 3 goes GM. While this will be a disruptive change, it should not involve any changes in Siesta’s functionality, and the only API changes will be to adhere to the new Swift 3 naming guidelines (e.g. lowercase enums). The final 1.0 API freeze will target Swift 3 only, and with luck will happen immediately on the heels of Swift 3’s official release:
Carthage:

- `1.0.0-rc.*`, `1.0.0`: targeting Swift 3
```
github "bustoutsolutions/siesta" "swift-2.2"
```

Post 1.0 development will only support Swift 3.
(Or substitute `swift-2.3` above.)

#### What’s in the works for post-1.0 releases?

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -399,7 +399,6 @@
isa = XCBuildConfiguration;
baseConfigurationReference = CC0AB1A69A9C04B0879CFD4C /* Pods-GithubBrowser.debug.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = Source/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
Expand All @@ -414,7 +413,6 @@
isa = XCBuildConfiguration;
baseConfigurationReference = A30D9B88A43E86FECB6FED59 /* Pods-GithubBrowser.release.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = Source/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
Expand Down
8 changes: 4 additions & 4 deletions Examples/GithubBrowser/Podfile.lock
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
PODS:
- Siesta/Core (1.0-beta.10)
- Siesta/UI (1.0-beta.10):
- Siesta/Core (1.0-rc.0)
- Siesta/UI (1.0-rc.0):
- Siesta/Core
- SwiftyJSON (2.3.2)

Expand All @@ -21,9 +21,9 @@ CHECKOUT OPTIONS:
:git: https://github.com/BaiduHiDeviOS/SwiftyJSON.git

SPEC CHECKSUMS:
Siesta: 5c62c4b4483048ce7a022b8a4cb5cd9021bc5475
Siesta: 45a62a30d3866c0c93f633070e88669b29045134
SwiftyJSON: 6118fb49d7519c4d31a0c1f3d5af936e9047b556

PODFILE CHECKSUM: 1be9d814355a48187727c0a77f4837db1c72fa65

COCOAPODS: 1.1.0.beta.1
COCOAPODS: 1.1.0.rc.2
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@

Drastically simplifies app code by providing a client-side cache of observable models for RESTful resources.

* **OS:** iOS 8+, macOS / OS X 10.11+
* **OS:** iOS 8+, macOS 10.11+
* **Languages:** Written in Swift, supports apps in both Swift and Objective-C
* **Tool requirements:** Xcode 8, Swift 3.0
* **Tool requirements:** Xcode 8, Swift 3
* **License:** MIT
* **Status:** Solid code, already in use on the App Store, but still classified as “beta” so we can gather feedback before locking in the API for the official 1.0 release. Please kick the tires, file issues, and send pull requests. Be bold!
* **Status:** Solid code, battle-tested on the App Store. Gathering feedback and vetting after the big Swift 3 migration. Please kick the tires, file issues, and send pull requests. Be bold!

### Overview

Expand Down Expand Up @@ -126,25 +126,25 @@ Siesta requires Swift 3, so make sure you have [Xcode 8](https://developer.apple

In your `Podfile`:

pod 'Siesta', '>=1.0-beta.10'
pod 'Siesta', '>=1.0-rc.0'

(If you use `>=`, make sure CocoaPods downloads the right version. Due to a [bug in CocoaPods](https://github.com/CocoaPods/CocoaPods/issues/5718) fixed only recently, it does not work properly with prerelease version numbers.)

If you want to use the UI helpers:

pod 'Siesta/UI', '>=1.0-beta.10'
pod 'Siesta/UI', '>=1.0-rc.0'

If you want to use Alamofire as your networking provider instead of `NSURLSession`:

pod 'Siesta/Alamofire', '>=1.0-beta.10'
pod 'Siesta/Alamofire', '>=1.0-rc.0'

(You’ll also need to pass an `Alamofire.Manager` when you configure your `Siesta.Service`. See the [API docs](http://bustoutsolutions.github.io/siesta/api/Classes/Service.html#/s:FC6Siesta7ServicecFMS0_FT4baseGSqSS_22useDefaultTransformersSb18networkingProviderPS_18NetworkingProvider__S0_) for more info.)

### Carthage

In your `Cartfile`:

github "bustoutsolutions/siesta" "1.0-beta.10"
github "bustoutsolutions/siesta" "1.0-rc.0"

Follow the [Carthage instructions](https://github.com/Carthage/Carthage#adding-frameworks-to-an-application) to add `Siesta.framework` to your project. If you want to use the UI helpers, you will also need to add `SiestaUI.framework` to your project as well.

Expand Down
5 changes: 2 additions & 3 deletions Siesta.podspec
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Pod::Spec.new do |s|

s.name = "Siesta"
s.version = "1.0-beta.10"
s.version = "1.0-rc.0"
s.summary = "Swift REST client library"

s.description = <<-DESC
Expand All @@ -23,7 +23,6 @@ Pod::Spec.new do |s|
* **Languages:** Written in Swift, supports apps in both Swift and Objective-C
* **Tool requirements:** Xcode 8, Swift 3.0
* **License:** MIT
* **Status:** Solid code, already in use on the App Store, but still classified as “beta” so we can gather feedback before locking in the API for the official 1.0 release. Please kick the tires, file issues, and send pull requests. Be bold!
## Features
Expand Down Expand Up @@ -70,7 +69,7 @@ Pod::Spec.new do |s|
s.ios.deployment_target = "9.0"
s.osx.deployment_target = "10.11"

s.source = { :git => "https://github.com/bustoutsolutions/siesta.git", :tag => "1.0-beta.10" }
s.source = { :git => "https://github.com/bustoutsolutions/siesta.git", :tag => "1.0-rc.0" }

s.subspec "Core" do |s|
s.source_files = "Source/Siesta/**/*"
Expand Down

0 comments on commit 2ea77dc

Please sign in to comment.