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

Release/1.2.44 #1044

Merged
merged 2 commits into from
Oct 18, 2024
Merged

Release/1.2.44 #1044

merged 2 commits into from
Oct 18, 2024

Conversation

ttypic
Copy link
Contributor

@ttypic ttypic commented Oct 18, 2024

Summary by CodeRabbit

  • New Features

    • Added a new section in the CHANGELOG for version 1.2.44 detailing bug fixes and enhancements.
  • Bug Fixes

    • Resolved a race condition in the connection process when the system is in a terminated state.
  • Documentation

    • Updated CONTRIBUTING.md to clarify development processes and instructions for building and testing.
    • Revised README.md to reflect updated dependency versions for the Ably Java SDK.
  • Chores

    • Incremented version number in gradle.properties from 1.2.43 to 1.2.44.
  • Tests

    • Updated test assertions to reflect the new library version 1.2.44.

@ttypic ttypic requested a review from sacOO7 October 18, 2024 09:27
Copy link

coderabbitai bot commented Oct 18, 2024

Walkthrough

The pull request introduces updates across several documentation files and a test case in preparation for the release of version 1.2.44. Key changes include the addition of a new section in CHANGELOG.md detailing a bug fix for a race condition in the AblyRealtime#connect() method, enhancements to CONTRIBUTING.md for clearer development instructions, updates to dependency versions in README.md, and a version increment in gradle.properties. Additionally, a test assertion in RealtimeHttpHeaderTest.java was modified to reflect the new version.

Changes

File Path Change Summary
CHANGELOG.md Added a section for version 1.2.44 detailing a bug fix for a race condition in AblyRealtime#connect().
CONTRIBUTING.md Expanded instructions for building/testing, refined network engine implementation steps, updated code standards, clarified IDE support, and added a section for creating AAR files. Enhanced the release process instructions.
README.md Updated dependency versions from 1.2.43 to 1.2.44 for ably-java, ably-android, and network-client-okhttp.
gradle.properties Updated VERSION_NAME from 1.2.43 to 1.2.44.
lib/src/test/java/io/ably/lib/test/realtime/RealtimeHttpHeaderTest.java Updated version string in the realtime_websocket_param_test method from 1.2.43 to 1.2.44.

Possibly related PRs

  • Release/1.2.43 #1038: The changes in the CHANGELOG.md for version 1.2.43 are directly related as they document the release notes leading up to the current version 1.2.44, including updates to the AblyRealtime#connect() method.

Suggested reviewers

  • VeskeR
  • umair-ably
  • sacOO7

🐰 In the meadow, changes bloom,
A version new dispels the gloom.
With fixes bright and docs refined,
A clearer path for all to find.
So hop along, let's celebrate,
For version 1.2.44 is truly great! 🌼


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Outside diff range and nitpick comments (9)
lib/src/test/java/io/ably/lib/test/realtime/RealtimeHttpHeaderTest.java (1)

91-91: LGTM! Consider using a constant for the version number.

The version update from 1.2.43 to 1.2.44 is correct and aligns with the release objectives. This change ensures that the test accurately reflects the new library version.

To reduce maintenance overhead in future version updates, consider replacing the hardcoded version string with a constant or a method call that retrieves the current version from a centralized location (e.g., a Version class or gradle.properties). This would allow you to update the version in one place and have it reflected across all tests and code.

Example:

assertEquals("Verify correct lib version", requestParameters.get("agent"),
    Collections.singletonList("ably-java/" + Version.getVersion() + " jre/" + System.getProperty("java.version")));
CONTRIBUTING.md (6)

Line range hint 18-40: LGTM! Clear and comprehensive building instructions.

The added building instructions are clear and cover both JRE-specific and Android-specific libraries. This is a valuable addition for contributors.

Consider adding a note about the minimum required Gradle version, if any, to ensure contributors have a compatible environment.

🧰 Tools
🪛 Markdownlint

221-221: Expected: indented; Actual: fenced
Code block style

(MD046, code-block-style)


Line range hint 42-70: Excellent addition of network engine implementation guidelines.

This new section provides clear instructions on how to add a custom network engine, which is valuable for contributors looking to extend the library's functionality.

Consider adding a brief example or code snippet demonstrating how to implement the HttpEngineFactory and WebSocketEngineFactory interfaces. This would provide a concrete starting point for contributors.

🧰 Tools
🪛 Markdownlint

221-221: Expected: indented; Actual: fenced
Code block style

(MD046, code-block-style)


Line range hint 95-180: Comprehensive IDE setup instructions added.

The expanded "IDE Support" section provides detailed, valuable guidance for setting up the project in IntelliJ IDEA, Eclipse, and Android Studio. This will greatly assist new contributors in getting started with the project.

Consider adding a note about potential IDE-specific plugins that might be helpful for development (e.g., Kotlin plugin for IntelliJ IDEA if Kotlin is used in the project).

🧰 Tools
🪛 Markdownlint

221-221: Expected: indented; Actual: fenced
Code block style

(MD046, code-block-style)


Line range hint 182-215: Comprehensive test running instructions added.

The expanded "Running Tests" section provides detailed guidance on running different types of tests, including JRE-specific, Android-specific, and unit tests. The addition of environment variable configuration for testing against different hosts is particularly helpful.

Consider adding a brief explanation of what each test suite (RestSuite, RealtimeSuite) covers to help contributors understand which tests they should run for different types of changes.

🧰 Tools
🪛 Markdownlint

221-221: Expected: indented; Actual: fenced
Code block style

(MD046, code-block-style)


Line range hint 217-241: Valuable instructions for local AAR building and usage added.

The new sections on building Android Archive (AAR) files locally and using them in other projects provide clear, step-by-step instructions. This is extremely helpful for contributors who need to test their changes in other projects or prepare for releases.

Consider adding a note about the potential security implications of exporting GPG keys and suggest best practices for key management in a development context.

🧰 Tools
🪛 Markdownlint

221-221: Expected: indented; Actual: fenced
Code block style

(MD046, code-block-style)


Line range hint 243-285: Comprehensive release process documentation added.

The significantly expanded "Release Process" section provides a detailed, step-by-step guide for creating and publishing new releases. This is invaluable for maintainers and ensures consistency in the release process.

Consider adding a checklist or summary of the release steps at the beginning or end of this section. This would provide a quick reference for maintainers and help ensure no steps are missed during the release process.

🧰 Tools
🪛 Markdownlint

221-221: Expected: indented; Actual: fenced
Code block style

(MD046, code-block-style)

CHANGELOG.md (2)

3-9: LGTM! Consider adding the release date.

The new section for version 1.2.44 is well-formatted and consistent with previous entries. It clearly describes the bug fix and includes a link to the related issue. To improve it further, consider adding the release date to the version header, as it's done in some of the older entries.

You could update the header like this:

-## [1.2.44](https://github.com/ably/ably-java/tree/v1.2.44)
+## [1.2.44](https://github.com/ably/ably-java/tree/v1.2.44) (YYYY-MM-DD)

Replace YYYY-MM-DD with the actual release date.


Line range hint 1-1044: Consider adding release dates to newer changelog entries.

The changelog is well-structured and provides comprehensive information about each release. However, I noticed that older entries include release dates, while newer ones don't. For consistency and to provide more context to users, consider adding release dates to the newer entries as well.

You could update the headers of newer entries like this:

-## [v1.2.3](https://github.com/ably/ably-java/tree/v1.2.3)
+## [v1.2.3](https://github.com/ably/ably-java/tree/v1.2.3) (YYYY-MM-DD)

Replace YYYY-MM-DD with the actual release date for each version.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between dc30b41 and 61517af.

📒 Files selected for processing (5)
  • CHANGELOG.md (1 hunks)
  • CONTRIBUTING.md (1 hunks)
  • README.md (2 hunks)
  • gradle.properties (1 hunks)
  • lib/src/test/java/io/ably/lib/test/realtime/RealtimeHttpHeaderTest.java (1 hunks)
✅ Files skipped from review due to trivial changes (1)
  • gradle.properties
🧰 Additional context used
🔇 Additional comments (7)
CONTRIBUTING.md (2)

Line range hint 72-93: Great addition of code standard enforcement tools.

The expanded section on code standards, including information about Checkstyle and CodeNarc, provides clear guidance for contributors. The specific Gradle commands for running these tools are particularly helpful.

🧰 Tools
🪛 Markdownlint

221-221: Expected: indented; Actual: fenced
Code block style

(MD046, code-block-style)


Line range hint 1-285: Excellent improvements to the contributing guidelines.

The changes to the CONTRIBUTING.md file significantly enhance the documentation for contributors and maintainers. The additions cover crucial aspects of the development process, including:

  1. Detailed building instructions
  2. Guidelines for adding new network engine implementations
  3. Code standard enforcement tools
  4. Comprehensive IDE setup instructions
  5. Expanded test running guidelines
  6. Instructions for local AAR building and usage
  7. A detailed release process

These improvements will greatly assist new contributors in getting started with the project and help maintain consistency in development practices and release processes.

🧰 Tools
🪛 Markdownlint

221-221: Expected: indented; Actual: fenced
Code block style

(MD046, code-block-style)

README.md (4)

23-23: LGTM: Java dependency version updated correctly.

The 'io.ably:ably-java' dependency version has been properly updated to '1.2.44', which aligns with the release version mentioned in the PR title.


29-29: LGTM: Android dependency version updated correctly.

The 'io.ably:ably-android' dependency version has been properly updated to '1.2.44', which is consistent with the Java version update and the PR title.


515-515: LGTM: OkHttp dependency version updated correctly.

The 'io.ably:network-client-okhttp' dependency version has been properly updated to '1.2.44', maintaining consistency with the other dependency updates in this release.


Line range hint 23-515: Summary: README.md updated consistently for release 1.2.44

All dependency version updates in the README.md file have been correctly changed to '1.2.44'. This includes:

  1. Java dependency (io.ably:ably-java)
  2. Android dependency (io.ably:ably-android)
  3. OkHttp dependency (io.ably:network-client-okhttp)

These changes are consistent with the release version mentioned in the PR title (Release/1.2.44) and ensure that users will be directed to use the latest version of the Ably SDK.

CHANGELOG.md (1)

Line range hint 1-1044: Overall, the CHANGELOG.md is well-maintained and informative.

The changelog provides a comprehensive history of changes across multiple versions. It's well-structured, with consistent formatting and categorization of entries. The suggested improvements (adding release dates to newer entries and the latest 1.2.44 entry) are minor and would enhance the consistency and informativeness of the document.

Copy link
Collaborator

@sacOO7 sacOO7 left a comment

Choose a reason for hiding this comment

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

LGTM

@ttypic ttypic merged commit dc4d464 into main Oct 18, 2024
12 checks passed
@ttypic ttypic deleted the release/1.2.44 branch October 18, 2024 12:35
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.

2 participants