Or maybe just one more thing... should we add unavailable markers for the functions and variables we've changed to ease transition? I suppose we're a little late with it, but now we still can...
As Carthage has done, it might be a good idea to put all of these in a Availability.swift file.
Is there a blog post or resource about using unavailable? My gut says not to bother with it but I honestly don't know much about unavailable or how other libraries use it.
Also: do we need like a beta or RC for 8.0.0? I'm inclined just to release 8.0.0.
I think we should be good to go releasing 8.0.0. Most if not all breaking changes have been implemented, and we've been in beta for a long time as well.
Could only really find this small post: http://www.mokacoding.com/blog/swift-unavailable-how-to/. Although I think Carthage is a good example as to what it can do.
And Apple has a page that explains it quite well, too: https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Attributes.html#//apple_ref/doc/uid/TP40014097-CH35-ID347


I'll take a stab at this later today. I think it's worth it.
Ah interesting. Yeah, the helpful error messages are definitely nice. This is worth holding off releasing for I think.
This is something I have in place for #883 already if we decide to go through with that. We could probably use it in PluginType, but that might be a bit counterproductive since we'd have to keep all the old names around in the protocol to tag them and I don't think it would generate the errors we want because of how they provide default implementations.
Maybe we can open up an issue gather all the things that have been renamed and consider each?
I've opened #890.
ReactiveSwift released ๐๐๐
Yep. ๐
After contact with @BasThomas I started releasing 8.0.0. Release is done, only the podspec had some issues, which I'm fixing right now!
Update
Updated for Cocoapods as well!
I encountered the following error trying to release, any idea as to what that could have been?
bas-imac:Moya bas$ rake release["8.0.0"] --trace
** Invoke release (first_time)
** Execute release
Updating podspec.
Updating Demo project.
bundle exec pod update Moya
Updating local specs repositories
CocoaPods 1.2.0.beta.3 is available.
To update use: `sudo gem install cocoapods --pre`
[!] This is a test version we'd love you to try.
For more information, see https://blog.cocoapods.org and the CHANGELOG for this version at https://github.com/CocoaPods/CocoaPods/releases/tag/1.2.0.beta.3
Analyzing dependencies
Fetching podspec for `Moya` from `../`
Downloading dependencies
Using Alamofire (4.2.0)
Using Moya (8.0.0-beta.6)
Using ReactiveSwift (1.0.0)
Using Result (3.1.0)
Using RxSwift (3.1.0)
Generating Pods project
rake aborted!
Command failed with status (): [bundle exec pod update Moya...]
/Library/Ruby/Gems/2.0.0/gems/rake-10.4.2/lib/rake/file_utils.rb:66:in `block in create_shell_runner'
/Library/Ruby/Gems/2.0.0/gems/rake-10.4.2/lib/rake/file_utils.rb:57:in `call'
/Library/Ruby/Gems/2.0.0/gems/rake-10.4.2/lib/rake/file_utils.rb:57:in `sh'
/Library/Ruby/Gems/2.0.0/gems/rake-10.4.2/lib/rake/file_utils_ext.rb:37:in `sh'
/Users/bas/Documents/Programming/iOS/Moya/Rakefile:166:in `block (2 levels) in <top (required)>'
/Users/bas/Documents/Programming/iOS/Moya/Rakefile:164:in `chdir'
/Users/bas/Documents/Programming/iOS/Moya/Rakefile:164:in `block in <top (required)>'
/Library/Ruby/Gems/2.0.0/gems/rake-10.4.2/lib/rake/task.rb:240:in `call'
/Library/Ruby/Gems/2.0.0/gems/rake-10.4.2/lib/rake/task.rb:240:in `block in execute'
/Library/Ruby/Gems/2.0.0/gems/rake-10.4.2/lib/rake/task.rb:235:in `each'
/Library/Ruby/Gems/2.0.0/gems/rake-10.4.2/lib/rake/task.rb:235:in `execute'
/Library/Ruby/Gems/2.0.0/gems/rake-10.4.2/lib/rake/task.rb:179:in `block in invoke_with_call_chain'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/monitor.rb:211:in `mon_synchronize'
/Library/Ruby/Gems/2.0.0/gems/rake-10.4.2/lib/rake/task.rb:172:in `invoke_with_call_chain'
/Library/Ruby/Gems/2.0.0/gems/rake-10.4.2/lib/rake/task.rb:165:in `invoke'
/Library/Ruby/Gems/2.0.0/gems/rake-10.4.2/lib/rake/application.rb:150:in `invoke_task'
/Library/Ruby/Gems/2.0.0/gems/rake-10.4.2/lib/rake/application.rb:106:in `block (2 levels) in top_level'
/Library/Ruby/Gems/2.0.0/gems/rake-10.4.2/lib/rake/application.rb:106:in `each'
/Library/Ruby/Gems/2.0.0/gems/rake-10.4.2/lib/rake/application.rb:106:in `block in top_level'
/Library/Ruby/Gems/2.0.0/gems/rake-10.4.2/lib/rake/application.rb:115:in `run_with_threads'
/Library/Ruby/Gems/2.0.0/gems/rake-10.4.2/lib/rake/application.rb:100:in `top_level'
/Library/Ruby/Gems/2.0.0/gems/rake-10.4.2/lib/rake/application.rb:78:in `block in run'
/Library/Ruby/Gems/2.0.0/gems/rake-10.4.2/lib/rake/application.rb:176:in `standard_exception_handling'
/Library/Ruby/Gems/2.0.0/gems/rake-10.4.2/lib/rake/application.rb:75:in `run'
/usr/bin/rake:37:in `<main>'
Tasks: TOP => release
No idea! We should consider adding --verbose to the failed CocoaPods shell command to get more output for next time.
Yeah 8.0.0! ๐
Do you think our release notes for 8.0.0 should contain all the changes made since 7.x and not just the ones made since 8.0.0-beta.6? Not quite sure what the standard is here.
@scottrhoyt that sounds like a good idea, do others have opinions on this?
I don't think putting all the changes since 7.x for 8.0 in the changelog
make sense, but adding them to the GitHub release sounds like a great idea!
In the release notes, we can have one section that describes changes since
beta 6, and then below that have a section that talks about all the changes
since 7.x.
On Wed, Jan 4, 2017 at 9:29 AM Ash Furrow notifications@github.com wrote:
@scottrhoyt https://github.com/scottrhoyt that sounds like a good idea,
do others have opinions on this?โ
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Moya/Moya/issues/888#issuecomment-270431832, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ADo1dITEeVrhj2prvXzNSUbLsk-j-Rz2ks5rO9bwgaJpZM4LY7ac
.
Yeah, I was referring to the GitHub release. I think the sections idea is excellent!
I made that huge list: https://github.com/Moya/Moya/releases/tag/8.0.0
I'm going to close this issue. Thanks everyone for making this an awesome release! ๐๐
Oh wow. We have 25 breaking changes in there. Really glad you did that work in #890 @BasThomas. Do we need a migration guide?
I think, especially since we did #890, a migration guide isn't really needed? All documentation has been updated as well. What would we add to the migration guide? The availability tags seem to be the migration guide.
And yes, I am glad I did so too. Besides, that was relatively low effort and high reward. What's not to love?!
Yeah, I don't really know about the guide (especially since I didn't use Moya pre-8). I just wanted to throw it out there as a possibility because a lot had changed. Probably not worth it then.
I do know everyone's 7.x TargetTypes will be broken.
Hmm, I think we can best link people to the docs if any issues will be opened, or work it out from the specific issues. :)
Most helpful comment
I'm going to close this issue. Thanks everyone for making this an awesome release! ๐๐