Skip to content

Promoting to official pgr_separateCrossing and pgr_separateTouching #2874

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

Merged

Conversation

cvvergara
Copy link
Member

@cvvergara cvvergara commented Apr 25, 2025

Fixes #2873

Changes proposed in this pull request:

  • Modifies documentation & other files for the promotion

@pgRouting/admins

Summary by CodeRabbit

  • Documentation
    • Updated release notes and documentation to reflect the promotion of pgr_separateCrossing and pgr_separateTouching from proposed to official utility functions.
    • Reorganized release notes sections for improved clarity, moving promoted utility functions into a dedicated rubric.
    • Updated function documentation to indicate official status and removed outdated proposed labels.
    • Cleaned up proposed utilities section to match the new organization.

@cvvergara cvvergara added functionality/official utility Classified as utility labels Apr 25, 2025
@cvvergara cvvergara added this to the Release 3.8.0 milestone Apr 25, 2025
@cvvergara cvvergara requested a review from robe2 April 25, 2025 14:06
Copy link
Contributor

coderabbitai bot commented Apr 25, 2025

Walkthrough

This change updates the documentation to reflect the promotion of the pgr_separateCrossing and pgr_separateTouching functions from proposed to official status in pgRouting version 3.8.0. The release notes, function documentation, and related index entries have been revised to indicate their new status. References to these functions as "proposed" have been removed or updated across various documentation files, and their entries have been moved to the official utilities section. No changes to code, function signatures, or implementation have been made.

Changes

Files Change Summary
NEWS.md, doc/src/release_notes.rst Updated release notes to show promotion of pgr_separateCrossing and pgr_separateTouching to official status.
doc/topology/topology-functions.rst Moved documentation for both functions from proposed to official utilities section.
doc/utilities/pgr_separateCrossing.rst, doc/utilities/pgr_separateTouching.rst Updated index/version notes to reflect official status, replacing "proposed" labels and notes.
sql/utilities/separateCrossing.sql Removed "PROPOSED" from function comment.
doc/src/proposed.rst Removed Utilities section and related proposed utility function documentation.
locale/en/LC_MESSAGES/pgrouting_doc_strings.po, locale/pot/pgrouting_doc_strings.pot Updated translation and documentation strings to reflect promotion to official status and corrected issue references.

Assessment against linked issues

Objective Addressed Explanation
Promote to official pgr_separateCrossing in 3.8 (#2873)

Possibly related issues

Suggested labels

Documentation

Suggested reviewers

  • robe2
  • iosefa

Poem

A hop and a skip, new functions in tow,
From "proposed" to "official"—how quickly they grow!
Crossing and touching, now part of the team,
In the docs they now sparkle and gleam.
🐇 With a wiggle of whiskers, I cheer for the feat—
These changes make pgRouting neat!


📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between db1db75 and 53db175.

📒 Files selected for processing (2)
  • locale/en/LC_MESSAGES/pgrouting_doc_strings.po (4 hunks)
  • locale/pot/pgrouting_doc_strings.pot (4 hunks)
👮 Files not reviewed due to content moderation or server errors (1)
  • locale/en/LC_MESSAGES/pgrouting_doc_strings.po
🧰 Additional context used
🧠 Learnings (1)
📓 Common learnings
Learnt from: cvvergara
PR: pgRouting/pgrouting#2771
File: doc/topology/pgr_degree.rst:28-35
Timestamp: 2025-02-27T23:08:14.497Z
Learning: In the pgRouting documentation, historical version notes should be retained to show the evolution of functions across different versions.
Learnt from: cvvergara
PR: pgRouting/pgrouting#2744
File: doc/src/release_notes.rst:94-94
Timestamp: 2025-02-06T20:50:07.967Z
Learning: In pgRouting, changes to functions can happen at two levels:
1. SQL level - removal/addition of function signatures
2. C/C++ level - deprecation/changes to the underlying implementation
These are documented separately in the release notes.
Learnt from: cvvergara
PR: pgRouting/pgrouting#2874
File: doc/utilities/pgr_separateCrossing.rst:26-27
Timestamp: 2025-04-25T15:12:03.574Z
Learning: In pgRouting documentation, official functions don't include version information in their index entries (`:single:` directives). Only deprecated functions include when they were deprecated in the index entries.
⏰ Context from checks skipped due to timeout of 90000ms (1)
  • GitHub Check: Codacy Static Code Analysis
🔇 Additional comments (3)
locale/pot/pgrouting_doc_strings.pot (3)

3493-3497: Function documentation entries correctly added

The documentation entries for the two functions that have been promoted to official status have been properly added in the Utilities section. These entries accurately describe the purpose of each function:

  • pgr_separateCrossing - Breaks geometries that cross each other
  • pgr_separateTouching - Breaks geometries that (almost) touch each other

3568-3575: Release notes entries correctly added

The release notes entries properly document:

  1. The promotion of pgr_separateCrossing to official status in version 3.8 (with GitHub issue Promote to official pgr_separateCrossing in 3.8 #2873)
  2. The removal of its "proposed function" status
  3. The promotion of pgr_separateTouching to official status in version 3.8 (with GitHub issue Promoting to official pgr_separateCrossing and pgr_separateTouching #2874)

These entries align with the PR objectives of promoting these functions from proposed to official status.


3592-3597: Existing references properly maintained

The file correctly maintains references to previous GitHub issues that document the initial creation of these functions (#2848 and #2849) as proposed functions. These historical references are important for understanding the development path of the functions.


🪧 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 generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this 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
Contributor

@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: 3

📜 Review details

Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 30c1aad and eb92504.

📒 Files selected for processing (7)
  • NEWS.md (1 hunks)
  • doc/src/release_notes.rst (1 hunks)
  • doc/topology/topology-functions.rst (1 hunks)
  • doc/utilities/pgr_separateCrossing.rst (1 hunks)
  • locale/en/LC_MESSAGES/pgrouting_doc_strings.po (3 hunks)
  • locale/pot/pgrouting_doc_strings.pot (3 hunks)
  • sql/utilities/separateCrossing.sql (0 hunks)
💤 Files with no reviewable changes (1)
  • sql/utilities/separateCrossing.sql
👮 Files not reviewed due to content moderation or server errors (1)
  • locale/en/LC_MESSAGES/pgrouting_doc_strings.po
🧰 Additional context used
🧠 Learnings (2)
📓 Common learnings
Learnt from: cvvergara
PR: pgRouting/pgrouting#2771
File: doc/topology/pgr_degree.rst:28-35
Timestamp: 2025-02-27T23:08:14.497Z
Learning: In the pgRouting documentation, historical version notes should be retained to show the evolution of functions across different versions.
Learnt from: cvvergara
PR: pgRouting/pgrouting#2744
File: doc/src/release_notes.rst:94-94
Timestamp: 2025-02-06T20:50:07.967Z
Learning: In pgRouting, changes to functions can happen at two levels:
1. SQL level - removal/addition of function signatures
2. C/C++ level - deprecation/changes to the underlying implementation
These are documented separately in the release notes.
NEWS.md (1)
Learnt from: cvvergara
PR: pgRouting/pgrouting#2744
File: doc/src/release_notes.rst:94-94
Timestamp: 2025-02-06T20:50:07.967Z
Learning: In pgRouting, changes to functions can happen at two levels:
1. SQL level - removal/addition of function signatures
2. C/C++ level - deprecation/changes to the underlying implementation
These are documented separately in the release notes.
⏰ Context from checks skipped due to timeout of 90000ms (2)
  • GitHub Check: Codacy Static Code Analysis
  • GitHub Check: Check queries
🔇 Additional comments (4)
doc/topology/topology-functions.rst (1)

52-52: LGTM: Correctly moved to official utilities
The pgr_separateCrossing entry has been properly relocated into the utility_official block, reflecting its new official status.

locale/pot/pgrouting_doc_strings.pot (3)

11-11: Update to POT creation date looks good.

The POT creation date has been properly updated to reflect the current changes to the template file.


3493-3494: Correctly added new entry for official pgr_separateCrossing function.

This correctly adds the pgr_separateCrossing function to the Utilities section of the documentation, which aligns with its promotion from proposed to official status in version 3.8.


3562-3563: Properly documented promotion in release notes.

The entry appropriately documents the promotion of pgr_separateCrossing to official status in the release notes, with a reference to the relevant issue (#2873).

@cvvergara cvvergara marked this pull request as draft April 25, 2025 14:13
@cvvergara cvvergara force-pushed the making-official-pgr_separateCrossing-v3.8 branch from eb92504 to dd5b7f7 Compare April 25, 2025 14:33
@cvvergara
Copy link
Member Author

Also closes #2875

@cvvergara cvvergara marked this pull request as ready for review April 25, 2025 14:34
Copy link
Contributor

@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: 4

🔭 Outside diff range comments (1)
doc/src/release_notes.rst (1)

86-91: 🛠️ Refactor suggestion

Remove outdated proposed utilities from “Proposed functions”
The Utilities subsection under "Proposed functions" still lists #2848 and #2849 even though these have now been promoted. These lines should be removed to avoid confusion.

- * Utilities
-   * `#2848 <https://github.com/pgRouting/pgrouting/issues/2848>`__:
-     Create pgr_separateCrossing new utility function
-   * `#2849 <https://github.com/pgRouting/pgrouting/issues/2849>`__:
-     Create of pgr_separateTouching new utility function
♻️ Duplicate comments (2)
NEWS.md (1)

38-43: 🧹 Nitpick (assertive)

Add sub-bullet for consistency
Previous promotions include a “* Function promoted to official.” sub-bullet. Adding it here will match the style for other entries.

  * [#2873](https://github.com/pgRouting/pgrouting/issues/2873):
    Promoted to official pgr_separateCrossing in version 3.8
+   * Function promoted to official.

  * [#2874](https://github.com/pgRouting/pgrouting/issues/2874):
    Promoted to official pgr_separateTouching in version 3.8
+   * Function promoted to official.
doc/utilities/pgr_separateCrossing.rst (1)

26-27: Remove stale “New proposed function” label
This line was flagged in a previous review and remains applicable here. The “New proposed function.” entry should be deleted now that the function is official.

  * Function promoted to official.
- * New proposed function.
📜 Review details

Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between eb92504 and c2ec2c4.

📒 Files selected for processing (9)
  • NEWS.md (1 hunks)
  • doc/src/proposed.rst (0 hunks)
  • doc/src/release_notes.rst (1 hunks)
  • doc/topology/topology-functions.rst (1 hunks)
  • doc/utilities/pgr_separateCrossing.rst (2 hunks)
  • doc/utilities/pgr_separateTouching.rst (2 hunks)
  • locale/en/LC_MESSAGES/pgrouting_doc_strings.po (3 hunks)
  • locale/pot/pgrouting_doc_strings.pot (3 hunks)
  • sql/utilities/separateCrossing.sql (0 hunks)
💤 Files with no reviewable changes (2)
  • sql/utilities/separateCrossing.sql
  • doc/src/proposed.rst
👮 Files not reviewed due to content moderation or server errors (1)
  • locale/en/LC_MESSAGES/pgrouting_doc_strings.po
🧰 Additional context used
🧠 Learnings (3)
📓 Common learnings
Learnt from: cvvergara
PR: pgRouting/pgrouting#2744
File: doc/src/release_notes.rst:94-94
Timestamp: 2025-02-06T20:50:07.967Z
Learning: In pgRouting, changes to functions can happen at two levels:
1. SQL level - removal/addition of function signatures
2. C/C++ level - deprecation/changes to the underlying implementation
These are documented separately in the release notes.
Learnt from: cvvergara
PR: pgRouting/pgrouting#2771
File: doc/topology/pgr_degree.rst:28-35
Timestamp: 2025-02-27T23:08:14.497Z
Learning: In the pgRouting documentation, historical version notes should be retained to show the evolution of functions across different versions.
doc/src/release_notes.rst (1)
Learnt from: cvvergara
PR: pgRouting/pgrouting#2744
File: doc/src/release_notes.rst:94-94
Timestamp: 2025-02-06T20:50:07.967Z
Learning: In pgRouting, changes to functions can happen at two levels:
1. SQL level - removal/addition of function signatures
2. C/C++ level - deprecation/changes to the underlying implementation
These are documented separately in the release notes.
NEWS.md (1)
Learnt from: cvvergara
PR: pgRouting/pgrouting#2744
File: doc/src/release_notes.rst:94-94
Timestamp: 2025-02-06T20:50:07.967Z
Learning: In pgRouting, changes to functions can happen at two levels:
1. SQL level - removal/addition of function signatures
2. C/C++ level - deprecation/changes to the underlying implementation
These are documented separately in the release notes.
⏰ Context from checks skipped due to timeout of 90000ms (1)
  • GitHub Check: Codacy Static Code Analysis
🔇 Additional comments (4)
doc/topology/topology-functions.rst (1)

52-53: Reclassification to official utilities is correct
The entries for pgr_separateCrossing and pgr_separateTouching have been properly moved under the utility_official section, aligning with their promotion in v3.8.0.

locale/pot/pgrouting_doc_strings.pot (3)

3493-3498: New utilities added to the official function list.

These functions for breaking geometries that cross or touch each other have been promoted from proposed to official status in pgRouting 3.8.0.


3565-3569: Release notes updated correctly for the function promotions.

The release notes properly document the promotion of both pgr_separateCrossing and pgr_separateTouching to official functions with their corresponding issue references.


11992-12037: Function documentation for pgr_separateCrossing and pgr_separateTouching is comprehensive.

Both functions have detailed documentation explaining their purpose (auxiliary functions for separating crossing/touching edges), parameters, return types, and usage examples. This documentation should adequately support users in utilizing these newly promoted functions.

@cvvergara cvvergara force-pushed the making-official-pgr_separateCrossing-v3.8 branch from c2ec2c4 to db1db75 Compare April 25, 2025 15:12
@cvvergara cvvergara merged commit 638ada4 into pgRouting:main Apr 25, 2025
2 checks passed
@cvvergara cvvergara changed the title Promoting to official pgr_separateCrossing Promoting to official pgr_separateCrossing and pgr_separateTouching Apr 29, 2025
@cvvergara cvvergara deleted the making-official-pgr_separateCrossing-v3.8 branch May 24, 2025 18:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Promote to official pgr_separateCrossing in 3.8
2 participants