Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1.0 release #260

Merged
merged 19 commits into from
Mar 8, 2017
Merged

1.0 release #260

merged 19 commits into from
Mar 8, 2017

Conversation

mattheworiordan
Copy link
Member

@paddybyers @SimonWoolf @tcard this PR introduces version 1.0 ready for release when the libraries are ready. Note that:

  • Docs milestones are updated, see https://github.com/ably/docs/milestones. As are wiki milestones
  • Before we can release this Ricardo will need to check the docs for iOS 1.0 and Paddy / Peter will need to check the docs for Android/Java 1.0. Simon to review JS and Matt to review Ruby to make sure it's all up to date for REST & Realtime dos.
  • We will need to bump all the client libs to match the 1.0 tag

@mattheworiordan mattheworiordan changed the title Master 1-0 1.0 release Jan 20, 2017
@mattheworiordan mattheworiordan temporarily deployed to ably-docs-pr-260 January 20, 2017 18:02 Inactive
@mattheworiordan mattheworiordan temporarily deployed to ably-docs-pr-260 January 23, 2017 14:07 Inactive
@mattheworiordan mattheworiordan temporarily deployed to ably-docs-pr-260 January 23, 2017 15:42 Inactive
@mattheworiordan mattheworiordan temporarily deployed to ably-docs-pr-260 January 23, 2017 15:43 Inactive
@mattheworiordan
Copy link
Member Author

mattheworiordan commented Feb 2, 2017

  • When we release 1.0 we need to update tutorials that reference 0.9.0-beta and 0.8.0 to 1.0.0. Actually updating the source tutorials themselves is probably unnecessary as they will still work.

@SimonWoolf
Copy link
Member

Should we merge the source-0-10 branch into this?

@mattheworiordan
Copy link
Member Author

No, because 0-10 is actually 1.1 no?

@SimonWoolf
Copy link
Member

No, because 0-10 is actually 1.1 no?

I just figured because the only thing in that branch that isn't in master is the authUrl response validation, and you've indicated in https://github.com/ably/infrastructure/issues/1017 that you'd like implementing in ably-js now (i.e. for 0.9/1.0 release).

If you'd rather it be done in ably-js as a special case and kept out of the spec, that's completely fine, just wanted to make sure that was a deliberate decision and not an oversight

@mattheworiordan mattheworiordan temporarily deployed to ably-docs-pr-260 February 14, 2017 17:57 Inactive
@mattheworiordan mattheworiordan temporarily deployed to ably-docs-pr-260 February 16, 2017 12:05 Inactive
@mattheworiordan mattheworiordan temporarily deployed to ably-docs-pr-260 February 22, 2017 19:36 Inactive
Do not allow people to use the CDN without a major version so that we have the flexibility moving forwards to introduce breaking changes with major version releases.
Run command:

$ git diff v0.8 master content/client-lib-development-guide/features.textile > content/client-lib-development-guide/versions/features-0-8__1-0.diff
@mattheworiordan mattheworiordan temporarily deployed to ably-docs-pr-260 March 7, 2017 20:45 Inactive
@mattheworiordan mattheworiordan temporarily deployed to ably-docs-pr-260 March 7, 2017 22:41 Inactive
@mattheworiordan mattheworiordan temporarily deployed to ably-docs-pr-260 March 8, 2017 02:32 Inactive
Fixes #247

Includes all mentioned updates at ably/ably-dotnet#89 plus loads of unmentioned ones.
@mattheworiordan mattheworiordan temporarily deployed to ably-docs-pr-260 March 8, 2017 02:32 Inactive
@mattheworiordan
Copy link
Member Author

@paddybyers @tcard @SimonWoolf if you do get a chance, please review my changes to the docs I have made tonight, see 5d87c9b...155fa73. Lots of fixes for inconsistencies and other issues we had open in this docs repo.

I am merging this into master now so that any issues we see can simply be added as commits on master

@mattheworiordan mattheworiordan merged commit 155fa73 into master Mar 8, 2017
@mattheworiordan mattheworiordan deleted the master-1-0 branch March 8, 2017 03:14

* If the channel is @initialized@ (i.e. no attempt to attach has yet been made for this channel), then calling @subscribe@ will implicitly attach the channel. However, regardless of the implicit attach outcome, the <span lang="default">listener</span><span lang="ruby">block</span><span lang="csharp">handler</span> will still be registered
* If @subscribe@ is called more than once with the same <span lang="default">listener</span><span lang="ruby">block</span><span lang="csharp">handler</span>, then duplicates will be registered. For example, if you @subscribe@ twice with the same <span lang="default">listener</span><span lang="ruby">block</span><span lang="csharp">handler</span> and a presence message is later received, the same <span lang="default">listener</span><span lang="ruby">block</span><span lang="csharp">handler</span> will be invoked twice
* The registered <span lang="default">listener</span><span lang="ruby">block</span><span lang="csharp">handler</span> remains active on the presence channel regardless of the underlying channel state. For example, if you call @subscribe@ when the underlying channel is @attached@ and it later becomes @detached@ or even @failed@, when the channel is reattached and a presence message is received, the <span lang="default">listeners</span><span lang="ruby">blocks</span><span lang="csharp">handlers</span> originally registered will still be invoked. Listeners are only removed when calling "@unsubscribe@":#unsubscribe or when the underlying channel is @released@ using the <span lang="default">@Realtime.channels.release(name)@</span><span lang="csharp">@Realtime.Channels.Release(name)@</span> method
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

default">@Realtime.channels.release(name

The js docs generally use realtime rather than Realtime for an instance of the client lib, Realtime is the constructor (ie var realtime = new Ably.Realtime)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The js docs generally use realtime rather than Realtime for an instance of the client lib,

Well as far as I can tell, we haven't done either. We only use realtime.* in code example, never in documentation itself. I searched the docs now, cannot find one instance of that or channel.* etc either.

Unfortunately the issue here is in fact that we don't have docs for the Channels collection, see #251. I think I'm going to leave this as is until we address that problem and then we can use the pattern we have used in the docs such as "... if either @publish@ or @subscribe@ for the @channel@ is called ..."

@@ -233,7 +233,7 @@ We're now ready to start consuming messages from the queue. There are "plenty of

```[json]
"dependencies": {
"ably": ">=0.9.0-beta",
"ably": "~1.0",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"~1.0"

I don't think this is right, assuming we want something that matches >= 1.0.0 && < 2.0.0 -- you want either ~1 or ^1.0; ~1.0 locks into the minor version

(similarly for the others)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well we previously locked into minor versions, I don't really see the harm, but sure I can change to ~1

@@ -607,7 +607,7 @@ blang[android].
...
dependencies {
...
compile 'io.ably:ably-android:0.8.7'
compile 'io.ably:ably-android:1.0.0'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we want to lock into the .0.0 patch version? At a quick google looks like gradle uses https://ant.apache.org/ivy/history/2.1.0/settings/version-matchers.html, so I think we should be able to specify 1.0+ or 1+ to lock into the minor or major versions resp

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Best practice is a matter of debate: http://blog.danlew.net/2015/09/09/dont-use-dynamic-versions-for-your-dependencies/

Last time we discussed it we decided to use a fixed version reference.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I must admit @paddybyers I really don't see why we're special casing Java over every other library? The developer referencing the Java lib should decide if they want to lock to a specific version or not, however the documentation itself, unless we update it for every Java release, will simply encourage people to use old unpatched versions of the library. My vote is to add a note to say it's up to the developer to decide if they want to lock into a major, minor or patch release, but the docs should encourage a user to lock into the version that matches this documentation which is 1.0+

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thoughts?

@SimonWoolf
Copy link
Member

👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

3 participants